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
コードレビュー なんてしてられるかッ!!
Search
Yusuke Hirao
January 19, 2018
Technology
24
14k
コードレビュー なんてしてられるかッ!!
俺の話を聞け!! LT大会#7
結論markuplintというHTMLのLinter作った
Yusuke Hirao
January 19, 2018
Tweet
Share
More Decks by Yusuke Hirao
See All by Yusuke Hirao
ユニバーサルHTMLとWebのポテンシャル
yusukehirao
1
830
TypeScriptでつくるNode.jsパッケージ
yusukehirao
3
640
READMEにバッヂが欲しくてテストを書き始めました
yusukehirao
1
770
ユニバーサルなマークアップをしよう
yusukehirao
2
910
アクセシビリティチェックを自動化するためのmarkuplintのロードマップ
yusukehirao
2
2.2k
本当に必要ですか?そのJavaScript 〜スクロールイベント・リサイズイベント編〜
yusukehirao
0
640
自動化をデザインしよう
yusukehirao
1
910
JSONの型のはなし
yusukehirao
0
610
トランスパイラという文化(…とその後) - PHPカンファレンス福岡2016
yusukehirao
1
2.7k
Other Decks in Technology
See All in Technology
ローカル環境でAIを動かそう!
falken
PRO
1
170
Node−RED で Ollama を使ったローカルLLM(node-red-contrib-ollamaを利用) / ビジュアルプログラミングIoTLT vol.20
you
PRO
0
140
What's Next in OpenShift Q2 CY2025
redhatlivestreaming
1
720
GitHub Coding Agent 概要
kkamegawa
1
1.5k
AIのための オンボーディングドキュメントを整備する - hirotea
hirotea
9
2.3k
MCP Clientを活用するための設計と実装上の工夫
yudai00
1
760
アプリケーションの中身が見える!Mackerel APMの全貌と展望 / Mackerel APMリリースパーティ
mackerelio
0
440
DevOpsDays Taipei 2025 -- Creating Awesome Change in SmartNews!
martin_lover
0
160
会社紹介資料 / Sansan Company Profile
sansan33
PRO
6
360k
面接を通過するためにやってて良かったこと3選
sansantech
PRO
0
130
やさしいClaude Code入門
minorun365
PRO
28
22k
CloudTrailも、GuardDutyも、VPC Flow logsも… ログ多すぎ問題の整理術
nikuyoshi
5
650
Featured
See All Featured
A better future with KSS
kneath
239
17k
Practical Orchestrator
shlominoach
188
11k
Why Our Code Smells
bkeepers
PRO
336
57k
The Invisible Side of Design
smashingmag
299
50k
Typedesign – Prime Four
hannesfritz
41
2.6k
Being A Developer After 40
akosma
91
590k
Building an army of robots
kneath
306
45k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
How STYLIGHT went responsive
nonsquared
100
5.6k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.2k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
6
650
Transcript
2018 Yusuke Hirao, CC BY-ND. ίʔυϨϏϡʔ ͳΜͯͯ͠ΒΕΔ͔ο ԶͷΛฉ͚-5େձ גࣜձࣾσΟʔθϩ ϑϩϯτΤϯυΤϯδχΞ
ฏඌ༏య
2018 Yusuke Hirao, CC BY-ND. ͔݁Β
2018 Yusuke Hirao, CC BY-ND. )5.-ͷ-JOUFS࡞ͬͨ
2018 Yusuke Hirao, CC BY-ND. ࣗݾհ ฏඌ༏యʢͻΒ͓Ώ͏ͯΜʣ גࣜձࣾσΟʔθϩ ϑϩϯτΤϯυΤϯδχΞ ίϛϡχςΟ׆ಈ
ԬϑϩϯτΤϯυ༑ͷձ'VLVPLB'SPOUFOE'SPHT ԬϚʔΫΞοϓษڧձ CBTFS$.4Ϣʔβʔձ Yusuke Hirao @cloud10designs
2018 Yusuke Hirao, CC BY-ND. ࣾͷ ίʔσΟϯάΨΠυϥΠϯΛ ॻ͍ͨΜͰ͢
2018 Yusuke Hirao, CC BY-ND.
2018 Yusuke Hirao, CC BY-ND. ίʔσΟϯάελΠϧ͔Β ΞΫηγϒϧϚʔΫΞοϓɺ $44ઃܭɺ+4ͷςΫχοΫ͔Β ίʔσΟϯάࢥͳͲ ΤϞ͍ײ͡ͰςϯίΓ
2018 Yusuke Hirao, CC BY-ND. Ͱɺ ࡞͔ͬͨΒʹɺ ͪΌΜͱΨΠυϥΠϯʹ Ԋ͍ͬͯΔ͔֬ೝ͍ͨ͠
2018 Yusuke Hirao, CC BY-ND. Α͠ɺ
2018 Yusuke Hirao, CC BY-ND. ίʔυϨϏϡʔ͠Α͏
2018 Yusuke Hirao, CC BY-ND. ͜͜+4ͷτϦΨʔʹͳΔ ͷͰBλάΑΓCVUUPOλάͭ ͔͍·͠ΐ͏
2018 Yusuke Hirao, CC BY-ND. ͜͜+4ͷτϦΨʔʹͳΔ ͷͰBλάΑΓCVUUPOλάͭ ͔͍·͠ΐ͏͜͜VMMJͰՕ ॻ͖ʹ͠·͠ΐ͏
2018 Yusuke Hirao, CC BY-ND. ͜͜+4ͷτϦΨʔʹͳΔ ͷͰBλάΑΓCVUUPOλάͭ ͔͍·͠ΐ͏͜͜VMMJͰՕ ॻ͖ʹ͠·͠ΐ͏OBWʹ BSJBMBCFMೖΕ·͠ΐ͏͔
2018 Yusuke Hirao, CC BY-ND. ͜͜+4ͷτϦΨʔʹͳΔ ͷͰBλάΑΓCVUUPOλάͭ ͔͍·͠ΐ͏͜͜VMMJͰՕ ॻ͖ʹ͠·͠ΐ͏OBWʹ BSJBMBCFMೖΕ·͠ΐ͏͔ϥ
ϯυϚʔΫϩʔϧ͚ͭ·͠ΐ ͏
2018 Yusuke Hirao, CC BY-ND. ͜͜+4ͷτϦΨʔʹͳΔ ͷͰBλάΑΓCVUUPOλάͭ ͔͍·͠ΐ͏͜͜VMMJͰՕ ॻ͖ʹ͠·͠ΐ͏OBWʹ BSJBMBCFMೖΕ·͠ΐ͏͔ϥ
ϯυϚʔΫϩʔϧ͚ͭ·͠ΐ ͏͓ɺด͡λά͕ൈ͚͍ͯ ·͢
2018 Yusuke Hirao, CC BY-ND. ͜͜+4ͷτϦΨʔʹͳΔ ͷͰBλάΑΓCVUUPOλάͭ ͔͍·͠ΐ͏͜͜VMMJͰՕ ॻ͖ʹ͠·͠ΐ͏OBWʹ BSJBMBCFMೖΕ·͠ΐ͏͔ϥ
ϯυϚʔΫϩʔϧ͚ͭ·͠ΐ ͏͓ɺด͡λά͕ൈ͚͍ͯ ·͓͢ɺBMU͕ͳ͍Ͱ͢Ͷ
2018 Yusuke Hirao, CC BY-ND. ͜͜+4ͷτϦΨʔʹͳΔ ͷͰBλάΑΓCVUUPOλάͭ ͔͍·͠ΐ͏͜͜VMMJͰՕ ॻ͖ʹ͠·͠ΐ͏OBWʹ BSJBMBCFMೖΕ·͠ΐ͏͔ϥ
ϯυϚʔΫϩʔϧ͚ͭ·͠ΐ ͏͓ɺด͡λά͕ൈ͚͍ͯ ·͓͢ɺBMU͕ͳ͍Ͱ͢Ͷ ͓ɺෆਖ਼ͳωετؔʹͳͬ ͯ·͢
2018 Yusuke Hirao, CC BY-ND. ͜͜+4ͷτϦΨʔʹͳΔ ͷͰBλάΑΓCVUUPOλάͭ ͔͍·͠ΐ͏͜͜VMMJͰՕ ॻ͖ʹ͠·͠ΐ͏OBWʹ BSJBMBCFMೖΕ·͠ΐ͏͔ϥ
ϯυϚʔΫϩʔϧ͚ͭ·͠ΐ ͏͓ɺด͡λά͕ൈ͚͍ͯ ·͓͢ɺBMU͕ͳ͍Ͱ͢Ͷ ͓ɺෆਖ਼ͳωετؔʹͳͬ ͯ·͋͢ɺλά໊খจࣈʹ ͍ͯͩ͘͠͞Ͷ
2018 Yusuke Hirao, CC BY-ND. ͜͜+4ͷτϦΨʔʹͳΔ ͷͰBλάΑΓCVUUPOλάͭ ͔͍·͠ΐ͏͜͜VMMJͰՕ ॻ͖ʹ͠·͠ΐ͏OBWʹ BSJBMBCFMೖΕ·͠ΐ͏͔ϥ
ϯυϚʔΫϩʔϧ͚ͭ·͠ΐ ͏͓ɺด͡λά͕ൈ͚͍ͯ ·͓͢ɺBMU͕ͳ͍Ͱ͢Ͷ ͓ɺෆਖ਼ͳωετؔʹͳͬ ͯ·͋͢ɺλά໊খจࣈʹ ͍ͯͩ͘͠͞ͶͱΓ͋͑ͣΠ ϯσϯτ͚ͭͯΒ͑·͔͢ʁ
2018 Yusuke Hirao, CC BY-ND. ͜͜+4ͷτϦΨʔʹͳΔ ͷͰBλάΑΓCVUUPOλάͭ ͔͍·͠ΐ͏͜͜VMMJͰՕ ॻ͖ʹ͠·͠ΐ͏OBWʹ BSJBMBCFMೖΕ·͠ΐ͏͔ϥ
ϯυϚʔΫϩʔϧ͚ͭ·͠ΐ ͏͓ɺด͡λά͕ൈ͚͍ͯ ·͓͢ɺBMU͕ͳ͍Ͱ͢Ͷ ͓ɺෆਖ਼ͳωετؔʹͳͬ ͯ·͋͢ɺλά໊খจࣈʹ ͍ͯͩ͘͠͞ͶͱΓ͋͑ͣΠ ϯσϯτ͚ͭͯΒ͑·͢ ͔ʁΨΠυϥΠϯಡΈ·͠ ͨʁ
2018 Yusuke Hirao, CC BY-ND. ͜͜+4ͷτϦΨʔʹͳΔ ͷͰBλάΑΓCVUUPOλάͭ ͔͍·͠ΐ͏͜͜VMMJͰՕ ॻ͖ʹ͠·͠ΐ͏OBWʹ BSJBMBCFMೖΕ·͠ΐ͏͔ϥ
ϯυϚʔΫϩʔϧ͚ͭ·͠ΐ ͏͓ɺด͡λά͕ൈ͚͍ͯ ·͓͢ɺBMU͕ͳ͍Ͱ͢Ͷ ͓ɺෆਖ਼ͳωετؔʹͳͬ ͯ·͋͢ɺλά໊খจࣈʹ ͍ͯͩ͘͠͞ͶͱΓ͋͑ͣΠ ϯσϯτ͚ͭͯΒ͑·͢ ͔ʁΨΠυϥΠϯಡΈ·͠ ͨʁ ͔͠ ઍϖʔδ
2018 Yusuke Hirao, CC BY-ND. ίʔυϨϏϡʔ͠Α͏
2018 Yusuke Hirao, CC BY-ND. ίʔυϨϏϡʔ͠Α͏ ͯ͠ΒΕΔ͔ο
2018 Yusuke Hirao, CC BY-ND. ϨϏϡʔࠔΛۃΊͨ ϨϏϡʔͷຊདྷͷత ίϯςΩετͱηϚϯςΟοΫͷ֬ೝ ΞΫηγϏϦςΟνΣοΫ ࣮ࡍʹؾΛऔΒΕͯ͠·ͬͨ͜ͱ
)5.-7BMJEBUJPO Ϋϥε໋໊نଇͳͲίʔσΟϯάΨΠυϥΠϯ४ڌͷ֬ೝ ্࣭ͳ͍͚ͲϝϯςͷͨΊͷΨΠυϥΠϯϧʔϧ͕ ΠϯσϯτϨϏϡʔͷಡΈ͢͞ͷͨΊͳͷʹͦΕΛࢦఠ ෛͷϧʔϓ
2018 Yusuke Hirao, CC BY-ND. -JOUFSΛಋೖ͠Α͏✅
2018 Yusuke Hirao, CC BY-ND. -JOUFSͷԸܙ +BWB4DSJQU&4-JOUͰɺ$444UZMFMJOUͰಋೖࡁΈ ࣍ͷ͜ͱ͍͍ͩͨࣗಈԽͰ͖Δ γϯλοΫενΣοΫ ίʔυελΠϧͷνΣοΫ
໋໊نଇͷνΣοΫ ΞϯνύλʔϯͷνΣοΫ ࢦఠ͢ΔͷػցͳͷͰਓ֨൱ఆʹड͚औΒΕʹ͍͘ ʮΤϥʔ͕ग़ͳ͍Α͏ʹίʔσΟϯά͍ͯͩ͘͠͞ʯͰย͘
2018 Yusuke Hirao, CC BY-ND. )5.-)JOUΛͬͯΈ͕ͨʜ جຊͷνΣοΫͪΖΜαϙʔτ ϓϥάΠϯ"1*Λ͍࣋ͬͯͨͷͰ࠷ॳͦΕͰؤுͬͨ ͔͍ͬͯ͘͠͠͏ͪʹ͕ϙϩϙϩ "1*͋ͬͯHVMQΤσΟλ͕ϓϥάΠϯʹରԠͯ͠ͳ͍
&4-JOUΈ͍ͨʹϑΥϧμ͝ͱͷϧʔϧઃఆ͕Ͱ͖ͳ͍ 47(ͳͲͷ֎དྷཁૉʹରԠ͍ͯ͠ͳ͍ ։ൃࢭ·ͬͯΔ͠
2018 Yusuke Hirao, CC BY-ND. ͭʔΘ͚Ͱ
2018 Yusuke Hirao, CC BY-ND. )5.--JOUFS࡞Γ·ͨ͠
2018 Yusuke Hirao, CC BY-ND. NBSLVQMJOU /PEFKTͰಈ͘)5.--JOUFS ͦͷ͏ͪϒϥβ൛ ϓϥάΠϯ"1*Λ͍࣋ͬͯΔ
ਖ਼֬ͳϩέʔγϣϯΛͭ"45 %0.ϥΠΫͳπϦʔߏ͕ѻ͑Δ ཁૉ͝ͱʹϧʔϧΛ࠶ઃఆͰ͖Δ ରͷཁૉηϨΫλͰߜΓ͜ΊΔ ϑΥϧμ͝ͱʹϧʔϧΛઃఆͰ͖Δ ϧʔϧઃఆܧঝ͕Ͱ͖Δ )5.--JWJOHTUBOEBSEͷίϯςϯπϞσϧใΛͭ ֎དྷཁૉɾΧελϜཁૉɾ7JFXϥΠϒϥϦͷରԠΛݟਾ͑ͨઃܭ Τϥʔ͕ຊޠ ϩέʔϧͰఆ ·੍ͩ࡞த͚ͩͲ
2018 Yusuke Hirao, CC BY-ND. NBSLVQMJOU ͦͦ͜͜ಈ͖·͢
2018 Yusuke Hirao, CC BY-ND. NBSLVQMJOU 74$PEF֦ுެ։ࡁΈ
2018 Yusuke Hirao, CC BY-ND. NBSLVQMJOU ॗʑϧʔϧͱՃத
2018 Yusuke Hirao, CC BY-ND. NBSLVQMJOU ͕ΜͬͯυΩϡϝϯτॻ͍ͯ·͢
2018 Yusuke Hirao, CC BY-ND. Ͱɺ࡞ͬͯΈͯͷײ
2018 Yusuke Hirao, CC BY-ND. ָ͍͠
2018 Yusuke Hirao, CC BY-ND. ͳΜ͜Ε։ൃָ͍͠Μ ඞཁʹۦΒΕͯ࡞Γ࢝Ίͨʹͯ͠༧֎ʹָ͍͠ ΰϦΰϦ)5.-ΛѻͬͯΔͷʹϑϩϯτΤϯυ͡Όͳ͍ෆࢥٞײ ͍ΖΜͳֶͼ͕͋ͬͨ ͱʹ͔͘)5.--JWJOHTUBOEBSEಡΈ·ͬͨ͘
)5.-ͷߏจύʔεʹͨΒৄ͘͠ͳͬͨ $-*ͷԞਂ͞ ඪ४ೖྗग़ྗͱ͔ϑϩϯτΤϯυͰະ ࠶ؼॲཧͱ͔ਅ໘ʹऔΓΜͩͷॳΊ͔ͯ͠Εͳ͍ ϒϥβޓΛؾʹ͠ͳ͍ίʔσΟϯάͷշײ ͋ͱɺۙʑઍϖʔδͷʹཱͯΔ͜ͱ͕ ͖ͬΓ͍ͯ͠Δ೩͑Δಈػʹͳ͍ͬͯͨ
2018 Yusuke Hirao, CC BY-ND. తͱָཱ͍͕྆͠Ͱ͖ͦ͏Ͱ͋Δ ϨϏϡʔͷຊདྷͷత ίϯςΩετͱηϚϯςΟοΫͷ֬ೝ ΞΫηγϏϦςΟνΣοΫ ࣮ࡍʹؾΛऔΒΕͯ͠·ͬͨ͜ͱ
)5.-7BMJEBUJPO Ϋϥε໋໊نଇͳͲίʔσΟϯάΨΠυϥΠϯ४ڌͷ֬ೝ ্࣭ͳ͍͚ͲϝϯςͷͨΊͷΨΠυϥΠϯϧʔϧ͕ ΠϯσϯτϨϏϡʔͷಡΈ͢͞ʹͨΊͳͷʹͦΕΛࢦఠ ෛͷϧʔϓ
2018 Yusuke Hirao, CC BY-ND. తͱָཱ͍͕྆͠Ͱ͖ͦ͏Ͱ͋Δ ϨϏϡʔͷຊདྷͷత ίϯςΩετͱηϚϯςΟοΫͷ֬ೝ ΞΫηγϏϦςΟνΣοΫ ࣮ࡍʹؾΛऔΒΕͯ͠·ͬͨ͜ͱ
)5.-7BMJEBUJPO Ϋϥε໋໊نଇͳͲίʔσΟϯάΨΠυϥΠϯ४ڌͷ֬ೝ ্࣭ͳ͍͚ͲϝϯςͷͨΊͷΨΠυϥΠϯϧʔϧ͕ ΠϯσϯτϨϏϡʔͷಡΈ͢͞ʹͨΊͳͷʹͦΕΛࢦఠ ෛͷϧʔϓ త
2018 Yusuke Hirao, CC BY-ND. తͱָཱ͍͕྆͠Ͱ͖ͦ͏Ͱ͋Δ ϨϏϡʔͷຊདྷͷత ίϯςΩετͱηϚϯςΟοΫͷ֬ೝ ΞΫηγϏϦςΟνΣοΫ ࣮ࡍʹؾΛऔΒΕͯ͠·ͬͨ͜ͱ
)5.-7BMJEBUJPO Ϋϥε໋໊نଇͳͲίʔσΟϯάΨΠυϥΠϯ४ڌͷ֬ೝ ্࣭ͳ͍͚ͲϝϯςͷͨΊͷΨΠυϥΠϯϧʔϧ͕ ΠϯσϯτϨϏϡʔͷಡΈ͢͞ʹͨΊͳͷʹͦΕΛࢦఠ ෛͷϧʔϓ త ָ͍͠
2018 Yusuke Hirao, CC BY-ND. ͋͞ɺ
2018 Yusuke Hirao, CC BY-ND. ίʔυϨϏϡʔ͠Α͏
2018 Yusuke Hirao, CC BY-ND. 5IBOLZPV
2018 Yusuke Hirao, CC BY-ND. NBSLVQMJOU IUUQTHJUIVCDPN:VTVLF)JSBPNBSLVQMJOU NBSLVQMJOUQMVHJOUFYUMJOU IUUQTXXXOQNKTDPNQBDLBHFNBSLVQMJOUQMVHJOUFYUMJOU NBSLVQMJOUGPS74$PEF
IUUQTNBSLFUQMBDFWJTVBMTUVEJPDPNJUFNT JUFN/BNFZVTVLFIJSBPWTDPEFNBSLVQMJOU