Hope is a Dream. Dream is a Hope.

非公開ブログは再開しました。

超便利Gistにコードを投稿するプラグイン

Gistにコードを投稿するプラグイン

新しい言語を勉強しているときには、サンプルコードをたくさん回します。その時使ったサンプルコードはのにち、テンプレートとしてよく使うもの。しかし、サンプルコードほど適当な名前をつけてしまい、ファイルがどこに行ったかわからなくなる。そこで、便利なのがGithubのGistとというサービス。コードの一部をGistにアップロードしておくことで、Web上にスにペットのクリップボードのような使い方ができます。

ただ毎回コピペするのは面倒。そこで、Sublime textのプラグイン"GIST"を使う事で、Sublimeエディタ上からコードをアップロードすることができます。

Gistプラグイン

https://github.com/condemil/Gist#generating-access-token

  1. プラグインのインストール

インストールは"install package -> Gist"と検索すればでてきます。ここらへんは割愛します。。

  1. Gistのアクセス用Tokenを発行します。

簡単です。1分で終わります。

2.1 Githubにアクセスし、設定を開きます。

設定画面から"Personal access tokens"を選択

スクリーンショット 2015-04-27 20.28.42

 

右上の"Generate new token"

スクリーンショット 2015-04-27 20.30.07

 

 

Tokenの名前(テキトウ)を入れて、"Gist"にチェックマークを入れて。完了!

スクリーンショット 2015-04-27 20.30.21

 

 

次の画面でToken IDが出てくるので、それをコピペして終了です。

  1. Gistの設定を行います

Macならこんな感じ。

スクリーンショット 2015-04-27 20.31.43

 

 

するとおなじみの設定ファイルが開くので、以下の用にGithubのアカウント情報と、先ほど取得したTokenを書き込んで完了です。スクリーンショット 2015-04-27 20.42.13

 

cmd(ctrl)+shift+Pでコマンドパレットを開き"Gist"と入力します.

 

スクリーンショット 2015-04-27 20.43.43

"Gist: Open Gist"でGistがブラウザで開けば設定完了です。

はじめてのAtomエディタ (I・O BOOKS)

はじめてのAtomエディタ (I・O BOOKS)

Sublime Text リファレンス

Sublime Text リファレンス

はじめてのAtomエディタ (I・O BOOKS)

はじめてのAtomエディタ (I・O BOOKS)

AKRACING ゲーミングチェア NITRO-RED(赤色)

AKRACING ゲーミングチェア NITRO-RED(赤色)

スカーレット ~日常の境界線~(通常版)

スカーレット ~日常の境界線~(通常版)

マンガ家と作るポーズ集 妄想ポーズ集【ROM付】

マンガ家と作るポーズ集 妄想ポーズ集【ROM付】

苫米地英人の執筆論文一覧

f:id:hope_is_dream:20161119202712j:plain

苫米地英人

苫米地英人公式サイト


1959年、東京生まれ。認知科学者(機能脳科学、計算言語学認知心理学分析哲学)。計算幾科学者(計算機科学、離散数理、人工知能)。カーネギーメロン大学博士(Ph.D.)、同Cylab兼任フェロー、株式会社ドクター苫米地ワークス代表、コグニティブリサーチラボ株式会社CEO、角川春樹事務所顧問、中国南開大学客座教授、全日本気功師会副会長、米国公益法人The Better World Foundation日本代表、米国教育機関TPIインターナショナル日本代表、天台宗ハワイ別院国際部長、財団法人日本催眠術協会代表理事。

マサチューセッツ大学を経て上智大学国語学部英語学科卒業後、三菱地所へ入社。2年間の勤務を経て、フルブライト留学生としてイエール大学大学院に留学、人工知能の父と呼ばれるロジャー・シャンクに学ぶ。同認知科学研究所、同人工知能研究所を経て、コンピュータ科学の分野で世界最高峰と呼ばれるカーネギーメロン大学大学院哲学科計算言語学研究科に転入。全米で4人目、日本人として初の計算言語学の博士号を取得。
帰国後、徳島大学助教授、ジャストシステム基礎研究所所長、同ピッツバーグ研究所取締役、通商産業省情報処理振興審議会専門委員などを歴任。

現在は米国認知科学の研究成果を盛り込んだ能力開発プログラム「PX2」「TPIE」を日本向けにアレンジ。日本における総責任者として普及に努めている。
著書多数。

P2Pコンテンツ交換システムにおけるコンテンツの整合性維持および全文検索の高度化(セッション2 : マルチメディアシステム) Advanced P2P: A New Scheme for P2P Content Consistency Maintenance and Improved Full-Text Search

 

サイバー空間での近未来型エンターテインメント : サイバーホメオスタシス仮説の視点から(<小特集>遊び・エンタテインメントとメディア)A NEAR-FUTURE ENTERTAINMENT IN CYBER-SPACE : A Viewpoint of the Cyber Homeostasis Hypothesis

 

