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
#oedo10 継続的 #RubyMuscleMixin 実践入門/RubyMuscleMixin
Search
bash0C7
October 15, 2023
Technology
0
860
#oedo10 継続的 #RubyMuscleMixin 実践入門/RubyMuscleMixin
大江戸Ruby会議10 Ninja Talks 2
https://regional.rubykaigi.org/oedo10/
#oedo10
bash0C7
October 15, 2023
Tweet
Share
More Decks by bash0C7
See All by bash0C7
Shinjuku.rb #91 好きなもの紹介LT大会 "便利"や"役に立つ"とは別方面のRubyをつかったプログラミングがたのしい話
bash0c7
0
37
inside_announce
bash0c7
0
620
【公開版】マネジメントにおける 「技術選択」の勘所 / The key to technology selection in engineering management
bash0c7
0
280
数百人規模の会社でアイデアを組織的にインストールする実例と再現性の要/Pragmatic Fearless Change #devkan
bash0c7
0
180
【公開版】明日から動ける 切り拓け「おいしい」キャリア/build one's career #careerkaigi
bash0c7
2
450
[公開版]現役VP of Engineeringはこう見る!エンジニアを取り巻く環境と2020年代を生き延びる作戦/survive2020
bash0c7
5
2.1k
「アジャイル」な取り組みを 支えるマネジメント / Agile Support
bash0c7
2
2.1k
【公開版】「創作活動がもっと楽しくなる場所をつくることを楽しむ活動」/retty_pixiv_goodpatch
bash0c7
0
180
夏色のナンシー(寺嶋由芙カバー) カンペ/natsuiro_no_nansy_yufu
bash0c7
0
310
Other Decks in Technology
See All in Technology
JAWS-UG Bedrock Claude Night
yamahiro
3
620
Grafana x PagerDuty Better Together
jacopen
0
110
本当のAWS基礎
toru_kubota
0
530
MapLibreとAmazon Location Service
dayjournal
1
160
自己改善からチームを動かす! 「セルフエンジニアリングマネージャー」のすゝめ
shoota
6
810
地理空間データ可視化・解析・活用ソリューション Pacific Spatial Solutions (PSS)
pacificspatialsolutions
0
300
web-application-security
matsuihidetoshi
0
170
検証を通して見えてきたTiDBの性能特性
lycorptech_jp
PRO
7
3.8k
オーナーシップを持つ領域を明確にする
konifar
13
3.2k
AOAI をきっかけに 社内の Azure 管理を見直した話
recruitengineers
PRO
1
300
R3のコードから見る実践LINQ実装最適化・コンカレントプログラミング実例
neuecc
1
140
「スニダン」開発組織の構造に込めた意図 ~組織作りはパッションや政治ではない!~
rinchsan
3
570
Featured
See All Featured
Designing for Performance
lara
601
67k
Statistics for Hackers
jakevdp
789
220k
Six Lessons from altMBA
skipperchong
21
3k
Code Review Best Practice
trishagee
55
15k
Building Better People: How to give real-time feedback that sticks.
wjessup
355
18k
Into the Great Unknown - MozCon
thekraken
10
1k
The Pragmatic Product Professional
lauravandoore
25
5.8k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
226
51k
Facilitating Awesome Meetings
lara
42
5.6k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
241
1.2M
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
2
3.4k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
19
1.7k
Transcript
!CBTI$ ܧଓత3VCZ.VTDMF.JYJO࣮ફೖ େߐށ3VCZձٞ/JOKB5BMLT IUUQTQIPUPTHPPHMFDPNTIBSF"'2JQ0NZK.#XD:3Q"+:RO,57;O,S32NYDH7/N,0;%G'@3+%ME.8U.*N;.;(EHQIPUP"'2JQ197'"@Q*5EpI@:4''1C'8V36$,8@[T LFZ0867LQG3&Y,2O+F8;,;5/VB[L6IIC'/Y2CZLPZIPHF
SVCZLBJHJFGGFDU
None
IUUQTCBTIDP⒏DJBMGBOCPYDDQPTUT
IUUQTCBTIDP⒏DJBMGBOCPYDDQPTUT
None
IUUQTCBTIDP⒏DJBMGBOCPYDDQPTUT
IUUQTXXXGBOCPYDDUBHT3VCZ.VTDMF.JYJO IUUQTUXJUUFSDPNTFBSDI R3VCZ.VTDMF.JYJOTSDUZQFE@RVFSZGMJWF
IUUQTYDPNCBTI$TUBUVT IUUQTCBTIDP⒏DJBMGBOCPYDDQPTUT
ܧଓత3VCZ.VTDMF.JYJO࣮ફೖ େߐށ3VCZձٞ/JOKB5BMLT !CBTI$
!CBTI$ͬ͜͠͠Ύ IUUQTCBTIDP⒏DJBMGBOCPYDD w ·͡Ίͳ4&ݱ৬ϐΫγϒ ג બख w ࠂ৴ΤϯδχΞˠ։ൃϚωʔδϟʔ ˠؔ࿈ձࣾ$50ˠ71P&ˠࣾ*5෦্ཱͪ͛ ˠܦӦاըิࠤ
w ٕज़৬ԣஅ৫ΤϯδχΞΪϧυ্ཱͪ͛
Θͨ͠ͷ 3VCZ.VTDMF.JYJO࣮
͔ͭͯԿ܁Γฦ͖ͯ͠·ͨ͠ɻ δϜܖͯ͠࠷ॳ৺ʹߦ͘ɻ ͦͷ͏ͪߦ͔ͳ͘ͳΔɻ ৺ػҰసͱ͔Γʹ·ͨߦ͕͘ɺ ͙͢ʹ·ͨߦ͔ͳ͘ͳΔɻ
ΤϯδχΞϦϯάͰղܾ͢Δ ࠜੑɺ͕ΜΓɺͦ͏͍͏ͷφγͰ
ΟʔΫϦʔϧʔςΟʔϯ ͔Βͪ͜Βɻ·ͩɻ w ΣΠττϨʔχϯά w ि෦Ґׂ w ճ͋ͨΓ͙࣌ؒΒ͍ w Ϩετσʔ
w ि w ڑࢄาʹͯΔ͜ͱ͋Δ
ΤϯδχΞϦϯάͷ ΩʔϙΠϯτ
ᶃܹΛےણҡʹೖΕΔ͜ͱ -PBE
ᶄ࠳͠ͳ͍͜ͱ "WBJMBCJMJUZ
ʮτϨʔχϯάͷ̏ͭͷݪཧͱ̑ͭͷݪଇʯ IUUQTZVOPNBSVDJUZUPNJOBHBOPKQUSBJOJOH@JOGPU
ʮτϨʔχϯάͷ̏ͭͷݪཧͱ̑ͭͷݪଇʯ ͭͷݪཧ w ϩʔυ͔͚ΔͱޮՌ͕ͰΔ w ͬͨͱ͜ΖʹޮՌ͕ͰΔ w ΊͨΒݩͷѨ
ʮτϨʔχϯάͷ̏ͭͷݪཧͱ̑ͭͷݪଇʯ ͭͷݪଇ w ৭ʑΈ߹ΘͤΑ͏ w ݸਓ͝ͱʹΧελϜ͠Α͏ w ҙࣝΛ͚Α͏ w ਐతʹ͔͠৳ͼͳ͍Α
w ܁Γฦ͠େࣄ
Θͨ͠ͷ3VCZ.VTDMF.JYJOͷ࣮ ΤϯδχΞϦϯάͷΩʔϙΠϯτ w -PBE w ܹΛےણҡʹೖΕΔ͜ͱ w "WBJMBCJMJUZ w ࠳͠ͳ͍͜ͱ
ᶃܹΛےણҡʹೖΕΔ͜ͱ -PBE
֤෦ҐʹܹΛೖΕ͍ͯ͘ ͔͠ਐతʹڧ͍ܹΛ IUUQTZVOPNBSVDJUZUPNJOBHBOPKQUSBJOJOH@JOGPU
શΛׂͯ͠෦Ґʹूத ʮࠓ˔˔ͷʯํࣜͷϧʔςΟʔϯͰόϥϯεऔΓ w ϧʔςΟʔϯߏ w ڳɺഎதɺݞɺ٭ɺɺٳଉɺٳଉ w ʮׂʯ w Θͨ͠ͷϨϕϧͰ͚͔͗͢͠Εͳ͍
w ͰγϯϓϧͰ໎͏ͱ͜Ζ͕গͳͯ͘ଓ͚͍͢
୯ҐɿLH -PBEॏྔYճ
-PBEͷ͔͚ํ Ͱ͖Δ͚ͩॏ͍ͷΛͨ͘͞ΜͷճΔ w छɿdηοτ w ηοτؒٳଉɿd͙Β͍ w ηοτ͋ͨΓճɿʙճͷϨϯδͰݻఆ w ॏྔઃఆɿճϨϯδͰલճ͑Λࢦ͢
w ૯ηοτͦͷ͔ͭ͑Δ࣌ؒͷݶΓ w ͱݴ͍͍ͨͱ͜Ζ͕ͩɺ͍͍͙ͩͨ࣌ؒΒ͍
ͭ·Γɺ࠷େͷมॏྔઃఆ
ॏྔઃఆΛ୳Δํ๏ ه͋Δ͚ͲɺମௐػछʹΑͬͯมΘΔ w ճϨϯδͰʮ͜ΕҎ্ΉΉΉΓΓΓΓΓΓΓΓ́ʯʹ͖ͨΒྃ w όΠφϦʔαʔν w ΤΠϠʔͰηοτͯ͠ɺ͍͚ΔΉΓͰ୳Δ w ͱ͍͑͜͜·Ͱख୳Γͦ͏ͳ͍
w ϦχΞαʔν w ηοτ͝ͱʹॏྔΛ૿͢ w ΥʔϜΞοϓʹͳͬͯศར
ΤϯδχΞϦϯάͷ ΩʔϙΠϯτ
ᶄ࠳͠ͳ͍͜ͱ "WBJMBCJMJUZ
ܧଓେࣄͱ͍͑Δ ͍͔͠Βͦ͜Θ͟Θ͟ॻ͍ͯ͋Δ IUUQTZVOPNBSVDJUZUPNJOBHBOPKQUSBJOJOH@JOGPU
࢝ΊΒΕͯଓ͚ΒΕͳ͍ͷ͕ਓੜ $FTUMBWJFͰ͢Α w ௨͍͠ͳ͍δϜ݄ձඅΛ͍ଓ͚ΔΤϯυ w ͍ʹͨͬͯ͠ߦ͖͠ͳ͍ w ύʔιφϧ༧ͱΔͷ͕໘ʹͳͬͯ͠·͏ w ͍͔ʹଓ͔ͤΔ͔ɺ͔͔͠ΔલʹϦςϯγϣϯ͔͚Δ͔͕উෛ
w ήʔϜࣄۀͱҰॹ
.5#'ͱ.553 "WBJMBCJMJUZͷݹయతࢦඪ w .5#'ɿ w .FBO5JNF#FUXFFO'BJMVSF w ฏۉނোִؒ w .553ɿ
w .FBO5JNF5P3FDPWFSZ w ฏۉ෮چͪ࣌ؒ
.5#'ͱ.553 "WBJMBCJMJUZͷݹయతࢦඪ w .5#'ɿ w .FBO5JNF#FUXFFO'BJMVSF w ฏۉނোִؒ w .553ɿ
w .FBO5JNF5P3FDPWFSZ w ฏۉ෮چͪ࣌ؒ Ξϯίϯτʔϥϒϧ ڐ༰͢Δ ͪ͜Βʹྗ͢Δ
.5#'ͱ.553 "WBJMBCJMJUZͷݹయతࢦඪ w .5#'ɿ w .FBO5JNF#FUXFFO'BJMVSF w ฏۉނোִؒ w .553ɿ
w .FBO5JNF5P3FDPWFSZ w ฏۉ෮چͪ࣌ؒ ͍ΖΜͳࣄͰ τϨʔχϯάͰ͖ͳ͍ෆճආ ɾࠓମௐ͕Α͘ͳ͍ ɾࣄ͕͍͠ ɾಓ۩ΛΕͨ ʮࠓ͚ͩٳ͏ʯ͕ɺ ߃ৗతͳٳΈʹͳΒͳ͍Α͏ʹ͢Δ
ʮࠓ͚ͩٳ͏ʯ͕߃ৗతͳٳΈʹͭͳ͕Δ࠷େཁҼ ೳಈతʹʮߦ͘ʯ அίετੌ͍
ೳಈతʹʮߦ͘ʯஅίετੌ͍ͳΒ ߦ͘அΛ͠ͳ͚Ε͍͍
͔Βͩͭ͘Γຖͷͷ ٯʹɺٳଉແ͠Ͱμϝ͕͋Δ w ࡢʮٳΉʯͱ͍͏͔Βͩͭ͘ΓΛ͠·ͨ͠Ͷ w ࠓࠓͷ͔Βͩͭ͘ΓΛ͠·͠ΐ͏ w ϧʔςΟʔϯʹ͍ͦͬͯͭ௨ΓΛΒ͢ w ຖͷ͜ͱΛຖͷΑ͏ʹΔ
w Ϟνϕ͕͡Όͳ͍ɻʮͩͬͯࣄͰ͠ΐʯ
͋ΘͤͯຎࡲݮΒͦ͏
ຎࡲ࠳Λਖ਼Խ͢Δཧ۶ͷ༨ ͍ͱͨ͘͢ਓྨ࠳͢ΔͷͰͦͷՄೳੑԼ͍͛ͨ w ॴબͼ w ߦ͖͔ͯͭ͘͢ܧଓͯ͠ࢧ͑Δॴͷબఆ w Ṍ͚ۚΛੵΈଓ͚Δͱൈ͚Ͱ͖ͳ͘ͳΔ w ܧଓͷ͝๙ඒ
w ຖճͷܹͷྔ͚ͩͰ͝๙ඒʹΓͳ͍ w ใुܥΛܹͯ͠μϧ͍ͷʹճΛॏͳΔΑ͏ʹ͢Δ
ॴબͼ ߴֹա͗͠ΜͲ͍͕ίετΛ͔͚ଓ͚ͯ߱ΓΒΕͳ͘͢Δ খֹ ߴֹ Πχγϟϧ ϥϯχϯά ύʔιφϧ ࣗδϜԽ άϧʔϓύʔιφϧ ແਓδϜ
༗ਓͷδϜ ެӦࢪઃ ࣗͰࣗॏ
ܧଓͷ͝๙ඒήʔϜੑ ͚ࣗͩͰ݁Ͱ͖Δͨͷ͍͠ιϩϓϨΠͷΤϯλʔςΠϯϝϯτ w ଞऀͱίϛϡχέʔγϣϯ͕ෆཁ w ࣄͰ͓ͳ͔͍ͬͺ͍ύʔςΟʔϓϨΠͬͯ·͢ w ϨϕϧΞοϓͷ͏Ε͠͞ w ࠷େͷ-PBEΛߋ৽Ͱ͖Δͱ͏Ε͍͠ϥϯμϜใु
w ຖ݄ͷτϨʔχϯάͨ͠ΛͨΊΔ w ϥδΦମૢͷελϯϓํࣜɻ࿈ଓϩάΠϯ్ΕΔͱݏ͔ͩΒݟͳ͍
۩ମతͳ͓͢͢Ί࣮
͔݁Β͍͏ͱ ͱΓ͋͑ͣΰʔϧυδϜΛΦεεϝ w τϨʔφʔ͖ͭνϡʔτϦΞϧ w श׳Խࠜ͘ظؒͱϘϦϡʔϜ w ϩάΠϯϘʔφε͋Δ w τϨʔφʔͷઆಘྗ͕ڧ͍
w ٬͕Α͍ w ૯͚ͯࣗͩ͡ʹ͖߹͍ͬͯΔ
ଞͷબࢶ͍͍ͷͰ͢ ·ͣ౿Έग़͍͢͠ͷ͔Βଓ͔͘ͳΛࢼ͢ͷ͍͍ w ࣗͰࣗॏ w ࣗͰଓ͚ΒΕΔͷͳΒͬͱ͓͕͔͔ۚΒͳ͍ w ެӦͷδϜ w Ϧʔζφϒϧ͕͞ϋʔυϧͷ͞ͱͯ͠͡Ί͍͢
w ແਓδϜ w ௨͍ଓ͚ΒΕΔ͔ͱɺ͓ళͷ٬࣍ୈͱࢥ͏ w ύʔιφϧτϨʔχϯά w ͍͍τϨʔφʔʹग़ձ͑ͨͳΒଓ͚ͯ͘͢ޮՌͷظߴ͍
ࣗͰϩάΠϯϘʔφεΛ༻ҙ ۩ମతʹʮϥδΦମૢͷελϯϓʯϝιου w هΛՃ͢Δ͚ͩͰ˔͕͍ͭͯ͏Ε͍͠ w ͞Βʹ࠷େ-PBEߋ৽Λڭ͑ͯ͘ΕΔͷ͏Ε͍͠ w
ϧʔςΟʔϯ ෦ҐγϯϓϧʹऔΓΈ͍͢ w શ·ΜΜͳ͘Λϝχϡʔʹ͢Δͷ֮͑Δෛՙ͕ߴ͍ w ෦ҐͰ͋Εஔ͍ͯ͋Δͦͷ෦Ґ༻ϚγϯΛͱʹ͔͑͘ऴΘΔ w ڳɺഎதɺݞɺ٭ɺ
෦ҐͷதͰҰճͰͬͨΒʮͰ͖ͨʯѻ͍ θϩΠν͡Όͳ͍ɺͪΐͬͱͰͬͨΒมԽ͕ى͖Δ w ຖɺΓ͡ΊΔͱ͖͕͍ͪΜ͔ͬͨΔ͍ w ͰΓ͡ΊͨΒ࡞ۀڵฃ͕ੜ͡Δ w τʔλϧͷϩʔυߋ৽ϋΠείΞͷ໘ന͞
ࢀߟࢿྉ ͍ͣΕ,JOEMFͰಡΉ͜ͱ͕Ͱ͖·͢
ܧଓత3VCZ.VTDMF.JYJO࣮ફೖ େߐށ3VCZձٞ/JOKB5BMLT !CBTI$ IUUQTQIPUPTHPPHMFDPNTIBSF"'2JQ0NZK.#XD:3Q"+:RO,57;O,S32NYDH7/N,0;%G'@3+%ME.8U.*N;.;(EHQIPUP"'2JQ197'"@Q*5EpI@:4''1C'8V36$,8@[T LFZ0867LQG3&Y,2O+F8;,;5/VB[L6IIC'/Y2CZLPZIPHF