èªæºã«ã€ããŠã®ããã€ãã®èšèïŒwikiããã³ãããžã§ã¯ããµã€ãã§ã¯ãå€ãååããŸã ããã€ãã®å Žæã«è¡šç€ºãããŠããŸã-AXONã ããã§ãæåã«ãã€ã¯ããµãŒããŒã«ååãä»ããããšãèšç»ããŸããã ããããåŸã§ãã€ã³ã¿ãŒãã§ãŒã¹ã®ã°ã©ãã£ã«ã«ãªãœãªã¥ãŒã·ã§ã³ãèããŠãç§ã¯4ã€ã®åºæ¬çãªæ°åã®ã¢ã€ãã¢ãæãã€ããŸãããããã¯ããšããããèªåã®ååã圢æããããã«æ£ç¢ºã«é 眮ããããšãèŠæ±ããŸããïŒããã€ãã®çãã®åŸãæåNã«åæããããšã«ããŸããïŒã äžæ¹ã§ã¯ãååã¯æ¬è³ªã§ãããæè¡ãšèšèªã®åœ¹å²ã®è§£éãå«ãMcLuhanïŒããã³ä»¥åã¯HeideggerïŒãžã®èšåã§ãïŒåã®èšäºã®ãªã³ã¯ãåç §ïŒã äžæ¹ãåºæ¬çãªèŠçŽ ã«é¢ããã¢ã³ãã£ãŒã¯ã®ã¢ã€ãã¢ãžã®åç §ã ããã«ãèªæºç 究ã®éçšã§ãç§ã¯ãæèŠåšå®ãã«åå²ããã€ããã§ãå¯èœãªéãæè¯ã®æ¹æ³ã§é»ãèžãæ°åã®è§£éãå«ãå€ä»£ãšãžããã®è³æã«åºäŒããŸããã ãããã£ãŠãçµæãšããŠçãã転çã¯ãæã èµ·ããããã«ãå ã®æå³ããã匷ãããšãå€æããŸããã ãã®çµæããã¹ãŠã®ã¢ã€ãã¢ã®é»åããžã¿ã«ãšãã»ã³ã¹ã®ãã³ããšããŠãæåNã¯åœŒå¥³ã®æ°ãã圹å²ãç²åŸããæåDã«ãªããŸããã
AXOD Micro Serverã®ã¢ãŒããã¯ãã£
AXODã¯ãåšèŸºæ©åšïŒåã ã®ãªããžã§ã¯ãããŸãã¯ãã€ã¯ããµãŒããŒãšå ±éã®ãªããžã§ã¯ãã®åœ¢æ åŠçéšåïŒã®ããžãã¯ãå¶åŸ¡ããããã«èšèšãããäžé£ã®ã«ã¹ã¿ãã€ãºãããã¹ã¯ãªããã§ããDendritesã+ã¢ãžã¥ã©ãŒWebã€ã³ã¿ãŒãã§ã€ã¹ãšåŒã°ããŸãã ããªããã»ããµãšããŠãLUAèšèªã䜿çšãããŸãã åŸè ã«ã€ããŠã¯ãããã€ãã®èšèãå¥ã ã«èšãå¿ èŠããããŸãã LUAã¯å ã ãã³ã³ãã¥ãŒã¿ãŒã²ãŒã ã®ããžãã¯ãèšè¿°ããããã®ã€ã³ã¿ãŒããªã¿ãŒèšèªãšããŠçºæãããŸããããæè¿ã§ã¯ããªãœãŒã¹ã«å¯Ÿããéåžžã«ä¿æãªäŸ¿å©ãªãœãªã¥ãŒã·ã§ã³ãšããŠãçµã¿èŸŒã¿ã·ã¹ãã ã®éçºè ã®éã§äººæ°ãé«ãŸã£ãŠããŸãã ç¹ã«ãOpenWRTã«ãŒã¿ãŒã®äžè¬çãªãã£ã¹ããªãã¥ãŒã·ã§ã³ã§ã¯ãLUAãHTTPããªããã»ããµãŒãšããŠæ°å¹Žé䜿çšããŠããŸãã ããã¯ããã®ãããªéžæãæ¯æããè°è«ã«ããªããŸããã
åã«æžããããã«ãAXODã«ã¯2ã»ããã®ã€ã³ã¿ãŒãã§ãŒã¹ããããŸãã ãæš¹ç¶çªèµ·ããšåŒã°ãããã®ã¯ãåšèŸºæ©åšçšã§ãïŒã€ãŸããæ¬è³ªçã«ãããã¯ç©ççãªã€ã³ã¿ãŒãã§ãŒã¹ã§ããæš¹ç¶çªèµ·ã®äœæ¥ã¯ã·ããã¹ã¢ãžã¥ãŒã«ã®äžéšã§ããã¹ã¯ãªããã«ãã£ãŠç£èŠãããŸãïŒã å¥ã®ã»ããã¯ãå€éšã«åããããã€ã³ã¿ãŒãã§ã€ã¹ã§ã-ãã·ããã¹ãããŠãŒã¶ãŒã®ã°ã©ãã£ã«ã«ã€ã³ã¿ãŒãã§ã€ã¹ãšãé£æ¥ããAXODãŸãã¯ã¯ã©ã¹ã¿ãŒã®å€éšèŠçŽ ã®APIãå«ãŸããŸãã
ãã£ã¬ã¯ããªãæ§é ãããã³å¿ èŠãªã³ã³ããŒãã³ã
åã·ããã¹ïŒãŸãã¯ã·ããã¹ã¢ãžã¥ãŒã«ïŒã¯ãç¬èªã®ãã£ã¬ã¯ããªã«ãããŸã
{axod micro-server home directory}/synapses/{synaptic group}/{name of synapse}
次ã®å¿ é ã³ã³ããŒãã³ããå«ãŸããŠããŸã
- synapse.lua-ç¬èªã®ãã€ã¯ããšã³ãžã³ã
- synapse.js-Webã€ã³ã¿ãŒãã§ã€ã¹ïŒããå ŽåïŒJavaã¹ã¯ãªããã®æäœã«å¿ èŠã
- synapse.css-åãç®çã®ã¹ã¿ã€ã«ã®èª¬æã
- stdout-ãã®ãã¡ã€ã«ã«ã¯ããŠãŒã¶ãŒã«è¡šç€ºãããã¹ãŠã®ãšã©ãŒãä¿åããå¿ èŠããããŸãïŒã·ã¹ãã ã³ãŒã«ã®stdoutããªãã€ã¬ã¯ããããå¿ èŠããããŸãïŒã ãã¡ã€ã«ã¯ã¡ã€ã³ãšã³ãžã³ã®JSããã»ããµã«ãã£ãŠèªã¿åããããŠãŒã¶ãŒã«ãšã©ãŒã衚瀺ãããŸãïŒä»¥äžã®ãããªã¯ãæš¹ç¶çªèµ·ã倱ããããšãã®ãšã©ãŒã®ãã¢ã瀺ããŠããŸãïŒã
- bottominterface.tmpl-ã€ã³ã¿ãŒãã§ãŒã¹ã®äžéšã®ãã³ãã¬ãŒãã ããã¯ããããã¢ããã¡ãã¥ãŒã®å·Šäžã«è¡šç€ºãããŸãïŒå³ãåç §ïŒ
- maininterface.tmpl-ã¡ã€ã³ã€ã³ã¿ãŒãã§ã€ã¹ã®ãã³ãã¬ãŒã
éèŠãªæ³šæïŒãã€ã¯ããµãŒããŒã¯åŒ±ãããã€ã¹ã§åäœããããã«èšèšãããŠããããã解æããã³ãªãœãŒã¹ã倧éã«æ¶è²»ããåŠçã«é¢é£ãããã¹ãŠãæå°éã«æããããŸãã ãã®ãããå€æŽïŒãã¿ã³ã®ç¶æ ã®åãæ¿ããªã©ïŒãçºçããå ŽåãæåŸã®2ã€ã®ãã¡ã€ã«ïŒbottominterface.tmplããã³maininterface.tmplïŒã¯ã·ããã¹ã¹ã¯ãªããã«ãã£ãŠçŽæ¥çæãããå¿ èŠããããŸãã ã¡ã€ã³ãšã³ãžã³ã¯ãã¯ã©ã€ã¢ã³ããžã®HTTPå¿çãçæãããšãã«ãããã®ãã¡ã€ã«ããããã¯ã¢ãããããŸãã
ããã¯ãããã©ã«ãã®AXODãã€ã¯ããµãŒããŒã€ã³ã¿ãŒãã§ã€ã¹ã®ãã¡ã€ã³ããŒãžãã®å€èŠ³ã§ã
ããã¯ããããªã¹ã²ãŒã ãå¶åŸ¡ããããã«äœæãããã·ããã¹ã¢ãžã¥ãŒã«ã®ã€ã³ã¿ãŒãã§ã€ã¹ã§ãã
ããã¯ãæã ãé³æ¥œãã¬ãŒã€ãŒãã®ããè€éãªã€ã³ã¿ãŒãã§ãŒã¹ã§ãïŒäžã®ã¡ãã¥ãŒã䜿çšããŠã1ã€ã®ã·ããã¹ã°ã«ãŒãå ã§éžæãã©ã®ããã«è¡ããããã瀺ãããŠããŸãïŒ
AXODãã€ã¯ããµãŒããŒã®ä»çµã¿
1.ã·ããã¹ã¢ãžã¥ãŒã«ã®æ§é ã¯ããªãŒåã§ãã åã·ããã¹ã«ã¯ç¬èªã®ãã€ã¯ããšã³ãžã³ïŒ/synapse.luaïŒãå«ãŸããŠããŸã-ãããã·ããã¹ã¢ãžã¥ãŒã«ã®äžå¿ã§ãã æ£åŒã«ã¯ãã¡ã€ã³ïŒã«ãŒãïŒã¢ãžã¥ãŒã«ã¯ä»ã®å šå¡ãšåãã·ããã¹ã¢ãžã¥ãŒã«ã§ãã ãããã£ãŠãåæ§ã®ååã«åŸã£ãŠé 眮ãããããèªäœã®synapse.luaãã€ã¯ããšã³ãžã³ã«é¢é£ããåæ§ã®ãã¡ã€ã«æ§é ãåããäžèšãšåãã³ã³ããŒãã³ããåããŠããŸãã
ãŠãŒã¶ãŒãéããã·ããã¹ã¯ãæåã«ã€ã³ã¿ãŒãã§ã€ã¹ãã³ãã¬ãŒãïŒsynapse.tmplïŒãèªã¿èŸŒã¿ãŸãããã®ãã³ãã¬ãŒãã¯ãç¬èªã®CSSïŒcss /ãã£ã¬ã¯ããªã«ããïŒã䜿çšããŠããŠãŒã¶ãŒJSïŒjs /ïŒãèµ·åããŸãã ãã€ã¯ããµãŒããŒã®ã«ãŒãã«ããã¡ã€ã³ã·ããã¹ã¢ãžã¥ãŒã«ã®CSSãšJSã¯ããã¹ãŠã®ã·ããã¹ã¢ãžã¥ãŒã«ã«å ±éã®æšæºã¹ã¿ã€ã«ãšã¹ã¯ãªãããåããŠããŸãã
2.ã«ãŒãã·ããã¹ãšãã¹ãŠã®ãã¹ãã·ããã¹ã®éãã¯ãäžäœã®ã€ã³ã¿ãŒãã§ã€ã¹ãšé£æ¥ããã·ããã¹ããªãããšã§ãã ãã ããã¢ããªã±ãŒã·ã§ã³ã®åœ¢æ ããã®ãããªè§£æ±ºçãæ瀺ããŠããå Žåãé¡æšã«ãã£ãŠå¿ èŠãªã¢ãžã¥ãŒã«ããã¡ã€ã³ããŒãžãã«ç°¡åã«è¿œå ã§ããŸãã
æåã®ããŒãžã®ããããã®ã·ã³ãã«ãã¯ãªãã¯ãããšãéžæããã·ããã¹ã°ã«ãŒãïŒ/ synapses / {synaptic group}ãµããã£ã¬ã¯ããªïŒã«å±ããã€ã³ã¿ãŒãã§ã€ã¹ãéããŸãã ããã©ã«ãã§ã¯ããªã¹ãã®æåã®ã·ããã¹ãéããŸãïŒlsã³ãã³ããæåã«æ»ããšããäºå®ïŒ/synapse.luaè¡26ïŒãç¬èªã®æ¡ä»¶ãèšå®ã§ããŸãïŒ
3.äžã§æžããããã«ãåã·ããã¹ã«ã¯ç¬èªã®.tmplãã¡ã€ã«ïŒäžäžïŒãšåæ§ã®ãã¡ã€ã«æ§é ãå«ãŸããŠããŸãã ãã€ã¯ããšã³ãžã³ã¯ããããã®ãã¡ã€ã«ãå«ããã ãã§ã«ã¹ã¿ã XMLãçæããŸãã ã€ã³ã¿ãŒãã§ã€ã¹ã¯ãã«ããŠãŒã¶ãŒã§ããããããã€ã¯ããšã³ãžã³ã¯å€æŽãçºçãããã³ã«æ°ãã.tmplãçæããå¿ èŠããããŸãã
4.åã·ããã¹ã«ã¯4ã€ã®å¿ é ãªãã·ã§ã³ããããŸã
- startsynapse-ã·ããã¹ãéå§ããŸãïŒã€ã³ã¿ãŒãã§ã€ã¹ãéããšããã«ããŸãã¯åŒ·å¶èµ·åäžã«éå§ã§ããŸããåæã«ãã·ããã¹ãæ©èœããããã«å¿ èŠãªããŒã¢ã³ãšãã¹ãŠã®å¿ èŠãªã·ã¹ãã ã¢ã¯ã·ã§ã³ãå®è¡ãããŸãïŒ
- stopsynapse-ã·ããã¹ãåæ¢ããŸãïŒä»¥åã«èµ·åãããã¹ãŠã®ã圌ãã®ãããŒã¢ã³ãã殺ããå¿ èŠããããŸãïŒ
- maininterface-ç¬èªã®maininterface.tmplã®çæã«äœ¿çš
- bottominterface-ç¬èªã®bottominterface.tmplã®çæã«äœ¿çš
泚æïŒ ã³ãã³ãã©ã€ã³ã§ïŒé©åãªãªãã·ã§ã³ã䜿çšããŠïŒ/synapse.luaãå®è¡ããã¿ãŒããã«ã§ãã€ã¯ããšã³ãžã³ãçŽæ¥ãããã°ã§ããŸãã LUAã䜿çšããŠXMLãçæããéã®ãšã©ãŒåŠçã«ã¯æ¢ç¥ã®å°é£ãããããããã³ã³ãœãŒã«ããœãªã¥ãŒã·ã§ã³ã¯ã·ããã¹ã¢ãžã¥ãŒã«ã®ãããã°ã«éåžžã«äŸ¿å©ã§ãã
ããã«ãã·ããã¹ã¢ãžã¥ãŒã«ã«ã¯ããããžã§ã¯ãã®åœ¢æ ã«å¿ èŠãªä»ã®ãªãã·ã§ã³ãå«ããããšãã§ããŸãã
5.ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ã®æ©èœãã¢ã¯ãã£ãã«ãããšïŒãŸãã¯å€éšãªããžã§ã¯ããŸãã¯ã¢ããªã±ãŒã·ã§ã³ãHTTPèŠæ±ãå®è¡ããŸãïŒãé©åãªãã©ã¡ãŒã¿ãŒã䜿çšããŠsynapse.luaãå®è¡ãããŸãã
6.ãŠãŒã¶ãŒå¶åŸ¡ã¯ãAJAXãªã¯ãšã¹ããšãå¿ èŠãªãã©ã¡ãŒã¿ãŒãå«ãé©åã«åœ¢æããããªã³ã¯ã®çŽæ¥åŒã³åºãã®äž¡æ¹ã«ãã£ãŠå®è¡ã§ããŸãïŒãã®ããŒãžã§ã³ã§ã¯ããããŸã§GETã¡ãœããã®ã¿ããµããŒããããŠããŸãïŒã
7.ããã«ãã¯ã©ã€ã¢ã³ãã§å®è¡ãããŠããJavaScriptã¯ãã€ã³ã¿ãŒãã§ã€ã¹ã®å€æŽã«ã€ããŠãã€ã¯ããµãŒããŒãå®æçã«ããŒãªã³ã°ããŸãã ååšããå Žåã察å¿ããèŠçŽ ãå€æŽããŸãã ãŠãŒã¶ãŒã¯ããã©ãŠã¶ãJSããµããŒãããŠããªãå Žåã§ãã·ããã¹ã€ã³ã¿ãŒãã§ã€ã¹ã䜿çšã§ããŸããããã®å Žåãä»ã®ãŠãŒã¶ãŒãè¡ã£ããå¿çããŸãã¯å€æŽã衚瀺ã§ããŸããã
8. JavaScriptã䜿çšããã«ãã¹ãŠã®ã€ã³ã¿ãŒãã§ã€ã¹ãæ©èœããæ倧éã®æ±çšæ§ãç¶æãããŸãã ããã¯Interplay Medium Project Codeã®äžéšã§ãããä»åŸãã®ååãéµå®ããã€ããã§ãã
å®ã¯ä»ã®ãšããã 次ã®èšäºã§ã¯ãå ·äœçãªäŸã䜿ã£ãŠãç¬èªã®ã·ããã¹ã¢ãžã¥ãŒã«ãæ§ç¯ããŠå®è¡ããæ¹æ³ã瀺ããŸãã
æåã®ãããã¿ã€ãã·ã¹ãã ã®ãã¢ã
æè¬ã®æ°æã¡
ãã®ããŒãžã§ã³ã¯Nick Gammonã«ãã£ãŠæžããããã¬ãŒã ã¯ãŒã¯ã䜿çšããŠãLUAèšèªã§HTTPååŠçãå®è£ ããŠããŸãã
åç §è³æ
- Gitoruoisã®ãããžã§ã¯ããªããžããª
- InterplayMediumã®ãªãªãžãã« wiki èšäº ã
- Nickã®ãŠã§ããµã€ãã®ãã©ãŒã©ã ã¹ã¬ãããžã®ãªã³ã¯ ãLUAã䜿çšããŠãµãŒããŒåŽã§HTTPãªã¯ãšã¹ããåŠçããHTTPããŒã¿ãçæããæ¹æ³ã説æããŠããŸãã