ããã°ã移è¡ãã¾ãã
æ°ããããã°ã®URLã¯ãã¡ãã
ã³ã¼ãã¬ãã¥ã¼ã¯ãã³ã¼ãã®æ¬ ç¹ãææããè¡çºãã§ã¯ãªã
ã³ã¼ãã¬ãã¥ã¼ããã³ã¼ãã®æ¬ ç¹ãææããè¡çºãã ã¨ç¡æèã«æã£ã¦ãã人ãè¦ããããã©ãããããããµãã«èªèããªãã»ãããã¼ã ã«ã¨ã£ã¦è¯ãã§ãããã¨ãã話ãçç±ã¯ä»¥ä¸ã
- ã¬ãã¥ã¯ã¼ã®æ¹ãã¬ãã¥ã¤ã¼ãããå®åãç¡ãã¨ãããªããã¨ããèªèã¨çµã³ã¤ããã¡
- ãã¼ã ã®è¥ãã¡ã³ãã¼ãã¬ãã¥ã¯ã¼ã«ãªãã¥ãããªã
- å¤æ ªã®ã¡ã³ãã¼ããªã¼ãã¼ã®æ¸ããã³ã¼ããã¬ãã¥ã¼ãããªããªã
- ã¬ãã¥ã¼ã§ææãããé ç®ããªã = (ææãããæ¬ ç¹ãç¡ãã¨ãããã¨ãªã®ã§)è¯ãã³ã¼ãã¨ããå³å¼ã«ãªãããã
- ã¬ãã¥ã¯ã¼ãæ¬ ç¹ãææãããã¾ãæ»æçãªã¬ãã¥ã¼ããã¦ãã¾ããã¨ããã
- éã«ã¬ãã¥ã¯ã¼ãã¬ãã¥ã¤ã¼ã«é æ ®ãã¦ãã¾ãã¬ãã¥ã¼ããªãã£ãããã
- ã¬ãã¥ã¯ã¼ã誰ã§ããããééãããææã§ããªããªãã建è¨çãªè°è«ãèµ·ãããªããªã
ã³ã¼ãã¬ãã¥ã¼ãæ©è½ä¸å ¨ã«é¥ãåå ã®ä¸ã¤ããã³ã¼ãã¬ãã¥ã¼ã«å¯¾ããåºæ¬çãªèªèãããã¦ãããã¨ã ã¨æãã
ãããã©ãããæãã§ã³ã¼ãã¬ãã¥ã¼ãã¦ããã°ããã®ãã¯ããã¨ã§æ¸ã(ç¶ã)
JWTãã»ãã·ã§ã³ç®¡çã«è»¢ç¨ããã®ã¯ãã¾ãè¯ãã¢ã¤ãã¢ã§ã¯ãªã(èªè¨¼ã ããªãããã)
- どうしてリスクアセスメントせずに JWT をセッションに使っちゃうわけ? - co3k.org
- JWT認証、便利やん? - ブログ
- JWT 認証のメリットとセキュリティトレードオフの私感 - ..たれろぐ..
JWTãã»ãã·ã§ã³ã«ä½¿ããã¨ã«é¢ãã¦æè¿å°ãè°è«ããã£ãã®ã§ãèªåã®ãæ°æã¡ã表æãããã¨æãã¾ãã
ç§ã¯ä»¥åSPAãæ¸ãæã«JWTãã»ãã·ã§ã³ç®¡çã«ä½¿ããã¨ãããã¨ãããã¾ããããä»ç´°ã«æ¤è¨ãã¦ããã¨JWTãã»ãã·ã§ã³ç®¡çã«ä½¿ãã®ã¯ç¡æå³ã«ã»ãã¥ãªãã£ä¸ã®ãªã¹ã¯ãå¢ããã ãã§ãä¼çµ±çãªã¯ããã¼ã使ã£ãã»ãã·ã§ã³ç®¡çã使ã£ãæ¹ãè¯ãã¨ããçµè«ã«è³ãã¾ããã
åæãæ´çããããã«ãããããåç½®ãããã¨ããJWTãã»ãã·ã§ã³ç®¡çã«ä½¿ããã¨ããã®ã¯èªè¨¼APIãªã©ã§è¿ã£ã¦ããJWTãlocalstorageãªã©JavaScriptããã¢ã¯ã»ã¹ã§ããã¹ãã¬ã¼ã¸ã«ä¿ç®¡ãã¦ããã¦ãajaxã§ãµã¼ãã«ãªã¯ã¨ã¹ããæãããã³ã«Authenticationãªã¯ã¨ã¹ãããããªã©ã«JWTãä»ãã¦éã使ãæ¹ãæãã¾ãã
JWTãã»ãã·ã§ã³ç®¡çã«ä½¿ãã¹ãã§ã¯ãªãã¨æã£ãçç±ã®è©³ç´°ã¯ä»¥ä¸é©å½ã«ç®æ¡æ¸ãã«ãã¾ãã
- JWTãã»ãã·ã§ã³ã«ä½¿ãã¨ããµã¼ãã¼å´ã§ã»ãã·ã§ã³ã¹ãã¬ã¼ã¸ãæããªãã¦ãæ¸ãããåããã¨ã¯ããããã¯ããã¼ã»ãã·ã§ã³(ã¯ããã¼ã«HMACã§ç½²åãããã¼ã¿ãæ¸ãè¾¼ãã§ã»ãã·ã§ã³ã¨ããæ¹æ³)ã§ãã§ãã
- JWTãlocalstorageãªã©ã®JavaScriptããã¢ã¯ã»ã¹ã§ããã¹ãã¬ã¼ã¸ã«ä¿ç®¡ããã®ã¯ãèªè¨¼IDãç½²åããããã¼ã¯ã³ãhttpOnlyãã©ã°ãç«ã¦ãã¯ããã¼ã«ä¿ç®¡ããããããªã¹ã¯ã大ãã
- ãªããªãlocalstorageã«èªè¨¼ãã¼ã¯ã³ãä¿æããã¨ãXSSããã£ãéã«èª°ã«ãæ°ã¥ãããã«èªè¨¼ãã¼ã¯ã³ãåéããç¶ãããã»ãã·ã§ã³ãã¤ã¸ã£ãã¯ãããæãããã
- XSSã¯ç¡ãã«è¶ãããã¨ã¯ãªãããã ããã¨ãã£ã¦XSSãçµç±ããã»ãã·ã§ã³ãã¤ã¸ã£ãã¯å¯¾çãããªãã¦ããããã¨ãããã¨ã«ã¯ãªããªã
- ãªããªããXSSã¯éçºè ã®ã¨ã¹ã±ã¼ããå¿ããªã©ã®ãã«ãã¹ã«ãã£ã¦å¼ãèµ·ããããã¨èªèããããã¨ãããããå®éã«ã¯ããã ãã§ã¯ãªãããã©ã¦ã¶ããµã¼ãã¼ãè¨èªå¦çç³»ãããã«ã¦ã§ã¢ãªã©ã®ãã°ã«ãã£ã¦ãå¼ãèµ·ãããããæè¿ã®å¾³ä¸¸ããã®ããã°ã«åãä¸ããããä¾ã§ã¯ãPHPã¨Apacheã®ãã°ãçµã¿åããã¦å¼ãèµ·ããããXSS(https://blog.tokumaru.org/2018/09/cve-2018-17082-cache-poisoning.html)ãç´¹ä»ããã¦ããããããã£ãäºä¾ãéã¿ãã«ãXSSã¯ã¢ããªã±ã¼ã·ã§ã³éçºè ãæ°ãã¤ãã¦ã³ã¼ããæ¸ãã°100%é²ããã¨æè¨ãããã¨ã¯ã§ããªã
- ä¸è¬çãªã¦ã§ãã¢ããªã±ã¼ã·ã§ã³ã§ãã¦ã¼ã¶ã¼ãå±éºãªå¦çãããéã«ããã°ã¤ã³ãã¦ããã¦ã¼ã¶ã¼ã«å¯¾ãã¦å度ãã¹ã¯ã¼ãå ¥åãããã®ã¯ãã»ãã·ã§ã³ãã¤ã¸ã£ãã¯ããã¦ãè´å½çãªè¢«å®³ãé¿ããããã§ããããããã¨åæ§ã«ãXSSããã£ãã¨ãã¦ããããã»ãã·ã§ã³ãã¤ã¸ã£ãã¯ã«ã¤ãªãããªãããã«å¯¾çãããã®ã¯å¤ãªè©±ã§ã¯ãªããã»ãã¥ãªãã£å¯¾çã0ã1ãã§å¤æããã®ã¯æããã«ééã£ã¦ããã¨æã
- ã¯ããã¼ã»ãã·ã§ã³ãç¨ããã¨ãJWTã¨åããããªã¹ãã¼ãã¬ã¹ãªã»ãã·ã§ã³ç®¡çãã§ãããã¯ããã¼ã«httpOnlyãã©ã°ãä»ãããã¨ã§ãXSSããã£ã¦ãèªè¨¼ãã¼ã¯ã³ãåéããã¦ã»ãã·ã§ã³ãã¤ã¸ã£ãã¯ãããã¨ãããããªã·ããªãªã¯é²ããã¨ãã§ãã
- ããããèããã¨ã»ãã·ã§ã³ã¹ãã¬ã¼ã¸ãæããªãå®å ¨ã«ã¹ãã¼ãã¬ã¹ãªã»ãã·ã§ã³ç®¡çã¯ãä¸è¬çãªã¢ããªã±ã¼ã·ã§ã³éçºã®è¦ä»¶ä¸ããã»ã©å¬ãããªããã¦ã¼ã¶ããã¹ã¯ã¼ãå¤æ´ããéã«ãã®ã¦ã¼ã¶ã®ã»ãã·ã§ã³ãå¼·å¶ãã°ã¢ã¦ããããã¨ããããããã¦ã¼ã¹ã±ã¼ã¹ãèããã¨ãå®å ¨ã«ã¹ãã¼ãã¬ã¹ãªã»ãã·ã§ã³ç®¡çã§ã¯è¦ä»¶ãæºãããã¨ãã§ããªããããã¯ã¯ããã¼ã»ãã·ã§ã³ã§ãåæ§
- JWTã§ãã®è¦ä»¶ãæºããããã«ã¯ãJWTã®jtiã¯ã¬ã¼ã ã«ã¦ãã¼ã¯ãªãã¼ã¯ã³ãè¨å®ãã¦ãµã¼ãã¼å´ã§å¤±å¹ãããjtiã¯ã¬ã¼ã ã®ãã¼ã¯ã³ãè¦ãã¦ããå¿ è¦ãããã ãããçµå±ããã¯ãµã¼ãã¼å´ã§ã»ãã·ã§ã³ã¹ãã¬ã¼ã¸ã®ãããªãã®ãæããªãã¨ãããªããã¨ã«ãªã
- ã»ãã¥ãªãã£ä¸ã®ãªã¹ã¯ãå¢ããå²ã«ã¯å¾ããããã®ã¯ä¸å®å ¨ã«ã¹ãã¼ãã¬ã¹ãªã»ãã·ã§ã³ã§ããããåããã¨ã¯ãããªã¹ã¯ãæ¸ãããã¯ããã¼ã»ãã·ã§ã³ã§ãå¯è½ã§ãã
- ãããã£ã¦è¦ã¦ããã¨ãJWTãã»ãã·ã§ã³ç®¡çã«è»¢ç¨ããã®ã¯ç¡æå³ã«ã»ãã¥ãªãã£ä¸ã®ãªã¹ã¯ãå¢ããã¦ããã ãã®ããã«ããè¦ããªã
æ®éã®ã»ãã·ã§ã³ãã¯ããã¼ã»ãã·ã§ã³ãJWTã«ããã»ãã·ã§ã³ã¨ãããããã®é¸æè¢ãè¦ã¦ã¿ãã¨ãã»ãã¥ãªãã£ä¸ä¸çªå²ã«åããªãé¸æè¢ãJWTã使ã£ãã»ãã·ã§ã³ç®¡çã§ããããããããé¸æããã®ã¯ãã£ã½ã©ä½ãç¹æ®ãªè¦ä»¶ããã£ããããå ´åããªãã¨ããæãã«ãªãã¾ããããã¡ãããã¯ä»¥ä¸ã§ãã
ææ°ã®ã¦ã§ãããã³ãã¨ã³ãæè¡ãç¡çãã¦ãã£ããã¢ããããå¿ è¦ã¯ãªã
ã¦ã§ãããã³ãã¨ã³ãæè¡ã¯å¤åãæ¿ããã¨è¨ãããããã©ããå¤ãã®äººã«ã¨ã£ã¦ææ°ã®ã¦ã§ãããã³ãã¨ã³ãæè¡ãç¡çãã¦ãã£ããã¢ããããå¿ è¦ã¯ç¡ãã以ä¸çç±ã
- ããã§ããææ°ã®ã¦ã§ãããã³ãã¨ã³ãæè¡ã¨ã¯ãæ°ãããã©ã¦ã¶ã®APIãæ°ããJavaScriptã®ææ³ãæ°ãããã¬ã¼ã ã¯ã¼ã¯ã»ãã¼ã«ãªã©ãæã
- ä»ã®HTML5ã¯ããã¥ã¡ã³ãã表ç¾ãããã©ãããã©ã¼ã ã ãã§ã¯ãªãã¢ããªã±ã¼ã·ã§ã³ãã©ãããã©ã¼ã ã¨ãã¦ãæ©è½ããããã«é²åããã¦ããæä¸
- ã ããã¢ããªã±ã¼ã·ã§ã³ãã©ãããã©ã¼ã ã¨ãã¦ã®é²åãæ¯ããæ°æè¡ãããããåºã¦ãã¦ãã
- éã«è¨ãã¨ãã¢ããªã±ã¼ã·ã§ã³(SPAã¨ã)ãæ¸ããªã人ã«ã¨ã£ã¦ã¯ãã£ããã¢ããããå¿ è¦ã®ç¡ãå ´åããããããã
- ã¾ãããããã®ã¦ã§ãããã³ãã¨ã³ãã®æ°æè¡ãå ¨ã¦ãã£ããã¢ããããã®ã¯åºæ¬çã«ä¸å¯è½ã ã¨æã
- èªåã¯ã¦ã§ãããã³ãã¨ã³ããããã®ããã©ã¼ãã³ã¹ãå°éã®ä¸ã¤ã«ãã¦ããããã©ããWebRTCãWebGLã®è©³ãã話ãããã¨è¨ããã¦ãã§ããªã
- åºæ¬çã«ã¦ã§ããµã¤ãã«ã¡ããã£ã¨JavaScriptãæ¸ãã¦ããããªäººã¯æ°ããæè¡ããã¬ã¼ã ã¯ã¼ã¯ã沢山ãã£ããã¢ããããå¿ è¦ã¯ãã¾ããªã
- AngularãReactãæè¿ã®ãã¬ã¼ã ã¯ã¼ã¯ããã¼ã«ãªã©ãSPAéçºã念é ã«ç½®ãã¦ãããã¨ãå¤ã
- SPAæ¸ããªã人ãSPAæ¸ãããã®æè¡ããã£ããã¢ãããã¦ããããããªã
- JavaScriptã®æ°ããAPIãææ³ã¯äºææ§ã念é ã«ããã¦è¨è¨ããã¦ãã
- å¤ãã¨è¨ãããã³ã¼ããæ¸ãæ¹ã§ãã£ã¦ãä»æ§ã¨ãã¦éæ¨å¥¨ã«ãªã£ãããã§ã¯ãªããããã®ã¾ã¾å©ç¨ã§ãã
- ã¦ã§ããã©ã¦ã¶ã®éçºè ã¯æãªããã®æ¸ãæ¹ããã¦ãå£ããªãããã«äºææ§ã大äºã«ãã¦ããã®ã§ãããã«ä¹ã£ãã£ã¦ã罪æªæãæãããã¨ã¯ãªãã¨æã
- JavaScriptã使ãããã¦ã¼ã¹ã±ã¼ã¹ã¯äºå¹´ååå¹´åã«æ¯ã¹ãã¨æ ¼æ®µã«å¢ãã
- æã¯ã¦ã§ããµã¤ãã«ã¡ãã£ã¨ããã¤ã³ã¿ã©ã¯ã·ã§ã³ãå®è£ ããã®ã«ä½¿ããã¦ããã ãã ã£ã(ä¾ãã°ã«ã¼ã½ã«ã«è¿½å¾ããæãä»ããã)
- ä»ã¯éã£ã¦ãã¦ã ã¦ã§ãä¸ã§åãGUIã¿ãããªãªãããªSPAããElectronã§åãã¯ãã¹ãã©ãããã©ã¼ã ãªãã¹ã¯ãããã¢ããªããCordovaã§åãHTML5ã¢ãã¤ã«ã¢ããªããReact Nativeã§åãã¢ãã¤ã«ã¢ããªããNode.jsã§åããµã¼ãã¢ããªã±ã¼ã·ã§ã³ããNode.jsã§åãã³ãã³ãã©ã¤ã³ã¢ããªã±ã¼ã·ã§ã³ãå ¨ã¦JavaScriptã§æ¸ãã
- ãããã®æ°ããã¦ã¼ã¹ã±ã¼ã¹ã«å¯¾å¿ããããã«æ°ãããã¼ã«ããã¬ã¼ã ã¯ã¼ã¯ãå½ç¶åºã¦ããããå¿ è¦ã¨ãããç¥èãå¤ãã£ã¦ãã
- ã¦ã§ããµã¤ãã«ã¡ãã£ã¨ããã¤ã³ã¿ã©ã¯ã·ã§ã³ãä»ãå ããããã«JavaScriptãæ¸ãã¨ããã¦ã¼ã¹ã±ã¼ã¹ã¯ããããJavaScriptã®å¯ä¸ã®ã¦ã¼ã¹ã±ã¼ã¹ã ã£ãé ã«æ¯ã¹ãã¨ããã»ã©å¤§ããªã¦ã¼ã¹ã±ã¼ã¹ã§ã¯ãªã
- å°éã§JavaScriptãæ¸ãã¦ãããããªäººã¯ããç¨åº¦ãã£ããã¢ããããå¿ è¦ã¯å½ç¶ãã
- ãããããã§ã¯ãªã人ãç¡çãã¦æ°æè¡ããã£ããã¢ããããå¿ è¦ã¯ç¡ãããªããªãæ³å®ããã¦ããã¦ã¼ã¹ã±ã¼ã¹ããã¾ã被ã£ã¦ããªãå ´åãçµæ§ãããã
- çæéã§JavaScriptæ¸ãã¦ã人ãjQuery使ã£ã¦æãªããã®JavaScriptã®ã³ã¼ãæ¸ãã¦ã¦ããã¦ã§ããµã¤ãã«ã¡ããã£ã¨ã¤ã³ã¿ã©ã¯ã·ã§ã³ãä»ãå ããã ããªããããªãã«æ©è½ããã®ã§å¥ã«ããã§ããã¨æã
- æ°æè¡ã«èå³ãæã¦ãªããã°ãèªåã®ä»äºã«ã¨ã£ã¦å¿ è¦ãªãã®ã ãããã£ããã¢ããããã°ãã
- ãããããããªãã®ã«éé²ã«æ°æè¡ããã£ããã¢ããããªããã°ãããªãã¨æã£ã¦ãã人ã¯ãèªåãè¦å¤±ã£ã¦ãã
ãã¡ãããã¯ä»¥ä¸ã§ãã
ã¦ã§ãããã©ã¼ãã³ã¹ã®æé©åã®ããã«ã§ããäºã¯ä½ãããããã¯ãWebããã³ãã¨ã³ã ãã¤ããã©ã¼ãã³ã¹ ãã¥ã¼ãã³ã°ãã¨ããæ¬ãæ¸ããã¨ãã話
Webããã³ãã¨ã³ã ãã¤ããã©ã¼ãã³ã¹ ãã¥ã¼ãã³ã°
- ä½è : ä¹ ä¿ç°å å
- åºç社/ã¡ã¼ã«ã¼: æè¡è©è«ç¤¾
- çºå£²æ¥: 2017/05/26
- ã¡ãã£ã¢: åè¡æ¬ï¼ã½ããã«ãã¼ï¼
- ãã®ååãå«ãããã°ãè¦ã
æè¡è©è«ç¤¾ãããããWebããã³ãã¨ã³ã ãã¤ããã©ã¼ãã³ã¹ ãã¥ã¼ãã³ã°ããåºçãããã¨ã«ãªãã¾ãããé¡åéããããã³ãã¨ã³ãå¨ãã®ã¦ã§ãããã©ã¼ãã³ã¹ã«ã¤ãã¦æ¸ããæ¬ã§ãã
ã¦ã§ãããã©ã¼ãã³ã¹ã¨ããã®ã¯ãæã¯ã¦ã§ããã¼ã¸ã®ååã®è¡¨ç¤ºã®éãã®ã¿ãæããã®ã§ãããã¤ã³ã¿ã©ã¯ã·ã§ã³ãæããªãéçãªã¦ã§ããã¼ã¸ãã»ã¨ãã©ã§ãã£ãé ã«ã¯ãä¸åº¦ã¦ã§ããã¼ã¸ã表示ãçµãã£ã¦ããã¯ããã©ã¼ãã³ã¹ä¸ã®åé¡ãçºçãããã¨ãæ¯è¼çå°ãªãã£ãããã§ããã¦ã§ãããã©ã¼ãã³ã¹ãæ¹åãããã¥ã¼ãã³ã°ãã¯ããã¯ã¨ããã®ããã®åæã®ãªã½ã¼ã¹ã®èªã¿è¾¼ã¿ãæ¹åãããã®ã主ã§ããããã®ãããªãã¯ããã¯ã¯ãããã¤ããã©ã¼ãã³ã¹Webãµã¤ããã§èªããã¦ããããã¡ã¤ã«ãgzipå§ç¸®ãã¦é ä¿¡ããããDNSã«ãã¯ã¢ãããæ¸ããããJavaScriptã¨CSSã¯å¤é¨ãã¡ã¤ã«åããããªã©ã代表çãªãã®ã§ãã
ãã®ç¶æ³ã¯ãè¤éãªæ¯ãèããæã¤ã¦ã§ãã¢ããªã±ã¼ã·ã§ã³ãç»å ´ããäºã§å¤ããã¾ããJavaScriptã«ããåçãªæ¯ãèããæã¤ã¦ã§ããã¼ã¸ã§ã¯ãä¸åº¦ã¬ã³ããªã³ã°ãçµãã£ã¦ãããã¦ã¼ã¶ã®ã¢ã¯ã·ã§ã³ã«å¿ãã¦ã¤ã³ã¿ã©ã¯ã·ã§ã³ãè¡ãå¿ è¦ãããã¾ãããã®æã«åé¡ã«ãªãããã©ã¼ãã³ã¹ä¸ã®åé¡ã¨ã¯ãå¾æ¥ã®ãªã½ã¼ã¹ã®èªã¿è¾¼ã¿ã«é¢ããåé¡ã§ã¯ãªããJavaScriptãDOMæä½ã®å®è¡é度ã®åé¡ã§ãã£ãããCSSã»ã¬ã¯ã¿ã®ãããã³ã°é度ã®åé¡ã§ãã£ãããè¦è¦çè¦ç´ ã®ã¬ã¤ã¢ã¦ããæç»ã®é度ã®åé¡ã§ãã£ãããã¾ãããããã®æ°ããåºã¦ããããã©ã¼ãã³ã¹ä¸ã®åé¡ã¯ãããã¾ã§ç´¹ä»ããã¦ãããªã½ã¼ã¹ã®èªã¿è¾¼ã¿ã®é度ããã¥ã¼ãã³ã°ãããã¯ããã¯ã§ã¯å ¨ã対å¿ã§ãã¾ãããä¾ãã°ãã¢ãã¡ã¼ã·ã§ã³ã®æç»ããªãããã«ããããã«åæ表示ã®ããã©ã¼ãã³ã¹ã®æé©åãè¡ã£ã¦ãæå³ãç¡ããã¨ã¯ç´æçã«ãããã¨æãã¾ãã
ãããã£ãæ°ããç»å ´ããããã©ã¼ãã³ã¹ä¸ã®åé¡ã解決ããã«ã¯ãã¦ã§ãããã©ã¼ãã³ã¹ã¨ããè¨èã®æå³ãæãç´ãããã¤ãããã®åé¡ãèµ·ããæ ¹æ¬çãªåçã§ãããã©ã¦ã¶ã®ã¬ã³ããªã³ã°ã®ä»çµã¿ãææ¡ããã¬ã³ããªã³ã°ã®å·¥ç¨ãã¨ã«çºçããç°ãªãåé¡ã解決ããããã®ãã¥ã¼ãã³ã°ãã¯ããã¯ãæ£ããé©ç¨ãããã¨ãå¿ è¦ã§ãããã®æ¬ã§ã¯ãã¦ã§ãããã©ã¼ãã³ã¹ä¸ã®è§£æ±ºãã¹ãåé¡ãGoogleãæå±ãã¦ããããã©ã¼ãã³ã¹ã¢ãã«ã§ããRAILã«æ·»ã£ã¦èª¬æãã¦ãã¾ãããã®ä¸ã§ãã©ã¦ã¶ã®ã¬ã³ããªã³ã°ã®ä»çµã¿ãã¦ã§ãããã©ã¼ãã³ã¹ã®è¨æ¸¬æ¹æ³ãæ§ã ãªãã¥ã¼ãã³ã°ãã¯ããã¯ãç´¹ä»ãã¦ãã¾ãããã®æ¬ã§ã¯ä»ç¾å¨ã®ã¦ã§ãããã©ã¼ãã³ã¹ãæ±ãä¸ã§å¿ è¦ã«ãªãåºç¤ç¥èããã¥ã¼ãã³ã°ãã¯ããã¯ãä½ç³»çã«è§£èª¬ãã¦ãããããã¾ã§ã¦ã§ãããã©ã¼ãã³ã¹ã«ã¤ãã¦ç¶²ç¾ ããæè¡æ¸ã¯ãæ¥æ¬èªã®æ¸ç±ã®ä¸ã§ã¯ç¾æç¹ã§ã¯ãã®æ¬ã ãã§ãã
ãã§ã«æ¸åºãªã©ã«ã¯ä¸¦ãã§ããã®ã§ã¦ã§ãããã©ã¼ãã³ã¹ã«é¢å¿ã®ããæ¹ã¯ä¸åº¦æã«åã£ã¦èªãã§ã¿ã¦ä¸ãããã¨ããããã§ãWebããã³ãã¨ã³ã ãã¤ããã©ã¼ãã³ã¹ ãã¥ã¼ãã³ã°ãã®å®£ä¼ã¨ã³ããªã§ããã
Mastodonã¯P2Pã§ã¯ãªãã¨ãã話ããããã¯Mastodonã®è±ä¸å¤®é権ã®ä»çµã¿ã«ã¤ãã¦
Fukuoka.php vol22ã«ã¦Mastodonã«ã¤ãã¦è©±ãã¦ãã¾ããã
Mastodonã¯æè¿çãä¸ãã£ã¦ãåæ£åSNSã§ããããã®ä»çµã¿ã«èå³ããã£ãã®ã§èª¿ã¹ã¦ã¿ãã®ãä»åã®è©±ã«ãªãã¾ããã¹ã©ã¤ãã®ä¸ã§ä¸»ã«èª¬æãã¦ããã®ã¯ãMastodonãå®è£ ãã¦ããåæ£åSNSãå®ç¾ããããã®ãããã³ã«OStatusã«ã¤ãã¦ã§ãã
OStatusã¯Atomãã£ã¼ããæ ¸ã¨ããä»æ§ã§ããã¦ã¼ã¶ã¼ã®ã¤ã¶ãããAtomãã£ã¼ãã§è¡¨ç¾ããããã«ãããã³ã³ã¿ã¯ãæ
å ±ãå½¢å¼åããPortable Contactsã¨Social Networkä¸ã®æ´»åãå½¢å¼åããActivity Streamsã§æ¡å¼µãã¦ãã¾ãããã£ã¼ãã ãã ã¨ããªã¢ã¼ãã®ãµã¼ãã¯ãã¼ãªã³ã°ããå¿
è¦ãããããããããè£ãããã«PubSubHubbubã§Atomãã£ã¼ãã®æ´æ°ãã»ã¼ãªã¢ã«ã¿ã¤ã ã«åãåããã¨ãã§ããããã«ãã¦ãã¾ããã¾ããFollowãFavãReplyãRetweetãç¸æå
ã«éç¥ããããã«ã¯Salmonã使ã£ã¦ãã¾ãããªã¢ã¼ããã©ãã¼ããéã«å
¥åãã(ID)@(Mastodonã®ãã¡ã¤ã³)
ã¨ããæååãããã®ã¦ã¼ã¶ã¼ã®æ
å ±ãåå¾ããããã«ã¯ãWebFingerã使ã£ã¦ãã¾ãã
æ¥æ¬å½å ã§ã¯P2Pã¨çµã³ä»ãããã¦èªããããã¨ã®ãããã®Mastodonã§ããããããã£ã¦è¦ã¦ã¿ãã¨P2Pã¨ã¯ãã¾ãé¢ä¿ããªãããã£ã¼ãé¢ä¿ã®ãããã³ã«ã使ã£ã¦åæ£åSNSãæ§ç¯ã§ããä»çµã¿ã§ãããã¨ããããã¨æãã¾ãã
HTML5ã¨ãåå¼·ä¼ã«ã¦ã大éã®è¦ç´ ãé«éã«è¡¨ç¤ºãããã¼ãã£ã«ã¬ã³ããªã³ã°å ¥éãã¨ããé¡ã§è©±ããã
第68回HTML5とか勉強会ã«ã¦ã大量の要素を高速に表示するバーチャルレンダリング入門ãã¨ããé¡ã§è©±ããã¦ãã¾ããã
ãã©ã¦ã¶ã®ã¬ã³ããªã³ã°ã¯ãåºæ¬çã«ãã®ããã¥ã¡ã³ãã«å«ã¾ããDOMè¦ç´ ã®æ°ãå¤ããã°å¤ãã»ã©ã¬ã³ããªã³ã°ãéãããªãã¾ãããã¼ãã£ã«ã¬ã³ããªã³ã°ã¨ããã®ã¯ãJavaScriptã§DOMè¦ç´ ã®æ°ã調æ´ãã¦è¦ããªãé¨åã®æç»ããã¾ããµããä»çµã¿ã§ãã
ãã¼ãã£ã«ã¬ã³ããªã³ã°èªä½ã¯çµæ§ããããªã¨ããã§å©ç¨ããã¦ããã«ãããããããã®ä»çµã¿ãã¢ã«ã´ãªãºã ã®æµãã«ã¤ãã¦æ¥æ¬èªã§ã®è§£èª¬ããã¾ãè¦ãããªãã£ãã®ã§ãHTML5ã¨ãåå¼·ä¼ã§ã¯ããã«ã¤ãã¦è©±ããã¨ã«ãã¾ããã
ãã®ãã¯ããã¯ã¯çµæ§æãããããã¯ããã¯ã§ãç¥ã£ã¦ã人ã¯ç¥ã£ã¦ããããã©ãç¥ããªã人ã¯ç¥ããªãã¾ã¾ã¨ããæãã«ãªããã¡ãªãã§ãããä»åã¯HTML5ã¨ãåå¼·ä¼ã¨ããåå è ãæ¯è¼ç大ããªåå¼·ä¼(180人ãããåå ãã¦ã)ã§è©±ãã¦è¯ãã£ããªã¨æãã¾ããã