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
Lintの付き合い方とPahoutのご紹介
Search
Kazuma Watanabe
October 25, 2017
Technology
210
0
Share
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
1
150
SmartHRにおけるBiTemporal Data Modelの実践のその後 / After the practice of BiTemporal Data Model in SmartHR
wata727
1
3.8k
PHPを検査するPHPを書く / Write PHP inspection by PHP
wata727
1
2.4k
快適なコードレビューを目指して / For a comfortable code review
wata727
1
700
現実世界でのコンテナの運び方
wata727
3
1.2k
Querlyで始めるコードレビューの自動化
wata727
2
480
コンテナをSpot Fleetで起動するという選択肢
wata727
2
1.1k
エンジニア向けSaaSを支えるInfrastructure as Code
wata727
5
2.5k
SideCIのインフラ構築を自動化した話
wata727
1
2.2k
Other Decks in Technology
See All in Technology
20260513_生成AIを専属DSに_AI分析結果の検品テクニック_ハンズオン_交通事故データ
doradora09
PRO
0
230
Terragrunt x Snowflake + dbt で作るマルチテナントなデータ基盤構築プラットフォーム
gak_t12
0
410
「背中を見て育て」からの卒業 〜専門技術としてのテスト設計を軸に、品質保証のバトンを繋ぐ〜 #genda_tech_talk
nihonbuson
PRO
3
1.5k
GCASアップデート(202603-202605)
techniczna
0
210
AsyncStreamでマルチブロードキャストを実装する
1mash0
1
120
10サービス以上のメール到達率改善を地道に継続的に進めている話 / Continue to improve email delivery rates across multiple services
yamaguchitk333
6
2.1k
SpeechTranscriber + AIによる文字起こし機能
kazuki1220
0
110
"うちにはまだ早い"は本当? ─ 小さく始めるPlatform Engineering入門
harukasakihara
6
630
エムスリーテクノロジーズ株式会社 エンジニア向け紹介資料 / M3 Technologies Company Deck
m3_engineering
0
190
ECSのTerraformモジュールにコントリビュートした話
harukasakihara
0
230
Gaussian Splattingの表現力を拡張する — 高周波再構成とインタラクションへのアプローチ —
gpuunite_official
0
190
AWS運用におけるAI Agent活用術 / JAWS-UG 神戸 #11 LT大会
genda
1
300
Featured
See All Featured
Producing Creativity
orderedlist
PRO
348
40k
The untapped power of vector embeddings
frankvandijk
2
1.7k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
370
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
110k
My Coaching Mixtape
mlcsv
0
130
Design in an AI World
tapps
1
210
Odyssey Design
rkendrick25
PRO
2
620
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.7k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.3k
RailsConf 2023
tenderlove
30
1.4k
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Ͱ͢ʂ