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
3
2.7k
Carving the Way to Ruby Engineering
koic
3
850
Beyond the RuboCop Defaults
koic
3
4k
Minify Ruby Code
koic
2
2.3k
Permanent Agility
koic
37
8.8k
RuboCop: LSP and Prism
koic
3
4.9k
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
「理解」を重視したAI活用開発
fast_doctor
0
300
知識0からカンファレンスやってみたらこうなった!
syossan27
4
130
Designing Your Organization's Test Pyramid ( #scrumniigata )
teyamagu
PRO
5
1.3k
Flutterでllama.cppをつかってローカルLLMを試してみた
sakuraidayo
0
140
ウォンテッドリーの「ココロオドル」モバイル開発 / Wantedly's "kokoro odoru" mobile development
kubode
2
520
KANNA Android の技術的課題と取り組み
watabee
1
450
JAWS DAYS 2025 re_Cheers: WEB
komakichi
0
110
開発者フレンドリーで顧客も満足?Platformの秘密
algoartis
0
210
Global Azure 2025 @ Kansai / Hyperlight
kosmosebi
0
140
REALITY コマンド作成チュートリアル
nishiuriraku
0
120
ぽちぽち選択するだけでOSSを読めるVSCode拡張機能
ymbigo
14
6.2k
ASP.NETアプリケーションのモダナイゼーションについて
tomokusaba
0
260
Featured
See All Featured
Building Adaptive Systems
keathley
41
2.5k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
19k
How to train your dragon (web standard)
notwaldorf
91
6k
4 Signs Your Business is Dying
shpigford
183
22k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.8k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.5k
How to Think Like a Performance Engineer
csswizardry
23
1.6k
How STYLIGHT went responsive
nonsquared
100
5.5k
A designer walks into a library…
pauljervisheath
205
24k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.3k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
120
52k
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