InfoQ ホームページ 設計 に関するすべてのコンテンツ
-
クラウドでのテスト駆動開発の適用
クラウドでは、アプリケーション開発を、それに付随するインフラと一緒にエンドツーエンドで扱うことができる。これにより、テスト駆動開発(TDD)やリファクタリングをアプリケーション全体で使用することが可能になり、メンテナンスコストを下げることができる。
-
Amazon Prime VideoがサーバーレスからEC2、ECSに切り替えて運用コスト削減
Amazonの動画配信サービス「Prime Video」は、運用コストの削減とスケーラビリティの問題を解決するために、Audio/Videoの品質検査ソリューションを再構築した経緯を説明している。EC2とECSにワークロードを移行した結果、運用コストの90%削減を達成したという。
-
怒ったユーザーからのフィードバックを、より良い製品の開発にどのように役立てるか
製品に何か変更を加えるたびに、怒ったユーザーが現れることがある。このようなユーザーは、あなたの製品に積極的に関心を寄せている。彼らの声に耳を傾けることで、製品を改善するためのユーザーインサイトの金塊を見つけることができる。
-
スキーマ検証とコード生成に対する新たなアプローチのためにGraphQL構文を利用
Nav Inc.は、GraphQL構文を使ってイベントとメッセージ形式を定義するオープンソースのスキーマ定義とコードジェネレーターを作成した。GraphQLは、開発者の間で表現力と親しみやすさから選ばれたが、それは構文にのみ使われる。Nav Schema Architecture(NSA)ではGraphQLランタイムは使われない。
-
Dropbox、ネイティブアプローチへの転換によってAndroidアプリの高速化と信頼性向上を実現
Dropboxは先頃、同社がAndroidのカメラアップロードプロセスの高速化と信頼性向上を実現したプロセスについて発表した。AndroidとiOSで共有していたC++コードを廃止して、Kotlinによるプラットフォームネイティブな実装に置き換えたのだ。これによってエラー率が低下し、アップロードのパフォーマンスも大幅に向上したとして、同社のエンジニアらは、プロセスを書き直すという決定に満足している。
-
アーキテクチャダイアグラム作成ツールを使うことでGoogle Cloudソリューションアーキテクチャの設計が容易に
最近、Googleはアーキテクチャダイアグラムツールをリリースした。これにより、利用可能なGoogle Cloud Platform(GCP)サービスを使ったソリューションアーキテクチャのアーキテクチャダイアグラムを作成できる。
-
AWS Migration Hub Refactor Spacesの一般提供により、アプリケーションリファクタリングが大きく進展
AWSは、昨年11月のre:Invent 2021でAWS Migration Hub Refactor Spacesのプレビューを初導入した。AWS Migration Hubの新機能である。現在、当パブリッククラウドプロバイダーは、Migration Hub機能の一般提供を発表した。
-
ブロックチェーンシステムにおける品質の作り込み
ブロックチェーン技術は、優れたソフトウェア品質を自然に提供可能なソリューションの構築に使用することができる。ブロックチェーンを使うことで、コントラクトにすべてを格納する、コンパクトなシステムへの移行が可能になるのだ。ただしそれには、データのニーズについて理解し、チェーン内に格納するものとしないものを判断した上で、要件、障害、テストといった履歴をコントラクトモデル内に構築する方法を検討する必要がある。
-
QCon PlusからAPIアーキテクチャトラックの総括
QCon PlusのAPIアーキテクチャトラックには、APIを設計、構築、保守するソフトウェアエンジニアとアーキテクトに関連するトピックについて話し合う6人のスピーカーとパネリストが参加した。このトラックでは、拡張性やAPIライフサイクルなどの幅広い概念を取り上げ、REST、GraphQL、gRPCの対決を取り上げて、APIを構築するときに使用するのに最適なテクノロジーを決定した。
-
SOLID原則は最新のソフトウエアアーキテクチャでも重要か?
Daniel Orner氏は先頃、SOLIDの原則は今���なお、最新のソフトウエアアーキテクチャの基盤である、と主張する記事を公開した。記事の中で氏は、ソフトウエア開発の手法は過去20年の間に変化したが、SOLID原則が優れた設計の基礎であることに変わりはない、とした上で、関数プログラミングやマイクロサービスアーキテクチャにも適用可能であることを、例をあげて説明している。
-
Google、DevSummit 21で大画面Androidデバイスのサポートを発表
Googleは先日のAndroidDevSummit'21において、開発者がさまざまなデバイス及びデバイスファクタに対応した、より優れたアプリを構築する助けとなる数々の新技術を発表した。それらには、Jetpack ComposeへのMaterial You導入、Android 12Lにおける大画面サポート、Jetpackライブラリの拡張などが含まれている。
-
レガシシステム廃止のためのパターン - ThoghtWorksが語るITランドスケープの進化
Martin Fowler氏は先頃、"Patterns of Legacy Displacement"という一連の記事を公開した。レガシシステムのリプレースに関連した、著者らの集合的体験を要約したものだ。プロジェクトを3つのフェーズに分割し、それぞれについて列挙されたパターンに従うことで、成功の可能性は高くなる、と著者らは主張する。
-
PayPalエンジニアリングチームがプレモーテム分析を実装
最近のブログ投稿で、PayPalエンジニアリングチームはプレモーテム分析を、通常のソフトウェア設計プロセスの一部としてどのように使うかを公開した。チームは昨年、プレモーテム分析をカスタマイズしたバージョンを採用し、それが、PayPalエンジニアリングに大きなメリットをもたらした。プレモーテムは、チームがプロジェクトが失敗したことを想像し、その後、この失敗につながる可能���のあるものを判断するために逆方向に作業していく戦略である。
-
SpotifyのWebとデスクトップクライアントのコードベース統合への道のり
Spotifyは先頃、Webとデスクトップクライアントのコードベースの統合への道のりの説明を公表した。Spotifyのチームは、Webプレーヤと独立したフル機能のデスクトップクライアントを所有していた。多くの機能は2回実装する必要があるため、希望したペースで出荷していなかった。現在、Spotifyは両方に対して1つのコードベースを作成し、開発のリズムの改善に至った。
-
SentryはフロントエンドをTypescriptに移行 - 教訓
Mark Story氏とPriscila Oliveira氏は最近、Sentryのフロントエンドコードベース(1年間の作業で100,000行のコード)をTypeScriptに変換するときに学んだ教訓を共有した。この二人は、TypeScriptがJavaScriptを段階的に置き換え、新しいTypeScript言語機能がリリースされるにつれて型が継続的に改良され、複雑な型が段階的に構築される段階的な変換プロセスについて説明した。