2024/10/5 YAPC::Hakodate 2024
2024/10/5 YAPC::Hakodate 2024
ããã«ã¡ã¯ãæ ªå¼ä¼ç¤¾FP16ã§çµæ§ã³ã¼ããæ¸ãã¦ããäºå®®ã§ãã æè¿Webã¹ã¯ã¬ã¤ãã³ã°ã®ã³ã¼ããè²ã ãªæ¹æ³ã§æ¸ãã¦ããã®ã§ãããã§å¾ãç¥è¦ãããã«æ®ãã¦ãããã¨æãã¾ãã ã»ã¼æ¯æ¥ãªã«ãã®Webã¹ã¯ã¬ã¤ãã³ã°ã³ã¼ããæ¸ãã¦ãã¾ãã Webã¹ã¯ã¬ã¤ãã³ã°æ段 Webã¹ã¯ã¬ã¤ãã³ã°ã«ã¯è²ã ãªæ¹æ³ãããã¾ãã ç§ãæè¿ä¸»ã«ä½¿ã£ã¦ããã®ã¯ãã®5ã¤ã®æ段ã§ãã cheerioã§HTMLã解æ Playwrightãªã©ã§è¦ç´ æå®ã§ãã¼ã¿ãåå¾ãã APIãè¦ã¤ãã¦å©ãï¼ããã¯ã¨ã³ãã¨ã®éä¿¡ãåç¾ãã¦ãã¼ã¿ãåå¾ï¼ LLMã§ãµã¤ãæ§é ã解æãã¦ãã¼ã¿ãåå¾ãã Next.jsããã®ã¬ã¹ãã³ã¹ã«å«ã¾ãã¦ãããã¼ã¿ã解æãã¦åå¾ãã ããã令åã®Webã¹ã¯ã¬ã¤ãã³ã°ã®ãã¹ããã©ã¯ãã£ã¹ã ã¨æã£ã¦ãã¾ãã ãããã®æ¹æ³ããç®æ¨ã«åããã¦ä½¿ãåãã¦ãã¾ãã 使ãåãæ¹ Cheerioã§HTML解æ JavaS
2023å¹´å¾åé ããããã©ã¦ã¶ã®ãæ»ãããã¿ã³ãæ¼ãã¨ã訪åãããã¼ãã®ãªããã¼ã¸ã表示ããããã¨ãå¢ããããããããã¼ã¸ã¯å¤§æµãè¨äºé¢¨ã®åºåããµã¤ãå ã®è¨äºã¸ã®ãªã³ã¯ã大éã«ä¸¦ã¶ã¨ããæ§æã«ãªã£ã¦ããã ãããªã¬ã¤ã¢ã¦ãã«ãªã£ã¦ããã¨ãå¤ãã ãã®ææ³ã¯ãã©ã¦ã¶ããã¯åºåã¨ããã©ã¦ã¶ããã¯ã¬ã³ã¡ã³ã (ãããã¯ã¬ã³ã¡ã³ãã¼ã·ã§ã³) ã¨ãå¼ã°ãã¦ãããå½å å¤ã®è¤æ°ã®Webåºåä¼ç¤¾ããããæä¾ãã¦ããããã ã ãã¨ãã°ããã¡ãã¯GMOã¢ããã¼ã±ãã£ã³ã°ã® âTAXELâ ãæä¾ãã¦ãããã©ã¦ã¶ããã¯ã¬ã³ã¡ã³ãã ãæ°ããªåçã»åéæºãèªçï¼ããã©ã¦ã¶ããã¯ã¬ã³ã¡ã³ã ãµã¤ãããé¢ãã¦ãã¾ãã¦ã¼ã¶ã¼ã«å¯¾ããåºåãã¬ã³ã¡ã³ãè¨äºã表示ããããã¨ã§ãåçåãå é¨åéã«ç¹ãããã¨ãç®çã¨ãã¦ãããã©ã¼ãããã«ãªãã¾ãã â¦â¦ã¨ããã®ãã»ã¼ã«ã¹ãã¤ã³ããããã®ã ãããµã¤ãããé¢ãã人ã¯ããµã¤ãããé¢ã
ããã«ã¡ã¯ã jQuery ããåæ¥ããã°ã©ãã³ã°ã«å ¥éãããã¾ãã§ãã ãªã jQuery ã ã¨å¤ãããã¡ã ã¨è¨ãããã®ã§ããããï¼ãããããã $.ajax ã§ç°¡åã«ãã¼ã¿å¼ã£å¼µã£ã¦ããããã $("#btn").click(function () { alert("æ¼ããï¼"); }); ã¯èª°ãè¦ã¦ãä½ãèµ·ãããä¸ç¬ã§åãã Simple ãããããããããªãã§ãããã React/Vue/Svelte ãã®ä» jQuery ã§ã¯ãªãã©ã¤ãã©ãªã使ããªããã°ãªããªããã§ããããï¼ 100 ååè¨ããã¦ãããã¨ã ã¨æãã¾ãããç§ãªãã«æ¯ãè¿ã£ã¦ã¿ã¾ãã æç¶ãå UI ã¨å®£è¨å UI ã¯ãæç¶ãåã§ãã btn ã¨ãã ID ã® DOM è¦ç´ ãåå¾ãã¦ããããã®(ä¸å¿è¤æ°ã«ãªãå¯è½æ§ãããã¾ã)è¦ç´ ã«å¯¾ã㦠click ã¤ãã³ããã³ãã©ãç»é²ãã¾ãã ãã®å¦çãå®è¡ãããåã¨å¾ã§ã¯ã
ãã®ããã«ãCookieèªä½ã¯ãããªã誰ãã®å人æ å ±ã»ãã©ã¤ãã·ã¼ã«è§¦ããä»çµã¿ã§ã¯ããã¾ãããããã¾ã§ã¢ã¯ã»ã¹ãèå¥ããããã®æè¡ã§ããã¾ããECãµã¤ããSNSã®ããã«ãå©ç¨è ãèå¥ãã¦åä½ããªããã°ãªããªãWebãµã¤ãã§ã¯Cookieã¯ããªããå¿ è¦ã«ãªãã¾ãã ãµã¼ããã¼ãã£ã¼ã¯ããã¼ã£ã¦ï¼ ä»å話é¡ã«ãªã£ã¦ããã®ã¯ãããµã¼ããã¼ãã£ã¼ã¯ããã¼ (3rd Party Cookie)ãã§ãããããCookieã®ä¸ç¨®ãªã®ã§ãããããã¾ã§åºã¦ãããã®ã¨å°ãæ±ããç°ãªãã¾ããããã¯ãCookieãè¤æ°ã®Webãµã¤ããã¾ããã£ã¦å©ç¨ãããã¨ããç¹ã§ãã ãµã¼ããã¼ãã£ã¼Cookieã®èª¬æã®ããã«ãA社ã®Webãµã¤ããB社ã®Webãµã¤ãã¨ãããç¡é¢ä¿ãªäºã¤ã®Webãµã¤ããããäºã«ãã¾ããããããã¦ãããã«P社ã®Webãµã¤ãã追å ãã¾ããP社ã®Webãµã¤ãã¨æ¸ãã¾ããããããã§æ³å®ãã¦ããã®ã¯ãA社
ããã§ã¯ãã¯ã¦ãªããã¯ãã¼ã¯ããµã¼ãã¹ãéå¶ããã«ããã£ã¦ã®èãæ¹ã¨ãã¯ã¦ãªããµã¼ãã¹ãå¥å ¨ã«éå¶ããããã®æ¹éãã¾ãããµã¼ãã¹ãããæçã«ä½¿ã£ã¦ããã ãããã¦ã¼ã¶ã¼ã®ã¿ãªãã¾ã«ãé¡ãããããã¨ãã¬ã¤ãã©ã¤ã³ã¨ãã¦å ¬éãã¾ãã ã¯ã¦ãªå ¨ä½ã®ã«ã¼ã«ã¨ã¬ã¤ãã©ã¤ã³ ã¯ã¦ãªã§ã¯ããµã¼ãã¹å©ç¨ã«ã¤ãã¦ä¸è¨ã®ãããªã«ã¼ã«ã¨ã¬ã¤ãã©ã¤ã³ãå ¬éãã¦ãã¾ãã ã¯ã¦ãªå©ç¨è¦ç´ ã¯ã¦ãªãã©ã¤ãã·ã¼ããªã·ã¼ ã¯ã¦ãªæ å ±åé¤ã¬ã¤ãã©ã¤ã³ ã¯ã¦ãªã³ãã¥ããã£ã¬ã¤ãã©ã¤ã³ ç¹ã«ãã¯ã¦ãªã³ãã¥ããã£ã¬ã¤ãã©ã¤ã³ ã§ã¯ãã¯ã¦ãªå ¨ä½ã®ã¦ã¼ã¶ã¼ã³ãã¥ããã£ã«å¯¾ãã価å¤è¦³ã¨ããµã¼ãã¹ä¸ã§çããåé¡ã«å¯¾ããæéãè¨è¼ãã¦ãã¾ãããã²ãä¸èªãã ããã ã¯ã¦ãªããã¯ãã¼ã¯ã¯ããå©ç¨ããã ãã¿ãªãã¾ãããµã¼ãã¹ãéãã¦ä»¥ä¸ã®ãããªä½é¨ãå¾ãããå ´ã§ãããã¨ãç®æãã¦ãã¾ãã æ°ããªçºè¦ãå¤ãå¾ããã æ å ±ã¸ã®æ·±ãç解ãæ´å¯ãå¾ããã
2024.8.6ï¼FastHTMLã«ã¤ãã¦è¿½è¨ãã¾ããã â»æ¬è¨äºã§è¨åãã¦ããReflexã®discordãµã¼ãã¼å ã«æ¥æ¬èªãã£ã³ãã«ãã¤ãã£ã¦ãããã¾ããããããèå³ããã£ã人ããããåå ãã¦ã¿ã¦ãã ããã ï¼ï¼Pythonã ãã§Webã¢ããªãã¤ããã©ã¤ãã©ãªãå¢ãã¦ãã æè¿ï¼2024.05ï¼ãPythonçéã§ã¯Pythonã ãã§Webã¢ããªãä½ããã©ã¤ãã©ãªãå¢ãã¦ãã¾ãã詳ããã¯ä»ã®è¨äºãåç §ãã¦ããããã°ã¨æãã¾ãã 以ä¸ã®è¨äºãã¨ã¦ãåèã«ãªãã¾ããããããã¨ããããã¾ãã ï¼ï¼ã©ã¤ãã©ãªã®åé¡ ããããã©ã¤ãã©ãªã大ããããã¦ï¼ã¤ã®ç¨®é¡ãããããã«æãã¾ãã â ãã¼ã¿è§£æã®çµæã表示ããããã·ã¥ãã¼ãã©ã¤ãã©ãª â¡æ±ç¨çãªWebã¢ããªãã¤ãããã¼ã³ã¼ãã©ã¤ãã©ãª â ããã·ã¥ãã¼ãç³»ã©ã¤ãã©ãª ãã¨ãã°ãä¸è¨ã®è¨äºã«ãåºã¦ãã¾ããããããã§ãããªãæ å ±ã®å¤ããStreaml
WebçVSCodeãDockerã³ã³ãããWASMç°å¢ã§èµ·åãWebãã©ã¦ã¶å ãã¼ã«ã«ãã·ã³ã¨ãã¦å©ç¨å¯è½ã«ãæ¡å¼µæ©è½ãvscode-container-wasmãç»å ´ WindowsãMacãªã©ã®ãã¹ã¯ãããPCã§Visual Studio Codeï¼ä»¥ä¸VSCodeï¼ãå©ç¨ãã¦éçºãããå ´åãåããã¼ã«ã«ãã·ã³ä¸ã§Dockerã³ã³ããã®Linuxç°å¢ãèµ·åããVSCodeã®ã¿ã¼ããã«ã§æ¥ç¶ãã¦æä½ãããã¨ã¯ãéçºç°å¢ã¨ãã¦ãããããã¨ã ã¨æãã¾ãã ããã¨åããã¨ãWebãã©ã¦ã¶çã®VSCodeã§ãå®ç¾ãããããªãã¡WebçVSCodeãåä¸Webãã©ã¦ã¶ä¸ã«WebAssemblyåããDockerã³ã³ãããèµ·åããWebçVSCodeãããã¼ã«ã«ãã·ã³ã¨ãã¦æ¥ç¶ãå©ç¨ã§ãããå®é¨çå®è£ ãå®ç¾ããVSCodeã®æ¡å¼µæ©è½ãvscode-container-wasmããç»å ´ãã¾ããã V
ã¾ãã¯ããã« HTMLãCSSãJSãå¦ãã å¾ã«ã¢ãã³ãªwebå¶ä½ãè¡ãä¸ã§ããããä½ãå¦ã¹ã°ããã ããã¨ææ¢ãç¶æ ã ã£ãéå»ãããã®ã§ãä»åãæ©ã¿ãæ±ãã¦ããæ¹ã«åãã¦ãã®è¨äºãæ¸ããã¨æãã¾ãããã¾ããèªåèªèº«ã2023å¹´ã«å¤ãã®ãã¨ãå¦ãã ã®ã§ããã®æ´çã«ãªãã°ã¨ããæããããã¾ãã ãã¨ãããããã³ã¡ã³ãããã ããã¨è¨äºä½æã®å±ã¿ã«ãªãã¾ãð ãã®è¨äºã®å¯¾è±¡è HTML, CSS, JSã¯ããç¨åº¦ç解ãã ã¢ãã³ãªWebå¶ä½ãè¡ããã ããããå¦ã¶ã¹ãæè¡ React, Next.js ä¸åº¦ã¯èãããã¨ãã人ãå¤ãã¨æãã¾ããããã¯ãWebãµã¤ããå¹ççã«éçºãããã¨ãç®çã«ä½ãããJSã®ãã¬ã¼ã ã¯ã¼ã¯(æ£ç¢ºã«ããã¨Reactã¯ã©ã¤ãã©ãª)ã§ãã Reactã¯Facebook社ãéçºãããã®ã§ããããVercel社ããã使ãããããããã®ãNext.jsã§ãã ä½æãããã®ã«ãã£
ãã©ãããã°AIãWebãã¶ã¤ã³ã«æ´»ç¨ã§ããã ããã 人工ç¥è½AIãããã ã話é¡ã«ãªã£ããã¾ãWebãã°ã©ãã£ãã¯ãã¶ã¤ã³ãã¤ã©ã¹ããã²ã¼ã ãªã©ã¯ãªã¨ã¤ãã£ããªæ¥åãããªã人ãªããä¸åº¦ã¯èãããã¨ãããããããã¾ããã çãã®ã²ã¨ã¤ã¯ãã°ããMidjourneyãªã©ã®ç»åçæAIã§ã¤ã¡ã¼ã¸ãå ·ç¾åãããã¨ã ããããããã¯è¨ã£ã¦ãå ¥åã§ããããã³ããã¯ç¡éã«ãããå®éã«ã©ã®ããã«å ¥åããã°æé«ã®çµæãå¾ããã¨ãã§ããã®ãããã¹ã¦èª¿ã¹ãã®ã¯ãã¾ãã«ã大å¤ã§ãã ããã§ãã®è¨äºã§ã¯ãMidjourneyãï¼å¹´é使ãç¶ãã¦è¦ã¤ãããWebãã¶ã¤ã³ã«ä½¿ããMidjourneyããã³ãããå°æãã¯ããã¯ãã¾ã¨ãã¦ãç´¹ä»ãã¾ãã å ·ä½çãªãµã³ãã«ä¾ã¨ããã³ãããä¸ç·ã«è¨è¼ãã¦ãããã³ããã§ãã®ã¾ã¾å©ç¨ã§ãã¾ãã ãMidjourneyã£ã¦ä½ï¼ãã¨ããã²ã¨ã¯ãåºæ¬ã®ä½¿ãæ¹ãã¾ã¨ãã以ä¸ã®ã¬ã¤ããåèã«ã©
ã¯ããã« ãã®è¨äºã¯APIã®åºæ¬çãªå®è£ æ¹æ³ãä¸å¯§ã«è§£èª¬ãã¾ããåºç¤ãå¦ã³ããæ¹ãä»æ´èããªããããªç¥èã®æ¯ãè¿ããæ±ããæ¹ã®å½¹ã«ç«ã¤ãã¨ãé¡ã£ã¦ãã¾ããããååç解ã§ãã¦ããï¼ã¨ããæ¹ã¯ãç®æ¬¡ããå®è£ ã«ã¨ãã§ã¿ã¦ãã ããã å ·ä½çã«ã¯HTTPã¨å¼ã°ããéä¿¡æ¹æ³ãå©ç¨ãããã·ã³ãã«ãªæ¬ã®è²¸ãåºãã·ã¹ãã ã®åå°ãèãã¾ããè¦ä»¶ã®åã¹ãããã§ãè¨è¨ã®åºæ¬ååããã¹ããã©ã¯ãã£ã¹ã«ã¤ãã¦ã触ããªãããããå®è·µçãªç¥è¦ãå ±æã§ããã°ãããªã¨æãã¾ãã å¼ç¤¾Nucoã§ã¯ãä»ã«ãæ§ã ãªãå½¹ç«ã¡è¨äºãå ¬éãã¦ãã¾ããããã£ãããOrganizationã®ãã¼ã¸ãè¦ãã¦ã¿ã¦ãã ããã ã¾ããNucoã§ã¯ä¸ç·ã«åã仲éãåéãã¦ãã¾ãï¼èå³ããæã¡ããã ããæ¹ã¯ããã¡ãã¾ã§ã åºæ¬ç¨èª Webã«é¢ããåºç¤ç¥èã®è§£èª¬è¨äºã¯Qiitaã«è±å¯ã«ãã£ãã®ã§ãè¦ç¹ãæãã¤ã¤ãªã³ã¯ãã¾ã¨ãã¾ããã WebAPI Web
ãã¼ã§ããæ²ç¸ã§Webã¨è¨è¨ã«ã¤ãã¦èãã¦ã¾ãã2023/09/23 ã«æ²ç¸ã§è¡ãããTechBaseOkinawa2023 ã«ã¦ä¸è¨ã®ã¿ã¤ãã«ã§ç»å£ãã¾ããã ä»åã®å 容㯠GraphQLãè¨è¨ã®è¦³ç¹ããèãã¦ã¿ã GraphQLã®ç®çãç¨éãæ´çãã GraphQLã使ãæãã¾ãã¯ä½¿ããªãæã®ãã³ããæã¡å¸°ã£ã¦ããã æè¿ãGraphQLãããªãã¦RESTã§è¯ããªãã¨æãã±ã¼ã¹ããªãã¨ãªãããã£ã¦ããã®ã§ãããå ±æãã ã¨ããæãã§è©±ãã¾ããã話ããå 容ãæåã«èµ·ããå°ãæ¹ä¿®ãã¦Zennã§ãå ±æãããã¨ã¨ãã¾ãã ã¾ããã æè¿ã¯ã¯ã©ã¤ã¢ã³ãAppã¨ãµã¼ãã¼Appãåãã¦å®è£ ããäºãå¢ãã¦ãã ã¯ã©ã¤ã¢ã³ãã®ç°å¢ã¯ã¾ãã¾ãè¤éã«ãªã£ã¦ãã ã¯ã©ã¤ã¢ã³ãã¨ãµã¼ãã¼ã¯WebAPIã§éä¿¡ãè¡ã ã¯ã©ã¤ã¢ã³ããè¤éã«ãªãã®ã¨åæã«WebAPIã®è¦æ±ãæ´ã«å¢ãã¦æ¥ã¦ãã APIã®è¦æ±ã»å¿çãå¹ç
Vue 3 ͷϦϦÊελΠÏϥΠϯ ⢠2020/09/18: 3.0 (One Piece) ⢠2021/06/08: 3.1 (Pluto) ⢠2021/08/05: 3.2 (Quintessential Quintuplets) ⢠2023/05/11: 3.3 (Rurouni Kenshin) Vue 3 ͷϦϦÊελΠÏϥΠϯ ⢠2020/09/18: 3.0 (One Piece) ⢠2021/06/08: 3.1 (Pluto) ⢠2021/08/05: 3.2 (Quintessential Quintuplets) ⢠2023/05/11: 3.3 (Rurouni Kenshin) 3.3. ϦϦÊεÎͰ໿2à³¥ÛÍÍÍͬͯÍÎ Í³Í¥Í°Í ÎÍÊ
ãµããªã¼ ã·ã¹ãã æ§æã®å¤é· åµæ¥ãã§ã¼ãº ã¯ããã¦ã® API ã¨æè¡é¸å® GraphQL 移è¡ç´å GraphQL ã¸ã®ç§»è¡ã決ãããã£ãã GraphQL 移è¡æ¹é 移è¡æé ãµãããã 1ã¤ç®ã®æ¹éã¯æ£è§£ã ã£ã 2ã¤ç®ã®æ¹éã¯å¾®å¦ã ã£ããããããªããã©ãæ£è§£ã ã£ããããããªã 3ã¤ç®ã®æ¹éã¯ãã¯ãè¦æ¦ãã ãããã« ãµããªã¼ ãµã¼ãã¹éå§ãã3å¹´çµã£ã Next.js + Rails ãªã·ã¹ãã å ¨ã¦ã® API ã REST ãã GraphQL ã«ãªãã¬ã¼ã¹ ç´9ã¶æãããã¾ãã æ©éããã³ãã¨ã³ãã®é½åã§ããã¯ã¨ã³ãã«ãæãå ¥ããã¨ãããã¨ãæ¸ã£ã¦å¿«é©ã§ã ã¨ãã話ã§ãã ã·ã¹ãã æ§æã®å¤é· åµæ¥ãã§ã¼ãº 1人ç®ã¨ã³ã¸ãã¢ã¨ãã¦å ¥ç¤¾ãã¦ãä½ããæãä»ãããããªã¼ã¨èããçµæãäºæ¥ã®èã®é¨åããã·ã¹ãã åãã¦ãããã¨ã«ãã¾ãããå¼ãµã¼ãã¹ https://moneiro.jp/ ã¯
注æï¼ä»åã®è¨äºã§è¼ãã¦ããã³ã¼ãã¯èªè ã«å ·ä½çãªã³ã¼ãã®ã¤ã¡ã¼ã¸ãæãããç®çã§æ¸ãã¦ãããããæ ã«ãå®éã«ãã©ã¦ã¶ä¸ã§å®è¡ãã¦ãåä½ããªãç¹ã«ã¯æ³¨æãã¦ã»ãããããå°éçã«ã«GraphQLã¨RESTã®éããå¦ã³ãããªãLogRocketã®è¨äºã¨Apolloã®è¨äºãåèã«ã ã¯ããã« ä»åã®è¨äºã§ã¯ãWeb APIã®éçºã«éå®ãããRESTã¨GraphQLã®éãã解説ããã 対象ã¨ããèªè ããããRESTãã¾ãã¯GraphQLãå®åã§ç©æ¥µçã«æ´»ç¨ãããã²ã¨ 両è ã®éããããããªãã²ã¨ å人éçºçã§Web APIãã¤ããã²ã¨ ã¿ã¤ãã«ãè¦ã¦ãªãã¨ãªãæ°ã«ãªã£ãã²ã¨ APIã¨ã¯ RESTã¨GraphQLã®è°è«ã«å ¥ãåã«ãã¾ãã¯APIã«ã¤ãã¦èª¬æããå¿ è¦ãããã Wikipediaã«ããã¨ãAPI(Application Programming Interface)ã¯ä»¥ä¸ã®ããã«å®ç¾©ããã¦ã
æ¥æ¬ã®å»çã·ã¹ãã ã®åæ§ç¯ãç®æãã¹ã¿ã¼ãã¢ãããã«ã±ãã·ãã®ããã³ãã¨ã³ãé åã§ã®ãã£ã¬ã³ã¸ / Challenges in the frontend domain at âKakehashiâ
ã¯ããã« å æ¥ãä¸è¨ã®ãããªãã¤ã¼ããè¦ã¤ãã¦ãããããã°è¶£å³ã§å人éçºãã¦ãã¨ãã«ã¯ç¶ç¨æ°ã«ãã¦ãªãã£ããã©ãä»äºã§éç¨ããããã«ãªã£ã¦å 輩ãã¡ããå¦ãã ãèªåã§èº«ã«ã¤ãããããã¹ã£ã¦ã¡ããã¡ããããããã¼ãã¨ãµã¨æã£ãã®ã§ãWebã¢ããªã±ã¼ã·ã§ã³éçºã«é¢ãããã®ãããã¤ãã¾ã¨ãã¦ã¿ã¾ããã ç¹ã«ä½ç³»ç/ç¶²ç¾ çã¨ããç¨ã§ããªãã§ãããæè¿ã¯FWãè²ã ãªä»çµã¿ã§ã«ãã¼ããã¦ããã®ãå¤ãã§ããåå¿é²ã¨ãã¦ã Tips æ©æ¢°ãèªãããã°ãä½ã ããã¯å²ã¨éè¦ãªã®ã§ããããã°ã¯äººéãèªããã®ã§ã¯ãªãæ©æ¢°ãèªããã®ã§ããããã¯Zabbixã ã£ããDatadogã ã£ããSplunkã ã£ããgrep/awkã ã£ãããã¼ã«ã¯ä½ã§ãè¯ãã®ã§ãããå¤ã®æ代ã¯ãã¦ããç¾ä»£ã§ã¯ãã°ã¯æ©æ¢°ãèªãããã¨ãæéè¦ã§ãã ã¾ã大åæã¨ãã¦æ§é åããã¦ããå¿ è¦ãããã¾ããè¨ãã¾ã§ããªãã§ãããããªã¼ãã©ã¼ããããã®ãã°ã®
æè¿ã®æµããè¦ã¦ãã¦ã®ææ³æãªã®ã§ãideaã¨ãã¦æ稿ãã¾ããçè ã®ããã¯ã°ã©ã¦ã³ãã¨ãã¦ã¯ãRemixã®åæ¥è¨äºãæ¸ããããApp Routerã®åæ¥è¨äºãæ¸ããããã¦ãã人ã§ãã ãã¦ãçè ã¯2022å¹´ã®ç§ããã社å ã·ã¹ãã ã§ã¯ããã¾ããRemixããããã¯ã·ã§ã³éç¨ãã¦ãã¾ããã¾ããNext.jsã®App Routerã«ã¤ãã¦ãããã©ãã¤ã ã¨ãã¦ã¯Remixã«ã¤ã³ã¹ãã¤ã¢ãããé¨åãå¤ã[1]ãããã§ãé 調ã«ãã£ããã¢ããã§ãã¦ãã¾ãã Remixã¨App Routerã¯ãã«ã¼ãã£ã³ã°ã¨ãã¼ã¿ãã§ãããé«åº¦ã«çµ±åãã¦ãããProgressively Enhanced SPAï¼PESPAï¼ã¨å¼ã°ãããã¨ãããããã§ããPESPAã«ã¤ãã¦ã¯ã次ã®è¨äºã話é¡ã«ãªãã¾ãããã ãã®PESPAã§ããRemixãå®éç¨ããä¸ã§ããã¬ã¼ã ã¯ã¼ã¯ã®æ触ããè¿å¹´è§¦ã£ã¦ãããã®ã¨å¤§ããéã£ã¦ããç¹ããã£
2023å¹´6æ16æ¥ ããæ¹æ£é»æ°éä¿¡äºæ¥æ³ãæ½è¡ãªãã§ããã©ç¥ã£ã¦ã¾ããï¼ ãããåçç®çãªãä¼æ¥éå¶ã§ãå人éå¶ã§ãã»ã¨ãã©ã®Webãµã¼ãã¹ã»ã¹ããã¢ããªã対象ã¨ããããã¡ããã¡ãåºç¯å²ã«ã¿ããªã対å¿ãå¿ è¦ãªãã¤ãªãã§ããã©ãã¤ãããªã? ä½ããã¦ãªããªã? ãã£ã¹ããªã¨ããWEBãµã¤ãæ å½è /ã¢ããªéçºè ãçµæ§ããããªé°å²æ°ããããã¼ãã£ã¤ããæ¼ã£ã¦ã¾ããã¾ããã ä¼æ¥ã®ãªã¦ã³ãã¡ãã£ã¢ããå人éå¶ã®ã¢ãã£ãªã¨ã¤ãç®çãµã¤ããªããã対象ã«ãªãå ´åããã£ã¦ãã¡ãã£ã¢ç³»ãµã¤ãã¯ãã¡ããã¢ããªéçºè ã«ãå½±é¿ããæãã§ãã®ã§ãããã¹ãå 容ãããã°ã«ããããã¦ããã¾ãã â»ã¼ãã¯æ³å¾ã®å°é家ã§ã¯ãªãã®ã§ãã¡ããã¨ç·åçã®å ¬å¼ããã¥ã¡ã³ããªã©ã«ãå½ãã£ã¦ãã ãããã ã°ã°ãã¨ãå¤é¨éä¿¡è¦å¾ãã¨ããé»æ°éä¿¡äºæ¥è åã¯ç¬¬ä¸å·äºæ¥ãå¶ãè ãã¨ãå°éç¨èªã®è¨äºã°ã£ããåºã¦ãã¦èªåãä½ããããããã®ãã®æ
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}