
æã ãPHPãApacheãMySQLãAJAXãä»ããŠJavaScriptãšçµã¿åãããããšã¯ãWebéçºè ã«ãšã£ãŠå®ç§ãªçµã¿åããã§ããã ãã®äžé£ã®ããŒã«ã§åé¡ã解決ã§ãããšæãããŸããã ãã ããèŠä»¶ãå¢å ãããœãŒã¹ã³ãŒããç®ã®åã«æé·ããè² è·ãå¢å ããéåžžã®ããŒã«ã察åŠããªããªããŸããã
å°é家㯠ãå€å žçãªããªã¯ãšã¹ã/ã¬ã¹ãã³ã¹ãã¹ããŒã ãåå ã§ãããšç¢ºä¿¡ããŠããŸããã ããŒãžãªã¯ãšã¹ãã«ãããWebãµãŒããŒã¯ã¹ã¯ãªãããååŸãããããçŽç·çã«å®è¡ããçµæãã¯ã©ã€ã¢ã³ããã©ãŠã¶ãŒã«è¿ããŸããã ãã®åŸã次ã®ãªã¯ãšã¹ãã®åŠçã«é²ã¿ãŸãã
ãã®ç¶æ³ããæãåºãæ¹æ³ãæ¢ããŠãæããé è³ã¯ããµãŒããŒãJavaScriptã§ãèšè¿°ã§ããããšãæãåºããŸããã
ããã«ããããµã€ãã®ãµãŒããŒéšåãšã¯ã©ã€ã¢ã³ãéšåãåãèšèªã§éçºã§ããŸãã 2000幎代ã®çµãããŸã§ã«ã¯ãéåžžã®æç¶ãåããæ©èœçãªã¹ã¿ã€ã«ãšçµã¿åãããOOPãŸã§ãããŸããŸãªãã©ãã€ã ã§ã³ãŒããèšè¿°ã§ããã·ã³ãã«ãã€æè»ãªèšèªã§ããã ããããJavaScriptã®å¥ã®æ©èœã決å®çãªåœ¹å²ãæãããŸãã-éåææ§ã
ãããã ãPHPã³ãŒãã®é£ç¶å®è¡ã®å¶éã®äŸã瀺ããŸã ã
$result = $db->fetchOne('SELECT user_name FROM user_accounts WHERE id = 1'); echo ' : ' . $result . ';';
æåã®è¡ã«ã¯ãid = 1ã®ãŠãŒã¶ãŒåãååŸããããã®ããŒã¿ããŒã¹ãžã®åçŽãªSQLã¯ãšãªãå«ãŸããŠããŸãããã®æç¹ã§ãã¹ã¯ãªããã¯åæ¢ããããŒã¿ããŒã¹ã«ãã£ãŠèŠæ±ãåŠçãããçµæãè¿ããããŸã§æ¬¡ã®è¡ã¯å®è¡ãããŸãã$çµæå€æ°ã ãã®äŸã§ã¯ããããã¯1000åã®1ç§ã§ãããå®éã«ã¯ã¯ãšãªã¯ã¯ããã«è€éã§ãããããŒã¿ããŒã¹ã®ãµã€ãºã¯å€ãã®å Žåã®ã¬ãã€ãã§ãããåæã«æ°åã®ã¯ãšãªãååšããå¯èœæ§ããããŸãã
éåæJSã³ãŒãã®å®è¡ïŒ
db.query('SELECT user_name FROM user_accounts WHERE id = 1', function(err, res) { if (!err) sys.log(' : ' + res); }); sys.log(' ');
ããã§ããããŒã¿ããŒã¹ãžã®ã¯ãšãªãäœæãããŸãããSQLåŒèªäœã«å ããŠããªã¯ãšã¹ãã¯ã³ãŒã«ããã¯é¢æ°ãæž¡ããŸãã ãã®é¢æ°ã¯ãããŒã¿ããŒã¹ããã®å¿çãå°çãããšæ£ç¢ºã«åŒã³åºããããã®ç¬éãŸã§ã¹ã¯ãªããã¯å®è¡ãåæ¢ããŸããã ãã®ããããµãŒããŒãµã€ãJavaScriptã®ã©ã®ããŒãžã§ã³ã§ããã€ãã³ããšã³ãŒã«ããã¯ãã€ãŸãã€ãã³ããã³ãã©ãŒã®æŠå¿µãåºç€ã«ãªã£ãŠããŸãã ã€ãã³ãã®ã€ãã³ãã§å®è¡ããå¿ èŠãããã¢ã¯ã·ã§ã³ã¯ãã€ãã³ããã³ãã©ãŒã®é¢æ°å ã«èšè¿°ãããŠããŸãã
ãã®ãããªèæ ®äºé ã«ãããJSæ奜家ã¯ç¬èªã®ãµãŒããŒãšã³ãžã³ãäœæããããã«ãªããŸããã
Node.js
9æ2æ¥ã«ãChromiumãªãŒãã³ãã©ãŠã¶ã®æåã®å ¬éãªãªãŒã¹ãæ£åŒã«çºè¡šãããŸããã éçºäžã«ããã©ãŠã¶ãŒããŒã¹ã®JavaScriptã€ã³ã¿ãŒããªã¿ãŒã§ããV8ãäœæãããŸããã äž»ãªéçºè ã¯ã©ãŒã¹ã»ããã¯ã§ããã ãšã³ãžã³ã§éçºè ã解決ããªããã°ãªããªãã£ãäž»ãªåé¡ã¯ãããã©ãŒãã³ã¹ãšã¹ã±ãŒã©ããªãã£ã§ããã
ãã©ãŠã¶ãæåããåŸãæããé è³ã¯ããã®ãããªé«éãšã³ãžã³ããµãŒããŒã§æ£åžžã«äœ¿çšã§ããããšã«æ°ä»ããŸããã

