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
日報を golang で支える技術
Search
Takashi Masuda
October 14, 2017
Programming
2
1.9k
日報を golang で支える技術
github-nippou という gem を golang で書き直したお話です。
https://developer.feedforce.jp/entry/2017/10/16/150000
Takashi Masuda
October 14, 2017
Tweet
Share
More Decks by Takashi Masuda
See All by Takashi Masuda
自分のブログをCloudFront+HerokuからCloud Runに移行した
masutaka
0
160
BigQuery経由で使うGoogleスプレッドシートのスキーマ管理
masutaka
0
320
本を聴く毎日を送っています
masutaka
0
73
ボッチLookML開発者兼データ整備人を連れてきたよ!
masutaka
0
120
ここがつらいよ普段使いのLinux
masutaka
0
340
4月から取り組んできたLookerの導入から実装までのお話
masutaka
0
170
HerokuでSidekiqを監視する方法を確立した
masutaka
0
620
デプロイで止まらないバッチ処理を求めて
masutaka
1
130
デプロイ元をCircleCIからHerokuに乗り換えた
masutaka
0
110
Other Decks in Programming
See All in Programming
Nitro v3
kazupon
2
320
全員アーキテクトで挑む、 巨大で高密度なドメインの紐解き方
agatan
5
8.2k
Micro Frontendsで築いた 共通基盤と運用の試行錯誤 / Building a Shared Platform with Micro Frontends: Operational Learnings
kyntk
0
120
モデル駆動設計をやってみよう Modeling Forum2025ワークショップ/Let’s Try Model-Driven Design
haru860
0
180
Java_プロセスのメモリ監視の落とし穴_NMT_で見抜けない_glibc_キャッシュ問題_.pdf
ntt_dsol_java
0
220
生成AIを活用したリファクタリング実践 ~コードスメルをなくすためのアプローチ
raedion
0
110
Amazon Bedrock Knowledge Bases Hands-on
konny0311
0
150
How Software Deployment tools have changed in the past 20 years
geshan
0
1.7k
なぜ強調表示できず ** が表示されるのか — Perlで始まったMarkdownの歴史と日本語文書における課題
kwahiro
12
7.2k
知られているようで知られていない JavaScriptの仕様 4選
syumai
0
630
Evolving NEWT’s TypeScript Backend for the AI-Driven Era
xpromx
0
160
Feature Flags Suck! - KubeCon Atlanta 2025
phodgson
0
150
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
34
2.3k
Producing Creativity
orderedlist
PRO
348
40k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Faster Mobile Websites
deanohume
310
31k
Facilitating Awesome Meetings
lara
57
6.6k
Designing for humans not robots
tammielis
254
26k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
How to Ace a Technical Interview
jacobian
280
24k
BBQ
matthewcrist
89
9.9k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Raft: Consensus for Rubyists
vanstee
140
7.2k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.1k
Transcript
̋̋Λࢧ͑Δٕज़ ૿ాو࢜ !NBTVUBLB
̋Λࢧ͑Δٕज़ ૿ాو࢜ !NBTVUBLB
ใΛࢧ͑Δٕज़ ૿ాو࢜ !NBTVUBLB
͜Ε·Ͱͷ͓ w ͷࣾษڧձͰɺHJUIVCOJQQPVͱ͍͏HFN Λ࡞ͬͨΛͨ͠ w (JU)VCͷࠓͷߦಈΛܗͯ͠ग़ྗ͢Δπʔϧ w ݩ-*/&ͷ͖͚ͨʔ !LJUBL ͞ΜͷεΫϦϓτ
w (JU)VCͷ&WFOUT"1*ͷ༷ʹԊͬͨΓɺฒྻॲཧΛ ࣮ͨ͠Γͯ͠ɺͦͦ͜͜ຬͰ͖Δπʔϧʹͳͬͨ IUUQTNBTVUBLBOFUDIBMPXIUNM
࠷ۙͷ HJUIVCOJQQPV
!SZ[
WϦϦʔε w (JTU্ͷઃఆϑΝΠϧͰग़ྗϑΥʔϚοτΛมߋՄೳʹͳͬͨCZ !SZ[ w ্هʹ͍αϒίϚϯυʮJOJUʯΛՃCZ!SZ[ w ઃఆϑΝΠϧͷ63-ΛϒϥβͰ։͘αϒίϚϯυʮPQFOTFUUJOHTʯ ΛՃ w
%PDLFSJ[F w ςετ STQFD ΛಋೖCZ!SZ[ w 5SBWJT$*Λಋೖ IUUQTHJUIVCDPNNBTVUBLBHJUIVCOJQQPVSFMFBTFTUBHW
WϦϦʔε w ઃఆϑΝΠϧͷॻࣜΛগ͠มߋ IUUQTHJUIVCDPNNBTVUBLBHJUIVCOJQQPVSFMFBTFTUBHW
WϦϦʔε w αϒίϚϯυʮJOJUʯʹॳظઃఆॲཧΛͯ͢· ͱΊͨ IUUQTHJUIVCDPNNBTVUBLBHJUIVCOJQQPVSFMFBTFTUBHW
w ͻͱͭͷεΫϦϓτ͔Βɺ͖ͣʹΑ͘࡞Γࠐ Μͩͳͱݴ͏ײ w ͏͜ΕҎ্ΕΔ͜ͱͳ͍Ͱ͋Ζ͏
Ͱɺ
Α͔͘Βͳ͍͚Ͳɺ ٸʹΔؾ͕ग़͖ͯͨʂ
None
ใΛࢧ͑Δٕज़ ૿ాو࢜ !NBTVUBLB HPMBOHͰ
WϦϦʔε͠·͢ HJUQVTIPSJHJOHPMBOH HJUCSPXTFSFNPUFQS 8BJU$*BOE.FSHF13 HJUDIFDLPVUNBTUFS HJUQVMM NBLFEJTU NBLFSFMFBTF PQFOIUUQTHJUIVCDPNNBTVUBLBHJUIVC OJQQPVSFMFBTFTUBHW
"EESFMFBTFOPUF $*͕Ϳ͚ͬͭ ຊ൪ ??
WϦϦʔε w ϢʔβʹҰӨڹΛ༩͑ͣʹɺͯ͢HPMBOHͰ ॻ͖͑ͨ w %PDLFSJ[FҰ୴ഇࢭ IUUQTHJUIVCDPNNBTVUBLBHJUIVCOJQQPVSFMFBTFTUBHW
)PNFCSFX͚ϦϦʔε &EJUHJUIVCOJQQPVSC HJUBEEHJUIVCOJQQPVSC HJUDPNNJUN"EEGPSNVMB HJUQVTIPSJHJONBTUFS PQFOIUUQTHJUIVCDPNNBTVUBLBIPNFCSFX HJUIVCOJQQPVTFUUJOHT .BLFQVCMJD CSFXJOTUBMMNBTVUBLBHJUIVCOJQQPVHJUIVCOJQQPV ग़དྷΔͣɻ
Ϟνϕʔγϣϯ w ҎલɺIVCίϚϯυ͕SVCZ͔ΒHPMBOHʹҠߦͨ࣌͠ɺ ͔͍͍ͬ͜ͳʔͱࢥ͍ͬͯͨ w SVCZͷ$-*Λ%PDLFSJ[Fͯ͠ϙʔλϏϦςΟΛߴΊΔͷ Կ͔͕ҧ͏ͱ͍͏ؾ࣋ͪ w %PDLFSJ[FͰ͑ͳ͘ͳΔػೳ͋Δʢྫɿϒϥβ Ͱ։͘ʣ
w !SZ[͔ΒΒͬͨݩؾ IUUQTHJUIVCDPNHJUIVCIVCSFMFBTFTUBHW
Ͳ͏ਐΊ͔ͨ ίΞػೳ͔ΒҠ২։࢝ w ϩδοΫ3VCZͰ͍ͯͨ͠ͷͰɺΨʔοͱॻ্͖͛Β Εͨ w ͱݴ͑ɺக໋తͳԿ͔ΛҰ൪ڪΕ͍ͯͨ αϒίϚϯυΛҠ২
ςετΛҠ২ .BLFpMF࡞ΓࠐΈ
ସϥΠϒϥϦͳͲ SVCZ HPMBOH PDUPLJUHFN HJUIVCDPNHPPHMFHPHJUIVC ˞ QBSBMMFMHFN 5ISFBE HPSPVUJOF DIBOOFM
UIPSHFN HJUIVCDPNTQGDPCSB :".-.PEVMF HPQLHJOZBNMW MBVODIZHFN HJUIVCDPNTLSBUDIEPUPQFOHPMBOH IJHIMJOFHFN GNUQBDLBHF /BNFEGPSNBUTUSJOH UFYUUFNQMBUFQBDLBHF ˞ ˞HJUIVCDPNPDUPLJUHPPDUPLJU։ൃ͕ࢭ·͍ͬͯ·͢ ˞෦Ͱ\IPHF^Λ\\IPHF^^ʹม͠·ͨ͠
ସϩδοΫͳͲ w 0DUPLJU$MJFOUTDPQFT ˞ ͳΜ͍ͯ͏ศརϝιο υͳ͔ͬͨɻίʔυΛಡΜͰ MJCHFU$MJFOU4DPQFT Λࣗ࡞ͨ͠ w "TTFU
DPOpHTFUUJOHTZNM ϓϩάϥϜ͔Βࢀ রͰ͖ͳ͘ͳΔɻHJUIVCDPNKUFFVXFOHP CJOEBUBͰCJOEBUBHPʹมɻ͍͍ײ͡ͷNBLF ͷSVMFॻ͍ͨ ˞IUUQTHPPHMN[D#J.
–Takashi Masuda 2017 “ಉ͡ͷͻͱͭͱͯ͑͠ͳ͍”
ྑ͔ͬͨ͜ͱ w ΠϯετʔϧΞοϓσʔτ͕༰қʹͳͬͨ w ྫɿ)PNFCSFXͰΠϯετʔϧ w ྫɿ#JU#BSͰΞοϓσʔτݕ IUUQTHFUCJUCBSDPNQMVHJOT%FW)PNFCSFXCSFXVQEBUFTITI
ྑ͔ͬͨ͜ͱ w ༧֎ͷύϑΥʔϚϯε্ w ྫHJUIVCOJQQPVTT w 3VCZTFD w HPMBOHTFD w
͍͍ͩͨഒҎ্͍
ྑ͔ͬͨ͜ͱ w ݁Ռతʹ͍ΖΜͳϥΠϒϥϦΛ͑ͯɺྑ͍ૉ ৼΓʹͳͬͨ w HPMBOHͷϥΠϒϥϦΛࢼ͢৺ཧతোน͕ݮͬ ͨ
ࠔͬͨ͜ͱ w ͱʹ͔͕ؔ͘͘ͳΓ͕ͪ w HFU999 ଟ͘ͳΓ͗͢ w ϑΝΠϧׂͷҙຯ w ॻ͚ॻ͘΄ͲHPMBOHͬΆ͍ॻ͖ํ͕͔Βͳ͘ͳΔ
w 001Ͱͳ͍͜ͱͷށ͍ʢঃʑʹʣ w 3VCZ͕ॊೈ͗ͯ͢Ҡ২͔ͬͨ͠ɻΦεεϝ͠ͳ͍
ਫ਼ਆతʹେมͩͬͨ͜ͱ w ਫ໘ԼͰਐΊͨ͜ͱ w $*ϦϦʔεͷςετ͕ग़དྷͳ͍ͷͰɺͿͬ ͚ͭຊ൪ w ༵ۚͷΠϯϑϥڞ༗ձͰͷϙʔΧʔϑΣΠε w ษڧձ·Ͱʹؒʹ߹͏ͷ͔ʁͱ͍͏যΓ
ٙͳͲ w DMBTTઃܭͰศརͩͬͨɺQSJWBUFNFUIPEͷΘΓ w ઃܭ͖͔͢͠ w DMBTTΛΘͳ͔ͬͨࠒͷ+4ͷݟΛΓ͍ͨ w ϏδωεϩδοΫͷύοέʔδ໊Ͳ͏͢Ε w
ࠓճMJCʹͨ͠
ײ w ࠓޙɺSVCZHFNTͰ$-*πʔϧΛ࡞Δ͜ͱͳ͍ ͱࢥ͏ɻܧଓར༻Λߟ͑ΔͱקΊͮΒ͍ w HPMBOH୯ҰϑΝΠϧͰͷ࣮ͱ࣮ߦʹҰ൪ ϋʔυϧ͕͍ؾ͕͍ͯ͠Δ w ͬͱָͳݴޠ͋ͬͨΒڭ͑ͯ IUUQTHJUIVCDPNHJUIVCIVCSFMFBTFTUBHW
ࠓޙͷ༧ఆ w HPMBOHͬΆ͍ॻ͖ํʹ͢Δ w ͬͱςετΛॻ͘ w HPMBOHPO-BNCEB"1*αʔόֶश͢Δ w ʰελʔςΟϯά(PݴޠʱΛಡΈΔ
͓ͼ w !SZ[ͷίʔυશ෦ͳ͘ͳΓ·ͨ͠ɻਃ͠ ༁͍͟͝·ͤΜ