タグ

ブックマーク / memo.yomukaku.net (5)

  • Pythonのdatetimeの扱いのまとめ: datetimeとタイムスタンプの相互変換。タイムゾーンの変換 - memo.yomukaku.net

    Pythonで日時を扱う方法をまとめます。datetimeまたはタイムスタンプで表現された日時を相互に変換する方法と、タイムゾーンの情報を持ったdatetimeを別のタイムゾーンの表現に変換する方法を書きます。 何がしたいのか? 2012-11-10T08:08:01+09:00のようにRFC 3339で表現された日時を2012-11-09 23:08:01+00:00や、より単純にUTCで2012-11-09 23:08:01のような表現に変換したい。実際に手を動かしながらPythonでのdatetime, timeの扱いを学びながら、RFC3339で書かれた日時をPythonのUTCにおけるdatetimeの表現に変換する方法をつかみます。 以下のコードのようになります。各処理ごとに細かくコメントを書きます。 # coding: utf-8 import calendar, datet

  • Pythonのmechanizeで404や500のHTTP Status Codeを取得する方法 - memo.yomukaku.net

    Pythonのmechanizeでサーバーにアクセスしてレスポンスの取得を試みる場合、成功した場合は200のレスポンスが得られます。一方、404や500のようなエラーに遭遇した場合は、<class 'mechanize._response.httperror_seek_wrapper'>というmechanizeの例外は取得できますが、404や500のようなステータス・コードを取得することができません。 そこで、Pythonのmechanizeで404や500のようなエラーにあった場合に当該のHTTP status codeを取得する方法を書きます。まず、期待通りにエラーのstatus codeを取得できない場合について書きます。 Mechanizeで404や500のステータス・コードを取得できない場合 MechanizeのBrowserのインスタンスのopenメソッドでhttp://pyt

  • Railsの各種サーバーの速度ベンチマーク: Pound、Varnish、Nginx、Unicorn、Mongrel

    Railsの各種サーバーの速度ベンチマーク: Pound、Varnish、Nginx、Unicorn、Mongrel RailsのアプリをPound、Varnish、Nginx、Unicorn、Mongrelを使用して動かした際の速度ベンチマーク。以下の構成での同一Railsアプリをhttperfでベンチマークした結果をまとめます。 Pound -> Varnish -> Nginx -> Unicorn * 2 Varnish -> Nginx -> Unicorn * 2 Nginx -> Unicorn * 2 Mongrel (Rails.env == 'development') node.js (Express + Socket.IO) 全体の構成Poundを80番ポートを公開し、Varnishを81番ポート、nginxを8080番ポート、Unicornの2プロセスをsocke

  • siegeのインストール、設定と使い方 - memo.yomukaku.net

    2011-11-25 20:10 httpサーバーの負荷試験のためにsiegeをインストール、設定し使用する方法のまとめ。 siegeとは Httpサーバーに負荷をかけるツールには、ab (apache bench)やhttperfがありますが、siegeはapache関連のツールをインストールすることなく導入可能なことや、指定した時間にわたって指定した量のリクエストを送り続けることができる等、便利な使い方ができます。 siegeの公式サイトからリンクを辿り、downloadページからソースをダウンロードします。 2011年11月時点の最新版はsiege-2.7.0.tar.gzでした。以下、siege-2.7.0のインストールします。 wget http://www.joedog.org/pub/siege/siege-2.70.tar.gz tar zxvf siege-2.70.t

  • TextMate2の設定方法: .tm_propertiesを作成して.git/configのように使う - memo.yomukaku.net

    2011-12-20 02:00 TextMate2からアプリの設定方法が大きく変わっていました。 TextMate2のメニューからpreferenceパネルを開いても、設定可能な項目が非常に少なく、あっさりした画面になっています。 この設定画面ではタブ幅、フォント、文字サイズすら設定できません。 作りかけで手抜きなのかと思ったのですが、どうもそうではないようです。 TextMate2からは、TextMateの設定は.tm_propertiesというファイルを使って行うようになったようです。 また、.tm_propertiesは、ホームディレクトリに作成したものがデフォルトとして使用される他、プロジェクトのディレクトリの中に作成すると、ホームディレクトリの.tm_propertiesを上書きしてプロジェクト特有の設定(例: タブ幅等)を作成することができるようです。 .git/confi

  • 1