Node.jsã¯2009幎ã«Ryan Dahlã«ãã£ãŠéçºãããŸããã 圌ã¯ããããŒã«åºã¥ã䞊ååŠçã®åŸæ¥ã®ã¢ãã«ã§ã¯ãªããã€ãã³ãæåã·ã¹ãã ã«ç®ãåããã¹ãã ãšããçµè«ã«éããŸããã ãã®ã¢ãã«ãéžã°ããçç±ã¯ããã®ã·ã³ãã«ããäœããªãŒããŒãããïŒãæ¥ç¶ããšã«1ã€ã®ã¹ã¬ããããšããã€ããªãã®ãŒãšæ¯èŒããŠïŒãããã³é床ã§ãã
æ°åã®æ¥ç¶ãéåæã§åŠçã§ããHTTPãµãŒããŒãèµ·åããã«ã¯ãæ°è¡ã®ã³ãŒããå¿ èŠã§ãã
// http var http = require('http'); // web- var server = http.createServer(function (req, res) { console.log(' '); // http- res.writeHead(200, { 'Content-Type': 'text/plain; charset=UTF-8' }); res.end('Hello world!'); }); // web- server.listen(2002, "127.0.0.1", function () { console.log(' http://127.0.0.1:2002/'); });
Node.jsã®åºçŸã¯ãéçºè ã®éã§éšåãå·»ãèµ·ãããŸããã ãããžã§ã¯ãã®éçºã®åæ段éã§ãã§ã«ãNetflixãWalmartãPayPalãDow JonesãGrouponãªã©ã®äŒæ¥ããããžã§ã¯ãã®äœ¿çšãéå§ããŸããã
ãããŠã圌ãã¯ãã€ãŸã§ã幞ãã«çããã ããã...
2014幎11æãNode.jsã³ãã¥ããã£ã§åè£ãçºçããŸããã äžéšã®åå è ã¯ãNode.jsã®éçºãç£ç£ããJoyentã®ããªã·ãŒã«äžæºãæ±ããŠããŸããã
ãŸããJoyentã¯ã³ãã¥ããã£ã®æèŠãç¡èŠããèªèº«ã®å©çã®ããã ãã«è¡åãããããžã§ã¯ãã®å¶åŸ¡ãèªèº«ã®æã§ã®ã¿éäžãããšäž»åŒµãããŸããã ããã«ããã®æãŸã§ã«ãJoyentã¯ã³ãŒãããŒã¹ã®å®å®æ§ã確ä¿ããããšã«çµ¶å¯Ÿçãªåªå é äœãäžããŠãããããæ°æ©èœã®çµ±åãè€éã«ãªããŸããã 2013幎ã®åã以æ¥ãéèŠãªãªãªãŒã¹ã¯ãããŸãããææ°ã®çŸåšã®ãã©ã³ã0.10ã¯ãV8ãšã³ãžã³ã®å€ãããŒãžã§ã³ã«åºã¥ããŠããŸããã
Joyentããã®åé¢ã®ã€ãã·ã¢ããã¯ãNode.jsã®7人ã®äž»èŠéçºè ã®ãã¡5人ã«ãã£ãŠãµããŒããããŠããŸããããã®äžã«ã¯ãå ãããžã§ã¯ããªãŒããŒã§ããIsaacSchlÃŒterãããŸããã
æ°ãæ以å ã«ãio.jsãçç£æ§ãšéçºé床ã®äž¡æ¹ã§ãããäžåãããšãæããã«ãªããŸããã
åäŒ
2015幎5æãio.jsãããžã§ã¯ãã®æè¡å§å¡äŒã®äŒè°ãéå¬ãããNode.jsãšã®åçµ±åããã³Node Foundationã®æ¯æŽã®äžã§ã®ãããªãå ±åéçºã決å®ãããŸããã
å ±åãããžã§ã¯ãã®ãã¥ã¬ãŒã¿ãŒã¯Linux Foundationã§ãNode.jsã®éçºã®ããã®å¹æçã§ç¬ç«ãããã©ãããã©ãŒã ã圢æããŸããã Joyentã¯ããããžã§ã¯ãã®éçºããµããŒããè³é調éã«åŒãç¶ãåå ããŸããããã³ãã¥ããã£ã®æ®éã®ã¡ã³ããŒãšããŠåå ããŸããã Joyentã«å ããŠãNode.js Foundationã®åµèšè ã«ã¯ãIBMãMicrosoftãPayPalãFidelityãSAPãªã©ã®äŒæ¥ãå«ãŸããŠããŸããã
2015幎9æ8æ¥Node.js v0.12.7ãšio.js v3.3.0ã®å䜵ã«ããNode.js v4.0.0ããªãªãŒã¹ãããŸãã
é¢é£ä»ãã®åŸãã³ãã¥ããã£ã¯å°è±¡çãªçµ±èšã«æ³šç®ãéããŸããã2010ã2015幎ã«ãéçºè ã¯Node.jsïŒããã³ãã®ä»ã®JavaScriptã©ã€ãã©ãªïŒã®190,000以äžã®ã¢ãžã¥ãŒã«ãã³ãŒããªããžããªã«è¿œå ããŸããã ããã¯ã20幎以äžã«ããã£ãŠæ§ç¯ãããPerl CPANãªããžããªå šäœãè¶ ããNode.jséçºè ãå°ãªãã«ããããããJava Maven Centralããã€ãã¹ããŸãã
Node.js 7
2016幎9ææ«ã«ãNode.js 7ããŒã¿ããªãªãŒã¹ãããŸããã æŽæ°ããããšã³ãžã³V8 5.4ã䜿çšããŸãã ããã«ãECMAScript 6æšæºã®98ïŒ ããµããŒãããŠãããNode.js 5ã®56ïŒ ãšæ¯èŒããŠãããã¯å€§ããªé²æ©ã§ãã
ãã ããNode.jsã®ããŒãžã§ã³çªå·ã ãã§ã¯ãããŸããã Indeed.comã«ãããšãåŽååžå Žã§ã®Node.jsãããã§ãã·ã§ãã«ã®éèŠã¯å¢ãç¶ããŠããŸãã

