Dropbox

Python と SQlite3 の組み合わせは良いかも

Pyhton使いの人には今更な話ではありますが、、、

とあるアプリーケーションの都合でSQLeit3のデータベースを作り込むことになり、 最初は手慣れたPerlを使うつもりでした。ところが私の開発環境であるMac OS X Leopard上でCPANがうまく動かず必要なモジュールが組み込めませんでした(ソースを取ってきてもperl Makefile.plでエラー、CPANの不具合と根は同じかも)。で、調べてみると最近のPythonには標準でSQLite3のモジュールが付いているとのこと。因みにPythonはMac OS Xに標準で組み込まれています。

斯くして、にわかPythonプログラマーは誕生しました。といっても、テキストファイルを読み込み必要な部分を切り出してSQLite3のDBに仕立てるだけなので、サンプルコードに手を少しいれただけで出来上がりました。

もともとS60でのPythonが元気が良くて興味を持っていたのでPythonチュートリアルという教科書を一つだけ持っていました。これも、軽く流した程度です(訳者まえがきに、読者のレベルにより、どの辺りを読めば良いかのガイドがあるのが親切です)。後はグーグル先生のおかげで必要な情報は得られました。まだ、自分の必要とした部分しか資料も読んでいませんが、それがスクリプト言語らしい使い方かもしれません。

SQLiteも手軽で良いです。ちゃんとしたSQLが使えますが、他のDBエンジンと違いサーバーが動いているわけではありません。Pythonなどの処理系の中だけで動くものです。それだけに単独で使用する場合には余計な手間が必要なくお手軽に使えます。有る程度まとまったデータを保管するときに、今までだとフォーマットを工夫して自前でファイルに保管していましたがSQLiteを使うとコード量がかなり減らせそうな気がします。

余談ですが、Pythonチュートリアルの表紙の蛇の絵が家内に不評で表紙を裏返して使っています。

遅ればせながら+J V1.10をNokia E90で試してみました。

やはりE90の開閉動作に連動して入力モードが変わるのは便利です。やっと、これで使う気になってきました。10キーを使用した5タッチ入力で時間がたつと文字が固定されるのもNokia機の通常動作と同じなので、とても良いです。

フルキーボードでの「かな入力」へのショートカットがCtrl+Kに変わっているので最初はとまどいましたが、すぐに慣れました。これは、おそらくE61でのNumキーの呪縛を回避するためなのでしょうね。

E90の言語を「中国簡体字」にしたときに句読点および長音が入力できない問題は直っていません。Ctrl+Iで記号一覧を表示すれば入力できる。通常は「英語」にしているので、ガマンできる範囲です。

Mac Mini Fan Control Cable

Mac miniを入手して一ヶ月強になります。ファンの音が大きいとずっと思っていました。最初からなので、異常なのかどうか分からずに使い続けていました。しかし部屋の温度や、負荷にかかわらずファンの音に変化がありません(もっと、はよ気付けよな>自分)。

まずは計測から、ということでFan Controlというソフトを導入しました(役に立ったので、早速お布施しました)。 温度(おそらくCPUコア)が30度台でファンの回転数は5500rpmでした。 5500回転というのは最大回転数みたいです。回転数や温度は正しく取れているみたいなのでファンの制御が出来ないという事だと分かりました。

実は、このMac miniは入手して直ぐに自分でメモリーの増設とHDDの換装を行っています。その時に何かしでかした可能性が大ということで、もう一度蓋を開けてみます。ファンの周りを見回したところ上の写真のようにコネクターが外れていました。このコネクターは、自分で外したわけではなくてドライブ類のマウントされている部分を外すときに勝手に外れてしまったものです。そのために接続するのを忘れてしまいました。一ヶ月フル回転させたファンの寿命は確実に短くなっているでしょうね。うーむ。

Google Analytics を eZPublish に設置

このブログとは別のドメインにeZ PublishというCMSで構築したwebページを持っています。最初eZPublishに何かしら統計情報を提供する機能が有る物と思っていたのですが、どこを探してもそれらしい物がありません。

それならば後付で何かしら設置するしかありません。単純なカウンターでも良いのですがeZPublishはPHPで書かれており各ページはダイナミックに生成されています。ページ毎のデータを取得するには、一般的なカウンターでは難しく何かしら自分で一工夫する必要があります。そこで思い出したのがGoogle Analyticsです。これならば自動的に詳細なレポートを生成してくれます。

Google Analyticsの詳細については語りません。eZPublishでの設定例のみを書き残しておきます。

Google Analyticsは指定されたJavaScriptのコードを自分のWebページに組み込む必要があります。これをどうやってeZPublishのシステムに組み込めば良いかが問題です。

探してみるとeZPublishのExtensionsにGoogle Analytics用のものがありました。最初は、これを実験用の環境(VMWare下のUbuntu)に導入しましたが、何故だかうまく機能しません。色々とデバッグしているうちにヘッダーを生成しているtemplateファイルがどれだか分かったので、直接JavaScriptのコードをtemplateに書き込んでしまいました。

Google AnalyticsのJavaScriptのコードは古いものと新しい物があります。eZPublishのExtensionを使う方法だと古いコードしか生成してくれません。直接書く方法ならば新しいコードが使えるというメリットがあります。反面、自分でシステムを弄ってしまったので、何かしら将来の更新や設定変更に影響があるかもしれません。

変更するtemplateファイルは extension/ezwebin/design/ezwebin/templates/pagelayout.tpl です。Google AnalyticsのJavaScriptコードの挿入は </head> の直前で良いと思います。

iPhone アプリの開発にあたって読んだ本 Objective-C 2.0

実は、まだ一行もコードは書いていません。そんな状態で何かを人に勧めるなどおこがましいのですがObjective-Cの解説書の紹介です。もっとも選択肢の少ない状態ですので、私がお勧めなどしなくても良いのも事実です(はっきりとブログネタ切れと言え>自分)。

iPhoneとMac OS XのプログラミングにはObjective-Cという物を使います。始める前からC++と違うので面食らうみたいなことは聞かされていました。実際、本を読み始めると頭がくらくらするほどです。 細かいことは書きませんが全く別世界です。

iPhone SDKをダウンロードした人は、おそらくサンプル・プロジェクトを眺める所から始めると思います。ここで有る程度の知識が無いとmainを読むことさえままなりません。とりあえが何かしらObjective-Cのドキュメントを読むことをお勧めします。

ADCのiPhoneのページにもObjective-C: A Primerという文書がありますが、これでは全然足りません。その中にリンクされている”The Objective-C 2.0 Programing Language”くらいを読み通す必要があると思います。これは英語ですしボリュームもかなりあるので、日本語で読める本が楽で良いです。実のところ本屋さんでObjectve-Cに書かれた本は、上の写真のObjective-C 2.0しか見かけませんでしたので他の本との比較は出来ませんが、とても分かりやすい本だと思います。これからiPhoneのプログラムを書こうという人は購入を検討して損はありません。