
PHP UK Conferenceã¯2006幎ããéå¬ãããŠãããããšããšã¯éçºè ãç¥èãå ±æããå°é家ã®çµéšãæ¥çã®ææ°ã®ææã«ã€ããŠçŽæ¥åŠã¶ããšãã§ãããå°å ã®PHPã³ãã¥ããã£åãã®å°éäŒè°ãšããŠæ§æ³ãããŸããã
èšç«åœåãããäž»å¬è ã¯ã¢ã¯ã»ã·ããªãã£ã«äŸåããŠããŸããã 圌ãã¯èª°ããäŒè°ã«åºåžããããšãæãã§ããŸããã ä»å¹Žã®ãã±ããã¯400ãã³ãã§ããã å®éãå±æ©ä»¥åã¯ãHighLoadã®ãã±ããã®äŸ¡æ ŒïŒ15-24ã«ãŒãã«ïŒã«å¹æµããŠããŸããã ããããã³ãã³ã§ããããšãèãããšãäŸ¡æ Œã¯æ¬åœã«æé ãªäŸ¡æ Œã§ãã äŒè°ã®2æ¥éã®èšªåãšãæé£ãæŒé£ãã³ãŒããŒãã¬ã€ã¯ãå«ãé£äºãå«ãŸããŸãã ç§ã®æèŠã§ã¯ãé£ã¹ç©ã¯çããããããããã§ãããæé«ã®ãã£ããŒã¯ã©ãã£ãœã³SASã¹ã©ãã£ã³ã¹ã«ã€ããã«ã§ã®HighLoad-2013ã§ããã
äŒè°ã¯ãåå9æããååŸ6æãŸã§ç¶ã3ã€ã®äžŠè¡ããã¬ããŒãã®ã¹ããªãŒã ã§æ§æãããŠããŸããã 2æ18ã19æ¥ã«ã700人以äžã®åå è ããã³ãã³ã®äžå¿ããã¹ãŠã§ã«éãããã€ãŠã®éžé æã®éžé æã®å»ºç©ããããŠä»ã§ã¯ããŸããŸãªããžãã¹ãã¬ãžã£ãŒã€ãã³ãã®äŒå Žã«äœçœ®ããŸããã äŒå Žã§ã®åªããWi-Fiã«æ³šç®ãã䟡å€ããããŸãã å¿ èŠã«å¿ããŠãäœæ¥ãªããžããªãç·æ¥ã«æŽæ°ããŠã³ããããæ°åè¡ãããšãã§ããŸããããå€æ°ã®åå è ãšã®å€ãã®äŒè°ã§ã¯ãããé£ããå ŽåããããŸãã
å€åœã®äŒè°ã§ã®è¬æŒè ã®æºåã¬ãã«ã¯ããã·ã¢ã®äŒè°ãããèããé«ãã§ãã ç§ã¯æšå¹Žããµã³ã¿ã¯ã©ã©ã§éå¬ãããVelocityã«ã³ãã¡ã¬ã³ã¹ã§ããã確èªããããšãã§ããŸããã ãããŠãã¬ããŒããäœããã®åœ¢ã§ããæ§é åãããŠããããããæçã§ãããšããç¹ã§ã¯ãããŸããããå€åœäººã¹ããŒã«ãŒã¯ãã¬ãŒã³ããŒã·ã§ã³åœ¢åŒã«å€ãã®æ³šæãæã£ãŠããŸãã ãã®ãããäžéšã®ãã¬ãŒã³ããŒã·ã§ã³ã¯ããããã©ãŒãã³ã¹ã®ããã«ãªããæãæ·±å»ãªãã¬ãŒã³ããŒã·ã§ã³ã§ãã£ãŠãéå±ããããšã¯ãããŸããã ããã«ãPHP UK Conferenceã§ã¯ãã»ãšãã©ã®ã¹ããŒã«ãŒãå¹³æãªè±èªã話ããåå è ãšã¹ããŒã«ãŒã®éã§ãã¢ã«ãã€ãAOLãMongoDBãJetBrainsãOracleãBooking.comãªã©ã®èåãªäŒæ¥ã®ä»£è¡šè ã«äŒãããšãã§ããŸããã
ãã¬ãŒã³ããŒã·ã§ã³ã®ãããã¯ã¯ãäž»ã«PHPãšãã®ä»çµã¿ã«çŽæ¥é¢ä¿ããŠããŸãã ããŸããŸãªCMSããã³ãã¬ãŒã ã¯ãŒã¯ã Webãã¯ãããžãŒãšé¢é£ãã¯ãããžãŒã®ã¹ã¿ãã¯å ã®PHPã PHPã䜿çšããã€ã³ãã©ã¹ãã©ã¯ãã£ã®èª¬æã ã»ãã¥ãªãã£; éçºããã»ã¹ãšæ¹æ³è«ã
ã€ãã³ãã§åãäžããããæãéèŠãªãããã¯ã®1ã€ã¯å®å šæ§ã§ããã 2ã€ã®ã¬ããŒãã圌女ã«æ§ããããŸããïŒ Security TheaterãšDip Your Toes in the Sea ofââ Security ã äž¡æ¹ãšãããã€ãã®ç¹ã§éè€ããŠããããããããç¬èªã®æ¹æ³ã§åªããŠããŸããè匱æ§ãèŠã€ããããã®ãã§ãã¯ãªã¹ããšããŠæ©èœããŸãã ããã«ãäŒè°ã®å°ãåã«ãååãšç§ã¯åæ§ã®åé¡ã«ã€ããŠè©±ãåãããã®é¢é£æ§ã確èªããŸããã
ããšãã°ããããã®ãã¬ãŒã³ããŒã·ã§ã³ãããã¿ã€ãã³ã°æ»æãšãããã·ã¥ãå®å šã«æ¯èŒããããã®é¢æ°hash_equals ïŒããã³password_verifyããããŸã ïŒã«ã€ããŠåŠã³ãŸããã ãã®è匱æ§ãç解ããã®ã«æé©ãªå³ã次ã«ç€ºããŸãã

