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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Kazuma Watanabe
October 25, 2017
Technology
0
190
Lintの付き合い方とPahoutのご紹介
第119回PHP勉強会@東京
Kazuma Watanabe
October 25, 2017
Tweet
Share
More Decks by Kazuma Watanabe
See All by Kazuma Watanabe
SmartHRにおけるBiTemporal Data Modelの実践のその後 / After the practice of BiTemporal Data Model in SmartHR
wata727
1
3.7k
PHPを検査するPHPを書く / Write PHP inspection by PHP
wata727
1
2.4k
快適なコードレビューを目指して / For a comfortable code review
wata727
1
680
現実世界でのコンテナの運び方
wata727
3
1.2k
Querlyで始めるコードレビューの自動化
wata727
2
470
コンテナを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
どこで打鍵するのが良い? IaCの実行基盤選定について
nrinetcom
PRO
2
170
Security Diaries of an Open Source IAM
ahus1
0
200
Claude Cowork Plugins を読む - Skills駆動型業務エージェント設計の実像と構造
knishioka
0
270
Kaggleの経験が実務にどう活きているか / kaggle_findy
sansan_randd
5
780
組織のSREを推進するためのPlatform EngineeringとEKS / Platform Engineering and EKS to drive SRE in your organization
chmikata
0
180
Lookerの最新バージョンv26.2がやばい話
waiwai2111
1
160
Data Hubグループ 紹介資料
sansan33
PRO
0
2.8k
開発組織の課題解決を加速するための権限委譲 -する側、される側としての向き合い方-
daitasu
5
250
Evolution of Claude Code & How to use features
oikon48
1
290
Datadog Cloud Cost Management で実現するFinOps
taiponrock
PRO
0
140
LY Tableauでの Tableau x AIの実践 (at Tableau Now! - 2026-02-26)
yoshitakaarakawa
0
1.3k
Kaggleで鍛えたスキルの実務での活かし方 競技とプロダクト開発のリアル
recruitengineers
PRO
1
160
Featured
See All Featured
First, design no harm
axbom
PRO
2
1.1k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
110k
Visualization
eitanlees
150
17k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Six Lessons from altMBA
skipperchong
29
4.2k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
340
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
KATA
mclloyd
PRO
35
15k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
370
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.4k
Believing is Seeing
oripsolob
1
72
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
240
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Ͱ͢ʂ