ãã ãããã®ãããªçµ±èšã¯åžžã«å®éã®ç¶æ³ãåæ ããŠããããã§ã¯ãªããããæè¡ã®äœ¿çšæ¹æ³ãNode.jsã®ç«¶åä»ç€Ÿããããžã§ã¯ãéçºã®èŠéãã«ã€ããŠå°é家ãšè©±ãåãããšã«ããŸããã
1. Node.jsã®éçºé床ã¯ã©ããããã§ããïŒ çŸåšã®ããŒã¹ã«æºè¶³ããŠããŸããïŒ
2. ITäŒæ¥ã®æ·±å»ãªçºå±ãšãã芳ç¹ããããã®é¢é£æ§ã人æ°ãã©ã®ããã«è©äŸ¡ããŸããïŒ ããã¯ã©ã®çšåºŠæ£åœåãããŸããïŒ Node.jsã¯ã©ã®ãããžã§ã¯ãã«é©ããŠããŸããïŒ
3. Node.jséçºè åžå Žã¯ã©ã®ããã«å€åããŸãããïŒ å°ãªãã§ãããå€ãã§ããïŒ åœŒãã®ä»äºã®è³ªãã©ã®ããã«å€ãã£ããšæããŸããïŒ
4. Node.jsã®ç«¶åä»ç€Ÿã«ååãä»ããããšã¯ã§ããŸããïŒ åœŒãã¯ã©ãããã匷ãã§ããïŒ
5.ä»åŸ5幎éã®Node.jsã®èŠéãã¯ïŒ
ã¢ã³ãã³ã»ã¯ã©ã³ã ãããã³ããšã³ãéçºè

