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
My Ruby Progress at kawasaki rubykaigi
Search
rojiuratech
August 16, 2016
Programming
0
110
My Ruby Progress at kawasaki rubykaigi
kawasaki rubykaigi における発表資料(作成中)
rojiuratech
August 16, 2016
Tweet
Share
More Decks by rojiuratech
See All by rojiuratech
rubykaigi-verup-20160828
rojiuratech
0
660
kawasaki rubykaigi slide
rojiuratech
0
670
Other Decks in Programming
See All in Programming
その面倒な作業、「Dart」にやらせませんか? Flutter開発者のための業務効率化
yordgenome03
0
110
uniqueパッケージの内部実装を支えるweak pointerの話
magavel
0
960
非同期jobをtransaction内で 呼ぶなよ!絶対に呼ぶなよ!
alstrocrack
0
620
なぜGoのジェネリクスはこの形なのか? Featherweight Goが明かす設計の核心
ryotaros
7
1.1k
What's new in Spring Modulith?
olivergierke
1
130
CSC509 Lecture 04
javiergs
PRO
0
300
Serena MCPのすすめ
wadakatu
4
950
Web フロントエンドエンジニアに開かれる AI Agent プロダクト開発 - Vercel AI SDK を観察して AI Agent と仲良くなろう! #FEC余熱NIGHT
izumin5210
3
490
開発生産性を上げるための生成AI活用術
starfish719
3
370
高度なUI/UXこそHotwireで作ろう Kaigi on Rails 2025
naofumi
4
3.8k
Railsだからできる 例外業務に禍根を残さない 設定設計パターン
ei_ei_eiichi
0
420
Pull-Requestの内容を1クリックで動作確認可能にするワークフロー
natmark
2
480
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
114
20k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Code Reviewing Like a Champion
maltzj
525
40k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
189
55k
The Language of Interfaces
destraynor
162
25k
Building an army of robots
kneath
306
46k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
54
3k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.9k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6.1k
Raft: Consensus for Rubyists
vanstee
139
7.1k
Navigating Team Friction
lara
189
15k
Transcript
1 ͜ͷ͘Β͍ͷ3VCZྗͷ৳ঢ়گ ʙͬͺΓجຊֶʹࢸΔʙ 4IJOJDIJ.*/04)*."
֓ཁ ̍ɿ͜ͷ̍͘Β͍ͷग़དྷࣄΛৼΓฦΔ ɹ3VCZͷಛੑʹঃʑʹ׳ΕɺଞͷݴޠͰ3VCZͬΆ͘ͳΔɻ ̎ɿΞτϓοτͷมԽʹ͢Δ ɹઃܭͷ͔ͨ͠ɺίʔυͷॻ͖ํʹେ͖ͳมԽ͕͋ͬͨ
͘͜͜Β͍ͷग़དྷࣄ • ՆɹղੳɾஔʁʂͳΒ3VCZͩʂ • ळɹϒʔτΩϟϯϓʹࢀՃɻεΩʔ߹॓Έ͍ͨͩɻ • ౙɹ͚ࣾΞϓϦέʔγϣϯͷ࡞ • य़ɹମܥతͳࣝͷඞཁੑΛ࠶ೝࣝɹ •
Նɹ1)1Ͱ3BJMTͬΆ͘ͳΔɹ
ղੳʁஔʁͳΒ3VCZͩʂ • εΫϨΠϐϯάɺஔॲཧ͕ඞཁʹͳͬͨɻ ɹʢͬ͟ͱ̐̌̌̌ϖʔδɺIUNMʣ • ͍ͭʹ3VCZͷग़൪ͩʂ • ࣝෆͰɺؒൈ͚ͳ͜ͱΛͯ͠·͕ͨ͠ɾɾɾ
ஏ͔ͣ͠ͳ͕Βɾɾɾ ͱΓ͋͑ͣಈ͔͘Β͍͍ɻͱɾɾɾ • ͍ϝιουɺϧʔϓͷೖΕࢠɺ ɹʢՄಡੑΛԼ͛ΔͷͰྑ͘ͳ͍ʣ • ϋʔυίʔσΟϯάͷଟ༻ ɹʢͦͷ͚ͩྑ͍͕ɺϝϯςφϯε͕େมʹͳΔʣ
ͱΓ͋͑ͣ3BJMTͰ • ࡢՆʹࢀՃͨ͠ϋοΧιϯͰɺࢦఆ͕ແ͘ͱࢀՃνʔϜ ͱΜͲ͕3VCZPO3BJMTΛ༻͍ͯͨ͠ɻ • 3P3 ͱࢥ͍·͕ͨ͠ʮಈ͘8FCΞϓϦΛૉૣ͘࡞Δʯͱ͍͏ ͔Βߟ͑Δͱదͳͷ͔ɻ ۀ͕͍͢͠ ར༻ऀਓޱ͕ଟ͍ʁ
3BJMʹΔͨΊʹϒʔτΩϟϯϓʹ • &MJUFT$BNQʹࢀՃɻ̏ؒͿͬ௨͠ɻ • 3BJMTڥͷઃఆ͔ΒσϓϩΠ·ͰҰ௨Γͷಈ࡞Λɺ ɹҰؾʹମݧͨ͠ εΩʔ߹॓Έ͍ͨͳײͩͬͨ͡
εΩʔ߹॓ɹͦͷ͜͜Ζʁ • ࠷ॳͷҰาΛ౿Έग़͢ɻ͜Ε͚ͩͰݩͱΕͨɻ ɹɹʢಈ࡞ͷΈΛҰؾʹҿΈࠐΉʣ • ʢࢲʹͱͬͯʣɹڥτϥϒϧͷ΄͏͕ਂࠁͩͬͨ • Α͍3VCZϓϩάϥϜͷॻ͖ํɹ·ͨผͷɻ ɹɹʢ͕͢͞ʹɺͦ͜·ͰΓࠐΊͳ͍ʣ
ͪΐͬͱͨ͠ͷΛ࡞ ͚ࣾʹɺใݕࡧΞϓϦΛ࡞ɻ • ཁٻ͞ΕΔػೳʁ ɹϢʔβผݖݶɺεϓϨουγʔτ͔Βͷσʔλૠೖ ɹ؆қݕࡧʢॅॴɺܖঢ়گͳͲʣɺϖʔδϯά • ͦͷଞཹҙʁ ɹࢢ۠ொଜͳͲͷʮݻఆϥϕϧܕσʔλʯ͕ଟ͍ɻ ɹσβΠϯແࢹͯ͠ྑ͍ʢॏཁʣ
(FNͷ༻Ͱ΄΅ؒʹ߹͏ (FNͰେํ࣮ݱՄೳ ࠷ޙͷ̍ɺ̎าͷ࡞ۀʹઐ೦ ࣮ݱ͍ͨ͠ػೳ ༻ͨ͠Gem ଳ࡞ۀ Ϣʔβཧ 1VOEJU ϩάΠϯɾݖݶͷ ఆॲཧ
දͷΠϯϙʔτ 3PP 4QSFBETIFFU ಡΈࠐΈ༰ͷ ఆɺܗॲཧ ϖʔδϯά LBNJOBSJ ϖʔδ͋ͨΓ ද੍ࣔޚ ݻఆ߲ BDUJWF@IBTI σʔλͷछྨ %#ܗࣜͷઃܭ Πϯϙʔτ TFFE@GV σʔλͷ४උ
σβΠϯύλʔϯେࣄ • ػೳΛ૿͍ͯͬͯ͠ɺ߹ੑ͕ͱΕΔγεςϜઃܭ • ಡΈ͘͢ॻ͖͘͢ɺվम͍͢͠ιʔείʔυ • ͜ΕΒΛ࡞Δʹɺਖ਼͍͠ܕΛʹ͚ͭΔඞཁ͕͋Δ ͲΜͳݴޠɺڥʹ͓͍ͯ ॏཁͳ͜ͱͰʁ
ޙճ͠ʹͳΓ͍͢ཧ༝Λߟ • ֶߍͰڭ͖͑Εͳ͍ ɹʢϓϩάϥϜʹΞϨϧΪʔΛىֶ͜͢ੜগͳ͘ແ͍ʣ ɹʢ͋͘·Ͱखஈɻ෭࣍తͳͷͰ͋Δέʔεଟ͍ʣ • ձࣾͰڭ͍͑ͯΔՋ͕ແ͍ʁ ɹʢೳಈతʹษڧ͠ͳ͍ͱʹ͖ͭʹ͍͘ʣ • ͦͷ͚ͩͳΒɺؒʹ߹ͬͯ͠·͏͜ͱ͕ଟ͍
ɹʢ͜Ε͕࠷େͷཧ༝͔ʣ
σβΠϯύλʔϯΛʹ͚ͭΔϝϦοτ • ݴޠΘͣɺීวతͳ෦͕ଟ͍ɻ ɹʢOOP͕Ͱ͖ΔͷͰ͋ΕɺྲྀΕࣅͯ͘Δʣ • ཁૉҰͭҰͭͷग़དྷ͕Α͘ͳΔ ɹʢंྠͷ࠶ൃ໌Λ͙͕ɺ͏ंྠͷग़དྷྑ͍ʣ
1)1Λͬͯ3BJMTͬΆ͘ͳΔ • ݱࡏɺੜPHPʴCybozu KintoneͰWebαʔϏεΛ࡞த ɹʢۀϑϩʔɺॾ݅Λߟྀ͜͠ͷߏΛར༻ʣ • .PEFMɺ7JFXɺ$POUSPMMFSͷιʔεΛ͚Δ • .PEFMʹґଘ͠ͳ͍ػೳNPEVMFԽɻ •
63-ͳͲͷઃఆใDPOGJHϑΝΠϧʹ 3BJMTͬΆ͘ͳΔʢۮવͩͧʣ
,JOUPOF"1*ͱͷଓ͕େม • $36%ॲཧʹ૬͢Δ෦"1*Λར༻ɻ ɹʢ3VCZ 1)1 1ZUIPOͳͲͷ4%,͋Γʣ • 8FCαΠτ෦Λൈ͖ग़͢ͱɺ,JOUPOFΛ ɹ%#ͷΑ͏ʹѻ͍ͬͯ·͢ɻ •
͔͠͠ɺૹड৴͢ΔσʔλΛՃ͢Δ ɹ෦͕େมɻʢ͜͜Ͱۤ࿑ʣ ݁ہɺ4%,ʹ૬͢Δࣗ࡞͠·ͨ͠ɻ
όονॲཧͳͲ3VCZΛར༻༧ఆ • 3VCZ൛4%,ʢHFNʣ͍ͦ͢͏ɻ ɹɹυΩϡϝϯτ͕ॆ࣮͍ͯ͠Δ • ߦͷεΫϦϓτͰ$36%ॲཧ͕Մೳ ɹΫΤϦੜײతʹͰ͖Δɻ QFSMͷΑ͏ͳͷͱͯ͠ར༻ • ,JOUPOF"1*Λඪ४ೖྗPS4IFMM4DSJQU͔Β
ɹར༻͢Δ͜ͱ͍͠ɻ
"DUJWF3FDPSEͬΆ͑͘Δ SFRVJSFbLJOUPOF` BQJ,JOUPOF"QJOFX lFYBNQMFDZCP[VDPN lBVUIUPLFOz ΞϓϦʹର͠"1*ଓΛੜ ΞϓϦ൪߸*%ͷϨίʔυΛऔಘͱԾఆ BQJSFDPSEHFU
Ϩίʔυ൪߸Ͱऔಘ ΞϓϦ൪߸ʹର͠σʔλΛ༩͑Δ SFDPSE\lOBNFz\lWBMVFzl,BXBTBLJ3VCZLBJHJz^^ BQJSFDPSESFHJTUFS Ϩίʔυͷ৽نՃ
ΞτϓοτͷਐԽ RubyʹݶͬͨͷͰͳ͍Ͱ͕͢ɾɾɾ • ۃྗϞδϡʔϧԽ࣮ͯ͢͠Δɻ • ΫϥεͷܧঝͱҠৡͷ͍͚ • ઃఆۃྗઃఆϑΝΠϧʹهड़ɻϋʔυίʔσΟϯάΛආ͚Δ • ڥඋʢมߋΛ༰қʹʣ
ͲΜͳݴޠɺڥʹ͓͍ͯ ॏཁͳ͜ͱͰʁ
ۃྗϞδϡʔϧԽ͢Δ ྫ͑ɺରϦετͷςΩετϑΝΠϧʹର͠ ஔॲཧΛߦ͏Α͏ͳ߹ɾɾɾɻ w ରͱ͢ΔϑΝΠϧϦετΛऔಘ͢Δػೳ w ରϑΝΠϧͷ༗ແΛఆɺ̍݅ͣͭಡΈࠐΉػೳ w ஔ߲ͱর߹͠ɺஔ͖͑ॲཧΛߦ͏ػೳ w
ஔͨ͠ͷΛॻ͖ग़͢ػೳ ͱ͍ͬͨΑ͏ʹɺղͰ͖Δɻ
ϞδϡʔϧԽͨ݁͠Ռɾɾɾ ྫ͑ɺରϦετͷςΩετϑΝΠϧʹର͠ ஔॲཧΛߦ͏Α͏ͳ߹ɾɾɾɻ GPSFBDI ϦετΛ։͘ʣ ஔϝιουݺͼग़͠
ॻ͖ࠐΈॲཧʣ FOE ɾɾɾɾ ˌιʔε ʢϦετΛऔಘ͢Δʣ ʢஔϝιουΛݺͼग़͢ʣ ˌஔϝιουʢQVCMJD੩తʣ ʢஔϝιουΛݺͼग़͢ʣ ̍ϝιου͋ͨΓͷίʔυߦɺذ͕େ෯ݮগɻ
ܧঝͱҠৡͷҧ͍ ܧঝʹΫϥεͷػೳΛҾ͖ܧ͙ ҠৡʹଞͷΫϥεͷػೳΛݺͼग़͢ w ܧঝͨ͠΄͏͕ศརʢ ɹΫϥεɿ%#ଓॲཧɹࢠΫϥεɿγʔϯผ
ܧঝͱҠৡͷҧ͍ ܧঝʹΫϥεͷػೳΛҾ͖ܧ͙ ҠৡʹଞͷΫϥεͷػೳΛݺͼग़͢ w ܧঝͨ͠΄͏͕ศར ɹΫϥεɿ"1*ΞΫηεͦͷͷͷॲཧ ɹࢠΫϥεɿγʔϯผΫΤϦ࡞ w Ҡৡͨ͠΄͏͕ศར ɹݺͼग़͠ݩɿೖྗσʔλड͚औΓ
ɹݺͼग़͠ઌɿσʔλόϦσʔγϣϯ
• λάܕσʔλͷѻ͍ • Ԟ͕ਂ͍ɻ • ݕࡧ࣌ͷΩʔʹΘΕ͍͢ɻ • දهϒϨ͕ൃੜ͍͢͠ɻʢɹΤϯδχΞతʹආ͚͍ͨʣ • มߋɺͦΕ΄Ͳසൟʹൃੜ͠ͳ͍ɻ
ɹྫɿʮϛϡʔβ࡚ʯɹͷࢪઃ۠ʁ ɾɹۀࢪઃɺΦϑΟεϏϧɺίϯαʔτձ ʢͲΕ͋ͯ·Δʣ
ͻͲ͍ίʔυ • ඇৗʹ͍ϝιου • ઃఆྨͷϋʔυίʔσΟϯά • 'BUͳίϯτϩʔϥʔɹ 3P3 ʮ͍ࣺͯʯҎ֎Ͱڟѱ͞Λൃش