Profile

Hello Everyone!

I'm Duy, a lover of technology, programming,solution architect and everything related to IT.

Mới nhất

Cài đặt và bảo mật Memcached trên Ubuntu 22.04
Cài đặt và bảo mật Memcached trên Ubuntu 22.04

Cài đặt và bảo mật Memcached trên Ubuntu 22.04. Memcached là một hệ thống caching đối tượng bộ nhớ phân tán hiệu suất cao, tổng quát trong tính chất, nhưng dự định để sử dụng trong việc tăng tốc ứng dụng web động bằng cách giảm tải cơ sở dữ liệu.

Pgpool-II Admin Ubuntu
Pgpool-II Admin Ubuntu

Pgpool Admin là một công cụ quản lý cấu hình và giám sát PGpool-II, giúp bạn quản lý và theo dõi hiệu suất của cơ sở dữ liệu PostgreSQL. Trong hướng dẫn này, chúng ta sẽ đi qua các bước để cài đặt và cấu hình PGpool Admin trên hệ điều hành Ubuntu Linux, giúp bạn quản lý và theo dõi hiệu suất của cơ sở dữ liệu của mình.

Lesson 1 -  Cài đặt Pgpool-II  trên Ubuntu 22.04
Lesson 1 - Cài đặt Pgpool-II trên Ubuntu 22.04

PGpool-II là một giải pháp trung gian độc đáo, được thiết kế đặc biệt để tối ưu hóa và mở rộng khả năng của hệ quản trị cơ sở dữ liệu PostgreSQL. Nó mang lại nhiều lợi ích như việc tối ưu hóa kết nối, phân phối tải đều và thực hiện sao chép dữ liệu, biến PGpool-II thành công cụ không thể thiếu trong quản lý các triển khai PostgreSQL. Trong hướng dẫn chi tiết này, chúng ta sẽ đi qua các bước để cài đặt và cấu hình PGpool-II trên hệ điều hành Ubuntu Linux, giúp bạn khai thác tối đa hiệu suất và tính sẵn sàng cao của cơ sở dữ liệu của mình.

Lesson 2 - Load balancing và Replication
Lesson 2 - Load balancing và Replication

PGpool-II là một giải pháp trung gian độc đáo, được thiết kế đặc biệt để tối ưu hóa và mở rộng khả năng của hệ quản trị cơ sở dữ liệu PostgreSQL. Nó mang lại nhiều lợi ích như việc tối ưu hóa kết nối, phân phối tải đều và thực hiện sao chép dữ liệu, biến PGpool-II thành công cụ không thể thiếu trong quản lý các triển khai PostgreSQL. Trong hướng dẫn chi tiết này, chúng ta sẽ đi qua các bước để cài đặt và cấu hình PGpool-II trên hệ điều hành Ubuntu Linux, giúp bạn khai thác tối đa hiệu suất và tính sẵn sàng cao của cơ sở dữ liệu của mình.

Lesson 4 - PostgreSQL 16 Replication
Lesson 4 - PostgreSQL 16 Replication

PostgreSQL có tính năng sao chép tầng, cho phép sao chép dữ liệu từ DB này sang DB khác, tạo nhiều bản sao dữ liệu. Tính năng này giúp phân phối dữ liệu, đảm bảo dữ liệu mới nhất và hỗ trợ thay thế máy chủ chính.

Cài đặt Open VPN Server trên ubuntu 22.04
Cài đặt Open VPN Server trên ubuntu 22.04

Open VPN là một phần mềm mã nguồn mở giúp tạo ra một mạng riêng ảo (VPN) giữa các máy tính. OpenVPN có thể chạy trên nhiều hệ điều hành khác nhau, bao gồm cả Linux, Windows, Mac OS X, và các thiết bị di động.

Lesson 1 - Giới thiệu về Docker
Lesson 1 - Giới thiệu về Docker

Giới thiệu về Docker, một nền tảng mã nguồn mở giúp tự động hóa triển khai ứng dụng trong các container phần mềm.

Lesson 2 - Cài đặt Docker trên Mac M1
Lesson 2 - Cài đặt Docker trên Mac M1

