Nodejs زادى نىمە؟ قانداق خىزمەت قىلىدۇ
javascript نىڭ تەرەققى قىلىپ ئۆسۈشى بىلەن نورغۇن نەرسىلەرگە ئۆزگەرتىش ئىلىپ كەلدى،بۆگۈنكى تورتېخنكىسنى گۈللەندۈرۈش رىقابىتىمۇ ئوخشاش ئەمەس،بىز بىرقانچە يىللار ئىلگىرى ئويلاشمۇ تەس بولغان ئىشنى بۆگۈن بىز node.js بىلەن قىلالايمىز،javascript نى توركۆرگۈچتە ئىشلەتكەنگە ئوخشاشلا مۇلازىمىتىر تەرەپتىمۇ قوللىنالايمىز،ئەمىليەتتە بىز نورغۇن يىللار ئىلگىرى بۇنى ئويلاشمۇ تەس ئىدى ،چۈنكى بىز flash ياكى java applet قۇتىسىغا سولىنىپ قالغان ئىدۇق،لىكىن ھازىر ئۇنداق ئەمەس داڭلىق توربەتلەرنىڭnode.js ھەققىدىكى ئىنىقلىمىسى مۇنداق
node.js بولسا Googleنىڭ V8 JavaScriptماتورىنىڭ بولاقلانغان توپلىمى بولۇپ،ئاچقۇچىلارغا non-blockingۋە event-driven I/Oئۇقۇمىدا خىزمەت قىلىدىغان قورال ھازىرلاپ بەردى،
تۆۋەندىكى رەسىمدىن nodejsنىڭ قانداق خىزمەت قىلىدىغانلىقىنى كۆرۈۋالغىلى بولىدۇ
![https://ts1.cn.mm.bing.net/th/id/R-C.f0c06711ff0b979af5e9e6ff5f2e608b?rik=OqDc8SanZXGIyA&pid=ImgRaw&r=0](https://)
شۇنداقلا ئىككى خىل ئۇسۇلدا ئۇلىنىدىغان real-time يۇمشاق دېتاللىرىدا websocket ئارقىلىق تېخنكىنى كىڭەيتتى.شۇنداق قىلىپ بىزنىڭ ئىككى خىل ئۇسۇلدا ئۇلىنىدىغان تور يۇمشاق دېتالىمىز بارلىققا كەلدى،لىكىن بىز بۇنى 20 يىل ئاۋال قىلالمايتتۇق.بۇ تېخنكىدا ئابۇنىت تەرەپ ۋە مۇلازىمىتىر تەرەپ ئىككىلىسى سانلىق مەلۇماتنى ئالماشتۇرۇش ئۈچۈن ئالاقىنى باشلىيالايدۇ،بۇنى ئەنئەنىۋى تور ئىنكاسىغا سىلىشتۇرۇپ باقىدىغان بولساق،ئابۇنىت تەرەپ ھەردائىم ئالاقىنى باشلايتتى،قوشۇمچە قىلىپ ئيتقاندا بۇلارنىڭ ھەممىسى HTML, CSS ،javascript ئاساسىدا توپلاشقان بولۇپ ئۆلچەملىك 80 ئىغىزى ئارقىلىق ئىجرا بولاتتى . بەلكىم بەزى كىشىلەر بۇرۇنمۇ بۇ ئىقتىدارلار java apple ياكى flash دىمۇ بار ئىدى دەپ دەۋا قىلىشى مومكىن،لىكىن ئەمىليەتتە بۇلار پەقەت قۇتا ئىچدىكى موھىت بولۇپ transport protocol ئالماشتۇرۇش شەرتنامىسىنى قوللىنىپ ئابۇنىت تەرەپكە يەتكۈزەلەتتى،بۇلاغا قوشۇپ يەنە ھەمىشە ئايرىم موھىت ۋە ئۆلچەمسىز ئىغىزدا ئىجرا بولاتتى،بەلكىم بۇ تېخىمۇ ئارتۇقچە ئىجازەتلەرنى تەلەپ قىلىشى مومكىن . node.js ئۆزىنىڭ ئەۋەزل شارائىتى ۋە ئارتۇقچىلىقى بىلەن نورغۇنلىغان كۆپ پايدىلىق شىركەتلەردە مۇھىم رولىنى ئويناۋاتىدۇnode.js قانداق خىزمەت قىلىدۇ؟node.js نىڭ ئەڭ مۇھىم ئدىيەسى بولسا :بۇ non-blocking, event-driven I/O ئۇقۇمىنى ئىشلەتكەن بولۇپ ھەرخىل ئۈسكۈنىلەرنى كىسپ ئۆتۈپ ئىجرا بولىدىغان سانلىق مەلۇمات مىقدارى يۇقىرى ئىككى خىل ئۇسۇلدا ئۇلىنىدىغان يۇمشاق دېتاللاردا ناھايتى ياخشى ئىجرا بولۇش ئۈنۈمى ۋە يىنىكلىكنى ساقلاپ قالغان، يۇقارقى ئىنىقلىمىنىڭ ھەقىقەتەنمۇ مەنىسى بار.تېخىمۇ مەنىلىكى node.js تور دۇنياسىغا ھۆكۈمرانلىق قىلىشتا خوجايىنلىق رولىنى ئۆتەۋاتقان سۇپا ئەمەس،سۇپا دىگەن بۇ سۆز ھەرخىل ئۈسكۈنىلەردىكى ھەرخىل سېستىمىغا قارىتىلغان مەسىلەن،ئاندىرويىد سۇپىسى،ios سۇپىسى ياكى بولمىسا windows,ۋە linux لارنىڭ ئۆزىمۇ ئايرىم بىر سۇپابەلكى بۇيڭى خاس بىر تەلەپنى قامدايىدىغان سۇپىدۇر،سىز Node.js يۇقىرى دەرىجىدە cpu مىقدارى تەلەپ قىلىدىغان مەشغۇلاتلارغا ئىشلەتمەيسىز ،ئەمىليەتتە Node.js نى مەشغۇلات مىقدارى ئىغىر بولغان تەلەپلەرگە ئىشلىتىش Node.js نىڭ بارلىق ئىقتىدارلىنى بىكار قىلىۋتىدۇ. Node.js نىڭ ئەڭ يورۇق نوقتىسى تىز سۈرئەتلىك scalable تور يۇمشاق دېتالى قۇرۇش بولۇپ، Node.js ناھايتى كۆپ ساندىكى يۇقىرى دەرىجىلىك تەقلىدى ئۇلىنىشنى بىر تەرەپ قىلىش ئىقتىدارىغا ئىگە. ھەر بىر ئۇلىنىش تەلىپى يىڭى لىنىيە بۆلۈپ(يەنى كۆپ لىنىيەلىك) سېستىمىنىڭ ram بوشلۇقىنى ئىگەللەيدىغان،بولۇپمۇ ئىشلەتكىلى بولىدىغان Ram بوشلۇقىنىڭ مىقدارىدىن ھالقىلىپ كىتىدىغا ئەنئەنىۋى تور مۇلازىمىتىر تېخنكىسىغا سىلىشتۇرغاندا,node .js تاق-لىنىيەدە مەشغۇلات ئىلىپ بارالايدۇ(single-thread) , شۇنداقلا non-blocking I/O ئۇقۇمىنى ئىشلىتىپ 10مىڭلىغا ئارقىمۇ-ئارقا ئۇلىنىشنى قوللايدۇnpm بولاق باشقۇرغۇچىnode.js مۇنازىرىسىنى قىلىغاندا سەپتىن چۈشۈپ قالمايدىغان يەنە بىر نەرسە بولسا node.js بۇلاق باشقۇرغۇچىسى(npm module) بولۇپ بۇ بولاق باشقۇرغۇچ node.js بىلەن بىرگە كىلىدۇ،يەنى سىز node.js نى كومپيۇتىرغا قاچىلغان ھاما بۇ بولاق باشقۇرغۇچ تەڭلا كۈچكە ئىگە ،node.js دىكى npm مودىلى ئىديەسى(Ruby بۇ قوليازما تىلى بولۇپ ئىشلەتكۈچىلىرى ناھايتى كۆپ) تىلدىكى rubygem ئۇقۇمىغا ئوخشايدۇ،يەنى بولاق باشقۇرغۇچ مودىلىنى ھەممە كىشى قوللىنالايدىغان بولۇپ ھەمدە بۇبىر قايتا قايتا ئىشلەتكىلى بولىدىغان زاپچاس ھىسابلىنىدۇnode.js نىڭ مەخسۇس بۇلاق باشقۇرۇش بىكىتى بولۇپ سىز node.js سۇپىسىنى كومپيۇتىرىڭىزغا ئورنىتىپ بولغاندىن كىيىن توربىكىتگە كىرىپ دۇنيادىكى بارلىق كىشىلەر ھەقسىز تارقاتقان npm مودىلىغا ئىرىشەلەيسىز،npm بولاق بىتىگە بۇ ئادرسىتىن كىرگىلى بولىدۇ https://npmjs.org/،.
تۆۋەندە بىر قانچە داڭلىق node.js تايانىچ ئامبارلىرىنى تونۇشتۇرۇپ قوياي،Express.js بۇ تىز سۈرئەتتە توربىكەت ئىچىش رامكىسى بولۇپ بۆگۈنكى كۆپلىگەن node.js سۇپىسىدا ئىجرا بولۇۋاتقان توربىكەتلەرنىڭ ئاساسلىقى بۇنىڭ بىلەن ئىچىلغان،ئۇنداق باشقا يەنە بىرداڭلىق سانلىق مەلۇمات باشقۇرۇش سېتىمىسى بولۇپ mongodbدەپ ئاتىلىدۇ،
mongojs بولسا ئويبكىتلىق سانلىق مەلۇمات ئامبىرىغا api تەمىنلەيدۇ،يەنى mongodb ئويبكىتلىق سانلىق مەلۇمات ئامبىرىنى node.js تە قوللىنالايسىز.
ئاپتورى:توركۈچ،رۇخسەتسىز كۆچۈرمەڭ