InfoQ ホームページ 設計 に関するすべてのコンテンツ
-
Spotifyはどのようにしてモバイルアプリのサイズをコントロールし、地球温暖化と戦っているのか
新しい機能の追加は、アプリのサイズに隠れた影響を与えることが多く、ユーザーの離脱や不必要な二酸化炭素排出など、いくつかの望ましくない影響がある。Spotifyのエンジニアは、アプリサイズをコントロールし続けるために、PR前とPR後のプロセスを確立し、6ヶ月間で推定10MBのアプリサイズの増加を防いだ。
-
安定性とユーザーフレンドリーを両立したUIを作るには
UI構築における重要な課題は、使いやすさと保守性、そして規模や複雑さのバランスを取ることだ。安定し、かつユーザーフレンドリーなUIを作るには、思慮深いコンポーネント設計と一般的な使用経路の理解が必要だ。自動化は、コードベースの効率と一貫性を改善する上で、画期的な変化となりうる。
-
Cadence1.0:Uberがスケーラブルなワークフロー・オーケストレーション・プラットフォームをリリース
Uberは6年間の開発期間を経て、Cadenceと名付けられたワークフロー・オーケストレーション・プラットフォームのメジャーバージョンをリリースした。Uberや他の企業は、ネイティブのプログラミング言語を使ってステートフルなサービスを大規模に構築するためにCadenceを使用している。チームは、使いやすさ、オブザーバビリティ、効率性の向上を目標に次のリリースに取り組んでいる。
-
クラウドでのテスト駆動開発の適用
クラウドでは、アプリケーション開発を、それに付随するインフラと一緒にエンドツーエンドで扱うことができる。これにより、テスト駆動開発(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つのフェーズに分割し、それぞれについて列挙されたパターンに従うことで、成功の可能性は高くなる、と著者らは主張する。