• Là gì?
  • Tại sao?
  • Ai?
  • Ở đâu?
  • Làm thế nào?
  • Công nghệ
  • Sports
  • Nhà cái Việt Nam
  • Blog
Facebook Twitter Instagram
Hỏi gì?
  • Là gì?
  • Tại sao?
  • Ai?
  • Ở đâu?
  • Làm thế nào?
  • Công nghệ
  • Sports
  • Nhà cái Việt Nam
  • Blog
Hỏi gì?
Home»Là gì?»Node.js thực sự là gì? | Hỏi gì?
Là gì?

Node.js thực sự là gì? | Hỏi gì?

24/08/20216 Mins Read

hoigi.info là gì?

hoigi.info được xây dựng dựa trên JavaScript runtime. Nghe thật tuyệt, nhưng mà nó có nghĩa là gì? Nó hoạt động như thế nào?

Nền tảng Node runtime bao gồm mọi thứ mà bạn cần để hoàn thành một chương trình viết bằng JavaScript.

Bạn đang xem: node js là gì

hoigi.info là gì

Nếu bạn đã biết Java là gì, thì định nghĩa hoigi.info là gì cũng có một số điểm giống nhau.

NodeJS là một nền tảng được xây dựng trên “V8 Javascript engine” được viết bằng c++ và Javascript. Nền tảng này được phát triển bởi Ryan Lienhart Dahl vào năm 2009.

hoigi.info ra đời khi các developer đời đầu của JavaScript mở rộng nó từ một thứ bạn chỉ chạy được trên trình duyệt thành một thứ bạn có thể chạy trên máy của mình dưới dạng ứng dụng độc lập.

Giờ đây bạn có thể làm được nhiều thứ với JavaScript hơn là chỉ tương tác với các website.

JavaScript giờ có khả năng làm những thứ và những ngôn ngữ lập trình scripting như Python có thể làm.

Cả trình duyệt JavaScript và hoigi.info đều chạy trên JavaScript runtime V8 engine. Công cụ này lấy code JavaScript của bạn và convert nó sang mã máy (bytecode) cho việc thực thi nhanh hơn. Mã máy là loại code thấp cấp hơn để máy tính có thể chạy mà không cần biên dịch nó.

Tại sao lại là hoigi.info?

Đây là định nghĩa chính thức trên trang web chính của hoigi.info:

“hoigi.info là một JavaScript runtime được build dựa trên engine JavaScript V8 của Chrome. hoigi.info sử dụng kiến trúc hướng sự kiện event-driven, mô hình non-blocking I/O làm cho nó nhẹ và hiệu quả hơn. Hệ thống nén của hoigi.info, npm, là hệ thống thư viện nguồn mở lớn nhất thế giới.”

Chúng ta đã khá quen với dòng đầu trong định nghĩa này rồi. Nên giờ hãy nói về 2 dòng còn lại để hiểu được tại sao hoigi.info lại phổ biến đến vậy nhé.

I/O là Input/Output. Nó có thể là bất cứ thứ gì từ đọc/viết các file nội bộ cho đến tạo HTTP đến API.

I/O tốn thời gian và do đó nó sẽ chặn các chức năng khác.

Xét một tình huống là chúng ta cần dữ liệu backend chi tiết cho user1 và user2 và sau đó hiển thị chúng trên màn hình hoặc bảng điều khiển. Để phản hồi cho lệnh này sẽ mất thời gian, nhưng cả 2 dữ liệu user có thể thực hiện độc lập và cùng lúc.

Tham khảo: Lãnh đạo là gì? Sự khác nhau giữa lãnh đạo và quản lý

hoigi.info là gì

Blocking I/O (trái) và Non-Blocking I/O (phải)

Blocking I/O

Trong phương thức blocking, dữ liệu của user2 sẽ không bắt đầu cho đến khi dữ liệu của user1 xuất trên màn hình.

Nếu đây là một server web, chúng ta phải bắt đầu một thread mới cho từng user mới. Nhưng JavaScript là đơn luồng (tính chất “xong cái này mới đến cái khác”). Và điều này làm JavaScript không phù hợp cho các tác vụ đa luồng.

Đó là lý do non-blocking xuất hiện.

Non-blocking I/O

Mặt khác, sử dụng request non-blocking, bạn có thể request dữ liệu cho user2 mà không phải đợi phản hồi request từ user1. Bạn có thể bắt đầu cả 2 request song song.

Non-blocking I/O loại bỏ nhu cầu đa luồng vì server có thể xử lý nhiều request cùng một lúc.

JavaScript Event Loop

Nếu bạn có 26 phút rảnh, hãy xem qua video xuất sắc này giải thích Vòng lặp sự kiện Node là gì:

Còn nếu bạn không rảnh thì đây là giải thích từng bước nhanh gọn về cách JavaScript Event Loop hoạt động.

hoigi.info là gì

npm

lập trình web

Đây là những thư viện được tạo nên bởi 1 cộng đồng tuyệt vời mà sẽ giải quyết được hầu hết các vấn đề chung của bạn. npm (Node Package Manager) có những phiên bản bạn có thể sử dụng trong app để lập trình nhanh và hiệu quả hơn. Xem thêm: sử dụng npm như một build tool.

