uokadaの見逃し三振は嫌いです

ここで述べられていることは私の個人的な意見に基づくものであり、私が所属する組織には一切の関係はありません。

2012-01-01から1年間の記事一覧

SQLAlchemyで生クエリを発行する

pythonのORMであるSQLAlchemyを使って生のSQL(SELECT文)を発行して 結果を取得する際のコードを書いてみる。 生のSQLの発行方法がググっても全然ヒットしなかったのでドキュメント読みながら試行錯誤して達成出来ました。 #!/usr/bin/env python2.7 # -*- co…

「ワンクリック―ジェフ・ベゾス率いるAmazonの隆盛」を読んだ。

Amazonの創業者ジェフ・ベゾスの半生をつづった一冊。 300ページないので薄いしスティーブ・ジョブズの自伝の何倍も軽く読めた。 前半の就職する以前の話はあんまりおもしろくは無かったが 後半は内容がかなり濃かった。 最初の就職からDEショーで働いていた…

Flask-debugtoolbarで開発を楽に!

Flaskを使った開発をやろうと思っていろいろ調べてるんだがその中でデバッグがかなり便利になりそうな拡張があったので紹介したい。 mgood/flask-debugtoolbar Flask-DebugToolbar 0.7.1 : Python Package Index インストール $ pip install flask-debugtool…

pythonで日付を取り扱う

pythonで日付を取り扱う python-dateutilが使いやすいのでそれを使ってみる。 python-dateutil - Labix 2.X系はversion1.5以下を使う必要があるので注意。 インストール pipからバージョン指定してインストールする。 % pip-2.7 install "python-dateutil==1…

Redisでコマンドラインからデータをインポートする

最近、Redisに触ってます。 コマンドラインから初期データ投入する方法が調べてもあまりなかったのでメモ代わりに書いておきます。 redis-cliコマンドからデータを投入してみたいと思います。 まず、投入するデータを用意してimport_data.lstとして保存しま…

argparseを使ってみる

pythonでデーモンを作る機会があるのでバックグラウンドだけしか動かなせないとデバッグしづらいのでフォアグラウンドでも動くようにスクリプトを作ろうと思う。 引数をとってフォアグラウンド/バックグラウンドの切り替えをするためにargparseを使ってみる…

pep8で特定のエラーを無視する

pythonにはpep8という有名なコーディングスタイルがあります。 なるべくこれにあわせてコードを書くように推奨されます。 そして、pep8のスタイルにあっているかチェックするためのコマンドもpypiのパッケージとして公開されています。 pep8 1.3.3 : Python …

レプリケーションの遅延対策としてrepli_clockテーブルを検証した

Mobageを支える技術で紹介されていたrepli_clockテーブルを遅延検出用に導入しようと思い調査してみた。 親-子のレプリケーションならseconds behind masterの値を見るだけでどれぐらいレプリケーションが遅延しているかわかるけどそこに孫スレーブが加わる…

コラッツの問題のベンチマーク

