Blog

thumbnail of Mastering Database Performance: A Deep Dive into Pages and Blocks
2024-10-22 23:09

Mastering Database Performance: A Deep Dive into Pages and Blocks

In the intricate world of database management and design, two fundamental concepts form the bedrock of performance and efficiency - pages and blocks.

#technologies#database#solution-arhitecture

thumbnail of Kafka 101
2024-07-24 22:49

Kafka 101

Tổng quan về Apache Kafka, một hệ thống publish/subscribe messaging. Bài viết này sẽ giới thiệu về các khái niệm cơ bản của Kafka như messages, schemas, topics, partitions, producers, consumers, brokers, clusters.

#software-architecture#kafka#kafka-101

thumbnail of Các vấn đề khi tạo ID trong giao dịch phân tán
2024-07-15 22:28

Các vấn đề khi tạo ID trong giao dịch phân tán

Trong hệ thống phân tán, việc tạo ID duy nhất là một vấn đề quan trọng. Việc tạo ID định danh duy nhất có thể được thực hiện bằng nhiều cách khác nhau, vậy thì những cách đó là gì? Hãy cùng tìm hiểu qua bài viết này.

#id-generation#distributed-systems

thumbnail of Proxy Pattern
2024-07-11 17:34

Proxy Pattern

Proxy Pattern là một structural pattern cho phép bạn cung cấp một đối tượng thay thế hoặc đại diện cho một đối tượng khác. Proxy kiểm soát truy cập đến đối tượng gốc, cho phép thực hiện một số hành động trước hoặc sau khi yêu cầu được chuyển đến đối tượng gốc.

#design-pattern#proxy#structural-pattern

thumbnail of So sánh Clean Architecture và Hexagonal Architecture
2024-06-21 22:49

So sánh Clean Architecture và Hexagonal Architecture

Trong lĩnh vực phát triển phần mềm, việc chọn kiến trúc phù hợp có thể ảnh hưởng đáng kể đến hiệu quả và khả năng bảo trì của dự án. Hai trong số các kiến trúc phổ biến được nhắc đến nhiều nhất hiện nay là Clean Architecture và Hexagonal Architecture. Cả hai đều hướng đến việc tách biệt các thành phần của hệ thống để cải thiện khả năng kiểm thử, bảo trì và phát triển. Trong bài viết này, chúng ta sẽ so sánh Clean Architecture và Hexagonal Architecture, đánh giá ưu và nhược điểm của chúng và đưa ra kết luận về sự lựa chọn tốt nhất cho các dự án khác nhau.

#software-architecture#clean-architecture#hexagonal-architecture

thumbnail of Nguyên Tắc SOLID Trong Phát Triển Phần Mềm
2024-06-14 09:43

Nguyên Tắc SOLID Trong Phát Triển Phần Mềm

Nguyên tắc SOLID là một tập hợp các nguyên tắc thiết kế giúp cải thiện chất lượng mã, tăng tính linh hoạt và bảo trì của hệ thống. SOLID là viết tắt của năm nguyên tắc => Single Responsibility Principle (SRP), Open/Closed Principle (OCP), Liskov Substitution Principle (LSP), Interface Segregation Principle (ISP), và Dependency Inversion Principle (DIP).

#solid#design-patterns#software-development

thumbnail of [DB] - Database Cost
2024-06-13 22:28

[DB] - Database Cost

Khi nói về tối ưu các câu lệnh sql, chúng ta thường nghe đến "cost". Vậy "cost" trong database là gì? Làm sao để đánh giá và tối ưu hóa nó?

#sql#database#relation#cost

thumbnail of Triển Khai Swagger 3.0 Trên Spring Boot
2024-06-10 09:43

Triển Khai Swagger 3.0 Trên Spring Boot

Hướng dẫn từng bước cài đặt và cấu hình Swagger 3.0 trong ứng dụng Spring Boot, so sánh Swagger 2 và Swagger 3, sử dụng Springdoc-openapi, annotations của Swagger, tích hợp Swagger UI vào ứng dụng Spring Boot, và bảo mật Swagger UI trong Môi Trường Production.

#swagger#api-documents#openapi#spring-boot#java

