なんかメモ

いろいろメモ

python

Goであると思ってたけど、なかった関数、定数

python使ってた感覚でいくと、意外となかった関数や定数があったのでまとめ 関数 round Goであると思ってたけど、なかった関数、定数 round gcd math/bigにはあるからそっちでもいい Goであると思ってたけど、なかった関数、定数 gcd expandPath Goであると…

((Pythonで) 書く (Lisp) インタプリタ) をGoで書いてみる

((Pythonで) 書く (Lisp) インタプリタ) をGoでリハビリがてら書いてみた 結構適当だけどリンク先のサンプルが同じような感じで動いてくれるのでまあよし % go run lis.go lis.go> (define area (lambda (r) (* 3.141592653 (* r r)))) area lis.go> (area 3…

pythonで文字列の類似度計算

文字列の類似度のアルゴリズムを調べた時のメモ TF-IDF コサイン類似度 TF-IDFで重み付けをしたベクトル同士の内積をとり、角度の近さから類似度を測る TF(単語の出現頻度)n/N n=文書内でのある単語の出現回数 N=文書内の全単語数 IDF(逆文書頻度) log(D…

gulpでpyjadeを使ったコンパイル

gulpでpyjadeを使ったコンパイルをした時のメモ gulp-pyjadeのインストール 最初gulp-shellでやろうと思ったけどgulp-pyjadeを見つけたのでこっちで htch/gulp-pyjade htch/gulp-pyjade · GitHub $ npm install --save-dev htch/gulp-pyjade gulpfile.js gul…

TornadoのログをFluentdで収集する

TornadoのログをFluentdで集めるようにした時のメモ Tornadoの設定 --log_file_prefixを付けて起動させる python main.py --log_file_prefix=/hoge/fuga/tornado.log Fluentdの設定 下記のようなファイルをincludeする TornadoのログをFluentdで収集する 参…

Tornadoのテスト方法(追記)

基本的な流れ get_app()でテストしたいtornado.web.Applicationを返す(tornado側でテスト用のサーバーは用意してくれる) self.http_client.fetchでApplicationにリクエストを送り、レスポンスを受け取る self.assertEqualなどを使い結果を確かめる (追記)g…

New Relicでherokuのアイドリング回避

New RelicのAvailability Monitoring機能でherokuのアイドリングを回避できるみたいなのでやってみた requirements.txtの編集 requirements.txtにnewrelicを追加する New Relicのpython agentはTornado 4.xにまだ対応してないため、Tornadoを使う場合は3.xに…

MongoDBからドキュメントをランダムに取得する(pymongo)

地理空間インデックスを作成して$nearで取り出せばいいみたい。 最初skipでと考えたけどこっちの方がよさげ。 MongoDBからドキュメントをランダムに取得する(pymongo) 参考 ざくにく定食: MongoDBのコレクションからランダムなドキュメントを取り出す The Ra…

TornadoでJade(pyjade)を使う

pyjadeというpython用のjadeパーサーがTornadoのテンプレート出力にも対応してたので使ってみた。 syrusakbary/pyjade syrusakbary/pyjade · GitHub TornadoでJade(pyjade)を使う

Flickr APIを使って犬画像ギャラリーサイト

今更ながらFlickr APIを使ってみたかったのでherokuで犬画像のギャラリーサイトでも作ってみた。 tornadoとmongodbでAPIのキャッシュしてる以外はなんにもしてないけどFlickr API触ったので満足 Dog Flick Dog Flick

werckerでbox作成

Wercker box の作成 werckerでpython3.4を使うためのboxを作成したときのまとめ 作成したbox python3.4-werckerbox Build githubなどにリポジトリを作成 git clone wercker-box.ymlというファイルを作成 boxの内容をwercker-box.ymlに書いていく 作成したリ…

Python functools.lru_cacheで竹内関数をメモ化

functoolsにlru_cacheとtotal_orderingという便利なデコレーターがあるのを今更知ったのでメモ functools.lru_cache(maxsize=128, typed=False) ラップした関数の最近の呼び出しを最大 maxsize 回までキャッシュするデコレータ(Noneで無制限にキャッシュ) …

Python TornadoでOpen ID Connect 認証してみた

最近Tornadoをさわっているのでこれを使ってGoogleでOpen ID Connect 認証してみた。 基本的な流れは下記のサイトを見ながら Using OAuth 2.0 for Login (OpenID Connect) - Google Accounts Authentication and Authorization — Google Developers stateパ…

Python3系でOpen ID ConnectのID Token(JWT)検証

enorvelle/GoogleApiPython3x · GitHubはあるけど公式ではgoogle-api-python-clientがpython3系に対応しておらずverify_id_token関数が使えないので。 id tokenはJWT形式になってるので結局はJWTの検証をすればいい Python3系でOpen ID ConnectのID Token(JW…

pytest.yield_fixture

pytest-2.4からyield_fixtureが追加されてたのか Fixture functions using “yield” / context manager integration pytest.yield_fixture

「プログラムでシダを描画する」をPython (kivy)で描画する

「プログラムでシダを描画する」をPython (kivy)で描画する

K-means法をkivyで書いてみた

K-means法をkivyで書いてみた

kivyでライフゲーム

kivyで試しにライフゲーム作ってみた

kivyで日本語表示

Tofu issue 日本語フォントの表示 - Kivy Advent Calendar 2013 - Pythonを書く を参考にkivyのデフォルトフォントでは日本語を扱えないのでフォントを登録してやればいいみたい kivyで日本語表示

pymongo pythonからmongodbを使う

pythonからmongodbを扱う pymongoのメモ

iterの第2引数

iterに第2引数を与えると第1引数を評価してその返り値が第2引数と同じになるまで呼んでくれるのか知らんかった iter に関数を渡す - melpon日記 - HaskellもC++もまともに扱えないへたれのページ iterの第2引数

pythonからクリップボードを扱う

pythonからクリップボードを扱う

pythonでkeepassxのxmlをパースする

変換する必要があったのでElementTreeでやってみた、標準ライブラリ便利 pythonでkeepassxのxmlをパースする