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
Software Craftsmanship against Nova Era
Search
Koichi ITO
March 27, 2023
Technology
0
1.7k
Software Craftsmanship against Nova Era
Koichi ITO
March 27, 2023
Tweet
Share
More Decks by Koichi ITO
See All by Koichi ITO
Carving the Way to Ruby Engineering
koic
3
800
Beyond the RuboCop Defaults
koic
3
3.6k
Minify Ruby Code
koic
2
2.2k
Permanent Agility
koic
37
8k
RuboCop: LSP and Prism
koic
3
4.4k
Organizational Pattern Hatching
koic
0
1.5k
A Practitioner's Journey from Ruby 1.8 to Present
koic
1
2k
A Story Featuring Right Hand Archetype
koic
0
1.1k
Without Practice, No Emergence
koic
4
2.5k
Other Decks in Technology
See All in Technology
OSS構成管理ツールCMDBuildを使ったAWSリソース管理の自動化
satorufunai
0
330
生成 AI プロダクトを育てる技術 〜データ品質向上による継続的な価値創出の実践〜
icoxfog417
PRO
5
1.8k
ESXi で仮想化した ARM 環境で LLM を動作させてみるぞ
unnowataru
0
130
PHPで印刷所に入稿できる名札データを作る / Generating Print-Ready Name Tag Data with PHP
tomzoh
0
140
Exadata Database Service on Cloud@Customer セキュリティ、ネットワーク、および管理について
oracle4engineer
PRO
1
1.5k
オブザーバビリティの観点でみるAWS / AWS from observability perspective
ymotongpoo
9
1.6k
クラウドサービス事業者におけるOSS
tagomoris
3
940
次世代KYC活動報告 / 20250219-BizDay17-KYC-nextgen
oidfj
0
300
Reading Code Is Harder Than Writing It
trishagee
2
100
偶然 × 行動で人生の可能性を広げよう / Serendipity × Action: Discover Your Possibilities
ar_tama
1
1.3k
なぜ私は自分が使わないサービスを作るのか? / Why would I create a service that I would not use?
aiandrox
0
830
PHPカンファレンス名古屋-テックリードの経験から学んだ設計の教訓
hayatokudou
2
480
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
68
10k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.2k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.5k
GitHub's CSS Performance
jonrohan
1030
460k
Music & Morning Musume
bryan
46
6.3k
Thoughts on Productivity
jonyablonski
69
4.5k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
30
4.6k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Why Our Code Smells
bkeepers
PRO
336
57k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Transcript
৽࣌ʹ͔͏ ιϑτΣΞ৬ਓؾ࣭ Software Craftsmanship against Nova Era !LPJD
w աڈʹಡΜͩΑ͏ͳؾ͕͢Δ͚ΕͲɺ௨ಡ͠ ͚ͨͬʁΛͨ·ʹಡΈฦ͍ͯ͠Δॻ੶ w հ͢Δॻ੶ͷ༰ʹͦΕ΄Ͳ৮Ε·ͤΜ w ͋Β͢͡௨ಡʹ͔ͣ͠ w ͦͯ͠ɺࠓޙͷզʑͷࣄʹ͍ͭͯߟ͑Δ ࠓͷͳ͠
3VCZY"HJMF 2VJ[ ಥવͰ͕͢ΫΠζͰ͢
2
3VCZ͕ग़ͯ͘Δͷॻ੶ͲΕʁ
2
w "MJTUBJS$PDLCVSO w +F⒎4VUIFSMBOE w +JN)JHITNJUI w 1FUF.D#SFFO w 3PCFSU$.BSUJO
ΞδϟΠϧϚχϑΣετʹॺ໊͕ͳ͍ͷ୭ʁ
ࠓͷҰ
ϐΞιϯɾ Τσϡέʔγϣϯ
ιϑτΣΞ৬ਓؾ࣭ ਪનͷݴ༿%BWFୡਓ5IPNBT
ஶऀϐʔτɾϚΫϒϦʔϯ wਪનͷݴ༿͕,FOU#FDLͷ91ࠇຊ ͷஶऀͰ͋Δ w࣌ϑϦʔͷιϑτΣΞ։ൃ ίϯαϧλϯτͩͬͨΒ͍͠ wΞδϟΠϧϚχϑΣετʹ໊લ͕ ͳ͍ͷ͕ෆࢥٞͳ͘Β͍ͷਓ
"NB[POͰങ͑·͢😅
ιϑτΣΞ։ൃͱ͍͏ࣄ 91&OEୈষ ʰςΠϥʔओٛͱιϑτΣΞʱ ιϑτΣΞ৬ਓؾ࣭ୈষ ʰ৬ਓͷཧʱ
w ௨ৗɺࣄܭըͲ͓ΓʹਐΉɻ w ہॴ࠷దԽશମ࠷దԽʹͭͳ͕Δɻ w ਓ΄΅ସՄೳͰ͋ΓɺԿΛ͖͔͢ Λࢦࣔ͢Δඞཁ͕͋Δɻ ͭͷ୯७Խ͞ΕͨԾఆ 91&OEୈষʰςΠϥʔओٛͱιϑτΣΞʱΑΓ ςΠϥʔओٛͷਂԕͳܽؕͱ͞ΕΔ
ϑϨσϦοΫɾςΠϥʔ d
w ςΠϥʔओٛͷͱͯ͠ۀͷແବ w ϚχϡΞϧϫʔΧʔͱφϨοδϫʔΧʔͰ ٻΊΒΕΔ͜ͱͷҧ͍ w ιϑτΣΞ։ൃͷத৺͕ਓͰ͋Δ͜ͱʹ ϑΥʔΧε͍ͯ͠Δ θϩײ͋;ΕΔ چ͍ιϑτΣΞֶؾ࣭ͷ佀
ʮՊֶతཧ๏ʯͷܥේͰͳ͘ ʮెఋ੍ʯʹΑΔਓͷʹ ϑΥʔΧεΛ͋ͯΔ ༁ ༁
ख़࿅৬ਓ ιϑτΣΞ৬ਓͷεςʔδ δϟʔχʔϚϯ ϓϩμΫτ։ൃͷதͰͷెఋ੍ ΞϓϨϯςΟε ٕܳͱख़࿅
w ΞϓϨϯςΟε͕͍Δͱ͖ϕςϥϯϝϯ όʔʹࠞͥͨνʔϜߏʹ͢Δ w ΞϓϨϯςΟεʹΞυόΠεͰ͖Δଘࡏͱ ҰॹʹࣄΛ͢Δ͜ͱͰɺ࣮ࡍͷιϑτ ΣΞ։ൃʹ͓͚ΔৼΔ͍Λഎத͔Βֶ ͿػձΛ֫ಘͰ͖Δ ҭͱ࣮ફΛΘ͚ͳ͍
w ੜ͖ͨڭࡐͷଆ໘ͱͯ͠ͷϓϩμΫτ։ൃ w '#$͔Βத్ೖࣾͯ͠ҭ༻ΧϦΩϡϥϜ ͳ͘ϓϩδΣΫτଐ͚ͩͬͨΕͲɺͦ ΕͰΉ͠Ζ࣮ӡ༻͍ͯ͠ΔϓϩμΫτ͔Β ͷϑΟʔυόοΫΛಘΒΕͨ ࣮ફʹউΔͷͳ͠
w ਓੜ࣌ NKL w ϒϥΠΞϯɾΧʔχϋϯࡀ͘Β͍Ͱ ʰϓϩάϥϛϯάݴޠ(PʱΛ্Ѹʁ w ΤϯδχΞ͍ͭ͘ʹͳͬͯͰ͖Δ w
ݱબखੜ໋Λͱͯ͘Ͱ͖Δ৬ۀ ख़࿅৬ਓͱͯ͠ͷਓੜ
ख़࿅৬ਓ ͱ *5اۀ IUUQTOPUFDPNUEUETOOGEB⒎B
ΤϯδχΞϦϯάͱԿͰ͔͢ʁ ٕܳ ୭͕͍ͬͯۙ݁ՌΛ ग़ͤΔΑ͏ʹ͢ΔΈ !LBNJQP
w ͲΜͳϓϩδΣΫτʹͰϑΟοτ͢Δ ϑϦʔαΠζͷϓϩηεͳ͍ w ҰํͰ୭͕ಉ݁͡ՌΛಘΔ͜ͱ͕Ͱ͖Δ πʔϧྨ͕ॆ࣮ͯ͠׆༻Ͱ͖Δݱ w ৬ਓͱͯ͠ͷٕܳΛߴΊଓ͚Δ w ϓϩάϥϚʔͷ༏ྼͰೳྗࠩԿेഒ͋Δʁ
Φʔτϝʔγϣϯͱٕܳ
IUUQTTQFBLFSEFDLDPNLBLVUBOJNBLFJUGVO TMJEF +PCJTOPU1SPGFTTJPO
w ೦ͳ͕ΒςΠϥʔཧ͕ΔιϑτΣΞ։ൃ ͷݱ͍·ͩଟ͋͘Δ͕·͔͞Εͳ͍ w ਓ͋ΒΏΔπʔϧΑΓॏཁͰ͋Δɻ༏Εͨ ਓʑʹ༏ΕͨπʔϧΛ༩͑ΕɺπʔϧΛ࣋ͨͳ ͍ਓʑΑΓޮ্͕͕Δ άϥσΟɾϒʔν w
ਓͻͱΓͻͱΓͷʹয͕ͨΔ͖ɻ࣮ࡍ ੲ͔Βͣͬͱͦ͏ɻ ͜͜·Ͱطʹਓྨ͕า͍ͨ
/PWB&SB /PWB&SBJTUIFQBTTBHFUPZPVSNJOE "OEGPSFWFSZPVNBZpOEBCFUUFSUJNF /PWB&SBCSJOHUIFBOHFMTCBDLUPMJGF-JGF
(15͕ੌ͍Β͍݅͠ ΠϯλʔωοτΛத৺ʹۀք૽વʁ What is life all about? &NCSBDF$IBOHFʹ͍ͭͯߟ͑Α͏
w ہॴ͝ͱʹਓྨΛ͍͍͑ͯͬͯΔ w ιϑτΣΞ։ൃғޟɺকعɺνΣεͷΑ͏ ͳήʔϜͷউഊ͕͖݅ͬΓͨ͠ྨͷͷͰ ͳ͍ w ڝٕͱͯ͠ͷ໘ന͕͞ݮͬͨΘ͚Ͱͳ͘ɺ"* ͷ׆༻Ͱਓྨ͕ඈ༂͢Δ͖͔͚ͬʹ͍ͯ͠Δ "*ͷ༂ਐ;ͨͨͼ
ਐԽͷઌʹ͋Δڞੜࣾձʹ͚ͯ ͍·ͷͱ͜Ζࢲ͍ͬͯ·ͤΜ͕ IUUQTHJUIVCDPNGFBUVSFTQSFWJFXDPQJMPUY ਓྨͷະདྷ ͷՄೳੑ ΛݟͤͯΔ ࣮ͷҰྫ
Λ͏ɻ Λ্ख͘ղ͘ wطʹख़࿅͕ߴ͍։ൃऀࠨଆͷߴ͞ͷ্ʹӈଆߴ͍ wͷղ๏ͷҾ͖ग़͠ͷଟ͞ఆٛͷ෯ʹͳΔ ߋͳΔ"*ࢀೖ͕ૣͦ͏ ਓؒʹٻΊΒΕΔ؊ Λ্ख͘ఆٛ͢Δ ఆٛͷ্ख͕͞ࡍཱͭ࣌ʁ
w ࣮ࡍʹΛ্ख͘ղ͘ख़࿅ͷٕ͋ͬͯ ͷɺશମ࠷దͰͷఆٛΛ্ख͘͢Δٕೳ w ղܾೳྗͷߴΈͷٻґવͱͯ͠ॏཁ w ΤϯλʔϓϥΠζΞϓϦέʔγϣϯϏδω εཁ͔݅ΒΠϯϑϥ·Ͱ෯͍શମੑ͕͋Δ w ߴ͍ࢹͱࢹ࠲ͷ֫ಘ͕ख़࿅৬ਓಓͷͻͱͭ
ہॴ࠷దͰऴΘΒͣશମ࠷దΛ
-&5644)*/& wબ w wײ ࠓޙφϨοδϫʔΧʔͱͯ͠ॏࢹ͞ΕΔͩΖ͏
w "*ͦΕͬΆ͍ճΛ͢Δ͕ɺαδΣετ ͞ΕͨͷΛӏವΈʹ͖͢Ͱͳ͍ w "*Ͱͳͯ͘ྫ͑Ϧϯλʔͷࣗಈमਖ਼ ิతͳͷͳͷͰɺ·ͣࣗͷཉ͍͠ ͷΛࢥ͍ඳ͘ͷͱɺ͑߹ΘͤͰ͖Δ ೳྗ͕ඞཁ ಓ۩͏ͷ ϰΟδϣϯΛ࣋ͪɺओैΛٯస͠ͳ͍
w աڈ001ߏԽઃܭख๏ͷઌʹͰ͖ͨ ରཱߏͰͳ͍ w Ϗδωεͦ͏ͩ͠ɺ044ͰΠγϡʔΛද໘͚ͩͰղܾ ͠Α͏ͱ͢ΔͷͰͳ͘ɺ༰Λۛຯ͢Δͷ͕େࣄ w ԿނͳΒఆ͕ٛඍົͳ͜ͱ͕··͋Δ͔Β w
ίʔυϨϏϡΞʔͷ͕ΤʔεϓϩάϥϚʔͰ͋Δ͜ͱ͕ ଟʑɻͭ·Γͬͱ༏ΕͨධՁऀͰ͋Δɻ w 044ͷੈքͰͦΕΛίϛολʔͱ͍͏ܗͰ࣮ݱ͍ͯ͠Δ ύϥμΠϜγϑτθϩϦηοτͰͳ͍
w զʑ͕࡞ΔιϑτΣΞ৺͋Δਓ͕ਓͷ ͨΊʹ࡞Δͷ w ʮ࣭ͱސ٬ຬʯ w ؒͱސ٬ͱίϛϡχςΟࣾձͳͲͷ8JO Λ"/%ͰऔΔ͜ͱΛࢦ͢ͷʹมΘΓͳ͍ ۦΓཱͯΔͷ৺ͱཉɺԣͨΘΔͷݘͱಲ
ࣗΒͷٕज़ʹؔ৺Λ࣋ͭ͜ͱ ͋ͳͨͷࣄʹ͍ͭͯߟ͑Δ͜ͱʂ ܅ֶͿ͜ͱ͕৺͔Β͖ͩ ܅ιϑτΣΞͷ͜ͱΛେʹࢥ͍ͬͯΔ ΞδϟΠϧαϜϥΠ +POBUIBO3BTNVTTPO ୡਓϓϩάϥϚʔ %BWJE5IPNBT "OESFX)VOU ԁख़ͷٕʹࢸΔ͜͜Ζ
w ݴΘΕͨ͜ͱΛ࣮ݱ͢ΔͨΊͷํ๏Λௐͨ ݁ՌΛॻ͍͍ͯΔ͚ͩͷΤϯδχΞ·͍ͣ w FHऑ͍આ໌ऀɺऑ͍࣮ߦऀ w ࣗͷ಄Ͱߟ͑ͨΑΓྑ͍ఏҊΛ͑ͯɺௐ ࣮ͯ͠Ͱ͖ΔΤϯδχΞΛࢦ͢ w FHڧ͍આ໌ऀɺڧ͍࣮ߦऀ
·ͣݱͰͰ͖Δ͜ͱ͔Β
ख़࿅৬ਓ ιϑτΣΞ৬ਓͷεςʔδ δϟʔχʔϚϯ ϓϩμΫτ։ൃͷதͰͷెఋ੍ ΞϓϨϯςΟε ٕܳͱख़࿅
͓ͷॻ੶
࠷ޙͷҰจΑΓ
ιϑτΣΞ։ൃָ͘͠ͳ͚Ε ͳΓ·ͤΜɻͦ͏Ͱͳ͚Εɺͦͷ ϓϩηεؒҧ͍ͬͯΔͷͰ͢ɻ 4PGUXBSFEFWFMPQNFOUJTNFBOUUPCFGVO*GJUJTOU UIFQSPDFTTJTXSPOH 1FUF.D#SFFO