thumbnail of [Software design principles] - Các đặc điểm của thiết kế phần mềm tốt.
2024-06-09 11:28

[Software design principles] - Các đặc điểm của thiết kế phần mềm tốt.

Thiết kế phần mềm là một khía cạnh quan trọng trong phát triển phần mềm, đảm bảo rằng phần mềm không chỉ hoạt động tốt mà còn dễ bảo trì và mở rộng. Dưới đây là 2 nguyên tắc thiết kế phần mềm tốt: tái sử dụng mã nguồn, và khả năng mở rộng.

#design-principles#how-to#software-architecture#event-driven#domain#microservices

thumbnail of Swagger - Tài liệu APIs tập trung cho phát triển phần mềm hiện đại
2024-06-07 11:28

Swagger - Tài liệu APIs tập trung cho phát triển phần mềm hiện đại

Swagger, hiện được gọi là OpenAPI Specification (OAS), là một công cụ mạnh mẽ giúp tạo và duy trì tài liệu API một cách trực quan và dễ dàng.

#swagger#api-documents#openapi

thumbnail of [Design principles] - Phần 3: Design principles là gì? Thành phần (composition) ưu tiên hơn thừa kế (inheritance).
2024-04-03 23:28

[Design principles] - Phần 3: Design principles là gì? Thành phần (composition) ưu tiên hơn thừa kế (inheritance).

Một phần mềm được thiết kế tốt là gì? Thành phần (composition) ưu tiên hơn thừa kế (inheritance). Hãy cùng tìm hiểu về nguyên tắc này.

#design-principles#how-to#software-architecture

thumbnail of [Design principles] - Phần 2: Design principles là gì? Lập trình hướng interface, không hướng implementation.
2024-03-27 22:28

[Design principles] - Phần 2: Design principles là gì? Lập trình hướng interface, không hướng implementation.

Một phần mềm được thiết kế tốt là gì? Làm sao để đo lường và đánh giá được nó? Một trong những nguyên tắc thiết kế cơ bản đó là lập trình hướng interface mà không phải là hướng implementation. Hãy cùng tìm hiểu về nguyên tắc này.

#design-principles#how-to#software-architecture#design-patterns

thumbnail of Push notification In-App channel
2024-01-21 08:15

Push notification In-App channel

Với yêu cầu bài toán từ payment và các team marketing thì hệ thống push notification In-App của VETC được thiết kế như thế nào?

#push#notification#system#architecture#howto#mqtt

thumbnail of Hệ thống push notification hoạt động như thế nào?
2024-01-20 17:55

Hệ thống push notification hoạt động như thế nào?

Hệ thống push notification là một hệ thống quan trọng trong các ứng dụng mobile, web, ... Nó giúp các ứng dụng có thể gửi các thông báo tới người dùng một cách nhanh chóng. Trong bài viết này chúng ta sẽ tìm hiểu về hệ thống push notification hoạt động như thế nào.

#push#notification#system#architecture#howto

thumbnail of MQTT là gì?
2024-01-12 21:25

MQTT là gì?

MQTT là một giao thức truyền thông đơn giản, nhẹ và đáng tin cậy được phát triển vào năm 1999 bởi Andy Stanford-Clark (IBM) và Arlen Nipper (Arcom, nay là Cirrus Link) để gửi các message giữa các thiết bị IoT. MQTT là viết tắt của Message Queue Telemetry Transport.

#software-architecture#how-to#mqtt

thumbnail of [Design principles] - Phần 1: Design principles là gì? Đóng gói những business logic có thể dễ dàng thay đổi.
2023-12-20 22:28

[Design principles] - Phần 1: Design principles là gì? Đóng gói những business logic có thể dễ dàng thay đổi.

Một phần mềm được thiết kế tốt là gì? Làm sao để đo lường và đánh giá được nó?

#design-principles#how-to#software-architecture

thumbnail of 2023 - năm của AI phổ cập mọi nhà
2023-12-19 17:34

2023 - năm của AI phổ cập mọi nhà

