{"id":18479,"date":"2020-01-21T16:19:33","date_gmt":"2020-01-21T09:19:33","guid":{"rendered":"https:\/\/itviec.com\/blog\/?p=18479"},"modified":"2024-09-29T22:47:41","modified_gmt":"2024-09-29T15:47:41","slug":"hoc-nodejs","status":"publish","type":"post","link":"https:\/\/itviec.com\/blog\/hoc-nodejs\/","title":{"rendered":"15+ T\u00e0i li\u1ec7u h\u1ecdc NodeJS &#8220;ch\u1ea5t&#8221; d\u00e0nh cho Developer"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_84 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">N\u1ed9i dung b\u00e0i vi\u1ebft<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/itviec.com\/blog\/hoc-nodejs\/#NodeJS_la_gi\" >NodeJS l\u00e0 g\u00ec?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/itviec.com\/blog\/hoc-nodejs\/#Ly_do_nen_hoc_NodeJS_la_gi\" >L\u00fd do n\u00ean h\u1ecdc NodeJS l\u00e0 g\u00ec?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/itviec.com\/blog\/hoc-nodejs\/#Tai_lieu_hoc_NodeJS\" >T\u00e0i li\u1ec7u h\u1ecdc NodeJS<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/itviec.com\/blog\/hoc-nodejs\/#Cac_khoa_hoc_lap_trinh_NodeJS\" >C\u00e1c kh\u00f3a h\u1ecdc l\u1eadp tr\u00ecnh NodeJS<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/itviec.com\/blog\/hoc-nodejs\/#Sach_hoc_NodeJS\" >S\u00e1ch h\u1ecdc NodeJS<\/a><\/li><\/ul><\/nav><\/div>\n\r\n<p><strong><em>NodeJS l\u00e0 m\u1ed9t n\u1ec1n t\u1ea3ng \u0111\u01b0\u1ee3c x\u00e2y d\u1ef1ng tr\u00ean V8 JavaScript Engine &#8211; tr\u00ecnh th\u00f4ng d\u1ecbch th\u1ef1c thi m\u00e3 JavaScript, gi\u00fap x\u00e2y d\u1ef1ng c\u00e1c \u1ee9ng d\u1ee5ng web m\u1ed9t c\u00e1ch \u0111\u01a1n gi\u1ea3n v\u00e0 d\u1ec5 d\u00e0ng m\u1edf r\u1ed9ng. <\/em><\/strong><\/p>\r\n\r\n\r\n\r\n<p>Theo <a href=\"https:\/\/insights.stackoverflow.com\/survey\/2019\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"kh\u1ea3o s\u00e1t c\u1ee7a Stack Overflow (opens in a new tab)\">kh\u1ea3o s\u00e1t c\u1ee7a Stack Overflow<\/a> v\u1ec1 c\u00e1c framework, n\u1ec1n t\u1ea3ng \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng nhi\u1ec1u nh\u1ea5t n\u0103m 2019, NodeJS \u0111\u00e3 gi\u00e0nh v\u1ecb tr\u00ed s\u1ed1 1 v\u1edbi s\u1ed1 l\u01b0\u1ee3ng ng\u01b0\u1eddi d\u00f9ng l\u00ean \u0111\u1ebfn g\u1ea7n 50%. \u0110i\u1ec1u \u0111\u00f3 cho th\u1ea5y n\u1ebfu h\u1ecdc NodeJS, c\u01a1 h\u1ed9i vi\u1ec7c l\u00e0m c\u1ee7a b\u1ea1n s\u1ebd v\u00f4 c\u00f9ng r\u1ed9ng m\u1edf.<\/p>\r\n\r\n\r\n\r\n<p>B\u00e0i vi\u1ebft n\u00e0y s\u1ebd cung c\u1ea5p cho b\u1ea1n nh\u1eefng t\u00e0i li\u1ec7u NodeJS ch\u1ea5t nh\u1ea5t (ti\u1ebfng Anh + ti\u1ebfng Vi\u1ec7t), gi\u00fap b\u1ea1n:<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>Hi\u1ec3u NodeJS l\u00e0 g\u00ec v\u00e0 l\u00e0m ch\u1ee7 n\u1ec1n t\u1ea3ng n\u00e0y nhanh ch\u00f3ng<\/li>\r\n<li>C\u1eadp nh\u1eadt c\u00e1c ki\u1ebfn th\u1ee9c m\u1edbi v\u1ec1 NodeJS<\/li>\r\n<li>Giao l\u01b0u v\u00e0 h\u1ecdc h\u1ecfi t\u1eeb c\u1ed9ng \u0111\u1ed3ng NodeJS uy t\u00edn<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<p><strong>Xem th\u00eam <a href=\"https:\/\/itviec.com\/viec-lam-it\/nodejs?utm_source=blogpost&amp;utm_medium=first_post&amp;utm_campaign=linktosite\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\">vi\u1ec7c l\u00e0m NodeJS<\/a> tr\u00ean <a href=\"https:\/\/itviec.com\/vi\" target=\"_blank\" rel=\"noopener noreferrer\">ITviec<\/a><\/strong><\/p>\r\n\r\n\r\n\r\n<p><!--more--><\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\" id=\"h-nodejs-l-g\"><span class=\"ez-toc-section\" id=\"NodeJS_la_gi\"><\/span><strong>NodeJS l\u00e0 g\u00ec? <\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\r\n\r\n\r\n\r\n<p>NodeJS l\u00e0 m\u1ed9t n\u1ec1n t\u1ea3ng \u0111\u01b0\u1ee3c x\u00e2y d\u1ef1ng tr\u00ean V8 JavaScript Engine &#8211; tr\u00ecnh th\u00f4ng d\u1ecbch th\u1ef1c thi m\u00e3 JavaScript, gi\u00fap x\u00e2y d\u1ef1ng c\u00e1c \u1ee9ng d\u1ee5ng web m\u1ed9t c\u00e1ch \u0111\u01a1n gi\u1ea3n v\u00e0 d\u1ec5 d\u00e0ng m\u1edf r\u1ed9ng.<\/p>\r\n\r\n\r\n\r\n<p>NodeJS \u0111\u01b0\u1ee3c ph\u00e1t tri\u1ec3n b\u1edfi Ryan Dahl v\u00e0o n\u0103m 2009 v\u00e0 c\u00f3 th\u1ec3 ch\u1ea1y tr\u00ean nhi\u1ec1u h\u1ec7 \u0111i\u1ec1u h\u00e0nh kh\u00e1c nhau: OS X, Microsoft Windows, Linux.<\/p>\r\n<blockquote>\r\n<p><em>\u0110\u1ecdc th\u00eam: <a href=\"https:\/\/itviec.com\/blog\/nodejs-la-gi\/\" target=\"_blank\" rel=\"noopener\"><strong>NodeJS l\u00e0 g\u00ec: T\u1ed5ng quan ki\u1ebfn th\u1ee9c NodeJS v\u00e0 Top 5 NodeJS framework<\/strong><\/a><\/em><\/p>\r\n<\/blockquote>\r\n\r\n\r\n\r\n<h2><span class=\"ez-toc-section\" id=\"Ly_do_nen_hoc_NodeJS_la_gi\"><\/span><strong>L\u00fd do n\u00ean h\u1ecdc NodeJS l\u00e0 g\u00ec?<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>NodeJS \u0111\u01b0\u1ee3c vi\u1ebft b\u1eb1ng JavaScript v\u1edbi c\u1ed9ng \u0111\u1ed3ng ng\u01b0\u1eddi d\u00f9ng l\u1edbn m\u1ea1nh. N\u1ebfu b\u1ea1n c\u1ea7n h\u1ed7 tr\u1ee3 g\u00ec v\u1ec1 NodeJS, s\u1ebd nhanh ch\u00f3ng c\u00f3 ng\u01b0\u1eddi h\u1ed7 tr\u1ee3 b\u1ea1n.<\/li>\r\n<li>T\u1ed1c \u0111\u1ed9 x\u1eed l\u00fd nhanh. Nh\u1edd c\u01a1 ch\u1ebf x\u1eed l\u00fd b\u1ea5t \u0111\u1ed3ng \u0111\u1ed9 (non-blocking), NodeJS c\u00f3 th\u1ec3 x\u1eed l\u00fd h\u00e0ng ng\u00e0n k\u1ebft n\u1ed1i c\u00f9ng l\u00fac m\u00e0 kh\u00f4ng g\u1eb7p b\u1ea5t c\u1ee9 kh\u00f3 kh\u0103n n\u00e0o.<\/li>\r\n<li>D\u1ec5 d\u00e0ng m\u1edf r\u1ed9ng. N\u1ebfu b\u1ea1n c\u00f3 nhu c\u1ea7u ph\u00e1t tri\u1ec3n website th\u00ec t\u00ednh n\u0103ng d\u1ec5 d\u00e0ng m\u1edf r\u1ed9ng c\u1ee7a NodeJS l\u00e0 m\u1ed9t l\u1ee3i th\u1ebf c\u1ef1c k\u1ef3 quan tr\u1ecdng.<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\" id=\"h-t-i-li-u-h-c-nodejs\"><span class=\"ez-toc-section\" id=\"Tai_lieu_hoc_NodeJS\"><\/span><strong>T\u00e0i li\u1ec7u h\u1ecdc NodeJS<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\r\n\r\n\r\n\r\n<p>Nh\u1eefng t\u00e0i li\u1ec7u h\u1ecdc NodeJS d\u01b0\u1edbi \u0111\u00e2y s\u1ebd \u0111\u01b0\u1ee3c tr\u00ecnh b\u00e0y d\u01b0\u1edbi d\u1ea1ng: tutorial, c\u00e1c kh\u00f3a h\u1ecdc v\u00e0 ebook. B\u1ea1n c\u00f3 th\u1ec3 nhanh ch\u00f3ng ch\u1ecdn h\u00ecnh th\u1ee9c h\u1ecdc m\u00e0 m\u00ecnh c\u1ea3m th\u1ea5y h\u1ee9ng th\u00fa nh\u1ea5t \u0111\u1ec3 b\u1eaft \u0111\u1ea7u.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\" id=\"h-nodejs-tutorial\"><strong>NodeJS tutorial <\/strong><\/h3>\r\n\r\n\r\n\r\n<p><strong>1. <a href=\"https:\/\/www.youtube.com\/watch?v=TlB_eWDSMt4\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"Learn NodeJS in 1 Hour (opens in a new tab)\">Learn NodeJS in 1 Hour<\/a><\/strong><\/p>\r\n\r\n\r\n\r\n<p>Tutorial d\u00e0nh cho beginner v\u1edbi h\u01a1n 1,5 tri\u1ec7u l\u01b0\u1ee3t xem, nh\u01b0 m\u1ed9t l\u1eddi \u0111\u1ea3m b\u1ea3o r\u1eb1ng b\u1ea1n s\u1ebd kh\u00f4ng t\u1ed1n th\u1eddi gian v\u00f4 \u00edch. Ngo\u00e0i NodeJS, b\u1ea1n c\u00f2n c\u00f3 th\u1ec3 h\u1ecdc \u0111\u01b0\u1ee3c nhi\u1ec1u th\u1ee9 hay ho v\u1ec1 l\u1eadp tr\u00ecnh t\u1eeb <a href=\"https:\/\/www.youtube.com\/user\/programmingwithmosh\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"k\u00eanh Youtube (opens in a new tab)\">k\u00eanh Youtube<\/a> c\u1ee7a ch\u00ednh t\u00e1c gi\u1ea3.<\/p>\r\n\r\n\r\n\r\n<p>V\u00ec sao b\u1ea1n n\u00ean xem tutorial n\u00e0y:<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>\u0110\u01a1n gi\u1ea3n, d\u1ec5 hi\u1ec3u, ch\u1ec9 m\u1ea5t 1 ti\u1ebfng \u0111\u1ed3ng h\u1ed3 \u0111\u1ec3 bi\u1ebft NodeJS l\u00e0 g\u00ec v\u00e0 c\u00f3 \u0103n \u0111\u01b0\u1ee3c kh\u00f4ng.<\/li>\r\n<li>Gi\u1edbi thi\u1ec7u chi ti\u1ebft v\u1ec1 t\u1eebng module trong NodeJS v\u00e0 c\u00e1ch s\u1eed d\u1ee5ng ch\u00fang.<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<p><strong>2. <a href=\"https:\/\/www.youtube.com\/watch?v=z9MqDbr6GVs&amp;list=PLWBrqglnjNl0VDneZTLLiOApeBIrk1-S6\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"C\u00e0i \u0111\u1eb7t NodeJS tr\u00ean MacOS v\u00e0 Ubuntu b\u1eb1ng d\u00f2ng l\u1ec7nh (opens in a new tab)\">C\u00e0i \u0111\u1eb7t NodeJS tr\u00ean MacOS v\u00e0 Ubuntu b\u1eb1ng d\u00f2ng l\u1ec7nh<\/a><\/strong><\/p>\r\n\r\n\r\n\r\n<p>\u0110\u01b0\u1ee3c bi\u00ean so\u1ea1n ho\u00e0n to\u00e0n b\u1eb1ng ti\u1ebfng Vi\u1ec7t, tutorial n\u00e0y ph\u00f9 h\u1ee3p cho nh\u1eefng b\u1ea1n kh\u00f4ng gi\u1ecfi ti\u1ebfng Anh. V\u1edbi gi\u1ea3i th\u00edch tr\u1ef1c quan v\u00e0 h\u1ed7 tr\u1ee3 nhanh ch\u00f3ng t\u1eeb t\u00e1c gi\u1ea3 \u1edf ph\u1ea7n b\u00ecnh lu\u1eadn, b\u1ea1n s\u1ebd kh\u00f4ng g\u1eb7p b\u1ea5t c\u1ee9 kh\u00f3 kh\u0103n g\u00ec trong vi\u1ec7c l\u00e0m quen v\u1edbi NodeJS.<\/p>\r\n\r\n\r\n\r\n<p>N\u1ed9i dung ch\u00ednh c\u1ee7a tutorial:<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>C\u00e0i \u0111\u1eb7t Homebrew \u0111\u1ec3 qu\u1ea3n l\u00fd c\u00e1c package trong MacOS.<\/li>\r\n<li>S\u1eed d\u1ee5ng l\u1ec7nh brew trong MacOS ho\u1eb7c apt trong Ubuntu \u0111\u1ec3 c\u00e0i \u0111\u1eb7t NodeJS v\u00e0 npm.<\/li>\r\n<li>S\u1eed d\u1ee5ng npm init \u0111\u1ec3 t\u1ea1o m\u1ed9t d\u1ef1 \u00e1n NodeJS b\u1eb1ng d\u00f2ng l\u1ec7nh.<\/li>\r\n<li>Ch\u1ea1y file NodeJS b\u1eb1ng l\u1ec7nh NodeJS tr\u00ean MacOS v\u00e0 Ubuntu, so s\u00e1nh k\u1ebft qu\u1ea3.<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<p><strong>3. <a href=\"https:\/\/www.tutorialspoint.com\/nodejs\/nodejs_first_application.htm\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"NodeJS Advanced Tutorials (opens in a new tab)\">NodeJS Advanced Tutorials<\/a><\/strong><\/p>\r\n\r\n\r\n\r\n<p>Trang web n\u1ed5i ti\u1ebfng v\u1ec1 c\u00e1c tutorial v\u1ec1 l\u1eadp tr\u00ecnh nh\u01b0 tutorialspoint ch\u1eafc ch\u1eafn kh\u00f4ng th\u1ec3 thi\u1ebfu h\u01b0\u1edbng d\u1eabn v\u1ec1 NodeJS.<\/p>\r\n\r\n\r\n\r\n<p>N\u1ebfu b\u1ea1n \u0111ang t\u00f2 m\u00f2 mu\u1ed1n bi\u1ebft Tutorial n\u00e0y ch\u1ee9a \u0111\u1ef1ng nh\u1eefng g\u00ec th\u00ec \u0111\u00f3 l\u00e0:<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>T\u1ea5t t\u1ea7n t\u1eadt c\u00e1ch th\u1ee9c l\u00e0m vi\u1ec7c v\u1edbi c\u00e1c ph\u1ea7n ch\u1ee7 \u0111\u1ea1o c\u1ee7a NodeJS, t\u1eeb m\u00f4i tr\u01b0\u1eddng c\u00e0i \u0111\u1eb7t, npm cho \u0111\u1ebfn streams, Buffers, Restful API, Express..<\/li>\r\n<li>Cung c\u1ea5p nh\u1eefng t\u00e0i li\u1ec7u h\u1eefu \u00edch kh\u00e1c li\u00ean quan \u0111\u1ebfn NodeJS.<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"360\" class=\"wp-image-18488\" src=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2020\/01\/hoc-nodejs-1-640x360.jpg\" alt=\"nodejs-la-gi-1\" srcset=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2020\/01\/hoc-nodejs-1.jpg 640w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2020\/01\/hoc-nodejs-1-300x169.jpg 300w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2020\/01\/hoc-nodejs-1-768x432.jpg 768w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2020\/01\/hoc-nodejs-1-200x113.jpg 200w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/figure>\r\n\r\n\r\n\r\n<p><strong>4. <a href=\"https:\/\/www.guru99.com\/node-js-tutorial.html\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"NodeJS Tutorial: Learn in 3 Days (opens in a new tab)\">NodeJS Tutorial: Learn in 3 Days<\/a><\/strong><\/p>\r\n\r\n\r\n\r\n<p>N\u1ebfu b\u1ea1n ch\u1ec9 mu\u1ed1n t\u00ecm hi\u1ec3u NodeJS \u1edf m\u1ee9c \u0111\u1ed9 c\u01a1 b\u1ea3n, kh\u00f4ng qu\u00e1 \u0111i v\u00e0o chi ti\u1ebft th\u00ec tutorial n\u00e0y, v\u1edbi th\u1eddi l\u01b0\u1ee3ng 3 ng\u00e0y, r\u1ea5t \u0111\u00e1ng \u0111\u1ec3 b\u1ea1n c\u00e2n nh\u1eafc.<\/p>\r\n\r\n\r\n\r\n<p>Ngo\u00e0i nh\u1eefng th\u1ee9 c\u1ea7n ph\u1ea3i bi\u1ebft nh\u01b0 c\u00e1c module, Express hay <a href=\"https:\/\/itviec.com\/blog\/mongodb-la-gi\/\" target=\"_blank\" rel=\"noopener\">MongoDB<\/a>, b\u1ea1n c\u00f2n \u0111\u01b0\u1ee3c h\u01b0\u1edbng d\u1eabn v\u1ec1:<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>NodeJS Promise v\u00e0 Bluebird Promises.<\/li>\r\n<li>Tr\u00ecnh t\u1ea1o NodeJS v\u00e0 Callbacks.<\/li>\r\n<li>Ki\u1ec3m tra NodeJS v\u1edbi Jasmine.<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\" id=\"h-c-c-kh-a-h-c-l-p-tr-nh-nodejs\"><span class=\"ez-toc-section\" id=\"Cac_khoa_hoc_lap_trinh_NodeJS\"><\/span><strong>C\u00e1c kh\u00f3a h\u1ecdc l\u1eadp tr\u00ecnh NodeJS<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\r\n\r\n\r\n\r\n<p><strong>1. <a href=\"https:\/\/www.coursera.org\/learn\/node-js\" target=\"_blank\" rel=\"noopener\">Developing Cloud Applications with Node.js and React<\/a><\/strong><\/p>\r\n\r\n\r\n\r\n<p>\u0110\u01b0\u1ee3c bi\u00ean so\u1ea1n b\u1edfi IBM v\u1edbi th\u1eddi l\u01b0\u1ee3ng h\u1ecdc kho\u1ea3ng 5 tu\u1ea7n v\u00e0 ho\u00e0n to\u00e0n mi\u1ec5n ph\u00ed, kh\u00f3a h\u1ecdc r\u1ea5t \u0111\u00e1ng \u0111\u1ec3 b\u1ea1n \u0111\u1ea7u t\u01b0 th\u1eddi gian v\u00e0 c\u00f4ng s\u1ee9c.<\/p>\r\n\r\n\r\n\r\n<p>N\u1ed9i dung ch\u00ednh c\u1ee7a kh\u00f3a h\u1ecdc xoay quanh:<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>T\u1ea1o \u1ee9ng d\u1ee5ng ph\u00eda m\u00e1y ch\u1ee7 v\u1edbi khung Javascript Node.js<\/li>\r\n<li>Tri\u1ec3n khai \u1ee9ng d\u1ee5ng web c\u1ee7a b\u1ea1n l\u00ean n\u1ec1n t\u1ea3ng \u0110\u00e1m m\u00e2y c\u1ee7a IBM<\/li>\r\n<li>M\u1edf r\u1ed9ng \u1ee9ng d\u1ee5ng Node.js c\u1ee7a b\u1ea1n v\u1edbi c\u00e1c g\u00f3i c\u1ee7a b\u00ean th\u1ee9 ba<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<p><strong>2. <a href=\"https:\/\/www.codecademy.com\/learn\/learn-node-js\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"Learn NodeJS (opens in a new tab)\">Learn NodeJS<\/a><\/strong><\/p>\r\n\r\n\r\n\r\n<p>N\u1ebfu b\u1ea1n l\u00e0 ng\u01b0\u1eddi kh\u00f4ng gi\u1ecfi ki\u00ean nh\u1eabn v\u00e0 mu\u1ed1n bi\u1ebft NodeJS l\u00e0 g\u00ec nhanh nh\u1ea5t c\u00f3 th\u1ec3 th\u00ec \u0111\u00e2y ch\u00ednh x\u00e1c l\u00e0 kh\u00f3a h\u1ecdc ph\u00f9 h\u1ee3p nh\u1ea5t cho b\u1ea1n. \u0110\u01b0\u1ee3c thi\u1ebft k\u1ebf v\u00f4 c\u00f9ng ng\u1eafn g\u1ecdn, c\u00f3 th\u1ec3 ho\u00e0n th\u00e0nh ch\u1ec9 trong 1 ti\u1ebfng \u0111\u1ed3ng h\u1ed3 v\u1edbi h\u01a1n 45 tri\u1ec7u ng\u01b0\u1eddi tham gia. C\u00f2n g\u00ec tuy\u1ec7t v\u1eddi h\u01a1n!<\/p>\r\n\r\n\r\n\r\n<p>Sau kh\u00f3a h\u1ecdc, b\u1ea1n s\u1ebd:<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>Bi\u1ebft \u0111\u01b0\u1ee3c s\u1ef1 kh\u00e1c nhau gi\u1eefa c\u00e1c components c\u1ee7a m\u1ed9t \u1ee9ng d\u1ee5ng web back-end.<\/li>\r\n<li>Kh\u00e1m ph\u00e1 m\u00f4i tr\u01b0\u1eddng NodeJS JavaScript runtime.<\/li>\r\n<li>X\u00e2y d\u1ef1ng \u1ee9ng d\u1ee5ng m\u1ea1nh m\u1ebd nh\u1edd v\u00e0o Express.<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"207\" class=\"wp-image-18489\" src=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2020\/01\/hoc-nodejs-2.jpg\" alt=\"nodejs-la-gi-2\" srcset=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2020\/01\/hoc-nodejs-2.jpg 600w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2020\/01\/hoc-nodejs-2-300x104.jpg 300w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2020\/01\/hoc-nodejs-2-200x69.jpg 200w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/figure>\r\n\r\n\r\n\r\n<p><strong>3. <a href=\"https:\/\/khoapham.vn\/khoa-hoc-lap-trinh-nodejs.html\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"Kh\u00f3a h\u1ecdc l\u1eadp tr\u00ecnh NodeJS (opens in a new tab)\">Kh\u00f3a h\u1ecdc l\u1eadp tr\u00ecnh NodeJS<\/a><\/strong><\/p>\r\n\r\n\r\n\r\n<p>\u0110\u00e2y l\u00e0 kh\u00f3a h\u1ecdc NodeJS \u0111\u01b0\u1ee3c tr\u00ecnh b\u00e0y ho\u00e0n to\u00e0n b\u1eb1ng ti\u1ebfng Vi\u1ec7t \u0111\u1ebfn t\u1eeb Khoa Ph\u1ea1m &#8211; \u0111\u01a1n v\u1ecb kh\u00e1 uy t\u00edn trong vi\u1ec7c ph\u00e1t h\u00e0nh c\u00e1c kh\u00f3a h\u1ecdc online. N\u1ebfu ho\u00e0n th\u00e0nh h\u01a1n 80% kh\u00f3a h\u1ecdc, b\u1ea1n s\u1ebd \u0111\u01b0\u1ee3c c\u1ea5p ch\u1ee9ng nh\u1eadn, kh\u00e1 c\u00f3 l\u1ee3i khi b\u1ea1n \u0111i ph\u1ecfng v\u1ea5n.<\/p>\r\n\r\n\r\n\r\n<p>M\u1ed9t s\u1ed1 n\u1ed9i dung ch\u00ednh trong kh\u00f3a h\u1ecdc:<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>H\u1ecdc v\u1ec1 l\u1eadp tr\u00ecnh NodeJS \u1edf ph\u00eda server, quy tr\u00ecnh ho\u1ea1t \u0111\u1ed9ng c\u1ee7a NodeJS.<\/li>\r\n<li>X\u00e2y d\u1ef1ng Restful API, k\u1ebft n\u1ed1i c\u01a1 s\u1edf d\u1eef li\u1ec7u MySQL, MongoDB v\u00e0 c\u00e1ch s\u1eed d\u1ee5ng Express, SocketIO.<\/li>\r\n<li>Nh\u1eefng d\u1ef1 \u00e1n th\u1ef1c t\u1ebf ch\u1ea1y tr\u00ean n\u1ec1n t\u1ea3ng NodeJS \u0111\u1ec3 \u0111\u1ea3m b\u1ea3o b\u1ea1n n\u1eafm \u0111\u01b0\u1ee3c nh\u1eefng ki\u1ebfn th\u1ee9c \u0111\u00e3 h\u1ecdc.<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\" id=\"h-s-ch-h-c-nodejs\"><span class=\"ez-toc-section\" id=\"Sach_hoc_NodeJS\"><\/span><strong>S\u00e1ch h\u1ecdc NodeJS <\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\r\n\r\n\r\n\r\n<p><strong>1. <a href=\"https:\/\/www.amazon.com\/Get-Programming-Node-js-Jonathan-Wexler\/dp\/1617294748\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"Get Programming with NodeJS  (opens in a new tab)\">Get Programming with NodeJS <\/a><\/strong><\/p>\r\n\r\n\r\n\r\n<p>Get Programming with NodeJS d\u1ea1y b\u1ea1n c\u00e1ch vi\u1ebft back-end code b\u1eb1ng JavaScript, s\u1eed d\u1ee5ng NodeJS. Nhi\u1ec1u minh h\u1ecda vui nh\u1ed9n, v\u00ed d\u1ee5 c\u1ee5 th\u1ec3 v\u00e0 nh\u1ecbp \u0111\u1ed9 t\u01b0\u01a1ng \u0111\u1ed1i nhanh, b\u1ea1n s\u1ebd kh\u00f4ng bao gi\u1edd c\u1ea3m th\u1ea5y nh\u00e0m ch\u00e1n.<\/p>\r\n\r\n\r\n\r\n<p>C\u1ee5 th\u1ec3 th\u00ec s\u00e1ch s\u1ebd bao g\u1ed3m nh\u1eefng n\u1ed9i dung ch\u00ednh:<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>T\u00ecm hi\u1ec3u c\u00e1c b\u01b0\u1edbc quan tr\u1ecdng \u0111\u1ec3 c\u00e0i \u0111\u1eb7t v\u00e0 l\u00e0m vi\u1ec7c v\u1edbi NodeJS.<\/li>\r\n<li>C\u00e1ch thi\u1ebft l\u1eadp m\u1ed9t \u1ee9ng d\u1ee5ng b\u1eb1ng Express v\u00e0 k\u1ebft n\u1ed1i v\u1edbi d\u1eef li\u1ec7u MongoDB.<\/li>\r\n<li>C\u00e1ch x\u00e2y d\u1ef1ng API, th\u00eam ch\u1ee9c n\u0103ng chat cho \u1ee9ng d\u1ee5ng web v\u00e0 qu\u1ea3n l\u00fd code tr\u00ean m\u00f4i tr\u01b0\u1eddng production hi\u1ec7u qu\u1ea3.<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<p><strong>2. <a href=\"https:\/\/www.amazon.com\/Mastering-Node-js-techniques-applications-Experience-ebook\/dp\/B00GX9HM8A\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"Mastering NodeJS (opens in a new tab)\">Mastering NodeJS<\/a><\/strong><\/p>\r\n\r\n\r\n\r\n<p>Mastering NodeJS \u0111\u01b0\u1ee3c vi\u1ebft b\u1edfi Sandro Pasquali, l\u00e0 m\u1ed9t trong nh\u1eefng cu\u1ed1n s\u00e1ch vi\u1ebft v\u1ec1 c\u00e1c concept ch\u1ee7 \u0111\u1ea1o c\u1ee7a NodeJS nh\u01b0 streams, child processes, clustering, events\u2026<\/p>\r\n\r\n\r\n\r\n<p>T\u00e1c gi\u1ea3 mu\u1ed1n nh\u1eafc nh\u1edf \u0111\u1ed9c gi\u1ea3 \u0111\u1eebng ch\u1ec9 t\u1eadp trung v\u00e0o MEAN Stack hay Express &#8211; module ph\u1ed5 bi\u1ebfn c\u1ee7a NodeJS m\u00e0 n\u00ean n\u1eafm c\u1ea3 nh\u1eefng concept ch\u00ednh c\u1ee7a n\u00f3 \u0111\u1ec3 c\u00f3 th\u1ec3 suy ngh\u0129 t\u1ed1t h\u01a1n v\u00e0 thi\u1ebft k\u1ebf h\u1ec7 th\u1ed1ng m\u1edf r\u1ed9ng hi\u1ec7u qu\u1ea3 h\u01a1n.<\/p>\r\n\r\n\r\n\r\n<p>\u0110\u1ecdc h\u1ebft cu\u1ed1n s\u00e1ch, b\u1ea1n s\u1ebd bi\u1ebft \u0111\u01b0\u1ee3c:<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>C\u00e1ch NodeJS s\u1eed d\u1ee5ng c\u00f4ng c\u1ee5 V8 c\u1ee7a Google tr\u00ean server.<\/li>\r\n<li>T\u1eadn d\u1ee5ng h\u1ec7 th\u1ed1ng module c\u1ee7a NodeJS \u0111\u1ec3 thi\u1ebft k\u1ebf c\u00e1c \u1ee9ng d\u1ee5ng c\u00f3 th\u1ec3 d\u1ec5 d\u00e0ng m\u1edf r\u1ed9ng.<\/li>\r\n<li>T\u00ecm hi\u1ec3u k\u1ef9 thu\u1eadt m\u1edf r\u1ed9ng v\u00e0 ho\u1ea1t \u0111\u1ed9ng song song tr\u00ean nhi\u1ec1u l\u00f5i (core).<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"519\" height=\"640\" class=\"wp-image-18490\" src=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2020\/01\/hoc-nodejs-3-519x640.jpg\" alt=\"nodejs-la-gi-3\" srcset=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2020\/01\/hoc-nodejs-3.jpg 519w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2020\/01\/hoc-nodejs-3-243x300.jpg 243w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2020\/01\/hoc-nodejs-3-768x947.jpg 768w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2020\/01\/hoc-nodejs-3-162x200.jpg 162w\" sizes=\"auto, (max-width: 519px) 100vw, 519px\" \/><\/figure>\r\n\r\n\r\n\r\n<p><strong>3. <a href=\"https:\/\/www.amazon.com\/Node-js-Design-Patterns-server-side-applications\/dp\/1785885588\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"NodeJS Design Patterns (opens in a new tab)\">NodeJS Design Patterns<\/a><\/strong><\/p>\r\n\r\n\r\n\r\n<p>Design patterns l\u00e0 m\u1ed9t ph\u1ea7n thi\u1ebft y\u1ebfu c\u1ee7a nh\u1eefng \u0111o\u1ea1n code ch\u1ea5t l\u01b0\u1ee3ng v\u00e0 b\u1edfi v\u00ec JavaScript l\u00e0 m\u1ed9t ng\u00f4n ng\u1eef \u0111\u1ed9ng n\u00ean vi\u1ec7c \u0111\u01b0a ra \u0111\u01b0\u1ee3c design pattern t\u1ed1t nh\u1ea5t c\u00f3 v\u1ebb c\u00e0ng kh\u00f3 kh\u0103n h\u01a1n. Cu\u1ed1n s\u00e1ch bao g\u1ed3m nhi\u1ec1u design pattern k\u00e8m v\u00ed d\u1ee5, b\u1ea1n c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng ch\u00fang \u0111\u1ec3 vi\u1ebft code ch\u1ea5t l\u01b0\u1ee3ng trong NodeJS.<\/p>\r\n\r\n\r\n\r\n<p>S\u00e1ch s\u1ebd gi\u00fap b\u1ea1n:<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>Thi\u1ebft k\u1ebf v\u00e0 tri\u1ec3n khai m\u1ed9t lo\u1ea1t c\u00e1c pattern JavaScript ph\u00eda server, b\u1ea1n s\u1ebd hi\u1ec3u t\u1ea1i sao v\u00e0 khi n\u00e0o n\u00ean \u00e1p d\u1ee5ng ch\u00fang trong c\u00e1c t\u00ecnh hu\u1ed1ng kh\u00e1c nhau.<\/li>\r\n<li>X\u00e1c \u0111\u1ecbnh c\u00e1c y\u1ebfu t\u1ed1 quan tr\u1ecdng nh\u1ea5t v\u00e0 \u00e1p d\u1ee5ng c\u00e1c th\u1ee7 thu\u1eadt \u0111\u1ed9c \u0111\u00e1o nh\u1eb1m l\u00e0m t\u0103ng kh\u1ea3 n\u0103ng m\u1edf r\u1ed9ng cho c\u00e1c \u1ee9ng d\u1ee5ng NodeJS.<\/li>\r\n<li>Kh\u00e1m ph\u00e1 c\u00e1c xu h\u01b0\u1edbng m\u1edbi nh\u1ea5t trong Universal JavaScript v\u00e0 t\u00ecm hi\u1ec3u c\u00e1ch vi\u1ebft code ch\u1ea1y tr\u00ean c\u1ea3 NodeJS v\u00e0 tr\u00ecnh duy\u1ec7t.<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<p><strong>4. <a href=\"https:\/\/leanpub.com\/b\/node-beginner-and-craftsman-bundle\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"The NodeJS Beginner &amp; Craftsman Bundle (opens in a new tab)\">The NodeJS Beginner &amp; Craftsman Bundle<\/a><\/strong><\/p>\r\n\r\n\r\n\r\n<p>S\u1ef1 k\u1ebft h\u1ee3p tuy\u1ec7t v\u1eddi c\u1ee7a 2 cu\u1ed1n s\u00e1ch \u201cThe NodeJS Beginner Book\u201d v\u00e0 \u201cThe NodeJS Craftsman\u201d s\u1ebd gi\u00fap b\u1ea1n ho\u00e0n to\u00e0n l\u00e0m ch\u1ee7 vi\u1ec7c ph\u00e1t tri\u1ec3n JavaScript \u1edf ph\u00eda server th\u00f4ng qua NodeJS. S\u00e1ch c\u00f3 h\u01a1n 220 trang, r\u1ea5t \u0111\u1ea7y \u0111\u1ee7 v\u00e0 chi ti\u1ebft.<\/p>\r\n\r\n\r\n\r\n<p>B\u1ea1n s\u1ebd bi\u1ebft \u0111\u01b0\u1ee3c:<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>Ch\u00ednh x\u00e1c kh\u00e1i ni\u1ec7m NodeJS v\u00e0 c\u00e1ch n\u00f3 ho\u1ea1t \u0111\u1ed9ng.<\/li>\r\n<li>L\u00e0m th\u1ebf n\u00e0o \u0111\u1ec3 k\u1ebft n\u1ed1i \u0111\u1ebfn 1 d\u1eef li\u1ec7u nh\u01b0 MongoDB hay MYSQL t\u1eeb \u1ee9ng d\u1ee5ng NodeJS.<\/li>\r\n<li>L\u00e0m th\u1ebf n\u00e0o \u0111\u1ec3 t\u00edch h\u1ee3p NodeJS v\u1edbi <a href=\"https:\/\/itviec.com\/blog\/angular-la-gi\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"AngularJS (opens in a new tab)\">AngularJS<\/a>.<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<p><strong>5. <a href=\"http:\/\/book.mixu.net\/node\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"Mixu's NodeJS book (opens in a new tab)\">Mixu&#8217;s NodeJS book<\/a><\/strong><\/p>\r\n\r\n\r\n\r\n<p>T\u00e1c gi\u1ea3 ebook t\u00ean th\u1eadt l\u00e0 Mikito Takada, hi\u1ec7n \u0111ang l\u00e0 l\u1eadp tr\u00ecnh vi\u00ean c\u1ee7a Stripe. B\u1eb1ng nh\u1eefng kinh nghi\u1ec7m l\u00e0m vi\u1ec7c v\u1edbi NodeJS c\u1ee7a m\u00ecnh, t\u00e1c gi\u1ea3 mang \u0111\u1ebfn g\u00f3c nh\u00ecn ch\u00e2n th\u1ef1c v\u00e0 nh\u1eefng v\u00ed d\u1ee5 c\u1ee5 th\u1ec3. Vi\u1ec7c h\u1ecdc NodeJS ch\u01b0a bao gi\u1edd d\u1ec5 d\u00e0ng \u0111\u1ebfn v\u1eady. B\u1ea1n c\u00f3 th\u1ec3 \u0111\u1ecdc tr\u1ef1c ti\u1ebfp tr\u00ean website c\u1ee7a Mixu.<\/p>\r\n\r\n\r\n\r\n<p>B\u1ea1n s\u1ebd n\u1eafm \u0111\u01b0\u1ee3c nh\u1eefng \u0111i\u1ec3m m\u1ea5u ch\u1ed1t sau trong cu\u1ed1n s\u00e1ch:<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>NodeJS l\u00e0 g\u00ec v\u00e0 c\u00e1c kh\u00e1i ni\u1ec7m c\u01a1 b\u1ea3n li\u00ean quan: V8, Arrays, Objects, JSON.<\/li>\r\n<li>C\u00e1c th\u01b0 vi\u1ec7n v\u00e0 pattern NodeJS ph\u1ed5 bi\u1ebfn.<\/li>\r\n<li>T\u00ecm hi\u1ec3u th\u00eam v\u1ec1 Comet v\u00e0 Socket.io.<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<p><strong>6. <a href=\"https:\/\/flaviocopes.com\/nodejs\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"NodeJS Handbook (opens in a new tab)\">NodeJS Handbook<\/a><\/strong><\/p>\r\n\r\n\r\n\r\n<p>Xu\u1ea5t b\u1ea3n n\u0103m 2018 v\u1edbi 189 trang, NodeJS Handbook d\u01b0\u1eddng nh\u01b0 ch\u1ee9a t\u1ea5t c\u1ea3 nh\u1eefng th\u00f4ng tin c\u1ea7n thi\u1ebft nh\u1ea5t cho m\u1ed9t ng\u01b0\u1eddi m\u1edbi, mu\u1ed1n t\u00ecm hi\u1ec3u v\u1ec1 NodeJS. Ebook ho\u00e0n to\u00e0n mi\u1ec5n ph\u00ed.<\/p>\r\n\r\n\r\n\r\n<p>Nh\u1eefng th\u00f4ng tin b\u1ea1n g\u1eb7t h\u00e1i \u0111\u01b0\u1ee3c t\u1eeb ebook:<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>Gi\u1edbi thi\u1ec7u chi ti\u1ebft v\u1ec1 NodeJS, c\u00e1ch c\u00e0i \u0111\u1eb7t NodeJS v\u00e0 kh\u1ed1i l\u01b0\u1ee3ng JavaScript b\u1ea1n c\u1ea7n c\u00f3 \u0111\u1ec3 b\u1eaft \u0111\u1ea7u h\u1ecdc NodeJS.<\/li>\r\n<li>C\u00e1ch s\u1eed d\u1ee5ng c\u00e1c module c\u1ee7a NodeJS v\u00e0 npm.<\/li>\r\n<li>C\u00e1ch l\u00e0m vi\u1ec7c hi\u1ec7u qu\u1ea3 v\u1edbi command line, event loop v\u00e0 l\u1eadp tr\u00ecnh kh\u00f4ng \u0111\u1ed3ng b\u1ed9.<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"529\" class=\"wp-image-18491\" src=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2020\/01\/hoc-nodejs-4-640x529.png\" alt=\"\" srcset=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2020\/01\/hoc-nodejs-4.png 640w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2020\/01\/hoc-nodejs-4-300x248.png 300w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2020\/01\/hoc-nodejs-4-768x634.png 768w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2020\/01\/hoc-nodejs-4-200x165.png 200w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/figure>\r\n\r\n\r\n\r\n<p><strong>7. <\/strong><strong> <a href=\"https:\/\/www.syncfusion.com\/ebooks\/confirmation\/nodejs\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"NodeJS Succinctly (opens in a new tab)\">NodeJS Succinctly<\/a><\/strong><\/p>\r\n\r\n\r\n\r\n<p>Ngo\u00e0i nh\u1eefng ki\u1ebfn th\u1ee9c c\u01a1 b\u1ea3n v\u1ec1 NodeJS b\u1ea1n c\u00f3 th\u1ec3 t\u00ecm th\u1ea5y \u1edf nhi\u1ec1u ngu\u1ed3n kh\u00e1c, NodeJS Succinctly c\u00f2n b\u1ed5 sung nhi\u1ec1u h\u01b0\u1edbng d\u1eabn th\u00fa v\u1ecb v\u1ec1 c\u00e1ch ph\u00e1t huy t\u1ed1i \u0111a s\u1ee9c m\u1ea1nh c\u1ee7a n\u1ec1n t\u1ea3ng c\u1ef1c ph\u1ed5 bi\u1ebfn v\u1edbi c\u00e1c Developer.<\/p>\r\n\r\n\r\n\r\n<p>\u0110\u00f3 l\u00e0:<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>C\u00e1ch s\u1eed d\u1ee5ng Filesystems v\u00e0 streams c\u00f9ng c\u00e1c h\u1ec7 sinh th\u00e1i ph\u1ed5 bi\u1ebfn c\u1ee7a NodeJS.<\/li>\r\n<li>H\u01b0\u1edbng d\u1eabn vi\u1ebft m\u1ed9t \u1ee9ng d\u1ee5ng web real-time v\u1edbi WebSocket.<\/li>\r\n<li>Li\u1ec7t k\u00ea nh\u1eefng c\u00f4ng c\u1ee5 h\u1ed7 tr\u1ee3 h\u1eefu \u00edch cho vi\u1ec7c x\u00e2y d\u1ef1ng v\u00e0 th\u1eed nghi\u1ec7m.<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<p><strong>8. <a href=\"https:\/\/www.amazon.com\/Web-Development-Node-Express-Leveraging\/dp\/1491949309\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"Web Development with NodeJS and Express (opens in a new tab)\">Web Development with NodeJS and Express<\/a><\/strong><\/p>\r\n\r\n\r\n\r\n<p>N\u1ebfu b\u1ea1n \u0111ang t\u00ecm ki\u1ebfm m\u1ed9t h\u01b0\u1edbng \u0111i \u0111\u1ec3 t\u1eadn d\u1ee5ng l\u1ee3i th\u1ebf t\u1eeb c\u00e1c stack JavaScript th\u00ec \u0111\u00e2y l\u00e0 m\u1ed9t trong nh\u1eefng cu\u1ed1n s\u00e1ch hay nh\u1ea5t \u0111\u1ec3 h\u1ecdc v\u1ec1 NodeJS v\u00e0 Express framework.<\/p>\r\n\r\n\r\n\r\n<p>S\u00e1ch gi\u00fap b\u1ea1n:<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>T\u1ea1o m\u1ed9t h\u1ec7 th\u1ed1ng c\u00e1c trang web m\u1eabu \u0111\u1ec3 hi\u1ec3n th\u1ecb c\u00e1c d\u1eef li\u1ec7u \u0111\u1ed9ng.<\/li>\r\n<li>M\u00f4 ph\u1ecfng m\u00f4i tr\u01b0\u1eddng production \u0111\u1ec3 th\u1eed nghi\u1ec7m (testing) v\u00e0 ph\u00e1t tri\u1ec3n (development).<\/li>\r\n<li>S\u1eed d\u1ee5ng API RESTful \u0111\u1ec3 cung c\u1ea5p t\u00e0i nguy\u00ean c\u1ee7a b\u1ea1n cho c\u00e1c ch\u01b0\u01a1ng tr\u00ecnh kh\u00e1c.<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"452\" height=\"640\" class=\"wp-image-18492\" src=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2020\/01\/hoc-nodejs-5-452x640.jpg\" alt=\"\" srcset=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2020\/01\/hoc-nodejs-5.jpg 452w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2020\/01\/hoc-nodejs-5-212x300.jpg 212w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2020\/01\/hoc-nodejs-5-141x200.jpg 141w\" sizes=\"auto, (max-width: 452px) 100vw, 452px\" \/><\/figure>\r\n\r\n\r\n\r\n<p style=\"text-align: center;\"><strong>\u0110i\u1ec1u khi\u1ebfn b\u1ea1n h\u1ee9ng th\u00fa khi h\u1ecdc NodeJS l\u00e0 g\u00ec? B\u1ea1n ngh\u0129 nh\u1eefng t\u00e0i li\u1ec7u h\u1ecdc NodeJS n\u00e0y h\u1eefu \u00edch v\u1edbi b\u1ea1n b\u00e8 c\u1ee7a m\u00ecnh? Chia s\u1ebb b\u00e0i vi\u1ebft ngay \u0111\u1ec3 gi\u00fap c\u1ed9ng \u0111\u1ed3ng Developer c\u00f9ng ph\u00e1t tri\u1ec3n.<\/strong><\/p>\r\n\r\n\r\n\r\n<p class=\"has-text-align-center\" style=\"text-align: center;\"><strong>V\u00e0 \u0111\u1eebng qu\u00ean xem h\u00e0ng tr\u0103m <a href=\"https:\/\/itviec.com\/viec-lam-it\/developer?utm_source=blogpost&amp;utm_medium=end_post&amp;utm_campaign=linktosite\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\">vi\u1ec7c l\u00e0m Developer<\/a> tr\u00ean ITviec.<\/strong><\/p>\r\n","protected":false},"excerpt":{"rendered":"<p>NodeJS l\u00e0 m\u1ed9t n\u1ec1n t\u1ea3ng \u0111\u01b0\u1ee3c x\u00e2y d\u1ef1ng tr\u00ean V8 JavaScript Engine &#8211; tr\u00ecnh th\u00f4ng d\u1ecbch th\u1ef1c thi m\u00e3 JavaScript, gi\u00fap x\u00e2y d\u1ef1ng c\u00e1c \u1ee9ng d\u1ee5ng web m\u1ed9t c\u00e1ch \u0111\u01a1n gi\u1ea3n v\u00e0 d\u1ec5 d\u00e0ng m\u1edf r\u1ed9ng. Theo kh\u1ea3o s\u00e1t c\u1ee7a Stack Overflow v\u1ec1 c\u00e1c framework, n\u1ec1n t\u1ea3ng \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng nhi\u1ec1u nh\u1ea5t n\u0103m 2019, NodeJS [&hellip;]<\/p>\n","protected":false},"author":87,"featured_media":18486,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_gspb_post_css":"","footnotes":""},"categories":[109,10106],"tags":[10129,10117],"class_list":["post-18479","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-chuyen-mon-it","category-tai-lieu-js","tag-nodejs","tag-tai-lieu"],"blocksy_meta":[],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.8 (Yoast SEO v27.7) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>NodeJS l\u00e0 g\u00ec? T\u1ea5t t\u1ea7n t\u1eadt v\u1ec1 NodeJS b\u1ea1n c\u1ea7n bi\u1ebft? | ITviec<\/title>\n<meta name=\"description\" content=\"Theo 1 kh\u1ea3o s\u00e1t c\u1ee7a Stack Overflow, NodeJS l\u00e0 n\u1ec1n t\u1ea3ng \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng nhi\u1ec1u nh\u1ea5t n\u0103m 2019 v\u1edbi s\u1ed1 l\u01b0\u1ee3ng ng\u01b0\u1eddi d\u00f9ng l\u00ean \u0111\u1ebfn g\u1ea7n 50%. V\u1eady NodeJS l\u00e0 g\u00ec? V\u00ec sao...\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/itviec.com\/blog\/hoc-nodejs\/\" \/>\n<meta property=\"og:locale\" content=\"vi_VN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"15+ T\u00e0i li\u1ec7u h\u1ecdc NodeJS &quot;ch\u1ea5t&quot; d\u00e0nh cho Developer\" \/>\n<meta property=\"og:description\" content=\"NodeJS l\u00e0 m\u1ed9t n\u1ec1n t\u1ea3ng \u0111\u01b0\u1ee3c x\u00e2y d\u1ef1ng tr\u00ean V8 JavaScript Engine - tr\u00ecnh th\u00f4ng d\u1ecbch th\u1ef1c thi m\u00e3 JavaScript, gi\u00fap x\u00e2y d\u1ef1ng c\u00e1c \u1ee9ng d\u1ee5ng web m\u1ed9t c\u00e1ch \u0111\u01a1n gi\u1ea3n\" \/>\n<meta property=\"og:url\" content=\"https:\/\/itviec.com\/blog\/hoc-nodejs\/\" \/>\n<meta property=\"og:site_name\" content=\"ITviec Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/ITviec\" \/>\n<meta property=\"article:published_time\" content=\"2020-01-21T09:19:33+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-09-29T15:47:41+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2020\/01\/nodejs-la-gi-thumbnail.png\" \/>\n\t<meta property=\"og:image:width\" content=\"640\" \/>\n\t<meta property=\"og:image:height\" content=\"335\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Tinh To\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@ITviec\" \/>\n<meta name=\"twitter:site\" content=\"@ITviec\" \/>\n<meta name=\"twitter:label1\" content=\"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi\" \/>\n\t<meta name=\"twitter:data1\" content=\"Tinh To\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 ph\u00fat\" \/>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"NodeJS l\u00e0 g\u00ec? T\u1ea5t t\u1ea7n t\u1eadt v\u1ec1 NodeJS b\u1ea1n c\u1ea7n bi\u1ebft? | ITviec","description":"Theo 1 kh\u1ea3o s\u00e1t c\u1ee7a Stack Overflow, NodeJS l\u00e0 n\u1ec1n t\u1ea3ng \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng nhi\u1ec1u nh\u1ea5t n\u0103m 2019 v\u1edbi s\u1ed1 l\u01b0\u1ee3ng ng\u01b0\u1eddi d\u00f9ng l\u00ean \u0111\u1ebfn g\u1ea7n 50%. V\u1eady NodeJS l\u00e0 g\u00ec? V\u00ec sao...","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/itviec.com\/blog\/hoc-nodejs\/","og_locale":"vi_VN","og_type":"article","og_title":"15+ T\u00e0i li\u1ec7u h\u1ecdc NodeJS \"ch\u1ea5t\" d\u00e0nh cho Developer","og_description":"NodeJS l\u00e0 m\u1ed9t n\u1ec1n t\u1ea3ng \u0111\u01b0\u1ee3c x\u00e2y d\u1ef1ng tr\u00ean V8 JavaScript Engine - tr\u00ecnh th\u00f4ng d\u1ecbch th\u1ef1c thi m\u00e3 JavaScript, gi\u00fap x\u00e2y d\u1ef1ng c\u00e1c \u1ee9ng d\u1ee5ng web m\u1ed9t c\u00e1ch \u0111\u01a1n gi\u1ea3n","og_url":"https:\/\/itviec.com\/blog\/hoc-nodejs\/","og_site_name":"ITviec Blog","article_publisher":"https:\/\/www.facebook.com\/ITviec","article_published_time":"2020-01-21T09:19:33+00:00","article_modified_time":"2024-09-29T15:47:41+00:00","og_image":[{"width":640,"height":335,"url":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2020\/01\/nodejs-la-gi-thumbnail.png","type":"image\/png"}],"author":"Tinh To","twitter_card":"summary_large_image","twitter_creator":"@ITviec","twitter_site":"@ITviec","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Tinh To","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"12 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/itviec.com\/blog\/hoc-nodejs\/#article","isPartOf":{"@id":"https:\/\/itviec.com\/blog\/hoc-nodejs\/"},"author":{"name":"Tinh To","@id":"https:\/\/itviec.com\/blog\/#\/schema\/person\/6580f1be8090663be6e793f5d5f14d6c"},"headline":"15+ T\u00e0i li\u1ec7u h\u1ecdc NodeJS &#8220;ch\u1ea5t&#8221; d\u00e0nh cho Developer","datePublished":"2020-01-21T09:19:33+00:00","dateModified":"2024-09-29T15:47:41+00:00","mainEntityOfPage":{"@id":"https:\/\/itviec.com\/blog\/hoc-nodejs\/"},"wordCount":2872,"publisher":{"@id":"https:\/\/itviec.com\/blog\/#organization"},"image":{"@id":"https:\/\/itviec.com\/blog\/hoc-nodejs\/#primaryimage"},"thumbnailUrl":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2020\/01\/nodejs-la-gi-thumbnail.png","keywords":["NodeJS","T\u00e0i li\u1ec7u"],"articleSection":["Chuy\u00ean m\u00f4n IT","T\u00e0i li\u1ec7u JS"],"inLanguage":"vi"},{"@type":"WebPage","@id":"https:\/\/itviec.com\/blog\/hoc-nodejs\/","url":"https:\/\/itviec.com\/blog\/hoc-nodejs\/","name":"NodeJS l\u00e0 g\u00ec? T\u1ea5t t\u1ea7n t\u1eadt v\u1ec1 NodeJS b\u1ea1n c\u1ea7n bi\u1ebft? | ITviec","isPartOf":{"@id":"https:\/\/itviec.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/itviec.com\/blog\/hoc-nodejs\/#primaryimage"},"image":{"@id":"https:\/\/itviec.com\/blog\/hoc-nodejs\/#primaryimage"},"thumbnailUrl":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2020\/01\/nodejs-la-gi-thumbnail.png","datePublished":"2020-01-21T09:19:33+00:00","dateModified":"2024-09-29T15:47:41+00:00","description":"Theo 1 kh\u1ea3o s\u00e1t c\u1ee7a Stack Overflow, NodeJS l\u00e0 n\u1ec1n t\u1ea3ng \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng nhi\u1ec1u nh\u1ea5t n\u0103m 2019 v\u1edbi s\u1ed1 l\u01b0\u1ee3ng ng\u01b0\u1eddi d\u00f9ng l\u00ean \u0111\u1ebfn g\u1ea7n 50%. V\u1eady NodeJS l\u00e0 g\u00ec? V\u00ec sao...","breadcrumb":{"@id":"https:\/\/itviec.com\/blog\/hoc-nodejs\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/itviec.com\/blog\/hoc-nodejs\/"]}]},{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/itviec.com\/blog\/hoc-nodejs\/#primaryimage","url":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2020\/01\/nodejs-la-gi-thumbnail.png","contentUrl":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2020\/01\/nodejs-la-gi-thumbnail.png","width":640,"height":335,"caption":"nodejs-la-gi-thumbnail"},{"@type":"BreadcrumbList","@id":"https:\/\/itviec.com\/blog\/hoc-nodejs\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Chuy\u00ean m\u00f4n IT","item":"https:\/\/itviec.com\/blog\/chuyen-mon-it\/"},{"@type":"ListItem","position":2,"name":"T\u00e0i li\u1ec7u JS","item":"https:\/\/itviec.com\/blog\/chuyen-mon-it\/tai-lieu-js\/"},{"@type":"ListItem","position":3,"name":"15+ T\u00e0i li\u1ec7u h\u1ecdc NodeJS &#8220;ch\u1ea5t&#8221; d\u00e0nh cho Developer"}]},{"@type":"WebSite","@id":"https:\/\/itviec.com\/blog\/#website","url":"https:\/\/itviec.com\/blog\/","name":"ITviec Blog","description":"IT Jobs &amp; People in Vietnam","publisher":{"@id":"https:\/\/itviec.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/itviec.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"vi"},{"@type":"Organization","@id":"https:\/\/itviec.com\/blog\/#organization","name":"ITviec","url":"https:\/\/itviec.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/itviec.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2018\/12\/itviec-black-square-facebook.png","contentUrl":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2018\/12\/itviec-black-square-facebook.png","width":1800,"height":1800,"caption":"ITviec"},"image":{"@id":"https:\/\/itviec.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/ITviec","https:\/\/x.com\/ITviec","https:\/\/www.linkedin.com\/company\/itviec","https:\/\/www.youtube.com\/channel\/UCYthAQ3bcGr57M_ag5gHDvQ"]},{"@type":"Person","@id":"https:\/\/itviec.com\/blog\/#\/schema\/person\/6580f1be8090663be6e793f5d5f14d6c","name":"Tinh To","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/secure.gravatar.com\/avatar\/a67154fc44dbb2d39713d4bb3a2591ba69ced8c6bb191b9af5305b02054b21ae?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/a67154fc44dbb2d39713d4bb3a2591ba69ced8c6bb191b9af5305b02054b21ae?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a67154fc44dbb2d39713d4bb3a2591ba69ced8c6bb191b9af5305b02054b21ae?s=96&d=mm&r=g","caption":"Tinh To"},"description":"T\u00ecnh c\u00f3 h\u01a1n 4 n\u0103m kinh nghi\u1ec7m l\u00e0m vi\u1ec7c, vi\u1ebft b\u00e0i ph\u1ecfng v\u1ea5n v\u1ec1 ki\u1ebfn th\u1ee9c chuy\u00ean m\u00f4n IT v\u1edbi c\u00e1c chuy\u00ean gia c\u00f4ng ngh\u1ec7 \u1edf \u0111a d\u1ea1ng v\u1ecb tr\u00ed nh\u01b0 Front-end Developer, Data Analyst, Data Scientist, CTO\u2026 v\u00e0 c\u00e1c ch\u1ee7 \u0111\u1ec1 ph\u00e1t tri\u1ec3n s\u1ef1 nghi\u1ec7p IT, th\u00f4ng tin th\u1ecb tr\u01b0\u1eddng ng\u00e0nh IT t\u1ea1i Vi\u1ec7t Nam. Qua s\u1ef1 t\u00ecm hi\u1ec3u, trao \u0111\u1ed5i li\u00ean t\u1ee5c v\u1edbi Nh\u00e0 tuy\u1ec3n d\u1ee5ng IT &amp; Chuy\u00ean gia IT, T\u00ecnh cung c\u1ea5p c\u00e1c g\u00f3c nh\u00ecn kh\u00e1ch quan nh\u1ea5t trong c\u00e1c b\u00e0i vi\u1ebft v\u00e0 \u0111\u1ea3m b\u1ea3o t\u00ednh trung th\u1ef1c nh\u1ea5t c\u1ee7a c\u00e1c n\u1ed9i dung \u0111\u01b0\u1ee3c th\u00f4ng tin \u0111\u1ebfn \u0111\u1ed9c gi\u1ea3.","url":"https:\/\/itviec.com\/blog\/author\/tinh-to\/"}]}},"_links":{"self":[{"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/posts\/18479","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/users\/87"}],"replies":[{"embeddable":true,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/comments?post=18479"}],"version-history":[{"count":0,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/posts\/18479\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/media\/18486"}],"wp:attachment":[{"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/media?parent=18479"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/categories?post=18479"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/tags?post=18479"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}