
æ¯å¹Žã®åãã«ãååãšç§ã¯ããã·ã¢ãšå€åœã®äž¡æ¹ã®ãç§ãã¡ã«ãšã£ãŠèå³ã®ããäŒè°ã®ãªã¹ããäœæããŸãã ãåºãç¥ãããŠããäŒè°ããäœåºŠã蚪ããã®ã§ãä»åã¯ããå°éçãª
äŒè°ã«è¡ãããšã«ããç§ã®éžæã¯
PHP UK Conferenceã«èœã¡ãŸããã
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å®éšæ©èœã®ãããã