2024/10/5 YAPC::Hakodate 2024
2024/10/5 YAPC::Hakodate 2024
ããã«ã¡ã¯ï¼ãµã¼ãã¼ãµã¤ãã¨ã³ã¸ãã¢ã®kurisuã§ãã 2024å¹´06æã«ãB/43ãã¨ã°ãããã£ã¼ã¸ã®è£å´ã§ãµã¼ãã¹æä¾ãã¦ããã ãã¦ããäºæ¥è ã®ç§»è¡ãè¡ãã¾ããããã®éãè¿æ¸ãã¼ã¿ã®ãªã³ã³ãµã¤ã«ãããã®è¨è¨ã¨å®è£ ãæ å½ãã¾ããã å¤é¨ãµã¼ãã¹ã¨ã®ãã¼ã¿é£æºã«ãããä¸æ´åã¯ãå¤ãã®ã·ã¹ãã ã§é¿ããããªãåé¡ã§ãã æ¬è¨äºã§ã¯ãB/43ã®ãã¨ã°ãããã£ã¼ã¸æ©è½ã§ã®äºä¾ããã¨ã«ããªã³ã³ãµã¤ã«ã®éè¦æ§ã¨å®è£ æã®æ¤è¨ãã¤ã³ãããç´¹ä»ãã¾ãã ãªã³ã³ãµã¤ã«ã¨ã¯ å¤é¨ãµã¼ãã¹é£æºã«ããã課é¡ã¨ä¸æ´åã®è¦å 1. èªç¤¾ããå¤é¨ãµã¼ãã¹ã¸ã®éä¿¡ã¨ã©ã¼ 2. Webhookéç¥ã®ä¸éãé 延 å¤é¨ãµã¼ãã¹ã«ããããªã³ã³ãµã¤ã«ãã§ããæ¡ä»¶ ãªã³ã³ãµã¤ã«ãããã®å®è£ æã®æ¤è¨ãã¤ã³ã åæ 1. å¤é¨ãµã¼ãã¹ã¨ã®ãã¼ã¿ã®ä¸æ´åç®æã®æ´ãåºã 2. ãã¼ã¿éã¨å¦çæé/å®è¡é »åº¦ 3. ä¸æ´åæ¤ç¥æã®å¯¾å¿ 4. ã¨
ã¯ããã« ããã«ã¡ã¯ï¼ CREï¼Customer Reliability Engineeringï¼ã§ãµã¼ãã¼ãµã¤ãã¨ã³ã¸ãã¢ããã¦ããotaka(@oh_minisera)ã§ãã çªç¶ã§ããã管çç»é¢ããéãã¯ã¨ãªãçºè¡ãã¦ãã¾ãæ¬çªç°å¢ã«é害ãçºç...ãããªããªãã©ã対å¿ãã¾ããï¼ ä»åã¯ç®¡çç»é¢ãèå°ã«ããé害äºä¾ã«å¯¾ããã©ããªèæ¯ã®ä¸ã§ææ決å®ãããã®ãç´¹ä»ã§ããã°ã¨æãã¾ãã é害ã¯çªç¶ãã£ã¦ãã ãã¤ãã¢ã©ã¼ãã確èªãã¦ãããã£ã³ãã«ã«ãããªæ稿ãã ãã®å¾ãæ¬çªç°å¢ã«ã¦ã¢ããªåãã®APIã決æ¸ç¨APIã®ããã©ã¼ãã³ã¹ãä¸æçã«æªåããé害ã確èªããã¾ããã調æ»ã®çµæã管çç»é¢ããçºè¡ãããã¯ã¨ãªãDBã®CPUãå§è¿«ãã¦ãããã¨ãåå ã§ããã 解決æ¹é ç§ãã¡ã®ã¤ã³ãã©ã®æ§æã§ã¯ã管çç»é¢ã®ã¢ããªã¨ã¦ã¼ã¶ã¼åãã¢ããªï¼B/43ï¼ãä¸ã¤ã®DBãå ±æãã¦ãã¾ãããã®ãããä»åã®ãã
ããã«ã¡ã¯ãã¬ã·ãäºæ¥é¨ããã¯ã¨ã³ãåºç¤ã°ã«ã¼ãã®ç³å·ã§ãã 2014 å¹´ããã®ããã°ã«ãéçºç°å¢ã®ãã¼ã¿ãã§ããã ãæ¬çªã«è¿ã¥ãããã¨ããã¿ã¤ãã«ã®è¨äºãæ稿ããã¾ããã ã¯ãã¯ãããã§ã¯ãã¦ã¼ã¶ã¼ãããå®éã«ä½é¨ãã¦ããç¶æ³ã¨è¿ãç¶æ³ãåç¾ããªããéçºãããã¨ã«ä¾¡å¤ãããã¨èãã¦ãã¾ããæè¡çã«ã¯ãæåããã¬ã³ã¼ãããããããããã¨ã«ãã£ã¦ããã©ã¼ãã³ã¹åé¡ã«æ°ä»ãããããªããªã©ã®é·æãããã¾ããããµã¼ãã¹éçºã¨ãã¦ããå®éã®ã¦ã¼ã¶ã¼ããã®ä½é¨ãæéã§ãªãã£ã¦ç´ æ©ããã£ã¼ãããã¯ã«ã¼ããåããããã«ãªãã¨ããé·æãããã¾ãã ãã®æ £ç¿ã¯ 2014 å¹´ã®è¨äºãã 10 å¹´çµã£ãä»ã§ãç¶ãã¦ãã¾ããä¸æ¹ã§ãã®å®ç¾ææ³ã«ã¤ãã¦ã¯å¤åãç¶ãã¦ãã¾ãããç¾å¨ã®ã¯ãã¯ãããã§ã¯ç¶æ³ã«å¿ãã¦ããã¤ãã®æ段ã使ãåãã¦ãã¾ãããããã®æ段ã«ã¤ãã¦ã¯ä»ã¾ã§ãã¾ãå ¬éããã¦ããªãã£ããããªæ°ããããããã
builderscon 2024 ã§çºè¡¨ããè³æã§ãã以ä¸ããã¼ã¯æ¦è¦ã§ãã Webã¢ããªã±ã¼ã·ã§ã³ãéçºã»éç¨ãã¦ããä¸ã§ã1ã¤ã®ãã¼ãã«ã«æ¥æã«ã©ã ãå¢ãã¦ãã£ããã巨大ãªãã¼ãã«ãçèªãããã¨ããçµé¨ã¯ããã¾ããããã¾ãããããããã°ã©ã ã®è¤éãã«ç¹ãããã¨ãããã¨æãã¾ãããã®ãããªäºæ ãâ¦
ãã¼ã¿ãã¼ã¹ã¢ããã°ã¬ã¼ãå¾ã®æ§è½å£åãã¤ã¤ã§ãããã å»ã2023å¹´ææ¥ãå¼ç¤¾ã§ã¯Amazon Aurora MySQL äºæã¨ãã£ã·ã§ã³ 2 (MySQL 5.7 äºæ) ãã Aurora MySQL äºæã¨ãã£ã·ã§ã³ 3 (MySQL 8.0 äºæ) ã«ã¢ããã°ã¬ã¼ããã¾ãããå½æã®èæ¯ãã¢ããã°ã¬ã¼ãã«é¢ããç¥è¦ã¯ä»¥ä¸ã®è¨äºããã²èªãã§ã¿ã¦ãã ããã blog.smartbank.co.jp ã½ããã¦ã§ã¢ãã¼ã¸ã§ã³ã¢ãããããã¨ããæ§ãã¼ã¸ã§ã³ãæ±ãã¦ããåé¡ã®è§£æ±ºãªã©ã®æ©æµãæã ã¯æå¾ ãã¾ãããããæã«ã¯äºæãã¬ãã°ã¬ã¼ã·ã§ã³ã«ééãããã¨ãããã¾ããæã ã®MySQL 8.0ã¸ã®ã¢ããã°ã¬ã¼ãåå¾ã«ããã¦ãããã¤ãã®åé¡ã«ééãã¾ããã æ¬è¨äºã§ã¯ãããªåé¡ã®ä¸ã¤ãMySQL 8.0ã®ãªããã£ãã¤ã¶ãé¸æããã»ãã¸ã§ã¤ã³æé©åãæ§è½å£åãå¼ãèµ·ãããäºä¾ã¨è§£æ±ºæ¹æ³ã«ã¤ãã¦ç´¹ä»ã
GraphQL is an incredible piece of technology that has captured a lot of mindshare since I first started slinging it in production in 2018. You wonât have to look far back on this (rather inactive) blog to see I have previously championed this technology. After building many a React SPA on top of a hodge podge of untyped JSON REST APIs, I found GraphQL a breath of fresh air. I was truly a GraphQL h
Intro CSRF ã¨ããå¤ã®æ»æãããããã®æ»æããå¤(ãã«ãã)ãã®ãã®ã«ãããã¨ãã§ãããã©ãããã©ã¼ã ã®é²åã®èæ¯ãããCookie ã SameSite Lax by Default ã«ãªã£ãããã ãã¨ãã解説ãè¦ããã¨ãããã 確ãã«ãç¾å®çã«ããã«ãã£ã¦æ»æã®æç«ã¯é£ãããªããæããã¦ãããµã¼ãã¹ããããããããããã¯ãã©ãããã©ã¼ã ãç¨æãã対çã®æ¬è³ªããè¨ãã¨ã解éãå°ãããã¦ããã¨è¨ããã ããã ä»åã¯ããCSRF ãã©ããã¦æç«ãã¦ããã®ãããæ¯ãè¿ããã¨ã§ãæ¬å½ã«ãã©ãããã©ã¼ã ã«è¶³ãã¦ããªãã£ããã®ã¨ããããè£ã£ã¦ãã£ãçµç·¯ãæ¬å½ã«ãã¹ã対çã¯ä½ã§ãããã解説ãã¦ããã çµæã¨ãã¦è¦ãã¦ããã®ã¯ãä»ãµã¼ãã¹ãå®è£ ããä¸ã§ã®ããã¼ã¹ã(not ãã¹ã)ã¨ãªããã©ã¯ãã£ã¹ã ã¨çè ã¯èãã¦ããã CSRF æç«ã®æ¡ä»¶ ä¾ãã°ãæ»æè ãç¨æãã attack.examp
Inspired by Deno and built on top of Iodine, this is a Ruby web framework that is based on the following design principles: Rails compatible API - Rails' API is clean, straightforward, and simply makes sense. It was one of the reasons why Rails was so successful in the past. High performance - some think performance is not a major metric for a framework, but it's not true. Poor performance is a ri
Kaigi on Rails 2023 "管çæ©è½ã¢ã¼ããã¯ãã£ãã¿ã¼ã³ã®èå¯ã¨å®è·µ" https://kaigionrails.org/2023/talks/ohbarye/ 管çæ©è½ã¨ãã身è¿ãªé¡æã§â¨ã¢ã¼ããã¯ãã£ã«ã¤ãã¦èãã¦ã¿ãããã¨ãããã¼ãã®è³æã§ããB/43ã¨ãããããã¯ãã§å®éã«è¡ã£ãé¸æã¨éç¨ã®å·¥å¤«ãå«ã¿ã¾ãã
å æ¥ç»å£ããã¤ãã³ãã«ã¦ãä»äºã§åæ¥ããã¢ãã¤ã«ã¨ã³ã¸ãã¢ãããWeb APIã®ããã¥ã¡ã³ãã«ä½¿ããæ¹ã®æ³å®ãæ·»ãããã¦ãã¦ãããããã£ããã¨ãã£ã¼ãããã¯ãããã£ãã å ·ä½çã«ã¯X post (以ä¸ãtweet) ã«æ·»ä»ããç»åã®ãããªæãã§ãWeb API (以ä¸ãAPI) ãå¼ã³åºãããç»é¢ã»ã¿ã¤ãã³ã°ã®æ³å®ãã¬ã¹ãã³ã¹ã®ä½¿ããæ¹ã®æ³å®ãªã©ãUIã®ã¹ã¯ã·ã§ã¨ã¨ãã«è¨è¿°ãããã¨ãããã®ã APIè¨è¨æã«ãããã使ããæ¹ã®æ³å®ãæ·»ããã¨èªèæããããã¦ããããããã¨ã¢ãã¤ã«ã¨ã³ã¸ãã¢ã«åã°ãã¾ãã#B43_techtalk pic.twitter.com/XLB3g6fCLZâ ohbarye (@ohbarye) 2023å¹´8æ3æ¥ ä»ã«ããããªã®ã¨ãã APIã¬ã¹ãã³ã¹ã®ä½¿ããæ¹ã®æ³å®ãæ¸ãã¦ããããã ãã®ãã¨ã«ã¤ãã¦æã£ããããã¤ãã³ãå å¤ã§åé¿ããã£ãã®ã§æ¸ãã ããã¥ã¡ã³ãã®
ã¯ããã« æè¿ããã°ã©ãã¼ã¨ãã¦ã®ãã£ãªã¢ã«ä¸åºåãã¤ãããã¨æã£ã¦ãããããã¾ã§ã®ããã°ã©ãã³ã°ã®åå¼·ã®é大æã¨ãªãããã°ãæ¸ããããªã£ãã®ã§æ¸ããåãã¦ããã°ã©ãã³ã°ããã¦ãããã³ãã¨ã³ãéçºããã¦ããµã¼ãã¼ããå¤ãè¿ã£ã¦ããã¨ãã¯ãã©ãããä»çµã¿ã§å¤ãè¿ã£ã¦ãããã ï¼ãã¨çåã«æã£ã¦ããããã£ã¨ç解ãããã¦ç解ã§ãã¦ããªãã£ããã ãããã£ã¨åå¼·ãã¦ãããããã¦æè¿ã«ãªã£ã¦ããããèªåã®è¨èã§èª¬æã§ããããã«ãªã£ãæ°ãããã®ã§ããã°ãæ¸ãããã 2015 å¹´çãèªåã®åç¹ã§ããããã®è¨äºãæ¸ãã¢ããã¼ã·ã§ã³ã«ãªã£ã ãã®ãããªè¨äºã¯å®ã¯éå»ã«åå¨ãã¦ããã FYI: https://blog.yuuk.io/entry/2015-webserver-architecture ãã®è¨äºã¯ãµã¼ãã¼ãã©ãããä»çµã¿ã§åãã¦ãã¦ãã©ã®ããã«é²åãã2015 å¹´ã«è³ããã解説ãã¦ãããè¨äºã ãèª
ã¯ããã«ããã«ã¡ã¯ãTIG ã®å岡ã§ããç§ã®ããã°é±é 10 æ¬ç®ã®æ稿ã§ãã 2022å¹´ã® 5 æã« Apple, Google, Microsoft ãã㦠FIDO Alliance ã ãã«ãããã¤ã¹å¯¾å¿FIDOèªè¨¼è³æ ¼æ å ± ãçºè¡¨ãã¦ããããã¹ã¯ã¼ãã¬ã¹æè¡ã«å¯¾ãã注ç®ãé«ã¾ã£ã¦ãã¾ãã1 ãã¹ã¯ã¼ãã¬ã¹ã®æ¦è¦ã«ã¤ãã¦èª¿æ»ãã¦ã¾ã¨ãã¦ã¿ã¾ããã ç®æ¬¡ ç§ãã¡ã¨ãã¹ã¯ã¼ã ãã¹ã¯ã¼ãã®æ±ããåé¡ ãã¹ã¯ã¼ãããã¼ã¸ã£ å ¬ééµæå·ã®æ´»ç¨ ãã¹ã¯ã¼ãã¬ã¹ã¨ FIDO Alliance FIDO v1.0 FIDO2 FIDO ã®èªè¨¼ããã¼ Passkeys ãã¹ã¯ã¼ãã¬ã¹ãªæªæ¥ ç§ãã¡ã¨ãã¹ã¯ã¼ãä»æ¥ãç§ãã¡ã®ãã¸ã¿ã«ã¢ã¤ãã³ãã£ãã£ã¯ãã¹ã¯ã¼ãã«æ¯ãããã¦ãã¾ããç§ãã¡ã¯æ¥ã Google ã§æ¤ç´¢ããNetflix ã観ã¦ãTwitter ã§ã¤ã¶ãããAmazon ã§è²·ãç©ããã¾ãã
HTTP/3å ¥é 第1ç« é²åããHTTPã®æ©ã¿ ï½ HTTP/1.1ã¨HTTP/2ããããããâ â ãHTTP/3ã®åºæ¬ãç¥ã ãã®ç¹éè¨äºã¯2021å¹´6æ24æ¥ã«çºå£²ãããWEB+DB PRESS Vol.123ã«æ²è¼ãããç¹é1ãHTTP/3å ¥éããåæ²ãããã®ã§ãã å æ¥2022å¹´6æã«HTTP/3ãå«ãHTTPé¢é£ã®ä»æ§ãæ£å¼ãªRFCã¨ãªãã¾ãããããã§ã¯RFCã®æ£å¼ãªãªã¼ã¹ã«ä¼´ãããã¡æ©ãå¤æ´ç¹ãæããå²ã¿ããã¯ã¹ãç¨ããå ç解説ã§ãããããããä¼ããã¦ããã¾ãã ç¹éã®ã¯ããã« HTTPï¼Hypertext Transfer Protocolï¼ã®ææ°çã§ããHTTP/3ãç»å ´ãã¾ãããHTTP/3ã§ã¯ãããå®å ¨ã§éãéä¿¡ãè¡ãã¾ããæ¬ç¹éã§ã¯ãä»ã¾ã§ã®HTTPã«ãã£ã課é¡ã¨ãHTTP/3ã§èª²é¡ãã©ã®ããã«è§£æ±ºããæ¹åãè¡ããããã解説ãã¾ãã æ¬ç« ã§ã¯ãHTTPãã®ãã®ã¨åãã¼ã¸
é称 #ISUCONæ¬ ãèè æ§ãããæµè´ããã ãã¾ããããããã¨ããããã¾ãã gihyo.jp ææ ãã®æ¸ç±ãè¨ã£ã¦ããã®ããããã¾ãããã¾ã£ããã®åå¿è ã»åå¦è ã«ã¯é£ããæ¬ããããã¾ãããç§ã®æ触ã§ã¯ãWebãµã¤ãã®ããã°ã©ã ä½æãæ¹ä¿®ãæ§ç¯ãéç¨ãªã©ã«æºãã£ãããWebãµã¤ãã®ããã©ã¼ãã³ã¹ã®åé¡ã«åãåã£ããã¨ããã人ã対象èªè ã ã¨æãã¾ãããè·ç¨®ã§ããã°ããã¯ã¨ã³ãã¨ã³ã¸ãã¢ãã¤ã³ãã©ã¨ã³ã¸ãã¢ãSREãªã©ã§ããããã¡ãããããã£ãè·ç¨®ãç®æãã¦ããæ¹ããç´ç²ã«ISUCONã«ææ¦ããããããã©ã¼ãã³ã¹ãã¥ã¼ãã³ã°ã«èå³ããããã¨ãã£ãæ¹ãå«ã¾ãã¾ãã ãã®æ¬ã¯ç¹å®ã®åé¡ã«å¯¾ããç´æ¥çãªçãã§ã¯ãªããããã©ã¼ãã³ã¹ãã¥ã¼ãã³ã°ã®èãæ¹ãæãã¦ãããå 容ã«ãªã£ã¦ãã¾ãããã®æ¬ãåèã«å®éã«æãåããã¦å®è·µããã®ãè¯ãã§ããããç¾å®ã®Webãµã¤ãããã¥ã¼ãã³ã°ããã§ãããã§ãããã
Reactãåãå·»ãç¶æ 管çã®æ½®æµãå¦ã¼ããHooksãServer Componentsãªã©ã®ç»å ´ã§ä½ãå¤ããã Reactãåãå·»ãç¶æ 管çã®ã¢ããã¼ãã¯å¤åãç¶ãã¦ãã¾ããããã¾ç¥ã£ã¦ããã¹ãææ³ã¨ã¯ã©ã®ãããªãã®ã§ãããããå°æ 徹ï¼@koba04ï¼ããã«ãç¾å¨ãããã¦ãã®å ã®ç¶æ 管çã«ã¤ãã¦å·çããã ãã¾ããã ããã«ã¡ã¯ãå°æï¼@koba04ï¼ã§ãã 2019å¹´5æã«ãSPAã«ãããç¶æ 管ç:é¢æ°åã®ã¢ããã¼ããåãå ¥ããããã³ãã¨ã³ãç³»ã¢ã¼ããã¯ãã£ã®å¤é·ãã¨ããè¨äºãæ¸ãã¾ãããããããã2年以ä¸ãçµéããReactãç¨ããç¶æ 管çã¯å¤§ããå¤ããã¾ãããæ¬è¨äºã§ã¯Reactãåãå·»ãç¶æ 管çã®å¤é·ã«ã¤ãã¦è§£èª¬ãã¾ãã åºããReduxã®æ¡ç¨ Hooksã®ç»å ´ ã³ã³ãã¼ãã³ãããªã¼ããç¬ç«ããç¶æ 管ç Concurrent Featuresã«ããæ°ããã¦ã¼ã¶ã¼ä½é¨ ç¶æ ã¨ãã£
ã³ã¤ã³ãã¤ãäºä»¶ã«ãããå¼è·æ´»å é»ç¾æ³å¾äºåæãå¼è·å£«ãå¹³éæ¬ æ¬ç¨¿ã¯ãWizard Bibleäºä»¶ããèãããµã¤ãã¼ã»ãã¥ãªãã£ãã«å¯ç¨¿ããããå·çããæªæ ¡æ£ã®æç« ã§ããåæ¸ã«æ²è¼ããã¦ãããã®ãæ£å¼çã§ããä»ã«ãæçãªè¨äºãããããæ²è¼ããã¦ãã¾ãã®ã§ãèå³ããæã¡ã®æ¹ã¯åæ¸ããè³¼å ¥ãã ããã ã¯ããã« æ¬ç¨¿ã®ä½ç½®ã¥ã æ¬ç¨¿ã¯ã³ã¤ã³ãã¤ãäºä»¶ã«ããã¦çè ããããªã£ãåäºå¼è·æ´»åã«ã¤ãããã®ä½é¨ãã¾ã¨ãããã®ã§ãããæ³å®èªè ã¨ãã¦2ã¤ã®æ¹åãæèãã¦ããã æ³å¾å®å家ã«åã㦠第1ã«ãçè åæ§ã«ITé¢ä¿ã®è¤éãªäºä»¶ã«ã¤ãã¦åäºå¼è·ãåä»»ãããã¨ã¨ãªã£ãå¼è·äººã«å¯¾ããæéã¨...
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}