Node.jsã®éçºé床ã¯ã©ããããã§ããïŒ çŸåšã®ããŒã¹ã«æºè¶³ããŠããŸããïŒ
Node.js FoundationãäœæããåŸãç¶æ³ã¯å€§å¹ ã«æ¹åãããŸããã ä»ããã¹ãŠãå人çã«ç§ã«åã£ãŠããŸãã
ITäŒæ¥ã®æ·±å»ãªçºå±ãšãã芳ç¹ããããã®é¢é£æ§ã人æ°ãã©ã®ããã«è©äŸ¡ããŸããïŒ ããã¯ã©ã®çšåºŠæ£åœåãããŸããïŒ Node.jsã¯ã©ã®ãããžã§ã¯ãã«é©ããŠããŸããïŒ
ç§ã¯ãã®ãããªçµ±èšãæã£ãŠããªãã®ã§ãç§ã¯èªåã®ææ ã«ãã£ãŠã®ã¿å€æã§ããŸãã
éèŠ-ã¯ãã Node.jsã䜿çšãããšãå€ãã®ããšãéåžžã«ç°¡åã«è¡ããŸãã 人æ°ã¯èšãã®ãé£ããã§ãã ããã³ããšã³ãéçºè ã®éã§éåžžã«äººæ°ããããšæèšã§ããŸãã
ããã¯ã©ã®çšåºŠæ£åœåãããŸããïŒ ããã¯ãã¹ãŠã¿ã¹ã¯ã«äŸåããŸãã JavaScriptã¯äžéšã®ã¿ã¹ã¯ã§ã¯ããè¯ããäžéšã®ã¿ã¹ã¯ã§ã¯ããæªãã§ãã Node.jsã«ããã³ããšã³ããã«ããå§ä»»ããããšã¯æ£åœã§ãããæ£ããããšã§ãã Node.jsã«å®å®è¹å¶åŸ¡ãå§èšããããšã¯ããããå¯èœã§ãããç§ã¯ããä¿¡é Œæ§ã®é«ãæè¡ãéžæããŸãã
Node.jséçºè åžå Žã¯ã©ã®ããã«å€åããŸãããïŒ å°ãªãã§ãããå€ãã§ããïŒ åœŒãã®ä»äºã®è³ªãã©ã®ããã«å€ãã£ããšæããŸãã
Node.jséçºè ã«å¯ŸããéèŠã®æ¥æ¿ãªå€åã«æ°ä»ããŸããã§ããã Node.jsã®æææš©ã¯ãæè¿ã®ããã³ããšã³ãéçºè ã«ãšã£ãŠå¿ é ã®èŠä»¶ã«ãªã£ãŠããå¯èœæ§ããããŸãã å€ãã®å°é家ãããŸããããã®å質ãè©äŸ¡ããããšã¯å°é£ã§ãã ç§ã¯ãã®ãããªçµ±èšãæã£ãŠããŸããã
Node.jsã¯ãJavaScriptã¹ã¯ãªãããå®è¡ããããã®åãªãããŒã«ã§ãã ãã¡ãããããã¯ãã©ãŠã¶ã§ã¯ãªãJavaScriptãå®è¡ããããã®æãäžè¬çãªããŒã«ã®1ã€ã§ãã
Node.jsã®ä»åŸ5幎éã®èŠéãã¯ïŒ
Node.jsã«ã¯çŽ æŽãããæªæ¥ããããšæããŸãã ç¹ã«ããã³ããšã³ãéçºè ã®éã§ã ä»ã®åéã§ã¯ãJavaScriptã®å©ç¹ã¯å®å šã«ã¯æããã§ã¯ãããŸããã
Danil Skachkov ãã·ãã¢ãœãããŠã§ã¢éçºè ãapi.ai

