python始めるにあたって漁った記事など
自然言語処理楽しそうだなーとかPHP飽きたなーとかでpython始めました。
pythonの始めの一歩をスタートするために読んだ記事などをメモしておきます。
現在のpythonのバージョンは3系が最新らしいのでできるだけ2系は排除する。
PHPでいうところのPHP: The Right Wayのpython版があれば一番助かる感じです。見つかりませんでしたが。
ドキュメント
環境構築
Mac
Macでpyenv+virtualenv - Qiita
phpenv,rubyenv的な。~~envを使うことで各言語の任意のバージョンをプロジェクトディレクトリごとに変えることができて便利です。もしかしたら2系も使うかもしれませんのでこれで入れます。素晴らしすぎますね。。
Linux
PyenvをCentOS6.3でセットアップする(超かんたんリファレンス付き) - Qiita
パッケージ管理
pip
を使います。python3.4以降の場合は始めから付随してきます。
文法
Google Python スタイルガイド — PyGuide - 2.29
[python] 年末大感謝祭!初心者脱出のためのPythonTipsを50個紹介 | 私の小岩ホッチキス
Pythonらしいコードの書き方 - Kesin's diary
[python] 細かすぎて伝わりにくい、Pythonの本当の落とし穴10選 | 私の小岩ホッチキス
チュートリアル系
Pythonで学ぶWebアプリ開発のABC みんなのPython Webアプリ編 HTML版(無料) | TRIVIAL TECHNOLOGIES 4 @ats のイクメン日記
php プログラマのための Python チュートリアル — phpy 0.1 documentation
PHPからpythonへ移行するためのチュートリアルです。素晴らしい!僕にぴったりじゃないですか。
Pythonでつくる検索エンジン(Webクローラ, Mecab, MongoDB, Flask) - c-bata web
Webアプリケーションフレームワークとか
PythonのWebフレームワーク6種をかんたんに紹介 - モジログ
Pythonの軽量WebフレームワークBottleを試してみた(その1) - ルーティング編 (Advent Calendar 23日目) | アライドアーキテクツ エンジニアブログ
XdebugをLinux(CentOS6)に入れる。初期設定とかはまったとことか
ソースから入れる方法です。
// 最新のバージョンをダウンロード # wget http://www.xdebug.org/files/xdebug-2.3.3.tgz # tar xzvf xdebug-2.3.3.tgz # cd xdebug-2.3.3/ # phpize # ./configure --enable-xdebug # make # make install
phpizeで以下のようなエラーが発生する場合
Configuring for: PHP Api Version: 20090626 Zend Module Api No: 20090626 Zend Extension Api No: 220090626 perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LANG = "ja_JP.UTF-8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LANG = "ja_JP.UTF-8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C").
環境変数を指定あげるとうまくいきます。
# echo ”export LC_ALL=C” >> /root/.bashrc # source /root/.bashrc
make install
が成功すると以下のようなxdebug.soのパスが表示されます。
Installing shared extensions: /usr/local/lib/php/extensions/no-debug-non-zts-20131226/
このパスを元にphp.iniを編集します。
phpinfoを使ってLoaded Configuration File
に指定されているphp.iniのパスを確認します。
もし指定されていなければその上のConfiguration File (php.ini) Path
のパスのディレクトリ以下にphp.iniファイルを作成します。
php.iniに以下を追記します。
;xdebug zend_extension=/usr/local/lib/php/extensions/no-debug-non-zts-20131226/xdebug.so xdebug.default_enable=1 xdebug.remote_enable=on xdebug.remote_port=9000 xdebug.remote_handler=dbgp xdebug.remote_autostart=1 xdebug.remote_host=localhost xdebug.var_display_max_children = -1 xdebug.var_display_max_data = -1 xdebug.var_display_max_depth = -1
サーバー再起動
# /etc/init.d/httpd restart
phpinfo内にxdebug
で検索して何か入っていたらだいたい成功です。
ブラウザ上でxdebugのオレンジ色のテーブルのエラーが表示されない場合、html_errors
がOffになっているかもしれません。
# vi php.ini html_errors = Off ↓ html_errors = On
Google Spread SheetでworksheetIDの取得
worksheetIDの取得
GASのスプレッドシートの内容を取得するにはスプレッドシートを識別するkeyとシートを識別するworksheetidの2つが必要ですが、worksheetidが単純に取得できません。keyはURLにあるので簡単なのですが。
ここによると以下の処理で取得できるようです。
function gid_to_wid(gid) { var xorval = gid > 31578 ? 474 : 31578; var letter = gid > 31578 ? 'o' : ''; return letter + parseInt((gid ^ xorval)).toString(36); }
gidはシートのURLの末尾に付いている値です。
ubuntuでMySQLの日本語が文字化けしてる
vagrantでubuntuに入ってたMySQLが日本語文字化けしているのでその対応。
boxファイルはこちらを利用しました。
r8/vagrant-lamp
まず現在の文字セットを確認
//mysqlログイン % mysql -u root -p mysql> show variables like "char%"; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | latin1 | | character_set_connection | latin1 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | latin1 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+ 8 rows in set (0.00 sec)
デフォルトがlatin1
になっています。
my.confを変更
//ubuntuの場合mysqlの設定ファイルは以下です % sudo vi /etc/mysql/my.cnf
各項目に以下を追記していきます。すでに設定項目がある場合はそのままか上書きをします。
[client] default-character-set = utf8 [mysqld] skip-character-set-client-handshake character-set-server = utf8 collation-server = utf8_general_ci init-connect = SET NAMES utf8 [mysqldump] default-character-set = utf8 [mysql] default-character-set = utf8
MySQLを再起動
% sudo /etc/init.d/mysql restart