Để cài đặt và sử dụng Docker trên Mac M1 một cách hiệu quả, bạn cần thực hiện các bước sau đây một cách cẩn thận và chi tiết. Mac M1 sử dụng kiến trúc ARM, vì vậy có một số điều cần lưu ý để đảm bảo Docker hoạt động ổn định.

Lesson 3 - Xây dựng Docker Image
Lesson 3 - Xây dựng Docker Image

Để cài đặt và sử dụng Docker trên Mac M1 một cách hiệu quả, bạn cần thực hiện các bước sau đây một cách cẩn thận và chi tiết. Mac M1 sử dụng kiến trúc ARM, vì vậy có một số điều cần lưu ý để đảm bảo Docker hoạt động ổn định.

Lesson 4 - Chạy Container trong Docker
Lesson 4 - Chạy Container trong Docker

Hướng dẫn chi tiết về cách chạy một container Docker. Bạn sẽ học cách chọn hình ảnh Docker, sử dụng lệnh `docker run`, và các tùy chọn thường dùng như `-it`, `--rm`, `-p`, và `-v`.

Lesson 5 - Docker Compose
Lesson 5 - Docker Compose

Docker Compose là một công cụ mạnh mẽ giúp bạn định nghĩa và chạy nhiều container Docker một cách dễ dàng và hiệu quả. Bạn sẽ học cách sử dụng Docker Compose để quản lý ứng dụng của mình với tệp cấu hình YAML đơn giản.

Lesson 6 - Docker Security
Lesson 6 - Docker Security

Docker Security là một chủ đề quan trọng mà mọi người sử dụng Docker cần phải quan tâm. Trong bài học này, chúng ta sẽ tìm hiểu về các vấn đề bảo mật liên quan đến Docker và cách giải quyết chúng.

Lesson 7 - Docker Networking
Lesson 7 - Docker Networking

Docker Networking là một chủ đề quan trọng mà mọi người sử dụng Docker cần phải quan tâm. Trong bài học này, chúng ta sẽ tìm hiểu về các vấn đề liên quan đến Network trong Docker và cách giải quyết chúng.

Lesson 8 - Docker Storage
Lesson 8 - Docker Storage

Docker Storage là một phần quan trọng của Docker, giúp quản lý dữ liệu và lưu trữ trong các container. Trong bài viết này, chúng ta sẽ tìm hiểu về các loại lưu trữ trong Docker, cách quản lý và sử dụng lưu trữ trong các container.

Lesson 9 - Docker Swarm
Lesson 9 - Docker Swarm

Docker Swarm là một công cụ quản lý container phân tán, cho phép bạn chạy, quản lý và mở rộng các container trên nhiều máy chủ. Trong bài viết này, chúng ta sẽ tìm hiểu về cách cài đặt và cấu hình Docker Swarm, cũng như cách sử dụng nó để quản lý các container trên môi trường phân tán.

Sơ lược về TCP/IP
Sơ lược về TCP/IP

TCP/IP là bộ giao thức mạng chính đứng sau Internet, bao gồm TCP (Transmission Control Protocol) và IP (Internet Protocol), đảm bảo truyền tải dữ liệu đáng tin cậy và hiệu quả.

GraalVM là gì?
GraalVM là gì?

GraalVM là một nền tảng máy ảo đa ngôn ngữ độc đáo, phát triển bởi Oracle, hỗ trợ Java cùng nhiều ngôn ngữ khác như JavaScript, Ruby, và Python. Nó cung cấp tính năng biên dịch trước thời gian chạy (AOT) và tối ưu hóa hiệu suất đáng kể cho các ứng dụng. GraalVM thích hợp cho phát triển microservices, ứng dụng đám mây và tăng cường khả năng tương tác giữa các ngôn ngữ lập trình.

Cài đặt và cấu hình MAAS (Metal as a Service) trên Ubuntu 22.04 LTS
Cài đặt và cấu hình MAAS (Metal as a Service) trên Ubuntu 22.04 LTS

