thirose’s blog

openstackやpythonなどなど

プログラミング

python で json.loads() したときに 特定の制御文字列が入ってるとJSONDecodeErrorが返ってくる

問題 今回は以下のような文字列を json.loads() してみたときにおきた問題があったときの対応をまとめました。 sample_text = '{"key": "value \t value"}' 再現させる >>> import json >>> sample_text = '{"key": "value \t value"}' >>> >>> json.loads(s…

A tour of Go の More Types の exercise

Exercise: Slices この問題を読んでいくと、 この関数は、長さ dy のslice と書かれているので、imageのsliceのlengthはdyが入ることになる。そうなると、image := make([][]uint, dy) となるのが自然な気がします。 次に、各要素が8bitのunsigned int型で長…

A tour of Go の Flow control statements の exercise

最近インフラ周りでも、golangのOSSが増えてきてコードを読まないといけないことが増えたからgolangのチュートリアルで書き方を覚えようと思い始めた。 exercise-loops-and-functions.go 関数とループを使った簡単な練習として、平方根の計算を実装してみま…

python3.5.0だけtracebackの返値が違っていたバグに当たった

今回はたまたま、openstackのnovaclientを使っていたらバグを発見しました。 その時のログはこちら -> This report is written about novaclient. · GitHub バグの内容 python3.6を普段使ってるけど、もともとpython3.5.0で動いていたスクリプトで、普段と違…

openstackのnovaclient使ってvm instanceを立ち上げる

最近まで知らないことだらけだったので、vm instanceを作るときはnovaclient以外にも neutronclientとかglanceclientとかを使いnetworkやIamageやflavorの情報をとってinstanceを作成してました。 今回は、novaclientでできることはnovaclientでやることにし…

configでのエラー対応

python3.5を使っていて、import config したらパッケージ内部でエラーが出てきた。 まずは、例外処理がpython2での書き方だったっぽく Exception as e みたいに書き直せば大丈夫 File "/home/develop/.pyenv/versions/3.5.3/lib/python3.5/site-packages/con…

MongoDBを使う時に使うODM

MongoDBの良さげなODMをさがして使ってみた。

キャッシュのデータを削除しても参照できてしまう。

今回のケースはpythonでsimplecacheを使っていて、キャッシュを消しても消えてないという事象に遭遇したので原因を調べてまとめてみました。 from werkzeug.contrib.cache import SimpleCache import threading import time import datetime class TestThrea…