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
70
Update Billion Records
ta1kt0me
3
5.5k
omotesandorb_8.pdf
ta1kt0me
1
430
Rubyでのプロファイリング
ta1kt0me
0
130
開発環境でdockerを使ってみた
ta1kt0me
0
470
Other Decks in Technology
See All in Technology
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
54k
現場の暗黙知を継承するAIエージェント — 対話から生まれる長期記憶と Skills
atsukish
0
130
会計事務所と顧問先の契約関係をOIDC・OAuthで表現する
terara
0
490
形式手法特論:Hyperproperty とモデル検査 #kernelvm / Kernel VM Study Tokyo 19th
ytaka23
1
880
サーバー常駐型の 簡易障害調査AI エージェントを作ってみた話
masayoshi
1
320
ハッカソンで入賞した話 @ Findy LT
asari194617
0
1.5k
Cloudflare製品を活用した AIガバナンス実践入門 / AI governance with Cloudflare Service
delta_tech
1
120
500名弱規模の組織のPythonプロジェクト(dbt) をどう管理するか?
hiracky16
0
360
『自分で判断できるか』を基準に、プロダクトのハンズオン研修でAI利用の線を引いてみた / Where We Drew the Line on AI in Hands-on Training
honyanya
1
440
VPCでもFloatingIPを使いたいんだ
y_kotani
1
130
Master Dataグループ紹介資料
sansan33
PRO
1
4.8k
パスキーでドライブする アカウント統合(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
360
Featured
See All Featured
BBQ
matthewcrist
89
10k
The agentic SEO stack - context over prompts
schlessera
0
880
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
400
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
45k
HDC tutorial
michielstock
2
820
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
510
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
4
500
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.1k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.4k
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