Node.jsã®éçºé床ã¯ã©ããããã§ããïŒ
ããã¯ããŸãçºéããŸãããç§ã®æèŠã§ã¯ãããã£ãããã¯ããŸãã«ãéããããåä»ã§ãã ã©ã³ã¿ã€ã ãšããŠã®node.jsèªäœã«ã€ããŠã®èŠæ ã¯ãããŸããã
çŸåšã®ããŒã¹ã«æºè¶³ããŠããŸããïŒ
ãããŠããªããéæ¢ãããããéçºããã»ããè¯ãã®ã§ãã
ITäŒæ¥ã®æ·±å»ãªçºå±ãšãã芳ç¹ããããã®é¢é£æ§ã人æ°ãã©ã®ããã«è©äŸ¡ããŸããïŒ
ã€ãŸãããããŸãã§ãã ããããããã§ã¯ãã¹ãŠãNode.jsã§ã®éçºã«äœ¿çšããèšèªã«å€§ããäŸåããŸãã çŽç²ãªJavaScriptã§ããå Žåãããã°ã©ã ã®äžã§äœãã©ã®ããã«æ¥ç¶ãããŠããããäžæ確ã«ãªããšããäºå®ã«ããã«ééããŸãã ããã¯ãJSãåçã§ããããã§ãã ããšãã°ãTypeScriptã䜿çšããå Žåãã³ã³ãã€ã«æ®µéã§åãã§ãã¯ãè¡ããããããããã°ã©ã ã®ãããŸãããå°ãªããªããŸãã
ããã¯ã©ã®çšåºŠæ£åœåãããŸããïŒ Node.jsã¯ã©ã®ãããžã§ã¯ãã«é©ããŠããŸããïŒ
ããã¯ã¿ã¹ã¯ã«äŸåããŸãã ãã€ã¯ããµãŒãã¹ã«ã€ããŠã¯ãç§ã®æèŠã§ã¯-ããã ãã§ãã
Node.jsã®ç«¶åä»ç€Ÿã«ååãä»ããããšã¯ã§ããŸããïŒ åœŒãã¯ã©ãããã匷ãã§ããïŒ
ããŠãããã§ããªãã¯éåžžã«é·ãéæãåºãããšãã§ããŸãã ç§ãæ³åã§ããéããããã¯ãšã³ããæžãã®ã«é©ãã補åã¯ç«¶åä»ç€Ÿã«ãªããŸãã ãããŠããã¹ãŠã®è£œåã«ã¯é·æãšçæããããŸãã Node.jsã¯ãçŸæç¹ã§ã¯ãå°ããªã¿ã¹ã¯ã§ã®ã·ã³ãã«ãã«ãããŠåŒ·åã§ãã
ããšãã°ãå°ããªRESTãµãŒãã¹ãäœæããŸãã å€ãã®ã³ãŒãã§ã¯ãã¢ããªã±ãŒã·ã§ã³ããžãã¯ã®ééæ§ã«åé¡ããããããããŸããããå ã»ã©è¿°ã¹ãããã«ãããã¯Typescriptãªã©ã䜿çšããŠéåžžã«ãã解決ã§ããJavaScriptã®æ©èœã§ãã
Node.jsã®ä»åŸ5幎éã®èŠéãã¯ïŒ
ãã®ãããªæéã«ãããæè¡ã®èŠéãã¯ãäºæž¬ãããªãå°é£ã§ãã ãã€ã¯ããµãŒãã¹ã®äººæ°ãšå°ããªã¿ã¹ã¯ã®ã·ã³ãã«ãã«ãããè¿ãå°æ¥äººæ°ãé«ãŸããšæããŸãã ããã§ã¯ã衚瀺ãããŸãã
Telegramã®Node.jsã°ã«ãŒãã®åµèšè ã§ããã¢ã¹ã¯ã¯Node.js Meetupã®å ±åèšç«è ã§ããDenis Izmailovã¯ãåœéåžå Žã§ã®ã«ã¹ã¿ã éçºã«åŸäºããŠããŸãã