Cài đặt và cấu hình MAAS (Metal as a Service) trên Ubuntu 22.04 LTS cung cấp một giải pháp quản lý phần cứng vật lý hiệu quả, với khả năng tự động hóa và dễ dàng mở rộng. Quá trình này giúp tối ưu hóa cấu hình máy chủ và quản lý tài nguyên, hỗ trợ môi trường đám mây và trung tâm dữ liệu.

Giới thiệu về MAAS (Metal as a Service)
Giới thiệu về MAAS (Metal as a Service)

MAAS (Metal as a Service) là một giải pháp cung cấp phần cứng trực tiếp, cho phép tự động hóa việc triển khai hệ điều hành trên máy chủ vật lý. Nó cung cấp khả năng quản lý phần cứng từ xa một cách linh hoạt và hiệu quả, hỗ trợ môi trường đám mây và trung tâm dữ liệu. MAAS giúp tối ưu hóa quy trình vận hành, giảm thiểu thời gian cài đặt và cấu hình, qua đó nâng cao hiệu suất và độ ổn định cho cơ sở hạ tầng IT.

Tạo thêm một phân vùng mới trong Ubuntu 22.04
Tạo thêm một phân vùng mới trong Ubuntu 22.04

Bài viết này hướng dẫn cách tạo thêm một phân vùng mới trong Ubuntu 22.04. Bài viết bao gồm các bước từ việc kiểm tra phân vùng ổ cứng, xác định ổ đĩa, tạo phân vùng mới, tạo Physical Volume, tạo điểm gắn kết, kiểm tra Volume Group (VG), tạo Logical Volume (LV), tạo File System, và cuối cùng là gắn kết Logical Volume. Mỗi bước đều được hướng dẫn chi tiết kèm theo các lệnh cần thiết và hình ảnh minh họa.

Lesson 2 - PostgreSQL so với cơ sở dữ liệu khác
Lesson 2 - PostgreSQL so với cơ sở dữ liệu khác

PostgreSQL so với cơ sở dữ liệu khác như thế nào?

Lesson 1 - Giới thiệu về PostgreSQL Database
Lesson 1 - Giới thiệu về PostgreSQL Database

PostgreSQL là một hệ thống quản lý cơ sở dữ liệu Mối quan hệ Đối tượng (ORDBMS) mạnh mẽ và mã nguồn mở, nổi tiếng với tính ổn định, tính mở rộng và tuân thủ SQL. Ban đầu được phát triển tại Đại học California, Berkeley, vào những năm 1980 và sau đó trở thành một trong những cơ sở dữ liệu mã nguồn mở phổ biến nhất trên toàn thế giới.

ACID là gì?
ACID là gì?

ACID (viết tắt của Atomicity, Consistency, Isolation, Durability) là một khái niệm cơ sở dữ liệu mà các chuyên gia thường tìm kiếm khi đánh giá các cơ sở dữ liệu và kiến trúc ứng dụng. Đối với một cơ sở dữ liệu đáng tin cậy tất cả bốn thuộc tính cần đạt được.

Lesson 3 - PostgreSQL Object Model
Lesson 3 - PostgreSQL Object Model

PostgreSQL so với cơ sở dữ liệu khác như thế nào?

Extend LVM Disk trên Linux Ubuntu 22.04
Extend LVM Disk trên Linux Ubuntu 22.04

LVM (Logical Volume Manager) là một công cụ trên hệ điều hành Linux cho phép quản lý ổ đĩa và phân vùng ổ đĩa một cách linh hoạt hơn. Thay vì phân chia ổ đĩa thành các phân vùng cố định, LVM cho phép tạo ra các phân vùng ảo (logical volume) có thể thay đổi kích thước, tạo ra nhiều khối lưu trữ nhỏ hơn để tận dụng tối đa không gian trống.

Cài đặt và bảo mật PostgreSQL 14 trên Ubuntu 22.04
Cài đặt và bảo mật PostgreSQL 14 trên Ubuntu 22.04

Cài đặt và bảo mật PostgreSQL 14 trên Ubuntu 22.04

Cài đặt và bảo mật PostgreSQL 16 trên Ubuntu 23.04
Cài đặt và bảo mật PostgreSQL 16 trên Ubuntu 23.04

