é©æ°çã³ãã¥ãã±ã¼ã·ã§ã³ãã¼ã«
â»2012/01/09 è¿½è¨ ç¶ããããã ãããã å ææ´ãã¦socket.ioã¯ã©ã¹ã¿ãããã¥ã¼ã ãããæ³å®ãã¦ããããxhr-pollingæ¥ç¶ãå¤ãã¦ãã¬ãã¬ãªç¶æ³ã«ã ãããxhr-pollingã®æ§è½è©ä¾¡ããã¨ãã¹ãã ã£ããªã¼ã¨æãã馳ããã¢ã«ãã«ã ããã§socket.io-clientã§ãã³ããã¼ã¯ãèµ°ãããã®ã ã websocketã¨æã¨ç°ãªãã³ãã¯ã·ã§ã³ãããã«è©°ã¾ãã¨ããèªä½ãçºçâ¦ï¼ ã¢ã«ãã«å¤§æç¥ã®éå½ãããã«ï¼ï¼ ç¾è±¡ socket.io-clientã§xhr-pollingã®ã³ãã¯ã·ã§ã³è²¼ãã¾ããã¨5ã³ãã¯ã·ã§ã³ã§è©°ã¾ãã æéãçµã¤ã¨ãã®å ãã«ãã¨é²ãã chromeãfirefoxã§ãåæ§ã èª¿æ» æ§ã ãªã¯ã©ã¤ã¢ã³ãããå®è¡ãã¦ãåæ§ã®ç¶æ³ãè¦ããããã ãµã¼ãã®åé¡ã¨æå®ããµã¼ã調ã¹ãã ãããã³ã¼ã追ã£ãããã¬ã¼ã¹åã£ãããã¦ãã¾ã£ããåå ããããâ¦
彼女ã¨MacBookã並ã¹ã¦ã³ã¼ãã£ã³ã°ã ããããRailsã®éçºãä¸äººã§åºæ¥ãããã«ãªã£ã彼女ãã俺ã«çªç¶è³ªåãæããããã ããããWebãµã¼ãã¹ã®Pushã£ã¦ã©ããã£ã¦å®è£ ããã®ï¼ã ãä¸è¬çã«ã¯ï¼ã¤ã®æ¹æ³ãããããã¨ä¿ºã¯çããã ãã¯ã¼ã«ãªé ã«WebSocketã次ã«ã³ã¡ãããæå¾ã«ãã¼ãªã³ã°ã ãã 彼女ã¯ç®ãè¼ãããªãããããã§ããã§ï¼ï¼ãã¨èª¬æãæ±ãã¦ããã ããã¼ãªã³ã°ã¯ãä¸å®ã®æéãã¨ããã¨ãã°ï¼ç§ãã¨ã«Ajaxã§ãµã¼ãã«ãªã¯ã¨ã¹ããéã£ã¦æ°çã®æ å ±ãç¡ããåãåããã¦ãããæ°çãããã°å¦çãããªããã°ã¹ã«ã¼ãã¦æ¬¡ã®åãåããã«åããPushéç¥ã®å®è£ ã ãæ軽ã«å®è£ ã§ããåé¢ãæ°çããªãå¤ãã®æé常ã«ãªã¯ã¨ã¹ããéãç¶ãããã¨ã«ãªãã®ã§ç¡é§ãå¤ãã大è¦æ¨¡ãªãµã¼ãã¹ã§å®è£ ããã°ãããã ãã§DDoSã£ã½ããªã£ã¡ãããã¾ãããªã¢ã«ã¿ã¤ã ãå³å¯ã«ã¯å®ç¾ã§ããªãã¦ãMAXã§ãã¼ãªã³
Redmine, git, Jenkins ãªã©ããã¸ã§ã¯ã管çãã¼ã«ã®ç¶æ ã横æçãã¤ãªã¢ã«ã¿ã¤ã ã«è¡¨ç¤ºããWebã¢ããªãDashbozuããä½ãã¾ããã ããã使ãã°ãä¸ã¤ã®ç»é¢ã§ããã¸ã§ã¯ãã®âä»âã®ç¶æ ãææ¡ã§ãã¾ãã WebSocketãç¨ãã¦ããã®ã§ããã éãã¦ããã ãã§ã次ã ã¨æ å ±ãå¾ããã¨ãã§ãã¾ãã iPadã§éãã£ã±ãªãã«ãã¦ãæºã®ä¸ã«ç½®ãã¦ãããããªä½¿ãæ¹ãæ³å®ãã¦ãã¾ãã ãªããããä½ã£ãã ä¸è¬çãªã½ããã¦ã§ã¢éçºç¾å ´ã§ã¯ Redmineã§ãã±ãããä½æãã gitã§ã³ããããç¹°ãè¿ããä¸å¤®ã¬ãã¸ããªã«pushãã Jenkinsã«ããCIãå®è¡ããã çµæã確èªããRedmineã®ãã±ãããéãã ã¨ããæµãã§ä½æ¥ãé²ãã§ããã¾ãã ãããã®ä½æ¥ã®ä¸ã§ãéçºè ã¯ãé©åãªãã¿ã¤ãã³ã°ã§ãã§ãã¯ã¨ãã£ã¼ãããã¯ããããã¨ãæ±ãããã¾ãã ä¾ãã°ããã§ãã¯ã®ã¿ã¤ãã³ã°
ä»æ¥ã®ããã°ã®ãé¡ã¯ãSPDYãWebãµã¼ãã¹ããã¨ã«ããéããããï¼ï¼ãã¨ãããã¨ã§ãGoogle ãæå±ãããããã³ã«ã§ããæ¢ã«Chromeã§ã¯ããã®SPDYãå®è£ ããã¦ããããµã¼ããGMailãªã© Google ãæä¾ããæ®ã©ã®ãµã¼ãã¹ã§æ¢ã«å©ç¨ããã¦ãã¾ãã æè¿ã§ã¯ãFireFoxã¸ã®ã¤ã³ããªãå§ã¾ã£ãããHTTP/2.0æ¤è¨ã®ãã¼ã¹ã¨ãªããªã©ä½ãã¨è©±é¡ã®Webææ°æè¡ã§ãã SPDYãWebãæ©ãããä»çµã¿ SPDYã¯ãç¾ç¶ã®Webãæ±ããåé¡ âHTTPã¯é ã!!" ã解決ãããã®ã§ããHTTP ã "é ã" åå ã¯è²ã ããã¾ãããä¸ã§ãæã大ããã®ã¯ Request and Response ã®å¶éã§ãããã®ãããSPDY ã§ã¯ä¸æ¬ã® HTTPS ã»ãã·ã§ã³ã®ä¸ã§è¤æ°ã® HTTP ã»ãã·ã§ã³ãå¤éåããã¨ãã£ããã¨ãè¡ãé«éåãå®ç¾ãã¦ãã¾ãã Request & Resp
Node.js 㧠WebSocket-Node ã使ã£ã¦å®è£ ãã¾ããã 転éãããã¼ããç»åãè¦å½ãããªãã£ãã®ã§ããã¹ã¯ããããã¹ã¯ãªã¼ã³ãã£ããã£ãã¦è»¢éãã¦ã¿ã¾ããã ãã©ã¦ã¶ã¯Chrome 17以ä¸ããFirefox 11以ä¸ãå¿ è¦ã§ãããµã¼ãå´ã¯ scrrencapture ã³ãã³ããå©ç¨ãã¦ããé¢ä¿ã§ Mac OS Xéå®ã§ãã ã㢠ä¸ååã転éå ã®ãã¹ã¯ããããä¸ååã転éãããç»åããã©ã¦ã¶ã§è¡¨ç¤ºãããã®ã§ãããã³åã®ã³ã¡ã³ãã®é£ã³å ·åãè¦ãã¨ãããã¨æãã¾ããã800*600ã®è§£å度ã®ç»åãã横640ã«ç¸®å°ãã¦è»¢éãã¦ã1FPSãããã§ããï¼â» ããã¯WebSocket ã®éçã§ã¯ããã¾ãããé度ã¯åä¸ãããä½å°ã¯ããªãããã¾ãããä»åã®æ¬è³ªã§ã¯ãªãã®ã§æ°ã«ããªããã¨ã«ãã¾ãï¼ ã½ã¼ã¹ã¯ github ã«ç½®ãã¦ããã¾ãã hakobera/screencast · G
é·ãè¨äºãªã®ã§ãå ã«çµè«ã ãæ¸ãã¦ããã¾ããWebSocketã®ãã¤ããªã¡ãã»ã¼ã¸æ©è½ã¯ãããã¾ã§ã®ã¤ã³ã¿ã¼ãããã®ããæ¹ãã²ã£ããè¿ãã¾ããããããªã®ç¥ã£ã¦ãããã¨ããæ¹ãããã¨ã¯æãã¾ããåãçå±ã§ã¯åãã£ã¦ãã¤ããã ãã©ãå®éã«ã¢ããªãä½ã£ã¦ã¿ã¦ãå ·ä½çã«ãããæãããã¨ãã§ããã®ã§ãã¡ãã£ã¨é·ãã§ããã©ããããã¨ãªã®ã説æãã¦ã¿ã¾ãã WebSocketã¨ã¯ # WebSocketã¯ãHTML5é¢é£ã®ä¸ã§ãç¹ã«æ³¨ç®ãéãã¦ããæè¡ã®ä¸ã¤ã§ããé常ã®HTTPéä¿¡ã§ããã°ã¯ã©ã¤ã¢ã³ãããã®ãªã¯ã¨ã¹ããªãã«ãµã¼ãã¼ã¯å¿çãã¾ããããWebSocketã使ããã¨ã§ã¯ã©ã¤ã¢ã³ãã¨ãµã¼ãã¼ã®éã§åæ¹åã®éä¿¡ãå¯è½ã¨ãªãã¾ãããããå©ç¨ãããã¨ã§ãä»å¾æ§ã ãªãªã¢ã«ã¿ã¤ã æ§ã®é«ããµã¼ãã¹ãæ§ç¯ãããã¨ãå¯è½ã«ãªãã§ãããã ãããªWebSocketã§ãããããã¾ã§æ³¢ä¹±ã®éãæ©ãã§ãã¾ãããæ°å¹´åã
AWSã«ã¯Elastice Load Balancerã¨ãããã¼ããã©ã³ãµãããã¾ããããã¯ã¨ã¦ãå®ããã¨ããã£ã¦å¤ãã®ã客æ§ã®webãµã¼ãã¹ã§ä½¿ã£ã¦ããã ãã¦ãã¾ãã æè¿ã¯websocketã使ããã!ã¨ãã声ãããã¾ãããããã¤ãã®å¶éã«ããã ELBã¯æåã®ãã´ã·ã¨ã¼ã·ã§ã³ã«ã ã使ã£ã¦ããã´ã·ã¨ã¼ã·ã§ã³å¾ã®websocketã«ãããããªãæ¹æ³ãããããã§ãã ããããåé¡ã¯ã ELBã®å ´åãHTTPã¢ã¼ãã ã¨ããããåããã¼ãã®ã¾ã¾ã§ã¯websocketã«é·ç§»ã§ããªãã ELBã§TCPã¢ã¼ãã«ããå ´åã§ã60ç§ã§ã¿ã¤ã ã¢ã¦ãããã ã®2ç¹ãåå ã§ãããã®ããã2ã¤ã®æ¹æ³ãããã¾ãã 解1: ELBã¯æåã®ãã´ã·ã¨ã¼ã·ã§ã³ã«ã ã使ã£ã¦ããã´ã·ã¨ã¼ã·ã§ã³å¾ã®websocketã«ãããããªãæ¹æ³ C ---------> ELB(HTTPã¢ã¼ã) --> S ãµã¤ãã«HTTPã§ã¢ã¯ã»ã¹ã
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}