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

Bài đăng

Đang hiển thị bài đăng từ Tháng 4, 2018

[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 synchronization. This document will intro some sychronization pr

[PHP - Laravel] PHP the interesting

Hôm nay ngồi optimize code của cả nhóm. Mình phát hiện ra nhiều thứ thú vị trong PHP. 1. Có 3 kiểu nối biến vào string: Đối với double quote: ta có thể nối biến trực tiếp $str = "world"; $str0 = "Hello $str"; -> output: "Hello world" Nối biến "gần" trực tiếp: $str0 = "Hello {$str}"; -> output: "Hello world" Nối biến kiểu .  $str0 = "Hello " . $str;  -> output: "Hello world" Đối với single quote: $str0 = 'Hello ' . $str; -> output: "Hello world" Điều đặc biệt là nếu so về hiệu suất: Cách làm cuối cùng với single quote là nhanh nhất! 2. Hàm random: Search từ khóa "random php" trên google. top search trả về hàm rand(); Tuy nhiên, có 1 hàm khác, hàm mt_rand(); cho hiệu suất cao hơn rand() 4 lần!!! To be continue...

[Data Analysis] Giới thiệu

1. Khái niệm dữ liệu: In computing, data is  information  that has been translated into a form that is efficient for movement or processing.  Dữ liệu ta thường dùng sẽ lưu vào file CSV (Comma Separated Values). 2. Các gói python cho khoa học dữ liệu: Thường dùng 3 gói: pandas, numpy, scipy 3. Nhập xuât dữ liệu trong python: 4. Phân tích dữ liệu trong python (rất cơ bản):

[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ợ

[NodeJS] Event and Event Emiiter

Event là mọi thứ xảy ra trong ứng dụng mà ta nhận được và có thể xử lý nó. Trong NodeJS thường có hai loại sự kiện: + System events + Custom events System events đến từ trong core C++ của Nodejs bắt các sự kiện xảy ra trong hệ thống như đọc file, xử lý tải xuống, kết nối web socket, etc... Custom events đến từ javascript core của nodejs bắt các sự kiện do chính người dùng tạo ra. System event đến tư tầng rất thấp của hệ điều hành và được phát ra bởi thư viện libuv, đây là thư viện được xử lý ở tầng rất thấp. Đối với loại sự kiện này, ta không thể can thiệp mà chỉ có thể xử lý kết quả trả về. Custom event đến từ tâng cao hơn và đến từ tầng có thể điều khiển đó là event emitter, đây là tầng có thể tùy chỉnh được.  Rất nhiều thư viện, modules được xây dựng dựa trên event emiiter mà javascript core đã cung cấp. More 

[NodeJS] ECMAScript 2015(ES6) and beyond

Node.js được xây dựng dựa trên phiên bản mới của V8. Vì vậy, nodejs luôn được cập nhật các tiêu chuẩn mới của engine. Sơ qua về ES6, là một tập các tiêu chuẩn nâng cao của javascript, được xây dựng bởi hiệp hội các nhà phát triển máy tính Châu Âu nhằm đưa ra một thống nhất chung cho phiên bản của javascript trên các trình duyệt. Các tính năng của ES6 trong Nodejs được chia thành 3 nhóm: Shipping: Tính năng ổn định và được đặt mặc định trong nodejs Staged: Tính năng gần hoàn thiện và có thể sử dụng bằng việc đặt cờ harmony, nhưng chưa ổn định In progress: Tính năng đang thử nghiệm, có thể sử dụng, V8 team engineer có thể thay đổi mà không cần thông báo. Để xem các tính năng đang thử nghiệm của nodeJS node --v8-options | grep "in progress" Để xem các tính năng đang được hoàn thiện trong node: http://node.green/