7章ランダムなおすすめを提示するWebサービス

この章でビルドするプロジェクトのコンセプトは、「ユーザーがしたいことについて、お出かけの種類と位置情報に基づいてランダムにおすすめを提示する」というものです。コードネームはMeander(ぶらぶら歩きという意味)とします。

実世界でのプロジェクトでは、一人がすべてに責任を持つことはあまりありません。誰か別の開発者がWebサイトを作成し、別の誰かがiOSアプリを開発し、もしかしたらデスクトップ版の開発はアウトソーシングされるかもしれません。成功を収めるAPI(特に、公開のAPI)のプロジェクトでは、開発者は誰がこのAPIを利用するかについて関知しません。

このような現実を反映して、この章でもまずは仮想的なパートナーとの間で最小限のAPI設計について合意を得るというところから解説を始めます。このAPIを実装して我々の側での作業を終えてから、パートナーが作成したユーザーインタフェースを入手します。そして両者を組み合わせ、最終的なアプリケーションを作成します。

具体的には、以下のような点について学びます。

  • アジャイルの考え方に基づいて、短くシンプルなユーザーストーリーを通じてプロジェクトの目標を表現する方法
  • API設計について意見の一致を得て、多くの人々が同時進行で作業を行うという手順
  • 初期バージョンのコードにデータ(フィクスチャーとも呼ばれます)を埋め込んでコンパイルし、後で実装の変更が必要になってもAPIに影響を与えないようにするための方法
  • 構造体などの型を公開し、内部的な表現については隠蔽または変形するという設計方針
  • 入れ子状のデータを埋め込みの構造体として表現し、同時に型のインタフェースをシンプルに保つ方法
  • 外部のAPIにリクエストを行うための ...

Get Go言語によるWebアプリケーション開発 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.