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
マイクロサービス化を利用した Goへの移行事例
Search
mackee
March 25, 2024
Programming
0
1.1k
マイクロサービス化を利用した Goへの移行事例
golang.tokyo #34
https://golangtokyo.connpass.com/event/310844/
mackee
March 25, 2024
Tweet
Share
More Decks by mackee
See All by mackee
perlをWebAssembly上で動かすと何が嬉しいの??? / Where does Perl-on-Wasm actually make sense?
mackee
0
390
Agentに至る道 〜なぜLLMは自動でコードを書けるようになったのか〜
mackee
5
4.6k
今!ソフトウェアエンジニアがハードウェアに手を出すには
mackee
14
6.1k
ワンバイナリWebサービスのススメ
mackee
10
8.3k
tanukistack ライブコーディング / tanukistack live-coding
mackee
0
310
range over funcの使い道と非同期N+1リゾルバーの夢 / about a range over func
mackee
0
1.1k
perl for shell, awk and sed programmers
mackee
3
2.6k
今更GoのWebフレームワークを作ろうとしているワケ / Why am I trying to create a Go web framework now?
mackee
1
1k
database/sqlでNullを扱う歴史とsql.Null[T]の登場 / sql.Null[T] history
mackee
0
930
Other Decks in Programming
See All in Programming
開発者から情シスまで - 多様なユーザー層に届けるAPI提供戦略 / Postman API Night Okinawa 2026 Winter
tasshi
0
180
AI Agent Tool のためのバックエンドアーキテクチャを考える #encraft
izumin5210
6
1.8k
コマンドとリード間の連携に対する脅威分析フレームワーク
pandayumi
1
440
例外処理とどう使い分ける?Result型を使ったエラー設計 #burikaigi
kajitack
16
5.9k
MDN Web Docs に日本語翻訳でコントリビュート
ohmori_yusuke
0
630
副作用をどこに置くか問題:オブジェクト指向で整理する設計判断ツリー
koxya
1
570
IFSによる形状設計/デモシーンの魅力 @ 慶應大学SFC
gam0022
1
280
Unicodeどうしてる? PHPから見たUnicode対応と他言語での対応についてのお伺い
youkidearitai
PRO
1
1k
Package Management Learnings from Homebrew
mikemcquaid
0
170
ELYZA_Findy AI Engineering Summit登壇資料_AIコーディング時代に「ちゃんと」やること_toB LLMプロダクト開発舞台裏_20251216
elyza
2
1.4k
gunshi
kazupon
1
150
Vibe codingでおすすめの言語と開発手法
uyuki234
0
210
Featured
See All Featured
Tell your own story through comics
letsgokoyo
1
800
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
0
310
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
420
Why Our Code Smells
bkeepers
PRO
340
58k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
370
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
69
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
61
52k
Paper Plane (Part 1)
katiecoart
PRO
0
3.8k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
200
Utilizing Notion as your number one productivity tool
mfonobong
2
210
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Optimising Largest Contentful Paint
csswizardry
37
3.6k
Transcript
ϚΠΫϩαʔϏεԽΛར༻ͨ͠ GoͷҠߦࣄྫ @mackee_w a.k.a @macopy
Δਓ • X: @mackee_w • GitHub: @mackee • ໘ന๏ਓΧϠοΫ •
Tonamel αʔόʔαΠυΤϯδχΞ
GoͷҠߦΛͨ͠αʔϏε
None
ݱࡏͷػೳͷ୲ • PerlϞϊϦε෦ • ΞΧϯτཧɾೝূɾ௨ • GoϚΠΫϩαʔϏε෦ • ্هҎ֎શͯ •
τʔφϝϯτදɾΠϕϯτཧɾओ࠵ஂମཧɾܾࡁetc…
ͳͥGoʹ͔ͨ͠ʁ • 2020࣌PerlͷGraphQLϥΠϒϥϦͷύʔείετ͕ॏ͔ͬͨ • ͪΐ͏ͲτʔφϝϯτදʹػೳΛՃ͢Δͱ͜ΖͩͬͨͷͰɺ·Δ·Δ GoʹҠ২+৽ن࣮͢Δ͜ͱʹͨ͠ • ͔͜͜Βࡉ͔͘PerlϞϊϦε͔ΒGoϚΠΫϩαʔϏεΓग़͍ͯ͘͠ • ΧϠοΫࣾͰGoͷݟ͋ͬͨͷͰɺҠߦઌͷݴޠͱͯ͠GoΛબͿ
ͷࣗવͩͬͨ
GoͷҠߦͷํ • ແཧʹPerlΛണ͕͞ͳ͍ • طଘػೳͷվम৽ػೳΛಋೖ͢Δͱ͖ʹΔ • ઌʹҠ২Λͬͯಉ͡ػೳͰϦϦʔε্ͨ͠ͰɺվमΛΔͱ͍͍ײ͡ • σʔλετΞطଘͷαʔϏεͱ͢Δ •
τʔφϝϯτද͚ͩDynamoDBɺ͋ͱશͯAurora MySQL͕ͩαʔ Ϗε͝ͱʹσʔλϕʔεΛ͚͍ͯΔ
Ҡߦͷख๏ ΠϕϯτཧαʔϏεͷҠߦ࣌ͷࣄྫ
υϝΠϯΠϕϯτ • ݩʑPerlͷϞϊϦεҰ෦͕ϞδϡϥϞϊϦεతͳΞʔΩςΫνϟʹ ͳ͍ͬͯͨ • ڥք͚ͮΒΕͨίϯςΩετ͝ͱʹಠཱ͍ͯͯ͠ɺίϯςΩετؒ ͷσʔλͷΓऔΓυϝΠϯΠϕϯτͰΔ • υϝΠϯΠϕϯτ: ίϯςΩετͰൃੜͨ͠ग़དྷࣄͷ͜ͱ
• υϝΠϯΠϕϯτΛίϯςΩετؒͰ͛߹ͬͯେ͖ͳػೳΛ࣮ݱ͢ Δ
ୈ0ஈ֊: υϝΠϯΠϕϯτͷඇಉظԽ • ͦΕ·ͰυϝΠϯΠϕϯτ࣮ࡍʹଞͷؔͷಉظతͳݺͼग़͠ ͩͬͨ • ֎෦ͷΠϕϯτόεΛհͨ͠ඇಉظԽΛ·ͣߦͬͨ ίϯςΩετ" ίϯςΩετ# Πϕϯτόε
υϝΠϯ Πϕϯτ υϝΠϯ Πϕϯτ Perlϓϩηε
ୈ1ஈ֊: υϝΠϯΠϕϯτͷՃ • υϝΠϯΠϕϯτΛൃߦ͍ͯ͠ͳ͔ͬͨλΠϛϯάͰυϝΠϯΠϕ ϯτΛൃߦ͢ΔΑ͏ʹͨ͠ • ୈ2ஈ֊Ͱ৽αʔϏεଆͰσʔλͷಉظΛऔΔͨΊ ίϯςΩετ" Πϕϯτόε υϝΠϯ
Πϕϯτ Perlϓϩηε
ୈ2ஈ֊: μϒϧϥΠτ • ৽αʔϏεଆͰυϝΠϯΠϕϯτΛsubscribeͯࣗ͠ͷαʔϏεʹ ߹ͬͨܗͰσʔλΛॻ͖ࠐΉ • GoͷαʔϏεͰ·ͩϢʔβʔ͔ΒͷϦΫΤετΛड͚͚ͳ͍ ίϯςΩετ" Πϕϯτόε υϝΠϯ
Πϕϯτ Perlϓϩηε υϝΠϯ Πϕϯτ ίϯςΩετ$ GoαʔϏε
ୈ3ஈ֊: ٯํμϒϧϥΠτ • ৽αʔϏεଆͰϦΫΤετΛड͚͚࢝ΊΔɻҰ෦ͷσʔλͷओैΛೖΕସ͑Δ • ·ͩଞͷػೳ͕Perlϓϩηεଆʹ͍ͬͯΔͷͰ৽αʔϏεଆͰൃߦͨ͠υϝΠ ϯΠϕϯτΛͱʹچαʔϏεଆͷσʔλΛߋ৽͢Δ ίϯςΩετ" Πϕϯτόε υϝΠϯ
Πϕϯτ Perlϓϩηε υϝΠϯ Πϕϯτ ίϯςΩετ$ GoαʔϏε
ୈ4ஈ֊: Perlଆͷػೳͷআ • ͋ΔίϯςΩετͷػೳΛશʹ৽αʔϏεଆʹҠߦͨ͠ΒPerlଆͷ ίϯςΩετͷίʔυΛআ͠ͰσϓϩΠ͢Δ • υϝΠϯΠϕϯτͦͷ··ϩά༻ʹ͍ͯ͠Δ ίϯςΩετ" Πϕϯτόε υϝΠϯ
Πϕϯτ Perlϓϩηε ίϯςΩετ$ GoαʔϏε
Ҡߦͷίπ • ϏοάόϯΛͱʹ͔͘ආ͚Δ • ݩͷίʔυͷҙਤΛͪΌΜͱཧղ͢Δ • ॻ͍ͨਓ͕͍Εฉ͘ ͍ͳ͚ΕBlameͳͲΛؤுΔ • Ҡߦظʹ෦͚APIʹΑΔಉظతݺͼग़͠ซ༻͢Δ
• ͨͩ͠ϧʔϓʹҙ • ࠷దͳΓํαʔϏεಛੑυϝΠϯʹ߹Θͤͯߟ͑Δ͔͠ͳ͍…
GoʹҠߦͨ͠ྑ͔ͬͨ͜ͱ • ܕ͕͍ͭͯϋοϐʔ • ਓͷ࠾༻͕͘͢͠ͳͬͨ…Α͏ͳؾ͕͢Δ • ͱ͍͑νʔϜϝϯόʔΈΜͳPerlॻ͘ػձ͕·ͩগ͋͠Γ·͢ • GoPHPRuby, JavaʹൺͨΒগͳ͍ͷͰͦ͜·Ͱ͕ࠩͳ͍͔͠Εͳ͍
• ϦΫΤετ͋ͨΓͷຊ൪Ϧιʔεͷফඅ͕গͳ͍ • ݩʑPerlগͳ͍͕ɺ͞Βʹগͳ͍
GoʹҠߦͯ͠ਏ͔ͬͨ͜ͱ • νʔϜશମͰ͕ඞཁ • Ҡ২͍ͯ͠Δ࣌Ͳ͏ͯ͠ݟ͕ͨมΘΒͳ͍࣌ظ͕͋Δ • ϚΠΫϩαʔϏεͰҠ২தͱػೳ֦ுதͷͷʹ͚͍͢ͷͰͦ Ε͍͍͔͠Εͳ͍ • ෳͷݴޠѻ͑Δਓ͕ภΓ͕ͪ
• ؾ߹͍ͰΓӽ͍͔͑ͯ͘͠ͳ͍
Ҏ্Ͱ͢