Node.jsã®éçºé床ã¯ã©ããããã§ããïŒ çŸåšã®ããŒã¹ã«æºè¶³ããŠããŸããïŒ
2幎åã¯äžå¹žã ã£ããããããŸããããFedor Indutnyãæšå¹Ž1æã«ãã©ãŒã¯io.jsãå ¬éããŠãV8ã®ææ°ããŒãžã§ã³ã®å°å ¥ã匷å¶ããéçºããã»ã¹ããããªãŒãã³ã«ããããšãèŠããŠããŸãã ããã«ããã1幎åã«Node.js 4.0.0ã®äŒèª¬çãªããŒãžã§ã³ããªãªãŒã¹ããããã以æ¥ã æ¯æãªãªãŒã¹ãç£èŠããŠããŸãã
å¥ã®è³ªåã¯ãããã®å€æŽã®å 容ã§ãããããã¯å¥ã®è°è«ã®ãããã¯ã§ãã 幞ããªããšã«ããã®ãããªã¢ã¯ãã£ãã§ç¶ç¶çãªéçºãµã€ã¯ã«ã«ãããç§ãã¡ã¯ãªãããã®äžéç¹ãèŠã€ããããšãã§ããŸãããçŸåšãå®å®æ§ã®æ¯æè ã¯ããããã¯ã·ã§ã³ããã³å€§èŠæš¡ãããžã§ã¯ãã«äžå¯æ¬ ãªLTSããŒãžã§ã³ã«ããæºè¶³ããŠããŸãã
ITäŒæ¥ã®æ·±å»ãªçºå±ãšãã芳ç¹ããããã®é¢é£æ§ã人æ°ãã©ã®ããã«è©äŸ¡ããŸããïŒ ããã¯ã©ã®çšåºŠæ£åœåãããŸããïŒ Node.jsã¯ã©ã®ãããžã§ã¯ãã«é©ããŠããŸããïŒ
Kubernetesäžã®ã¯ã©ã¹ã¿ãŒã®æ£ããæ§æã䜿çšããŠããã¹ãŠã®äººã«ã ããããã·ã¹ãã ã®ã¹ã±ãŒã©ããªãã£ãšåŒŸåæ§ã«é¢ããã客æ§ã®åé¡ã決å®ããæ¹æ³ã§ãã ããããååã®çµéšãèŠãŠãåŽååžå Žã®ãã¹ãŠã®ãã¥ã¢ã³ã¹ãèæ ®ãããšãPythonãGolangãErlangãªã©ãããŒã¿ãã€ãã³ã°ãããŒã¿åŠçãä»ã®ãã®ã
äŒæ¥ãITéšéããã®éèŠã«ã€ããŠè©±ããšã絶ããæé·ããŠãããå€ãã®çç±ããããŸã-ãŠã§ãéçºã§PHPãRubyãJavaãé¿ããããšãããã³å圢ã¢ããªã±ãŒã·ã§ã³ã®å¯èœæ§ã®äž¡æ¹ãã¬ããŒãã§ãããã話ããŸããäŒè°ãäŒè°ã§ã ããã«ãããã³ã¹ããå€§å¹ ã«åæžãã補åã®å質ãåäžãããããšãã§ããŸãã
Node.jséçºè åžå Žã¯ã©ã®ããã«å€åããŸãããïŒ å°ãªãã§ãããå€ãã§ããïŒ åœŒãã®ä»äºã®è³ªãã©ã®ããã«å€ãã£ããšæããŸããïŒ
åžå Žã¯æ£ç¢ºã«ã©ãã«ãããŸããïŒ äžççã«ã¯ãå€§å¹ ã«å¢å ããŠãããå¢å ãç¶ããŠããŸãã åœéåžå Žã§ã®Fullstack JSã®éèŠã¯ãæäŸãããäœåãé«ããªã£ãŠããŸãã ããã¯ãã¹ã¿ãŒãã¢ããã®æé·ãšãšã³ã·ã¹ãã å šäœã®æçã®äž¡æ¹ã«ãã£ãŠä¿é²ãããŸãã å€ãã®éçºè ã¯ãã¢ã¡ãªã«ããšãŒããããããã³ã¢ãžã¢ã®é«çµŠã«åããŠåºçºããããåçŽã«é éå°ã®ä»äºã«åãæ¿ããŸãã ãã®ããã«ãããŒã«ã«åžå Žã§ã¯ãããã®éçºè ããããã«æžå°ããã ãã§ãªããåŸèŒ©ã倧éã«æµå ¥ããŠããŸãã
ãã®ãããç§ãã¡ã¯ã¢ã¹ã¯ã¯ã§Node.jsã§äŒè°ãéå¬ãå§ããŸãããããã§ã¯ãNode.jsã³ã¢èªäœã®éçºè ïŒãŠã©ãžããŒã«ã¯ã«ãã£ããã³ããããŒã¿ã¹ã³ããããªã©ã®èå³æ·±ãæ§æ ŒïŒãšã©ã€ãã§ãã£ããã§ããŸãã
Node.jsã®ç«¶åä»ç€Ÿã«ååãä»ããããšã¯ã§ããŸããïŒ åœŒãã¯ã©ãããã匷ãã§ããïŒ
ãã¡ãããGolangã«ã€ããŠã®çãã¯ããã«ç€ºåãããŸãã ãã®åžå Žã·ã§ã¢ãèããæé·ããŠããŸãã ããããã»ãšãã©ã®å Žåã倧èŠæš¡ãªããžãã¹ãšDevOpsãœãªã¥ãŒã·ã§ã³ãåå ã§ãããªç§ãéèŠã§ãã ããã§ã¯ãGolangã®ãµãŒãã¹ã§ååãªææãåŸãããå¯èœæ§ããããŸãããããã¯ãããžã§ã¯ãã®äºç®ãèš±ãéãã§ãã
Node.jsã®ä»åŸ5幎éã®èŠéãã¯ïŒ
å°ãåã«ãå€ãã®äººãWebAssemblyã«åžæãæã£ãŠããŸããã ãããŠãasm.jsãæåããªãã£ãå Žåããã©ãŠã¶ã§ããã€ãã³ãŒãããèµ·åã§ããããã«ãªããŸãããã€ãŸããä»»æã®èšèªã§ããã°ã©ãã³ã°ã§ããŸãã ãããä»æ¥ã補é æ¥è ãåæã§ããªãããšãæ¹ããŠç¢ºèªããŸãããã€ãŸããJavaScriptã«ã¯çŽ æŽãããæªæ¥ããããšããããšã§ãã
ãã«ãã¹ã¬ããããŽã«ãŒãã³ããã£ãã«ã®é¡äŒŒç©ããŸãã¯Node.jsãES6ãå®å®åããåŸã«V8ãæŸæ£ãããšããäºå®ã«ã€ããŠã¯ããµãŒãã¹ã®çžäºäœçšããã©ãŠã¶ãšãããã«ç°ãªãç¹ç°æ§ãæã£ãŠãããšããçç±ã ãã§ã¯èšããŸããã ããããé«å質ã®ããŒã«ã«ãããMicrosoftãã³ãã¥ããã£ãç¹ã«ãã®ã»ã°ã¡ã³ãã§ãªãŒããŒã·ãããåãæ»ãéåžžã«èå³æ·±ãæ©äŒã«æ³šç®ããŠããŸãã
ãããŸã§ã®éãNode.js v7.xãç©æ¥µçã«åŸ ã£ãŠããŸããããã¯ãæçµçã«async-awaitãããããããšãçŽæããŸãã
ã€ãªã€ã»ã«ã³ã¿ãŒ ãJavaScript.ruã®äœæè ããã·ã¢ã§æåã®ããã®JSèšèªæåž«ã®äžäººïŒ

