垂直スケーラビリティと効果的なテストによる金融取引システムのパフォーマンスと効率の最大化 Peter Lawrey氏はJavaチャンピオンであり、Chronicle SoftwareのCEOとして、開発者を鼓舞してソリューションのクラフトマンシップを高めることに情熱を注いでいる。経験豊富なソフトウェアエンジニアとして、Lawrey氏はソフトウェア開発プロセスにおけるシンプルさ、パフォーマンス、創造性、革新性を奨励することに努めている。
At InfoQ we periodically update our topics graph to show where we think different topics are in the technology adoption curve. When we do so, we consider the state of practice, emerging ideas and things we hear within our network and at meetups, conferences, analyst events, etc. We also take into account traffic patterns on the site and attendance at sessions at QCon and other industry conference
数ヶ月前、私はなぜここにたどり着き、何が可能かを理解する旅に出ました。この旅は、私にアプリケーションアーキテクチャ、MVCという強烈な宗教に対する疑いをもたらしました。そして、リアクティブ、関数型プログラミングの真の実力に触れたのです。また、シンプルさに集中する旅でもあり、私たちの産業はうまくやっているという考えを捨てる旅でもありました。どんなことを見つけたか興味がある方もいるでしょう。 私たちの見ている画面の背後にあるパターンはMVC –Model-View-Controllerです。まだウェブがなくソフトウエアアーキテクチャも分厚いクライアントが単一のデータベースに原始的なネットワークでアクセスするのがせいぜい、という時代にMVCは生まれました。そして数十年後、MVCはまだ現役であり、衰え知らずでオムニチャネルアプリケーションの開発に使われています。 Angular2のリリースの前にM
QCon New YorkでJohn Chapin氏が"恐れ知らずのAWS Lambdas"というプレゼンテーションをした。JVMがサーバレスコードをデプロイする先となるよいプラットフォームであるだけでなく、JavaベースのAWS Lambdaファンクションから最高のパフォーマンスを引き出す手引きが提供されているとも主張した。鍵となる点は次のことである。開発者がファンクションの"コールドスタート"のインパクトを減らし分割して返済すべきであること、現実世界のパフォーマンスを見極めるために広くファンクションのベンチマークを取るべきであること、固有のオプションよりも完全な機能を備えたロギングとメトリクスライブラリを使うべきであること、である。 Chapin氏は、Symphoniaの共同創立者であるが、"サーバレス"コンピューティングの核となる特徴の考察で話を始めた。長命のホスト(サーバ)管理やア
図1.ユビキタス言語はモデルを表現するのに用いられる唯一の言語でなければならない。チーム内のメンバは誰もが、個別の各用語についてあいまいさの残らない形で合意せねばならず、翻訳する必要がないようにしなければならない。 コードはモデルを表現する主要な形態です。要件なり設計の一部分をとらえる過程においては、それ以外の成果物も必要になるかもしれません。しかし、アプリケーションのふるまいと恒常的に同期しているのはコードそれ自体なのです。このようなモデリングの理想郷は、いくぶん脆弱なエコシステムです。前述したような条件が与えられれば実現は可能ですが、むやみに拡大することはできません。概念的統一性を妥協することなく、モデルを拡大することができる最大の範囲が、コンテキスト("context")と呼ばれています。 境界つきコンテキストに踏み込む ドメイン駆動設計において、コンテキストは次のように定義されてい
この記事は,TDDに見切りをつけたある大学教授の経験と,Uncle Bobの反論を要約したものだ。 ソフトウェア工学の大学教授を退官したIan Simmerville氏には,“Software Engineering, 10th edition”を含む数冊の著書がある。同書の第8章はすべてソフトウェアテストに関する内容であり,特に8.2章ではTDDを取り上げている。それらの章で紹介された考え方を何度も引き合いに出しながら,Sommerville氏は先日の記事に,“TDDはソフトウェア工学の大きな進歩です。いくつかのクラスのシステムにおいては,それが有効であることが明らかです。”と述べて,次のような“TDDフレンドリ”なシステムの一覧を紹介している。 階層化アーキテクチャ 合意された成功基準を持ち,それに準拠したテストに基づいて構築されるシステム。 自身のコントロールを越えてシステムと対話す
npmの創設者であるIsaac Z. Schlueter氏によると,2日前,npmレジストリに毎分数百件というビルドエラーが出力されるようになり,世界中のユーザが,特定のNode.jsパッケージをインストールないしビルドすることができなくなった。これによってBabelやAtom, Ember, React Nativeなど,line-numbersに依存する数千件のパッケージが影響を受けた。一体何が起きたのだろうか? Azer Koçulu氏はソフトウェア開発者で,273個のNode.jsパッケージの作者でもある。 その中にはkikやleft-padなどもある。後者は文字列の左を埋める(右詰めする),11行の関数だ。氏は数週間前,Kikという企業から連絡を受けた。同社は27,000万のユーザを持つメッセージングアプリケーションを開発しており,その名称を多数の国で商標登録しようとしていた。彼
先日のブログ記事でHenn Idan氏が,Oracle Javaをコンテナで使用することはOracleのライセンス契約に違反しているのではないか,という問題を提起した。この記事は,発端となったAlpine Linux用のJavaの再コンパイルバージョンを推奨するツイートに対して,Oracleライセンスに対する明確な違反ではないか,とBen Evans氏が指摘したことを受けて提起されたものだ。 OpenJDKはGPLライセンス下で公開されているが,java.comでダウンロード提供される OracleJDKのコンパイル済バイナリには,これとは違うバイナリライセンスが適用されている。コードの著作権はOracleが所持しているため,Oracleには,GPL管理外のバージョンをリリースする権限があるのだ。また,Oracleの提供するJREにも,AppletプラグインやGUIをプラットフォームに依存
ソフトウェア製品やサービスに対するニーズの増加に伴って,企業の開発能力を向上させるための方法が求められている。多くの企業が選択するのは,人員の追加によるスケールアップだ。このアプローチに対して一部の人々が疑問を持ち,人員を増やすことなく,より多くのソフトウェアを提供する方法を提案している。 Robert Martin氏は"Horders of Novices (初心者の集団)"というブログ記事で,少数の専門家チームによるソフトウェア開発を提案する。 これ以上,初心者を増やす必要があるのですか? 大して能力のない連中をさらに投入したところで,優れたソフトウェアが早く開発できるものでしょうか? ソフトウェアの問題は,本当にマンパワーだけの問題なのですか? コーディングはレンガ工事と同じなのですか? 左官工の数が多ければ多くのレンガを積めるように,コーダが多数いれば,コードも多く書けるでしょう
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く