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
ISUCON 11 参考実装 PHP 移植の苦労?話
Search
Shohei Okada
October 04, 2021
Programming
0
93
ISUCON 11 参考実装 PHP 移植の苦労?話
2021/10/02, 03 開催「PHP Conference Japan 2021」(
https://phpcon.php.gr.jp/2021/)の懇親会
LT 資料です。
Shohei Okada
October 04, 2021
Tweet
Share
More Decks by Shohei Okada
See All by Shohei Okada
どうして手を動かすよりもチーム内のコードレビューを優先するべきなのか
okashoi
3
1.3k
パスワードのハッシュ、ソルトってなに? - What is hash and salt for password?
okashoi
3
200
設計の考え方 - インターフェースと腐敗防止層編 #phpconfuk / Interface and Anti Corruption Layer
okashoi
11
3.7k
"config" ってなんだ? / What is "config"?
okashoi
0
1.2k
ファイル先頭の use の意味、説明できますか? 〜PHP の namespace と autoloading の関係を正しく理解しよう〜 / namespace and autoloading in php
okashoi
4
1.6k
MySQL のインデックスの種類をおさらいしよう! / overviewing indexes in MySQL
okashoi
0
870
PHP における静的解析(あるいはそもそも静的解析とは) / #phpcondo_yasai static analysis for PHP
okashoi
1
580
【PHPカンファレンス沖縄 2023】素朴で考慮漏れのある PHP コードをテストコードとともに補強していく(ライブコーディング補足資料) / #phpcon_okinawa 2023 livecoding supplementary material
okashoi
3
1.9k
その説明、コードコメントに書く?コミットメッセージに書く? プルリクエストに書く? - #phpconfuk 2023
okashoi
16
5.3k
Other Decks in Programming
See All in Programming
TSConfig Solution Style & subpath imports to switch types on a per-file basis
maminami373
1
180
Use Perl as Better Shell Script
karupanerura
0
650
UPDATEがシステムを複雑にする? イミュータブルデータモデルのすすめ
shimomura
0
170
Interface vs Types ~型推論が過多推論~
hirokiomote
1
230
Proxmoxをまとめて管理できるコンソール作ってみました
karugamo
1
410
Devinで実践する!AIエージェントと協働する開発組織の作り方
masahiro_nishimi
6
2.5k
バリデーションライブラリ徹底比較
nayuta999999
1
420
REST API設計の実践 – ベストプラクティスとその落とし穴
kentaroutakeda
2
310
『Python → TypeScript』オンボーディング奮闘記
takumi_tatsuno
1
140
TypeScriptのmoduleオプションを改めて整理する
bicstone
4
420
SpringBootにおけるオブザーバビリティのなにか
irof
1
890
OpenTelemetryで始めるベンダーフリーなobservability / Vendor-free observability starting with OpenTelemetry
seike460
PRO
0
160
Featured
See All Featured
How to Think Like a Performance Engineer
csswizardry
23
1.6k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
KATA
mclloyd
29
14k
Adopting Sorbet at Scale
ufuk
76
9.4k
Writing Fast Ruby
sferik
628
61k
BBQ
matthewcrist
88
9.7k
Faster Mobile Websites
deanohume
307
31k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
34
2.3k
Why Our Code Smells
bkeepers
PRO
336
57k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
How to train your dragon (web standard)
notwaldorf
92
6k
Transcript
*46$0/ࢀߟ࣮ 1)1Ҡ২ͷۤ࿑ʁ 1)1$POGFSFODF+BQBO࠙ձ !PLBTIPJ
Γ·ͨ͠
Γ·ͨ͠ ۓுͯ͠·ͱʹͤͳ͔ͬͨ
͜ͷͰϦϕϯδʂ
Ͱ͖Δ͚ͩαʔυύʔςΟϥΠϒϥϦͷґଘΛ࠷খʹ Ͱ *46$0/ͰഊࢭΛ࡞Δͷ 5PP.VDIͳͷͰΒͳ͍ ҙࣝͨ͜͠ͱ ༧બͷ DPNQPTFSKTPO ຊઓͷ DPNQPTFSKTPO
ଞͷݴޠͱͷใྔͷࠩҟΛͰ͖Δ͚ͩݮΒ͢ ʢओཁϩδοΫʣϑΝΠϧʹू w ͨͩ͠ʮSPVUFTQIQͱ🤔ʯͬͯͳͬͨ ͍͍ͪͪܕΛ͚Δ w ͜Ε͕࣮ࣗ͢Δ্Ͱॿ͚ʹͳΔ ҙࣝͨ͜͠ͱ
w 1)1ͱͦΕҎ֎ͰͦͦΞʔΩςΫνϟҧ͏͠ w ΤϥʔϋϯυϦϯά·ΘΓʢΦϦδφϧ (Pʣ w ϥΠϒϥϦͷΤϥʔͷग़͠ํ͕ (Pͱҟͳͬͯ ֎͔ΒݟͨڍಈҰகͤ͞ͳ͍ͱ͍͚ͳ͍ w
ྫ֎Λ͏ͱܭࢉྔͷίετ૿ʢҰԠʣ͋Δ w ࡉ͔ͳͱ͜ΖͰม໊ͳͲ ˠաڈͷ *46$0/ͷ 1)1࣮Λࢀߟʹͭͭ͠όϥϯεΛऔΔ ͍ͨΜͩͬͨ͜ͱ ΦϦδφϧ࣮ͷ࠶ݱ WT1)1ͷྲّྀ
͏ͷ͓ͳ͡Έ 1%0 w 1%0'&5$)@#05)Ͱྻͷ··ѻ͏ ˠܕͷԸܙʹ༩Εͳ͍ w 1%0'&5$)@$-"44ˠ͕จࣈྻʹͳͬͯ͠·͏ ʢCPPMͱ͔ %BUFUJNF*NNVUBCMFʹม͔ͯ͠Β֨ೲ͍ͨ͠ʣ ˠΛύοΫ͢Δ
DMBTTʹ GSPN%C3PX ͱ͍͏ TUBUJDϝιουΛੜ ͨ͠ʢ+40/͔Βͷมಉ༷ͳײ͡ʹͨ͠ʣ ʜʜ͕ɺ͜Ε͕݁ߏ໘ ͍ͨΜͩͬͨ͜ͱ %#͔Βऔಘͨ͠σʔλͷѻ͍
(PͰ͜ΕͰࡁΉఆ͕ٛ ͍ͨΜͩͬͨ͜ͱ %#͔Βऔಘͨ͠σʔλͷѻ͍
͜͏͡Ό ͍ͨΜͩͬͨ͜ͱ %#͔Βऔಘͨ͠σʔλͷѻ͍
༧બͰͷൺֱ w NBJOHPߦɺ͏ͪߏମఆ͕ٛ ߦ w SPVUFTQIQߦɺ͏ͪΫϥεఆ͕ٛ ߦ ˠΫϥεͷఆ͚ٛͩͰ
ഒ͍ۙྔͷίʔσΟϯά͕ඞཁʹ ͦ͏͍͑͜Ε 1)1💡 ͍ͨΜͩͬͨ͜ͱ %#͔Βऔಘͨ͠σʔλͷѻ͍
͍ͨΜͩͬͨ͜ͱ %#͔Βऔಘͨ͠σʔλͷѻ͍ "UUSJCVUFTͷྗ
͍ͨΜͩͬͨ͜ͱ %#͔Βऔಘͨ͠σʔλͷѻ͍ "UUSJCVUFTͷྗ ʮ͕ࣗ *46$0/ࢀՃऀͩͬͨΒɺ͜ͷ࣮ग़͖ͯͨΒΩϨΔΘʯ ͱࢥͬͨͷͰΊΔ
ϕϯνϚʔΧͱ͍͏ઈରਖ਼ٛͷΠϯςάϨʔγϣϯςετ͕ଘࡏ͢Δ w ʮݴޠΛशಘ͢Δڭࡐʯͱͯ͠ͷ *46$0/ࢀߟ࣮ͷՄೳੑ w ͨͩ͠ʢҠ২࡞ۀظؒʣϕϯνϚʔΧʹόά͋Δ Α͔ͬͨ͜ͱ
*46$0/ͷӡӦଆ͕ݟΒΕͨ w ӡӦࢹͷ౻ *46$0/ͷ͍ͳͲ w ͭΑ͍ͻͱͨͪͱҰॹʹࣄ͕Ͱ͖ͨ w ීஈ 1)1ॻ͍ͯͳ͍ͣͷਓ͔ΒʮFYFD ͩͱγΣϧܦ༝Ͱͷ࣮
ߦʹͳΔͷͰ (P࣮ͱൺͯύϑΥʔϚϯεʹѱӨڹͰ·͢Ͷʯ ͬͯݴͬͯ 13ඈΜͰ͘ΔʢϠό͍ʣ w IUUQTHJUIVCDPNJTVDPOJTVDPOGJOBMQVMM Α͔ͬͨ͜ͱ
ࣗͷΤΰΛଘʹ͚ͬͯίʔυॻ͚ͨ w 1)1Ͱʮཁ݅ͷଘࡏ͢ΔΞϓϦέʔγϣϯʯ͕ॻ͚ͨ w ͜͜·Ͱʮ͖ͪΜͱʯ1)1Λͬͨ͜ͱ࣮ແ͔͔ͬͨΕͳ͍ w 1%0ͷΦϓγϣϯΤϥʔϋϯυϦϯά w 04ίϚϯυΛ࣮ߦ͢Δͱ͖ͷؔͱΦϓγϣϯࢦఆ ʮίʔυͷ͕ͯࣗ͢ͷखதʹ͋Δʯײ֮
͜Μͳʹָ͘͠ίʔυΛॻ͍ͨͷ͍ͭͿΓͩͬͨͩΖ͏ Α͔ͬͨ͜ͱ
ॳظ࣮ͰͷείΞଞͷݴޠΑΓΊ w ΞʔΩςΫνϟ͕ҧ͍ͬͯͨΓɺ1)1'1.ͷઃఆ͕΄΅σϑΥϧτ ͩͬͨΓɺํͳ͍෦͋Δ͔͠Εͳ͍͕ w 1)1ΛબΜ͚ͩͩͰʮएׯʯෆརͱ͍͏ͷչ͍͠ w 1)1ίʔυ্ͷͱ͔͋ͬͨΓ͢Δ͔༗ࣝऀͷҙݟΛฉ͖͍ͨ ؾʹͳ͍ͬͯΔ͜ͱ
࣍ճͷࢀߟ࣮Ҡ২ʹ ཱީิ͠·ͤΜ͔ʁ ʢࢲ༨༟͕͋ΕԠื͢ΔͭΓʣ