Tác giả: H.D.K

Giới thiệu về Explain trong Mysql (Phần 1)

Giới thiệu về Explain trong Mysql (Phần 1)

I. Cấu trúc dữ liệu Giả sử ta có cấu trúc dữ liệu như sau: CREATE TABLE `posts` ( `Id` int(11) NOT NULL, `AcceptedAnswerId` int(11) DEFAULT NULL, `AnswerCount` int(11) DEFAULT NULL, `Body` longtext CHARACTER SET utf8 NOT NULL, ... `OwnerUserId` int(11) DEFAULT NULL, ... `Title` varchar(250) CHARACTER SET utf8 DEFAULT NULL, `ViewCount` int(11) NOT NULL PRIMARY KEY (`Id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 CREATE TABLE `votes` ( `Id` int(11) NOT NULL, `PostId` int(11) NOT NULL, `UserId` int(11) DEFAULT NULL, `BountyAmount` int(11) DEFAULT NULL, `VoteTypeId` int(11) NOT NULL, `CreationDate` datetime NOT NULL, PRIMARY KEY ... »

Quản lý state bằng Provider trong Flutter

Quản lý state bằng Provider trong Flutter

I. Lời nói đầu Có rất nhiều cách quản lý state trong Flutter. Sử dụng provider là 1 trong những cách đó. Chúng ta sẽ tìm hiểu thử xem sử dụng nó như thế nào. II. Case studyGiả sử ta có 1 ứng dụng đơn giản. Ứng dụng này gồm 2 thành phần chính là 1 thư viện dùng để hiện thị danh sách các sản phẩm và 1 giỏ mua hàng để hiển thị danh sách những sản phẩm đã được chọn. Từ 2 thành phần này, ta sẽ thiết kế 1 app bằng flutter có cấu trúc như ... »

Cách xử lí JSON trong Golang

Cách xử lí JSON trong Golang

I. Lời nói đầuViệc parsing JSON trong ngôn ngữ static như Golang sẽ gặp phải chút vấn đề. Giả sử ta có dữ liệu JSON, trong JSON đó có 1 key và 1 value, nhưng value đó có thể lồng 1 cặp key và 1 value khác và cứ như vậy. Vậy thì compiler của 1 ngôn ngữ static như Golang làm thế nào có thể làm việc được với JSON đó? II. Unmarshaling và MarshalingNếu trường hợp ta biết trước được cấu trúc của JSON đó như thế nào thì giải pháp chính là ta sẽ tạo 1  struct ... »

Type system trong ngôn ngữ Dart

Type system trong ngôn ngữ Dart

I. Lời mở đầuNgôn ngữ Dart kết hợp kết hợp việc kiểm tra kiểu dữ liệu static và kiểu dữ liệu runtime để đảm bảo giá trị của một biến luôn luôn phù hợp với kiểu dữ liệu static của biến đó, điều này đôi khi được gọi bằng thuật ngữ sound typing . Trong ngôn ngữ Dart, về bản chất một biến bắt buộc phải có kiểu dữ liệu, nhưng lập trình viên đôi khi không nhất thiết phải dùng type annotations để chỉ ra kiểu dữ liệu của biến đó vì Dart có thể tự suy luận ra kiểu ... »

Angular phiên bản 9 có gì mới?

Angular phiên bản 9 có gì mới?

I. Lời mở đầuVậy là tính đến thời điểm hiện tại, Angular đã ra đến phiên bản 9. Phiên bản 9 được xem như là lần update lớn nhất mà phía Angular từng làm và phải mất đến 3 năm để họ hoàn thành. Hôm nay chúng ta sẽ điểm qua một số điểm mới ở phiên bản này. II. Một số điểm mới ở Angular phiên bản 91. Ivy Ở phiên bản 8, Angular dùng compiler và runtime mặc định là View Engine. Ivy cũng đóng vai trò tương tự như View Engine nhưng nhanh hơn và tốt hơn. ... »

Giới thiệu về Faas trong việc phát triển các hệ thống phân tán

Giới thiệu về Faas trong việc phát triển các hệ thống phân tán

I. Lời mở đầuTrước khi hiểu được FaaS là ​​gì, chúng ta cần hiểu một thuật ngữ khác rất quan trọng đó chính là serverless computing. Serverless computing là một mô hình nhằm mục đích quản lý abstract server và cơ sở hạ tầng cấp thấp. Trong mô hình này, việc phân bổ tài nguyên được quản lý bởi nhà cung cấp dịch vụ cloud thay vì các lập trình viên, điều này có thể mang lại một số lợi ích rất lơn. Nói cách khác, mô hình serverless nhằm mục đích giúp các lập trình viên tập trung vào ... »

Giới thiệu tổng quan về các design pattern cho distributed system

Giới thiệu tổng quan về các design pattern cho distributed system

I. Lời mở đầuTrong lập trình hướng đối tượng, ta có 2 khái niệm quan trọng là class và object. Các design pattern giúp ta làm việc được với các class và object đó 1 cách hiệu quả. Tượng tự như thế, khi phát triển 1 distributed system ta cũng có các design pattern để làm việc với image container và container. II. Single-container management patternsContainer cung cấp các interface được dùng để định nghĩa các chức năng của phần mềm ( upward API ) cũng như tương tác với các hệ thống quản lý phần mềm đó ( downward API ). Việc sử ... »

Cách viết unit test cho REST API trong Golang

Cách viết unit test cho REST API trong Golang

I. Mô tả bài toánGiả sử ta đã có 1 REST API và API này có các endpoint là GetGetEntries, GetEntryByID, CreateEntry, UpdateEntry và DeleteEntry. Tương ứng với chúng là các đường dẫn như bên dưới: GetEntries -> "/entries" -> Method GET GetEntryByID -> "/entry?id=1234" -> Method GET CreateEntry -> "/entry" -> Method POST UpdateEntry -> "/entry" -> Method PUT DeleteEntry -> "/entry" -> Method DELETE Những endpoint này sẽ giúp ta tương tác với 1 struct có tên là entry type entry struct { ID int `json:" ... »