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.8k
日報を 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
120
BigQuery経由で使うGoogleスプレッドシートのスキーマ管理
masutaka
0
280
本を聴く毎日を送っています
masutaka
0
53
ボッチLookML開発者兼データ整備人を連れてきたよ!
masutaka
0
91
ここがつらいよ普段使いのLinux
masutaka
0
270
4月から取り組んできたLookerの導入から実装までのお話
masutaka
0
140
HerokuでSidekiqを監視する方法を確立した
masutaka
0
540
デプロイで止まらないバッチ処理を求めて
masutaka
1
100
デプロイ元をCircleCIからHerokuに乗り換えた
masutaka
0
88
Other Decks in Programming
See All in Programming
データの整合性を保つ非同期処理アーキテクチャパターン / Async Architecture Patterns
mokuo
46
17k
iOSエンジニアから始める visionOS アプリ開発
nao_randd
3
130
GitHub Actions × RAGでコードレビューの検証の結果
sho_000
0
260
GAEログのコスト削減
mot_techtalk
0
120
DROBEの生成AI活用事例 with AWS
ippey
0
130
2024年のkintone API振り返りと2025年 / kintone API look back in 2024
tasshi
0
220
Immutable ActiveRecord
megane42
0
140
Software Architecture
hschwentner
6
2.1k
[JAWS-UG横浜 #80] うわっ…今年のServerless アップデート、少なすぎ…?
maroon1st
1
180
AIの力でお手軽Chrome拡張機能作り
taiseiue
0
170
動作確認やテストで漏れがちな観点3選
starfish719
6
1k
密集、ドキュメントのコロケーション with AWS Lambda
satoshi256kbyte
0
190
Featured
See All Featured
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
10
1.3k
RailsConf 2023
tenderlove
29
1k
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.5k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
The World Runs on Bad Software
bkeepers
PRO
67
11k
For a Future-Friendly Web
brad_frost
176
9.5k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.3k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
Designing on Purpose - Digital PM Summit 2013
jponch
117
7.1k
Code Review Best Practice
trishagee
67
18k
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[ͷίʔυશ෦ͳ͘ͳΓ·ͨ͠ɻਃ͠ ༁͍͟͝·ͤΜ