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
0
150
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
2.5k
PHPを検査するPHPを書く / Write PHP inspection by PHP
wata727
1
2.1k
快適なコードレビューを目指して / For a comfortable code review
wata727
1
610
現実世界でのコンテナの運び方
wata727
3
1.1k
Querlyで始めるコードレビューの自動化
wata727
2
440
コンテナをSpot Fleetで起動するという選択肢
wata727
2
1k
エンジニア向けSaaSを支えるInfrastructure as Code
wata727
5
2.3k
SideCIのインフラ構築を自動化した話
wata727
1
2.1k
Other Decks in Technology
See All in Technology
SREKaigi.pdf
_awache
2
3k
オーティファイ会社紹介資料 / Autify Company Deck
autifyhq
10
120k
プロダクト開発、インフラ、コーポレート、そしてAIとの共通言語としての Terraform / Terraform as a Common Language for Product Development, Infrastructure, Corporate Engineering, and AI
yuyatakeyama
6
1.4k
トラブルシュートを楽しもう (wakamonog meeting 15)
recuraki
4
1k
Asset Centric な データ変換パイプラインの攻略法
recruitengineers
PRO
1
100
データ基盤におけるIaCの重要性とその運用
mtpooh
5
790
TypeScriptでモジュラーモノリスやってみた
diggymo
0
100
DevSecOps入門:Security Development Lifecycleによる開発プロセスのセキュリティ強化
yuriemori
0
200
第27回クラウド女子会 ~re:Invent 振り返りLT会~ 宣言型ポリシー、使ってみたらこうだった!
itkr2305
0
270
HCP TerraformとAzure:イオンスマートテクノロジーのインフラ革新 / HCP Terraform and Azure AEON Smart Technology's Infrastructure Innovation
aeonpeople
3
820
SIEMによるセキュリティログの可視化と分析を通じた信頼性向上プロセスと実践
coconala_engineer
1
2.3k
財務データを題材に、 ETLとは何であるかを考える
shoe116
5
1.9k
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
6
210
Why Our Code Smells
bkeepers
PRO
335
57k
Rails Girls Zürich Keynote
gr2m
94
13k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.1k
The Cost Of JavaScript in 2023
addyosmani
47
7.2k
How to Think Like a Performance Engineer
csswizardry
22
1.3k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
3
260
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Ͱ͢ʂ