「空」を定義する ~現代分析哲学とメタ数理的アプローチ 2011.11.06 苫米地英人

 

The Time-Sliced Paradigm―A Connectionist Method
for Continuous Speech Recognition

 

A Shift-First Strategy for Interleaved LR Parsing

 

サイバーVRマルチモーダルシステム:自然言語・仮想現実・生体情報の融合 苫米地 英人

 

自然言語処理技術の最近の動向 - 超並列自然言語処理 苫米地 英人

 

サイバー空間での近未来型エンターテインメント: - サイバーホメオスタシス仮説の視点から 苫米地 英人

 

Direct Memory Access Translation - Hideto Tomabechi

 

Ambiguity Resolution in the DMTRANS PLUS

 

Beyond PDP: the Frequency Modulation Neural Network Architecture

 

 

Phoneme recognition using a time-sliced recurrent recognizer

 

The Universal Parser Compiler and Its Application to a Speech Translation System Masaru Tomita, Marion Kee, Hiroaki Saito, Teruko Mitamura and Hideto Tomabechi1 Computer Science Department and Center for Machine Translation Carnegie-Mellon University Pittsburgh, Pa 15213, U

 

Appficafio~ of the Direct Memory Access paradigm to ~,ot~ °~a~ ~a~gl~age interfaces to knowledge-based systems ~I~deto '.COMABECHI and Masaru TOMITA

 

TOWARDS A SPEECH-TO-SPEECH TRANSLATION SYSTEM (1) Masaru TOMITA, Marion KEE, Hiroaki SAITO, Teruko MITAMURA & Hideto TOMABECHI Carnegie-Mellon University, Pittsburgh

 

Recent Advances in Continuous Speech Recognition Using the Time-Sliced Paradigm Ingrid Kirschning, Hideto Tomabechi and Jun-Ichi Aoe

 

Zero-Pronomials, Point-of-View, Empathy Perspective, and Context-Parameters Hideto Tomabechi March 1989

 

A Novel Method for Content Consistency and Efficient Full-text Search for P2P Content Sharing Systems

 

An Experimental Real-Time Speech -to-Speech Translation System *


ほんとうに頭がよくなる「速読脳」のつくり方 (PHP文庫)

ほんとうに頭がよくなる「速読脳」のつくり方 (PHP文庫)

超訳 空海 (PHP文庫)

超訳 空海 (PHP文庫)

明治維新という名の洗脳 150年の呪縛はどう始まったのか?

明治維新という名の洗脳 150年の呪縛はどう始まったのか?

「言葉」があなたの人生を決める

「言葉」があなたの人生を決める

アファメーション

アファメーション

サクラレンタルサーバー+Flaskの初心者向けチュートリアル

クラレンタルサーバー(スタンダード)にFlask環境を作ろうと思ったが、sudoが使えない事と、デフォルトのシェルがcshellであるために、webにある参考記事から少し変更が必要だったので手こずった備忘録。(初心者用です)

スクリーンショット 2015-05-17 12.23.02

 

アジェンダ

0. 環境の確認

1. pyenvを使って、python環境の構築

pyenvに関するシェルの設定ではまった。

2. 構築したpython環境でpipを使ってflaskのインストール

3. cgiの設定を行い、Flaskアプリの動作を確認

 

 

0. 環境の確認

クラレンタルサーバーでのユーザーディレクトリは/home/<username>/です。

($HOME/や~/でもアクセスできます)

# ユーザーディレクトリへのアクセス方法
$ cd /home/<username>/
$ cd $HOME
$ cd ~/
$ cd /home/fififactory/
この後は、ユーザーディレクトリ以下に構成をくんでいきます。

デフォルトでインストールされているPythonの場所とバージョンの確認

$ which python
/usr/local/bin/python
$ python -V
2.7.3
 

1. pyenvを使って、python環境の構築

pyenvのダウンロード

クラレンタルサーバではgitが使えるのでダウンロードしてきます。

練習がてらシェルスクリプトでコマンドを書いていきます。(のちのち見返すときにも役にたちます。直接コマンドをたたけば実行はできますので、面倒な方はそれで良いと思います)

#!/bin/csh   <- cshellで動作させる事を明示します。
git clone https://github.com/yyuu/pyenv.git ~/.pyenv
このコマンドは、gitを使って、https://github.com/yyuu/pyenv.gitから、pyenvのリポジトリを~/.pyenvフォルダに保存しろと言ってます。

 

次にシェルスクリプト(pyenv-download.sh)をユーザーディレクトリに保存し、シェルを実行します。

# 実行権限を付加しておきます。
$ chmod 755 pyenv-download.sh
# シェルスクリプトの実行
$ ~/pyenv-download.sh
 

pyenvのインストール

pyenvのダウンロードができたので、次はインストールを行っていきます。

.cshrc

# $FreeBSD: src/share/skel/dot.cshrc,v 1.14.6.1 2008/11/25 02:59:29 kensmith Exp $
#
# .cshrc - csh resource script, read at beginning of execution by each shell
#
# see also csh(1), environ(7).
#


