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が最近リリースされ、重要な変...
これは、多数派が支配すべきだという意味ではない。委員会によって設計されたアーキテクチャは、肥大化し、焦点が定まらない傾向がある。私たちの経験では、理想的なバランスとは、多様な経験と視点を持つ数人の仲間が、より良い情報に基づいた決定を下すために、主張に異議を唱えることである。 再利用の目標が誤った決定を左右するようなことがあってはならない。その代わり、再利用は理にかなった場合のみ行うこと。 コード、コンポーネント、設計、あるいはコンフィギュレーションの再利用は、最初は良いアイディアのように聞こえる。経営陣は、再利用によってコストが削減され、納期が短縮され、品質が向上すると信じて、このコンセプトを推進したがる。チームは、MVPをより早く提供するために既存のアプリケーションの大部分を再利用することを決定するかもしれないし、かなり成功した製品を提供するために作成された既存のアーキテクチャを再利用す
キーポイント For object-oriented design we follow the SOLID principles. For microservice design we propose developers follow the “IDEALS”: interface segregation, deployability (is on you), event-driven, availability over consistency, loose-coupling, and single responsibility. Interface segregation tells us that different types of clients (e.g., mobile apps, web apps, CLI programs) should be able to inte
原文(投稿日:2020/05/19)へのリンク 新ライブラリのHegelは、JavaScriptで高度な静的型チェックを実現しようという試みだ。強い型推測と完全な型システムを提供するという。現在はまだアルファ版だが、専用のオンライン・プレイグラウンドで動作を確かめることができる。 Hegelは型アノテーションを備えたJavaScript用の型チェッカである。TypeScriptの場合のように、新たなプログラム言語構造を学ぶ必要はないが、アノテーション記法についての学習は必要だ。Hegelは強い、完全な型システム(Sound File System)を使うことで、実行時の型エラーを防止する。 const numbers: Array<number> = []; // HegelError: Type "Array<number>" is incompatible with type "Arr
Caroline Kirkhope氏によれば、自己組織化するチームは効率的でより幸せだ。全ての人が自己組織化するチームに馴染む訳ではない。言われたことをやり、自分で働くことに慣れている。自己組織化するチームを実現するには意図を元にしたリーダーシップ、ソシオクラシー、ホロクラシーのようなモダンなリーダーシップのアプローチが必要だ。 Caroline Kirkhope氏はソフトウェア開発者でありテックリードだ。氏はLean Agile Scotland 2017で自己組織化について話した。InfoQはこのカンファレンスをインタビューや記事で取り上げている。 InfoQは氏にインタビューし、自己組織化についての実験から学んだことについて話を聞いた。 InfoQ: 自己組織化はなぜ重要なのでしょうか。 Caroline Kirkhope: 知識労働者は自分たちの仕事に発言権があればより健康的でより
デッドコードは、見つけて、取り除く必要がある。デッドコードを残しておくと、プログラマの理解と行動を妨げることがあり、コードが実行されて、重大な問題を引き起こすリスクもある。 デッドコードの削除は、技術的な問題ではない。Kevlin Henney氏によると、それは考え方と文化の問題だ。 独立したコンサルタントでトレーナであるKevlin Henney氏が、ヨーロッパテストカンファレンス 2017において、基調講演「やり方の間違い」を行った。この基調講演で、デッドコードが実行されたために、ある企業が何億ドルもの損害を被ったことを発表した。 InfoQは、このカンファレンスをQ&A、要約、記事で扱う。 ソフトウェアの失敗は、個人的に不便だったり、迷惑だったりするが、経済的、または、社会的に重大な影響を与えることもある。Henney氏は、小さな不具合のせいで、何百万ドルもの損害を出した例をいくつか
リファクタリングは、より理解しやすく、メンテナンスしやすい、きれいなコードにするのを助けてくれる。それにはコードの臭いを嗅ぐ経験と実践が必要だ。つまり、コードの中にあるより深い問題を示す悪い設計の兆候を見つけることだ。コードを壊すことなく、小さなステップでリファクタリングを行うことを支援するツールもある。 CoduranceのHalima Koundi氏はSwanseaCon 2016でリファクタリングとコードの臭いについて語った。InfoQはカンファレンスの内容を記事やインタビューで取り上げている。 Koundi氏はMartin Fowler氏のコードの臭いの定義を紹介している。 コードの臭いは表面的な兆候であり、システムの深い問題と関連しています。 適切にメンテナンスし改善することに必要な注意を払わなければコードの質は悪化していく。Koundi氏はいくつかのコードの臭いの種類を紹介し、
よいコードを書くためには,設計の基本を守り,既存のコードを読むことが必要である – Java ChampionでハイパフォーマンスコンピューティングのスペシャリストであるMartin Thompson氏のことばだ。InfoQは,QCon London 2016で“Engineering You”と題した講演を終えた氏に,ソフトウェア産業が直面する課題は何か,プログラマがそれを克服して優れたソフトウェアエンジニアになるにはどうすればよいのか,などをインタビューした。 InfoQ: 講演の中であなたが引用した,1986年の,ソフトウェアエンジニアリングに関する最初のNATOカンファレンスの内容は,現在でも通用します。ソフトウェア産業がいまだ問題を解決できないのはなぜでしょう? Martin Thompson: 1986年のNATOカンファレンスには,たくさんのテーマがありました。彼らはソフトウ
InfoQ: では,変化を受け入れる合意ができたとしましょう。私たちは正しい選択をしたいと思います。それが革新的な変化を伴うのならば,その心構えもします。その一方で,斬新的な変化で大きな改善が望めるのなら,できればそちらを選びたいとも思うでしょう。デリバリや予測可能性,透明性の改善といった観点で,結果を目にしたいのです。 Roock博士: 経験から言えば,かんばん方式を導入するまでは,大きな目標に対する同意が必要です。それはつまり,マネージメントの介入が必要だということです。 あるいは草の根的な "ステルス" アプローチで,マネージメントから隠れて,チーム内だけで事を進めようとする場合もあるでしょう。そのようなアプローチでもある程度は成功できるかも知れませんが,すぐに限界に突き当たってしまいます。企業規模での本当の成功を望むなら,マネージメントの介入は必要なのです。マネージメントと話して,
4月9日、テキサス州オースティンのBalderdashがnode.js上で動作するリアルタイムMVCフレームワークであるSailsのバージョン0.8.9を発表した。これは、Railsライクな開発環境をモダンなウェブアプリの世界に持ち込もうとする試みだ。 Railsの誕生から8年たち、BalderdashのチームはMITライセンスのSailsをさらなる進化の一歩として構想している。Railsのリッチな開発体験とリアルタイムウェブの能力を組み合わせようとしているのだ。 InfoQはSailsの作者であるMike McNeil氏に詳しい話を聞いた。 INFOQ:Sails.jsはnode.jsの他のリアルタイムフレームワーク(Meteor, Derby, SocketStream)と比べてどうですか。 Mike:Sails.jsを開発したのは、私が顧客に効率良く安定したNode.jsアプリケーシ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く