ãšããã§ãBadooã¯ã»ãã¥ãªãã£ã®åé¡ã«å€ãã®æ³šæãæããè匱æ§ãæ€çŽ¢ããããã®ç¬èªã®å ±å¥šéããã°ã©ã ãæã£ãŠããŸãã åå ããã ããã°å¬ããã§ãã
éçºã«ãããéèŠãªãããã¯ã¯å¹çæ§ã§ãããããã¯Automation Automation Automationã§èª¬æãããŠããŸãã ç§ã®æèŠã§ã¯ãããã¯æé«ã®ããã©ãŒãã³ã¹ã®1ã€ã§ãïŒ ãããžã§ã¯ãã®ããŸããŸãªéšåã§ã«ãŒãã³æäœãèªååããããšãæ±ããåæ©ä»ãã®ã¹ããŒãªãŒãããã³ã¯ã©ã¹ã³ãŒããšãã¹ããèšè¿°ããããã«ã¯ã©ã€ã¢ã³ããµãŒããŒã¢ãŒãã§Vimã䜿çšããæ¹æ³ã®å°è±¡çãªãã¢ã³ã¹ãã¬ãŒã·ã§ã³ã äœããããããã2ã€ã®ã¹ã©ã€ããèŠããŠããŸãã å€ãã®äººãããããå°å·ããŠè·å Žã«æããã¹ãã ãšæããŸãïŒ
![]() | ![]() |
èªååãç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³-å€æ°ã®éçºè ãæ±ããäŒæ¥ã®å¹æçãªäœæ¥ã®éèŠãªåŽé¢ã®1ã€ïŒããšãã°ããªãªãŒã¹ãšã³ãžãã¢ã®éšéå šäœãããåœç€Ÿã®ãããªïŒã éçºããã³èšç®ããã»ã¹ã®ç·šææ¹æ³ã«é¢ãã詳现ã¯ãäŒæ¥ããã°ïŒ 1ã2ã3 ïŒã®èšäºã«èšèŒãããŠããŸãã
å€ãã®å Žåã倧èŠæš¡ãªã€ã³ã¿ãŒãããäŒæ¥ã¯ãæ¢è£œã®ããŒã«ã䜿çšããã®ã§ã¯ãªããç¬èªã®éçºãèªååããã¹ããããã³å±éããŒã«ãäœæããŸããåé¡ã«ééããæåã®ããŒã«ã®1ã€ã§ããããæ¢åã®ããŒã«ãé«è² è·ã®äžã§åžžã«æé·ããŠããããŒãºãå®å šã«æºãããŠããªãããã§ãã ããšãã°ãæè¿ãPHP 7ã®ä»£ããã®Runkitã§ããSoft Mocksã®å®è£ ã«ã€ããŠèª¬æããŸãããæ¢åã®æ¢åã®ããŒã«ã䜿çšããŠéçºãç·šæããæ¹æ³ã«é¢ããåããããã¯ã¯ãFrom VagrantããProductionã§èª¬æãããŠããŸãã BitExpertã¯åæã«å€ãã®ãããžã§ã¯ãããµããŒãããŸãã ãã®ãšã³ãžãã¢ã¯ãããããã®éé¢ãããéçºç°å¢ãé »ç¹ãã€äŸ¿å©ã«å€æŽããå¿ èŠããããŸãã VagrantãPuppetãComposerãSatisãPhingãLiquibaseãGitLabãããã³Jenkinsã«ãã£ãŠãµããŒããããŠããŸãã ãã¬ãŒã³ããŒã·ã§ã³ã§ã¯ãããã€ãã®èšå®ãšä»ã®ããŒã«ãšã®ãã³ãã«ã®å€ãã®äŸãèŠã€ããããšãã§ããŸãã
ç§åŠè åãã®ãœãŒã·ã£ã«ãããã¯ãŒã¯ã§ããResearchGateã¯ãããã«å€ãã®ç°ãªããã¯ãããžãŒã䜿çšããŠããŸãã ïŒãã€ã¯ãïŒãµãŒãã¹æåã¢ãŒããã¯ãã£ã§ã®Elasticã¹ã±ãŒãªã³ã°ã®ãã¬ãŒã³ããŒã·ã§ã³ã§ã䜿çšãããŠããç¹å®ã®ããŒã«ã«å ããŠãèè ã¯ãã®ã¬ããŒãã«äŸ¡å€ãè¿œå ãã代æ¿æ¡ã«ã€ããŠèªã£ãŠããŸãã ãããããã€ã¯ããµãŒãã¹ã¢ãŒããã¯ãã£ã«ã¯æãããªäžæºããããŸããä»ã®ãµãŒãã¹ãšã®çžäºäœçšãæ åœãããµãŒãã¹ã®ãµãŒãã¹ã§ããäžè¬ã«ããããã®ã¹ã©ã€ãã¯ãå éšã®å 容ãç解ããã®ã«ååã§ãã
![]() | ![]() |
ã¢ãŒããã¯ãã£ã®ç·šææ¹æ³ã«é¢ããã¬ããŒãã«å ããŠãããã©ãŒãã³ã¹ãšãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ã«æ§ããããã¹ããŒããæ°å€ããããŸããããç§ã®æèŠã§ã¯ãæã䟡å€ã®ãããã®ã¯Every Millisecond CountsïŒPerformanceïŒUXã§ãã ã¢ã«ãã€ã®PHPã«é¢ããããã€ãã®æžç±ã®èè ã§ããDavey Shafikã¯ãééçãªèŠ³ç¹ãããµã€ãã®èªã¿èŸŒã¿ãé ãããããšã®éèŠæ§ã䜿çšãã䟡å€ã®ãããã¯ããã¯ãšããŒã«ã«ã€ããŠèªã£ãŠããŸãã 圌ã®æšå¥šäºé ã®ããã€ãã次ã«ç€ºããŸãã
- ç®ã«èŠããå質ã«çŠç¹ãåãããŠåçãå§çž®ããŸãã
- HTTP / 2ã䜿çš
- Speed Index ïŒ http://www.webpagetest.org/ãåç §ïŒã«æ³šæããŠãã ãã ã
- ãã£ãã·ã¥ïŒMemcacheãCassandraãVarnishãSquidïŒã ããã«ãèè ã¯HTMLå šäœããã£ãã·ã¥ããããšãææ¡ããŠããŸãã 䟿å®äžã Edge Side Includesãšããç¹å¥ãªãã¯ãããžãŒããããŸã ã ãã®èãæ¹ã¯æ°ãããã®ã§ã¯ãªãããã®ã¢ãããŒãã¯å°ãªããšã7幎åã«auto.ruã§æ¢ã«äœ¿çšãããŠããããšã«æ³šæããŠãã ããã æºåã®æŽã£ãHTMLã¯Memcacheã«é 眮ããããããŒã®ã»ã¯ã·ã§ã³ã¯ç¹å®ã®æ¹æ³ã§ã¿ã°ä»ããããåãªã¯ãšã¹ãã«çœ®ãæããããŸããã
- dns-prefetchãpreconnectãprefetchãpreloadãprerenderã䜿çšããŠããŠãŒã¶ãŒã¢ã¯ã·ã§ã³ãšããªããŒããäºæž¬ããŸãã
æ¥æ倧工ã®èŠåºãã¯ã åçŽãªæ©æ¢°åŠç¿ã®ã¬ããŒãã§ããããšãå€æããŸãã-èå³æ·±ããããã¯ã§ãããå®éã¯åçŽãªæ©æ¢°åŠç¿ã«é¢ãããã®ã§ãããäžèŠãããšãã±ããç§åŠã«å°éããããã®ç°¡åãªæ¹æ³ã§ã¯ãããŸããã§ããã èè ã¯ãããŸããŸãªã€ãã³ãããã®ãã¬ãŒã³ããŒã·ã§ã³ã«é¢ãããã£ãŒãããã¯å°çšã®ãµã€ãjoind.inãåæãããããã¯PHPã®ã€ãã³ããæ€çŽ¢ããããšã«ããŸããã ãšããã§ãç§ã¯PHP UK Conferenceã§ãã®ãµã€ãã«ã€ããŠåŠã³ãŸãããæåéããã¹ãŠã®ã¹ããŒã«ãŒããããåç §ããŸããã ã¹ãªã ã¹ãªã PHPãã€ã¯ããã¬ãŒã ã¯ãŒã¯ã䜿çšããŠäœæããããããèªäœããªãŒãã³ãœãŒã¹ã§ãã
ç®çã®ãããã¯ã®ååšãå ¬éçšã®ç¹å®ã®ã¿ã°ã®ååšã«äŸåãã確çãèšç®ããããã«ããã€ãºã®å®çã䜿çšããããšãææ¡ãããŸããã æåŸã«ãèè ã¯Elastic Searchãåãç®çã«äœ¿çšã§ãããã©ãããå°ããããŸããã 圌ã¯åæãããã®åé¡ãæåã§è§£æ±ºãããã¹ãŠãããã»ã©é£ãããªãããšãç解ããããšããããšã¯èå³æ·±ããšèšã£ãã
åèšã§ãäŒè°ã«ã¯ããŸããŸãªãããã¯ã«é¢ãã30ãè¶ ããã¬ããŒãããããŸããã ãã¹ãŠã®ã¹ã©ã€ãã¯joind.inã«ããããããªã¯YouTubeã«ãããŸãã
PHPéçºè ãªã誰ã§ããã®ã«ã³ãã¡ã¬ã³ã¹ã«åå ããããšã«èå³ããããšæããŸãã ããšãã°ããµã³ã¿ã¯ã©ã©ã®Velocityã¯ãWebéçºå šè¬ãããDevOpsã«éç¹ã眮ããŠãããããããŸã奜ãã§ã¯ãããŸããã§ããã PHP UK Conferenceã§è°è«ããããããã¯ã¯ãäžè¬æè²ãå«ãéåžžã«åºç¯ã§æçšã§ãã ã»ãšãã©ã®ã¹ããŒã«ãŒã¯éåžžã«ããèšç·ŽãããŠãããããã«ãã®ã¬ãã«ãæšæºãšããŠèªèãå§ããŸãã å€åœã®äŒè°ã«åºåžããäºå®ãããå Žåã¯ããã®äŒè°ãèªç±ã«éžæããŠãã ãã-è² ããŸããïŒ
ã¢ã¬ã¯ãµã³ããŒã»ãã¬ã¬ãŒã
Badooå®éšæ©èœã®ãããã