Web
Javascript Shorthands Tips

These Javascript shorthand tips will make your code look more cool and clean.

Javascript
Guess.js

Guess.js - Thư viện và công cụ cải thiện UX dựa trên Dữ liệu, thống kê và Machine Learning. Và cách cài đặt plugin Gatsby.

Guess.js
Story
Migrate Blogger sang Gatsby

Mình đã migrate từ Blogger sang Gatsby

Migrate Blogger sang Gatsby
Javascript
7 thủ thuật với Resting và Spreading JavaScript Objects

Resting và spreading càng ngày được ưa chuộng vì sự tiện lợi của nó, sau đây là 7 tricks với JavaScript objects.

7 thủ thuật với Resting và Spreading JavaScript Objects
Web
Signale - Hackable console logger for Nodejs

Signale là một thư viện thay thế console logger trong Nodejs, cho kết quả đẹp, sexy hơn và nhiều chức năng.

Signale - Hackable console logger for Nodejs
TensorFlow.js

Với TensorFlow.js, không những có thể chạy models machine learning, mà chúng ta còn có thể training trực tiếp ngay trên browser. Trong bài viết ngắn gọn này, mình sẽ giới thiệu cách sử dụng cơ bản và nhanh nhất để bắt đầu với Tensorflow.js.

TensorFlow.js
Web
Gio.js - 3D Globe Data Visualization

Gio.js là thư viện nguồn mở để visualization 3D globe, xây dựng dựa trên thư viện **Three.js**. Gio.js cực kỳ dễ sử dụng và dễ customize.

Gio.js - 3D Globe Data Visualization
Propel - Machine learning for Javascript

Propel cung cấp cơ chế GPU-backed giống như thư viện Numpy trên Python, propel có thể cung cấp 1 kiến trúc rất mạnh cho các thuật toán Machine learning trên Javascript, như hỗ trợ tính toán rất mạnh và nhanh, như các tính toán trên ma trận, list, plot, ...

Propel - Machine learning for Javascript
Doc2vec trong Sentiment Analysis

Doc2vec, ngoài từ (word), ta còn có thể biểu diễn các câu (sentences) thậm chí 1 đoạn văn bản (document). Khi đó, bạn có thể dễ dàng vector hóa cả một đoạn văn bản thành một vector có số chiều cố định và nhỏ, từ đó có thể chạy bất cứ thuật toán classification cơ bản nào trên các vector đó.

Doc2vec trong Sentiment Analysis
Python - Nhận dạng xe hơi với OpenCV

Trong bài này, mình sẽ hướng dẫn sử dụng OpenCV để nhận diện xe hơi trong ảnh (video frame) với đặc trưng HAAR, sử dụng file mô hình đã được trained.

Python - Nhận dạng xe hơi với OpenCV
Phân lớp văn bản

Trong Machine Learning và NLP, phân lớp văn bản là một bài toán xử lí văn bản cổ điển, gán các nhãn phân loại lên một văn bản mới dựa trên mức độ tương tự của văn bản đó so với các văn bản đã được gán nhãn trong tập huấn luyện.

Phân lớp văn bản
natural - NLTK cho Javascript

NaturalJS được ví như nltk cho Node. natural có nhiều chức năng xử lý ngôn ngữ tự nhiên như: Tokenizing, stemming, classification, phonetics, tf-idf, WordNet, string similarity, ...

natural - NLTK cho Javascript
Web
gpu.js - Tăng tốc Javascript với GPU

Mình lướt github và vô tình thấy thư viện gpu.js này. gpu.js tự động compile mã Javascript thành một ngôn ngữ ánh xạ khác, và chạy trên GPU nhờ vào WebGL API. Nếu máy trình duyệt không có GPU, mã JS vẫn được thực thi bình thường.

gpu.js - Tăng tốc Javascript với GPU
Data
Cài Apache Spark standalone bản pre-built

