てきとうなメモ

本の感想とか技術メモとか

Python

Linuxのディストリビューションのバージョンを取得

例えばCentOSだと/etc/redhat-release→/etc/centos-releaseを見ればわかるのだが、世の中的にはどうしているのかなと思ってAnsibleのコードとか読んでみたけど、やっぱり/etc/redhat-release見ているだけだった。ansibleはplatform.dist()[1]を取得していて…

X-Forwarded-Hostヘッダの扱い

Railsで自分のサーバ名を知ろうとしてrequest.host_with_portを使おうとして、多段reverse proxy下だったのでめんどうなことになった。Rails(Rack)だと def host_with_port if forwarded = @env["HTTP_X_FORWARDED_HOST"] forwarded.split(/,\s?/).last else…

PyCon JP 2014 2日目

Rediscover with Python - 西尾泰和 後半のどうやって学んでいくかという話はよかった。 ジョブフェア 使っているツールに興味があったがあまり時間がなかったので詳しい話まではなかった。 タスク管理はgithub/redmine/jiraなど チャットはSlack/hipchat/Ch…

PyCon JP 2014 1日目

行ってきたので感想というかメモというか Keynote - Kenneth Reitz Kenneth Reitz kennethreitz (Kenneth Reitz) · GitHub Python2とPython3でコミュニティが分断されているという話が興味深かった。Python2はPython 2.7で終了なのだが、PyPIのダウンロード…

Pythonはなぜ0-based indexingなのか

Guido van Rossum - Google+ - I was asked on Twitter why Python uses 0-based indexing,… Guido曰く、スライス操作で最もよく使われるのは「最初のn個を取得する」のと「i番目からn個取得する」なのだが、0-based indexingの方がきれいに表現できるからら…

PyCon APAC 2013 2日目

基調講演 - Rian Hunter DropboxでPythonで大量のコードを書いていますよという話。Pythonのコードがサーバ/クライアント含めると100万弱ぐらいになるらしい。 入門Ansible - SHIMIZU Taku 入門Ansible ちょっと前置きが長すぎてAnsibleに関しては少なかった…

PyCon APAC 2013 1日目

Pythonはあまり使っていないのだが、ちょっと行ってみた。 基調講演 - Georg Brandl Python3.2と3.3のリリースマネージャのGeorg Brandiさんによる基調講演。3.3の内容と3.4移行の内容の紹介、あと、Georg Brandlさんは現在大学で物理学を学んでいて、素粒子…

pyenvをインストール

最近pythonbrewはどうなっているのかなと思ってgithub見てみると This project is no longer under active development. You are encouraged to try out pyenv instead. utahta/pythonbrew · GitHub> となっていたので、pyenvをインストールしてみることにし…

pythonbrew

utahta/pythonbrew - GitHub pythonにおけるrubyのrvm、perlのperlbrewみたいなもの。他にもvirtualenvとかあるけど、プロジェクトごとに環境を作りたいというわけではなく、異なるバージョンのPythonをちょっと試したい場合はこっちの方がよいかな

Pythonのlambda

Pythonのlambdaは式しか書けないことを知った. lambda_form ::= "lambda" [parameter_list]: expression old_lambda_form ::= "lambda" [parameter_list]: old_expression(略) Note that functions created with lambda forms cannot contain statements. 5…

python3000のround

Pythonのround関数にバグらしきものを見つけたよ、という報告です。下記は僕のMacBookでの実行結果です。 $ python -c 'x=9007199254740991.0; print "%.19f\n%.19f" % (x, round(x))' 9007199254740991.0000000000000000000 9007199254740992.0000000000000…

moinのparserにpygmentsを用いる

moinのsyntax highlightがデフォルトで対応している言語が少ないのでpygmentsを入れてみた.この文書のままやったら素直にできた.pygmentsというのはpythonで書かれたシンタックスハイライトツールで多様な言語に対応している.ubuntuだとパッケージがある…

pythonのインデント

pythonはインデントでブロックを表現できるところが格好いいと思っていたんだけども,逆にいえばブロックを閉じるところを明示的に表現していないので,インデントが一意に決まらないのだなと.他の言語と同様にindent-regionとかやって変なインデントをされ…