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
For Whom the Quality Exists
Search
Koichi ITO
September 27, 2018
Programming
5
1.8k
For Whom the Quality Exists
Code Review Meetup #4 (
https://sideci.connpass.com/event/98378
)
Koichi ITO
September 27, 2018
Tweet
Share
More Decks by Koichi ITO
See All by Koichi ITO
RuboCop: Modularity and AST Insights
koic
2
2.1k
Carving the Way to Ruby Engineering
koic
3
850
Beyond the RuboCop Defaults
koic
3
3.9k
Minify Ruby Code
koic
2
2.3k
Permanent Agility
koic
37
8.8k
RuboCop: LSP and Prism
koic
3
4.8k
Organizational Pattern Hatching
koic
0
1.5k
A Practitioner's Journey from Ruby 1.8 to Present
koic
1
2.1k
A Story Featuring Right Hand Archetype
koic
0
1.1k
Other Decks in Programming
See All in Programming
The Evolution of the CRuby Build System
kateinoigakukun
1
740
Orleans + Sekiban + SignalR でリアルタイムWeb作ってみた
tomohisa
0
140
Boost Your Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
450
サービスクラスのありがたみを発見したときの思い出 #phpcon_odawara
77web
4
700
カオスに立ち向かう小規模チームの装備の選択〜フルスタックTSという装備の強み _ 弱み〜/Choosing equipment for a small team facing chaos ~ Strengths and weaknesses of full-stack TS~
bitkey
1
120
note の Elasticsearch 更新系を支える技術
tchov
1
290
generative-ai-use-cases(GenU)の推しポイント ~2025年4月版~
hideg
1
340
PHP で学ぶ OAuth 入門
azuki
1
220
Enterprise Web App. Development (1): Build Tool Training Ver. 5
knakagawa
1
120
DevOpsDaysTokyo2025社内副業で他部門へ_越境_して見えた価値再定義最大1か月のリードタイムを10分に短縮したDevOps実践.pdf
susumutomita
0
110
カウシェで Four Keys の改善を試みた理由
ike002jp
1
110
Bedrock×MCPで社内ブログ執筆文化を育てたい!
har1101
6
1.3k
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.3k
Documentation Writing (for coders)
carmenintech
69
4.7k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
5
540
Raft: Consensus for Rubyists
vanstee
137
6.9k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Six Lessons from altMBA
skipperchong
28
3.7k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
For a Future-Friendly Web
brad_frost
177
9.7k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
23
2.7k
Transcript
For Whom the Quality Exists ίʔυϨϏϡʔ͙͠͞ ,PJDIJ*50FTN 5IV $PEF3FWJFX.FFUVQ
0QFO/FUXPSL4QBDFJO%BJLBOZBNB
࣭ͱ୭͔ʹͱͬͯ ͷՁͰ͋Δ ʵ(FSBME.BSWJO8FJOCFSH
!LPJD w ג ӬγεςϜϚωδϝϯτ ίϛϡχςΟϚωʔδϟ w 3VCP$PQίϛολʔ w "30SBDMFFOIBODFE BEBQUFSίϛολʔ
w $VDVNCFSίϛολʔ
None
None
None
"3VCZDPEF def badName if something test end end
None
None
ࠓͷ
$PEF 3FWJFX
$PEF 3FWJFX
2VBMJUZ 1FPQMF
࣭ʹର͢Δωλຊ wιϑτΣΞֶ͔Βͷώ ϯτ
ਓʹର͢Δωλຊ wϏδωείϛϡχέʔγϣ ϯ͔Βͷώϯτ
For Whom the Quality Exists ίʔυϨϏϡʔ͙͠͞ ,PJDIJ*50FTN 5IV $PEF3FWJFX.FFUVQ
0QFO/FUXPSL4QBDFJO%BJLBOZBNB
ଟ༷ͳϝϯόʔ͕ࢀը͢Δ ϓϩδΣΫτʹ͓͍ͯ Կʹίʔυͷ࣭Λ্͛ͯ ͔͘ʁ
ࣗԿΛϓϩδΣΫτʹߩݙ ͢ΔͭΓͰɺϝϯόʔϓϩ δΣΫτʹԿΛߩݙͯ͠Β͍ ͍͔ͨΛڞ༗͢Δ࣮ફज़ υϥοΧʔ෩ΤΫααΠζ ʰΞδϟΠϧαϜϥΠʱ +POBUIBO3BTNVTTPOஶ
None
wख़࿅ऀ͔ΒϫφϏʔ·Ͱ͍ ΔϓϩδΣΫτΛྫͱ͢Δ wϨϏϡΞʔͱͯ͠ϨϏϡΠʔ ͷؔͱͯ͠ίʔυʹର͢ ΔظΛ͓࣋ͬͯ͘ 13ͷظͷ͢Γ߹Θͤ
ਅ࣮ɿϓϩάϥϚݸਓΛੳ ͨ͠ݚڀʹΑΔͱɺ࠷༏लͳ ϓϩάϥϚ࠷ѱʹൺɺഒ ༏Ε͍ͯΔɻ ιϑτΣΞΤϯδχΞϦϯά ʰιϑτΣΞ։ൃͷਅ࣮ͱͷιʱ ϩόʔτɾ-ɾάϥε
w܁Γฦ͠ίʔυΛߟ͖͑ͯͨϕ ςϥϯͱ࠷ۙϓϩάϥϛϯάΛ ֮͑ͨϫφϏʔͷίʔυҧ͏ w͋ΔݚڀʹΑΔͱϓϩάϥϚͷ ྗྔࠩഒ͋Δͱ͍͏ ϓϩάϥϛϯάೳྗͷࠩ
ΧςΰϥΠζྫ ϫφϏʔ ٕज़తͳ ࣮ݱೳྗ υϝΠϯࣝ ˢ ˠ ίΞ։ൃऀ υϝΠϯΤΩεύʔτ ৽نࢀըͷ
։ൃऀ υϝΠϯ ΤΩεύʔτ
ϓϩάϥϛϯάͱ͍͏ ٕܳ
ͲΕ͕͓ΈͰ͔͢ʁ bmi = weight / (height ** 2) bmi=w/(h**2) bmi=weight/(height**2)
" # $
ಡΈͮΒ͍ίʔυͰ ίϯϐϡʔλΛಈ͔ͤ Δ͕ɺͩΕ͔ʹͱͬͯ ಡΈ͍͢ίʔυʹ͢ ΔʹηϯεΛཁ͢Δ
wϩδοΫͷଥੑɺ໊͚ͷଥੑɺ ιϑτΣΞςετख๏ͳͲਓͷྖҬ wελΠϧͷϨΠΞτͳͲͷϓϩδΣ Ϋτݻ༗จԽ w/ ݕग़ɺػցతʹݕग़ՄೳͳηΩϡ ϦςΟରࡦɺͳͲࣗಈԽͷྖҬ ϨϏϡʔൣғྫ
wਓͰͳ͍ͱϨϏϡʔͰ͖ͳ ͍ϙΠϯτʹͰ͖Δ͚ͩয Λ͍͋ͯͨ wਓ͔ΒਓʹٕܳΛ͑Δ ຊ࣭తͳϨϏϡʔ
None
wίʔυϨϏϡʔʹΑΔ ػձେ͖͍ wͬͱίʔυϨϏϡʔྗ ͕ߴ͍༰͕νʔϜͰ࠷ߴ ͷ࣭ΛੜΈग़ͤΔ ։ൃϓϩηεਓ
4/ൺ 4Λ૿͠ /ΛݮΒ͢
w13Λ։͘લʹࣗʹग़དྷΔ࠷ߴͷ13 Ͱ͋Δ͜ͱΛηϧϑϨϏϡʔ͢Δ wgit log -pͰݟฦ͢ɺ3VCP$PQ ͳͲͷ-JOUFSΛ࣮ߦ͢ΔɺͳͲ wࣗͷͰ͖ΔҎ্ͷ͜ͱͰ͖ͳ͍ ͷͰɺͦ͜ΛϨϏϡΞʔʹͤΔ 4/ൺͷ/ΛݮΒ͢ॳख
w-JOUFS͕ߦ͏ͷݴޠ༷ϓ ϩδΣΫτϧʔϧʹରͯ͠ग़དྷ ͍ͯͳ͍Ұఆظج४Ϩϕϧ· Ͱͷఈ্͛͢Δ wͰ͖ΔਓΛΑΓͰ͖ΔΑ͏ʹ͢ ΔͷͰͳ͍ -JOUFSΛͬͨࣗಈԽ
w৽͘͠ϓϩδΣΫτʹೖͬͨϝ ϯόʔͷελΠϧͷػցతͳ ୡΛߦ͑Δ wਓϨϏϡʔͨ͠Βਓಉ ͡ࢦఠ͕Ͱ͖Δ༰-JOUFS ͖ -JOUFSͷྑ͍ͱ͜Ζ
wࣗͷॻ͍ͨίʔυʹࣗ ͕Ө͞Ε͕ͪ wϨϏϡΞʔରϨϏϡΠʔ :PVWTNF ͔Βࢦఠࣄ߲ ରϨϏϡΠʔͷߏਤʹม͑Δ 1SPCMFNWT6T
-JOUπʔϧ Ξϯνύλʔϯ
wܯࠂΛड͚ೖΕ͍ͯΔঢ়ଶ wσϑΥϧτͰͷద༻͕ϓϩ δΣΫτʹ߹͏͔ݕ౼͢Δ wͦΕ-JOUFSͷόά͔ʁ कഁ
wͳͥͦͷελΠϧ͕·͍͠ ͷ͔͕ϝοηʔδ͚ͩͰ அ͕͍͜͠ͱ͕͋Δ wతʹ-JOUFSΛ͏ͷͰ ͳ͘ελΠϧͷഎܠΛΔ -JOUFSʹݶΒͣίϛϡχέʔγϣϯΛཔΕ
wϋογϡͷΧοίʹۭനΛೖ Εͳ͍ {foo: 1, bar: 2} wϋογϡͷΧοίʹۭനΛೖ ΕΔ { foo:
1, bar: 2 } എ͢ΔίʔσΟϯάελΠϧ
wΧοίʹۭനΛೖΕͳ͍ͷࢥ wϒϩοΫͱ͍ͬͨແ໊ؔͱͷ ରൺΛͯ͠ϋογϡͷΑ͏ͳී วతͳΦϒδΣΫτʹΧοί ͷۭനෆཁ ࢥΛΔ
w໊લͷू·ΓͰ͋Δίʔυ ͦͷͷʹҙຯ͕͋ΔΑ͏ ʹɺϨΠΞτۭߦʹ ҙຯΛ࣋ͨͤΔ ίʔυͷҰߦɺ݂ͷҰణ
wೣɺݘ w͖ͷ͜ɺ͚ͨͷ͜ wจࣈྻμϒϧΫΥʔτɺ γϯάϧΫΥʔτ ͦΕͧΕͷΈʹݴ͍͕͋Δ
IUUQEIBUFOBOFKQLFZXPSE""%"$&"#"#'"#"$&"#$&'$&
wܯࠂΛड͚ೖΕ͍ͯΔঢ়ଶ wσϑΥϧτͰͷద༻͕ϓϩ δΣΫτʹ߹͏͔ݕ౼͢Δ wͦΕ-JOUFSͷόά͔ʁ ߟ͑Λ࣋ͬͯक͔Βഁ
For Whom the Quality Exists
wࣗಈԽ͞ΕͨϨΠΞτɺ -JOUJOH3VCP$PQ &4-JOU FUD w/ 944ରࡦͳͲඇػೳཁ݅ #SBLFNBO #VMMFU
FUD w։ൃऀͷϨϕϧʹ͋·Γґଘ͠ͳ͍ ࣗಈԽ͕ൺֱత༰қ
wςʔϒϧઃܭɺΫϥεઃܭɺ໊͚ͷ ଥੑɺϩδοΫͷଥੑɺͳͲਓͷ ྖҬʹ͓͚Δ΄΅ͯ͢ wϨϏϡʔΛࣗಈԽͰ͖ͳ͍ίʔυ͕ຊ དྷϨϏϡʔ͍ͨ͠ର wˢ։ൃऀͷٕܳʹґଘ͢Δͷݟͤॴ -JOUFSͷۤखͳͱ͜Ζ
wϨϏϡʔʹ࣌ؒΛ͏ w܁Γฦ͠දग़͢Δࣄʹର ͯ͠ίϯϐϡʔλಘҙ wະͷࣄʹ͍ͭͯ·ͩί ϯϐϡʔλʹݶք͕͋Δ ਓͱίϯϐϡʔλͷϨϏϡʔ
ϨϏϡʔ5JQT
wϨϏϡʔॳظʹ͚ۙΕ͍ۙ΄Ͳ ࢦఠࣄ߲͕ग़қ͍ wBQQSPWFͷ͕ҰఆҎ্ʹͳͬͯ ͦΕ΄Ͳ্࣭͕Βͳ͍ wܦݧ্֓ͶͭBQQSPWF͋Εྑ͍ wͪΖΜνʔϜͷͱ࣭ʹΑΔ Կਓ·ͰΫϩεϨϏϡʔʁ
wؒҧ͍ͬͯΔ͜ͱΛؒҧ͍ͬͯΔͱݴΘΕΔ ͷπϥ͍ wࣗͷࢦఠ͕ؒҧͬͯΔ͜ͱ͕͋Δ wʮ˓˓Ͱ͠ΐ͏͔ʁʯৗ۟ͰͬͨΓ͢ Δ w͔ͳΓͷ֬৴͕͋ͬͯͬͨΓ͢Δ wಛʹҭ͖ͷख๏ ֬৴Λࣔ͢ΑΓ͍͔͚Α
౪ਓʹޒͷཧΛೝΊΔ ॏཁײΛ࣋ͨͤΔ ਓͷཱʹΛஔ͘ ਓΛಈ͔̏͢ݪଇ ʰਓΛಈ͔͢ʱ %ɾΧʔωΪʔ
wҰՈݴ͋ΔϨϏϡΞʔ͕͍Δػೳ ͕͋Δ w13Ͱ3FWJFX3FRVFTUΛ͋Β ͔͡Ίૹ͓ͬͯ͘ w͋ͱͰ͜Ε·ͰͷϨϏϡʔ͕Ҿͬ ܁ΓฦΔ͜ͱΛ༧͢Δ ൪ͷϨϏϡʔґཔ
w৭ใͰ͋Δ wϨϏϡΞʔʹରͯ͠Χϥϑϧͳใʹͯ͠ ෛՙΛݮΒ͓ͯ͢ͳ͠ wόοΫΫΥʔτͭͷޙΖʹݴޠΛࢦఆ͠ ͯғΉ͜ͱͰϋΠϥΠτ͢Δ ```ruby puts 'hello, world' ```
ಡΈखͷෛՙΛݮΒ͓ͯ͢ͳ͠
wՃใͱͯ͠۩ମతͳίʔυߦͷ63- ΛϦϯΫ͚Δͱ༗ޮͳ͜ͱ͕͋Δ w͋Δ(JU)VCͷίʔυϦϯΫͷ༰Λ ݟͨΒҧ͏ՕॴΛ͍ࣔͯ͠Δ wNBTUFSϒϥϯνࠁʑͱมԽ͍ͯ͘͠ w(JU)VCͷίϛοτ্ͰlZzΛԡ͢ ύʔϚϦϯΫΛҾ༻͢Δ
͋ΘͤͯಡΈ͍ͨ
wॻ͘ਓΑΓಡΉਓͷํ͕ଟ͍ wͯ͘͠ߦ͘αʔϏε΄Ͳ ίʔυಡΈܧ͕Ε͍ͯ͘ wݱࡏͷಡऀͱະདྷͷಡऀʹͪΐͬ ͱͨ͠ؾΓΛ͓ͯ͘͠ 5IFXBZUPUIFUJNFMFTTXBZPG
For Whom the Quality Exists
࣭ͷཐટ
ίʔυ Ϗδωε ϨϏϡʔ
ίʔυ Ϗδωε ϨϏϡʔ
Ϗδωε ίʔυ ϨϏϡʔ
ϨϏϡʔ Ϗδωε ίʔυ
ίʔυ Ϗδωε ϨϏϡʔ lશମz
ίʔυ Ϗδωε ϨϏϡʔ lશମz γεςϜΈࠐΈͷ ্࣭ͱ։ൃऀͷ
wϏδωεϑΟʔυόοΫͷૉૣ࣮֬͘ͳ ରԠෳࡶͰͳ͍ίʔυ͕Մೳͱ͢Δ wणΞϓϦέʔγϣϯΛϦϓϨʔε͢Δͷ ԟʑʹ༧ࢉͱ࣌ؒΛ͏ wίʔυϨϏϡʔͱ͍͏ఆظతͳ݈߁அ w༏लͳ։ൃऀ݈શͳίʔυ͕॓Δγες Ϝ։ൃʹ͔͏ ͳͥͦΜͳʹͳΔ࣭ॏཁ͔ʁ
࣭ͱ୭͔ʹͱͬͯ ͷՁͰ͋Δ ʵ(FSBME.BSWJO8FJOCFSH
None