CSRF 対ç㯠One Time Token ã form ãªãã«ä»ä¸ãã¦ããµã¼ãå´ã§ãã§ãã¯ããã°è¯ãã ãããããã©ã«ãã§ãµãã¼ããã¦ããã¬ã¼ã ã¯ã¼ã¯ãªã©ããããããªãã¦ãã©ã¤ãã©ãªã§ãããã§ã対å¿ã§ããã ã©ããå®å ¨ã«ã¹ãã¼ãã¬ã¹ãªãµã¼ãã¹ã¯ãªããªããªãã®ã§ããµã¼ãå´ã« redis ã memcache ãç¨æããã®ãå¥ã«å¤§å¤ãããªãã ãªã®ã§ã CSRF 対çã¨ã㦠Token ãä»ä¸ããã®ã¯ãæãå®å ¨ã§æ¨å¥¨ã§ããæ¹å¼ã§ã¯ããã ã£ã¦ããã®ãè¸ã¾ããä¸ã§ããã SameSite=Lax ããã©ã«ãã ãã©ãä»ã§ã Token å¿ é ãªã®ï¼ã¿ãããªã®ããã³ãã³è©±ã«åºãã®ã§ãããå æ¸ã¾ã¨ããã åæ ãã®è©±ã¯ãã¹ã³ã¼ããã©ããªã®ãã«ãã£ã¦è©±ãå¤å°å¤ããã®ã§ããããçµãã ä»å㯠Passive ã§ã¯ãªã Active ã«å¯¾çãã¦ããå ´åãèããã®ã§ãåæãããããã SameSite=l
HTMXã¨ã¯ https://htmx.org/ HTMXã¯ãJavaScript ãè¨è¿°ããã«ãAjaxéä¿¡ãé«åº¦ãªUXãå®ç¾ã§ããã©ã¤ãã©ãªã 軽é 㧠é«é ã§ãæ¢åã®ãµã¼ãã¼ãµã¤ãã®ãã¬ã¼ã ã¯ã¼ã¯ã¨ã·ã¼ã ã¬ã¹ãªããåããã§ãããã¾ããAJAXéä¿¡ã®çºç«ããã©ã¼ã ã®éä¿¡å¦çãDOMã®æ´æ°ãªã©ãæ¢åã®HTMLè¦ç´ ãæ¡å¼µããã ãã§å¯è½ã¨ãããWebSocketãSSEã«ã対å¿ãã¦ããã®ã§ããã£ããã¢ããªãªã©ã«ãé©ãã¦ããã 2023 JavaScript Rising Starsã§ã¯ã ããã³ãã¨ã³ãã»ãã¬ã¼ã ã¯ã¼ã¯é¨éã§è¦äº2ä½ã«è¼ããï¼(ä¸ä½ã¯Reactãå ¨é¨éã ã¨shadcn/ui)ãä¼¼ããããªæ©è½ã¨ãã¦ãRuby on Railsã®HotWireããããããã 2024å¹´ã¯HTMXãããã¨è¨ããã¦ãããããä¸çã§é¨ããã¦ããã®ã ãããã¾ãæ¥æ¬ã§ã¯æµè¡ã£ã¦ããªãã以ä¸ã¯Google
èªæ¸ã®ç§ã§ãããæ¸æ£ãè¦ãã°ãã®äººããããã¨ããã¾ãããæ°¸åã·ã¹ãã ããã¸ã¡ã³ã ã¢ã¸ã£ã¤ã«äºæ¥é¨ã§ãéç¨ãã¦ããæ¸ç±è³¼å ¥æ¯æ´å¶åº¦ã§è³¼å ¥ããã¦ããæ¸ç±ããªã¹ãã¢ãããã¾ãã ãã®å¶åº¦èªä½ãéç¨ãå§ãã¦é·ããªã£ã¦ãã¦ãããããç´è¿ã®ä¸å¹´ãããã«çµã£ãå 容ã§ããã¡ã³ãã¼ãã¡ãã©ã®ãããªæ¸ç±ãè³¼å ¥ãã¦ããããèªæ¸ã®ç§ã®åèã«ã©ããã Ruby JavaScript / TypeScript Rust Web ãã¼ã¿ãã¼ã¹ ã¯ã©ã¦ã ã½ããã¦ã§ã¢è¨è¨ Linux éç¨ ãã®ä» æãè³¼å ¥ããã¦ããæ¸ç± (ESM Bookshelf of the Year 2022) ð¥ â ã¯è¤æ°äººãè³¼å ¥ãâ â ã¯ãã®ä¸ã§ãè³¼å ¥ãå¤ãã£ãã¿ã¤ãã«ã§ãã Ruby @kakutani ãã§ãã¼ã絶è³ç¿»è¨³ä¸ã®ãç é½Rubyããã°ã©ãã³ã° βçããããè³¼å ¥ããã¦ãããç¹ã«æ¨å¹´ã® Kaigi on Rails ã§ã® @kak
Ruby 3.2 ãã WASI ãã¼ã¹ã® WebAssembly ããµãã¼ããããã¨ãããã¨ã§ããã§ã« Preview çãå ¬éããã¦ãã¾ãã ãã®è¨äºã¯ãæ£ç´ WebAssembly ã¨ã WASI ã¨ãããåãã£ã¦ããªã1人éããã©ã¦ã¶ä¸ã§ Ruby ãè²ã åããã¦ã¿ãè¨äºã§ããã¨ããããåãã°ããã¨ããæããªã®ã§ãããããç¡é§ãªè¨è¿°ãå¤ããã¨æãã¾ãããäºæ¿ãã ããã ä½ããã® ããã¹ãããã¯ã¹çã«è¨è¿°ãããä»»æã® Ruby ã¹ã¯ãªããããã©ã¦ã¶ä¸ã§åããã¦ããã®å®è¡çµæãå¾ããããããªãã®ã è¦ããã« RubyOnBrowser ã¨ã TryRuby ã¨ãã®äºçªç ããä½ãããã®ã§ãã ã¨ãããã Ruby ã¹ã¯ãªãããåãã ruby.wasm ã® github ä¸ã« Quick Start (for Browser) ãè¼ã£ã¦ããã®ã§ãã¾ãã¯ãããã»ã¼ãã®ã¾ã¾ã <html>
Intro Fetch API ã®å®è£ ãåºã¾ãã IE ããªã¿ã¤ã¢ãè¿ãããã¨ã§ãä»å¾å¿ãå»ããã¦ãããã¨ã«ãªãã ãã XMLHttpRequest ã«ã¤ãã¦ã ã©ã®ããã«å§ã¾ããã©ã®ããã«åºã¾ããã©ã®ããã«ä½¿ãããªããªã£ã¦ããã®ãããã®éã«æ®ããå¤å¤§ãªå績ãæ®ãã XMLHttpRequest ã®å§ã¾ã ãã®ååã¯é常ã«é·ããããé常 XHR ã¨ç¥ãããã ãã® API ã¯ãç¾å¨ã® Web API ã®ããã« W3C/WHATWG ã«ããæ¨æºåãçµã¦çå®ããã API ã§ã¯ãªãã Microsoft ã«ããããããç¬èªå®è£ ã® API ã¨ãã¦å§ã¾ããå¾è¿½ãã§æ¨æºåãããã ãããã£ã¦ã Web API ã®ä¸ã§ãããªãç°è³ªãªå½åã§ãã XHR ãã XmlHttpRequest ã§ã XMLHTTPRequest ã§ããªã XMLHttpRequest ã§ããçç±ãã Microsoft ã®å½
ã©ãã³ãã¼ã«ãºã¯ã¡ãã£ã¨ãã便å©ãªWebãã¼ã«ãæä¾ãããµã¤ãã§ãããã¦ã¼ã¶ã¼ç»é²ãªãããç´æçã«ä½¿ãããããµã¯ãµã¯åããWebç³»ã®ãã¼ã«ãä¸å¿ã«ãå¤æ§ãªã¸ã£ã³ã«ãå±éãã¦ããã¾ãã追å ã»æ¹åã®è¦æã©ãã©ããã ããï¼
ã¤ã³ã¿ã¼ãããã®ç¶ãæäºç´æ° ç°ä¸é¦è£æ°ï¼ä»¥ä¸ãç°ä¸ï¼ï¼ãããããé¡ããã¾ãããããã60åéãç»ããã¨æäºå çã¨ãããæ¿ããã£ã©ã2人ãè¿ããã¦ãã©ã®ããã«é²ãã¦ããããã¨ãæ©ã¾ããã¨ããã§ãããã©ããæ大éãäºäººã®é åãå¼ãåºãã¦ãããªãããããããã話ããã¦ãããã°ãªã¨æã£ã¦ãã¾ãã®ã§ãã©ãããããããé¡ããã¾ãã ã§ã¯ãæåã«èªå·±ç´¹ä»ã軽ããã¦ããã ããã°ãªã¨æãã¾ãããäºäººã®ãã¨ã¯ã¿ãªãããã§ã«ãåããã¨æãã¾ãããæäºå çãã軽ãèªå·±ç´¹ä»ããã ãã¦ããããã§ããããã æäºç´æ°ï¼ä»¥ä¸ãæäºï¼ï¼æ ¶å¿å¤§å¦ã®æäºã§ããä»æ¥ã¯ã¡ããã©ãWIDEï¼WIDEããã¸ã§ã¯ãï¼ãã®å宿ããã£ã¦ãã¦ãããããããã¸æ¥ãã®ã§ãé«ãåã£ã¦ããªããï¼ç¬ï¼ãWIDEã®å宿ã®æã¯ã¬ãã¨ï¼äºå®ãï¼ãããã¯ãã¦ããã®ã§ããã£ããä¹ ãã¶ãã«ãããããªè©±ããã£ããã§ããæã ã¨æãã¾ãã ä»æ¥ã¯ãã®ã·ã£ããçã¦ãã¾ã
ã¦ã¼ã¶ã«å¯¾ãã¦ããã®ã¦ã¼ã¶åã®ãµããã¡ã¤ã³ãã¡ã¼ã«ã¢ãã¬ã¹ãæãåºãWebãµã¼ãã¹ãããã¾ãã ããããç¹å®ã®ãµããã¡ã¤ã³ãã¡ã¼ã«ã¢ãã¬ã¹ã¯ç¹å¥ãªç¨éã§ä½¿ããã¦ãããã®ãããã¾ãããã®ãããªãµããã¡ã¤ã³ãã¡ã¼ã«ã¢ãã¬ã¹ãä¸è¬ã¦ã¼ã¶ã«æãåºãã¦ãã¾ãã¨å±éºã§ãã ç¾å¨ãIETFã§ã¯ä»æ§ä¸å©ç¨ç¨éã決ãããã¦ããããããã®ã©ãã«ãã¨ãã¾ã¨ãããDangerous Labels in DNS and E-mailãã¨ããdraftãæåºããã¦ãã¾ãã ä»åã¯ãããçºãã¦ããã¾ãã ï¼ããã¾ã§IETFã®åãçµã¿ã§ãããä»æ§ä¸å®ç¾©ããã¦ãããã®ãã¨ãã¾ã¨ãã¦ãã¾ããã¯ã©ã¦ããµã¼ãã¹ãç¹å®ãã³ãã¼ã§ç¹å¥å©ç¨ãã¦ãããã®ã¯ç¾å¨å«ã¾ãã¦ãã¾ãããï¼ ãµããã¡ã¤ã³ ããã§ã¨ãããããµããã¡ã¤ã³ã¯ãå©ç¨ç¨éã決ã¾ã£ã¦ãããä¸è¬ã¦ã¼ã¶ã«æãåºãã¹ãã§ã¯ããã¾ããã(ä¾: mta-sts.example.com)
ãã10æ¥ä»¥ä¸çµã¤ã6/10ã®æ·±å¤ã«é»æçã«Web5ãçºè¡¨ããããTwitterã§ãWeb5ãã®æåããã¼ã ç»åãããããæµãå§ãã¦ããã¨ãã¯åè«ã ã¨æã£ãããã¹ã©ã¤ãè³æ*1ãèªã¿é²ããã¨ãã£ããã©ãã§ç¬ãã°ãããã ããã¨å°æã大ãããªãä¸æ¹ã ã£ããããã«ãæ¬æ°ã®å 容ã§é©ããã ä¸é¨ã®éã§ã¯ããã¯ã¬ãã ã¨ããã«é¨ãå§ãããæ¸æã£ã¦ãã人ãã¡ãå¤ããã ã£ããã¾ã Web3ã§ããä¸è¬èªç¥ããã ããã°ããã¨ããã¿ã¤ãã³ã°ã§ã4ããé£ã°ãã¦ãããªãã5ãã ãããããããã ã¨ããã¨ããã ããã©ããWeb5ã«ããã«åå¿ã§ãã人ãã¡ã¨ããã®ã¯æ¢åã®Web3ã«ãªã«ãããã®éåæãæ±ãã¦ãã人ãã¡ã ã£ãããããã¦ã§ãã®ã¢ã¼ããã¯ãã£ãçµæ¸ææ³ããã¸ãã¹æ§é ãªã©ãã©ãã«éåæãæã£ã¦ãããã«ãã£ã¦ãåºãã£ã¦ãããã¤ã³ããéãã¦ããããããªè¦³ç¹ããããªãã¨æå¿ãããã ã£ãã ä»åçºè¡¨ãããå 容ã¯åºæ¬çã«ã·ã¹ãã
ã¯ããã« ããã«ã¡ã¯ãããã¯ã¨ã³ãã¨ã³ã¸ãã¢ã®å°ç¬ åã§ãã ä»åã¯ã2022å¹´2æ18æ¥ãã2022å¹´3æ4æ¥ã«ããã¦çºçãã¦ãããã¡ãã®é害ã«å¯¾ãç§ééçºãã¼ã ãå®æ½ãããsession.cookieã§å®ç¾©ãã¦ããCookieã®keyåãå¤æ´ããã¨ããå½±é¿ç¯å²ã®å¤§ãã対å¿ã«ã¤ãã¦ãå®æ½ã«è³ãã¾ã§ã®çµç·¯ã対å¿éç¨ã«ã¤ãã¦ãç´¹ä»ãããã¨æãã¾ãã ã·ã§ãããªã¼ãã¼åãã«æ²è¼ãã¦ãããç¥ããã®å 容 èæ¯ å ¨ã¦ã¯ iOS14.5ãã端æ«èå¥åã®åå¾ã«åæãå¿ è¦ã«ãªã£ããã¨ããå§ã¾ã£ã ãã¨ã®çºç«¯ã¯ãiOS14.5以éããIDFAï¼ç«¯æ«ãã¨ã«æã¤åºæèå¥åï¼ã®åå¾ã«ç«¯æ«ææè ã®è¨±å¯ãå¿ è¦ã«ãªã£ããã¨ã§ããã ãã®å¤æ´ã¯ã端æ«ææè å´ããè¦ãã¨æ å ±ã®æ´»ç¨ç¯å²ãèªèº«ã§ç®¡çã§ãããã¨ã§ãããã©ã¤ãã·ã¼ã«é æ ®ãããããã«ãªã£ãè¯ãå¤æ´ã¨è¨ããã§ãããã ä¸æ¹ã§ãåºååºç¨¿å´ããè¦ãå ´åã¯æå¦ãããã¦ã¼ã¶ã¼ã®
Web APIã®è¨è¨ãéçºãéç¨ã«ã¤ãã¦ã®è§£èª¬æ¸ãAPIã¯è¨è¨æ¬¡ç¬¬ã§ä½¿ãã¥ãããã®ã«ãªã£ã¦ãã¾ãã ãã§ãªãå ¬éå¾ã®ä¿å®éç¨ãé£ãããªã£ã¦ãã¾ãã¾ãããã®ããAPIãç¾ããè¨è¨ãããã¨ãã¨ã¦ãéè¦ã§ããæ¬æ¸ã§ã¯ãè¨è¨ã®ç¾ããAPIã¯ã使ãããããå¤æ´ãããããé å¼·ã§ãããæ¥ãããããªããã¨ããèãã®ãã¨ãAPIãã©ã®ããã«è¨è¨ãéç¨ããã°ããå¹æçãªã®ãããããã¡ãªç½ ãè½ã¨ãç©´ãé¿ããã«ã¯ã©ãããç¹ã«æ°ãã¤ããªããã°ãããªãã®ããæããã«ãã¾ããã¿ã¼ã²ããã¯ãURIã«ã¢ã¯ã»ã¹ããã¨XMLãJSONãªã©ã®ãã¼ã¿ãè¿ã£ã¦ããã·ã³ãã«ãªã¿ã¤ãââXML over HTTPæ¹å¼ãJSON over HTTPæ¹å¼ââã®APIã§ããèªè ã¯ãWeb APIè¨è¨ã®èãæ¹ã¨ææ³ãç¥ããã¨ãã§ãã¾ãã ã¯ããã« 1ç« ãWeb APIã¨ã¯ä½ã 1.1 Web APIã®éè¦æ§ 1.1.1ãAPIã§ã®å©ç¨ãåæã¨ãã
ãã®æ¬ã®æ¦è¦ æ¬æ¸ã¯ï¼Webéçºãã¤ã³ãã©éç¨ã«ãããWebé¢é£æè¡ã®åºæ¬ç¥èã¨éè¦ãªãã¼ããåå¿è ã§ãç解ã§ããããï¼å³è§£ã§ããããããã¾ã¨ãã1åã§ããTCP/IPãHTTPãªã©ã®ãããã³ã«ï¼HTMLãªã©ã®ãã©ã¼ãããï¼Webãµã¼ãã¼ï¼ãããã·ãµã¼ãã¼ãªã©ã®ãµã¼ãã¼ãªã©ï¼Webæè¡å ¨è¬ã«ã¤ãã¦åãæ±ã£ã¦ãã¾ããããããWebæè¡ãå¦ã¶äººããï¼ãã§ã«ç¾å ´ã§æ´»èºä¸ã®ã¨ã³ã¸ãã¢ã¾ã§å¹ åºãæ¹ã ã«å½¹ç«ã¤1åã«ãªã£ã¦ãã¾ãã ãããªæ¹ã«ãããã Webæè¡å ¨è¬ã®åºæ¬ãç解ããã人 1ç« ãWebæè¡ã®æ¦è¦ 1-1ãWebæè¡ã¨ã¯ 1-2ãã¤ã³ã¿ã¼ãããã®èªç 1-3ãWebã®èªç 1-4ãWebãã¼ã¸ã表示ãããã¾ã§ 1-5ãWebã·ã¹ãã ãæ§æããéè¦ãª3è¦ç´ 2ç« ãWebãæ¯ãããããã¯ã¼ã¯æè¡ 2-1ããããã³ã«ã¨ã¯ 2-2ããããã³ã«ã®æ¨æºå 2-3ãé層åã»OSIåç §ã¢ãã« 2-4ãã¤ã¼ãµ
dioxus 㯠Rust ã®GUIã¢ããªã±ã¼ã·ã§ã³ãã¬ã¼ã ã¯ã¼ã¯ã React ã模ããä»®æ³DOM ã® APIã§ã desktop ã¢ããªã wasm åãåºããã§ããã å ¬å¼ãã¥ã¼ããªã¢ã«ã¯ desktop çã ã£ãã®ã§ãã©ã¦ã¶çãæ¢ãããããã©ãè¾ãã¨ããã«ãã£ãã Setup # rust ã cargo ã®ã»ããã¢ããã¯ç¥ $ cargo install trunk $ rustup target add wasm32-unknown-unknown # å ¬å¼ããã¥ã¡ã³ãã«ãªã«ããªããã cargo add ã³ãã³ã㯠cargo-edit ãå¿ è¦ # rust ã¦ã¼ã¶ã¼ãªã常èããã ããä¹ ãã¶ããªã®ã§ç¥ããªãã£ã⦠$ cargo install cargo-edit # bundler ã¨ã㦠trunk ã¨ãããã«ãã¼ãã¤ã³ã¹ãã¼ã« $ cargo install --lo
HTML ãã¥ã¼ããªã¢ã« HTML ã®åºæ¬ HTML å ¥é HTML å ¥éã®æ¦è¦ HTML ãå§ããã ãããé¨ã«ã¯ä½ãå ¥ã? HTML ã®ã¡ã¿ãã¼ã¿ HTML ããã¹ãã®åºç¤ ãã¤ãã¼ãªã³ã¯ã®ä½æ é«åº¦ãªããã¹ãæ´å½¢ ææ¸ã¨ã¦ã§ããµã¤ãã®æ§é HTML ã®ãããã° è©ä¾¡èª²é¡: æç´ã®ãã¼ã¯ã¢ãã è©ä¾¡èª²é¡: ã³ã³ãã³ãã®ãã¼ã¸ã®æ§é å ãã«ãã¡ãã£ã¢ã¨ãã®åã込㿠ãã«ãã¡ãã£ã¢ã¨ãã®åãè¾¼ã¿ã®æ¦è¦ HTML ã®ç»å åç»ã¨é³å£°ã®ã³ã³ãã³ã object ãã iframe ã¾ã§ â ãã®ä»ã®åãè¾¼ã¿æè¡ ã¦ã§ãã¸ã®ãã¯ã¿ã¼ã°ã©ãã£ãã¯ã®è¿½å ã¬ã¹ãã³ã·ãç»å è©ä¾¡èª²é¡: Mozilla ã®ã¹ãã©ãã·ã¥ãã¼ã¸ HTML ã®è¡¨ HTML ã®è¡¨ã®æ¦è¦ HTML ã®è¡¨ã®åºæ¬ HTML 表ã®é«åº¦ãªæ©è½ã¨ã¢ã¯ã»ã·ããªã㣠è©ä¾¡èª²é¡: 太é½ç³»ã®ææãã¼ã¿ã®æ§é å ãªãã¡ã¬ã³ã¹ HTML è¦ç´ <a>
ç¾ä»£ã®ã¢ããªã±ã¼ã·ã§ã³ã¨ã³ã¸ãã¢ã¯ãUIããã¼ã¿å¦çãéçºè¨èªããã©ãããã©ã¼ã ã®ä»æ§ãçã ãã§ãªãããµã¼ãããããã¯ã¼ã¯ã«ã¤ãã¦ããä¸ããä¸ã¾ã§ã表ããè£ã¾ã§åºãç¥ããã¨ãæ±ãããã¾ããæ¬æ¸ã¯ããã©ã¦ã¶ãã«é¢é£ããã¤ã³ã¿ã¼ãããã§ä½¿ç¨ããããã¾ãã¾ãªãããã¯ã¼ã¯æè¡ãã¾ã¨ãããã®ã§ããHTTP/2.0ãWebRTCãªã©ã®ææ°æè¡ãWebSocketãXMLHttpRequestãªã©ã®ãã©ã¦ã¶APIãããã¦ãããã®åå°ã¨ãªãTCPãUDPããã©ã³ã¹ãã¼ã層ã«ã¤ãã¦ã¾ã§ãå¹ åºãã«ãã¼ãã¾ããæ¬æ¸ã¯ã«ãã¼ããæè¡ç¯å²ã®åºãããããã©ã¼ãã³ã¹ãã¨ãã軸ã«æ²¿ã£ã¦èª¬æãã¾ããã¾ãæ¹ååå¾ã®æ§è½ã»éããå¯è½ãªéãå ·ä½åããããããã®å ´é¢ã«ããã¦ã®ããã©ã¼ãã³ã¹æ¹åå¹ ã示ãã¾ãããããã¯ã¼ã¯ã®ãã¼ã¿ãªã³ã¯å±¤ããã¢ããªã±ã¼ã·ã§ã³å±¤ãããã¦éå»ããè¿ãå°æ¥ã¾ã§ãã¾ã¨ããæ¬æ¸ã¯ãã¤ã³ã¿ã¼ãããã«ãããããã¹ã¦
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}