PHPerKaigi 2024 ã®ç»å£è³æã§ã
Mercari JPã®ã¢ããªã¹ãµã¼ãã¹ãKubernetesã«ç§»è¡ãã話 PHP Conference 2022 9/24
PHPã¨Pythonã¨Rubyã®é£æ³é åã®ãã¼ã¿æ§é ããããã4ã5å¹´ã»ã©åã«è¦ç´ããããã³ããã¼ã¯ãã¹ãã«ãã£ã¦ã¯å以ä¸éããªã£ãã¨ãããã¨ãããã¾ãããå ·ä½çã«ã¯ä»¥ä¸ã®ãã¼ã¸ã§ã³ã§å®è£ ã®å¤§å¤æ´ãããã¾ããã PHP 7.0.0 HashTableé«éå (2015/11) Python 3.6.0 dictobjecté«éå (2016/12) Ruby 2.4.0 st_tableé«éå (2016/12) ãããã®ãã¼ã¿æ§é ã¯ã¦ã¼ã¶ã¼ã®å©ç¨ããé£æ³é åã ãã§ãªãè¨èªã®ã³ã¢ã§ãå©ç¨ããã¦ããã®ã§ãè¨èªå ¨ä½ã®æ§è½æ¹åã«è²¢ç®ãã¦ãã¾ã1ã ã¹ã¯ãªããè¨èª3ã¤ãåææã«åããã¼ã¿æ§é ã®æ¹åã«åãçµãã ã ãã§ãé¢ç½ãç¾è±¡ã§ãããããã«é¢ç½ããã¨ã«åå®è£ ã®æ¹éã¯é常ã«ä¼¼ã¦ãã¾ããç¬ç«ã«æ¹åã«åãçµãã ã®ã«åãçµè«ã«è³ã£ãã¨ããã°èå³æ·±ãå¶ç¶ã¨è¨ããã§ããã2ã æ¬ç¨¿ã§ã¯3è¨èªã®é£æ³é åã®å¾æ¥å®
ããã«ã¡ã¯ä¸çããã®ãã³ã·ã§ã¢ãªãã£ã¹ãã³ã¯ã¼ãã³ã°ã¹ãã¼ã¹çã§ãæ»å¨è ã確èªã§ãããµã¼ãã¹ãå¶ä½ããªãªã¼ã¹ãã¾ãããæ¢ã«è¤æ°ã®ã³ãã¥ããã£ã§ä½¿ç¨ããã¦ããã£ã¦ãããä»å¾ãåºãçããã«ä½¿ã£ã¦ããããã¨æã£ã¦ã¾ãã ãã®ããã°ã§ã¯40æ³ãéãã¦ããã°ã©ãã³ã°ãå§ããé¡æ«ããæè¡çãªæ¹æ³è«ã®å ±æãåå¿é²ãã¾ããµã¼ãã¹ã®çºå±ããä»å¾è¡ã£ã¦è¡ãããäºæã«ã¤ãã¦ãªãã¹ãæ°è»½ã«æ¸ãã¦è¡ããã¨æãã¾ãã ã³ã³ã»ãã 誤åè±åæ°ã«ãã¾ããã äºå®èª¤èªã®ãææããã°ç´ãã¾ãã æç« ã§è°è«ã¨ãã¯ãã¾ããã æ°è»½ã«ã軽ãã«ãèªåã®è² æ ã«ãªããªãå½¢ã§è¨äºãæ¸ãã¾ãã ä»åã¯ãµã¼ãã¹ã®æ¦è¦ã¨ããã°ã©ãã³ã°ãåãã¦ãããµã¼ãã¹ããªãªã¼ã¹ããã¾ã§ã®çµç·¯ãæ¸ãã¾ãã ã©ããªã¢ããªãªã®ãï¼ ä»»æã®äººãããç¨åº¦èªç±ã«éã¾ãå ´æã§ãä»ã誰ããããï¼ãããã¹ããã«éç¥ãã確èªã§ãããµã¼ãã¹ã§ããã·ã§ã¢ãªãã£ã¹ãã³ã¯ã¼ãã³ã°ã¹ãã¼
SSRF(Server Side Request Forgery)ã¨ããèå¼±æ§ãªããæ»æææ³ãæè¿æ³¨ç®ããã¦ãã¾ãã以ä¸ã¯ããã3ã¶æã«SSRFã«ã¤ãã¦è¨åãããè¨äºã§ãã EC2ä¸ã®AWS CLIã§ä½¿ããã¦ãã169.254ã«ã¤ã㦠SSRFèå¼±æ§ãå©ç¨ããGCE/GKEã¤ã³ã¹ã¿ã³ã¹ã¸ã®æ»æä¾ SSRFãå©ç¨ããã¡ã¼ã«éä¿¡ãã¡ã¤ã³ã®ä¹ã£åã ãCODE BLUE 2018ãåå ã¬ãã¼ãï¼å²©éç·¨ï¼ ãã®ã空åã®SSRFãã¼ã ãã«ä¾¿ä¹ãã¦ãSSRFã¨ããæ»æææ³ããã³èå¼±æ§ã«ã¤ãã¦èª¬æãã¾ãã SSRFæ»æã¨ã¯ SSRFæ»æã¨ã¯ãæ»æè ããç´æ¥å°éã§ããªããµã¼ãã¼ã«å¯¾ããæ»æææ³ã®ä¸ç¨®ã§ããä¸å³ã«SSRFæ»æã®æ§åã示ãã¾ãã æ»æè ããã¯ãå ¬éãµã¼ãã¼ï¼203.0.113.2ï¼ã«ã¯ã¢ã¯ã»ã¹ã§ãã¾ãããå é¨ã®ãµã¼ãã¼ï¼192.168.0.5ï¼ã¯ãã¡ã¤ã¢ã¦ã©ã¼ã«ã§éé¢ããã¦ããããå¤é¨ããç´æ¥
ã¨ã°ã¼ã¯ãã£ããµã㪠PHPã®èå¼±æ§CVE-2018-17082ã¯XSSã¨ãã¦å ±åããã¦ããããç¾å®ã«ã¯XSSã¨ãã¦ã®æ»æçµè·¯ã¯ãªããä¸æ¹ãApacheã®mod_cacheã«ãããã£ãã·ã¥æ©è½ãæå¹ã«ãã¦ãããµã¤ãã§ã¯ããã£ãã·ã¥æ±æã¨ããæ»æãåããå¯è½æ§ãããã æ¦è¦ PHPã®ç¾å¨ãµãã¼ãä¸ã®ãã¹ã¦ã®ãã¼ã¸ã§ã³ã«ã¤ãã¦ãXSSèå¼±æ§CVE-2018-17082ãä¿®æ£ããã¾ããã以ä¸ã¯å¯¾å¿ãã¼ã¸ã§ã³ã§ãããããããåã®ãã¹ã¦ã®ãã¼ã¸ã§ã³ãå½±é¿ãåãã¾ãããã ããApacheã¨ã®æ¥ç¶ã«Apache2handlerãç¨ãã¦ããå ´åã«éãã¾ãã PHP 5.6.38 PHP 7.0.32 PHP 7.1.22 PHP 7.2.10 PHP 5.5以åã対象ã§ããããããã¯èå¼±æ§ã¯ä¿®æ£ããã¦ãã¾ããã èå¼±æ§ãåç¾ããã¦ã¿ã ãã®èå¼±æ§ã®PoCã¯ãå½åé¡ã®ãã°ã¬ãã¼ãã«ããã¾ãã PHP ::
Webããµã¼ããã½ããã¦ã§ã¢ããã°ã»èå¼±æ§ ãªã©ã®æ å ±ãä½äººãã§éã¾ã£ã¦æ¸ãã¦ãã IT/Webæ å ±ç³»ããã°
â»2017/05/29ç¾å¨Repositoryã®ç« ã¾ã§ããèãã¦ãã¾ãããèãã¦ããéã«æµ®ããã ã¤ã³ã¹ãã¬ã¼ã·ã§ã³ãæ®çºããªãããæ°¸ç¶åããçºã«æ¸ããè¨äºã§ãã php-genba.shin1x1.com ã¾ããæ¥æ¬èªã§ãã®å 容ãèããã³ã³ãã³ããããã¨ã¯æããªãã£ãã§ãã ããã¯è±èªããã¹ã¿ã¼ããã° Sound of Symfony The Laravel Podcast Ruby on Rails Podcast JavaScript Air devchat.tv ãªã©ã®Podcastããããå¤ãã®è奮ãå¾ãããäºãæå³ãã¾ãã ããã°ã©ãã³ã°çµé¨3å¹´ãç´°ããä¿®æ£ã°ããã§è¨è¨ã¬ãã«ã®çµé¨å¤ãå ¨ããªãèªåã§ãããåç« ã«ã¤ãã¦ä»¥åããå人çã«æã£ã¦ããäºããä¸æ¹ã®ç¥è¦ããã¤ã³ã¹ãã¬ã¼ã·ã§ã³ãå¾ãå 容ãæ¸ãæ®ãã¾ãã 1. DI ãä¾åæ§ã®æ³¨å ¥(Dependency Injection)ãã¨
ãã¬ã¿CTOã®å¢äºéä¸éããããã£ããã¯ã¼ã¯ã®Scalaåããã¸ã§ã¯ãã®ã話ãæãèµ·ããã¤ã³ã¿ãã¥ã¼ã®å¾ç·¨ã§ãï¼åç·¨ã¯ãã¡ãï¼ãã£ããã¯ã¼ã¯ã®Scala移è¡ã¨å¤§è¦æ¨¡ã¡ãã»ã¼ã¸DBåæ§ç¯ãæ¬å½ã«ã§ãããã§ããï¼ï¼ãChatWork CTOã®å±±æ¬ããã¯2å¹´åãè²»ãããããã¸ã§ã¯ããæ¯ãè¿ããããã£ã±ãScalaåã¯å¿ è¦ã ã£ããã¨èªãã¾ãã å±±æ¬ã2014å¹´4æãããã«Scalaåã決æãã¦ã社å ã§åå¼·ä¼ãç«ã¡ä¸ããã¤ã¤ãæ¡ç¨ãããã¦ãã£ãæãã§ãã2014å¹´7æã«å è¤æ½¤ä¸ï¼ãæ¥æ¬Scalaã¦ã¼ã¶ã¼ãºã°ã«ã¼ããçºèµ·äººã®ã²ã¨ãï¼ã¨ããScalaã®åªç§ãªã¨ã³ã¸ãã¢ãå ¥ã£ã¦ããã¦ãããããè¨è¨ãã©ãããããã¨å§ã¾ã£ã¦ããã°ããã¯å è¤ã¨ããã1人ãããã§è¨è¨ããã¦ããããããåå¹´ããããã£ãã®ããªã 2015å¹´ãããããå®è£ ãå§ãã¦ã1å¹´ã§ãã¼ã ã¡ã³ãã¼ãå¢ãã¦ããã®ã¨ãã¯å ¨é¨ã¾ãã£ã¨ç§»ããã¨è¨ç»ããã¦
PHPã«ã³ãã¡ã¬ã³ã¹2016 ã¬ãã¼ã åç°å人ãããPHPã§å ç¢ãªã³ã¼ããæ¸ãâä¾å¤å¦çã表æããã°ã©ãã³ã°ãå¥ç´ã«ããè¨è¨ ãPHPã«ã³ãã¡ã¬ã³ã¹2016 2016å¹´11æ3æ¥ã«PHPã«ã³ãã¡ã¬ã³ã¹2016ãéå¬ããã¾ãããæ¬ç¨¿ã§ã¯ãã²ã¹ãã¹ãã¼ã«ã¼ã§ããåç°å人ããã«ããè¬æ¼ãPHP7ã§å ç¢ãªã³ã¼ããæ¸ã - ä¾å¤å¦çã表æããã°ã©ãã³ã°ãå¥ç´ã«ããè¨è¨ãã«ã¤ãã¦ã¬ãã¼ããã¾ãã PHP7ã§ã¯ä¾å¤ã表æã®æ©è½ãå¤§å¹ ã«è¦ç´ãããå¼·åããã¾ããããã®è¬æ¼ã§ã¯ãä¾å¤å¦çãè¨è¨ããéã®åºæ¬çãªèãæ¹ãã表æï¼assertionï¼ã®ä½¿ãæ¹ãããã¦è¡¨æã¨ä¾å¤ã使ãåããå ç¢ãªã³ã¼ãã«å°ãããã®è¨è¨ææ³ãå¥ç´ã«ããè¨è¨ï¼Design by Contractâ ï¼â ãã®èãæ¹ã説æãã¾ããã å°å ¥ ã¯ããã«ãåç°ããèªèº«ãç£è¨³ã«é¢ãã£ããSQLã¢ã³ããã¿ã¼ã³ãã«æ²è¼ããã¦ããã³ã¼ãããããã²ã©ãããã
2016å¹´11æ3æ¥ï¼ç¥ï¼ã大ç°åºç£æ¥ãã©ã¶PiOã«ã¦éå¬ãããå½å æ大ã®PHPã¤ãã³ããPHPã«ã³ãã¡ã¬ã³ã¹2016ããã¬ãããã¯ããªã¼ã©ã³ã¹ã§ã¯ãã«ã³ãã¡ã¬ã³ã¹ã»ãã·ã§ã³ã®ç»å£è ã®ã²ã¨ãã»åç°å人æ°ã«ã¤ã³ã¿ãã¥ã¼ãå®æ½ãã¾ããã ãã¹ãé§åéçºã®å é§è ã¨ãã¦ç¥ãããåç°æ°ã§ãããä»åã®è¬æ¼ãã¼ãã¯ãPHP7ã§å ç¢ãªã³ã¼ããæ¸ã-ä¾å¤å¦çã表æããã°ã©ãã³ã°ãå¥ç´ã«ããè¨è¨ããããã¦ãã¹ã以å¤ã®ãã¼ããè¨å®ããçç±ãã¯ãããPHPã®åªä½æ§ãä»æ³¨ç®ãã¦ããè¨èªãåå¿è ã¨ã³ã¸ãã¢ã¸ã®ã¢ããã¤ã¹ãªã©ãå¹ åºãã話ã伺ã£ã¦ãã¾ããã ï¼ãã®è¨äºã®è¦ç´ï¼ 1. PHPã®è¯ãç¹ã¯ããããµããªè¨èªã«è¦ãããã¦å ç¢ãªã³ã¼ããæ¸ããã¨ãããæªãç¹ã¯ãè¦ãããã¨ãå¤ãã¦é£ããã¨ããã 2. ãã¹ããæ¸ãã¦ããã°ã³ã¼ãã®å質ãé«ãããã§ã¯ãªããã¾ãããã¹ããæ¸ããªããããåé¡ãæ±ããã³ã¼ãã§ããä¸ããæ¹åãã¦ã
PHP 5ããPHP 7ã¸ã®ç§»è¡ã§ãTumblrã¯ã¬ã¤ãã³ã·ãååãCPUè² è·ãåæ¸ããã¹ããã¼ã«ã§PHP 7ã¸ã®ç§»è¡ã«åé¡ãªããããã§ã㯠PHPã®10å¹´ã¶ãã®ã¡ã¸ã£ã¼ãã¼ã¸ã§ã³ã¢ããã¨ãã¦æ¨å¹´12æã«ç»å ´ãããPHP 7ãã¯ãPHP 5ã¨æ¯ã¹ã¦2å以ä¸ã®å®è¡é度ãå®ç¾ããã¨ãªãªã¼ã¹åããPHPã®çã¿ã®è¦ªã§ããRasmus Lerdorfæ°èªèº«ã説æãã¦ãã¾ããã PHP 5ããPHP 7ã¸ã¨å é¨ã·ã¹ãã ã®ã¢ãããã¼ããè¡ã£ãTumblrã¯ãã®ææãããã°ã§çºè¡¨ãããããã«PHP 7ã®ã¸ç§»è¡ãããã¨ã§å®è¡é度ã2åã«ãªã£ããã¨ãè£ä»ãã¦ãã¾ãã éç解æã¨èªåãã¹ãã§PHP 7ã¸ã®ç§»è¡ã«åé¡ããªãããç¢ºèª Tumblrãå ¬éããããã°ãTumblr Engineering â PHP 7 at Tumblrãã«ããã¨ãTumblrããã®å é¨ã§ç¨¼åãã¦ããã·ã¹ãã ãPHP 5ããPHP 7
2016/10/31 PHPã«ãããã·ã³ããªãã¯ãªã³ã¯ã使ã£ããããã¤ã®å±éºæ§ã«ã¤ãã¦ï¼ãrealpath_cacheãåè¨³ï¼ PHP ãµã¼ãã¼ãµã¤ã ãã®ææ¸ã¯@julienPauliããã«ããè¨äºãrealpath_cacheãã®æ¥æ¬èªç¿»è¨³ã§ããå ã ã¯@gilbiteãããKLab社å åãã«ç¿»è¨³ãããã®ã§ããããæ¥æ¬èªã§ã¯è¦ããã¨ããªãææãå«ãã§ããä»ã§ãæç¨ã ã¨èããããã@julienPauliããã®äºè§£ãåã£ãä¸ã§@hnwãä¿®æ£ã»è¿½è¨ãã¦å ¬éãããã®ã§ãã ã¯ããã« PHP ã« realpath_cache_get(), realpath_cache_size() ã¨ããé¢æ°ããããã¨ããåãã§ããããï¼ ã¾ããphp.ini ã« realpath_cache ããå§ã¾ãè¨å®é ç®ããããã¨ã¯ï¼ realpath cache ã¯ç¥ã£ã¦ãããã極ãã¦éè¦ãªæ¦å¿µã§ãã ç¹ã«ãã³ã¼ãã®
ä»åã¯ãªã¼ã«ã¢ãã¦ãã®nnmrãå¼ç¤¾ãµã¤ãAll About Japanã®é度ãé«éåããçµç·¯ã«ã¤ãã¦ã¾ã¨ãã¾ãã All About Japanã¨ã¯ ããããAll About Japanï¼ä»¥ä¸AAJï¼ã¨ã¯ä½ãã¨ããã¾ãã¨ãå¼ç¤¾ãæä¾ãã¦ãã訪æ¥å¤å½äººåãã®æ¥æ¬ç´¹ä»ãµã¤ãã§ãã å¤å½äººåããµã¤ãã§ãè±èªãä¸å½èªï¼ç¹ä½åï¼ãä¸å½èªï¼ç°¡ä½åï¼ãã¿ã¤èªãéå½èªã®5ãå½èªã«å¯¾å¿ãã¦ããã¾ãã ãAnimeããIzakayaããNinjaãã¨ãã£ããããªç¹éããå®éã«è¦³å ãã人åãã®ã¢ãã«ã«ã¼ãè¨äºãç¹è²ã§ãã â ç¹é (url : http://allabout-japan.com/en/tag/sushi/ ) â ã¢ãã«ã«ã¼ãè¨äº (url : http://allabout-japan.com/en/article/222/ ) æè¡çãªç´¹ä» LAMPç°å¢ã§ãã ï¼ãµã¼ãã¼æ§æã¯å¾ã«è¨è¿°
å¢äºããããä»ãæ°ã«ãªã人ãã«ç´æããé£è¼ãåç·¨ã§ã¯ãPHPã®ç¬èªãã¬ã¼ã ã¯ã¼ã¯ã§éçºãããã£ããã¯ã¼ã¯ãScalaã§å·æ°ããã¨å®£è¨ããChatWorkã®å±±æ¬æ£åCTOã«ãããã¸ã§ã¯ãã®é²æã¨ããã®ããã¸ã§ã¯ãããããããå½±é¿ã«ã¤ãã¦èãã¾ããã å¾ç·¨ã§ã¯ããã£ããã¯ã¼ã¯ã®æªæ¥åããæè¡çè² åµãæ±ããªãããã®æ¹æ³è«ãªã©ã«ã¤ãã¦ã話ãé²ãã¦ããã¾ãã è¦å´ãã¦è²ã¦ä¸ããPHPãæ¨ã¦ãã¡ãªããã¨ã¯ï¼ å¢äºï¼ç¾è¡ã®ã·ã¹ãã ã¯ã¾ã PHPã§åãã¦ããã§ãããï¼ å±±æ¬ï¼ããã§ãã å¢äºï¼10ä¸4000社ã使ã£ã¦ãã大è¦æ¨¡ãµã¼ãã¹ãªã®ã«ãç¹ã«å¤§ããªåé¡ã¯ãªããã§ããï¼ å±±æ¬ï¼ä»ã¯å®å®ãã¦ãã¾ãããåé¡ã¯ããã¾ãããã§ã3å¹´ãããåã¾ã§ã¯ã大ããªé害ãèµ·ãããã¨ã度ã ãã£ãã®ã§ãæ£ç´ã大ä¸å¤«ã¨ã¯è¨ãåããªãé¨åãããã¾ãããå¢äºãããªããããåãã§ããããã大è¦æ¨¡ãªã·ã¹ãã ã§PHPã使ãæã«ã¯ãæ°ãã¤ãã
PHPã«ã³ãã¡ã¬ã³ã¹é¢è¥¿2016ã®åºèª¿è¬æ¼ã§ãã
ãã®è¨äºã¯ä½ã æçºçãªæè¨ã«ãªã£ã¦ãç®æã¯ãããã®ã®ãå 容ã¨ãã¦ã¯ãããªãã«ã¾ããã«æ¸ããã¤ããããããããããã¦ãã£ãããã¾ã§ã¯åè»ãã¦ããã PHPDocã¯å¿ ãæ¸ã ããããåå©ç¨å¯è½ãªæç¶ãã¯ãä»äººã容æã«å¿ç¨ã§ããããã«åãæ示çã§ãªããã°ãããªããã¡ã³ãã¼å ¨å¡ãå®è£ ã³ã¼ãå ¨ã¦ãææ¡ã§ãããã®ãªããããçæ³ã ããã©ãæ®å¿µãªããæéã¯æéã ããããã ããèªãã§ã¡ã½ããã®ä»æ§ãç解ã§ããã¾ãã¯ã³ã¼ããèªãå©ãã«ãªããããªã³ã¡ã³ããè¯ãã æåãªäºå®ãç´¹ä»ããã¨ãå¤ãã®ã³ã¼ãã¯æ°ãæ(æ©ããã°æ°æ¥ï¼)ãçµã¦ã°ãä»äººãæ¸ããã³ã¼ãã«æããããã»ã©ç解ã§ããªããªããã¨ããã°ãã°ããããã¡ããè¨è¨ã®ç·´åº¦ã«ããããããè¨è¨å¤æã«ã¤ãã¦æ³¨æãè¦ããç¹ãªã©ãã³ã¡ã³ãã«æ®ãã¦ãããã¨ã§ãã²ãã¦ã¯æªæ¥ã®èªåã®å½¹ã«ç«ã¦ããã¨ãã§ããã ãåã®å 輩ã¯ãPHPã«ã¯åããªãããªã©ã¨ç¥ã£ããã¶ã£ã¦æå³ä¸æ1ãªã
How to Specify a Separate Database for Unit Testing on Laravel 5 There are two ways of specifying separate database for unit test in Laravel. Method 1 Step 1: Create New Test Database Connection on config/database.php as below: return [ ... 'default' => env('DB_CONNECTION', 'db'), 'connections' => [ 'sqlite_testing_db' => [ 'driver' => 'sqlite', 'database' => storage_path().'/testing_database.sqli
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}