Goの国際カンファレンス 「GopherCon 2019」に登壇します!

こんにちは!BASE BANK株式会社 Dev Divisionでソフトウェアエンジニアをやっている東口(@hgsgtk)です!この度、アメリカ・サンディエゴで開催されるGo言語の国際カンファレンスGopherCon2019に参加してLT登壇してきます。

GopherCon 2019







今回は、公募されたCFPのうち、25分のKeyNote styleと5-7分のLightning Talkの2種類に応募して、Lightning Talkで採択いただきました。

Lightning TalkのCFPには、3つプロポーザルを出して3つ採択候補に上げていただいたのですが、最終的に「Building API Server-side architecture for beginners」というタイトルの内容が選ばれました。

プロポーザル: Building API Server-side architecture for beginners



When we creates an application, we often need to consider about layer design. However, it’s difficult for beginners to design the architecture from beginning. To overcome difficulties, I will talk about the method of gradually growing our architecture with the growth of the members.


Self introduction

Problem of considering architecture for beginners

In considering the server side architecture, the judge is greatly influenced by the situation such as the request for the application and team background. I did the development under the following circumstances

  • FinTech startup
  • Launch a new service
  • No member has experience of using Go language in business

Under such circumstances, we must get feedback to design from the practical results in a quick cycle. Also, we must understand the Go language knowledge like context handling.

Strategy to solve the problem

It is often that important factors are not available, that is development know-how, developer skill, all requirements of service. It is necessary to set the image to be aimed for us, and explore how to implement it. For the purpose, we proceeded with making it a common recognition that “building and breaking”.

In addition, we put emphasis on unit testing to keep getting feedback on the way that our application should be in a quick cycle by practicing. Because we aim to get notices about design (such as degree of coupling) by unit testing.

gradually growing architecture

I will talk about the process of gradually growing the architecture. It’s the process of practicing the following steps in phases.

  • get used to API development in Go language
  • how to use interface to write Go-like code
  • write good testable code
  • represent complex business logic in code

Also, I will mention the following points in the process.

  • CI environment to prepare at first
  • Anti-pattern which tends to stepped from beginner to intermediate level
  • maintenance of test helpers not to compromise development experience



昨年ブログで公開した「Goを運用アプリケーションに導入する際のレイヤ構造模索の旅路 | Go Conference 2018 Autumn 発表レポート」というブログエントリをベースとした発表内容になります。