2012-01-01から1年間の記事一覧
pythonのORMであるSQLAlchemyを使って生のSQL(SELECT文)を発行して 結果を取得する際のコードを書いてみる。 生のSQLの発行方法がググっても全然ヒットしなかったのでドキュメント読みながら試行錯誤して達成出来ました。 #!/usr/bin/env python2.7 # -*- co…
Amazonの創業者ジェフ・ベゾスの半生をつづった一冊。 300ページないので薄いしスティーブ・ジョブズの自伝の何倍も軽く読めた。 前半の就職する以前の話はあんまりおもしろくは無かったが 後半は内容がかなり濃かった。 最初の就職からDEショーで働いていた…
Flaskを使った開発をやろうと思っていろいろ調べてるんだがその中でデバッグがかなり便利になりそうな拡張があったので紹介したい。 mgood/flask-debugtoolbar Flask-DebugToolbar 0.7.1 : Python Package Index インストール $ pip install flask-debugtool…
pythonで日付を取り扱う python-dateutilが使いやすいのでそれを使ってみる。 python-dateutil - Labix 2.X系はversion1.5以下を使う必要があるので注意。 インストール pipからバージョン指定してインストールする。 % pip-2.7 install "python-dateutil==1…
最近、Redisに触ってます。 コマンドラインから初期データ投入する方法が調べてもあまりなかったのでメモ代わりに書いておきます。 redis-cliコマンドからデータを投入してみたいと思います。 まず、投入するデータを用意してimport_data.lstとして保存しま…
pythonでデーモンを作る機会があるのでバックグラウンドだけしか動かなせないとデバッグしづらいのでフォアグラウンドでも動くようにスクリプトを作ろうと思う。 引数をとってフォアグラウンド/バックグラウンドの切り替えをするためにargparseを使ってみる…
pythonにはpep8という有名なコーディングスタイルがあります。 なるべくこれにあわせてコードを書くように推奨されます。 そして、pep8のスタイルにあっているかチェックするためのコマンドもpypiのパッケージとして公開されています。 pep8 1.3.3 : Python …
Mobageを支える技術で紹介されていたrepli_clockテーブルを遅延検出用に導入しようと思い調査してみた。 親-子のレプリケーションならseconds behind masterの値を見るだけでどれぐらいレプリケーションが遅延しているかわかるけどそこに孫スレーブが加わる…
コラッツの問題 1〜1000までの整数についてコラッツの問題を解くコードを pythonとscalaで書いてみてそれぞれのベンチマークをとってみた。 scalaバージョン import scala.testing.Benchmark object BenchCollatz extends Benchmark { override def prefix =…
昨日のコードにLast-Modifiedヘッダーを入れてみた。 Add Last-Modified header · 1c354de · yuokada/blog_post · GitHub 参考 datetimeをLast-ModifiedやIf-Modified-Sinceの書式に変換 - brainstorm 8.1. datetime — 基本的な日付型および時間型 — Python …
1つ前のエントリから改めて普通にjsonを返すコードを書くにはどうするのか試しに書いてみた。 結論から言うとこっちのほうがコードが短くなって直感敵でわかりやすい。 #!/usr/bin/env python2.7 from flask import Flask, Response, json app = Flask(__nam…
最近、Flaskというpython製のWAFを業務で使うために追加で調べている。 個人的には使ったことあるんだけど細かいところはどうなんだ?って突っ込んで調べなかったのでメモがてらにブログにポストします。 まず、単純にjson返すコードサンプル。 #!/usr/bin/e…
pytest で pep8 テストを実行する | ありえるえりあ データ駆動テストを nose と pytest でやってみた - forest book pytest ドキュメント jenkinsの導入するついでにnoseからpytestに移ろうかと思って少し調査中。 実際のテスト書いてみて乗り換えられるか…
プライベートはgithubとtravisでCIやってるんだけど 仕事だとその組み合わせは使えないのでjenkinsサーバーたてて(実際は構築やってないんだけど・・・) pythonコードの自動テストとカバレッジレポートの出力をやってみた。順調に自動テストまでは設定できた…
fetchrow_hashref は大量のレコードを取得するさいにメモリ確保で問題が起きそうなので使えないし、 fetchrow_arrayref は良さそうだけどハッシュでレコードを持てないのがイマイチ好きじゃないかな。 無精で短気で傲慢なプログラマ perl+DBI プログラムの鉄…
Scala、Java、PHPでソースコードの量を比較してみる | 深追い Fukaoi.org上の記事に影響されてpythonバージョンを書いてみた。 #!/usr/bin/env python2.7 # -*- coding:utf-8 -*- if __name__ == '__main__': yearMonths = [ "2009-11", "2009-01", "2010-01…
pt-online-schema-change というPerconaが出しているテーブルのスキーマ変更ツールを試してみた。 普通に ALTER TABLE を実行すると実行中はテーブルロックが発生して書き込みが出来なくなるので ブログのような書き込みがあるサービスの場合メンテナンス状…
なんとなく、気になったので書いてみた。 仕組みを知りたかったので、かなりしょぼい。 #!/usr/bin/env python2.7 # -*- coding:utf-8 -*- import time for i in range(1,11): time.sleep(1) prog = "[%s]" % ("=" * i + ">") if i == 10: print prog else: …
MySQLにはHANDLER構文というものがあります。 (Handler Socketとはまた別の話。) MySQL :: MySQL 5.1 リファレンスマニュアル (オンラインヘルプ) :: 8.2.4 HANDLER 構文この構文がサポートしているのはMyISAM,InnoDBだけなので使う際は注意が必要です。 CRE…
CREATE TABLE IF NOT EXISTS tweet ( tid INT(10) AUTO_INCREMENT, body VARCHAR(255), PRIMARY KEY (tid) )Engine=InnoDB DEFAULT CHARSET=utf8; 上のようなテーブルを作ってデータを200万件投入した状態でパフォーマンス測定を実施してみた。 データを投入…
前々から、virtualenvを使ってたんだけど新しい環境作る際に毎度毎度調べていたので、 少しは楽になるかなってので virtualenvwrapper をインストールしてみました。手順は以下。 % pip install virtualenvwrapper % pip-2.7 freeze |grep virtualenv virtua…
意見発表希望者は93人で、将来の原発比率3案について、さらに抽選で各案3人ずつを決めた。93人の内訳は原発比率「ゼロ」が66人、「15%」が14人、「20〜25%」が13人だった。(河北新報2012年07月16日月曜日) 表示できません 聴取会は、政府が提示した二〇…
ものすごく単純なモジュールでもCで書いたほうが1割ぐらいパフォーマンスがいいみたい。
最近、gauche始めたおかげでmapとfilterを多用するようになったんだけど、 よく考えたらリスト内包表記で両方まかなえるんだよな。 >>> filter( lambda x: x%2, map(lambda x: x**2, range(1,10) )) [1, 9, 25, 49, 81] >>> [x**2 for x in range(1,10) if x…
手順書書くときについつい自分がzsh使ってること忘れてzshのfor文で書いてしまってエラー出るよって言われる。bashのfor文を毎回調べてるのでメモ $ for I in $(seq 1 10); do echo ${I} ; done
日本語が化けると思ったら-uオプションつけてなかったorz 下のように-uオプションをつけてやるとvimとかで日本語が表示されるようになる。 # alias tmux="tmux -u" しておく。 % tmux -uまだ分割の方法があんまりわかってないけど screen時代からそれほど使…
DB向けの設定パラメータ。 CFQスケジューラのアルゴリズム概要 VA Linux Systems Japan #cat /sys/block/<デバイス名>/queue/scheduler noop anticipatory deadline [cfq] SSDだとnoopがいいみたい。 [TPC-H] Linux I/O Schedulreを変えてビックリ | Insight…
どうもストレージのパフォーマンスが要求されてる水準の半分以下しか出てなくて、 どうしたもんかと試行錯誤中。 下の順番でどこかで要求超えてくれないかと期待して計画作ってる段階。 カーネルチューニング パーティショニングによるデータ量の分散 アプリ…
7.4 可変引数を取るの練習問題、listを再定義する話。 答えはこんな感じかな。 (define (list . a) (if (null? a) '() (map (lambda (x) x) a) )) ref: 「プログラミングGauche」を読む(2) 7章 手続き - ねこじたclockworkプログラミングGauche作者: Kahua…
プログラミングGauche作者: Kahuaプロジェクト,川合史朗出版社/メーカー: オライリージャパン発売日: 2008/03/14メディア: 大型本購入: 20人 クリック: 700回この商品を含むブログ (273件) を見る最近、新卒の頃に買ったプログラミングGauche を開いて読んで…