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
83
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
SREとQA 二人三脚で進めるSLO運用/sre-qa-slo
sugitak
0
950
人を動かすのは時間ではなく、納得感 〜新任EMが入社3ヶ月、組織を2回変えた話〜
kakehashi
PRO
3
270
Compose 新機能総まとめ / What's New in Jetpack Compose
yanzm
0
320
Claude Code公式skillで 自分の仕事を少しずつ手放そう!(Claude Code開発ノウハウ大公開スペシャル by クラスメソッド)
kaym
1
490
GoでCコンパイラを作った話
repunit
0
110
AICoEでAIネイティブ組織への進化
yukiogawa
0
200
非定型なドキュメントを効率よくリファクタする 〜えぇ!?仕様書27本の移行が1日で終わったって!?〜
subroh0508
2
560
誤解だらけの開発生産性 / Myths and Misconceptions about Developer Productivity
i35_267
2
810
AI時代の開発生産性は、個人技からチーム設計へ
moongift
PRO
4
2.4k
企業でAWS Organizationsを動かすための組織設計の考え方
nrinetcom
PRO
1
110
ガバナンスの「ちょうどいい落とし所」を探れ!開発スピードを妨げない運用判断の勘所 / SRE NEXT 2026
genda
1
250
脱金融のフューチャー・デザイン / Future Design Beyond Finance
ks91
PRO
0
160
Featured
See All Featured
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
600
RailsConf 2023
tenderlove
30
1.5k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
880
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
590
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
630
Typedesign – Prime Four
hannesfritz
42
3.1k
My Coaching Mixtape
mlcsv
0
170
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.9k
Thoughts on Productivity
jonyablonski
76
5.2k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2.1k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
190
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