Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Lintの付き合い方とPahoutのご紹介
Search
Kazuma Watanabe
October 25, 2017
Technology
230
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Lintの付き合い方とPahoutのご紹介
第119回PHP勉強会@東京
Kazuma Watanabe
October 25, 2017
More Decks by Kazuma Watanabe
See All by Kazuma Watanabe
Terraform言語の静的解析 / static analysis of Terraform language
wata727
2
250
SmartHRにおけるBiTemporal Data Modelの実践のその後 / After the practice of BiTemporal Data Model in SmartHR
wata727
1
4k
PHPを検査するPHPを書く / Write PHP inspection by PHP
wata727
1
2.5k
快適なコードレビューを目指して / For a comfortable code review
wata727
1
720
現実世界でのコンテナの運び方
wata727
3
1.3k
Querlyで始めるコードレビューの自動化
wata727
2
490
コンテナをSpot Fleetで起動するという選択肢
wata727
2
1.2k
エンジニア向けSaaSを支えるInfrastructure as Code
wata727
5
2.5k
SideCIのインフラ構築を自動化した話
wata727
1
2.3k
Other Decks in Technology
See All in Technology
アクセラレーターで実現するServiceNow活用の高速化 / ServiceNow World Forum 2026
visional_engineering_and_design
0
130
[General] 개발자로 해외 기업에서 일하기
skydoves
1
290
reInvent2026stby LT00 "Change your life!"
shinichirokawano
1
560
推論基盤と Scale-Up Interconnect の現状と制約から俯瞰する技術動向
markunet
2
800
バックオフィスに染み出すTypeScript ── clasp で安全に仕組みを作る
nealle
1
180
AIエージェント統制はAPIから——押さえるべき5つの要素
nagix
0
120
新卒エンジニア、 介護士になる
ryu1013
1
680
re:Inventで、人生は変わったのか? / growth-builders-hub-1-reinvent-2026
mhrtech
2
310
仕様駆動開発の、その先へ。決める力と確かめる仕組み
inariku
1
170
`go get`したらELFが降ってきた件
taiyow
0
160
Active Directory と Entra ID のむむむな関係
murachiakira
PRO
1
710
渡米前の準備を制す!re:Invent 2026徹底準備術 / The Ultimate Preparation Guide for re:Invent 2026
yuj1osm
1
530
Featured
See All Featured
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.7k
A Modern Web Designer's Workflow
chriscoyier
699
190k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
400
Fashionably flexible responsive web design (full day workshop)
malarkey
409
67k
KATA
mclloyd
PRO
35
16k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
560
Writing Fast Ruby
sferik
630
63k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
470
My Coaching Mixtape
mlcsv
0
380
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
810
Technical Leadership for Architectural Decision Making
baasie
3
630
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
460
Transcript
-JOUͷ͖߹͍ํ ͱ1BIPVUͷ͝հ !XBUB ୈճ1)1ษڧձ!౦ژ
͋ΔϨϏϡʔͷ
ͱ͋ΔϨϏϡʔ QIQ DMBTT3FQPTJUPSZ\ QSJWBUFOBNF QSJWBUFQVCMJD QVCMJDGVODUJPO@@DPOTUSVDU TUSJOHOBNF TUSJOHWJTJCJMJUZ \
UIJTOBNFOBNF UIJTQVCMJDWJTJCJMJUZQVCMJD USVFGBMTF ^ ʜ ^
ͱ͋ΔϨϏϡʔ QIQ DMBTT3FQPTJUPSZ\ QSJWBUFOBNF QSJWBUFQVCMJD QVCMJDGVODUJPO@@DPOTUSVDU TUSJOHOBNF TUSJOHWJTJCJMJUZ \
UIJTOBNFOBNF UIJTQVCMJDWJTJCJMJUZQVCMJD USVFGBMTF ^ ʜ ^ WJTJCJMJUZlQVCMJD͚ͩͰΑ͘ͳ͍ʁ
None
·ͨผͷ QIQ #FGPSF VTFSJTTFU @(&5<VTFS> @(&5<VTFS>OPCPEZ "GUFS VTFS@(&5<VTFS>
OPCPEZ 1)1͔Β/VMM߹ମԋࢉࢠ͕ೖΓ·ͨ͠Ͷ ศརʂͳΔͬͪ͘͜ͷه๏Λ͏Α͏ʹ͠Α͏ʂ
ͱ͜ΖͰ w ͜ͷϨϏϡʔɺϓϩδΣΫτ͝ͱʹϨϏϡΞ͕ؤுͬ ͯΔඞཁ͋Δʁ w ϓϩδΣΫτݻ༗ͷͰͳ͍͠ɺ1)1Λॻ͍ͯΔ ݶΓ୭Ͱૺ۰ͦ͠͏ͳɺΞυόΠε w ΈΜͳ͕͜͏͍ͬͨʮΑ͋͘ΔʯΛ·ͱΊͯɺػ ցతʹνΣοΫͰ͖ΔΈΛ࡞ͬͨΒͤ͡Όͳ͍ʁ
-JOUΛ͓͏
͍ͬͯ·͔͢ʁ
-JOUJTԿ w ίϯύΠϥΑΓৄࡉ͔ͭݫີͳνΣοΫ w ίϯύΠϥͰνΣοΫ͞Εͳ͍͕ɺόάͷ ݪҼʹͳΔΑ͏ͳᐆດͳهड़Λܯࠂ͢Δ
-JOUJTԿ w ίϯύΠϥΑΓৄࡉ͔ͭݫີͳνΣοΫ w ίϯύΠϥͰνΣοΫ͞Εͳ͍͕ɺόάͷ ݪҼʹͳΔΑ͏ͳᐆດͳهड़Λܯࠂ͢Δ ˠίʔυΛػցతʹνΣοΫͯ͠Կ͔༗ӹͳ͜ͱΛݴ͏
1)1ͷ-JOUFS w 1)1@$PEF4OJ⒎FS w 1)1.FTT%FUFDUPS w 1IBO FUD
1)1@$PEF4OJ⒎FS w ίʔσΟϯάن ྫ͑143 ʹҧͨ͠ίʔ υΛػցతʹݕग़Ͱ͖Δ w ϓϥάΠϯػߏ͕͋ΔͷͰɺΦϨΦϨن ద༻Մೳ
1)1@$PEF4OJ⒎FS QIQ DMBTT)PHF\ QVCMJDGVODUJPO@@DPOTUSVDU \ *OJUJBMJ[F ^ QVCMJDGVODUJPOSVO \
4PNFUIJOH ^ ^
1)1@$PEF4OJ⒎FS QIQ DMBTT)PHF\ QVCMJDGVODUJPO@@DPOTUSVDU \ *OJUJBMJ[F ^ QVCMJDGVODUJPOSVO \
4PNFUIJOH ^ ^ 0QFOJOHCSBDFPGBDMBTTNVTU CFPOUIFMJOFBGUFSUIFEFpOJUJPO 0QFOJOHCSBDFTIPVMECFPOBOFXMJOF "DMPTJOHUBHJT OPUQFSNJUUFEBUUIFFOEPGB1)1pMF
ศརʂ
ͱ͜Ζ͕ w ಄ͷྫʹ্͛ͨΑ͏ͳ՝ΛղܾͰ͖ͦ͏ ͳ-JOUFS͕ແ͍ʜ w 1)1@$PEF4OJ⒎FS͕Ұ൪ۙͦ͏͚ͩͲɺ͜Ε ίʔσΟϯάنͷҹ͕ڧͦ͏ w ͦΕͧΕͷπʔϧͷࢥͱҧ͏ؾ͕͢Δ
-JOUΛ࡞Ζ͏
େ·͔ͳઓུ w ؆୯ͳ-JOUFSͳΒҙ֎ͱ࡞Δͷ͘͠ͳ͍ w 1IBOΈ͍ͨͳͷେม͚ͩͲʜ w ݁ہίʔυΛύʔεͯ͠ɺͻͱͭͻͱͭ νΣοΫͯ͠ɺ͕͋Εग़ྗ͢Εྑ͍
1BSTF w ίʔυΛ1)1ͷεΫϦϓτ্Ͱѻ͍͍͢ܗ ࣜʹม͢Δ "45BCTUSBDUTZOUBYUSFF w ϥΠϒϥϦ͕͋ΔͷͰɺͦΕΛ͑؆୯ w OJLJDQIQBTU͕ૣͯ͘ྑͦ͞͏
OJLJDQIQBTU QIQ OPEFBTUaQBSTF@pMF BSHW<> OPEFLJOEϊʔυͷछྨ FHఆఆٛ ؔݺͼग़͠
OPEFDIJMESFOϊʔυͷࢠϊʔυ
5SBWFSTF w ಘΒΕͨ"45ͷϊʔυΛਂ͞༏ઌͰνΣοΫ w ࢠϊʔυ୳ࡧ͍ͯ͘͠ͷͰ࠶ؼؔͱͯ͠ ࣮͞ΕΔ w ϊʔυͷछྨΛݟͯɺݕࠪͷॲཧΛϑοΫ
5SBWFSTF QIQ GVODUJPOUSBWFSTF /PEFOPEF \ OPEFʹରͯ͠ݕࠪ͢Δ GPSFBDI OPEFDIJMESFOBTUZQFDIJME
\ JG DIJMEJOTUBODFPG/PEF \ USBWFSTF DIJME ^ ^ ^
*OTQFDU w Ϋϥε͝ͱʹݕࠪରͷϊʔυͷछྨͱɺϊʔ υʹର͢ΔݕࠪॲཧΛఆٛ͢Δ w ݕࠪ݁Ռʹ͕͋ΕɺࢦఠΛൃੜͤ͞Δ
*OTQFDU QIQ DMBTT*OTQFDUPS \ ࡾ߲ԋࢉࢠͷ߹ʹݕࠪ͢Δ DPOTU&/53:@10*/5aBTUa"45@$0/%*5*0/"- OPEFLJOE&/53:10*/5ʹͳΔͱ͖͚࣮ͩߦ͢Δ QVCMJDGVODUJPOSVO /PEFOPEF
\ OPEFΛݟͯ৭ʑ͢Δ ^ ^
࡞Γ·ͨ͠ w IUUQTHJUIVCDPNXBUBQBIPVU w ৽͍͠1)1ͷγϯλΫεͰஔ͖͑Մೳͳ ίʔυΛݕग़ͨ͠ΓɺόάͬΆ͍ίʔυΛݟ ͚ͭͨΓ
1BIPVUͷྫ QIQ USZ\ TPNFUIJOH ^DBUDI "FYDFQUJPO \ SFTDVF
FDIPlDBUDIz ^DBUDI #FYDFQUJPO \ FDIPlDBUDIz ^DBUDI $FYDFQUJPO \ FDIPlDBUDIz ^
1BIPVUͷྫ QIQ USZ\ TPNFUIJOH ^DBUDI "FYDFQUJPO \ SFTDVF
FDIPlDBUDIz ^DBUDI #FYDFQUJPO \ FDIPlDBUDIz ^DBUDI $FYDFQUJPO \ FDIPlDBUDIz ^ .VMUJQMF$BUDI"DBUDICMPDLNBZ TQFDJGZNVMUJQMFFYDFQUJPO
1BIPVUͷྫ QIQ USZ\ TPNFUIJOH ^DBUDI "FYDFQUJPO \ SFTDVF
FDIPlDBUDIz ^DBUDI #c$FYDFQUJPO \ FDIPlDBUDIz ^
ૣ͓͏ʂ
ૣ͓͏ʂ Ͱ
-JOUಋೖͷ Ξϯνύλʔϯ
Α͋͘Δಋೖͷࣦഊ w ͱΓ͋͑ͣશମʹద༻͢Δ w ݴΘΕͨ͜ͱΛશ෦͢
ͱΓ͋͑ͣશମʹద༻͢Δ
ͱΓ͋͑ͣશମʹద༻͢Δ w ΊͪΌͪ͘Όࢦఠ͕ग़Δ w Ͳ͔͜Β͍͍ͤͷ͔Θ͔Βͳ͘ͳΔ w ʘ ?P? ʗźŕũŽƃŮ
ݴΘΕͨ͜ͱΛશ෦͢ w ຊʹͦΕͰ͍͍ͷʁ w ྫ͑ʮϝιου͕͗͢·͢ʯͱݴΘΕ͔ͨΒ ࢥߟఀࢭͯ͠ϝιουΛׂ͢Δͷਖ਼͍͠ͷʁ w ϝιουͷׂɺͦͷϝιουͷ͕େ͖͢ ͗Δ߹ʹߦͳ͏͖Ͱ͋Δͣ
ݴΘΕͨ͜ͱΛશ෦͢ w ຊʹͦΕͰ͍͍ͷʁ w ྫ͑ʮϝιου͕͗͢·͢ʯͱݴΘΕ͔ͨΒ ࢥߟఀࢭͯ͠ϝιουΛׂ͢Δͷਖ਼͍͠ͷʁ w ϝιουͷׂɺͦͷϝιουͷ͕େ͖͢ ͗Δ߹ʹߦͳ͏͖Ͱ͋Δͣ ˠͦͦɺࢲୡػցΑΓݡ͍
Ͳ͏͢Δ͖͔ʁ w -JOUʮϖΞϓϩάϥϛϯάͷύʔτφʔʯ ͷΑ͏ͳଘࡏͰ͋Δ͖ w ϖΞϓϩͰʮͱΓ͋͑ͣաڈͷίʔυ͔Βશ ෦ݟΔʯͳΜͯ͜ͱ͠ͳ͍ͣ w ύʔτφʔʮΞυόΠεʯ͢Δ͚ͩͰͦΕ Λड͚ೖΕΔ͔͋ͳͨͷஅ࣍ୈ
1BIPVUͲ͏͔ʁ w l"QBJSQSPHSBNNJOHQBSUOFSGPSXSJUJOH CFUUFS1)1zΛςʔϚʹ͍ͯ͠Δ w ਓ͕ؒݟಀ͕ͪ͠ͳϛεΛ͟ͱ͘ݟ͚ͭͯ ΞυόΠε͢Δͷ͕ಘҙ w ϓϩδΣΫτͷഎܠσʔλʹىҼ͢Δ ͋ͳͨͷ΄͏͕ৄ͍͠ͷͰޱग़͠͠·ͤΜ
1BIPVUͲ͏͔ʁ w ৽͘͠ॻ͔ΕΔίʔυ͚ͩνΣοΫ͢Δ Έಛʹແ͍ͷͰਓؒʹؤுͬͯཉ͍͠
࠷ޙʹ w Έͳ͞ΜͷݱͰݟ͚ͭͨʮࣗಈԽͰ͖ͦ͏ ͳϨϏϡʔʯͷΛฉ͔͍ͤͯͩ͘͞ w *TTVFͱཱ͔ͯͯ͘ΕΔͱتΜͰ࣮͠·͢ ʢͨͿΜʣ w ͪΖΜϓϧϦΫΤετ8FMDPNFͰ͢ʂ