コラッツの問題 1〜1000までの整数についてコラッツの問題を解くコードを pythonとscalaで書いてみてそれぞれのベンチマークをとってみた。 scalaバージョン import scala.testing.Benchmark object BenchCollatz extends Benchmark { override def prefix =…

Last-Modifiedヘッダーを入れてみた

昨日のコードにLast-Modifiedヘッダーを入れてみた。 Add Last-Modified header · 1c354de · yuokada/blog_post · GitHub 参考 datetimeをLast-ModifiedやIf-Modified-Sinceの書式に変換 - brainstorm 8.1. datetime — 基本的な日付型および時間型 — Python …

続・flaskでjsonを返すサンプルコード

1つ前のエントリから改めて普通にjsonを返すコードを書くにはどうするのか試しに書いてみた。 結論から言うとこっちのほうがコードが短くなって直感敵でわかりやすい。 #!/usr/bin/env python2.7 from flask import Flask, Response, json app = Flask(__nam…

flaskでjsonを返すサンプルコード

最近、Flaskというpython製のWAFを業務で使うために追加で調べている。 個人的には使ったことあるんだけど細かいところはどうなんだ?って突っ込んで調べなかったのでメモがてらにブログにポストします。 まず、単純にjson返すコードサンプル。 #!/usr/bin/e…

pytestへの乗り換え調査

pytest で pep8 テストを実行する | ありえるえりあ データ駆動テストを nose と pytest でやってみた - forest book pytest ドキュメント jenkinsの導入するついでにnoseからpytestに移ろうかと思って少し調査中。 実際のテスト書いてみて乗り換えられるか…

Jenkinsの連携をした。

プライベートはgithubとtravisでCIやってるんだけど 仕事だとその組み合わせは使えないのでjenkinsサーバーたてて(実際は構築やってないんだけど・・・) pythonコードの自動テストとカバレッジレポートの出力をやってみた。順調に自動テストまでは設定できた…

PerlのDBIのメモ fetchall_arrayrefの使い方について。

fetchrow_hashref は大量のレコードを取得するさいにメモリ確保で問題が起きそうなので使えないし、 fetchrow_arrayref は良さそうだけどハッシュでレコードを持てないのがイマイチ好きじゃないかな。 無精で短気で傲慢なプログラマ perl+DBI プログラムの鉄…

pythonでリストのグルーピング

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を試してみた。

pt-online-schema-change というPerconaが出しているテーブルのスキーマ変更ツールを試してみた。 普通に ALTER TABLE を実行すると実行中はテーブルロックが発生して書き込みが出来なくなるので ブログのような書き込みがあるサービスの場合メンテナンス状…

pythonでプログレスバー

なんとなく、気になったので書いてみた。 仕組みを知りたかったので、かなりしょぼい。 #!/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構文でハマったメモ

MySQLにはHANDLER構文というものがあります。 (Handler Socketとはまた別の話。) MySQL :: MySQL 5.1 リファレンスマニュアル (オンラインヘルプ) :: 8.2.4 HANDLER 構文この構文がサポートしているのはMyISAM,InnoDBだけなので使う際は注意が必要です。 CRE…

pt-online-schema-change 実行中のパフォーマンス

CREATE TABLE IF NOT EXISTS tweet ( tid INT(10) AUTO_INCREMENT, body VARCHAR(255), PRIMARY KEY (tid) )Engine=InnoDB DEFAULT CHARSET=utf8; 上のようなテーブルを作ってデータを200万件投入した状態でパフォーマンス測定を実施してみた。 データを投入…

virtualenvwrapperを使い始めた

前々から、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日月曜日) 表示できません 聴取会は、政府が提示した二〇…

pythonのモジュールをc言語で書いてみた。

ものすごく単純なモジュールでもCで書いたほうが1割ぐらいパフォーマンスがいいみたい。

pythonのリスト内包表記

最近、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…

bashのfor文のメモ

手順書書くときについつい自分がzsh使ってること忘れてzshのfor文で書いてしまってエラー出るよって言われる。bashのfor文を毎回調べてるのでメモ $ for I in $(seq 1 10); do echo ${I} ; done

screenからtmuxに切り替えた

日本語が化けると思ったら-uオプションつけてなかったorz 下のように-uオプションをつけてやるとvimとかで日本語が表示されるようになる。 # alias tmux="tmux -u" しておく。 % tmux -uまだ分割の方法があんまりわかってないけど screen時代からそれほど使…

LinuxのI/Oスケジューラについてメモ

DB向けの設定パラメータ。 CFQスケジューラのアルゴリズム概要 VA Linux Systems Japan #cat /sys/block/<デバイス名>/queue/scheduler noop anticipatory deadline [cfq] SSDだとnoopがいいみたい。 [TPC-H] Linux I/O Schedulreを変えてビックリ | Insight…

パフォーマンスが出ないおかげで死にそう。

どうもストレージのパフォーマンスが要求されてる水準の半分以下しか出てなくて、 どうしたもんかと試行錯誤中。 下の順番でどこかで要求超えてくれないかと期待して計画作ってる段階。 カーネルチューニング パーティショニングによるデータ量の分散 アプリ…

プログラミングGauche の7章当たりの話。

7.4 可変引数を取るの練習問題、listを再定義する話。 答えはこんな感じかな。 (define (list . a) (if (null? a) '() (map (lambda (x) x) a) )) ref: 「プログラミングGauche」を読む(2) 7章 手続き - ねこじたclockworkプログラミングGauche作者: Kahua…

プログラミングGauche を開いてみた。

プログラミングGauche作者: Kahuaプロジェクト,川合史朗出版社/メーカー: オライリージャパン発売日: 2008/03/14メディア: 大型本購入: 20人 クリック: 700回この商品を含むブログ (273件) を見る最近、新卒の頃に買ったプログラミングGauche を開いて読んで…