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
Resolve web application deployment problems for Go
Search
linyows
March 28, 2018
Technology
2
650
Resolve web application deployment problems for Go
March 28, 2018 @fukuoka.go#10 でお話しした資料です
linyows
March 28, 2018
Tweet
Share
More Decks by linyows
See All by linyows
透過型SMTPプロキシによる送信メールの可観測性向上: Update Edition / Improved observability of outgoing emails with transparent smtp proxy: Update edition
linyows
2
200
研究の再現性を高める 仕組みをGoでつくる / Creating a system to improve the reproducibility of research using go
linyows
1
120
奥が深いメールのシステム / The depth of Email system
linyows
3
420
IaCにおけるテスト考察 / Tests in IaC
linyows
2
430
リバースエンジニアリングとGoでSlackの認知負荷を下げる / Reducing cognitive load in Slack with Reverse-engineering and Go
linyows
2
270
透過型SMTPプロキシによる送信メールの可観測性向上 / Improved observability of outgoing emails with transparent smtp proxy
linyows
2
950
プロダクションで使うGo Pluginの利便性とパフォーマンス性 / Simplicity and Performance of Go plugin for Production
linyows
0
510
求められるソフトウェアエンジニア像とキャリア戦略 / Engineers and Career Strategies Required Now
linyows
2
480
CloudflareのCAPTCHAを使って ユーザ体験を下げず不正利用を排除する / Cloudflare's captcha case study that does not degrade ux
linyows
0
350
Other Decks in Technology
See All in Technology
Windows Autopilot Deployment by OSD Guy
tamaiyutaro
0
370
ISUCONに強くなるかもしれない日々の過ごしかた/Findy ISUCON 2024-11-14
fujiwara3
8
800
Shopifyアプリ開発における Shopifyの機能活用
sonatard
4
210
ドメインの本質を掴む / Get the essence of the domain
sinsoku
2
140
B2B SaaS × AI機能開発 〜テナント分離のパターン解説〜 / B2B SaaS x AI function development - Explanation of tenant separation pattern
oztick139
1
130
これまでの計測・開発・デプロイ方法全部見せます! / Findy ISUCON 2024-11-14
tohutohu
3
340
2024年グライダー曲技世界選手権参加報告/2024 WGAC report
jscseminar
0
290
第23回Ques_タイミーにおけるQAチームの在り方 / QA Team in Timee
takeyaqa
0
260
ノーコードデータ分析ツールで体験する時系列データ分析超入門
negi111111
0
350
TinyGoを使ったVSCode拡張機能実装
askua
2
210
私はこうやってマインドマップでテストすることを出す!
mineo_matsuya
0
300
Deno+JSRでパッケージを作って公開する
askua
0
120
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
33
2.9k
The Art of Programming - Codeland 2020
erikaheidi
52
13k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
How to train your dragon (web standard)
notwaldorf
88
5.7k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Into the Great Unknown - MozCon
thekraken
32
1.5k
Testing 201, or: Great Expectations
jmmastey
38
7.1k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2.1k
Designing for humans not robots
tammielis
250
25k
Measuring & Analyzing Core Web Vitals
bluesmoon
3
78
Transcript
5PNPIJTB0EB(.01FQBCP *OD .BSDI ϫϯόΠφϦͷ σϓϩΠΛղܾ͢Δ 'VLVPLBHP
'VLVPLBHP (.0ϖύϘϓϦϯγύϧΤϯδχΞ খాԝ!MJOZPXT ٕज़෦ٕज़ج൫νʔϜ IUUQUPNPIJTBPEBDPN
'VLVPLBHP ࠷͍ۙͬͯΔ͜ͱ ▸ (P"1*ͷϦϑΝΫλϦϯάࢦඋʢ΄΅HPSN෦ ▸ &YQSFTKT /VYUKTΞϓϦͷඋ ▸ )BTIJ$PSQ7BVMUͷهࣄࣥච
'VLVPLBHP MJOVYϢʔβͷ໊લղܾΛHJUIVCͷνʔϜίϥϘϨʔλͰߦ͏
'VLVPLBHP લճͷ͓͞Β͍ʢ'VLVPLBHP ▸ $(0େม͚ͩͲطଘϦιʔε͑ͯศར ▸ 3VCZͷਖ਼نදݱΤϯδϯ0OJHNPΛόΠϯσ Οϯά ▸ ҰԠͰ͖ͨIUUQTHJUIVCDPNMJOZPXTHPPOJHNP
'VLVPLBHP ͳͥ0OJHNP ▸ (Pͷਖ਼نදݱΤϯδϯ(PPHMF3& ▸ ࠷ΑΓ҆શΛॏࢹ͍ͯ͠Δ ▸ ઢܗ࣌ؒΛอূ ▸ Ұํɺ0OJHNPઢܗ࣌ؒͰͳ͍ͷͰೖྗ͕খ͚͞Ε͍
▸ ϢʔεέʔεʹΑͬͯ0OJHNPʹϝϦοτ͕͋Δ߹͕͋Δ
'VLVPLBHP $ go test -bench RE2 | sed 's/RE2/Regexp/' >
before $ go test -bench Onigmo | sed 's/Onigmo/Regexp/' > after $ benchcmp before after benchmark old ns/op new ns/op delta BenchmarkRegexp-4 25775 31043 +20.44% ϕϯνϚʔΫ
(PͷϓϩμΫτͰ ϦϦʔεͲ͏͍ͯ͠·͔͢ʁ 'VLVPLBHP
'VLVPLBHP ϓϩμΫτͬͯݴ͍ͬͯΖ͍Ζ͋Δ ▸ ϥΠϒϥϦ ▸ ศརίϚϯυPSπʔϧ ▸ ϛυϧΣΞ ▸ 8FCΞϓϦέʔγϣϯ
'VLVPLBHP ϥΠϒϥϦศརίϚϯυϛυϧΣΞͷ߹ ▸ ϦϙδτϦͰऴΘΓී௨ʹHPHFU ▸ (JUIVC3FMFBTFTͷ"TTFUTʹ6QMPBE"1*Ͱ%PXOMPBE ▸ 31.%&#Ͱ1BDLBHF$MPVEͳͲ
'VLVPLBHP 8FCΞϓϦέʔγϣϯʁʁ ▸ $BQJTUSBOPؒҧ͍ແ͍͚Ͳେ͛͞ ▸ 4IFMMख͕ܰͩɺίϐϖͰ૿৩ͦ͠͏ ▸ #MVF(SFFOΉඞཁͳ͠ʂ
(PϫϯόΠφϦͳͷͰ σϓϩΠָͩͬͨͣ 'VLVPLBHP
(PͰελϯμʔυσϓϩΠ ख๏ͬͯԿʜ 'VLVPLBHP
'VLVPLBHP 8FCΞϓϦέʔγϣϯͷϦϦʔεʹ͓͚Δಛ ▸ ࣄલʹ$*ʢUFTUBOECVJMEʣ͢Δ ▸ සൟʹσϓϩΠ͍ͨ͠ͳͷͰϩʔϧόοΫ͍ͨ͠ ▸ Խͨ͠ϗετʹσϓϩΠ͢Δ ▸ σϓϩΠͷࣦྃഊ௨͍ͤͨ͞
▸ Կ࣌ͲΜͳมߋΛϦϦʔε͔ͨ͠ه͍ͨ͠
8FCΞϓϦέʔγϣϯͩͱ ༷ʑͳσϓϩΠλεΫ͕ඞཁ 'VLVPLBHP
λεΫΉͷ໘ͩ͠ σϓϩΠ͢Δͷ ࠓͷ࣌ɺਓ͡Όͳ͍ΑͶ 'VLVPLBHP
ܧଓతσϓϩΠ ಋೖ͢͠͞ 'VLVPLBHP
͜ΕΒΛղܾ͢Δ ιϑτΣΞΛ࡞Γ·ͨ͠ʂ ㊗㊗㊗㊗㊗ 'VLVPLBHP
͜ΕΒΛղܾ͢Δ ιϑτΣΞΛ࡞Γ·ͨ͠ʂ ㊗㊗㊗㊗㊗ 'VLVPLBHP ൃදυϦϒϯ։ൃɺࣦഊʜ ؒʹ߹͍·ͤΜͰͨ͠
'VLVPLBHP ͲΜͳͷΛ࡞͍ͬͯΔͷ͔ ▸ ϙʔϦϯάܕσϓϩΠπʔϧ ▸ (PTFSWFSTUBSUFSΛแ͢Δ ▸ ඞཁͦ͏ͳλεΫσϑΥϧτͰ࣮ ▸ ͪΖΜ֦ுੑߟ͍͑ͯΔ
'VLVPLBHP ͜ΜͳϝϞ͕ग़͖ͯͨ
'VLVPLBHP ͲΜͳͷΛ࡞͍ͬͯΔͷ͔ ϦϙδτϦ (*5 (*5)6# ϓϩηεϚωʔδϟ 4&37&345"35&3 ΞϓϦ$633&/5 ΞϓϦ/&8 Φʔσ
Οοτ '*-& 13 Ωϟογϡ 3&%*4 $0/46- ௨ 4-"$, ϙʔϦϯά
1VTI͢Δͱ͍͍ײ͡ʹ 8FCΞϓϦ͕ϦϦʔε͞ΕΔ ϓϩηεϚωʔδϟ 'VLVPLBHP తʹݴ͏ͱ
ܧଓతσϓϩΠ ಋೖ͢͠͞ 'VLVPLBHP
'VLVPLBHP ·ͱΊ ▸ 8FCΞϓϦέʔγϣϯͷσϓϩΠਵλεΫ͕ଟ͘ɺͦΕ ϫϯόΠφϦͰ͋Δ(Pʹ͓͍ͯಉ͡ ▸ ൃදυϦϒϯͰ։ൃ͢Δͱؒʹ߹Θͳ͍Ͳ͜Ζ͔ɺൃදࢿྉΛ લʹ࡞Δ͜ͱʹͳΔ ▸ ͕ɺ͍େࣄͳͷͰɺࠓޙ͍ͬͯ͘
▸ ͦͯ͠ɺӶҙ։ൃதʂ
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ 'VLVPLBHP