Speaker

Dennis Metzger

Dennis Metzger

Backend Engineer @ Finatext

Tokyo, Japan

Actions

1991年東ドイツ生まれ。小学生の頃からコードを書く。
ドレスデン工科大学を修了後、2020年に日本で就職。
現在、株式会社FinatextのInsurtech事業のバックエンドエンジニアとしてInspireというSaaSを担当。
趣味は音楽・映画鑑賞とハイキング。基本猫派。

Area of Expertise

  • Finance & Banking
  • Government, Social Sector & Education
  • Information & Communications Technology
  • Media & Information

Topics

  • Go

大規模Goプロジェクトを成功させる構造設計:モジュラーモノリスの実践ガイド

日本では徐々にGoを使ったプロジェクトが増えています。しかし、JavaやNodeとは違い、Goには決まったプロジェクトの構成がありません。
一方で https://github.com/golang-standards/project-layout のようなベストプラクティスを謳うサンプルプロジェクトもあれば、コミュニティの中からは批判する声も多く聞こえます。
では、どのようにプロジェクトを設計すれば良いのでしょうか?
本トークでは、中〜大規模Goプロジェクトにおける効果的なコード構造の設計と実装について解説します。特にモジュラーモノリスアーキテクチャに焦点を当て、プロジェクトの成長に伴う一般的な課題とその解決策を提示します。
モダンなDDD、オニオンアーキテクチャ、クリーンコード、レイヤードアーキテクチャなどのキーワードジャングルから脱出し、自分のプロジェクトにピッタリの構成を考えるベストプラクティスを紹介します!

どの状況も再現できるテスト方法

システムの複雑なユースケースや長時間トランザクションをテストしきれていますか?本トークではどの状況も再現できるテスト方法を伝えます。
Fixtureの仕組みの説明から始め、時間を自由に操りバッチやイベントの非同期処理のテストを行う方法も紹介します。
具体的には、コードのテスタビリティを上げるためのTipsを提示した後、それぞれのプロジェクトやユースケースにあったテストフレームワークの設計・実装方法をサンプルベースでお見せする予定です。

Linterで全プログラム解析を試みて失敗した話

Goには静的コード解析ツールを簡単に作ることのできるanalysisパッケージがあります。しかし、analysisパッケージで作成できるlinterの仕組みとしては、1パッケージずつしかスキャンすることができず、モジュラーになっています。このモジュラーなlinterでどのように全プログラム解析(プログラム全体を考慮した解析)を行うことができるのかについて考えました。
本トークではanalysisパッケージについて簡潔に紹介し、その後、ASTやSSAを使ったコード解析をサンプルを提示しながら説明します。後半では具体的なユースケースをもとに、
自らの考え方やアプローチを見せながら、なぜ失敗したのか、そして考えられる解決策について話したいと思います。

Dennis Metzger

Backend Engineer @ Finatext

Tokyo, Japan

Actions

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top