Archive : 2008-04
おとといからBlogのデザインを変更してみている。WordPressとは便利なもので、デザインを規定するる.phpファイルや.cssファイル、イメージファイルなどをパッケージ化して使用するテーマシステムを持っており、前のデザインも現行のデザインも余所様のところで頂いてきたものを使用している。
ただ、どうしてもテーマの作者と自分のスタイルが合わない時もあり、そういう場合は少し手を入れるのだが、やはり他人の作ったテーマ、いちいち読み解くのも面倒で、いっそ一から自作したいなーと思わなくもない。いや、思う。そもそも今のテーマもCodeが上手く表示されないとか、気に入らない点が多いし。(マテコラ)
実際、Web制作系のバイトを始めたおかげで、Fireworksを使える環境も出来たし、春休みのリベンジをここいらでしてみるのも良いのではないかと思い、XHTML+CSS虎の巻を読み返している今日この頃。
- 画像に文字を回り込ませられて
- 適度に文字が大きくて
- CodeをWindowsLiveWriterのプラグイン経由で張り付けられて
- WindowsLiveWriterでのWebプレビューが出来て
- そこそこセンスの良いデザイン(これが一番難しいのだが)
を作りたいなー。
この前XBAPのテストをした時に、あまりにC#を忘れていることに気がついた。さすがにこれではマズいという危機感から、C#の習作をちまちまと作っている。
お題は「ニコニコ動画のコメントAPIを簡単に扱うためのクラスライブラリの制作」。
ブームも去り、激しく今更感のあるお題だが、ニコニコ動画はグリモンスクリプトを書いたり、外部プレーヤーの挙動を解析したりした際に、大分調べたので、リハビリの問題としては適当な大きさだろうし、Web APIを利用するC#プログラムを書くのも良い経験になるだろうとの考えから。
現在はコメントの受信機能の実装が大体終わったところで、次は送信機能の実装が控えている。
コメントの受信についてはPerlでニコニコ動画のflvとコメントxmlをダウンロードする(Yusukebe::Tech)にて詳しい解説があるが、送信については解説が無いので、ライブラリが仕上がった段階でソースコードを公開し,少し解説を試みようかと思う。まぁ、PostKeyの取得方法ぐらいしか解説が必要そうなところはないけど。
で、左上SSはこちらも習作がてら、WPFでそのクラスライブラリで受信した結果を表示するためのデモを作ってみたもの。WPFのListViewコントロールをGridViewモードで使用しているのだが、一つのカラムの中で複数行表示を簡単にできたり、他のコントロール要素を含むことが出来たりと、中々便利そうであった。(ただ、XAMLのデザイナがどうにも非力で、XAMLを直接編集しなければならない場面が何度かあったのには閉口させられたが。)Bindingなど強力そうな機能も備えているようだが、知識不足であまり試せていないのが残念。クラスライブラリが完成したら、エッセンシャルWPFを片手に作り直そうと思う。
SFCの友人から聞くまで知らなかったのだが、慶應のネットワークプリンタのドライバが、いつの間にかにVistaに対応していたので早速導入してみた。
慶應ITCのIPP印刷についての説明ページではXP/2000についての説明しかないが、XP/2000でのドライバのインストール方法についての解説ページからリンクされているRICOHのプリンタドライバの配布サイトでは、なるほど確かにVista対応が明言されている。
ちょっとウィザードがXPとは違っていたので戸惑うところもあったが、無事インストール完了。
これで家PCから印刷キューを送り、学校で印刷できるようになった。はてブで「後で読む」タグを付けて読み残しを管理する代わりに、ガンガン印刷キューを送り、大学との行き帰りの時間に読むという運用を試してみようかと思っている。
最近iKnowがマイブーム。今月の10日あたりから始めたのだが、今日ようやく一つのアイテムが学習完了phaseに移行したので紹介してみる。
iKnowは所謂e-learningサイトで、FlashベースのGUIで、単語・熟語のスペル・意味・発音をひたすら勉強できる。Flashというと、ノロくてモッサリ、というイメージが染みついて離れなかったのだが、これがどうしてサクサク動くので吃驚した。なるほどこれならAIRが騒がれるのも分からなくはない。まぁ、SilverLightとXBAPがある限り、AIRに勝ち目がないと自分は信じているけれども。
前々からよく購読させて頂いていたRadium Software、去年の7月を最後に更新が止まり、残念に思っていたのだが、hatenaで再開されていたのを発見。
やはり面白い。
JANから。
昨年9月シリア領内を奇襲攻撃したイスラエル空軍機の爆撃目標は北朝鮮の支援で建設中の原子炉とCIA(米中央情報局)が断定した。イスラエルが提供した施設内で働く北朝鮮技術者の写真が決め手となった。CIAは議会の有力議員にブリィーフィングを終了した。ホワイトハウス、米国防総省は事実関係に付いて近々中にロバート・ゲーツ国防長官から記者会見で公表する予定。北朝鮮の核開発廃棄を目指す主要6ヶ国協議は現在、暗礁に乗り上げ、解決策を見出せないでいる。北朝鮮がこうした交渉の過程でシリアへの核拡散を謀っていた事が公式に確認された訳で議会、ペンタゴンを中心に対平壌強硬路線が噴き出すのは避けられない。
煽りの強いJANだけだとソースとして不十分かもしれないので朝日からも。
米ホワイトハウスのペリーノ報道官は24日、昨年9月にイスラエルが空爆、破壊したシリア東部の施設は、北朝鮮が支援した建設中の秘密原子炉で、平和目的ではなかったと信じるに足りる情報がある、との声明を出した。米議会からは政権側が意図的に情報を隠してきたと反発の声も出ており、北朝鮮の核開発をめぐる6者協議の行方にも大きな影響を及ぼしそうだ。
さて、どうなる?
先日購入したVisual Studio 2008、そのまま放置しておくのも余りにもったいないので、とりあえず.NET Framework3.0の目玉機能の一つである、WPFを活用したプログラムを習作として作ってみることにした。とはいえ、とりたてて作りたいスタンドアロンアプリケーションがあるわけでもなく、やはりいつものように、アドオン開発をすることにした。ターゲットはLunascape。
Lunascapeのサイドバー(というよりはDockだが)用アドオンを開発するには、
- スクリプトサイドバープラグインフレームワークを利用してJavaScript+XSLTで開発
- C++でゴリゴリ開発
という二通りのアプローチが存在する。前者に必要な知識はWebページ制作技術の延長上にあるのに対し、後者はC++によるWindowsプログラミングの知識が必要になり、難易度も高い。
前にLunascapeプラグインコンテストに出品した作品では、JavaScript+XSLTを使用して開発したのだが、やはりC++でつくられたアドオンに対して表現力、実行速度の面で圧倒的に不利であり、当時からC#でアドオンを開発できればなぁと考えていた。
そこで今回は、かなりトリッキーな方法ではあるが、JavaScript+XSLTでプラグインとしてのベースを作成し、その上にXBAP(WPFアプリをブラウザ上でホストする方法。SilverLightとはまた別)でプラグインとしての機能を実装することにした。
XBAPの作成
新しい技術を試す際は、やはりHello Worldプログラムを作成してみなければ!ということで、早速作ってみる。「WPFブラウザアプリケーション」という項目を選択して新しいプロジェクトを作成し、とりあえず適当にTextBlockを並べた上で、そのイベントで、
private void textBlock1_MouseDown(object sender, MouseButtonEventArgs e) {
FileInfo info = new FileInfo("C:\\Users\\shiroica\\Desktop\\ConfoundApriFoolsDay.user.js");
MessageBox.Show(info.LastAccessTime.ToString());
}
ローカル上のファイルの最終アクセス日時を表示するよう設定。これはセキュリティ機構がどのように働くかをチェックするため。
で、実際にビルドしてみてイベントを発動させてみると、しっかりセキュリティ関係の実行時エラー。WBAPは部分信頼で実行されるらしいから、やはり無理かとも思ったが、プロジェクトのプロパティから完全信頼に設定することで、エラー無しで走らせることができるようになった。
がしかし・・・
LunascapeのサイドバーのなかにうまくXBAPがホストできない><。なんでー?
このprojectはまた今度・・・。
追記
サイドバーの中はインターネットゾーン扱いの筈だから、それで完全信頼を必要とするXBAPが動かなかった気がしてきた。
村上春樹の「世界の終りとハードボイルド・ワンダーランド」を読んだ。初の村上春樹作品体験。正直よくわかりません><。
まとまった時間が取れなかったので、電車の中で一章づつ、細切れに読んだのが悪かったのだろうか。細かく表現を味わいながら読むのではなく、ざっと筋を追う読み方をしてしまっていた。悔しいのでそのうち時間が出来たら読みなおそうと思う。
世間ではGoogle App Engineが流行りのようだが、キャッチアップの終わっていない自分は、このBlogにGoogle Analysisを設置して遊んでいる。アクセス数自体が多くないので、アクセスユーザーのブラウザシェアの傾向等を見ても有意なデータは得られないのだが、それでもアクセス元を地図上にマッピングする機能などを覗いていると中々面白い。どういうつながりで迷い込んできたのか分からないが、何故かイタリアのベルガモという地方都市からアクセスが迷い込んでいたりもしている。このようなデータを実際に目の当たりにしてみると、地理的な隔絶を容易に乗り越えることのできるインターネットという利器の力に、改めて驚嘆せざるを得ない。
GoogleAnalysis、高性能アクセス解析を設置していないBlog主の方は是非お試しを。