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
Running with version up
Search
ta1kt0me
July 14, 2018
Technology
82
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Running with version up
ta1kt0me
July 14, 2018
More Decks by ta1kt0me
See All by ta1kt0me
過去の改善から考える オブザーバビリティの必要性
ta1kt0me
0
64
Update Billion Records
ta1kt0me
3
5.4k
omotesandorb_8.pdf
ta1kt0me
1
430
Rubyでのプロファイリング
ta1kt0me
0
130
開発環境でdockerを使ってみた
ta1kt0me
0
470
Other Decks in Technology
See All in Technology
Kaggleで成長するために意識したこと
prgckwb
2
410
AIと共生する開発者プラットフォーム:バクラクのモノレポ×マイクロサービス基盤
sakajunquality
2
3.8k
AI時代の開発生産性は、個人技からチーム設計へ
moongift
PRO
4
2.4k
SREとQA 二人三脚で進めるSLO運用/sre-qa-slo
sugitak
0
940
非定型なドキュメントを効率よくリファクタする 〜えぇ!?仕様書27本の移行が1日で終わったって!?〜
subroh0508
2
560
DMM.com 購入改善推進チーム におけるCodeRabbitを用いた レビューフロー改善の一例
ysknsid25
2
670
「AIに依存している」と 「AIを使いこなしている」の違い
k8yasuma
0
120
CDKで書くECSのベストプラクティス、 改めて考え直す2026 #cdkconf2026
makies
3
810
Alphaモジュール使っていいのかい!?いけないのかい!?どっちなんだいっ!?
watany
1
280
ZOZOTOWNの進化と信頼性を両立する負荷試験
zozotech
PRO
2
220
シンガポールで登壇してきます
yama3133
0
240
AICoEでAIネイティブ組織への進化
yukiogawa
0
200
Featured
See All Featured
First, design no harm
axbom
PRO
2
1.2k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
630
Google's AI Overviews - The New Search
badams
0
1.1k
Statistics for Hackers
jakevdp
799
230k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
Unsuck your backbone
ammeep
672
58k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
4 Signs Your Business is Dying
shpigford
187
22k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.3k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.7k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Believing is Seeing
oripsolob
1
170
Transcript
όʔδϣϯΞοϓͱ ҰॹʹΔ !UBMLUP@NF
TFMG w τΫτϛώϩΩ w 3VCZΤϯδχΞ!HSPPWFTJOD w (JU)VC!UBLUNF w 5XJUUFS!UBMLUP@NF
None
w த్࠾༻ࢧԉαʔϏε w ਓࡐհࣄۀऀͱٻਓاۀΛͭͳ͛Δ w ϞϊϦγοΫͳ3BJMTΞϓϦέʔγϣϯ
Ξοϓσʔτͱͷ ͖߹͍ํ
HFNͷΞοϓσʔτ
3BJMTͷΞοϓσʔτ
ͱ͍͏ͷ͕ઌʑि
ͳͥΔ͔
$SPXE"HFOUͷྺ࢙
աڈͷϦϓϨΠε w αʔϏε։͔࢝Β w ࠷ॳ֎Ͱ$(* w $BUBMZTUͰԽϦϓϨΠε w 3VCZPO3BJMTͰϦϓϨΠε
3BJMTͰͷϦϓϨΠεϦϦʔε
എܠ w ϝΠϯ։ൃऀʢͨͬͨҰਓʣͷ৬ w ੵΈॏͳٕͬͨज़తෛ࠴
αʔϏε ։ൃऀ☠
Ξοϓσʔτ͍͢͠ ঢ়ଶΛอͭՁ
Ͳ͏Δ͔
ܧଓతʹऔΓΉ ඞཁͳ࣌ʹΔ
جຊܧଓత
ܧଓ͍͢͠ঢ়گΛ࡞Δ w ςετ w ࣗಈԽ w νʔϜͰ͖߹͏
ςετ w lςετ͕ͳ͍ͱ13Ϛʔδ͠ͳ͍ͷ͕ʮ;ͭ͏ʯz w ;ͭ͏ͷ3BJMTΞϓϦέʔγϣϯ։ൃ!POL w কདྷͷϓϩμΫτ։ൃΛָʹ͢Δࢿ
ࣗಈԽ w CVOEMFVQEBUFZBSOVQHSBEFΛຖ w EJ⒎Λ֬ೝ͘͢͠ w #VOEMFVQEBUF w IUUQTHJUIVCDPNTJOTPLVCVOEMFSEJ⒎ w
:BSOVQHSBEF w IUUQTSFOPWBUFCPUDPN
1 pullrequest_body=`bundle diffgems -f md_table | ruby -e "require 'json';
print JSON.generate(STDIN.read, quirks_mode: true)"` 2 branch_name=bundle_update_$CIRCLE_BUILD_NUM 3 git checkout -b $branch_name 4 git commit -m 'Bundle update' -- Gemfile.lock 5 6 if [[ $pullrequest_body = *"rubocop"* ]]; then 7 bundle exec rubocop --auto-gen-config 8 git add .rubocop_todo.yml 9 git commit -m 'bundle exec rubocop --auto-gen-config' 10 fi 11 12 if [[ $pullrequest_body = *"webpacker"* ]]; then 13 regexp="\[webpacker\]\(https://github\.com/rails/webpacker\) \| [0-9]+\.[0-9]+\.[0-9]+ \| ([0-9]+\.[0-9]+\.[0-9]+) \|" 14 if [[ $pullrequest_body =~ $regexp ]]; then 15 yarn upgrade @rails/webpacker@${BASH_REMATCH[1]} 16 git add package.json yarn.lock 17 git commit -m "yarn upgrade @rails/webpacker@${BASH_REMATCH[1]}" 18 fi 19 fi 20 21 git push origin $branch_name 22 curl -X POST -H "Authorization: token $GITHUB_ACCESS_TOKEN" --data "{\"title\": \"bundle update $CIRCLE_BUILD_NUM\", \"head\": \"$branch_name\", \"base\": \"master\", \"body\": $pullrequest_body}" https://api.github.com/repos/:organization/:repository/pulls w CVOEMFVQEBUF w ಛఆͷHFN͕VQEBUF͞Εͨ࣌ͷϑοΫॲཧ
νʔϜͰ͖߹͏ w ϥΠϒϥϦΞοϓσʔτχϡʔεϨλʔ w ΛνʔϜͰड͚࣋ͭ w ؾ͍ͮͨਓɾऔΓΜͩਓΛࢌ͑ΔධՁ͢Δ
ຖখ͘͞ίπίπ
ඞཁͳ࣌ʹΔύλʔϯ
3BJMTͷόʔδϣϯΞοϓ
w ࠊΛਾ͑ͯௐࠪ w ࣄલ४උ w Δ͜ͱΛߜΔ
λΠϛϯάΛޡͬͨྫ
CPPUTUSBQ☠
λΠϛϯάΛޡͬͨ w ૣܾ͗ͨ͢அ w CFUBͰܹ͠Ίͷมߋ w ӨڹൣғΊͷमਖ਼ΛରԠதʹਖ਼ࣜ൛͕ϦϦʔε w CPPUTUSBQ@GPSNHFN͕ରԠ͍ྃͯ͠ͳ͔ͬͨ w
IUUQTHJUIVCDPNDPNGZDPNGZCPPUTUSBQ GPSNͷΓସ͑ͰରԠ
มߋ͕େ͖͘ͳΓ͕ͪ w ʢ΄΅ʣશը໘ରԠ w ґଘ͕ߴ͍έʔεͰେྔͷมߋΛҰׅϦϦʔε͢Δඞ ཁੑ
४උෆ w ΠϯύΫτͷ͋Δੜ࡞ۀ w qFYCPYରԠͷͨΊQIBOUPNKT͔ΒIFBEMFTTDISPNF Γସ͑ w K2VFSZYΛ͍ͬͯͨͨΊYʹ
ͭΒ͔ͬͨ
ࣄલ४උ w େͳͷ3BJMTҰॹ w Ξοϓσʔτ࡞ۀΛ͢ΔͨΊͷࠐΈ w ؔ࿈HFN w 3BJMTͷσϑΥϧτʹدͤΔ
Δ͜ͱΛߜΔ w มߋ࠷খݶΛҙࣝ͢Δ w ৽ػೳޙͰ w ࣍ظόʔδϣϯΞοϓ·ͰʹΕ͍͍͜ͱٸ͕ͳ͍ w 50%0ɺλεΫԽΛΕͳ͍
࠷ۙ3BJMTʹ ͋͛·ͨ͠
ύϑΥʔϚϯε
w ։ൃڥͰͷܭଌͳͷͰ࣮ଶͱဃ͍ͯ͠ΔՄೳੑ͋Δ ༷ʑͳૢ࡞Λߦ͏ॏͨΊͷ TZTUFNTQFD TFD TFD ΤʔδΣϯτ༻501 TFD
TFD ਓࣄ༻501 TFD TFD ཧը໘501 TFD TFD
3BJMT৽ػೳFUD w ZBSO w XFCQBDLFS w SBJMTVKT w 4ZTUFNUFTU w
&ODSZQUFETFDSFUT w 1BSBNFUFSJ[FENBJMFST w %JSFDUSFTPMWFESPVUFT w GPSN@XJUI w $IBOHF%FGBVMU1SJNBSZ,FZTUP#*(*/5
3BJMT৽ػೳ w "DUJWF4UPSBHF w 3FEJT$BDIF4UPSF w )551&BSMZ)JOUT w $SFEFOUJBMT w
$POUFOU4FDVSJUZ1PMJDZ w CPPUTOBQ w $VSSFOU"UUSJCVUFT
·ͱΊ w վળΛ͘͢͢͠ΔͨΊʹΞοϓσʔτେࣄ w ָʹɺܧଓతʹ w খ͘͞ɺܭըతʹ
͋Γ͕ͱ͏͍͟͝·ͨ͠
None