Node.jsã®éçºé床ã¯ã©ããããã§ããïŒ çŸåšã®ããŒã¹ã«æºè¶³ããŠããŸããïŒ
çŸåšãNode.JSã¯éåžžã«é«éã«éçºãããŠããŸããNode.JSèªäœãšJavaScriptèšèªããã³é¢é£ã€ã³ãã©ã¹ãã©ã¯ãã£ã®äž¡æ¹ã§ãã
ãã¡ãããç§ã¯ããã«æ°ããæ©èœãå°å ¥ããããšæããŸãããç¶æ³ã¯éåžžã«æ¥éã«å€åããŠããŸãã ããšãã°ãã³ãŒã«ããã¯ã¹ã¿ã€ã«ã¯æè¿ãpromises + generatorsã«å€æŽãããasync / awaitã¯æ¥å¹Žãããã眮ãæããŸãã ã³ãŒããæžããšãã¯ãåŸã§æžãçŽããªãããã«ããããèŠããŠããå¿ èŠããããŸãã
ITäŒæ¥ã®æ·±å»ãªçºå±ãšãã芳ç¹ããããã®é¢é£æ§ã人æ°ãã©ã®ããã«è©äŸ¡ããŸããïŒ ããã¯ã©ã®çšåºŠæ£åœåãããŸããïŒ Node.jsã¯ã©ã®ãããžã§ã¯ãã«é©ããŠããŸããïŒ
ããããã®ããŒã«ããããŸãã éžæã¯å人ã®å¥œã¿ã«å€§ããäŸåããŸãã
Node.JSã®ããã€ãã®å©ç¹ïŒ
1ïŒããã©ãŒãã³ã¹ã®ç¹ã§é«éã§ãã ãã¡ãããããé«éãªèšèªãç¹ã«å³å¯ãªåæå®ã§ã³ã³ãã€ã«ãããèšèªããããŸãããæŠããŠ-Node.JSã¯ããªãé«éã§ãã ååãšããŠãNode.JSã®ãµãŒãã¹ã¯ãPHPãŸãã¯Rubyã§èšè¿°ããããã®ãããé«éã§ãã
Node.JSã¯ããã®äœæ以æ¥ãããŒã¿ããé£ã¶ãåææ¥ç¶ãå€æ°ããã¢ããªã±ãŒã·ã§ã³ã«äœ¿çšãããŠããŸããã ããã«ããããããããåé¡ããããŸããã
2ïŒãã®éçºãéåžžã«é«éã§ãã
3ïŒWebã¢ããªã±ãŒã·ã§ã³ã®éçºæã«ããã³ããšã³ããšããã¯ãšã³ãã®äž¡æ¹ã§JavaScriptã䜿çšãããšããã¡ãã¡ã§1ã€ã®ã³ãŒãã䜿çšã§ããŸãã ååã¢ããªã±ãŒã·ã§ã³-ããã ãã§ãã ãŸããéçºè ã1ã€ã®èšèªã䜿çšããæ¹ã䟿å©ã§ãã ææ°ã®æ¹åã®åŸãJavaScriptã¯ããè¯ããªããŸããã
Node.jséçºè åžå Žã¯ã©ã®ããã«å€åããŸãããïŒ å°ãªãã§ãããå€ãã§ããïŒ åœŒãã®ä»äºã®è³ªãã©ã®ããã«å€ãã£ããšæããŸããïŒ
ç³ãèš³ãããŸãããããããŒã±ãããã远跡ããŠããŸããã åªç§ãªéçºè ã¯åžžã«å°æ°ã§ãã Node.JSã«é¢ããŠã¯ãéåžžãå®æãããã®ãèŠã€ãããããæé·ããæ¹ãç°¡åã§ãã
Node.jsã®ç«¶åä»ç€Ÿã«ååãä»ããããšã¯ã§ããŸããïŒ åœŒãã¯ã©ãããã匷ãã§ããïŒ
Node.JSã«ã¯ãJavaScriptãã©ãããã©ãŒã éã§æ·±å»ãªç«¶äºçžæã¯ããŸããã ä»ã®èšèªã«ã€ããŠè©±ãå Žåãéžæã¯ã¿ã¹ã¯ãšãéçºè ã®å人çãªå¥œã¿ã«äŸåããŸãã 人ã ãã³ãŒãã£ã³ã°ããããã®ã
Node.jsã®ä»åŸ5幎éã®èŠéãã¯ïŒ
çŸåšããã¹ãŠãéåžžã«è¿ éã«éçºãããŠããã5幎ã¯é·ãæéã§ãã çŸåšã®åŸåãèŠããšãNode.JSã¯æ¥éã«åé²ããŠããŸãã äžæ¹ãNode.JSã®éèŠãªå©ç¹ã¯ãç¹ã«ãã©ãŠã¶ãŒã¬ãã«ã§JavaScriptãå¯äžã®ã¯ãã¹ãã©ãŠã¶ãŒéçºèšèªã§ããããšã§ãã
ããããå°æ¥ãWebAssemblyæšæºãå°å ¥ããããã®å©ç¹ã奪ãããããšã«ãªããŸãã äžæ¹ããããçºçãããšããŠããããã«ã§ã¯ãªããNode.JSã¯ãã®æãŸã§ã«æé·ããŸãã ããããã圌ã«ãšã£ãŠã®ãã®å©ç¹ã¯ããã»ã©éèŠã§ã¯ãªãã§ãããã