BlazeDSとAMFでWebとデスクトップのアプリケーションを構築する
現在のRIAアーキテクチャにおいて、クライアント/サーバーの通信は重要な位置を占めています。本稿では、James WardとShashank TiwariがアドビによるオープンソースのBlazeDSメッセージングサーバーの世界へ飛び込みます。
- Java,
作者 Sadek Drobi, 翻訳者 編集部 投稿日 2008年2月20日 午前6時14分
コードをより読みやすく明確にしたいか?Reg Braithwaite氏は、プログラミングイディオムの適切な選択はその目標達成の手段になりえると信じている。望んでいる結果を得るには、しばしばさ まざまな方法があり、その選択は無作為であってはならないと強調する。コードのインテントがビルド中のような、最も明白な方法で示すツールを選択するべき である(ブログ・英語)。たとえば、構文の選択にはコードのインテントについての有益な情報を盛り込むことが可能である。
ここで、Rubyのブロックを検討してみる。人によってはブロックが複数行を必要としている場合、do...endを使用し、それが1行でおさまる場合、 { … } を使用する。有名(AFAIK)かつ優れた考えは、主に副作用のために実行されているブロックと戻り値のために実行されているブロック間の曖昧さを、 do..endおよび{…}を使用して、取り除くことである。
foo.map { |x|
# I care about the result
}
foo.each do |x|
# I care about the side effects
endもちろんコンピュータは気にしないが、追加の情報を信号で送る。主に副作用に興味がある場合もあれば、結果に興味がある場合もあるという事実の情報である。
Braithwaite氏は、このアプローチは構文イディオムに制限されるのではなく、パラダイムにまで拡大することができると信じている。たとえば、 Rubyのような言語によっては、「言語がサポートする完全に違う考え方が存在する」。これは、実現しようとしているものに最もよく合致するパラダイムか らイディオムを借用することで、インテントを宣言する手段として使用することができる。
機能的なことを機能的に見せることで、結果を求めた計算を正確に実行しているということをはっきりと伝えることができる。forやwhileのような命令 構文を使用する際は、 変数を変化させたり、他の副作用を発生させるための時間をあらかじめ取っておく必要がある。[…] 同様に、実世界でエンティティーをモデリングしているときや、長期間持続的な状態が必要なとき、オブジェクト指向はすばらしいパラダイムとなるか? Rubyのような言語は、陰でオブジェクトを使用する必要があるが、仲間にエンティティが関わっていることを伝えようとする場合を除いて、コードはオブ ジェクト指向であるべきではない。
ときにはパラダイムの選択がこの種の決まりごとのため、パフォーマンスの要求によって課せられることは明らかであるが、可能な限りプログラマーにさらに情報を提供するようにしてコードを読みやすく表現に富んだものとする。
文書化されておらず、未検証の決まりごとを使ってはさらに混乱を招くだけだ、と論じる者もなかにはいる。しかしながらReg氏は、どんなプロジェクトにも プログラミング上のある種の決まりごとはあると言う。たとえば、Bang!メソッドの名前を使用して状態の変化を示す(sort vs. sort!)ことなどである。また、必要に応じて規定された決まりごとを文書化することを妨げるものは何もないと彼は言う。
インテントを宣言する信号や手段としてイディオムを使用することについて、どう考えるか?
原文はこちらです:http://www.infoq.com/news/2008/02/idioms-as-signals
現在のRIAアーキテクチャにおいて、クライアント/サーバーの通信は重要な位置を占めています。本稿では、James WardとShashank TiwariがアドビによるオープンソースのBlazeDSメッセージングサーバーの世界へ飛び込みます。
ウィルス対策ソフトや情報漏えい防止用のソフトは、いわば影の存在です。ユーザの操作性やGUIを工夫する以上に、いかに目立たない存在となるかにその技術を注ぎ込んでいます。ここでは日立ソフトが開発した「秘文」の事例を紹介します。
Google Chartは、チャートを作成するためのWebサービスです。本稿では、Google Chartのインターフェースと、Rubyコードから簡単にチャートを生成することができるgchartrbライブラリの説明をします。
全二回からなるこの記事では、ダイナミックビジネスアプリケーション(Dynamic Business Applications:DBAs)の開発についての全体的な眺望を、アーキテクチャと方法論の観点から見ていくことになります。我々のゴールは、「ビジネスの変化や、その他に必要とされる変更に対して、いかにして容易に適応できるアプリケーションを構築していくか」を導きだすことです。
本稿では、Adrien Louis氏がESBベースのSOAに対する2つの接続形態についての賛否について説明しています。その2つとは、会社での単一のESB対「部門毎」に相互接続するESBによるシステムです。
誕生から2年を経てCometは「何が出来るのか」という議論から、「いかに実現するか」という議論に関心が移ってきたように見えます。そこで本稿では同じくJavaOneで数多く取り上げられたNetBeans 6.1とGlassFish v3を使いながら、サンプルを交えてCometを解説していく事にします。
この記事では、WSS3とMOSS 2007に難しい設定など一切せず、すぐに利用可能なWebサービスと、Javaと.NETからそのWebサービスを消費する方法に目を向けます。
この記事の始まりは、知的で思慮深い人たちの魅力的なグループが食事会を終えて話をしているところです。話はレトロスペクティブ(振り返り)プロセスの要であるプライムディレクティブ(最初の指示)に及んでいます。
No comments
返信