Require

Require làm 3 thứ:

  • Tải module đi kèm với hoigi.info như hệ thống file và HTTP từ hoigi.info API.
  • Tải thư viện thứ 3 như Express và Mongoose mà bạn cài đặt từ npm.
  • Giúp bạn require file của bạn và mo-đun hoá project.

Require là 1 chức năng, và nó nhận tham số path tinh chỉnh và trả về hoigi.infort.

Node Modules

Module Node là 1 block code có thể tái sử dụng mà sự tồn tại của nó không vô tình ảnh hưởng đến các code khác.

Đang hot: Tên tiếng nhật của bạn là gì

Bạn có thể tạo module của riêng mình và sử dụng nó với nhiều ứng dụng khác nhau. hoigi.info có 1 bộ built-in module bạn có thể sử dụng mà không cần cài đặt thêm gì nữa.

V8 turbo-charges JavaScript bằng cách tận dụng C++

V8 là một công cụ runtime nguồn mở được viết bằng C++.

JavaScript -> V8(C++) -> Machine Code

V8 thực hiện một tệp lệnh gọi là ECMAScript như được chỉ định trong ECMA-262. ECMAScript được tạo ra bởi Ecma International để chuẩn hoá JavaScript.

V8 có thể chạy độc lập hoặc được nhúng vào ứng dụng C++ bất kỳ. Nó có các móc nối cho phép bạn viết C++ của riêng bạn và cung cấp cho JavaScript.

Về cơ bản việc này cho phép bạn thêm các tính năng vào JavaScript bằng cách nhúng V8 vào code C++ để code C++ của bạn có thể hiểu hơn những gì ECMAScript chỉ định.

P/s: Như Greg Bulmash đã nói tới, có nhiều công cụ runtime JavaScript ngoài V8 của Chrome như SpiderMonkey của Mozilla, Chakra của Microsoft,v.v…

Events

Có một số thứ xảy ra trong app của bọn mình mà mình có thể trả lời. Có 2 loại event trong Node:

  • Events System: C++ có lõi từ một thư viện gọi là libuv. (Vd, đọc xong 1 file).
  • Events Custom: Lõi JavaScript

Viết “Hello World” trong hoigi.info

Chúng ta phải làm chuyện này đúng không nào?

Tạo 1 file tên hoigi.info và thêm vào dòng dưới:

hoigi.info(“Hello World!”);

Mở node của bạn lên, chuyển danh mục thành thư mục nơi mà file được lưu và chạy node hoigi.info.

Bam – Bạn vừa viết được chữ “Hello World” trong hoigi.info rồi đó.

Có cả hàng tấn nguồn để bạn tìm học nhiều hơn về hoigi.info là gì, kể cả trên hoigi.info

Bài viết gốc tại: medium

  • Nodejs và PHP? Bạn chọn công nghệ web nào?
  • Xây dựng App đơn giản với NodeJS, ExpressJS và hoigi.info
  • hoigi.info là gì? Thế lực mới cạnh tranh với hoigi.info?

Xem thêm việc làm hoigi.info trên TopDev!

Đang hot: Giá đơn vị quỹ là gì

Previous ArticleShout out là gì và cấu trúc cụm từ Shout out trong câu Tiếng Anh
Next Article Đường Hưng là ai? Sự nghiệp âm nhạc của nam ca sĩ

Bài viết liên quan

đầu tư bất đông sản là gì

01/07/2022

Uống gì để giảm mỡ bụng

01/07/2022

Cháo trứng nấu với rau gì

01/07/2022

Màu vàng tượng trưng cho điều gì

01/07/2022

ăn gì cho ngực to

01/07/2022

Nữ da ngăm đen nên mặc áo màu gì

01/07/2022
Add A Comment

Leave A Reply Cancel Reply

Hot
Là gì?

đầu tư bất đông sản là gì

01/07/2022

Bất động sản được xem là một trong những lĩnh vực có khả năng sinh…

Uống gì để giảm mỡ bụng

01/07/2022

Cháo trứng nấu với rau gì

01/07/2022

Cách nhận biết crush không thích mình

01/07/2022

Màu vàng tượng trưng cho điều gì

01/07/2022

ăn gì cho ngực to

01/07/2022
Hỏi gì

Giải đáp mọi thắc mắc của bạn

Email: [email protected]
Địa chỉ: Đông vệ, Thanh Hóa

Hot

đầu tư bất đông sản là gì

01/07/2022

Uống gì để giảm mỡ bụng

01/07/2022

Cháo trứng nấu với rau gì

01/07/2022
Bình luận
  • Phạm Đức Bảo trong tải attack on titan trên điện thoại android
  • Chung Phước An Khương trong Bài tập C – Sắp xếp nhanh (Quick Sort) trong C
  • Nghi trong hộ avatar nghĩa la gì trên facebook | Hỏi gì?
  • Nguyễn Bình Gia Bảo trong Thần Nông là ông Tổ của Bách Việt
  • David trong Bella là ai? Tiểu sử của “hotgirl Bella” | Hỏi gì?
  • Điều khoản sử dụng
  • Chính sách bảo mật
© 2022 Hỏi Gì Chẵn lẻ momo

Type above and press Enter to search. Press Esc to cancel.