Mình nhận được nhiều phản hồi từ bài viết BigData - Cài đặt Apache Spark trên Ubuntu 14.04 rằng sao cài khó và phức tạp thế. Thực ra bài viết đó mình hướng dẫn cách build và install từ source.

Cài Apache Spark standalone bản pre-built
NLP - Truyện Kiều Word2vec

Trong các dự án gần đây mình làm nhiều về Word2vec, khá có vẻ là useful trong việc biểu diễn word lên không gian vector (word embedding). Nói thêm về Word2vec, trong các dự án nghiên cứu W2V của Google còn khám phá được ra tính ngữ nghĩa, cú pháp của các từ ở một số mức độ nào đó

NLP - Truyện Kiều Word2vec
Python - Churn prediction with Graphlab

Churn prediction is the task of identifying whether users are likely to stop using a service, product, or website. With Graphlab toolkit, you can start with raw (or processed) usage metrics and accurately forecast the probability that a given customer will churn.

Python - Churn prediction with Graphlab
Project
Notibar.js

Notibar.js - Lightweight notification bar, no dependency.

Notibar.js
Web
Chatbot với Botpress - Phần 2: Coding

Chatbot với Botpress phần 2

Chatbot với Botpress - Phần 2: Coding
Data Engineer
vnTokenizer trên PySpark

Trong blog này mình sẽ custom lại vn.vitk để có thể chạy như một thư viện lập trình, sử dụng ngôn ngữ python (trên PySpark và Jupyter Notebook).

Javascript
Javascript Weekly #9

Javascript Weekly #9: Date-DNS, chi tiết về các bản cập nhật mới của V8, React và Angular. [![](https://2.bp.blogspot.com/-3n1yGifwJdY/WEtxXVdp38I/AAAAAAAAgt4/ijum1QPHo6ENxNmPawMuGeKyxKfw2tfEACLcB/s1600/Screenshot%2Bfrom%2B2016-12-10%2B10-06-59.png)](https://blog.duyet.net/2016/12/javascript-weekly-9.html) ## [date-fns: A Modern...

Javascript Weekly #9
News
Openstack - App Catalog và Docker trên Devstack

DevStack là giúp triển khai mô hình Openstack cho Developers, có thể chạy trên Single-Machine

Openstack - App Catalog và Docker trên Devstack
Javascript
Yarn: A new package manager for JavaScript

Facebook has launched Yarn

Yarn: A new package manager for JavaScript
Data Engineer
Spark: Convert Text (CSV) to Parquet để tối ưu hóa Spark SQL và HDFS

Lưu trữ dữ liệu dưới dạng Columnar như Apache Parquet góp phần tăng hiệu năng truy xuất trên Spark lên rất nhiều lần. Bởi vì nó có thể tính toán và chỉ lấy ra 1 phần dữ liệu cần thiết (như 1 vài cột trên CSV), mà không cần phải đụng tới các phần khác của data row. Ngoài ra Parquet còn hỗ trợ flexible compression do đó tiết kiệm được rất nhiều không gian HDFS.

Spark: Convert Text (CSV) to Parquet để tối ưu hóa Spark SQL và HDFS
Data
Chạy Apache Spark với Jupyter Notebook

IPython Notebook là một công cụ tiện lợi cho Python. Ta có thể Debug chương trình PySpark Line-by-line trên IPython Notebook một cách dễ dàng, tiết kiệm được nhiều thời gian.

Chạy Apache Spark với Jupyter Notebook
News
Tối ưu hóa Javascript với Google Closure Compiler

Closure Compiler là 1 dự án của Google giúp Javascript tải và chạy nhanh hơn. Không phải là biên dịch từ Javascript sang mã máy, mà Closure biên dịch từ Javascript sang better-Javascript. Tức là tự động viết lại Javascript sao cho tối ưu hóa nhất mà kết quả không thay đổi.

Tối ưu hóa Javascript với Google Closure Compiler
Data
PySpark - Thiếu thư viện Python trên Worker

Apache Spark chạy trên Cluster, với Java thì đơn giản. Với Python thì package python phải được cài trên từng Node của Worker. Nếu không bạn sẽ gặp phải lỗi thiếu thư viện.