Cài đặt và bảo mật PostgreSQL 16 trên Ubuntu 23.04

Triển khai Keycloak phiên bản 22.0.4 trên Microk8s
Triển khai Keycloak phiên bản 22.0.4 trên Microk8s

Keycloak Triển khai phiên bản mới nhất trên Kubernetes

Lesstion 4 - Zabbix 6.2 cảnh báo qua Telegram
Lesstion 4 - Zabbix 6.2 cảnh báo qua Telegram

Ở phần cảnh báo của Zabbix mình thích nhất là cảnh báo qua Telegram vì nhanh và bảo mật

Lesstion 2 - Zabbix Agent 2 trên máy chủ CentOS 7 dùng để theo dõi Mongodb Replica Set
Lesstion 2 - Zabbix Agent 2 trên máy chủ CentOS 7 dùng để theo dõi Mongodb Replica Set

Ở bài này mình sẽ hướng dẩn các bạn cài đặt Zabbix Agent 2 trên CentOS 7 để theo dỗi máy chủ Mongodb

Lesstion 3 - Zabbix Agent 2 trên Ubuntu 22.04 theo dõi máy chủ PostgreSQL
Lesstion 3 - Zabbix Agent 2 trên Ubuntu 22.04 theo dõi máy chủ PostgreSQL

Ở bài này mình sẽ hướng dẩn các bạn cài đặt Zabbix Agent 2 trên Ubuntu 22.04 để theo dỗi máy chủ PostgreSQL

Lesstion 1 - Giám sát máy chủ và thông báo khi máy chủ gặp sự cố chưa bao giờ khó với Zabbix
Lesstion 1 - Giám sát máy chủ và thông báo khi máy chủ gặp sự cố chưa bao giờ khó với Zabbix

Một ngày đẹp trời sau khi đi ăn sáng uống cà phê và lên công ty, sếp triệu tập một cuộc họp urgent và các câu hỏi liên quan về sự cố tối qua, mình cũng không biết nói gì, vì không có logs, không có tool monitoring system, và sau đó mình đã bắt đầu nghiên cứu và tìm ra Zabbix có thể làm được, sau một thời gian mình theo dõi, thì lỗi là do dàn SAN bị tràn bộ nhớ.

Cài đặt và bảo mật PostgreSQL 16 trên Ubuntu 22.04
Cài đặt và bảo mật PostgreSQL 16 trên Ubuntu 22.04

Cài đặt và bảo mật PostgreSQL 16 trên Ubuntu 22.04

Bài 4 - Cài đặt Fastlane cho IOS đẩy IPA lên Firebase Distribution và Testflight
Bài 4 - Cài đặt Fastlane cho IOS đẩy IPA lên Firebase Distribution và Testflight

Ở bài này mình sẽ hướng dẫn các bạn xơi trái táo cắn vỡ 🍎 🫢

Bài 3 - Đăng ký Firebase và cấu hình Fastlane đẩy APK lên Firebase Distribution (Phiên bản thử nghiệm)
Bài 3 - Đăng ký Firebase và cấu hình Fastlane đẩy APK lên Firebase Distribution (Phiên bản thử nghiệm)

Để tiện cho đội tester test sản phẩm và tự động hơn nên chúng ta cần làm CI - CD

Bài 1 - React Native DevOps các khái niệm và các cài đặt căn bản
Bài 1 - React Native DevOps các khái niệm và các cài đặt căn bản

Hướng dẫn setup jenkins agent để bắt đầu build mobile bằng jenkins cho developer an tâm phát triển sản phẩm

Lesson 2 - Cài đặt môi trường và công cụ phát triển JDK 11 và thiết lập Java Home trên Mac M1
Lesson 2 - Cài đặt môi trường và công cụ phát triển JDK 11 và thiết lập Java Home trên Mac M1

Một số phần mềm còn sử dụng phiên bản cũ của Java, chẳng hạn như JDK 11, do đó cài đặt JDK 11 sẽ giúp bạn có thể chạy các ứng dụng đó trên máy tính Mac M1 của mình. Bài viết này sẽ hướng dẫn bạn cách cài đặt JDK 11 và thiết lập biến môi trường Java Home trên Mac M1.

