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
81
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
1k
パスワードのハッシュ、ソルトってなに? - What is hash and salt for password?
okashoi
3
150
設計の考え方 - インターフェースと腐敗防止層編 #phpconfuk / Interface and Anti Corruption Layer
okashoi
10
3.2k
"config" ってなんだ? / What is "config"?
okashoi
0
980
ファイル先頭の use の意味、説明できますか? 〜PHP の namespace と autoloading の関係を正しく理解しよう〜 / namespace and autoloading in php
okashoi
3
1.2k
MySQL のインデックスの種類をおさらいしよう! / overviewing indexes in MySQL
okashoi
0
760
PHP における静的解析(あるいはそもそも静的解析とは) / #phpcondo_yasai static analysis for PHP
okashoi
1
520
【PHPカンファレンス沖縄 2023】素朴で考慮漏れのある PHP コードをテストコードとともに補強していく(ライブコーディング補足資料) / #phpcon_okinawa 2023 livecoding supplementary material
okashoi
3
1.9k
その説明、コードコメントに書く?コミットメッセージに書く? プルリクエストに書く? - #phpconfuk 2023
okashoi
15
5.1k
Other Decks in Programming
See All in Programming
JavaScriptツール群「UnJS」を5分で一気に駆け巡る!
k1tikurisu
9
1.8k
sappoRo.R #12 初心者セッション
kosugitti
0
250
pylint custom ruleで始めるレビュー自動化
shogoujiie
0
120
負債になりにくいCSSをデザイナとつくるには?
fsubal
9
2.4k
Formの複雑さに立ち向かう
bmthd
1
850
責務と認知負荷を整える! 抽象レベルを意識した関心の分離
yahiru
2
450
さいきょうのレイヤードアーキテクチャについて考えてみた
yahiru
3
750
楽しく向き合う例外対応
okutsu
0
120
Immutable ActiveRecord
megane42
0
140
dbt Pythonモデルで実現するSnowflake活用術
trsnium
0
150
『テスト書いた方が開発が早いじゃん』を解き明かす #phpcon_nagoya
o0h
PRO
2
220
パスキーのすべて ── 導入・UX設計・実装の紹介 / 20250213 パスキー開発者の集い
kuralab
3
780
Featured
See All Featured
A better future with KSS
kneath
238
17k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.2k
A designer walks into a library…
pauljervisheath
205
24k
Docker and Python
trallard
44
3.3k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3k
Adopting Sorbet at Scale
ufuk
74
9.2k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
133
33k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
A Philosophy of Restraint
colly
203
16k
For a Future-Friendly Web
brad_frost
176
9.5k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
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ίʔυ্ͷͱ͔͋ͬͨΓ͢Δ͔༗ࣝऀͷҙݟΛฉ͖͍ͨ ؾʹͳ͍ͬͯΔ͜ͱ
࣍ճͷࢀߟ࣮Ҡ২ʹ ཱީิ͠·ͤΜ͔ʁ ʢࢲ༨༟͕͋ΕԠื͢ΔͭΓʣ