Javascript
Javascript Weekly #8

Javascript Weekly #8 với các bài viết: React Native có mặt trên Ubuntu, JS góp mặt vào IoT với việc điều khiển các mạch máy tính thông minh, song song hoá tính toán với GPU, ...

Javascript Weekly #8
Javascript
Big Integer Javascript

JavaScript's Integer has a limit of up to 18437736874454810627 (that is, 2^64-2^53+3). To handle much larger values with high performance, we can use the Big Integer library.

Big Integer Javascript
Javascript
Javascript Weekly #7

Javascript Weekly #7 tuần này: giới thiệu HyperTerm - Command Line mạnh mẽ dựa trên công nghệ của Web, Node.js, Howler.js là một thư viện Audio nhiều tính năng, hay cách xây dựng ứng dụng Desktop sử dụng Electron và React, khám phá 2 chức năng mới trong ES6, ...

Javascript Weekly #7
Javascript
Javascript Weekly #6

Bài viết giới thiệu chi tiết về Redux, D3.js 4.0 Released, thư viện hiệu ứng anime.js, viết ứng dụng WebAssembly đầu tiên, Debug Node .... đây là các bài sẽ có trong Javascript Weekly #6

Javascript Weekly #6
Javascript
Javascript Weekly #5

Preact cho những ai muốn sử dụng các chức năng core của React chỉ với 3KB, Angular 2 ra mắt với nhiều tính năng mới, học D3.js, bài viết cực hay và chi tiết về "this" trong Javascript trong các trường hợp.

Javascript Weekly #5
Javascript
Javascript Weekly #4

React và ES6 vẫn là các chủ đề đang được quan tâm. Javascript Weekly tuần này có gì hot?

Javascript Weekly #4
Javascript
JavaScript Weekly #3

V8, modern JavaScript, WebAssembly tại sự kiện Google I/O, các chức năng Promises, Async và Await ES6 và ES7 sẽ giải quyết vấn đề "Callback Hell" như thế nào, React, ... Có gì mới trong #3 này?

JavaScript Weekly #3
Javascript
Webfont.js - Web Font Loader

Web Font Loader (webfont.js)

Webfont.js - Web Font Loader
Javascript
WebGazer.js - theo dõi chuyển động mắt của người dùng trên Website

WebGazer.js là thư viện viết bằng Javascript, theo dõi mắt người dùng, xác định điểm trên màn hình mà người dùng đang chú ý đến. Thư viện xử lý real-time, chạy trực tiếp trên trình duyệt, sử dụng webcam để nhận diện và không cần phải gửi video về server.

WebGazer.js - theo dõi chuyển động mắt của người dùng trên Website
Javascript
JavaScript Weekly #2

Javascript #2 tuần này có gì mới.

JavaScript Weekly #2
Javascript
Cách sử dụng Destructuring trong Javascript ES6

Destructuring là chức năng mới trong ES6 của Javascript. Giúp extract dữ liệu (có thể lồng nhau) từ Array hoặc Object.

Cách sử dụng Destructuring trong Javascript ES6
Javascript
ES6 - ép sử dụng tham số trong function

Các tham số function trong Javascript thực ra không bắt buộc, Javascript chỉ kiểm tra khi nó được sử dụng đến. Một số trường hợp ta muốn bắt buộc người sử dụng hàm phải điền tham số này khi gọi hàm. Thủ thuật sau sử dụng chức năng default param trong ES6

Javascript
ES6 - swap (hoán đổi) nhanh 2 biến số

ES6 có chức năng destructuring có khá nhiều công dụng. Thủ thuật sau giúp hoán đổi giá trị 2 biến bằng cách destructuring.

ES6 - swap (hoán đổi) nhanh 2 biến số
Javascript
JavaPoly.js: chạy Java ngay trên trình duyệt Web

Polyfills native, hỗ trợ JVM, bạn có thể import file Jar, biên dịch và chạy trực tiếp mã Java ngay trên trình duyệt Web với JavaPoly, thư viện được viết bằng Javascript.

