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
shibutani
September 16, 2025
Technology
1.5k
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
8
3.2k
越境するAIのために、境界を取り払う - AI 時代の開発体験向上に向けたリポジトリ統合の取り組み -
shibukazu
1
720
メッセージキュー型の非同期処理から Temporal 移行へ
shibukazu
4
5.9k
全自動コードレビューの夢 〜実際に活用されるAIコードレビューの実現に向けて〜
shibukazu
11
5.7k
Perceiver: General Perception with Iterative [輪講発表資料]
shibukazu
0
150
Hybrid Autoregressive Transducer [輪講発表資料]
shibukazu
0
470
Other Decks in Technology
See All in Technology
研究開発部の紹介 / Sansan R&D Profile
sansan33
PRO
5
25k
SREの視点で考えるSIEM活用術 〜AWS環境でのセキュリティ強化〜
cscengineer
PRO
0
160
バイブコーディング時代のWebアプリ開発入門~Cloud Runで学ぶセキュアなビルドとデプロイ
waiwai2111
1
140
AIに賢く動いてもらうためのコンテキスト〜Snowflake女子会 vol.8
snowwmn0824
0
140
JSONataとAWS Step Functionsで目指すRuntimelessな世界
mu7889yoon
0
400
データ_AIの事業の勝敗をわけるもの
nek0128
1
470
What the customer really needed
kawaguti
PRO
3
220
Antigravity SDK for the Java Developer
glaforge
0
170
Slack上でインフラをトラブルシュートする! Agentic Platform Engineeringの第一歩
teru0x1
5
1.8k
AIエージェントの権限管理 3: Agentic RAG の Fine grained access control 編
ren8k
0
180
Goodbye ShellScript, Hello File-based App
shunsock
0
630
積み重なった技術負債への挑戦 〜初手としての全社ゴト化〜
techtekt
PRO
0
1.5k
Featured
See All Featured
For a Future-Friendly Web
brad_frost
183
10k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
440
The SEO identity crisis: Don't let AI make you average
varn
0
560
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
680
Between Models and Reality
mayunak
4
460
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
500
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
530
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Done Done
chrislema
186
17k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.2k
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