再起動中...

そのうち移行するはず

2012-02-01から1ヶ月間の記事一覧

Ubuntu に Symfony2 のインストール

PHP

http://symfony.com/download 上記から、tgz を落としてきて、適当に展開。 app/cache app/logs の権限を apache が書き込みできるようにする sudo aptitude install sqlite と /etc/php5/apache2/php.ini の date.timezone を "Asia/Tokyo" とする。推奨設…

PHP の複数バージョンの環境を作る

PHP

phpenv をインストールphpenv : https://github.com/CHH/phpenv ソースを取って来て、インストールする。 git clone https://github.com/CHH/phpenv.git ./phpenv-install.sh Now add /home/qooh0/.phpenv/bin to your $PATH, add eval "$(phpenv init -)" a…

python の sort()

Python 3.2.1 で出力。元データを破壊するソート >>> data = [6,3,4,5,2,1] >>> data.sort() >>> print(data) [1, 2, 3, 4, 5, 6] 元データを破壊しないソート >>> data = [6,3,4,5,2,1] >>> data2 = sorted(data) >>> print(data) [6, 3, 4, 5, 2, 1] >>> p…

with statement

python には、with というファイルのIO 関連のステートメントがある。ex. try: f = open('hoge', 'w') print('This is ', file=f) except IOError as err: print('File IO Error : ' + str(err)) finally: if 'f' in locales(): f.close() これは、下のよう…

ジェネレータ

早い話が yield で、処理を止めて値を返す。 値が1つずつ処理できるので、list の全体をコピーするよりもパフォーマンスが良い。エキパイには「ループ処理や、シーケンス処理を返す関数を実装する時は まずジェネレータの利用を検討すべき」と記載がある。 …

イテレータ

iter() に シーケンスを渡すと next() が使えるようになる。 早い話、連続データを iter(hoge) というカタチで渡すと、一個一個処理できるという話。 >>> hoge = ['hoge', 'fuga'] >>> a = iter(hoge) >>> print next(a) dictionary は順序を持っていないの…

python 3k で print 関数のあと改行したくない

python 2.x 系の場合、開業したくない時は 会社を設立しなければ良い。ちがう。 python 2.x で改行したくない時は print hoge, だった。python 3k では、 print(hoge,end='')

Mac で Python のマルチバージョン環境

rvm みたいなものを、mac に入れる。 よくある話に習って Pythonbrew の上に VirtualEnv を置くカタチにします。 Pythonbrew のインストール github : https://github.com/utahta/pythonbrew次のコマンドを実行します curl -kL http://xrl.us/pythonbrewinst…

Web アプリの管理画面からのデータダウンロードには TSV を使うべき3 つの理由

CSV か TSV かってお話。CSV - , (カンマ)でデータを区切る TSV - [TAB] (タブ)でデータを区切るWeb アプリの管理画面からデータをダウンロードできるようにする場合は TSV の方が良い。理由 ・カンマは結構入力される ・カンマはデータの途中でも、カンマな…

名前だけ持ってくるイベントとかやめようぜ

だいぶ前に ある ML に投げた内容だけど Blog に書く。海外のイベントの名前を安易に日本に輸入する人がいるが、大問題だと思う。 これは何も知らない購入者に偽ブランド品を買わせる行為だ。 たとえば、世界中で行われている A というイベントがあったとす…

リスト内包表記

あぁ、とうとう Python カテゴリーを作ってしまった。たまに Expert Python の内容を忘れてしまうので、メモがわりに記載。 ま、順々に。 リスト内包表記 単純な例は >>> [i for i in range(10)] [1,2,3,4,5,6,7,8,9,10] for の前に本体を書く。 つまり、C …