Home > Latest topics

Latest topics 近況報告

たまに18歳未満の人や心臓の弱い人にはお勧めできない情報が含まれることもあるかもしれない、甘くなくて酸っぱくてしょっぱいチラシの裏。RSSによる簡単な更新情報を利用したりすると、ハッピーになるかも知れませんしそうでないかも知れません。

萌えるふぉくす子さんだば子本制作プロジェクトの動向はもえじら組ブログで。

宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。 以下の特設サイトにて、単行本まんがでわかるLinux シス管系女子の試し読みが可能! シス管系女子って何!? - 「シス管系女子」特設サイト

Page 84/248: « 80 81 82 83 84 85 86 87 88 »

Firefox 3.1ロケーションバーの新機能 - Jul 22, 2008

というわけでXUL/Migemoの方でも対応する事にしました。Trunkではすでに組み込んでありますが、リリースはまだです(やる気がないので)。ちなみに上記エントリで紹介されている隠し設定の値を直接見に行ってるので、設定さえしてあればFirefox 3.0でも動作しますっていうか手元で動作してます。

ロケーションバーまわりの自動テストができるようになってからリリースしたいなあ。

Shibuya.js in Kyoto - Jul 20, 2008

すみません寝坊しました。

自分で納得できる所までUxUを直してからでないと話が始まらないと思って(「なんだプレゼンで喋ってる事は実際にはまだ使えないのか」というガッカリ感が好きじゃない)、手を入れているうちに遅くなってしまい、帰ってからとりあえずご飯食べて、徹夜覚悟でプレゼン資料作りに取りかかったのですが、そこで記憶が途切れています。おそらく「ちょっと休んで再開しよう」とか思って横になったんだと思いますが、そのまま寝入ってしまったようです。

6時台には出発して新幹線に乗る予定だったのに、目が覚めたのはもう9時近くになってからでした。速攻で調べても、東京を出発して京都に着くのは12時ちょうどが限界でそれより早くにはどう頑張っても無理。

「ちょっと長めに時間欲しい」とかほざいて15分を割り当ててもらったのに、そこにぽかーんと穴が開くわけですよ。これはまずい。早く伝えないと、時間を他の人に使ってもらうなり何なりの対処も取れない。しかし参加メンバーの電話番号とか緊急連絡先を把握していなかったので超焦った。古いメールに書かれてた電話番号にダメ元で電話してみたけど繋がらないし、USTREAMで誰かやってないかと検索してみても引っかからないし……って当たり前だ、この時間じゃまだイベント自体始まってすらいない。焦りすぎだ自分。会場に向かう予定の知人にチャット経由で連絡を取れたので伝言をお願いしたりする一方で、発表内容が自動テストの事だから誰かに代わりに自動実行のデモだけしてもらって少しでも穴埋めにしてもらえるようにと思って、途中だったプレゼン資料を適当な所まで作った後、必要なファイル群をZIPで固めて、自動テストの実行手順を付けて関係者に送信。やきもきしながらレスポンスを待ちました。

で、nagayamaさんから連絡があったので、電話で確認しながらとりあえずデモが動く状態までセットアップしてもらい、後のすべてを託しました。その後発表がどうなったかは把握していません。イベント自体つつがなく終わってくれた事を祈るばかりです。

上記のプレゼン+デモ実行用のファイル一式を公開しました

Firefox 3 Hacks - Jul 17, 2008

萌えキャラをという話もありましたが、年齢層の高い複数関係者の反対でボツになりましたというのを見て「ま た P i r o か」とあらぬ疑いをかける人がいそうなので先に言っておきますが、僕は関係者の中では一番最初に反対を表明しましたよ。

あと江村さんに倣って自分も担当章の見出しを晒してみます。

  • 3章 Firefox 3向けの拡張機能開発テクニック
  • #19. 拡張機能開発の基礎
  • #20. 標準ライブラリ「FUEL」を活用する
  • #21. MozStorageでSQLiteデータベースを操作する
  • #22. 履歴とブックマークのデータベース「Places」の正体を知る
  • #23. APIを通じて履歴とブックマークを操作する
  • #24. Placesデータベースへの問い合わせ命令
  • #25. Placesデータベースへの問い合わせ結果を利用する
  • #26. JavaScriptコードモジュール
  • #27. Firefoxに含まれているJavaScriptコードモジュールを使う
  • #28. JavaScript製XPCOMコンポーネントで特殊な処理を実現する
  • #29. 拡張機能を安全に自動更新できるようにする

見出しの数だけ見ると大したことないんですが、ゲラ刷りの目次によると、この章だけで100ページ超えてるみたいです。この見出しの下に大量の小見出しがあるので読みにくさ抜群ですね。校正したくないよう……

UxUの自己テスト - Jul 17, 2008

UxU自己テストを(現実逃避に)ようやく書き始めてみている。今まで無かったのかよって怒られそうだけど……

アサーションのモジュールのテストとかテストケースのテストとか、書いてて頭がこんがらがってくる。

Selenium、Selenium IDE - Jul 16, 2008

試してみた。

SeleniumはWebアプリケーション用のクロスブラウザな自動テストツールで、独自の書式または好みの開発言語でテストケースを書いて、Webアプリケーションの機能テストを行える。Selenium IDEを使うとFirefox上での操作を記録して(何もないところでクリックするという風な操作も記録される)、Selenium用のテストケース(の雛形)まで生成してくれる。

あーこれはいいわー。Webアプリ開発やるなら絶対お勧めだと思う。FirefoxでSelenium IDE使ってテストケース作って、それをエクスポートして他のブラウザでも自動テスト、ということもできるようだし。

