ページ

2009年6月23日

MSのすてきなセキュリティ向上手法

MSのIE8ですが、httpsのサイトの中にiframeとかでhttpのサイトが表示すると、セキュリティの警告がでます。警告が出ること自体はIE6や7など昔からある機能です。でも、IE8の警告は以前のものとはちょっと違います。

セキュリティで保護されたWebページコンテンツのみを表示しますか?
と聞かれて「はい」「いいえ」の選択肢があります。IE6や7は似たようなメッセージがでて「はい」を押すと表示されました。無意識にIE8でも「はい」を押しても何も表示されません。以前はセキュリティで保護されていないページも表示するか聞いてきていて、IE8からはセキュリティで保護されたページだけを表示するか聞いてきて、微妙に変わっています。

あまり、「いいえ」をおすことはないので、セキュリティの向上させるためにいい手かも知れません。でも、ほとんどの人がこんな微妙な表現の違いは認識できないような・・・。僕は一時間ぐらいかかりました。

2009年6月17日

結局、Emacsを隠れて使っている・・・

Emacsの悪口を言い回っていて、自分は使っていないふりをしています。でも、こっそり使ってしまいます。Javaのコードを書くときはEclipse以外ありえないのですが、Pythonのコードを書くときはKomodo Editを使います。この人はなかなか気に入っています。でも、この人、プロジェクト内のファイルならアクセスしやすいのですが、参照するというか、フレームワークのコードを読むというときにはちょっと不便です。テキストエディタとしてCotEditorをつかっていますが、これは日本語の書き物をしたり、ちょっと読むときに使うだけです。沢山のファイルを一気に開いて読むというのには使いにくいです。

そして、沢山のファイルを開いてコードを読んだりするのが、結局昔使っていたEmacsになっちゃったりします。使うときは見つからないようにしていますが。Emacsって、すくなくともファイルを開くのが他のエディタより簡単で、しかもキーボードから手を離さなくてもいいのがいいです。ただ、昔と違ってEmacsでコードを書いたり、デバッグしたりということはほとんどなくなりました。

2009年6月11日

iPhone OS 3.0のGM

数ヶ月前に会社の同僚をそそのかして、iPhone OS 3.0のβ版を入れさせていました。β版じゃなくってGM(Gold Master)版がでたので、早速入れてもらいました。GMだと、まだ、テザリングが使えているらしいです。僕は臆病者なので、普通に手に入るまでまちますが、テザリングは本当は使えるんでしょうか?使えるんだったら新しいiPhoneにしてもいいかな。

wxWidgetsでTwisted

Twistedという非同期IOフレームワークは恐ろしいことにselect/pollだけじゃなくって、Window sのイベントループで処理したり、それ以外のGUIのフレームワークのイベントモデルを使ったりできます。簡単に言うとGUIとの親和性が高いフレームワークです。でも、実際にWindowsのイベントルールを使ったことはありましたが、wxWidgetsを初めて使いました。どきどき。

コード自体は単純で、

from wx import wx
from twisted.internet import wxreactor
wxreactor.install()
from twisted.internet import reactor

class MyApp(wx.App):
いろいろ

app = MyApp(0)
reactor.registerWxApp(app)
reactor.run()

見たいで動きます。wx.MainLoop()は使わないんですね。さて、これで、メニューの終了とかでアプリケーションを終了させるためにFrame.Close()を呼んでもreactor.stop()を呼んでも終わってくれません。遠い彼方の記憶によると、wxのreactorはこっそり別のスレッドで動いているとかだったような気もしたので、reactor.callLater(0, reactor.stop)として、コールバックを登録してそのコールバックの中でreactorを止めるようにしたらちゃんと動き増した。なるほどです。

2009年6月5日

wxGladeは・・・

wxGladeを使ってみました。GUIで、配置・設定できるウィジェットの数が少ないです。まあ、必要最小限のものはそろっていますが。GUIでぺたぺた貼付けて、ぽちぽち設定をして、とりあえず、Pythonのコードを生成しました。動かない・・・。なんだか、途中で間違って設定したものの状態を覚えているようです。なおりません。しかたないので、生成した方のコードを直せば動きます。あたりまえか。それ以外にもwxGlade落ちるし・・。

wxFormBuilderというのがいて、この人もwxGladeみたいなことができます。こっちの方がUIはすっきりしていて好きです。また、サポートしているウィジェットの数も多いです。でも、こっちはPythonのコードは生成できません。C++だけです。

wxWidgetsでXMLの情報からGUIを構築できたような気がしたので、調べてみるとXRCというのがそのフォーマットらしいです。wxPythonからも使えます。PythonのコードをwxGladeで生成しても、結構見にくいし、GUIを変更したらソースコードも上書きされちゃたりするし、メンテナンス性がわるいです。なので、ここはXRCでいきます。ふふん。そうすれば、ソースコードはロジックに専念できるし、グラフィカルなものはXMLに追いやって、メンテナンスはGUIでごにょごにょできます。便利そうです。
なので、それでいきます。ちなみに、XRCはwxGladeもwxFormBuilderでも生成できます。

2009年6月4日

2009年6月3日

pyOpenSSLをMacに入れた

うしみつどきにいじっていたらpyOenSSLがMacにインストールされていないことが発覚しました。自分でビルドするのがめんどうなお年頃なので、Googleさまにお伺いをたてて(pyOpenSSL + Mac)みると、ここにお告げがありました。

なので、sudo python setup.py installでインストールして使ってみようとすると/usr/local/ssh/libにlibcryptoとlibsslがないとお怒りになります。この人たちはsite-packageのOpenSSLの下にいます。配置場所を間違っている・・・。しかたないので、自分でビルドした方がいいのかなー、と思いつつ、シンボリックリンクをはって動きました。うー。

ひとりごと

twistedベースのAPIのラッパーでけた。APIでの結果が今は文字列のままなので、それをパースして、オブジェクトにしてあげるのをやる。APIのラッパーよりそっちの方が大変そう。もしくは、feedparserに食わせちゃうか。あと、XMLパーサにくわせるか。

それが終わったら、データベースに保存してあげる。SQLAlchemy使えばとりあえずはいいか?SQLObjectでもいいけど。

それが終わればwxだ。wxGladeつかえば、簡単にUIつくれるんだったかな?


2009年6月1日

wxWidgetsをダウンロードした

久しぶりにwxWidgetsをダウンロードししました。正確にはwxPythonです。もう少し正確にはMac版です。さらに正確には、unicode版です。wxQTを使おうかと思ったのですが、新しいものを覚えるより過去の知識(まあ忘れてしまいましたが)がいかせた方がいいかも、とか、思ったりする訳です。まさに、おじさん化です。だめですね。

さて、インストールをして準備ができたので、とあるものを作ります。全く意味不明です。
でわでわ。