Webãã¯ãããžãŒã®éçºã«ããããã©ãŠã¶ãŠã£ã³ããŠã«ã¯ãŸããŸã䟿å©ãªãµãŒãã¹ãã¢ããªã±ãŒã·ã§ã³ãããã°ã©ã ãããã«ã¯ã²ãŒã ãç»å ŽããŸãã CachéDBMS ã¿ãŒããã«ã®æ代ãæ¥ãŸãã ã
ã«ããã®äžã«ãã¢ããªã±ãŒã·ã§ã³ã®ãã¹ãŠã®é åãšãã®éçºã®æŽå²ã®èª¬æããããŸãã
æ©èœæ§
以äžã¯ãWeb端æ«ã«æå¹ã§ãã
- ä»»æã®ã³ãŒãããã³Cachéãªããžã§ã¯ãã¹ã¯ãªããã³ãã³ããã¿ãŒããã«ãŠãŒãã£ãªãã£ãããã°ã©ã ã®å®è¡
- ããŒã¿ããŒã¹ã«ãã°ããã¢ã¯ã»ã¹ã§ãã䟿å©ãªSQLã¢ãŒã
- Cachéãªããžã§ã¯ãã¹ã¯ãªããããŒã¯ãŒãã®ãªãŒãã³ã³ããªãŒãïŒçŸåšã®ããŒã ã¹ããŒã¹ã®ã¯ã©ã¹ãšãã®ã¡ãœãããããããã£ããã©ã¡ãŒã¿ãã°ããŒãã«ãå€æ°
- ã°ããŒãã«ããã³ãã¡ã€ã«ã®å€æŽã®ç£èŠïŒtail -fãªã©ïŒ
- ããŒã ã®æŽå²
- CachéObject Scriptæ§æã®åŒ·èª¿è¡šç€º
- ç¥èªã®å®çŸ©
- ãã«ãã©ã€ã³ç·šé
- ã¢ããªã±ãŒã·ã§ã³ã®åäœãšããŒãã®ã«ã¹ã¿ãã€ãº
äžèšã®ãã¹ãŠã¯ãWebSocketã®ãµããŒããååšããCachéãµãŒãã§æ©èœããŸãã Webã¢ããªã±ãŒã·ã§ã³ãžã®ãªã³ã¯ããã©ã£ãŠãå§ããŠãã ããã
ãããžã§ã¯ãããŒãžã§ãã¹ãŠã®æ©èœã®è©³çŽ°ãªèª¬æãèŠã€ããããšãã§ããŸã ã
å®å šæ§
åœç¶ãWebã¢ããªã±ãŒã·ã§ã³ã®äž»ãªç®æšã¯ã»ãã¥ãªãã£ã§ãã ãµãŒããŒãšã®éä¿¡ã¯éããŠããããŒããä»ããŠè¡ããããããåŸè ã¯ä¿è·ãå¿ èŠã§ãã æ¥ç¶æã«ç«¯æ«ããŒãã«å ¥åããå¿ èŠãããæåã®ããšã¯ãä»»æã®é·ãã®ããŒã§ãã ééã£ãããŒãåãåã£ããµãŒããŒã¯ããã«åæããŸãã çŸåšãGUIDã䜿çšãããŸããããã¯ãã¡ã€ã³CSPããŒãžã«ã¢ã¯ã»ã¹ãããã³ã«ããŸãã¯éããŠããããŒããžã®æ¥ç¶ã«å€±æããå Žåã«çæãããŸãã ã€ãŸããééã£ãããŒã§ãœã±ããã«æ¥ç¶ããããšãããã³ã«ãæ°ããããŒãçæããããªã©ãéžæãäžå¯èœã«ãªããŸãã CSPããŒãžãåŒã³åºããšãã«ãåãããšãèµ·ãããŸããããŒãã¯ã©ã€ã¢ã³ãã«äžãããããœã±ãããžã®æ¥ç¶ã®ç¢ºç«ã«äœ¿çšãããããã«ãªããŸããã
ç°¡åã«èšãã°ãCSPããŒãžã§æ¿èªã確ç«ããããã ãã«æ®ã£ãŠãããããéããŠããããŒãã®äžèŠãªèšªåè ãããŒãåä¿¡ããããšãé²ããŸãã
ãœãããŠã§ã¢å®è£ ã®æŽå²
端æ«ã暪ããèŠããšããã®ä»çµã¿ãéåžžã«åçŽã§ããããã«èŠãããããããŸããã æåã¯ããããã®ããã«æããã ãããã®ã¿ã€ãã®ã¢ããªã±ãŒã·ã§ã³ã®åäœãç解ããCachéãç解ãããšãšãã«ãå€ãã®èå³æ·±ãç¹ãšå°é£ããããŸããããããã«ã€ããŠã¯åŸã§èª¬æããŸãã äž»ãªã¿ã¹ã¯ã¯ããŠã£ã³ããŠãæ¢ã«2013幎ã§ããããã端æ«ããªã¿ã¯ã«éŠŽæã¿ããããããšåæã«äžè¬ãŠãŒã¶ãŒã«ã䜿ããããããæ°ããæ©äŒãæäŸããæçµçã«éåžžã®ç«¯æ«ã®çœé»ã®ã°ã©ãã£ã«ã«ã€ã³ã¿ãŒãã§ã€ã¹ãè£ é£Ÿããããšã§ãã
ããã«ãäž»ã«ç§ãã€ãŸãããªããã°ãªããªãã£ããããã®å ±åŸ©ãšãWebãŸãã¯Cachéã«ç²ŸéããŠãããã¹ãŠã®ããã°ã©ããããã°ã©ãã§ãã£ãã®ãšåããã®ã«ã€ããŠèª¬æããŸãã 以äžã«ç€ºãæ¹æ³ãšè§£æ±ºçã¯ããã«èå³æ·±ããã®ã«ãªãå¯èœæ§ããããæ¹æ³ãç¥ã£ãŠããã°ãèãã®ã¯éåžžã«èå³æ·±ãã§ãããã
æ°ãããœãããŠã§ã¢è£œåã®äœæãéå§ããã«ã¯ããããã©ã®ããã«æ©èœããããèããå¿ èŠããããŸãã ç§ã¯Cachéã«ç²ŸéããŠããã®ã§ãæåã¯ç«¯æ«ãéåžžã«åçŽã«æ©èœããŠãããšããèãã§èšªåããŸããããµãŒããŒäžã§ã³ãã³ããå®è¡ãããã®çããèªãã ãã§ãã åãã£ãŠäœæ¥ããªããã°ãªããªãã£ãã®ã§ãããã³ããšã³ãã«ã€ããŠã¯ãŸã£ããå¿é ããŸããã§ããã ããããéçºãããã«æãäžããŠããã«ãã³ãã³ããå®è¡ããã ãã§ãªãããã¹ãŠã®çš®é¡ã®ç«¯æ«ãŠãŒãã£ãªãã£ãã¯ã©ã€ã¢ã³ãããã®èªã¿åãæ å ±ãæ§æããå¿ èŠãããããšãå€æããŸããïŒããšãã°ãèªã¿åãã³ãã³ãã®åŠçæïŒãã¹ããªãŒãã³ã°å ¥å/åºåãéæããä»ã®å€ãã®åé¡ã解決ããŸãå°ããªã¿ã¹ã¯ã
ååãšå°ãåçããåŸãWebSocketãããã³ã«ãããŒã¿è»¢éã«äœ¿çšãããããšãå®å šã«æããã«ãªããŸãããããã¯ãWebçµç±ã§ããŒã¿ã転éããæ¯èŒçæ°ãããå®å®ãããä¿¡é Œã§ããæ¹æ³ã§ãã ãããŠãã¡ãããã¯ã©ã€ã¢ã³ãåŽã§ã¯ãHTML5ã®ãã¹ãŠã®æ¥œãã¿ããããŸãã ãããã¯ãCSSã¢ãã¡ãŒã·ã§ã³ãšçŽç²ã«éæãªJavaScriptã®äž¡æ¹ã§ãã
ãŸããã¯ã©ã€ã¢ã³ãåŽã«åº§ã£ãŠãæ¢è£œã®ãœãªã¥ãŒã·ã§ã³ã䜿çšãããããã¬ãŒã ã¯ãŒã¯ãé©çšãããããŸããã§ããã端æ«ã¯çæ³çã«ã¯ãJQueryãããŸããŸãªéæ³ã®JavaScriptã¢ãã¡ãŒã·ã§ã³ã®ãããªDOMãžã®é«åºŠãªã¢ã¯ã»ã¹ãå¿ èŠãšããªã軜éã¢ããªã±ãŒã·ã§ã³ã§ãã ããããå®éã«ã¯ãã¢ãã¡ãŒã·ã§ã³ã¯äŸ¿å©ãããããŸããããCSS3ããããã£ã®åãªãæã®åœ¢åŒã§ã¯ããã¯ããããŸããã ãã®ã¢ããªã±ãŒã·ã§ã³ã¯ããã©ãŠã¶ãŒãšãŠãŒã¶ãŒã®äž¡æ¹ã«ãšã£ãŠç°¡åã«ãªããšçŽæããŸããã
ç§ã¯é·ãéæ å ±ã®è¡šç€ºãæ°ã«ããŸããã§ãã-ããã¯çå¹ ãã©ã³ãã軜éãããã¯ã¬ã€ã¢ãŠããããªãã¿ã®ã¹ã¿ã€ã«ã§ãã ããããæ å ±ãå ¥åãããã£ãŒã«ãã«ã€ããŠèããå¿ èŠããããŸãããæ§æã®åŒ·èª¿è¡šç€ºãå®è£ ããå¿ èŠããããŸããã å€ãã®ãã©ã°ã€ã³ãœãªã¥ãŒã·ã§ã³ãç Žæ£ããããããæåŸã®ãªãã·ã§ã³ã¯HTML5ã®ç°¡æœã§ç·šéå¯èœãªdivã®ããã§ããã ããããããã«ãããã€ãã®é åããããŸãã-ã³ã³ãã³ããHTMLãããã¬ãŒã³ããã¹ãã«ããŸãã¯ãã®éã«ç¿»èš³ãããã£ã¬ããäœçœ®ãèšå®ããŠååŸããå ã®è£ 食ãããŠããªãããã¹ãããããã¡ã«ã³ããŒããå¿ èŠããããŸãã-ãããã®ã¿ã¹ã¯ã¯æ°è¡ã§å®äºããã«ã¯ã»ã©é ãã§ãã ããã«ãç¹æ» ãã端æ«ãã£ãªããžãããã¹ãã«æ¿å ¥ããéåžžã®ã·ã¹ãã Ctrl-CãCtrl-Vãå³ã¯ãªãã¯+貌ãä»ããæ¿å ¥ãªã©ãå®è£ ããå¿ èŠããããŸã...
å ¥åãã£ãŒã«ãã§ã®ãããã¯ã©ã€ããšãã£ãªããžãã®å®è£ ãªãã·ã§ã³ã¯ãéåžžã«ããªãããŒã§ã·ã³ãã«ã§ããã å®éãããã¹ãã匷調衚瀺ãããã£ãªããžãæ¿å ¥ããã ãã§ãã ãã¬ãŒã³ã§åŒ·èª¿è¡šç€ºãããããã¹ãããããšããŸãã æåã®ãã®ã¯æãå žåçãªããã¹ããšãªã¢ã«å«ãŸãã匷調衚瀺ããããã®ã¯ãŸã£ããåããµã€ãºã®ãããã¯ã«ãããŸãã æãŸããïŒ ãã®ããã«ãããã€ãã®CSSããªãã¯ã䜿çšããŠãéæãªãã©ã³ãã§å ¥åãã£ãŒã«ããéæã«ãããã®äžã«ããã¹ãã匷調衚瀺ãããããã¯ãé 眮ããŸãã ãã®çµæãããã¹ãã®éžæç¯å²ã衚瀺ãããç·šéã®èªç±åºŠãé«ãŸããŸãã ããã§ã¯ããã€ãã®ããã«ãInternet Explorerã®ã¿ãéç«ã£ãŠããŸããä»ã®ãã©ãŠã¶ã§éæãªå Žåããã®äžã®ãã£ãªããžã¯ãŸã 衚瀺ããããŸãŸã§ãã ãã®ãããéåžžã®ç¹æ» ããã¿ãŒããã«ãã£ãªããžãæŸæ£ããªããã°ãªããŸããã§ããã
ããŒã¹ãããŒã¯ã®åŠçã§ãèå³æ·±ãç¹ãçããŸãã-å ¥åããŒã¿ã匷調衚瀺ããå¿ èŠããããŸãããã€ãŸããå ¥åãã£ãŒã«ãã®å 容ãåŠçããããšã§ããã ã¯ãããã ãããã®ãã£ãŒã«ãã®å 容ãæŒãç¬éã«æ£ç¢ºã«ååŸããããšã¯ã§ããŸããïŒããæ£ç¢ºã«ã¯å¯èœã§ãããæåŸã®ãæŒããããèšå·ããããŸããïŒ-DââOMã«ã¯ããŒããŠã³ãããŒãã¬ã¹ã€ãã³ããå®è¡ãããåã«æŽæ°ããæéããªããããŒã¢ããã«ãã£ãŠå ¥åã®å¯èŠéšåãæŽæ°ããããšã¯ãŸã£ããé¢çœããªãã§ããŸãå¥ã®æ¹æ³ã 2çªç®ã®æ¹æ³ã¯ãæååã«æåãæåã§è¿œå ããããšã§ãã ãã ããCtrl + Vã®å ŽåãåŸè ã¯ããã«æ¶ããŸãã 3çªç®ã®ã¡ãœãããäœæããŸããã-ã¯ãªãã¯èªäœã®1msåŸã®ã¯ãªãã¯ã®ãã³ãã©ãŒé¢æ°ãåŒã³åºããŸãã ã¯ããå ¥åãåãåããŸãããããã³ãã©ãŒã«æž¡ãããã€ãã³ããå¶åŸ¡ããæ©èœãããšãã°ãããŒã®ããã©ã«ãã®ã¢ã¯ã·ã§ã³ãçŠæ¢ããæ©èœã¯ãªããªããŸããã åºåã¯ã2ã€ã®ã€ãã³ãïŒã€ãã³ããšãã®çµã¿åããèªäœã®åŠçãæŒãããšã«ãããããã³1ããªç§åŸïŒã®ã¯ãªãã¯ã®å èš³ã§ãå ¥åããããã¹ããæŽæ°ããŸããã
å ¥åã®è§£æãæ§æã®åŒ·èª¿è¡šç€ºããã£ãªããžã®ãã©ãŒã ãžã®è²Œãä»ãã¯ç°¡ââåã«å®è£ ã§ããŸããããŸããHTMLã®æžåŒèšå®ãæãªãå¯èœæ§ã®ãããã®ãã€ãŸãæåã<ããã>ãããïŒãã察å¿ããã<ããã>ãã ãïŒãã 次ã«- è¶ æ£èŠè¡šçŸïŒå®éã«ã¯ã¿ã°ã®ã¿ãããã¹ãã«æ¿å ¥ããŸãïŒã«ããæ§æ匷調衚瀺ãå®è¡ãã次ã«ãã£ãªããžãæ¿å ¥ããŠããã®ãå®éã®ãäœçœ®ïŒã¿ã°ãšHTMLãšã³ãã£ãã£ãé€ãïŒã決å®ããŸããäžã€ã®æ¹æ³ã ã¯ããäžèšã®ãã¹ãŠã¯ãã®é åºã§ã®ã¿è¡ãããŸããããããªããšããã£ãªããžèªäœã匷調衚瀺ãããããç ŽæããHTMLããŒã¯ã¢ãããå€ããªããŸãã
ãããããªãŒãã³ã³ããªãŒãã䜿çšããã®ã¯é¢çœãã£ãã§ãã 3åã³ããŒããŸããã ãããŠãã¢ã«ãŽãªãºã ã®é²æã¯æ¬¡ã®ãšããã§ããã
- ãã£ãªããžããæãè¿ãå·Šã®ã»ãã¬ãŒã¿ãŒãŸãã¯ã¹ããŒã¹ãŸã§ã®è¡ãååŸãããã¹ãŠã®ãªãã·ã§ã³ã®é åã§äœ¿çšå¯èœãªãªãã·ã§ã³ãšäžèŽãããã®ãæ¢ããŸãã
- ã$ãããïŒ ããã##ããªã©ã®æåãå«ãåãæååãæ¢ããŠããã«ããŽãªãã«åå²ãããç¹å¥ãªãªããžã§ã¯ãã®è¿œå ã®ã¿ã€ãã決å®ããŸãã
- ããã¹ã¯ãã«ãã£ãŠãã£ãªããžã®å·ŠåŽã®éšåå šäœã解æããŸããããã¯ããã¿ãŒããã«ãã£ã¯ã·ã§ããªãã®ç¹å¥ã«æ§é åããããªããžã§ã¯ãã«å«ãŸããæ£èŠè¡šçŸã®éã§ãã
3çªç®ã®æ¹æ³ãã ãã«ã銎æã¿ããããã©ããã¯ããããŸããããåŸã ã«è¿ã¥ããŠããŸããããæãã·ãã¯ã§æéã®çµæã瀺ããã®ã¯åœŒã§ããã
ããã§ã¯ãã©ã®ããã«æ©èœããŸããïŒ ãšãŠãç°¡åã§ãã ã»ãŒãã¹ãŠã®ã¿ã€ãã®ãªãŒãã³ã³ããªãŒããäœæããããã«å¿ èŠãªã®ã¯ãèŸæžã®ãªããžã§ã¯ãå ã§é©åã«æ§æãããæ£èŠè¡šçŸã§ãã ããã¯æ¬¡ã®ãããªãã®ã§ãã
ã³ãŒã
language = { "client": { "!autocomplete": { reversedRegExp: new RegExp("([az]*/)+") }, "/help": 1, "/clear": 1, ⊠}, "commands": { "!autocomplete": { reversedRegExp: new RegExp("([a-zA-Z]+)\\s.*") }, "SET": 0, "KILL": 0, "WRITE": 0, ⊠}, "staticMethods": { "!autocomplete": { reversedRegExp: new RegExp("([a-zA-Z]*)##\\s.*") }, "class": 0, ⊠}, "class": { "!autocomplete": { reversedRegExp: new RegExp("(([a-zA-Z\\.]*[a-zA-Z])?%?)\\(ssalc##\\s.*"), separator: ".", child: { reversedRegExp: new RegExp("([a-zA-Z]*)\\.\\)") } }, "EXAMPLE": { "Method": 0, "Property": 0, "Parameter": 0 }, ⊠} }
èšèªå ã®åãªããžã§ã¯ãã¯ãç¹å¥ãªãªããžã§ã¯ãããããã£ãïŒAutocompleteããæã€ããšãã§ããŸãã ååšããå ŽåããªãŒãã³ã³ããªãŒãããŒãµãŒã¯ãã®ãªããžã§ã¯ãã«æ³šæãæããŸããã€ãŸãããã®ããããã£reverseRegExpããã³childãèªã¿åããŸãã
ãæ³åã®ãšãããreversedRegExpã¯ç¹å¥ãªæ¹æ³ã§ã³ã³ãã€ã«ãããŠãããçŸåšã®ãèŸæžããªããžã§ã¯ãïŒä»¥äžãåã«ãèŸæžãïŒã®ããããã£ãèªåè£å®ã«äœ¿çšããããšãé©åãã©ãããå€æããã®ã¯åœŒã§ãã æ£èŠè¡šçŸã®ã¹ãã¬ãŒãžãã©ã±ããã¯ããã£ã¯ã·ã§ããªããããã£åïŒãçšèªãïŒã«å¯ŸããŠãã§ãã¯ãããæ€çŽ¢æååã®éšåã匷調衚瀺ããããã«äœ¿çšãããŸãã ããã«ãããä»»æã®æ§ææ§é ã§ããŒãèŠã€ããããšãã§ãã䜿çšå¯èœãªãªãã·ã§ã³ãéžæã§ããŸãã
ã¯ã©ã¹ã§ã¯ãã¿ã¹ã¯ã¯ãããã«ç°ãªããŸã-ã¯ã©ã¹åãååŸããããã«å¯Ÿå¿ããããããã£ãææ¡ããå¿ èŠããããŸãã ããã¯ããïŒAutocompleteããªããžã§ã¯ãããããã£ã«ãåæ§ã®ãåããªããžã§ã¯ãããããã£ãè¿œå ããããšã§è§£æ±ºããŸãããããã«ã¯ãreverseRegExpãå«ãŸããŸããåŸè ã¯ãäžèŽããå Žåã«èæ ®ããã芪æ£èŠè¡šçŸã®ãã¬ãã£ãã¯ã¹ã§ãã æ€èšŒã¢ã«ãŽãªãºã ã¯éåžžã«ç°¡åã§ãã ãã®ã¢ã«ãŽãªãºã ãæ£ç¢ºã«ã©ã®ããã«æ©èœãããçåã«æããªãããããžã§ã¯ããªããžããªå ã§èŠã€ããããšãã§ããŸãã
ãã®ã¢ãããŒãã®å©ç¹ã¯æããã§ããããã¯ããã¹ãŠã®æ§ææ§é ã®èŸæžã®èŠèŠçæ§é ã§ãããå¯èœãªéãããããæ¹æ³ã§æ¡åŒµã§ããèªåè£å®ã®ããªãè¿ éãªæ¹æ³ã§ãã ã¯ãããtermãããããã£ã®å€ãšããŠäœ¿çšãããæ°å€ã¯ãã䜿çšé »åºŠããšèšãããŠããŸãã ææ¡ããããªãã·ã§ã³ããœãŒããããã®ã¯ãã®å³ã§ãã
ãµãŒããŒåŽã§ã¯ãçŸåšã®ããŒã ã¹ããŒã¹ã®ã¯ã©ã¹ããã³ã¡ãœããã®ãªãŒãã³ã³ããªãŒãã®ãã£ã¯ã·ã§ããªå šäœãçæããããªããžã§ã¯ãã®ãªããžã§ã¯ããå«ãJSONãã¡ã€ã«ã«æ ŒçŽãããŸãããªããžã§ã¯ãã®ãªããžã§ã¯ãã¯ãå¿ èŠã«å¿ããŠããŒããããã¡ã€ã³ãã£ã¯ã·ã§ããªãªããžã§ã¯ãå ã®ã¯ã©ã€ã¢ã³ãã®ã¯ã©ã¹ãã£ã¯ã·ã§ããªãªããžã§ã¯ããšããŒãžãããŸãã ããã«ããã
ãµãŒããŒèªäœã¯ã以åã¯ãã®ããšã䜿çšããŠãã¹ãŠã®æžã蟌ã¿ãã¯ã©ã€ã¢ã³ãã«çŽæ¥éä¿¡ããããã«æããããŠããŸããã ããããèªã¿åãã®ããã«ãå€æããããã«ãã+ Tãã®ãããªåçŽãªãã®ã§ã¯ããŸããããŸããã å šäœçãªåé¡ã¯ããŠãŒã¶ãŒãã¿ãŒããã«ãŠãŒãã£ãªãã£ãå®è¡ããããšãããšãããŸãã¯reverend readãµãŒããŒã§ã¹ã¯ãªãããäœæããããšãããšãã«ãxecutã§åŠçããã ãã§å ¥åããŒã¿ããã³ã°ã¢ãããããå°ç¡ãã«ãªãããšã§ãã
ããŠã端æ«ãå ¥åã§æšæºã¿ãŒãããŒã¿ãŒã®åŠçã¢ãŒãïŒã+ TãïŒã«ããŠãã¯ã©ã€ã¢ã³ãããéä¿¡ãããšããŸãã ããŠãreadã¯ããªãŒãºããŸããããå¥ã®ç¶æ³ãçºçããŸã-æ¬äœã§ã¯ãªããã¯ã©ã€ã¢ã³ãããåä¿¡ãããã±ãããèªã¿åããŸãã ããã±ãŒãžèªäœã«ã¯ãããŽãããå°ãå«ãŸããŠããŸãããããã¯ãããããŒãšããŠæ©èœããæåã®æ°ãã€ãã§ãã 圌ãã¯ã©ããããããå»æ£ããªããã°ãªããŸããã§ããã
å¿ èŠãªãã®ãšãã®çºçæ¹æ³ãæ³åããããããããã«ããµãŒããŒäžã§ææ¡ããããèªã¿åããæžã蟌ã¿ãæžã蟌ã¿ãã³ãã³ãã®ã·ãŒã±ã³ã¹ãæ€èšããŠãã ããã
- ã¯ã©ã€ã¢ã³ãããã³ãã³ããåä¿¡ãã
- ã¿ãŒããã«ã¢ããªã±ãŒã·ã§ã³ã®ã©ã³ã¿ã€ã ãžã®ç§»è¡-I / OããçŽæ¥ãèšå®
- Xecuteã³ãã³ã転é
- read a ïŒã¿ãŒãããŒã¿ã§çµããã¯ã©ã€ã¢ã³ãããããŒã¿ãèªã¿åããŸã
- èªã¿åãããã±ãŒãžã®æ¬äœãååŸãã
- aãæžãïŒã¯ã©ã€ã¢ã³ãã«å€ãéã
- å®è¡ã¢ãŒãã®å®äº
ããããäœåãªãã€ããïŒWebSocketããã±ãŒãžã®ããããŒïŒã«å ¥ããªãããã«ãåãæ¹æ³ã§ãã®æ¬äœãååŸããæ¹æ³ã¯ïŒ è«ççã«ã¯ãäœããã®èªã¿åããã³ãã©ãäœæããå¿ èŠããããŸãã ã¯ããåçŽã§ã¯ãããŸããããã·ã¹ãã ã¬ãã«ã§ïŒç«¯æ«ãŠãŒãã£ãªãã£ãèªã¿åãã䜿çšããŸãã
幞ããªããšã«ãçµéšè±å¯ãªsql.ruãã©ãŒã©ã ã®æ åœè ã¯ãCachéã®ããã¥ã¡ã³ãåãããŠããªããã°ãããæ©èœ-I / Oãªãã€ã¬ã¯ãã«ã€ããŠæããŠãããŸããã ãã®å©ããåããŠãå¿ èŠãªããšãæ£ç¢ºã«è¡ãããšãã§ããŸãã-å°ç/åºçºãããã¹ãŠã®ããŒã¿ãç¬èªã®æ¹æ³ã§åŠçããŸããã å ¥åãªãã€ã¬ã¯ãã¯ã##ã¯ã©ã¹ïŒïŒ DeviceïŒ.ReDirectIOããªã³ã«ãªã£ãŠãããšãã«ããªããã£ãã®èªã¿åãããã³æžã蟌ã¿ã³ãã³ãã®æ©èœãåŒãåãã7ã€ã®ãµãã«ãŒãã³ãäœæããããšã«ãã£ãŠè¡ãããŸãã ãã®ãã£ãŒã ã®è©³çŽ°ãªå®è£ ãèå³æ·±ãå Žåã ãã®ã¹ã¬ããã圹ã«ç«ã€ãããããŸããã
äžèšã®çµéšãã誰ãã«ãšã£ãŠééããªã䟿å©ã«ãªãã端æ«ãã®ãã®ãããæçšã«ãªãããšãé¡ã£ãŠããŸãã ã³ã³ã»ããããæ¢ã«æ©èœããã¢ããªã±ãŒã·ã§ã³ãžã®éäžã§ãå€ãã®æ°ããã¢ã€ãã¢ãç»å ŽããŸããããããã¯å¶éã§ã¯ãããŸãã-ããã§ã¯æ³ååã®ã¿ã«å¶éã§ããŸãã GitHubã§ãããžã§ã¯ãã®éçºããã©ããŒãŸãã¯åå ããã¢ã€ãã¢ãææ¡ããè°è«ããŠãã ããããã£ãŒãããã¯ã¯åœ¹ã«ç«ã¡ãŸãã çŽ æŽããã管çãããŠãã ããïŒ