Đây là các bài viết trong năm 2016.

Để xem tất cả các bài viết click vào đây.

React + ES6 = không còn autobind

React + ES6 = không còn autobind

React đã loại bỏ tính năng "autobinding" với các class component sử dụng cú pháp EcmaScript 2015 (ES6). Vì vậy, những cách truyền hàm như kiểu onClick={this.onClickHandler} sẽ không hoạt động nữa vì hàm onClickHandler không được gán cho đối tượng nào, this trong hàm đó sẽ không […]

Vài lỗ hổng thường gặp và cách phòng chống trong Django

Vài lỗ hổng thường gặp và cách phòng chống trong Django

Bảo mật các trang Web luôn là vấn đề đau đầu cho bất cứ ai. Có vô vàn cách thức tấn công khác nhau. Và ngay khi chúng ta có thể phòng chống được cách này thì lại có các khác được sinh ra. Trong bài viết này, tôi sẽ […]

Giới thiệu về Source Maps

Giới thiệu về Source Maps

Trong quá trình phát triển Web, với các công việc liên quan đến front-end, ví dụ như code CSS, JS, có thể bạn sẽ dùng đến một số preprocessor như SASS, CoffeeScript,... cũng như các công cụ để gộp và nén file. Nhưng khi bạn muốn debug code của những […]

Giữ gulp tiếp tục chạy khi gặp lỗi với gulp-plumber

Giữ gulp tiếp tục chạy khi gặp lỗi với gulp-plumber

Nếu bạn đang sử dụng gulp, có thể bạn sẽ thích cách làm việc của nó (stream) và nó rất đơn giản, mọi thứ được thể hiện trong code. Thực sự gulp rất tuyệt vời và tôi cũng đang dùng nó cho các công việc liên quan đến front-end của […]

Cryptography: Untwisting Mersenne Twister

Cryptography: Untwisting Mersenne Twister

Cách mã hóa sử dụng one-time pad (OTP), hay còn được gọi là Vernam-cipher hoặc perfect cipher là cách mã hóa sử dụng khóa ngẫu nhiên. Đây là cách mã hóa duy nhất, về lý thuyết, là bảo mật và không thể bẻ khóa được. Tuy nhiên, cuộc đời thường […]

Sử dụng AMD & RequireJS để module hoá JavaScript

Sử dụng AMD & RequireJS để module hoá JavaScript

Trong quá trình phát triển Web, chắc chắn bạn sẽ phải làm việc với JavaScript. Theo thời gian, cùng với sự phát triển của dự án, code JavaScript cũng càng ngày càng phức tạp. Bài viết này sẽ trình bày một thư viện sẽ giúp chúng ta module hóa code […]

Sử dụng Docker (và Docker Compose) cho dự án Django

Sử dụng Docker (và Docker Compose) cho dự án Django

Gần đây, khái niệm ảo hóa sử dụng container được nhắc đến khá nhiều. Và Docker cũng đang nổi lên như một hiện tượng và được rất nhiều người sử dụng. Trong bài viết này, tôi sẽ đi vào tìm hiểu và thực hành sử dụng Docker cho dự án […]

Hiểu và master từ khoá

Hiểu và master từ khoá "this" của JavaScript

Từ khóa this của JavaScript là một trong những khái niệm cơ bản nhưng cũng dễ gây nhầm lẫn nhất của ngôn ngữ này. Trong bài viết này, chúng ta sẽ dần dần tìm hiểu và làm sáng tỏ this, sao cho từ bây giờ, bạn không cần phải lo […]

Đôi điều về coding style

Đôi điều về coding style

Coding style (programming style) là bộ các quy tắc hoặc hướng dẫn được sử dụng bởi các lập trình viên khi viết mã nguồn phần mềm. Các lập trình viên thường được yêu cầu tuân thủ các quy tắc này để đảm bảo tính dễ đọc và dễ hiểu của […]

Python class decorator

Python class decorator

Trong bài viết trước, chúng ta đã tìm hiểu về metaclass trong Python. Và đi đến kết luận rằng, metaclass là một khái niệm rất phức tạp của Python và chúng ta không nên lạm dụng nó. Nếu muốn thay đổi hoạt động của một class, chúng ta có thể […]

Python metaclass

Python metaclass

Metaclass là một chủ đề khá ít người đề cập của Python. Một phần có lẽ bởi vì nó cũng ít được sử dụng, mà một phần lý do bởi vì Python cũng ít có tài liệu về chủ đề này. Trong bài viết này, tôi sẽ giới thiệu những […]

Vài Tip cải thiện hiệu suất trang web

Vài Tip cải thiện hiệu suất trang web

Trong bài viết này, tôi sẽ trình bày một số kỹ thuật, rất cơ bản, có thể áp dụng với mọi dự án Web, để có thể nâng cao hiệu suất, mở rộng ứng dụng và giảm chi phí. Vào thời điểm này, một server Web cỡ trung bình (8 […]

Code hay quá (không phải của tôi) nên lưu lại để nhớ

Code hay quá (không phải của tôi) nên lưu lại để nhớ

Một chương trình và in ra các số nguyên tố. Sử dụng fork (và pipeline), nó sẽ sinh ra các tiến trình con. Trong quá trình kiểm tra các số, các tiến trình con tương ứng với các số nguyên tố sẽ lần lượt được tạo ra. Quá trình có […]

Django: Abstract Base Classes vs Multiple Table Inheritance

Django: Abstract Base Classes vs Multiple Table Inheritance

Django là một framework rất đầy đủ của Python cho phép chúng ta có thể phát triển nhanh một trang Web với những tính năng mạnh mẽ. Django đã cho phép kế thừa các model từ cách đây khá lâu, khi QuerysetRefactor branch được merge. Điều này cho phép chúng […]

Cách sử dụng Django admin và các trường hợp chống chỉ định

Cách sử dụng Django admin và các trường hợp chống chỉ định

Django admin là một app rất hữu ích và đầy đủ tính năng, được tích hợp sẵn trong Django framework. Sử dụng Django admin sẽ giúp chúng ta phát triển một trang Web nhanh hơn. Trong bài viết này, tôi sẽ trình bày một số tip để làm việc với […]

Kỹ thuật scraping và crawling nâng cao với Scrapy và SQLAlchemy

Kỹ thuật scraping và crawling nâng cao với Scrapy và SQLAlchemy

Trong bài viết trước tôi đã giới thiệu kỹ thuật cơ bản sử dụng Scrapy và SQLAlchemy để scraping và crawling dữ liệu từ trang StackOverflow. Trong bài viết này, tôi sẽ giới thiệu một sỗ kỹ thuật nâng cao sử dụng Scrapy để scraping và crawling Web như follow […]

Python iterator & generator

Python iterator & generator

Trong bài viết này, chúng ta sẽ tìm hiểu một số khái niệm rất thông dụng trong Python nhưng cũng thường bị bỏ qua nên có thể dẫn đến những hiểu sai nhất định. Những khái niệm đó chính là iterator và generator. Chúng được sử dụng thường xuyên nên […]

Welcome




manhhomienbienthuy

Bài viết mới




Chuyên mục




Lưu trữ theo năm




Câu nói yêu thích




There's a big difference between knowing the name of something and knowing something.

– Richard P. Feynman –

Thông tin liên hệ




Cảm ơn bạn đã quan tâm blog của tôi. Nếu có bất điều gì muốn nói, bạn có thể liên hệ với tôi qua các mạng xã hội, tạo discussion hoặc report issue trên Github.