Năm 2023 thực sự là một năm mà AI phổ cập từ ChatGPT cho tới các ứng dụng AI trong cuộc sống hằng ngày. Sự phổ biến của các AI giúp cho cuộc sống của mọi người như có một luồng gió mới mà trước đây chưa từng có. Những việc lặp đi lặp lại được AI xử lý một cách dễ dàng và nhanh chóng cho những người biết sử dụng nó vào trong đời sống, giúp họ giảm thời gian và nâng cao hiệu quả làm việc.

#ai#algorithm#throught

thumbnail of Here’s what YOU can do to bend your brain into submission
2023-12-17 07:09

Here’s what YOU can do to bend your brain into submission

So, we did our part. The rest is up to you. These tips are a starting point; Listen to your brain and figure out what works for you and what doesn’t. Try new things

#good-brain#how-to

thumbnail of Làm sao để viết git commit message tốt hơn?
2023-08-30 16:29

Làm sao để viết git commit message tốt hơn?

Làm sao để viết git commit message tốt hơn? Có nhiều cách để viết commit message, tuy nhiên tôi thấy có một cách viết commit message rất hay và dễ hiểu.

#document#how-to

Word of the Day
2022-04-28 13:24
Regimen
noun — /ˈredʒ.ə.mən/

Regimen refers to a plan or set of rules about food, exercise, etc., designed to make someone become or stay healthy.

Being but humble lexicographers, we cannot say whether an apple a day truly keeps the doctor away, but as far as regimens go, one could do a lot worse than snackin’ on a McIntosh. Regimen, which usually refers to a system of rules or guidelines—often for living a healthy life or taking a regular dose of exercise—comes ultimately from a Latin verb, regere, meaning “to direct.” Regere_led in apple-pie order to the English word regimen, first by way of the Latin noun regimen, meaning “steering” or “control,” and then via the Medieval Latin regimen, referring to a set of rules. Other regere descendants fell further from the tree, including correct, erect, region, rule, and surge. Be sure not to confuse regimen with another of its kin, regiment, which refers to a military unit, as doing so could upset the apple cart.


thumbnail of Chạy!!!
2022-04-28 11:36

Chạy!!!

Đôi khi tôi tự hỏi tôi đang chạy vì điều gì. Những suy nghĩ cứ lan man, quanh quẩn trong đầu tôi hết ngày này qua ngày khác.

#life#thounghtful#run

thumbnail of Mình dạo này ..
2020-04-18 00:42

Mình dạo này ..

Dạo này đang làm việc ở nhà tránh dịch. Chẳng hiểu sao lòng mình cứ bồn chồn, buồn bã.

#life#covid-19

thumbnail of Kỷ luật và hành động
2019-05-21 23:16

Kỷ luật và hành động

Kê hoạch mà nằm trên giấy thì cũng chỉ là kế hoạch, ý tưởng mà chỉ nằm trong suy nghĩ mà không được mang ra thực hiện thì không thể trở thành hiện thực. Đừng rối bời, đừng do dự, đừng trì hoãn. Việc hôm nay chớ để ngày mai. Bịt chặt tai lại, chuyên tâm vào việc trước mắt, đừng để bị quấy nhiễu cũng đừng vội nghĩ đến kết quả.

#life#action#rules

thumbnail of Sự lựa chọn quan trọng hơn nỗ lực?
2019-04-30 20:36

Sự lựa chọn quan trọng hơn nỗ lực?

Bạn có bao giờ tự hỏi tại sao có những người thành công trong cuộc sống mà không cần phải cố gắng quá nhiều, trong khi có những người dù làm việc chăm chỉ nhưng vẫn không đạt được kết quả mong muốn? Bí mật nằm ở những lựa chọn mà họ đưa ra. Lựa chọn có quan trọng hơn nỗ lực?

#life#diary

thumbnail of Chúng ta nên làm gì khi Chán đời?
2019-04-17 00:26

Chúng ta nên làm gì khi Chán đời?

Chán đời là một trạng thái tâm lý mà bạn và tôi đang hoặc đã từng gặp phải. Nó khiến cho cơ thể mệt mỏi, không còn năng lượng để sống và làm việc.

#life#bored

thumbnail of Markdown Test Page
2018-10-31 11:36

Markdown Test Page

A sample page with the most common elements of an article, including headings, paragraphs, lists, and images. Use it as a starting point for applying your own styles.

#test