Chuyển đến nội dung chính

[NodeJS] Introduction

Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient. Node.js' package ecosystem, npm, is the largest ecosystem of open source libraries in the world. 

         Why Node???

  • NodeJS là một nền tảng được xây dựng trên Chrome's V8 JavaScript engine. Mã nguồn của NodeJS chủ yếu được viết bằng C++. 
  • NodeJS không có khái niệm đa luồng, tất cả là đơn luồng và hướng dự kiện.
  • NodeJS chạy đa nền tảng phía Server.
  • Sử dụng kiến trúc hướng sự kiện Event-driven và non-blocking I/O làm cho nó nhẹ và hiệu quả.
  • NodeJS có cộng đồng phát triển rất lớn và hoàn toàn miễn phí. NPM hiện có ~700k packages.
  • Các ông lớn đang sử dụng NodeJS:
    • ebay
    • Linkedin
    • Microsoft
    • Paypal
    • Trello
    • Uber
    • etc
  • ==> Kết luận: (why?)
    • Javascript everywhere
    • Fast V8 engine
    • Lightweight: Event-driven architecture, non-blocking
    • Single Language for all layers
    • High Performance
    • Hosted anywhere
    • Easy to modify and maintain



Nhận xét

Bài đăng phổ biến từ blog này

[Operating System] PROCESS SYNCHRONIZATION PROBLEM

Operating SYsTem PROCESS SYNCHRONIZATION PROBLEM S ummarize Details some process synchronization problems that popular. Guide Teacher DR. Pham Dang Hai Đàm Minh Tiến - 2017 INTRODUCTION In   computer science ,   synchronization   refers to one of two distinct but related concepts: synchronization of   processes , and synchronization of   data .   Process synchronization   refers to the idea that multiple processes are to join up or   handshake   at a certain point, in order to reach an agreement or commit to a certain sequence of action.   Data synchronization   refers to the idea of keeping multiple copies of a dataset in coherence with one another, or to maintain   data integrity . Process synchronization primitives are commonly used to implement data synchro...

CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT

Bài viết dựa trên cuốn sách "Cấu trúc dữ liệu và thuật toán" của thầy Nguyễn Đức Nghĩa - Đại học Bách Khoa Hà Nội. " Nhân cái ngày mà người người nhà nhà ôn thi như thế này, sau khi đọc hết cuốn sách, mình nghĩ sao không thử viết 1 cái blog, vừa để chia sẻ mà lại ôn tập " I. CÁC KHÁI NIỆM CƠ BẢN: Trong phần này chủ yếu nói đến các khái niệm về thuật toán và đánh giá. Định nghĩa:  Thuật toán là một dãy hữu hạn các bước để từ đầu vào thu được đầu ra mong muốn. Đánh giá thuật toán dựa trên 2 tiêu chí cơ bản là :  Tài nguyên máy tính Thời gian thực hiện (số phép toán thực hiện) => Sau đây chỉ nói về thời gian thực hiện:  Có 3 loại thời gian tính:  Thời gian tính tốt nhất (tiệm cận dưới) : loại này ít được quan tâm Thời gian tính trung bình  Thời gian tính tồi nhất (tiệm cận trên) : BIG-O  => Sau đây chỉ nói về Big-O:        Big O được hiểu là thời gian tính tồi nhất của một thuật toán (worst ca...

[Data Analysis] Data Pre-processing

Data Pre-processing or Data Cleaning or Data Wranging. Tiền xử lý dữ liệu luôn là một bước quan trọng trong các bài toán phân tích dữ liệu. Đây là bước chuyển đổi hoặc ánh xạ dữ liệu từ dạng khởi tạo ban đầu về các dạng chuẩn có thể xử lý được. Những bước cần thiết trong tiền xử lý dữ liệu: + Định nghĩa lại những giá trị bị thiếu (identify and handle missing value) + Định dạng lại dữ liệu (data formatting) + Chuẩn hóa dữ liệu (data normalize) + Data binning + Chuyển các nhãn phân loại về các biến kiểu số (turning categorical values to numberic variables) 1. Đối phó với dữ liệu bị thiếu trong python Các tập dữ liệu thường bị thiếu một vài trường thông tin ở các hàng, thường có giá trị ?, 0, N/A hoặc chỉ là null. Có nhiều cách để xử ký những giá trị này trong Python hoặc R như: + Hủy những giá trị thiếu: - Hủy hàng - Hủy cột + Thay thế bởi những giá trị khác: - Giá trị trung bình - Giá trị xuất hiện với tần số cao - Thay thế dựa trên 1 hàm tự tạo Thư viện Panda hỗ trợ ...