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
MicroServices and MonoRepo
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Hiroaki Egashira
August 06, 2019
Programming
2
1.3k
MicroServices and MonoRepo
Golangのマイクロサービスをmono repositoryでBazelを利用して管理する方法についてお話しました。
Hiroaki Egashira
August 06, 2019
Tweet
Share
More Decks by Hiroaki Egashira
See All by Hiroaki Egashira
レコメンドへの大規模アクセスを支えるGo製サーバーの裏側
_hiro511
7
3.9k
WinTicketにおける リアルタイム性と高負荷を考慮したアーキテクチャ/WinTicket Architecture
_hiro511
4
3.7k
WinTicketにおけるライブ配信システムの実現
_hiro511
2
870
Other Decks in Programming
See All in Programming
そのAIレビュー、レビューしてますか? / Are you reviewing those AI reviews?
rkaga
6
4.6k
AtCoder Conference 2025
shindannin
0
1.1k
CSC307 Lecture 10
javiergs
PRO
1
660
15年続くIoTサービスのSREエンジニアが挑む分散トレーシング導入
melonps
2
220
責任感のあるCloudWatchアラームを設計しよう
akihisaikeda
3
180
例外処理とどう使い分ける?Result型を使ったエラー設計 #burikaigi
kajitack
16
6.1k
AIによるイベントストーミング図からのコード生成 / AI-powered code generation from Event Storming diagrams
nrslib
2
1.9k
AIで開発はどれくらい加速したのか?AIエージェントによるコード生成を、現場の評価と研究開発の評価の両面からdeep diveしてみる
daisuketakeda
1
2.5k
Package Management Learnings from Homebrew
mikemcquaid
0
230
Honoを使ったリモートMCPサーバでAIツールとの連携を加速させる!
tosuri13
1
180
AIによる開発の民主化を支える コンテキスト管理のこれまでとこれから
mulyu
3
370
Claude Codeと2つの巻き戻し戦略 / Two Rewind Strategies with Claude Code
fruitriin
0
140
Featured
See All Featured
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
180
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Designing Experiences People Love
moore
144
24k
YesSQL, Process and Tooling at Scale
rocio
174
15k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
0
260
Producing Creativity
orderedlist
PRO
348
40k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
67
Leo the Paperboy
mayatellez
4
1.4k
RailsConf 2023
tenderlove
30
1.3k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.1k
Transcript
ُؕؠٞئ٭لتכ .POP3FQP $"54 $ZCFS"HFOU *OD )JSPBLJ&HBTIJSB娡㱳◽
娡㱳◽)JSPBLJ&HBTIJSB 䇗僖劔䌋⚡炘ئؕف٭ؙ٭ةؘ٤ع⪌炘 $"54 8JO5JDLFUفشؠؙ٤غطشؠٛ٭غ IJSP @IJSP
8JO5JDLFU ˝ ؛٤ٚؕ٤琂魸䤷烨ئؕع ˝ 侇ꝴ䤷烨⯈頇⪌⺎耆 ˝ ⪒㎁⚡㕙סٚؕه何⥼鿥⟓ ˝ "CFNB57ס琂魸زٔ٤ؾٜכ鵽Ⳃ
ُؕؠٞئ٭لت َٝةعٛלֹיױ־
.VMUJQMF3FQPTJUPSJFT WT .POP3FQPTJUPSZ
.POP3FQPTJUPSZ ˝ (PPHMF 'BDFCPPL 5XJUUFS⺱喋 ˝ ❣㰆畘杼ب٤وٜמך׀ ˝ ┉鞉䓪סֵ㚺催 ˝
ؤ٭غס⪦僗כ⫋⮵榫ֿ㳊佄 ˝ 㛻׀םٛنؒؠذٛ٤ءֿ㳊佄 חסَٝةعٛךخ٭تؤ٭غ畘杼
.POP3FQPTJUPSZ ˝ .VMUJQMF3FQPTJUPSJFTס㕙⺬ 邾丗סَٝةعٛמ㚺催ⱶֻיյ㚺催鱮׳סֿꪫ⠠ ❣㰆꞊➟ب٤وٜמך׀
.POP3FQPTJUPSZ ˝ (PPHMF 'BDFCPPL 5XJUUFS⺱喋 ˝ ❣㰆畘杼ب٤وٜמך׀ ˝ ┉鞉䓪סֵ㚺催 ˝
ؤ٭غס⪦僗כ⫋⮵榫ֿ㳊佄 ˝ 㛻׀םٛنؒؠذٛ٤ءֿ㳊佄 חסَٝةعٛךخ٭تؤ٭غ畘杼
.POP3FQPTJUPSZ ˝ 邾丗סُؕؠٞئ٭لتמ㚺催ⱶֻכ׀ؓعِشؠםؤِشعך⺎耆 ˝ ف٭ة٘٤畘杼㳊佄 ┉鞉䓪סֵ㚺催
.POP3FQPTJUPSZ ˝ (PPHMF 'BDFCPPL 5XJUUFS⺱喋 ˝ ❣㰆畘杼ب٤وٜמך׀ ˝ ┉鞉䓪סֵ㚺催 ˝
ؤ٭غס⪦僗כ⫋⮵榫ֿ㳊佄 ˝ 㛻׀םٛنؒؠذٛ٤ءֿ㳊佄 חסَٝةعٛךخ٭تؤ٭غ畘杼
لٜغכطتعⲖ曍荁ׂגַ
#B[FM ˝ (P 1SPUPDPM#VFS $ +"7" "OESPJE J04 םל喋չם銧鏤מ㵚䑴 ˝
䑒釐ם甙䢥דׄلٜغ٬طتعסך鵭ַ ˝ تآ٭ٚهٜ ˝ 䦡䍖⺎耆 لٜغ٬طتعبتطّ
(PMBOHXJUI#B[FM ˝ #B[FMסؕ٤تع٭ٜ CSFXJOTUBMMCB[FM ˝ 803,41"$&نٜؒؕס⛼䡗 㛙鼧ס❣㰆꞊➟םל鋗鳭 ˝ #6*-%نٜؒؕ⛼䡗 لٜغ亠嫎炐גס
(B[FMMF⮵榫י舅Ⳃ榟䡗ך׀
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") http_archive( name = "io_bazel_rules_go", urls = [ "https://storage.googleapis.com/bazel-mirror/github.com/bazelbuild/rules_go/releases/download/0.19.1/rules_go-0.19.1.tar.gz",
"https://github.com/bazelbuild/rules_go/releases/download/0.19.1/rules_go-0.19.1.tar.gz", ], sha256 = "8df59f11fb697743cbb3f26cfb8750395f30471e9eabde0d174c3aebc7a1cd39", ) load("@io_bazel_rules_go//go:deps.bzl", "go_rules_dependencies", "go_register_toolchains") go_rules_dependencies() go_register_toolchains() http_archive( name = "bazel_gazelle", urls = [ "https://storage.googleapis.com/bazel-mirror/github.com/bazelbuild/bazel-gazelle/releases/download/0.18.1/bazel-gazelle-0.18.1.tar.gz", "https://github.com/bazelbuild/bazel-gazelle/releases/download/0.18.1/bazel-gazelle-0.18.1.tar.gz", ], sha256 = "be9296bfd64882e3c08e3283c58fcb461fa6dd3c171764fcc4cf322f60615a9b", ) load("@bazel_gazelle//:deps.bzl", "gazelle_dependencies") gazelle_dependencies() 803,41"$& SVMFT@HP (B[FMMF
load("@bazel_gazelle//:def.bzl", "gazelle") # gazelle:prefix github.com/hiro511/golang-bazel gazelle(name = “gazelle”) #6*-%CB[FM
$ tree . !"" BUILD.bazel !"" WORKSPACE #"" cmd #""
main.go $ bazel run //:gazelle (B[FMMF
$ tree . !"" BUILD.bazel !"" WORKSPACE #"" cmd !""
BUILD.bazel #"" main.go $ cat cmd/BUILD.bazel load("@io_bazel_rules_go//go:def.bzl", "go_library") go_library( name = "go_default_library", srcs = ["main.go"], importpath = "github.com/hiro511/golang-bazel/cmd", visibility = ["//visibility:public"], ) (B[FMMF ̚舅Ⳃ榟䡗
$ cat cmd/BUILD.bazel load("@io_bazel_rules_go//go:def.bzl", “go_library”, “go_binary”) go_library( name = "go_default_library",
srcs = ["main.go"], importpath = "github.com/hiro511/golang-bazel/cmd", visibility = ["//visibility:public"], ) go_binary( name = “hello", embed = [":go_default_library"], visibility = ["//visibility:public"], ) $ bazel run //cmd:hello INFO: Analyzed target //cmd:hello (1 packages loaded, 3 targets configured). INFO: Found 1 target... Target //cmd:hello up-to-date: bazel-bin/cmd/darwin_amd64_stripped/hello INFO: Elapsed time: 0.533s, Critical Path: 0.37s INFO: 2 processes: 2 darwin-sandbox. INFO: Build completed successfully, 5 total actions INFO: Build completed successfully, 5 total actions hello world 3VO فؕػٜٛ٭ٜ
㛙鼧❣㰆꞊➟ ˝ HPNPE (PQLHMPDLنٜؒؕ־❣㰆قشآ٭ة鱮ײ 803,41"$&نٜؒؕמ傴׀鱮׳ HB[FMMFVQEBUFSFQPTGSPN@MFHPNPE HB[FMMFVQEBUFSFQPTGSPN@MF(PQLHMPDL (P.PEVMFTכEFQמ㵚䑴
1SPUPDPM#VFS ˝ HPMBOHQSPUPCVGכHPHPQSPUPמ㵚䑴 ˝ #6*-%CB[FMמٜ٭ٜ鴑鋗דׄ (P銧鏤סؤ٭غ榟䡗⺎耆
ٛٓ٭ع؞ٔشبٖ ˝ ꝧ氦縖$*םלךلٜغؓؗعوشع⪦僗ך׀ ˝ لٜغ냕鵭ך׀ ˝ ؞ٔشبٖفشؠؙ٤غ OHJOY 8FC%"7NPEVMF
#B[FM3FNPUF$BDIF (PPHMF$MPVE4UPSBHF لٜغؓؗعوشعٛٓ٭عמ؞ٔشبٖ⺎耆
ױכ״ ˝ .POP3FQPTJUPSZ ❣㰆畘杼ֿب٤وٜյ┉鞉䓪ֵֿյؤ٭غס⪦僗٬⫋⮵榫ֿ㳊佄 ˝ #B[FM لٜغ٬طتعص٭ٜյ❣㰆꞊➟杼鉮י㲔产סך鵭ַ (B[FMMF⮵榫י(PMBOHסخ٭تؤ٭غסلٜغٜ٭ٜ舅Ⳃ榟䡗⺎耆 (P.PEVMFTEFQס錃㲊אסױױ✳ֻ 1SPUPDPM#VFSס(PMBOHؤ٤قٜؕ⺎耆
ٛٓ٭ع؞ٔشبٖךلٜغؓؗعوشع⪦僗⺎耆
ֵֿכַׇֹױג