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
Fukuoka.rb とRubyコミュニティの話 /on-fukuokarb
Search
KONDO Uchio
September 22, 2017
Technology
3
1.3k
Fukuoka.rb とRubyコミュニティの話 /on-fukuokarb
@デブサミ九州 2017
福岡Ruby会議02はこちら:
http://regional.rubykaigi.org/fukuoka02/
KONDO Uchio
September 22, 2017
Tweet
Share
More Decks by KONDO Uchio
See All by KONDO Uchio
大規模レガシーテストを 倒すための CI基盤の作り方 / #CICD2023
udzura
5
2.4k
Ruby x BPF in Action / RubyKaigi 2022
udzura
0
220
Narrative of Ruby & Rust
udzura
0
200
開発者生産性指標の可視化 / pepabo-four-keys
udzura
3
1.7k
Talk of RBS
udzura
0
420
Re: みなさん最近どうですか? / FGN tech meetup in 2021
udzura
0
750
Dockerとやわらかい仮想化 - ProSec-IT/SECKUN 2021 edition -
udzura
2
710
Device access filtering in cgroup v2
udzura
1
840
"Story of Rucy" on RubyKaigi takeout 2021
udzura
0
780
Other Decks in Technology
See All in Technology
Go製のマイグレーションツールの git-schemalex の紹介と運用方法
shinnosuke_kishida
1
410
チームの性質によって変わる ADR との向き合い方と、生成 AI 時代のこれから / How to deal with ADR depends on the characteristics of the team
mh4gf
4
330
OCI見積もり入門セミナー
oracle4engineer
PRO
0
120
SaaSプロダクト開発におけるバグの早期検出のためのAcceptance testの取り組み
kworkdev
PRO
0
440
3/26 クラウド食堂LT #2 GenU案件を通して学んだ教訓 登壇資料
ymae
1
200
ペアプログラミングにQAが加わった!職能を超えたモブプログラミングの事例と学び
tonionagauzzi
1
140
Go の analysis パッケージで自作するリファクタリングツール
kworkdev
PRO
1
410
日本MySQLユーザ会ができるまで / making MyNA
tmtms
1
360
Keynote - KCD Brazil - Platform Engineering on K8s (portuguese)
salaboy
0
120
AIエージェントキャッチアップと論文リサーチ
os1ma
6
1.2k
アプリケーション固有の「ロジックの脆弱性」を防ぐ開発者のためのセキュリティ観点
flatt_security
28
10k
モンテカルロ木探索のパフォーマンスを予測する Kaggleコンペ解説 〜生成AIによる未知のゲーム生成〜
rist
4
1.1k
Featured
See All Featured
Thoughts on Productivity
jonyablonski
69
4.5k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
2.9k
Writing Fast Ruby
sferik
628
61k
Visualization
eitanlees
146
16k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Faster Mobile Websites
deanohume
306
31k
Music & Morning Musume
bryan
46
6.4k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
21k
Facilitating Awesome Meetings
lara
53
6.3k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
How STYLIGHT went responsive
nonsquared
99
5.4k
Transcript
͋Δ͍ɺԬࢢपล3VCZίϛϡχςΟͷ׆ಈͷྺ࢙ ۙ౻Ӊஐ࿕(.01FQBCP *OD #ݫબ͝ίϛϡχςΟϦϨʔηογϣϯEFWTVNJ# 'VLVPLBSC
ࠓͷ ݁
Ԭ3VCZձٞ! IUUQSFHJPOBMSVCZLBJHJPSHGVLVPLB
Ԭ3VCZձٞ! IUUQSFHJPOBMSVCZLBJHJPSHGVLVPLB ࢀՃొडதͰ͢ʂʂ
ΞδΣϯ μ
ࠓͷ͓ wࣗݾհ w'VLVPLBSCͱ wԬʹ͓͚Δ3VCZίϛϡχςΟͷུ࢙ wͲ͏ͯ͠ʮݴޠܥίϛϡχςΟʯΛ͍͍ͬͯͬͯΔ͔ͱ͍͏ wࠓޙͷ׆ಈ༧ఆ
ࢲ
ΤϯδχΞ ۙ౻Ӊஐ࿕!VE[VSB (.0ϖύϘٕज़෦ٕज़ج൫νʔϜॴଐ IUUQVE[VSBKQ
ஶऀུྺ w౦ࡾՏग़ɻ౦ژͰ&$αΠτɺΦϯϥΠϯήʔϜͳͲͷ։ൃʹैࣄ͠ ͨͷͪɺΑΓQBQFSCPZDP ݱ(.0ϖύϘ ٕज़ج൫νʔ ϜʹॴଐɻಉԬʹҠॅɻ wΤϯδχΞͱͯ͠ͷΩϟϦΞͷॳظΑΓ3VCZίϛϡχςΟʹࢀՃ͠ ʢ౦ژˠԬʣɺݱࡏ'VLVPLBSCओ࠵ऀͷҰਓɻ wஶॻʹʮύʔϑΣΫτ3VCZPO3BJMTʯʢٕज़ධࣾʣଞɻ w3VCZ,BJHJొஃऀɺ࠷ۙͷڵຯNSVCZͱ-JOVYίϯςφɻ
w͖ͳϥʔϝϯभͷʮΒʔΊΜཾʯ
'VLVPLBSC
'VLVPLBSCͱ w݄ΑΓ࠶ىಈͨ͠ɺ3VCZͷʮҬίϛϡχςΟʯ w΄΅ִि݄ճΛ҆ͰϛʔτΞοϓΛ͍ͯ͠Δ wؾ͍ͮͨΒɺճͷϛʔτΞοϓΛ։࠵ wεϐϯΦϑͰʮ/JTIJUFUTVSCʯͱ͍͏ɺమԊઢ͘͠మόεͷ ఀཹॴۙ͘ʢʹ࣮࣭ԬશʣͰඒຯ͍͠ͷΛ৯ΔϛʔτΞοϓ ։࠵͍ͯ͠·͢DG5PLZVSC
ू·ͬͯɺ3VCZʹؔ͢Δ࡞ۀಡॻΛͨ͠ Γɺ࣭͕͋Εฉ͍ͨΓɺ-5Λͨ͠Γ͢Δɺ ͦΜͳॴͰ͢ɻ 'VLVPLBSCհ
ͲΜͳॴʁ wʮ3VCZͷ͕Ͱ͖ΔॴʯΛఏڙ͢Δɺ͕ίϯηϓτ w݁Ռతʹʑձܗ͕ࣜଟ͘ͳΔɻಡॻձΛاը͢Δ͜ͱ͋Δ w3VCZܦݧ͕͍ਓ͕ଟ͍ͷͰɺHFNͷઃܭͷ૬ஊͷͨΊʹϖΞϓϩ Λͨ͠Γɺॳ৺ऀͷํ͕૬ஊΛͨ͠Γ͢ΔͨΊʹར༻͢Δ͜ͱ͋Δ
ձ wओʹ(.0ϖύϘԬࢧࣾ͞Μͱɺ(SPPWFOBVUTຊࣾ͞ΜͰަସ w͍͍ͩͨԬࢢதԝ۠Ͱ͕͢ɺͨ·ͨ·Ͱ͢ɻ wձ͝ఏڙΛͬͯΈ͍ͨձࣾ͞ΜืूதͰ͢ʂ
ϖύϘ (SPPWFOBVUT
Ԭʹ͓͚Δ 3VCZίϛϡ χςΟʔ
ུ࢙ wʙ'VLVPLBSCOFYUҎલ w'VLVPLBSC࠶ىಈ w3BJMT(JSMT'VLVPLB w/JTIJUFUTVSCୈҰճ w3BJMT(JSMT,JUBLZVTIV wԬ3VCZձٞʢ༧ఆʣ
ʙ'VLVPLBSCOFYUҎલ wԬݝߦͷࢧԉͳͲ͋ΓɺԿճ͔Ҭ3VCZձٞͳͲ͕ߦΘΕ ͖ͯͨΓɺϛʔτΞοϓ͕͞Ε͍ͯͨ wभ3VCZձٞ ɺɺԬ3VCZձٞ w IUUQNBHB[JOFSVCZJTUOFU 'VLVPLB3VCZ,BJHJ3FQPSU w)ࢁ͞Μͱ͍͏ํ͕৺ʹ׆ಈ͞Ε͍ͯͯɺͦͷࠒʹϛʔτΞοϓ
ఆظ։࠵͍͕ͯͨ͠ɺ൴ࠓ౦ژʹ
'VLVPLBSC࠶ىಈ w!VE[VSBͱ͍͏ϧϏʔͷਓ͕ԬʹҠॅ͖ͯͨ͠͠ɺͦΖͦΖͱ wํͱͯ͠ɺʮͳΔ͘ؤுΒͳ͍ʯʮ؇ͯ͘ແཧͳ͘ଓ͚Δʯ wִिճఔɺ୭߹͕͔ͭͳ͍ͳΒεΩοϓ wຖճԿ͔Λاըͨ͠Γ͠ͳ͍ɺͦͷ͕Γ্͕ΕΔͱ͖Δ wඒຯ͍͠ͷΛ৯Δ wʮ3VCZͷ͜ͱΛͤΔॴΛɺ͍ͭͰ֬อ͢Δʯ
3BJMT(JSMT'VLVPLB w3VCZίϛϡχςΟతʹॏཁͳͷͰܝࡌɻ wभͰॳΊͯ3BJMT(JSMTΒ͍͠ܗͰ࣮ࢪͰ͖ͨ w͔͠͠ɺ!VE[VSB͕ࡶ༻શൠΛͨ͠ͷ͚ͩΕͲɺՈఉͷࣄ ͰίʔνͰ͖ͣ wίϛϡχςΟ׆ಈతʹܨ͛ͳ͔ͬͨײ
ؓ/JTIJUFUTVSC wɺಉ͘͡ओ࠵ऀͷ!OBHBDIJLB͞ΜͨΒਏ͍ͷ͕͖ͳ ͷͰɺͳ͔ͥՐುΛ৯Δ͜ͱʹ
3BJMT(JSMT,JUBLZVTIV w͠Β͘ॗʑͱ'VLVPLBSCΛଓ͚͍͚ͯͨΕͲɺͳΜ͔͕ग़͖ͯ ͨͷͰख͍ʹߦ͘ wͬͺΓɺ͜͏͍͏ϫʔΫγϣοϓͱ͔ɺ͍͍Αͳͱ͍͏ؾ࣋ͪʹ wʮΈΜͳָ͕ͦ͠͏ʹ3VCZʹ৮Ε߹͏Πϕϯτʹɺ·ͨߦ͖͍ͨʯ ࢀՃऀ͞Μͷห
'VLVPLBSCͳΜͱͳ͘งғؾΛม͑Δʁ wͦΕ·Ͱɺͨͩ3VCZʹ৮ΕΔͨΊʹू·Γɺʑձ͕ϕʔε wͳ͔ͥʮෑډ͕ߴ͍ʯͱࢥΘΕ͍ͯͨ w࣮ࡍɺࢀՃ͢Δ3VCZJTUͨΒͱϨϕϧ͕ߴ͍͚Ͳ wࠓɺʮʑձ͕ϕʔεʯมΘΒͣɻͨͩ͠ɺʮॳ৺ऀͷํͳͲͷ ࣭େܴʂʯͱ໌ࣔ͢Δ͜ͱʹͨ͠ɻ·ͨɺ3(ʹདྷΒΕͨํͷ ͏ͪԬۙลʹ͓ॅ͍ͷํΛ༠ͬͨΓ͍ͯ͠Δɻ wޙड़͢ΔɺʮೖΓޱʯΛҙࣝ
Ԭ3VCZձٞ w'VLVPLBSCΛಓʹଓ͚ͨ݁Ռɺৗ࿈ͷํ૿͖͑ͯͯɺͳΜͱͳ ͘Εͦ͏ͳؾ͕͖ͯͨ͠ɻ w'VLVPLB(SPXUI/FYUͱ͍͏ศརࢪઃ͕ۙॴʹൃੜͨ͠ wՈ͔Βา͍ͯߦ͚Δͱ͜ΖͰҬ3VCZձ͕ٞͰ͖ͯศརͦ͏ w͍ͭͰʹɺՈ͔Βา͍ͯߦ͚Δͱ͜ΖͰɺদా໌͞ΜాߞҰ͞Μ ͷ͕ฉ͚ͨΒɺΊͪΌศར͡Όͳ͔ͱ͍ʁ
Ԭ3VCZձٞ! IUUQSFHJPOBMSVCZLBJHJPSHGVLVPLB
ʮ͏Ұɺ3VCZͱग़ձ͏ʯ wԬʹ͓͚Δ3VCZͱͷʮग़ձ͍ͷʯΛɺࠓɺ͜ͷλΠϛϯάͰ ίʔσΟωʔτ͍ͨ͠ɻ w౦ژͷํɺԬͦͷଞभͷํɺ͘3VCZʹ৮Ε͍ͯΔํɺੲ 3VCZʹ৮Ε͍ͯͨํɺॳΊͯ3VCZʹ৮ΕΔํ wࣗͷɺʮ3VCZʢίϛϡχςΟʣͱͷग़ձ͍ʯΛࢥ͍ग़͠ʢ෬ઢʣ
Ͳ͏ͯ͠ʮݴޠܥ ίϛϡχςΟʯΛ ͍͍ͬͯͬͯΔ ͔
ݴޠίϛϡχςΟͬͯ͘͠ͳ͍ʁ wଞͷଟ͘ͷίϛϡχςΟʢྫ͑ɺηΩϡϦςΟɺςετɺ"3ʣ ٕज़తʹഉଞతͳ֓೦Ͱͳ͍ɻ wҰํͰɺϓϩάϥϛϯάݴޠͲ͏ͯ͠ίϯϑϦΫτ͕ͪ͠ wྫ͑͋ΔϓϩδΣΫτͰɺ3VCZPO3BJMTΛ࠾༻ͨ͠Βɺଞͷݴޠ ʹҠΔͷ༰қͰͳ͍ʂɺ؆୯ʹҠߦͰ͖ͳ͍ͱ͍͏എܠ wҰൠతʹɺ͖ݏ͍ɺԡ͚͠ɺफڭతԿ͔ɺφυφυ
ԬͷίϛϡχςΟࣄ wίϛϡχςΟͷؒͷน͕ͱͯബ͍ wͦΕσϝϦοτ͋Δʢ͘͢͝ઐతͳͮ͠Β͍ɺʣ wҰํͰɺྫ͕͑'VLVPLBQIQʹࢀՃͯ͠ड͚ೖΕͯΒ͑Δ͠ɺ ʢ͞Μɺܴͯ͘͠Ε·͢ΑͶʣٯʹ'VLVPLBSCʹΒ͘དྷͯ ͍͍͍ͨͩͯΔΤϯδχΞ'VLVPLBQIQͷத৺ਓͩͬͨΓ
ʮݴޠʯ(JU)VCͷϥϕϧΈ͍ͨͳΜʁ w͋Δ͍λά͚ɺ͋Δ͍ɺ͖ͳϥʔϝϯ͞Μ͙Β͍ͷϊϦͰ ͍͍Μ͡Όͳ͍͔ͳͬͯ wʮ3VCZͷਓʯ͕1)1ɺ(PɺOPEFKTΛ৮͍͍ͬͯ͠ɺ7VFKT͍ ͍͍ͬͯ͡͠ɺΠϯϑϥษڧձͰൃද͍͍ͨͬͯ͠͡Όͳ͍ wࠞ͟Δ͜ͱͰͷ໘ന͞Λେࣄʹ͠Α͏
ͦ͏͢Δͱɺ ͦ͏͍͏தͰ ʮSCʯΛ໊ΔͷͳͥͩΖ͏
ࣗͷ
ճ
ॳΊͯͷʮίϛϡχςΟʯ wʮ౦ژ3VCZձٞʯ wʮ3VCZ͕͖ͳਓɺੈքʹͨͬͨҰਓͳΜ͡Όͳ͍ʯ wʮ3VCZΛɺΈΜͳͰॻ͍͍ͯΔʯ
None
ٕज़ίϛϡχςΟͱੈքͷͭͳ͕Γ wٕज़ʹؔ͢Δ͜ͱΛษڧ࢝͠Ίͨ࣌ɺ࠷ॳҰਓ͚ͩͰ࢝ΊΔ wͲ͔͜ͷॠؒɺ͕ؒͨ͘͞Μ͍Δ͜ͱʹؾͮ͘ w͕͍ؒΔ͜ͱʹؾͮ͘ͱɺੈք͕͕Δ wˠࣗʹͱͬͯ3VCZ͕ɺͦͷ͖͔͚ͬͩͬͨɻ ɹͰ͋ΕɺʮԸฦ͕͠Ͱ͖ͨʂʯͱࢥ͏ͦͷ·Ͱɺ ɹ3VCZͱͦͷίϛϡχςΟʹߩݙ͍ͯ͜͠͏
ਓˠίϛϡχςΟˠੈք wٕज़ҰਓͰ࡞ΔͷͰͳ͍ w8FCαʔϏεɺ044ɺιʔγϟϧίʔσΟϯάɺΧϯϑΝϨϯε w͔͠͠ɺʮษڧʯʮϓϩάϥϛϯάʯҰਓͰͰ͖ͯ͠·͏ɻͦ Εগ͠᠘ͩͱࢥ͍ͬͯͯɺʢ؇͘ͱʣਓͱͭͳ͕Δ͜ͱͰ໘ന͍ ੈք͕গ͕ͣͭ͠Δ͜ͱΛମݧͯ͠ཉ͍͠͠ɺͦͷʮೖΓޱʯͱ͠ ͯ3VCZΛબͼ͍ͨɻ wɺͦ͏ࢥͬͯ'VLVPLBSCΛଓ͚͍ͯ·͢ɻ
ࠓޙͷ ׆ಈ
Ԭ3VCZձٞ! IUUQSFHJPOBMSVCZLBJHJPSHGVLVPLB
Ԭ3VCZձٞ! IUUQSFHJPOBMSVCZLBJHJPSHGVLVPLB ࢀՃొडதͰ͢ʂʂ
Ԭ3VCZձٞ! IUUQSFHJPOBMSVCZLBJHJPSHGVLVPLB ࢀՃొडதͰ͢ʂʂ ొஃऀืूதͰ͢ʂʂ
͏Ұɺ 3VCZͱग़ձ͏
݄ೋճͷ௨ৗϛʔτΞοϓੋඇʂ GVLVPLBSCDPOOQBTTDPN