タグ

ブックマーク / utahta.hatenablog.com (6)

  • PythonでつくるWebアプリ/Tornado + Gunicorn + Nginx - Bits of Log

    この1ヶ月、土日の休みを使いTUBELONGERってWebアプリをつくってました。 言語はPythonPythonは日語の取り扱いが若干面倒だったりするけど、書いてて楽なので好き。 以下、PythonでWebアプリをつくるにあたって調べたり分かったりしたことのメモ。 構成 OS:さくらVPS CentOS 5.5 サーバ:Nginx + Gunicorn データベース:MySQL 当初はGoogle App Engineで開発を進めてたけど、データストアの使い方を調べるのにいちいち時間をとられたり、Cron的な動作に制限があったりといろいろ面倒くさかったので、途中からroot権限のあるサーバでいちから構築する方向に切り替えました。 やっぱりroot権限は自由度が半端じゃないです。 GAEがダメってわけではないです。 むしろ僕の知識が足りなすぎて学習コストが尋常じゃなかったのでまた今度

    PythonでつくるWebアプリ/Tornado + Gunicorn + Nginx - Bits of Log
  • Python + FlaskでMVC的なことをやってみた - Bits of Log

    Python + FlaskでMVC的なサンプルをつくったメモ。 MVC的な記事まとめ ひとまずMVCについて言及されている記事をまとめ。 MVCはWikipediaが詳しい。 以下は調べた中でもわりと個人的にしっくりきた記事たち。 Web Applicationを綺麗に設計するためのMVACという考え方 - Dive into the Tech World! Re: @kazuho: handlersocket plugin や mycached を使えば memcached は不要か、それとも使うべきケースがあるか。考察せよ [10点] - blog.nomadscafe.jp Life is beautiful: Ruby on Railsの「えせMVC」の弊害 the { buckblogs :here }: Skinny Controller, Fat Model 共通して言われ

    Python + FlaskでMVC的なことをやってみた - Bits of Log
  • Python で Variable Byte Code を実装 - Bits of Log

    よる年の瀬の最中、Web開発者のための大規模サービス技術入門というを読んでる。 ソーシャルゲームが流行っている昨今、大規模サービスの運用論や方法論について、少しは学んでおくか的なノリで読んでる。 こいつは、株式会社はてなで行われたインターン実習が元になってて、負荷対策の基等が分かりやすく実習形式で解説されてるオシャレなだ。 OSのページキャッシュの仕組みとかデータの分散とか検索アルゴリズム等、もろもろ興味深いのだ。 今回は、整数データをコンパクトに持つ為の圧縮技術VBCodeをPythonで実装してみたメモり。(の中ではPerlはてなのインターン生に混じった気分で、疑似コードを参考に実装してたら、なんだかんだ1時間ぐらいかかった。 もっとさくっと組めたらいいのに。 つっかかった点は以下2点。 ・Pythonにおけるバイトコードの取り扱い(pack, unpack) ・128とい

  • Pythonのバージョンを管理するツール、pythonbrewを作ってみた - utahta blog

    Perlperlbrewってツールが凄く使いやすくて羨ましかったので、Pythonで使えるpythonbrewってツールを作ってみました。 perlbrew? perlbrewとはPerlをバージョン毎にインストールして、それらをswitchして使ったりできるツールのこと。 既存の環境を壊さずに最新のPerlを簡単に試すことができます。 PerlからCPANモジュールまでホームディレクトリ以下に全部インストールしてくれるので、自分専用のPerl環境を構築することができます。 perlbrewの作者の劉康民さんは、当にすばらしいアイデアの持ち主。 pythonbrewとは 基的にperlbrewをパクったと同じ思想なツール。 Pythonインタプリタのインストールから、それらの管理まで面倒をみてくれます。 例えば、一からPython2.6.6、2.5.5、2.4.6の環境を構築したいな

    Pythonのバージョンを管理するツール、pythonbrewを作ってみた - utahta blog
  • Python で Variable Byte Code を実装 その2 - Bits of Log

    先日 Python で実装してみた VBCode の続き。 ここからダウンロードしたはてなのデータを実際に圧縮してみた。 準備 ダウンロードしたやつの中に入っている eid_tags.txt を使う。 $ curl -LO http://image.gihyo.co.jp/assets/files/book/2010/978-4-7741-4307-1/hugedatabook_samplecode.zip $ unzip hugedatabook_samplecode.zip $ du -h hugedatabook_samplecode/hgdata_example/06/eid_tags.txt 172M hugedatabook_samplecode/hgdata_example/06/eid_tags.txt 大きさは、だいたい172MBぐらいらしい。 フォーマットは、「はてな

    Python で Variable Byte Code を実装 その2 - Bits of Log
  • PyQtでつくったアプリのパッケージングとインストーラの作り方 - Bits of Log

    ここ最近、PyQtを使って以前公開した株価取得ライブラリのGUI化をやってたら思いの外楽しかったのだけど、インストーラーとかパッケージングとかそのあたりがまあ面倒くさくてまあダルい。 ごにょごにょいろいろ試してようやく動くっぽくなったので忘れないうちに書くけれども、深い理解まで至っていないので間違いがあるかも。 MacWindowsの両方。 実行環境は、Mac OSX 10.6.8とWindows7Pythonのバージョンは2.7.2。当初は3.2でいこうとしていたのだけど、使用ライブラリが3系に未対応だったので2.7.2。 作ったアプリ ある銘柄の指定期間の株価(当日の高値, 安値, 終値, 出来高)をcsv形式でファイルに書き出すツール。 Mac版はこちら。 Windows版はこちら。 ソースコードはこちら。 レジストリとかは未使用。 SnowLeopardだと微妙にうまく動かな

    PyQtでつくったアプリのパッケージングとインストーラの作り方 - Bits of Log
  • 1