5 lỗi phổ biến khi sử dụng Architecture Components

1. Rò rỉ LiveData observers trong Fragments Các Fragments có vòng đời khó quản lý và khi một Fragment bị detached và re-attached, không phải...

Thuật toán NegaMax – Biến thể tối giản của MiniMax

I, Tại sao cần phải ra đời NegaMax? Đầu tiên, nhắc lại kiến thức cũ 1 tí. MiniMax là thuật toán xác định kết...

So sánh tốc độ List collection và HashSet collection trong C#

Người viết: Tùng NT Mở đầu Lâu nay khi lập trình chúng ta chủ yếu sử dụng kiểu dữ liệu List để thao tác với các collection, mặc...

HTML5 Web Worker: Truyền dữ liệu

Trong bài viết này, chúng ta sẽ tìm hiểu sâu hơn về cơ chế truyền và nhận dữ liệu giữa thread chính của trang...

Sơ lược về connect React-redux

Redux là một thư viện cực kì đơn giản cho việc quản lý state và nó được tạo ra để làm việc với React một cách dễ dàng...

Tại sao không nên lưu trữ data user trên Local Storage?

Tại sao Local Storage không an toàn và bạn không nên dùng nó để lưu trữ data nhạy cảm? Có một vấn đề: hầu hết...

Xây dựng hệ thống tìm kiếm nhạc bằng âm thanh với Python và Approximate...

Tình huống khó xử Xin chào tất cả các bạn. Không biết đã bao giờ các bạn gặp phải một số tình huống dở khóc...
So sánh Interface và Abstract

So sánh Interface và Abstract trong lập trình hướng đối tượng

Interface và Abstract class là 2 khái niệm cơ bản trong lập trình OOP. Nhưng phần lớn mọi người cảm thấy mơ hồ và lẫn lộn...

Tầm quan trọng của giải thuật trong việc xử lý các bài toán

Để hiểu được tại sao kiến thức về giải thuật lập trình và việc hiểu biết về giải thuật lại quan trọng chúng ta...

[Python cơ bản thường dùng trong công việc] Phần 5 : thao tác trên...

Nội dung chương này sẽ hướng dẫn các thao tác liên quan đến tập tin và thư mục. 5.1. Tập tin (File) 5.1.1. Mở file Trước khi...

[Python cơ bản thường dùng trong công việc] Phần 2 : Cú pháp thông...

2.1. Biến số Khai báo biến bằng một câu lệnh gán. bạn có thể gán nhiều loại giá trị (số, chuỗi) cho một biến. 2.2. Toán tử...

Những hàm Javascript hay sử dụng mà bạn nên nhớ (Phần 1)

Bạn là một web developer và làm việc rất nhiều với javascript (js) chắc hẳn bạn đã gặp trường hợp tìm đi tìm lại...

[Python cơ bản thường dùng trong công việc] Phần 14 : Gửi email với...

SMTP là giao thức gởi mail thông dụng hiện nay. Python hỗ trợ mặc định thư viện smtplib dùng để kết nối đến một...

Xử lí sự kiện trong VueJS

Lời mở đầu Trong bài viết hôm nay, mình sẽ đề cập đến một vấn đề mà có lẽ là quan trọng nhất đối với...

Validation sẽ trở nên dễ dàng hơn với validatorjs và Vue+Vuex

Giới thiệu validatorjs Validatorjs là 1 thư viện javascript xử lý validation. Theo tự nhận của tác giả của thư viện thì nó "lấy cảm hứng...

Nuxt.js là gì? Một vài lưu ý khi sử dụng Nuxt.js

Xin chào tất cả mọi người, hôm này mình sẽ chia sẻ một số lưu ý khi sử dụng Nuxt.js. Một framework xây dựng...

Cách tôi nhân rộng một dự án trị giá 86 triệu đô la chỉ...

Cảnh sát Victoria là cơ quan thực thi pháp luật chính của Victoria, Úc. Với hơn 16.000 xe bị mất cắp ở Victoria trong...

1001 Tips: Con trỏ và hàm (Pointer & Function) trong C++

Người viết: nguyenchiemminhvu Con trỏ và tham số của hàm Chúng ta đã tìm hiểu về 2 kiểu tham số của hàm: Hàm có tham số...

Những hàm Javascript hay sử dụng mà bạn nên nhớ (Phần 2)

Trong bài viết này mình sẽ giới thiệu thêm những phương thức của Array mà theo mình bạn rất hay sử dụng. Array methods 1, forEach() ...

Kỹ Thuật Phân Tích Giải Thuật

Trong bài viết này chúng ta sẽ nghiên cứu phân tích giải thuật những vấn đề sau: Sự cần thiết phải phân tích các...