Lesson 1 - Giới thiệu tổng quan về Java Core
Lesson 1 - Giới thiệu tổng quan về Java Core

Java là một ngôn ngữ lập trình cấp cao, đa năng, hướng đối tượng và bảo mật được phát triển bởi James Gosling tại Sun Microsystems, Inc. vào năm 1991. Nó được chính thức gọi là Oak. Năm 1995, Sun Microsystem đổi tên thành Java. Năm 2009, Sun Microsystem tiếp quản bởi Oracle Corporation.

Lesson 3 - Quy tắc đặt tên, kiểu dữ liệu và ép kiểu, toán tử, cấu trúc điều khiển và rẽ nhánh
Lesson 3 - Quy tắc đặt tên, kiểu dữ liệu và ép kiểu, toán tử, cấu trúc điều khiển và rẽ nhánh

Java is one of the most popular programming languages ​​today with many applications around the world. In this lesson, we will learn about naming rules, data types and casts, operators, control structures, and branching. Understanding and using these concepts fluently will help you become a good Java programmer. Start learning these concepts now!

Lesson 4 - Xử lý String, Mảng 1 chiều, Mảng 2 chiều
Lesson 4 - Xử lý String, Mảng 1 chiều, Mảng 2 chiều

Xử lý String, Mảng 1 chiều và Mảng 2 chiều là những khái niệm quan trọng trong lập trình Java. Trong phần này, chúng ta sẽ tìm hiểu về cách xử lý chuỗi trong Java và cách sử dụng mảng 1 chiều và mảng 2 chiều để lưu trữ và xử lý dữ liệu. Chúng ta sẽ đi vào từng khái niệm chi tiết, cung cấp các ví dụ cụ thể và giải thích cách sử dụng chúng trong các ứng dụng thực tế.

Lesson 5 - Java Collections Framework
Lesson 5 - Java Collections Framework

Java Collections framework là một tập hợp các lớp và giao diện trong Java cung cấp các cấu trúc dữ liệu để lưu trữ, truy xuất và quản lý các đối tượng trong Java. Nó cung cấp một số loại cấu trúc dữ liệu phổ biến như List, Set và Map, cũng như các cấu trúc dữ liệu phức tạp hơn như Queue, Stack và Tree. Java Collections framework có thể được sử dụng để tăng tính hiệu quả, giảm thời gian và chi phí của các hoạt động xử lý dữ liệu trong Java.

Lesson 6 - Lập trình hướng đối tượng (OOP - Object Oriented Programming)
Lesson 6 - Lập trình hướng đối tượng (OOP - Object Oriented Programming)

Object-Oriented Programming (OOP) là một phương pháp lập trình cho phép xây dựng các ứng dụng dựa trên các đối tượng, như là đối tượng thực tế trong thế giới thực. OOP tập trung vào việc đóng gói dữ liệu và chức năng liên quan vào một đối tượng đơn lẻ, giúp cho việc phát triển, bảo trì và mở rộng ứng dụng trở nên dễ dàng hơn. OOP bao gồm các khái niệm quan trọng như kế thừa, đa hình, trừu tượng hóa và đóng gói dữ liệu, giúp cho các lập trình viên xây dựng ứng dụng có tính linh hoạt và dễ bảo trì.

Bài 8 - Sử dụng bộ tích hợp Monitoring System (Elasticsearch, Fluentd and Kibana, Grafana, Zipkin) của Microk8s
Bài 8 - Sử dụng bộ tích hợp Monitoring System (Elasticsearch, Fluentd and Kibana, Grafana, Zipkin) của Microk8s

Để phát hiện và ngăn ngừa lỗi, sẽ rất thuận tiện nếu có một công cụ giám sát tốt . Các hệ thống giám sát chịu trách nhiệm giám sát công nghệ mà một công ty sử dụng (phần cứng, mạng và thông tin liên lạc, hệ điều hành hoặc ứng dụng, trong số những thứ khác) để phân tích hiệu suất của nó, đồng thời phát hiện và cảnh báo về các lỗi có thể xảy ra. Một hệ thống giám sát tốt có khả năng giám sát các thiết bị, cơ sở hạ tầng, ứng dụng, dịch vụ và thậm chí cả quy trình kinh doanh .

