技術書典16にむけて「SGE Go Tech Book Vol.05」を執筆しました!

2024年5月25日(土)〜6月9日(日)に、オンライン・オフラインにて同時開催される技術書オンリーイベント「技術書典16」に、今回も、ゲーム・エンターテイメント事業部(SGE)が参加します!「SGE Go Tech Book Vol.05」は、5月26日(日)11時から、池袋サンシャインシティ2階 展示ホールDで開催されるオフラインイベントにも出展いたします!配置は、【し24】となりますので、ぜひ、ブースにもお立ち寄りください!本ブログでは、今回執筆した技術書「SGE Go Tech Book Vol.05」の見どころを紹介します!

SGE Go Tech Book Vol.05

ゲーム・エンターテインメント事業部(SGE)所属のエンジニアによる、Goの知見やノウハウを共有する技術書です。ゲーム開発ならではの内容から、ゲーム開発以外でも活用できるテクニックまで、幅広く扱っています。

【タイトル】SGE Go Tech Book Vol.05
【電子版】1000 円(税込)
【電子+紙セット】1500 円(税込)
【URL】https://techbookfest.org/product/ihBwU5yYVdc6ra83RUSm9X


本技術書は、下記7章で構成されています。スマートフォンゲーム開発で実際に利用しているライブラリや実装手法の紹介から、LLMを用いたGoアプリケーション開発、初心者向けのGo標準機能の解説まで、幅広い内容となっています。章ごとの概要を紹介します。

第1章: SpannerをGORMで操ってみる (著 : 鈴木 光)

皆さんはSpannerをGoで操作する際どのようにしていますか?今まで、SpannerをGoで扱うには公式クライアントライブラリを利用することが一般的で、Spanner対応の便利なORMがあまり存在しませんでした。しかし、2023年11月8日にGoogle Cloud blogに投稿された記事により、GoのORMとしては有名なGORMがSpannerに対応したことが発表されたため、GORMを使ってSpannerを操作することができるようになりました。本章では、GORMを使ってSpannerを操作する方法について紹介します。

第2章: 詳解 Fixing For Loops in Go 1.22 (著 : 唐木 稜生)

Go 1.22(プレビュー版はGo 1.21)から、ループ変数のメモリ共有問題が解消されました。では、ループ変数に対してイテレーション毎に新しいインスタンスが割り当てられるのはどのような時なのでしょうか。本章では、ループを取り巻くセマンティクス変更の背後にある内部動作を深掘りします。また、ループの動作原理に影響するエスケープ解析の解説や、セマンティクス変更に追従する際に有用な周辺ツールの紹介をすることで、Go 1.22への理解を深めます。

第3章: Go製のLangChainを使ったツールの開発 (著 : 齊藤 慶一)

ChatGPTやGithub Copilotなどの大規模言語モデル(LLM)を利用したAIアプリケーションが最近、世間を賑わせています。こうしたLLMを活用したプロダクト開発を効率的に行うためのフレームワークとして、LangChainがあります。LangChainの公式ライブラリにはPythonやJavaScript製のものがありますが、有志の方によって開発されたGo製のライブラリ「langchaingo」もGitHub上で公開されています。本章では、前提知識となるLangChainの解説を踏まえつつ、langchaingoの使い方と、それを用いたツールの開発について解説します。

第4章: go-ruleguardでコードの品質を高めよう (著 : 朝倉 信晴)

Goにはコードの品質を保つための多くのLinterが存在します。これらは一般的なルールや問題をチェックするために使えますが、プロジェクト固有のルールをチェックしたい場合は、go/analysisパッケージを使って静的解析を行い、独自のLinterを作成する必要があります。go-ruleguardを使えば、静的解析の知識が少なくても独自のLinterを作成できます。本章では、go-ruleguardを使ったLinterの実装方法について紹介します。

第5章: Goで作るApp Store通知受信サーバー (著 : 末吉 貢)

App StoreにはAppStoreServerNotificationV2という機構があります。これはiOSアプリの開発者がアプリに関するリアルタイムの通知を受け取るためのシステムです。通知の内容としては、サブスクリプションの状態の変化、返金の発生などが含まれます。開発者側でHTTPサーバーを用意することにより、これらの通知を受信できます。本章では、Goを使用したApp Store通知受信サーバーの実装方法について紹介します。

第6章: uber-go/fxではじめるアプリケーションのライフサイクル管理 (著 : 島田 裕司)

ゲーム開発においては、多くのゲーム機能や複雑なロジックを扱うため、コンポーネントが増えやすく、依存関係の管理が煩雑になりやすい傾向にあります。また、ゲーム仕様の実現や安定したゲーム体験提供のため、利用する外部システムも増えやすく、それらを正しく初期化・終了することも求められます。本章では、依存関係管理やライフサイクル管理を容易に行えるuber-go/fxについて紹介します。

第7章: 初心者向けGo Template解説 (著 : 水村 総之介)

Goには、テンプレートエンジン「Go Template」が標準で提供されています。これを有効に用いてコードを自動生成することにより、開発者のコード記述量を減らしながら、よりGoによる開発を効率よく行うことが可能です。本章では、特にtext/templateについて、使用方法と構文を紹介します。

■最後に

SGE Go Tech Book Vol.05」では、最新技術の紹介や、実際のプロジェクトで培った知見を盛り込んでいます!楽しんでいただける内容になっていると思いますので、ぜひご覧ください!


【開催日時】2024年5月25日(土)〜6月9日(日)
【開催場所】技術書典オンラインマーケット
【URL】https://techbookfest.org/market

<オフライン開催>
【会期】2024年5月26日 (日)11:00~17:00
【会場】池袋サンシャインシティ 展示ホールD(文化会館ビル2F)

LINEで送る
Pocket

おすすめ記事