.....
(末尾に入力)

# Setting for pyenv
# *****************
if ( -e $HOME/.pyenv/bin/pyenv ) then
echo '>> Exist pyenv'
# pyenvのルートパスを設定
setenv PYENV_ROOT $HOME/.pyenv
# pyenvのディレクトリをPATHに追加
setenv PATH $PYENV_ROOT/shims:$PYENV_ROOT/bin:$PATH
# デフォルトテンポラリディレクトリを~/tmpに変更
setenv TMPDIR $HOME/tmp
# pyenvの再起動
pyenv rehash
else
echo '>> NO INSTALL pyenv'

endif

このコマンドは、もし$HOME/.pyenv/bin/pyenvが存在するならばとif文を使って条件処理をしています。そして、pyenvが存在しているときには、かくディレクトリとパスの設定を通します。(TMDIRはif文内に含む必要はないかもしれません。)

 

Cシェルを立ち上げ直す。 シェルを書き換えたので、一度再読みさせておきます。

$ source $HOME/.cshrc
それでは、pyenvを使って、pythonの環境を構築します。

pyenvでpythonの環境構築。

まずは、利用するpythonのバージョンをダウンロードします。こまんどはpyenv installです。
$ pyenv install --list  # インストールリストの確認
$ pyenv install 2.7.9 # python2.7.9をインストール
ただし、これではまだ使えません。pyenvのディレクトリ内にそのヴァージョンのpythonが準備されただけです。

 

pyenvはディレクトリ毎に環境を管理しますので、適当な場所にディレクトリを作ります。

# 仮想環境用のディレクトリを作成(場所は任意)
$ mkdir $HOME/tmp/python
$ cd $HOME/tmp/python
一度その時点でのpythonのパスとヴァージョンを調べておきます。
$ which python           # 現状のpythonを確認
/usr/local/bin/python
$ pyton -V
2.7.3
上の用にでるはずです。まだ、サクラのデフォルトのままであることを確認してください。
$ pyenv local 2.7.9      # ローカルpythonを構築
$ pyenv local       # 設定がされているか確認

$ whitch python
/home/fififactory/.pyenv/shims/python
$ python -V
2.7.9

これで、pythonがpyenvの中の/shims/pythonに指定されているのがわかります。これは.cshrcでパスに通したところになってます。ので、.cshrcのパスの設定がうまくいってないとはまります。(はまりました)

 

python環境構築完了

 

2. pipを使ってflaskのインストール

 

さてpyenvのおかげでpipが使えるようになりましたので、ローカルのpython環境にflaskを入れていきましょう。

 

まずはvirtualenvでFlask用の環境を作成します。

$ git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
$ pyenv virtualenv 3.4.2 3.4.2-flask
pythonのヴァージョン3.4.2をベースにした環境として、3.4.2-flask(名前は任意)という名前の仮想環境を作りました。

Flaskをpipでインストールします。先ほどと同様に、環境をセットしたいディレクトリに移動し以下のコマンドを打ちます。

$ pyenv local 3.4.2-flask
$ pip install Flask
 

pip listでFlaskがあれば完了です。

 

 

3. cgiの設定を行い、Flaskアプリの動作を確認

ユーザディレクトリのwwwディレクトリ配下にアクセステスト用のディレクトリを準備します。
mkdir ~/www/flask-cgi-test
mkdir ~/www/flask-cgi-test/hello
cd ~/www/flask-cgi-test/hello
/hello/ディレクトリ配下に3つのファイルを準備します。

1. .htaccess

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /flask-cgi-test/hello/index.cgi/$1 [QSA,L]
2. appFlask.py
# coding: utf-8

from flask import Flask
app = Flask(__name__)

@app.route('/')
def index():
return "Hello!"

if __name__ == '__main__':
app.run()

3. index.cgi
#!/home/fififactory/.pyenv/versions/3.4.2-flask/bin/python

import cgitb
cgitb.enable()

from wsgiref.handlers import CGIHandler
from appFlask import app
CGIHandler().run(app)

 

http://<username>.sakura.ne.jp/flask-cgi-test/helloにアクセス

 

スクリーンショット 2015-05-17 12.04.35

これがでれば成功です。

 

webアプリを作ろうと、意気揚々とサクラに登録して、Flaskを動かそうと思っていたのですが、ローカル環境とは異なり、sudoが使えなかったり管理者権限がなくてインストールできなかったりと、この記事をことを動かすだけでも4日程かかってしまいました。一番ハマっていたのはシェルスクリプトが良くわかっていなく、デフォルトのシェルがchsであることに気づくまでが遅かったです。初心者の備忘録ですが、同じように環境構築にハマっている人へ少しでも手助けになればと思い投稿しました。間違え等ありましたらコメント頂けると幸いです。

ご観覧ありがとうございました。

 

 

 

参考

.cshrc - csh、tcshの設定

さくらのレンタルサーバでpyenv、Flaskを使う