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

PythonのGlobal Interpreter Lock (GIL) について

Python (CPython) では、インタープリターはひとつしかない。このため、複数のスレッドを走らせた場合、ある時点ではひとつのスレッドしか動かない。このためのスレッド同期機構を、Global Interpreter Lock (GIL) という。PythonでのGIL自体は、1992年の初…

 Pythonのバイトコードまで

PythonスクリプトからPythonのバイトコードまで、どうなっているかを追いかけてみた。 具体的には、Pythonスクリプトから、pycファイルが保存されるまでである。 コマンドラインやスクリプトで実行する場合は以下に相当する # python -m compileall file.py …

Heat/Autoscaling

HeatのAutoScalingは、Ceilometer (Newtonからは、Aodh)のサーバ等の負荷の信号を用いて、スケールさせる。 フローとしては、以下の通り Heat EngineからCeilometerにシグナルを登録 Ceilometerから、Heat_API_CFNに変更を通知 Heat_API_CFNから、Heat Engin…

Python2*3(six)での違い(printの改行)

Pythonの版数が、2から3になったことに伴いprint文の位置づけが、ステートメントから関数に変わっている。このためか改行の方法も、変わっている。 版数違いの互換性を確保するためには、sixを使って動くように直す必要がある。 Six: Python 2 and 3 Compati…

OpenStackでのoslo_service/eventlet/greenlet

OpenStackの各コンポでWSGI (Web Service Gateway Interface) をどう実現しているか?の観点で見ると、eventlet.wsgiを使っている場合が多い。 そして、eventlet.wsgiを効率的に動かすために、Greenletを使っている。なお、Greenletは、C言語拡張モジュールに…

OpenStackでのPythonコーディング規約チェック

OpenStackの場合hackingモジュールでPythonコード規約をチェックする。ただし、個別のコード規約は、モジュール毎のHACKING.rstに記載されている。そして、実際の個別チェックツールもhackingディレクトリにスクリプトがおかれている。出力されるエラーコー…

 深層学習のセミナーにて(学習法とか)

Techfeedさんが開催した深層学習のセミナー(8/10 東京駅近く)にちょっと参加してみた。 TechFeed - Technology-specific information gathering & sharing service. 機械学習を学習する場合、アルゴリズムだけでなく、データも必要であり、どのように調達す…

 PDFファイルの版数変換

PDFファイルの版数変換は、ghostscriptで出来ることを今更ながら知る。なお、Windows版だと、gsの代わりにgswin32を実行すればよい。 Use Ghostscript to convert PDF files | Notes to myself これを知らないと、コンビニでの印刷が出来無かったりと、いろ…

cURLでOpenStackを操作する。

DevStack環境を構築した後、cURLで、OpenStackを操作してみた。これにより、OpenStackでの基本的な認証フローがわかるようになる。 keystoneに接続してtokenを取得する。下が出力例 curl -X POST http://aaa.bbb.ccc.ddd:5000/v2.0/tokens -H "Content-Type:…

FITの燃費

420キロ走行 リッター14.8キロ 葛西臨海公園まで往復する。

FITの燃費

1/30 432.2キロ給油 13.2キロ走行 後ろ側の室内灯T10x31を、交換した。LEDにして、明るくなった。 ほとんどのドアでは反応し点灯するが、後部座席左側のスイッチが入らず点灯しない問題があった。後部座席左側のスイッチのカバーを見直したら直った。 1月2日…