Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
はじめての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のために、境界を取り払う - AI 時代の開発体験向上に向けたリポジトリ統合の取り組み -
shibukazu
1
640
メッセージキュー型の非同期処理から Temporal 移行へ
shibukazu
4
5.7k
全自動コードレビューの夢 〜実際に活用されるAIコードレビューの実現に向けて〜
shibukazu
11
5.6k
Perceiver: General Perception with Iterative [輪講発表資料]
shibukazu
0
140
Hybrid Autoregressive Transducer [輪講発表資料]
shibukazu
0
410
Other Decks in Technology
See All in Technology
非定型なドキュメントを効率よくリファクタする 〜えぇ!?仕様書27本の移行が1日で終わったって!?〜
subroh0508
2
610
AI Coding Agent時代のcdk-nagガードレール 〜組織ルールを強制CIで守り抜く設計の挑戦〜
mhrtech
3
510
Aurora MySQL 8.4リリース! Rubyistが備えること / what-rubyist-should-prepare-for-aurora-mysql-8-4
fkmy
0
640
穢れた技術選定について
watany
19
6.1k
そのドキュメント、自動化しませんか?
yuksew
1
410
「顧客の声を聞かなければ何も始まらない」 ── 顧客の声から生まれた『AI返信補助機能』の開発プロセス / AICon2026_shikata_imai
rakus_dev
1
270
生成AI×AWS CDK×AWS FISで"振り返れる"ミニGameDayをつくろう
yoshimi0227
2
530
大量データに対しても、生成AIを用いてリーズナブルにデータ加工をしたい!Databricksのai_queryについて調べてみた
kamoshika
1
280
伝票作成AIエージェントを支える、LLMOpsとインフラの選択肢 / AICon2026_takeda
rakus_dev
0
260
AI x 開発生産性を取り巻く予算戦略と投資対効果
i35_267
7
2.9k
”AIを使う” から ”AIに任せる” へ ─ 開発プロセスを再設計してAIを組織標準にするまで
cyberagentdevelopers
PRO
1
140
_NIKKEI_Tech_Talk__勉強会は熱量では続かない___17回続いた輪読会の設計術.pdf
_awache
1
100
Featured
See All Featured
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
280
Claude Code のすすめ
schroneko
67
230k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
900
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
220
Facilitating Awesome Meetings
lara
57
7k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
660
Large-scale JavaScript Application Architecture
addyosmani
515
110k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.1k
Six Lessons from altMBA
skipperchong
29
4.3k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
420
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
770
The Art of Programming - Codeland 2020
erikaheidi
57
14k
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