InfoQ Software Architects' Newsletter A monthly overview of things you need to know as an architect or aspiring architects. View an example Memorial Day Sale: Save up to 60% on InfoQ Dev Summit Boston (June 24-25)
実を言うと、そこは、私が本によって全てをするために私たちに時間と予算を実際に与えてくれて仕事をした始めての会社でした。私たちは、いかなる弁解もしませんでした。しかし、本にあることだけでは足りないとき、あなたはどうしますか? 様々なスケーラビリティ 結局、秒単位のリクエストだけがスケーラビリティの側面ではないということがわかります。私たちが身にしみて知った他の側面は、以下のとおりです。 メッセージサイズ リクエスト毎のCPU利用率 リクエスト毎のメモリ利用率 リクエスト毎のIO(とネットワーク)利用率 リクエスト毎の総処理時間 メッセージサイズは、その他全ての側面において大きな影響を及ぼすものと思われます。メッセージが大きくなるにつれ、それらをデシリアライズするためのCPU、結果のデータを保持するためのメモリー、データーベースとのやり取りをするデータを得るためのネットワークやIOがより一層必
私の好みは、ほとんどすべての場合、構文の柔軟性が高い言語に基づいた内部DSLに取り組むことです。私は、ほぼ例外なくCLRで作業する傾向があるため、このプラットフォームで動作するホスト言語の使用を望みます。それにより、骨を折って得たCLRに関する知識の多くを再利用できます。この利点を過小評価しないでください。手近に馴染みのある環境を持つことは、極めて重要です。 言語について掘り下げる前に、まず「構文の柔軟性が高い言語」とは一体何でしょうか? 内部DSLに適したホスティング環境を提供するために、言語にはどのような機能が必要でしょうか? 私には自分の考えを示すために適切な手段が必要です。意図的に名前を明らかにし、ドメイン特化の概念を表現し、そして一般に汎用プログラミング言語のアプローチから離れることで、これを達成できます。あなたは第四世代言語(4GL)を作成し、それを容易に行えるようになることを
あなたは、平均的なポーカーのプレイヤーを打ち負かすようなコンピュータプログラムを設計する事は出来ます。基本的なルールに従えば、あなたの勝利は保証されます。しかし今日に至るまで、最高のポーカープレイヤーを打ち負かせるようなプログラムは存在しません。これは、高いレベルのポーカーは芸術に等しいからです。もちろん、ソフトウェア開発についても同じ事が言えます。平均的な開発者になるためには、ベストプラクティスのカタログさえあれば十分です。そのクックブックに従えば、平均的なアプリケーションを作れる事がほぼ保証されます。正直なところ、その平均的なアプリケーションと言うのは、ほとんどの場合一般的なものよりも優れています。多くのプロジェクトは失敗に終わっており、多くのマネージャーは、平均的なアプリケーションに対して喜んでお金を支払うのではないかと私は信じています。 .もちろん、より高い基準を設けるマネージャー
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ページを開く