Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。この本では、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...
Rubyに人気があるため、Ruby on RailsやMerb、CampingといったWebフレームワークが誕生した。Wavesという新しいWebフレームワークが最近リリースされたが、 Ruby開発者が興味を持って試してみようと思うような特徴が、Wavesにはある。 WavesはRuby on RailsのようにMVCフレームワークであり、Request Lambda(source)と呼ばれるものを使うが、各マッピングはルールとブロックで構成されている。ルールが要求と一致すると、そのブロックが実行される。 Wavesに独特な特徴の1つである。 Wavesのこの他の優れた特徴には以下が挙げられる。 真のコード再ローディング ホットパッチング クラスタのサポート スレッド・セーフティ InfoQは、Wavesの開発者Dan YoderとWavesについて話す機会を得た。 Robert Bazi
Peter Ritchie氏は、TDD(source)やBDD(source)にこだわることで、良いユニットテストを書かなくなる傾向があるのではないか、という懸念を表明した(source)。特に「インタラクションテスト(interaction testing)」というマントラは、不完全なユニットテスト、すなわち、どのような条件下で利用されても稼働するユニット(オブジェクト)である、という証明ができていないテストをもたらすと述べている。Peter氏の考えで最も興味深いのは、TDDとBDDのそもそもの意図に対する反対意見と受け取れるところだ。 Peter氏の根底にあるのは、クラスの概念は現実世界の概念とは独立した抽象化の仕組みだということだ。これに従えば、良いユニットテスト(source) とは こうした現実世界とは独立しているクラスを検証することである。この考えは、以下のように、TDDとBD
最近、Scrum開発 のユーザグループ(source)で、「顧客はアジャイルプロジェクトの成功をどのように測定するか」という問いに答えようとする興味深い議論があった。ここで重要なのは、「測定する」ということだ。この議論では、顧客の観点からの成功を測定することは重要であり、その実施にはさまざまな方法があるということで意見の一致が得られているようだ。最も良い測定方法は、状況と顧客によって異なるだろう。 従来の開発手法には、確かな評価指標があった。例えば、品質指標 (リリースごとの障害数など)、スケジュール指標 (実際の人日と見積の差、納品までのマイルストーンの達成度など)、コスト指標 (予算と実際のコスト) などである。 しかし、多くのアジャイル開発組織が、指標を収集したり、それらをプロジェクト全体に報告したりすることを苦手としていることはよく知られている。アジャイル開発組織は、チェックスタイ
Shoal(source)はJavaEE アプリケーションサーバー向けの動的クラスタリングJavaフレームワークで、フォールトトレランス(障害耐性)・信頼性・可用性のあるインフラの構築を可能にする。Shoalはクラスタリングや分散システムの機能が求められるどんなJavaアプリケーションにも適用ができ、GlassFish(サイト・英語)(v2以降)やJOnAS(サイト・英語)アプリケーションサーバーのクラスタリングエンジンとしても採用されている。 Shoal フレームワークはクラスタメンバの追加や削除などのイベントをリアルタイムに発信するためのクライアント用APIを提供する。クラスタメンバをグループへ追加する際、それをCoreメンバあるいはSpectator(観客)メンバのどちらかに指定できる。Coreメンバはそのエラーがクラスタ内の全てのメンバに通知され、Spectatorメンバではそれ自
There are advantages and disadvantages to using Java for creation of DSLs. In the end, your business needs and the environment you work in will determine whether it is the right choice for you. Java as a platform for internal DSLs Dynamically constructing SQL is a great example where building a "DSL"appropriate to the domain of SQL is a compelling advantage. Traditional Java code that uses SQL wou
最近、Maven(サイト・英語)の実用性についてたくさんの論議がなされている。MavenとはJavaベースの依存性管理ツールのことで、多くのプロジェクトで利用されている。InfoQは、問題の争点が何であるか、またどういった結果をもたらすのかを理解するために、この議論をより詳しく調査した。 Apache Tapestry(サイト・英語)とApache HiveMind(サイト・英語)の生みの親であるHoward Lewis Ship(source)は最近、彼の携わっているプロジェクトがMavenを使っていて遭遇した、いくつかの問題についてブログエントリを投稿した(source)。 EclipseとIDEAの双方において、Mavenは非常に遅く、バグが多く、そのうえ不安定でした。IDEA7は同期が明示的に行われるので、Eclipse(とMavenプラグイン0.0.12)よりは多少ましです。それ
顧客が間に合わせのソリューションを求める場合、開発者の責任は何か? 結局は顧客が支払いをするのだから、顧客の言うことを聞いて近道をすべきか? それとも、開発者は自分の考えで技術的に「最適な」選択肢であることを常に行うべきか? それとも、中間の妥協点があるだろうか? James Shore氏は、「Our Professional Responsibility(source)」で、顧客/開発者のバランスに関する簡単な歴史を紹介している。 *ウォーターフォール開発の古き悪しき時代には、プログラマは、要件を理解し、デザインを作成し、技術的に最も便利な方法でデザインを実装していました。プログラマは王でした。プランは完全にプログラマによって作成されていました。または、プログラマの上司が締め切りを設定し (おそらく、政治的圧力、またはJoltを伴う週末にプログラムできたことについての美化された思い出がそ
function backgroundLoad ( ids ) { for ( var i=0; i < ids.length; i++ ) { var a = getArticleWithCache(ids[i]); backgroundLoad(a.children); } } このbackgroundLoadはIDの配列を引数に取り、その各IDに対して上で定義したgetArticleWithCacheを呼び出します。これでIDに対応する記事のデータがキャッシュされます。そして読み込んだ記事の子記事のIDに対してbackgroundLoadを再帰的に呼び出すことで、ツリー全体をキャッシュすることができます。 ここまですべてうまくいっているように見えます。しかし、一度でもAjax開発を経験したことのある方ならば、これではうまくいかないということはすでにおわかりだと思います。これまでの例で
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く