BLOG
ARCHIVE
GITHUB
ABOUT
RSS
advanced
angular
apply
architecture
array
async
atomic
await
bind
call
cheat sheets
chorme
css
es6
expressjs
firebase
flexbox
front-end
functional programming
git
gitflow
grid
hoc
hof
html
html5
interview
jade
javascript
mobx
mysql
nodejs
preact
pwa
react
redux
regex
saga
sass
seo
this
tips
trick
web
webpack
2019
Jan 06
Web Architecture 101
Jan 06
Một mô hình sử dụng Git branches hiệu quả
Jan 06
Giới thiệu về Atomic CSS
Jan 06
Cách Javascript hoạt động P19: Bên trong custom element + thủ thuật xây dựng component tối ưu
Jan 06
Cách Javascript hoạt động P18: WebRTC & cơ chế mạng peer-to-peer
Jan 05
Cách Javascript hoạt động P17: Bên trong Shadow DOM + xây dựng component khép kín
2018
Nov 25
Cách Javascript hoạt động P16: Engine lưu trữ + lựa chọn API lưu trữ nào cho phù hợp
Nov 25
Cách Javascript hoạt động P15: Bên trong Class & Inheritance + Transpiling với Babel & Typescript
Nov 25
Cách Javascript hoạt động P14: Parsing, Abstract Syntax Tree & mẹo giảm tối đa thời gian parse
Nov 25
Cách Javascript hoạt động P13: Bên trong CSS & JS animation & các giải pháp tối ưu hiệu năng của nó
Nov 25
Cách Javascript hoạt động P12: Bên trong lớp Network + Làm sao để tối ưu hóa hiệu năng và bảo mật Javascript
Nov 25
Cách Javascript hoạt động P11: Render engine & mẹo tối ưu hóa hiệu năng render
Nov 25
Cách Javascript hoạt động P10: Quan sát thay đổi trên DOM bằng MutationObserver
Nov 24
Cách Javascript hoạt động P9: Cấu tạo của Web Push Notifications
Nov 24
Cách Javascript hoạt động P8: Service Workers, vòng đời và các trường hợp sử dụng
Nov 16
Cách Javascript hoạt động P7: Thành phần của WebWorker + 5 trường hợp sử dụng
Nov 16
Cách Javascript hoạt động P6: So sánh với WebAssembly + Một số trường hợp tốt hơn nên sử dụng
Nov 16
Cách Javascript hoạt động P5: Hiểu sâu về WebSocket & HTTP/2 với SSE
Nov 13
Cách Javascript hoạt động P4: Event loop, lập trình bất đồng bộ & 5 mẹo cải thiện Async/Await
Nov 13
Cách Javascript hoạt động P3: Quản lý bộ nhớ & 4 trường hợp memory leaks phổ biến