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
500万行のPHPプロジェクトにおけるログ出力の歩み
Search
Infiniteloop
October 18, 2023
Programming
240
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
500万行のPHPプロジェクトにおけるログ出力の歩み
【タガヤス その13】ILの日常業務から 発表資料
https://tagayas.connpass.com/event/145290/
Infiniteloop
October 18, 2023
More Decks by Infiniteloop
See All by Infiniteloop
[新卒向け研修資料] テスト文字列に「うんこ」と入れるな(2025年版)
infiniteloop_inc
18
91k
俺の PHP プロファイラの話 PHP スクリプトで PHP 処理系のメモリをのぞき込む
infiniteloop_inc
1
760
心理的安全性を学び直し、 「いい組織とは何か?」を考えてみる
infiniteloop_inc
1
1.2k
ゼロからつくる 2D物理シミュレーション ~物理現象をコードに落とし込む方法~
infiniteloop_inc
1
1.7k
詫び石の裏側
infiniteloop_inc
0
1k
[新卒向け研修資料] テスト文字列に「うんこ」と入れるな(2024年版)
infiniteloop_inc
7
36k
リファクタリングで実装が○○分短縮した話
infiniteloop_inc
0
320
ADRという考えを取り入れてみて
infiniteloop_inc
0
330
I ❤ Virtual Machines 仮想環境をより便利に使うツールたち
infiniteloop_inc
0
210
Other Decks in Programming
See All in Programming
カツオ、ご期待ください
suneo3476
0
140
Androidだけじゃない、DroidKaigiで広がった私の技術スタック
akkeylab
0
110
setup-vp GitLab対応の裏側
naokihaba
0
150
Turning Architecture into Unit Tests in the AI Era (NSSpain XIV)
steliosf
PRO
1
120
モバイル交通系ICへのチャージ実例から考える、クロスプラットフォーム開発におけるiOS実機テスト設計とCI運用
yusuga
1
570
Security issues being discussed on Web Platforms
petamoriken
0
1.4k
技術的負債を組織課題として解く-増えすぎたマイクロサービスとの戦い-
reimaru
1
2.6k
Agents on Rails - Rails at Scale 2026
irinanazarova
0
320
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
390
GemmaをJevのように使ってみる / Use Gemma like Jev
kishida
5
520
Ghostty + Neovimで作る 透明でカッコ良い開発環境
j341nono
0
150
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Rails World 2026, Austin, Texas
marcoroth
0
160
Featured
See All Featured
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
900
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
730
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
340
SEO for Brand Visibility & Recognition
aleyda
0
4.8k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
New Earth Scene 8
popppiees
4
2.6k
The Limits of Empathy - UXLibs8
cassininazir
1
700
Product Roadmaps are Hard
iamctodd
55
13k
Deep Space Network (abreviated)
tonyrice
0
350
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
310
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
18k
Transcript
ສߦ 1)1ϓϩδΣΫτʹ͓͚Δϩάग़ྗͷาΈ λΨϠεͦͷ 1
4IJOJDIJ4BUP ࣗݾհ ࠤ౻৳Ұ גࣜձࣾΠϯϑΟχοτϧʔϓ 2
͓ࣄ ϓϩδΣΫτͷΧελϚʔαϙʔτܥ ௐࠪΛ୲ ɾΧελϚʔαϙʔτ $4 ܥͷௐࠪɾରԠ ɾ$4ͷۀʹؔ͢Δվળ ɾԆͷௐࠪɺվળ ͳͲͳͲʜ 3
ϩάͷ͍ಓ ϩάͬͯͲΜͳ༻్ʹΘΕΔΜͩΖ͏ʁ ɾಈ࡞ௐࠪ ɾੑೳௐࠪ ɾ͍߹Θͤௐࠪ ɾԆௐࠪ ɾ,1*ௐࠪ ͳͲͳͲʜ 4
ϩάͦΜͳʹ͍Ζ͍Ζ͑ΔͷͰ͋Ε ͬͱೖΕΑ͏ʂͱࢥ͏͕ʜ 1+ॳظͷϩάͷ͠͞ 5
։ൃॳظʹ༨༟͕ͳ͘ϩάʹ࣌ؒΛ͔͚Εͳ͍ ։ൃॳظஈ֊ͰϝΠϯͷػೳ։ൃͰ͕࣌ؒͱΒΕͯ ϩάͷݕ౼࣮·Ͱख͕·ΘΒͳ͍ 6
αʔϏεͷӡ༻ظ͕ؒෆ໌ αʔϏεͷӡ༻͕ͲΕ͘Β͍ͷظؒ͞ΕΔͷ͔ ϩάʹ࣌ؒΛͲΕ͘Β͍͔͚Δ͖ͳͷ͔அ͕͍͠ 7
Կͷϩά͕ඞཁͳͷ͔ݕ౼͕ඞཁ Ͳ͏͍͏ใ͕ඞཁʹͳΔͷ͔ ͲΜͳछྨͷϩά͕ඞཁͳͷ͔ݕ౼͕ඞཁ 8
ӡ༻ʹೖ͔ͬͯΒཉ͘͠ͳΔ ॏཁੑ͕ӡ༻ʹೖ͔ͬͯΒ໌Β͔ʹͳͬͨΓ ඞཁͳ͜ͱʹؾͮ͘ใ͋Δ 9
ใͷࢄ ։ൃॳظʹ༷ʑͳ ϩά͕͋Γͯ͢ͷϩάΛඥ͚ͮͯௐࠪ͢Δͷେม 10
ϩάͷछྨ͕ෳ͋Γใ͕ͦΕͧΕࢄ ͞Εͯग़ྗ͞Ε͍ͯͨ 11
ҟͳΔଐੑͷใͱΈ߹Θͤͯඥ͚ͮ ɾ"1*ϩά ɾαʔόʔϩά ɾ%#্ͷσʔλ ඥ͚ͮͷྫ αʔόʔͷϩάʹॲཧதͷใ͔͠ͳ͘"1*Ͱ ͲΜͳΛड͚ೖΕͨͷ͔"1*ͷϩάΛΈΔ 12
ใΛݟͯϚʔδ͢Δ࡞ۀ͕ඞཁʹͳΔ ಉ͡ଐੑͱඥͮ͘ͷͲΕͰͲͷΑ͏ͳ ͭͳ͕ΓΛϚʔδ͢Δඞཁ͕͋Δ 13
ใ͕ࢄ͍ͯ͠ΔͷͰ୳ͮ͠Β͍ αʔόʔϩάΛڧԽͯ̍͠छྨͷϩάͰͳΔ ͘ݟΕΔ ͑Δ Α͏ʹऩूϩάΛڧԽ 14
$MPVE8BUDI "84͕ఏڙ͢Δ ʮϑϧϚωʔδυӡ༻ࢹαʔϏεʯ 15
֤छΠϯελϯεͳͲͷ ϞχλϦϯάσʔλͱӡ༻σʔλΛऩू͠ҟৗͷ ݕσʔλͷࢹ֮ԽΛߦ͑ͨΓ͠·͢ 16
ϩάʹؔͯ͠ҎԼΛ༻͍ͯ͠·͢ ɾ$MPVE8BUDI-PHT ɾ$MPVE8BUDI-PHT*OTJHIUT 17
$MPVE8BUDI-PHT ΠϯελϯεͳͲ͓Αͼͦͷଞͷιʔεͷ ϩάϑΝΠϧͷࢹɺอଘɺΞΫηε͕Ͱ͖·͢ɻ 18
ɾϩάͷςΩετݕࡧ ɾ+40/ܗࣜͷϝοηʔδ ؆ૉͳ݅ݕࡧͳͲ͕ՄೳͰ͢ 19
ओʹͲΜͳ͜ͱʹ༻͍ͯ͠Δ͔ʁ ɾॳಈௐࠪ࣌ͷϩάͷ֬ೝ ɾ؆ૉͳςΩετɾ+40/ݕࡧͰߦ͑Δ֬ೝ 20
ը໘Πϝʔδ 21
ςΩετݕࡧ ϩάྫ \ UJNFTUBNQ DPNNPO\ DMPDL ^
EFUBJM\ NFTTBHFϩάςετ IPHF@JE ^ ^ ςΩετݕࡧྫ ϩάςετ ˞ςΩετݕࡧͰ֯εϖʔε۠ΓͰ"/%ݕࡧ 22
+40/ݕࡧ +40/ܗࣜͷ߹ͷ݅ݕࡧ \EFUBJMNFTTBHFϩάςετ^ \EFUBJMNFTTBHFϩάςετEFUBJMIPHF@JE^ 23 ϩάྫ \ UJNFTUBNQ DPNNPO\
DMPDL ^ EFUBJM\ NFTTBHFϩάςετ IPHF@JE ^ ^
$MPVE8BUDI-PHT*OTJHIUT "NB[PO$MPVE8BUDI-PHTͷϩάσʔλΛ ΠϯλϥΫςΟϒʹݕࡧͯ͠ੳͰ͖·͢ɻ ΫΤϦΛ࣮ߦ͢Δ͜ͱͰɺӡ༻্ͷʹ͢ ͘ޮՌతʹରԠͰ͖·͢ɻ 24
$MPVE8BUDI-PHTΑΓෳࡶͳઐ༻ΫΤϦ Λ͛ͯΑΓৄࡉͳߜΓࠐΈநग़Λߦ͏͜ ͱ͕ՄೳͰ͢ 25
ओʹͲΜͳ͜ͱʹ༻͍ͯ͠Δ͔ʁ ɾௐࠪ࣌ͷϩάͷ֬ೝɾूܭ ɾઐ༻ΫΤϦɾίϚϯυΛ͛ͯूܭ͢Δ ɾूܭͷ؆қతͳՄࢹԽ 26
27 ը໘Πϝʔδ
ΫΤϦݕࡧ ϩάྫ \ UJNFTUBNQ DPNNPO\ DMPDL ^
EFUBJM\ NFTTBHFϩάςετ IPHF@JE ^ ^ $MPVE8BUDI-PHT*OTJHIUTͰͷ݅ݕࡧ pMUFS!NFTTBHF-*,&ϩάςετ pMUFS!NFTTBHF-*,&ϩάςετBOEEFUBJMIPHF@JE 28
ΫΤϦݕࡧ ूܭ $MPVE8BUDI-PHT*OTJHIUTͰͷ݅ݕࡧ ྫɿ͝ͱʹϩάʹه͞ΕΔྫ֎ϩάͷ pMUFS!NFTTBHFMJLF&YDFQUJPO cTUBUTDPVOU BTFYDFQUJPO$PVOUCZCJO N cTPSUFYDFQUJPO$PVOUEFTD
29 CJO N FYDFQUJPO$PVOU 5 5 ݁Ռྫ
άϥϑදࣔ ΫΤϦݕࡧޙɺൃੜ͕݅άϥϑͰදࣔ͞Ε·͢ ɾൃੜͷ ɾൃੜͷස ͳͲΛ༰қʹՄࢹԽͯ֬͠ೝ͢Δ͜ͱ͕Ͱ͖·͢ 30
͜Ε͚ͩͰௐࠪͱूܭͰ͖Δ͕ʜ ੍࣮ݶͳͲ͕͋ͬͨΓ͠·͢ 31
ɾઐ༻ΫΤϦίϚϯυ ɾݕࡧ݁Ռߦ·Ͱͷ੍ݶ͕͋Δ )*5͕݅݅͑Δͷ͕ͩʜ ,1*ͷੳͱ͔͢ΔʹͭΒ͍ʜ $MPVE8BUDI-PHT*OTJHIUTͷऑ ˞࠷ۙ·ͰΠϯελϯεލ͗ͰݕࡧͰ͖ͳ͔ͬͨΓ ˞ݱࡏͷใ 32
"UIFOB "84͕ఏڙ͢Δ 4ͷσʔλΛඪ४42-Λ༻ͯ͠ੳͰ͖Δ ϩάσʔλΛΫϩʔϧͨ͠ςʔϒϧใ ඪ४తͳ42-ΫΤϦΛൃߦͯ͠ෳͷ छྨͷϩάใΛ݁߹͠ूܭΛߦ͏͜ͱ͕Ͱ͖Δ 33
σʔλΛ4 "84ͷετϨʔδαʔϏε సૹ ͢Δඞཁ͋Γ·͕͢ ରσʔλ42-Λ͛ͯσʔλ͕औಘ͍͢͠ ɾඪ४తͳ42-ΫΤϦΛ༻Ͱ͖ΔͷͰֶशίετ͍ ɾߦͳͲͷ੍ݶ͕ͳ͍ 34
"UIFOBͷύΠϓϥΠϯ 35
ը໘Πϝʔδ 36
ςʔϒϧྫͦͷ̍ ϩάྫ \ UJNFTUBNQ DPNNPO\ DMPDL ^
EFUBJM\ NFTTBHFϩάςετ IPHF@JE ^ ^ IPHF@JE@UBCMF 37
4&-&$5ͷྫ 4&-&$5 UJNFTUBNQBTUJNF DPNNPODMPDLBTDMPDL EFUBJMNFTTBHFBTNFTTBHF EFUBJMIPHF@JEBTIPHF@JE '30.
IPHF@JE@UBCMF UJNFDMPDLNFTTBHFIPHF@JE ϩάςετ ݁Ռ 38
ςʔϒϧྫͦͷ̎ ϩάྫ \ UJNFTUBNQ DPNNPO\ DMPDL ^
EFUBJM\ NFTTBHFϩάςετ IPHF@JE ^ ^ IPHF@JE@UBCMF ϩάྫ \ UJNFTUBNQ DPNNPO\ DMPDL ^ EFUBJM\ NFTTBHFςετΞΠςϜ IPHF@JE ɹɹJUFN@JE ^ ^ IPHF@VTF@JUFN@UBCMF 39
+0*/ͷྫ 4&-&$5 IPHF@JE@UBCMFEFUBJMIPHF@JEBTIPHF@JE IPHF@VTF@JUFN@UBCMFEFUBJMJUFN@JEBTJUFN@JE '30. IPHF@JE@UBCMF +0*/ IPHF@VTF@JUFN@UBCMF 0/ IPHF@JE@UBCMFIPHF@JEIPHF@VTF@JUFN@UBCMFIPHF@JE
IPHF@JEJUFN@JE ݁Ռ 40
"UIFOB༻ͯ͠Έͯ ɾूܭ͕ࠔͩͬͨ,1*ͷूܭ ɾσʔλͷՄࢹԽΛࢹʹೖΕͨूܭ ɾαʔϏεͷ%#ʹґଘ͠ͳ͍҆શͳूܭ ɾΧδϡΞϧʹ42-ΫΤϦΛ͛ͯूܭ͕Ͱ͖Δ 41
ϩάͷྺ࢙ ॳظ ɾϩά͕ͳ͍ ɾϧʔϧ͕ܾ·ͬͯͳ͍ ɾूܭ͕Ͱ͖ͳ͍ ɾαʔόʔ্ͷςΩετϕʔεͷϩά͔Βूܭ 42
ϩά͕ͳ͍ ɾඞཁͳϩάͷચ͍ग़͠ɾϩάͷՃ ɾαʔόʔϩάʹใΛू 43
ɾඞཁͰ͋Δ͖ϩά͕ͳ͍ ɾϑΥʔϚοτ͕༷ʑ ϧʔϧ͕ܾ·ͬͯͳ͍ 44
ɾϩά͕ͳ͘ूܭ͕͍͠ ɾ෮ݩ%#ʹཔΔͷͰίετ͕ߴ͍ ूܭ͕Ͱ͖ͳ͍ 45
ɾHSFQྗίϚϯυͷࣝͳͲʹґଘ ɾूܭํ๏༷ʑ ςΩετϕʔεͷϩά͔Βूܭ 46
ϩάͷྺ࢙ தظ ɾϩάͷू ɾϩάͷܽམ ɾϩάϑΥʔϚοτͷमਖ਼ 47
ϩάͷू ɾ֤αʔόʔ͕ϩάΛqVFOUEͰதܧαʔόू 48
ϩάͷܽམ ɾ֤αʔόʔ͔ΒϩάΛqVFOUEͰҰ୴ ɹதܧαʔόʹू͍͕ͯͨ͠ɺू࣌ʹ ɹ࣌ં٧·Γ͕ൃੜ͠ϩά͕ܽམ͍ͯͨ͠ɻ ɾ֤αʔόʔͷखݩʹॻ͖ग़͠ɺ֤αʔόͰ ɹ$MPVE8BUDIసૹ 49
ϩάϑΥʔϚοτͷमਖ਼ ɾϩάͷه๏ϧʔϧܾΊ ɾओʹϑΥʔϚοτͷ౷ҰͰݕࡧੑͷ্ ɹ ݕࡧ࿙Εରࡦ 50
ϩάͷྺ࢙ ࠷ۙ ɾϩάग़ྗͷ+40/Խ ɾԆϩάͳͲͷϞχλϦϯά ɾ*OTJHIUTɾ"UIFOBͷ׆༻ 51
ϩάग़ྗͷ+40/Խ ɾ$MPVE8BUDI্ͰͷݕࡧੑΛ্ ɾϩάه๏ͷ͞ΒͳΔϧʔϧܾΊ 52
ԆϩάͳͲͷϞχλϦϯά ɾ$MPVE8BUDIΛ༻ͨ͠Ԇϩάͷݟ͑ΔԽ ɾݟ͑ΔԽʹΑΓؾ͖ͮ͘͢ͳΓΛൃݟ ɹ͘͢͠ͳͬͨ 53
*OTJHIUTɾ"UIFOBͷ׆༻ ɾϩάͷूܭํ๏ͷཱ֬ ɾϩά͔Βͷਂງͨ͠ूܭͷ࣮ݱ 54
ݱࡏʹࢸΔʜ 55
࠷ޙʹ ɾϩάओͰͳ͍͕αʔϏεͷӡ༻ɾվળ ɹΛߦ͏ͨΊʹॏཁ ɾͰ͖Δ͚ͩαʔϏεΠϯલ͔ΒϧʔϧඋΛ ɾϩάͱ͖߹͏͜ͱʹγεςϜͱ͖߹͏͜ͱ ɾϩάͱ͍͏ଘࡏΛΕͳ͍ 56
ͨ·ʹʜ ϩάͷ͜ͱؾʹ͔͚ͯ͋͛·͠ΐ͏ স ?@? 57
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ 58