Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
はじめてのOSS開発からみえたGo言語の強み
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
shibutani
September 16, 2025
Technology
1.6k
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
はじめてのOSS開発からみえたGo言語の強み
shibutani
September 16, 2025
More Decks by shibutani
See All by shibutani
AIで進めるQA自動化の現在地 - E2Eリグレッションテストの整備と維持 -
shibukazu
9
4.1k
越境するAIのために、境界を取り払う - AI 時代の開発体験向上に向けたリポジトリ統合の取り組み -
shibukazu
1
770
メッセージキュー型の非同期処理から Temporal 移行へ
shibukazu
4
5.9k
全自動コードレビューの夢 〜実際に活用されるAIコードレビューの実現に向けて〜
shibukazu
11
5.8k
Perceiver: General Perception with Iterative [輪講発表資料]
shibukazu
0
150
Hybrid Autoregressive Transducer [輪講発表資料]
shibukazu
0
510
Other Decks in Technology
See All in Technology
新卒エンジニア、 介護士になる
ryu1013
1
660
AIで選択肢が広がった組織設計の理想と現実
konifar
16
7.4k
デザインレビューは自動化できるのか?─ Flutter × Figma で UI 品質保証を考える
techiro
2
720
AI時代のエンジニアの情報発信〜個人の発信を組織の力に変える〜
ryo_kawamata
0
6.5k
書き手が人でもAIでも正しくなる道、SREを埋め込んだDeveloper Platform / tech drivers day8
chmikata
4
880
Claude Codeから見る、エンジニアの世界の変容とその先
oikon48
8
5.1k
reInvent2026stby LT00 "Change your life!"
shinichirokawano
1
510
LLMの知識とAIエージェント
happysamurai294
0
150
"計画的無茶振り"を通してAIネイティブ世代の新人を育てる
subroh0508
1
140
Systems Manager AgentがインストールされたPCを紛失した時の対策を考えてみた
amarelo_n24
1
110
AIエージェント統制はAPIから——押さえるべき5つの要素
nagix
0
110
Adversary Infrastructure Hunting101
disconinja
0
190
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
18k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Discover your Explorer Soul
emna__ayadi
2
1.3k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
620
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
440
So, you think you're a good person
axbom
PRO
2
2.2k
KATA
mclloyd
PRO
35
16k
How Software Deployment tools have changed in the past 20 years
geshan
2
35k
Intergalactic Javascript Robots from Outer Space
tanoku
273
28k
Transcript
はじめての OSS 開発から見えた Go 言語の強み shibutani / @s_k_526 2025 年
9 月 16 日 layerx.go #2
自己紹介 shibutani / @s_k_526 株式会社 LayerX Platform Engineering 部 Enabling
チーム 2024 年に SecHack365 やセキュリティキャンプ ネクストに参加 最近は電子工作とピアノにハマっている © LayerX Inc. 2
今日の内容 © LayerX Inc. SecHack365 で Go 言語を使ったミドルウェアを作ったよ! ほとんど Go
言語で開発したよ! Go 言語のおかげで苦労なく開発できたよ! 3
何を作ったか © LayerX Inc. 一言で言うと 分散アーキテクチャによって分散、重複しがちな入力値バリデーションを一箇所で管理するミドルウェア https://github.com/shibukazu/open-ve 背景 分散アーキテクチャの浸透に伴い同じような入力値バリデーションをシステム、言語ごとに実装する必要 実装漏れや実装のドリフトが起こりやすくなる
バリデーションロジックを中央集権的に管理することで問題を防ぎたい ← 今 4
何を作ったか © LayerX Inc. 機能 API ベースでのバリデーションロジック管理、実行 モダンな環境を想定し、RESTful API と
gRPC 両対応 CEL による言語非依存なバリデーションロジック実装 Open API や protobuf からバリデーションスキーマの自動生成 スキーマ自体の単体テスト 中央集権モードと Master Slave モードのサポート 5
こんな感じで いろいろやりことを盛り込んだが...
何も考えずとも それなりにいいものが作れた!
Go 言語の何が嬉しかったか © LayerX Inc. ミドルウェアとしての信頼性を担保する仕組みが揃っている Context によるサーバーやリクエストのライフサイクル管理 Graceful なシャットダウンや、後続のリクエストにおけるタイムアウト管理も簡単に行える
「何も考えなくとも」高いパフォーマンスで安全な並行並列処理を書ける Goroutines によるパフォーマンスの高い並行並列処理 Channel による安全なスレッド間通信 sync パッケージをはじめとしたスレッドセーフなデータアクセスの担保 8
Go 言語の何が嬉しかったか © LayerX Inc. 型システムと Struct Tag による直感的なパース ミドルウェアの設定を
YAML で管理 型付けされた構造体に Struct Tag でフィールド名を書くだけで、YAML から設定ファイル構造体にパースできる スキーマのパースを「何も考えずに」行えるだけでなく、型チェックも適切に行われる 9
Go 言語の何が嬉しかったか © LayerX Inc. Distribution が容易 標準の依存管理を備えている クロスコンパイルによる実行環境向けバイナリの生成が可能 何も考えずに実行環境となる
Linux x amd 向けのバイナリを生成できた 色々な環境で使ってもらえる! シングルバイナリが生成される 「何も考えずに」ポンっと置くだけで OK 10
Go 言語の何が嬉しかったか © LayerX Inc. 書き方がシンプル ベストプラクティスをたくさん学ぶ必要がなく、 「何も考えずに」プロダクトクオリティの記述ができる 言語のセットアップの仕方がシンプルかつ標準的方法が用意されているので環境構築で詰まらない より現代的な観点だと…
標準ライブラリで作ることができ、書き方が統一されやすいことは LLM におけるコード補完の恩恵を受ける上で非常に重要 初学者にとって嬉しい 11
まとめ © LayerX Inc. Go 言語でミドルウェアを作ってみた! Go のエコシステムや言語思想のおかげで苦労なく開発できた! それなりにいいものを誰でも作れるのが Go
言語の魅力! (釈迦に説法感はありますが)みなさんも Go 言語で開発してみてください! 12