Bài 7 - Dùng Kong Gateway để triển khai API Gateway cho hệ thống Microservices trên Microk8s
Bài 7 - Dùng Kong Gateway để triển khai API Gateway cho hệ thống Microservices trên Microk8s

Chào các bạn, Tiếp tục series microk8s thì đây là phần mình Reseach lâu nhất và cách deploy một kiến trúc microservices

Bài 6 - Cấu hình Jenkins trên Ubuntu 22.04 và viết Pipeline Build Service
Bài 6 - Cấu hình Jenkins trên Ubuntu 22.04 và viết Pipeline Build Service

Jenkins là một máy chủ tự động hóa nguồn mở, tự động hóa các tác vụ kỹ thuật lặp đi lặp lại liên quan đến việc tích hợp và phân phối phần mềm liên tục. Jenkins dựa trên Java, được cài đặt từ các gói Ubuntu hoặc bằng cách tải xuống và chạy tệp lưu trữ ứng dụng web (WAR) của mình-một bộ sưu tập các tệp tạo nên một ứng dụng web hoàn chỉnh để chạy trên máy chủ.

Bài 5 - Cài đặt và sử dụng private registry trong bộ tích hợp của Microk8s
Bài 5 - Cài đặt và sử dụng private registry trong bộ tích hợp của Microk8s

Trước tiên thì hệ thống mình hướng dẫn trong series sẽ triển khai trong moi trường VM và các image sẽ không public ra Internet nên mình sử dụng private registry

Bài 3 - Cài đặt Kubernetes với Microk8s 1.26 trên Ubuntu 22.04
Bài 3 - Cài đặt Kubernetes với Microk8s 1.26 trên Ubuntu 22.04

Một người bạn của tôi đã từng hỏi, tại sao tôi lại lại thích microk8s hơn minikube?… Kể từ đó, chúng tôi không bao giờ nói chuyện nữa. Đó là một câu hỏi khó, đặc biệt là đối với một kỹ sư. Câu trả lời không quá rõ ràng, vì nó phải tự trải nghiệm và sở thích cá nhân. Để tôi chỉ cho bạn hiểu vì sao.

Bài 4 - Cài đặt và sử dụng ingress trong bộ tích hợp của Microk8s
Bài 4 - Cài đặt và sử dụng ingress trong bộ tích hợp của Microk8s

Ở bài này thì mình cần thêm 1 VM cài Nginx để loadbalancer ở đây mình sẽ tạo thêm 1 VM ubuntu 22.04

Bài 3 - Cài đặt và chạy môi trường ảo hoá Oracle VM VirtualBox 7 bằng Vagrant
Bài 3 - Cài đặt và chạy môi trường ảo hoá Oracle VM VirtualBox 7 bằng Vagrant

Nếu bạn một Lập trình viên, nhà phát triển phần miềm, kiểm thử phần miềm, designer, một ngày đẹp trời đội dự án kiêu bạn vào và kiêu bạn chạy thử phần miềm trên máy bạn, bạn phải xây dựng 1 hệ thông y chang nhưng máy bạn, để cho tiện việt phát trển và kiểm thử, và hạn chế các câu hỏi "Tại sao máy tôi chạy được, mà máy bạn chạy không được", thì chúng ta có thể dùng Vagrant để đồng bộ cho môi trường phát triển

Bài 1 - Tạo máy ảo ubuntu 22.04 bằng Oracle VM VirtualBox 7
Bài 1 - Tạo máy ảo ubuntu 22.04 bằng Oracle VM VirtualBox 7

Ở bài trước mình có hướng dẫn các bạn cài đặt Oracle VM VirtualBox 7 trên ubuntu 22.04, bài này mình sẽ hướng dẫn các bạn tạo các VM Ubuntu để thực hành series này