JavaPoly.js: chạy Java ngay trên trình duyệt Web
Javascript
JavaScript Weekly #1

Từ nay, blog sẽ có thêm mục mới JavaScript Weekly, cập nhật và tổng hợp hàng tuần về Javascript/Nodejs. Mở đầu tuần đầu tiên này có gì mới?

 JavaScript Weekly #1
Javascript
console.log() nâng cao

Là một lập trình viên Javascript/Nodejs, ắt hẳn ai cũng đã quen với các hàm `console.*` để debug. Nay tôi xin giới thiệu các tính năng cách sử dụng hay và ít được biết đến của các hàm `console.*` này.

console.log() nâng cao
Javascript
Awesome functional programming in JavaScript

A curated list of awesome functional programming in JavaScript

Javascript
ES6 có gì mới?

ES6 là phiên bản mới nhất của bộ tiêu chuẩn ECMAScript. ES6 ra mắt giữa 2015 với rất nhiều những tính năng mới lạ, và cần thiết đối với sự phát triển chóng mặt của Javascript trong những năm gần đây. Cụ thể ES6 sẽ có những điểm mới nào nổi bật?

ES6 có gì mới?
Project
Update saveto.co: tìm kiếm và gắn tag link

Hiện saveto.co vừa được nâng cấp, các URL được bookmark trên hệ thống hiện có thể được tìm lại thông qua từ khóa, từ khóa được nhập trực tiếp vào thanh URL.

Update saveto.co: tìm kiếm và gắn tag link
Javascript
calc.js - evaluate expressions for Math

Flexible expression parser and offers an integrated solution to work with numbers, big numbers, complex numbers, units, and matrices. Powerful and easy to use.

calc.js - evaluate expressions for Math
Javascript
Sao lại là Node.js/Javascript?

Hàng năm, Stack Overflow đều có 1 cuộc khảo sát trên hàng trăm nghìn Developers thông qua các dịch của mình. Năm nay có 56,033 coders trên 173 nước trên thế giới tham gia khảo sát. Kết quả của các khảo sát này cho ta cái nhìn tổng quan và đúng đắn nhất về development trong năm qua.

Sao lại là Node.js/Javascript?
Javascript
function* và yield trong Javascript generator function

function* giúp khai báo 1 generator function, trả về 1 Generator object. Với chức năng mới này, hàm có thể dừng thực thi bất cứ thời điểm nào, đợi async chạy xong, xong tiếp tục thực thi.

function* và yield trong Javascript generator function
Javascript
copy.js - simple copy text to clipboard in the browser

Simple copy to clipboard. No Flash.

copy.js - simple copy text to clipboard in the browser
Javascript
Javascript - Thư viện Vizualization

Các thư viện Vizualization trên Js

Javascript - Thư viện Vizualization
Project
jsLab.xyz

jsLab.xyz

jsLab.xyz
Javascript
Clipboard.js - thư viện giúp cắt/sao chép nội dung trên web một cách dễ dàng.

Clipboard.js là một thư viện vô cùng gọn nhẹ (2kb) giúp bạn dễ dàng cắt hoặc sao chép nội dung trên trang web một cách dễ dàng. Được sử dụng trong các trường hợp bạn muốn người dùng tự động copy dữ liệu vào trong clipboard mà không cần thực hiện thao tác copy hoặc Ctrl + C.

Clipboard.js - thư viện giúp cắt/sao chép nội dung trên web một cách dễ dàng.
Javascript
JS - The Entire JavaScript Language in a Single Image

A developer named Yusheng has created an amazing infographic that shows the entire JavaScript language syntax into one single image. Take a look and save it for a quick reminder.

Javascript
JavaScript Style Guide

A mostly reasonable approach to JavaScript.

Javascript
JavaScript Code Smells

As we grow as developers we strive to write more maintainable code, but on our journey we often times don't know what that looks like yet.

JavaScript Code Smells