Node.js là một hệ thống phần mềm được thiết kế để viết các ứng dụng internet có khả năng mở rộng, đặc biệt là máy chủ web. Chương trình được viết bằng JavaScript, sử dụng kỹ thuật điều khiển theo sự kiện, nhập/xuất không đồng bộ để tối thiểu tổng chi phí và tối đa khả năng mở rộng. Node.js bao gồm có V8 JavaScript engine của Google, [http://github.com/joyent/libuv libUV], và vài thư viện khác.
Node.js được tạo bởi Ryan Dahl từ năm 2009, và phát triển dưới sự bảo trợ của Joyent.
Mục tiêu ban đầu của Dahl là làm cho trang web có khả năng push như trong một số ứng dụng web như Gmail. Sau khi thử với vài ngôn ngữ Dahl chọn Javascript vì một API Nhập/Xuất không đầy đủ. Điều này cho phép anh có thể định nghĩa một quy ước Nhập/Xuất điểu khiển theo sự kiện, non-blocking.
Vài môi trường tương tự được viết trong các ngôn ngữ khác bao gồm Twisted cho Python, Perl Object Environment cho Perl, libevent cho C và EventMachine cho Ruby. Khác với hầu hết các chương trình Javascript, Nodejs không chạy trên một trình duyệt mà chạy trên Server. Node.js sử dụng nhiều chi tiết kỹ thuật của CommonJS. Nó cung cấp một môi trường REPL cho kiểm thử tương tác.
Node.js được InfoWorld bình chọn là "Công nghệ của năm" vào năm 2012.
Ví dụ
Đây là phiên bản hello world HTTP Server trên Node.js:
var http = require('http');
http.createServer(function (request, response) {
response.writeHead(200, {'Content-Type': 'text/plain'});
response.end('Hello World\n');
}).listen(80);
console.log('Server running at http://localhost:80/');
Đoạn mã sau là một máy chủ TCP hoạt động trên cổng 7000 và in ra chuỗi 'hello' trên mỗi kết nối:
var net = require('net');
net.createServer(function (stream) {
stream.write('hello\r\n');
stream.on('end', function () {
stream.end('goodbye\r\n');
});
stream.pipe(stream);
}).listen(7000);
Cộng đồng
Cộng đồng phát triển Node.js chủ yếu tập trung ở hai nhóm google: [http://groups.google.com/group/nodejs nodejs] và [http://groups.google.com/group/nodejs-dev nodejs-dev], một kênh IRC là #node.js trên mạng freenode. Có một hội thảo về Node.js là [http://www.nodeconf.com/ NodeConf] được tổ chức thường niên.
Hiện nay Node.js được sử dụng bởi nhiều công ty trong đó có Linkedin, Microsoft, Yahoo! và Walmart.
Các Framework nổi tiếng
- Express.js được sử dụng phổ biến để phát triển ứng dụng trên nền Nodejs.
- Electron.js được sử dụng để phát triển ứng dụng được sử dụng trên môi trường desktop.
👁️
129 | 🔗 | 💖 | ✨ | 🌍 | ⌚
**Node.js** là một hệ thống phần mềm được thiết kế để viết các ứng dụng internet có khả năng mở rộng, đặc biệt là máy chủ web. Chương trình được viết bằng JavaScript, sử dụng
**gulp** là bộ công cụ JavaScript mã nguồn mở của Fractal Innovations và cộng đồng nguồn mở tại GitHub, được sử dụng làm hệ thống xây dựng phát trực tuyến trong phát triển web front-end.
Mức lương: 2,000,000 - 4,000,000 đ Vị trí: JavaScript (JS) Fullstack Developer Ngày bắt đầu: 11/04/2025 Ngày kết thúc: 30/05/2025- Vị trí: JavaScript (JS) Fullstack Developer - Phòng ban: DEV - Báo cáo trực tiếp: Leader team DEV -
Mức lương: 2,000,000 - 4,000,000 đ Vị trí: JavaScript (JS) Fullstack Developer Ngày bắt đầu: 11/04/2025 Ngày kết thúc: 30/05/2025- Vị trí: JavaScript (JS) Fullstack Developer - Phòng ban: DEV - Báo cáo trực tiếp: Leader team DEV -
Mức lương: 2,000,000 - 4,000,000 đ Vị trí: JavaScript (JS) Fullstack Developer Ngày bắt đầu: 11/04/2025 Ngày kết thúc: 30/05/2025- Vị trí: JavaScript (JS) Fullstack Developer - Phòng ban: DEV - Báo cáo trực tiếp: Leader team DEV -
Là một lập trình viên backend mới vào nghề, tôi từng chật vật khi phải xử lý những tác vụ lặp đi lặp lại: từ tạo API cơ bản, kết nối cơ sở dữ liệu,
Trong thế giới phát triển phần mềm, Full Stack Developer được ví như một "người lính Thụy Sĩ" đa năng một người có thể xây dựng hoàn chỉnh một ứng dụng web từ A đến
**TypeScript** là một ngôn ngữ lập trình được phát triển và duy trì bởi Microsoft. Nó là một siêu tập hợp cú pháp nghiêm ngặt của JavaScript và thêm tính năng kiểu tĩnh tùy chọn
**Heroku** là một nền tảng đám mây như một dịch vụ (PaaS) hỗ trợ một vài ngôn ngữ lập trình. Là một trong những nền tảng đám mây đầu tiên, Heroku đã được phát triển
**npm (viết tắt của Node Package Manager / nodepm (pkgmakeinst))** là chương trình quản lý thư viện (package manager) ngầm định trong môi trường Node.js. Nó bao gồm một trình gọi dòng lệnh (CLI) từ
**Chrome V8**, hay đơn giản là **V8**, là một JavaScript engine mã nguồn mở phát triển bởi The Chromium Project cho trình duyệt web Google Chrome và Chromium. Người sáng lập dự án là Lars
**Giấy phép MIT** là một loại giấy phép sử dụng cho các phần mềm mã nguồn mở được phát triển dựa trên một loại giấy phép có nguồn gốc tại Viện Công nghệ Massachusetts (MIT).
Lần đầu tiên tôi sử dụng Copilot Chat để viết code, tôi đã nghĩ rằng mọi thứ sẽ suôn sẻ. Nhưng thực tế thì không ít lần Copilot hiểu sai ý tôi, trả về đoạn
Đối với các kỹ sư DevOps, mỗi ngày là một cuộc chiến với các tác vụ thủ công, lặp đi lặp lại và tốn thời gian. Từ việc kiểm tra log, giám sát hệ thống
nhỏ|SpiderMonkey logo **Engine JavaScript** là một thành phần phần mềm thực thi mã JavaScript. Các JavaScript engine đầu tiên chỉ là trình thông dịch, nhưng tất cả các engine hiện đại đều sử dụng biên
**Google Cloud Platform** (**GCP**), được cung cấp bởi Google, là một bộ dịch vụ điện toán đám mây chạy trên cùng một cơ sở hạ tầng mà Google sử dụng nội bộ cho các sản
Trong thế giới lập trình Front-end, nếu "Hello World" là bước chào sân, thì ứng dụng "To-do List" chính là bài kiểm tra năng lực đầu tiên. Tại sao lại như vậy? Đơn giản vì
Trong kỹ thuật phần mềm, các thuật ngữ **front-end** (đầu trước) và **back-end** (đầu sau) đề cập đến sự tách biệt các mối quan tâm giữa tầng trình diễn (giao diện người dùng) và tầng
**Luồng nút** (_node stream_) là phương pháp chuyển một lượng lớn dữ liệu trên thiết bị di động hoặc trang web (chẳng hạn như tải lên hình ảnh chi tiết) bằng cách chia nhỏ tệp
**AngularJS** (còn được gọi là **Angular 1**) là một framework web miễn phí và mã nguồn mở dựa trên JavaScript, được sử dụng để phát triển các ứng dụng đơn trang (SPA). Framework này đã ngừng
Trong kỷ nguyên của sự tương tác tức thì, chatbot đã trở thành bộ mặt 24/7 của bất kỳ doanh nghiệp trực tuyến nào. Tuy nhiên, các chatbot truyền thống, dựa trên quy tắc cứng
Đối với người mới bước chân vào thế giới lập trình, câu hỏi lớn nhất và cũng gây hoang mang nhất chính là: "Tôi nên bắt đầu học ngôn ngữ nào?". Với hàng trăm lựa
Hướng dẫn chi tiết cách các lập trình viên tận dụng khả năng phân tích mã nguồn và tìm kiếm tài liệu lập trình cập nhật của Perplexity AI để nhanh chóng tìm lỗi, hiểu
**Fedora Linux** là một bản phân phối Linux dựa trên RPM Package Manager, được phát triển dựa trên cộng đồng theo Fedora Project và được bảo trợ bởi Red Hat, một công ty con của
**MySQL** là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng. Vì
**Pascal** là một ngôn ngữ lập trình cho máy tính thuộc dạng mệnh lệnh và thủ tục, được Niklaus Wirth phát triển vào năm 1970. Pascal là ngôn ngữ lập trình đặc biệt thích hợp
**Red Hat, Inc.** () là một công ty phần mềm Mỹ cung cấp sản phẩm phần mềm mã nguồn mở cho cộng đồng doanh nghiệp. Thành lập năm 1993, Red Hat có trụ sở tại
**OpenShift** là một dịch vụ nền tảng điện toán đám mây của hãng Red Hat. Phần mềm chạy dịch vụ là mã nguồn mở và có sẵn trên GitHub với tên "OpenShift Origin". Người phát
**ESP8266**, hay gọi đầy đủ là **ESP8266EX** là một vi mạch Wi-Fi giá rẻ, có hỗ trợ bộ giao thức TCP/IP và có thể tích hợp vào thành phần của vi điều khiển, được sản
**ESP32** là một series các vi điều khiển trên một vi mạch giá rẻ, năng lượng thấp có hỗ trợ WiFi và dual-mode Bluetooth (tạm dịch: Bluetooth chế độ kép). Dòng ESP32 sử dụng bộ
**Object Pascal** chỉ đến một nhánh của phát sinh hướng đối tượng của Pascal, được biết đến chủ yếu với vai trò ngôn ngữ lập trình chính của Delphi. ## Lịch sử ban đầu tại
**MDN Web Docs**, trước đây là **Mozilla Developer Network** và trước đó nữa là **Mozilla Developer Center**, là trang web chính thức của Mozilla về tài liệu phát triển của các tiêu chuẩn web và
**Visual Studio Code** là một trình soạn thảo mã nguồn được phát triển bởi Microsoft dành cho Windows, Linux và macOS. Nó hỗ trợ chức năng debug, đi kèm với Git, có chức năng nổi bật cú pháp
Để xây dựng được một website hoàn chỉnh, chúng ta cần hiểu rõ các thành phần chính cấu tạo nên nó. Hãy cùng điểm qua từng phần một cách đơn giản và dễ hiểu nhất.Tên
Nhà tuyển dụng nhìn vào CV của tôi, gật gù rồi ngước lên hỏi câu mà tôi vừa mong chờ vừa lo sợ: "Ok, trong CV em có ghi về đồ án X... em có
Tôi đang viết chiếc email tâm huyết để ứng tuyển vào vị trí Fresher Developer. Sau khi viết xong phần giới thiệu, tôi đến phần quan trọng nhất: "Để tham khảo thêm về các dự
nhỏ|Jim Zemlin tại lễ khai mạc LinuxCon Europe 2014 nhỏ|Linus Torvalds tại LinuxCon North America 2016 **Linux Foundation** (**LF**) là một hiệp hội thương mại công nghệ phi lợi nhuận được thành lập để thúc đẩy,
Tôi đã viết code gần một thập kỷ — từ những dòng đầu tiên bằng C cho đến những dự án phức tạp với JavaScript và Python. Nhưng dù có nhiều kinh nghiệm, tôi vẫn
Trong kỷ nguyên số, kỹ năng lập trình không còn là "của riêng" dân công nghệ mà đã trở thành một lợi thế cạnh tranh lớn. Tuy nhiên, rào cản về chi phí của các
**Redis** (/ˈrɛdɪs/; từ viết tắt của **Remote Dictionary Server**) là một cơ sở dữ liệu phân tán trong bộ nhớ, được sử dụng như một cơ sở dữ liệu đệm lưu dữ liệu dạng cặp
**Apache Kafka** là một nền tảng theo kiến trúc phân tán cho phép lưu trữ sự kiện và xử lý dữ liệu luồng (streaming) mã nguồn mở được phát triển bởi Apache Software Foundation được
**Ghost** là một nền tảng blog tự do mã nguồn mở được viết bằng JavaScript và phân phối dưới Giấy phép MIT, được thiết kế để đơn giản hóa quy trình xuất bản trực tuyến
**W3Schools** là một website giáo dục freemium cho việc học lập trình và các công nghệ web trực tuyến. W3Schools có chứa các nội dung gồm hướng dẫn và tài liệu tham khảo liên quan
**ECMAScript** (hay **ES**) là một thương hiệu đặc tả ngôn ngữ kịch bản được tiêu chuẩn hóa bởi Ecma International thông qua **ECMA-262** và ISO/IEC 16262. Nó được tạo ra để tiêu chuẩn hóa JavaScript,
Lần đầu mình nghe đến GitHub và GitHub Copilot thì thấy khá “ngợp”, vừa tò mò vừa sợ khó. Nhưng khi bắt tay vào tạo repository đầu tiên và kết nối với Copilot, mình nhận