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が最近リリースされ、重要な変...
原文(投稿日:2012/05/25)へのリンク DRYは重複とそれに伴うメンテナンスの問題を軽減するものだが、誤用すると密結合を生み、可読性を損うおそれがある。教訓:ソフトウェア開発原則は、ほかの原則やパターン、プラクティスを考慮して適用しなくてはならない。 DRYは Don’t Repeat Yourself の略語であり、Andy Hunt氏とDave Thomas氏が書籍「The Pragmatic Programmer: From Journeyman to Master」(邦訳:「達人プログラマー―システム開発の職人から名匠への道」)で最初に言及したソフトウェア開発原則だ。その原則はこう述べている。 知識のあらゆる部分はそのシステムにおいて単一で、曖昧さのない、信頼できる表現でなくてはならない。 ここでHunt氏は重複による負の影響と、それゆえにDRYを利用することの重要性を強調
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開発を経験したことのある方ならば、これではうまくいかないということはすでにおわかりだと思います。これまでの例で
このDenoスタータプロジェクトテンプレートをGitHubからクローンあるいはフォークしてください。インストラクションに従えば、Denoで動作する最初のWebAssembly関数(Rustで記述されている)が5分以内に完成するはずです。 ちょっとした背景説明 Node.jsが大きな成功を収めたのは、開発者に2つの世界で最高のものを提供できたからです。すなわち、JavaScriptによる、特にイベントベースの非同期アプリケーション開発における簡便さと、C/C++のハイパフォーマンスです。Node.jsアプリケーションはJavaScriptで記述されますが、実行は、Google V8 JavaSciptエンジンと多数のネイティブライブラリモジュールを含んだ、C/C++ベースのネイティブランタイムによって行われます。Denoはこの勝利の方程式を再現する一方で、そのプロセスを、TypeScript
古典的な記事の“6 Rules of Thumb for MongoDB Schema Design”は一読の価値がありますし、Studio 3Tのようなサードパーティツールの持つSchema Explorer的な機能も、常日頃のスキーマチェック用に準備しておくと役に立ちます。 コレーション(ソート順)のことを忘れていた これは他の設定ミスよりも、フラストレーションや時間の浪費につながる可能性があります。MongoDBは、デフォルトではバイナリコレーションを使用しますが、これはどのカルチャでも役に立ちません。大文字小文字やアクセントを区別するバイナリコレーションは、あご髭やカフタンや巻き髭と同じように、80年代的な珍しいアナクロニズムと考えられます。今となっては使い道がないのです。実生活では、“motortbike”は“Motorbike”と同じですし、“Britain”と“britain
GoogleのCRE(Customer Reliability Engineer)であるStephen Thorne氏が先日のDevOps Enterprise Summit Londonで講演し、SRE(Site Reliability Engineering)とは何か、その基本的な前提とメリットを理解できていない組織がいかに多いか、などについて解説した[スライドのPDF]。氏がこれまでに他の組織で見たおもな誤解は、早期の障害検出に重点を置いたSLO(Service Level Objective)や、あるいは過去のインシデントの金銭的保証に使用するSLA(Service Level Agreement)との混同、エラー予算を執行しない、SREチームの活動の少なくとも50パーセントをシステムやツールの改善に費やさず、“消防活動”という名の運用上の苦役に没頭させる、といったものだ。 SLO
クラウドネイティブサービスを提供するBuoyantは、Linkerd(“linker-DEE”と読む)の1周年を発表した。Linkerdは、クラウドネイティブなマイクロサービスベースのアプリケーションを対象とした、オープンソースな“サービスメッシュ”だ。その発表によると、 1990年代におけるネットワーク通信のTCP/IPへの移行は、メインフレームからクライアント/サーバアーキテクチャへという業界全体のシフトを実現しました。同じように、次世代クラウドアプリケーションの基本的ネットワーク層としてLinkerdの採用が増え続けることによって、企業におけるモノリシックアプリケーションからマイクロサービスへというコンピューティングアーキテクチャの移行が、信頼性を損なうことなく実現するのです。 Linkerdは自動化されたロードバランシングとサービスディスカバリ、稼働回復能力を備えた、信頼性の高いマ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く