iso tank - プログラムな?話

Pythonいじり

なんだか暇なので、レスポンスヘッダ表示装置を国際化ドメイン名に対応させてみた。

作るにあたって色んな国際化ドメイン名を調べてみたけど、中国とか台湾とかやたら多いのな。

あと下記はhttplibライブラリの例外クラスの引数のメモ。どこにも書いてなかったからさ。

httplib.InvalidURL
引数の持つプロパティ:message
httplib.NotConnected
引数の持つプロパティ:message
httplib.UnknownProtocol
引数の持つプロパティ:message, version
httplib.IllegalKeywordArgument
※なぜかraiseしただけでInternalServerErrorになるなーと思ったらPython 2.6.2にはない例外だった。
SourceForge参照。
httplib.UnknownTransferEncoding
引数の持つプロパティ:message
httplib.UnimplementedFileMode
引数の持つプロパティ:message
httplib.IncompleteRead
引数の持つプロパティ:message, expected, partial
httplib.CannotSendRequest
引数の持つプロパティ:message
httplib.CannotSendHeader
引数の持つプロパティ:message
httplib.ResponseNotReady
引数の持つプロパティ:message
httplib.ImproperConnectionState
CannotSendRequest、CannotSendHeader、ResponseNotReadyの親クラス。
引数の持つプロパティ:message
httplib.BadStatusLine
引数の持つプロパティ:message, line
httplib.HTTPException
httplib下の例外クラスすべての祖。
引数の持つプロパティ:message

Pythonのお勉強

Pythonのお勉強の一環でレスポンスヘッダを表示するスクリプトを自作してみた。

なんだかんだ他のサイトにもあるけど広告とか不要なものとかがウザかったので。作ろうと思ってからだいたい1日でできあがった。何かをやろうとして完成するまでの現在最速記録なんじゃないかな。えっへん。

新たな問題

前回非常に困ったことになったわけだが、とりあえず別フレーム(leftとか)からスクリプトを呼び出して メインのフレーム(mainとか)のhtmlを書き換える方法に成功したのでまずこの回避策でやっていくことにした。

で、$(function(){})はdocument読み込み時にしか(つまりleftを読み込まないと)動作しないので、mainのページだけで遷移すると イベントを取得できない、つまり書き換えができない。なのでmainを読み込んだら同時にleftも読み込めよという命令をmainの方に入れた。 そしたら全体を更新するとleftを2回呼んじゃうんだよね。効率悪いけど仕方ないよね。

で、

新たな問題。jQuery.ajaxを使ったスクリプトでcache:falseにしていると、ページを再読込してスクリプトを実行するたびに呼び出すxmlファイルのデータサイズ分だけメモリ使用量が肥大化していくことが判明。 たぶんIE6とか古いブラウザ限定で発生するようだ。ChromeとかIE8では再現しなかった。メモリリーク・・・というのだろうか?

とりあえず、IE6の人がいたらこのテストページを開いて、タスクマネージャとかそういうメモリ監視するツールとにらめっこしてみてほしい。 たぶんページを更新するたびに1MBぐらいずつ使用メモリが増えていく。

助けてください。本気で。

俺にプログラミングその他を教えてくれ。できたら今直面している問題を解決して。

ブラウザ:
ソフトウェアベンダーが独自開発したアプリケーションに載っている、これまたベンダー独自開発のIEコンポーネントブラウザ。 ちなみにインストールされているIEのバージョンは6あたり
俺が作ろうとしたプログラム:
jQueryを利用した小さなプログラム。その日の日直や宿直を表示する。
現象:
$.ajaxで、success: function(foo){var(foo)}とすると、その関数は正常に完了するが、そのページでPDFを開こうとするとIEのスクリプトエラーが発生。 「インターフェイスがサポートされていません」と出る。が、そのまま続行するとPDFは普通に開ける。htmlは何のエラーもなく開ける。
サイト:
いまだに<frameset>とか<frame>とか使ってるうんこな内部用サイト。
今のところ判明していること:
  • たとえばjQueryを使わずに”document.write("Hello, World!");”とかすると普通に表示される。 なので発生のタイミングはおそらくjQueryでデータの読み取りに成功して関数が呼び出された直後から。
  • コマンドプロンプトで”regsvr32 urlmon.dll”を実行してからアプリケーションを再起動すると、エラーなくPDFが開けるようになる。 でもPC再起動するとまたエラー発生。
  • うんこなフレームを使ってるサイトなので、ためしにpdfを別ページに開くように”target=_top”とかしたらうまくいった。 どうやらこのプログラムを呼び出しているページにpdfを呼び出そうとすると?エラーが起こるらしい。他のページに移動とかしたが状況まったく同じ。
とりあえずどうしよう:
  • PCにWindowsUpdateをかけてIE近辺のプログラムを更新すれば直るかもしれないが、下手に更新かけてシステムに悪影響が出たらかなり困る。主に俺が死ぬ。 あと作ったプログラムが余計に動くなったらやっぱり俺が悲しみで死ぬ。だいたいプログラム一個の都合でシステムを更新するってどうよ。ねぇ。
  • 日直や宿直を表示する部分をフレーム分けてさらに別ページにしようかと思ったがレイアウト的にカオスになるので困っちゃん。
  • つまりスクリプトを呼び出しているページにPDFを呼び出さなきゃいいわけだから、<frameset>とか<frame>とか書いちゃってるindex.htmlで スクリプトを呼び出して、つまりいわゆるleft.htmlだとかright.htmlだとかいうところの日直表示テーブルを更新できないかとか。 なんかその類のHPを見ると色々方法書いてるんだけど、なぜかうまくいかない。getElementsByTagNameはなにも返さないしcontentWindowも働いていないかも。 しかもそれがjQueryになるとどうすればいいのかもっとわからない。

とりあえず仙台のヨドバシ行ってjQueryの本とajaxの本を買ってきた。今日家帰ったら読んではみるけどこんなピンポイントな解決方法書いてるわけないだろ。

PC、爆発しなさい。

あ、家のPCは爆発しちゃだめだからね。

Google Chrome Extensions

http://d.hatena.ne.jp/os0x/20090625/1245949133

おいらは Google Chrome を使っている。友人に言わせるとなんか色々とHTMLとかCSSとかの対応が悪いらしくて、いまいちらしいけども、今のところとりあえず問題のあるサイトには巡り会ってない。

あ。そういやYahoo! コミックだかが確かChromeだと見れなかったかな?

でまあ、最近Chromeの開発版に、ユーザーが作成した拡張プログラムを追加できる機能が実装された。これはようするにFirefoxのアドオン機能と同じようなもの。

でまあ、なんかほしいもの、作れるモノなら作ってみたいモノをポコポコ思いついたので忘れないうちにリストアップしとく。

  • タブを非表示にする機能。Windowsのタスクバーの「自動的に隠す」みたいにできたり、もしくはまるっきり非表示にできたらいいなあ
  • 特定のタブだけを非表示にする機能。ショートカットキーで復帰できるとか作れないかなあ
  • Chrome上で動く2chブラウザ(Firefoxでいうchaikaとかbbs2chreaderとかmoz2chのようなもの)が作れたらいいなぁ。おいらでも作れるかなあ
  • FirefoxのアドオンをそのまんまChromeで動かせたらすごいと思う

どう考えてもダメ社会人です。ほんとうにありがとうございました。