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.6k
日報を 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
86
BigQuery経由で使うGoogleスプレッドシートのスキーマ管理
masutaka
0
160
本を聴く毎日を送っています
masutaka
0
44
ボッチLookML開発者兼データ整備人を連れてきたよ!
masutaka
0
90
ここがつらいよ普段使いのLinux
masutaka
0
130
4月から取り組んできたLookerの導入から実装までのお話
masutaka
0
110
HerokuでSidekiqを監視する方法を確立した
masutaka
0
400
デプロイで止まらないバッチ処理を求めて
masutaka
1
81
デプロイ元をCircleCIからHerokuに乗り換えた
masutaka
0
77
Other Decks in Programming
See All in Programming
Front-end application development, Symfony-style(s)
dunglas
2
1.9k
Ruby製社内ツールのGo移行
bgpat
2
330
Folding Cheat Sheet #2
philipschwarz
PRO
0
110
What We Can Learn From OSS
inouehi
0
390
OpenAPI を守るのは難しい
ohmori_yusuke
2
780
ADRを一年運用してみた/adr_after_a_year
hanhan1978
7
2.2k
両面どころかインフラもTSでできるよ ~ 全方位TypeScriptによるプロダクト開発 ~
myfinder
9
3.2k
Open Source Swift Workshop - Foundation and first party libraries
ikesyo
0
1.1k
スクラムチームと認知負荷 - ニフティのスクラムトーク Vol2. / NIFTY Tech Talk #18
niftycorp
PRO
1
120
GitHub Actionsで泣かないためにやっておきたい設定 / Recommended GHA settings to avoid crying
pinkumohikan
3
470
SpringBoot+MyBatisで例外が出たときどこを見るか
syukai
0
110
元気予報
suu_mire0726
0
850
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
513
39k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
24
2.3k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
225
51k
Designing for humans not robots
tammielis
247
25k
It's Worth the Effort
3n
180
27k
The Power of CSS Pseudo Elements
geoffreycrofte
58
5k
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
Building an army of robots
kneath
300
41k
Side Projects
sachag
451
41k
Large-scale JavaScript Application Architecture
addyosmani
503
110k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
5
1.5k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
320
20k
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[ͷίʔυશ෦ͳ͘ͳΓ·ͨ͠ɻਃ͠ ༁͍͟͝·ͤΜ