ちゃんとドキュメント見てないからよく分かってないけど、ユニットテスト(単体テスト)より機能テスト(結合テスト)に特化してるような気がした。単体テストには別のツールを組み合わせることになるんだろうか。あと当然だけどFirefoxのアドオンの自動テストには使えない。

iMacros - Jul 16, 2008

iMacrosも試してみた。

リンクをクリックしたとかフォームに文字列を入力したとかの操作を記録して再生できるんだけど、これは完全にWebサービスの操作を記録・再生するためだけのものっぽい。アサーションもないようだから自動テスト用には使えないなあ。サーバ側のテストには使えるかもだけど。

MochiKitのテスト機能 - Jul 15, 2008

MochiKit見てみた。

これも基本はやっぱりユニットテストに特化した感じかなあ。少なくともGUIのテストは意識してないか……

仕事でFirefoxの拡張機能をやるという事になったときに最初に須藤さんに「拡張機能のテスト用フレームワークってあるの?」みたいな事を聞かれて、それでMozUnitに辿り着いたんだけど、その時の僕にはまだ自動テストとかテスト駆動開発という物がどういうものかよく分かってなかった(今もまだよく分かってないかもだけど)。今思うと、その時僕が思ってた「自動テストって、こういう事をしなきゃいけないのかな?」というのは、開発者世界の常識的には相当ワガママな要求をイメージしていたようで、普通は「自動テスト」「ユニットテスト」というともっと低レベルの、あくまで部品単位の品質を高める物という認識でよかったみたいだ。それを知らずに僕はSeleniumのGUIアプリ用版みたいなのをイメージしてたから、「そんなの無理ッスよ……」と勝手に諦めムードになってた。とはいえ、その勘違いが無ければここまで意地になってUxUに手を入れまくる事もなかっただろうしなあ。

JsUnit - Jul 15, 2008

JsUnit見てみた。

オンラインの例はFirefox 3で普通に動いたんだけど、ダウンロードしたやつは何故か動かなかった……パスに日本語が含まれてるとダメとかそういうやつ?

見た感じではWebページ用のJavaScript一般のユニットテスト用という感じで、Chrome特権であれこれするやつを、しかもGUI上の動作をテストするという前提では……ないよねえ、やっぱり。

script.aculo.usのユニットテスト機能 - Jul 15, 2008

script.aculo.usのユニットテスト機能を見てみた。

昔、Firefox上でprototype.jsを試してみたことがあるけど、少なくとも当時のバージョンではprototype.jsはObjectのプロトタイプとかにプロパティを追加する仕様だったような気がする。なんか全般的にfor-inループを多用してる部分で影響が出すぎてて、Firefoxの動作自体がぶっ壊れてしまって使い物にならなかった記憶がある。少なくとも今のscript.aculo.usが使ってるバージョンについてはObjectのプロトタイプは触らないようになってるみたいだけど、FunctionやRegExpなどのプロトタイプには変更を加えてるみたいで、ちょっと怖い……気にしすぎだろうか。

肝心のユニットテスト機能について。

  • アサーションが色々ある。アニメーション効果を扱うライブラリってことで、要素が見える状態かどうかとかのためのアサーションもある。
  • ベンチマークを取る機能がある。これパクろうかな。
  • BDD風の記述もできるみたい。
  • 処理待ちについては、setTimeoutを使って一定時間後に渡した関数に処理を移すという機能がある。

Firefox上でも問題なく動くと仮定しても、これを使って拡張機能のテストをやろうとすると結局は「どうやってテストを走らせるのか」「テストの結果をどうやって見るのか」といったあたりは自分で解決しなきゃいけないか……粒度を高めて本当にユニットテストのために使うぶんには十分使えそうなんだけど、いわゆる結合テスト的な所になってくると面倒さが跳ね上がりそう。XULに特化した便利なユーティリティを沢山用意しておくだけでもそれなりにUxU意義はあるのかな。

自分自身が基本的にGUIアプリしか使えない人間なので、script.aculo.usのテスト機能のように「これ使ったらテストができるよ」って機能群をぽんと渡されても、「え? え?」って感じで戸惑ってしまう。何かしら型にはめて「あなたはここだけやればいいですよ」って感じでやるべき事を絞り込んで貰えないと、どうしていいか分からなくなってしまう。そのあたりが、UxUでMozRepl由来の部分を全然使わずにMozUnitの部分ばかり拡張し続けている最大の理由なんだな。

MozLab - Jul 15, 2008

19日のShibuya.js in KyotoでUxUの事を話そうと思ってとりあえずその前に他のツールの現状を調べとこうと思ってUxUの元になったMozLabを見てみたら、ライセンスがMPL/GPL/LGPLのトリプルライセンスになってた。フォーク前のMozLabはGPLだけだったのでUxUもGPLなんだけど、こういう場合ってUxUもトリプルライセンスにできたりするんだろうか、それともあくまでフォーク時点でのライセンスに従う事になるんだろうか。

とりあえず中身見てみたけど、スタックトレースをマトモに辿れないっぽいとことかその辺はあまり変わってなかった。先方はMozReplの開発の方に注力してるってことみたいだなあ。対するUxUはサーバソケットの方はほとんど放置(僕が触れないので)でGUIのテストランナーの方に注力してる。まだ返信できてないけどこないだ会社の代表アドレス宛にMozLab作者の人から「英語版ドキュメント無いの?」的メールが届いてたので、このあたりの事を話してマージの方向を目指してみるべきだろうか?

Page 84/248: « 80 81 82 83 84 85 86 87 88 »

Powered by blosxom 2.0 + starter kit
Home

カテゴリ一覧

過去の記事

1999.2~2005.8

最近のコメント

最近のつぶやき