Xin chào! 👋👋👋

Tôi là Hải (Aperture) Vũ, DevOps và Backend Developer tại Maxflowtech/Caterpillar.

Làm việc với AWS ban ngày, nghịch ngợm và nghiên cứu Cloudflare ban đêm.

Đang trên đường tích cóp kinh nghiệm để thiết kế một hệ thống scale khủng mà tiết kiệm và có đủ tiền để mua một căn nhà dưỡng già bên bờ biển.

Dưới đây là những bài blog về hành trình code của tôi, có thể đúng, có thể sai, có thể đã lỗi thời. Để góp ý và cùng bàn luận, hãy để lại bình luận của bạn ở dưới mỗi bài post hoặc liên lạc với tôi ở mục Thông tin.

Cài đặt OpenShift trên Homelab

Mở đầu câu chuyện

Một đề bài phỏng vấn vào cửa gần đây của tôi với Red Hat là làm một bài thuyết trình bao gồm:

  • Cách thức triển khai OpenShift lên homelab của mình.
  • Ví dụ một phương thức triển khai một ứng dụng trên OpenShift (từ lúc nó còn là code đến khi nó biến thành một cái Web App chạy được).
  • Cách thức scale và monitor ứng dụng.

Tôi có 1 tuần để chuẩn bị, tìm hiểu. Với background Kubernetes rồi thì có lẽ tôi cần phải tìm hiểu thêm về OpenShift. Và bài blog này sẽ kể về quá trình tôi cài đặt nó lên trên môi trường homelab của mình.

[Đọc tiếp]

Kinh nghiệm sau khi dành gần một năm chạy code xử lý ảnh trên Cloudflare Workers

Đọc phần trước của bài viết này tại đây: Trải nghiệm khi xử lý ảnh trên Cloudflare Workers

Mở đầu câu chuyện

Tiếp tục nội dung của bài viết , sau một năm sử dụng Cloudflare Workers để xử lý ảnh bằng thư viện Photon, tôi đã rút ra được một vài kinh nghiệm và giới hạn của Cloudflare Workers khi sử dụng nó để làm các tác vụ nặng về tính toán.

[Đọc tiếp]

Sử dụng libopenshot thay cho moviepy để render video

Blog ngắn chia sẻ câu chuyện là chính, nếu bạn thấy tò mò tôi sẽ viết thêm một bài ví dụ về sử dụng libopenshot.

Mở đầu câu chuyện

Một trong những job gần đây nhất của tôi là làm một renderer để render số lượng lớn các video ngắn brain rot theo định dạng có sẵn để upload chúng lên TikTok, Instagram Reels hay Youtube Shorts, hoặc các video dài dạng tin tức phóng sự kèm TTS để đọc văn bản. Và tất nhiên việc đầu tiên tôi làm là lên Google tìm xem có cái thư viện nào code sẵn hay chưa rồi dùng thẳng luôn cho khoẻ. Cuối cùng tôi tìm thấy thư viện phổ biến nhất để làm việc này: moviepy

[Đọc tiếp]

Trải nghiệm khi xử lý ảnh trên Cloudflare Workers

Bài viết cập nhật về giải pháp này ở đây: Kinh nghiệm sau khi dành gần một năm xử lý ảnh trên Cloudflare Workers

Code demo của bài blog được để ở link GitHub này

Mở đầu câu chuyện

Gần đây tôi có 1 bài toán như sau:

  • Lưu trữ ảnh trên R2 Bucket
  • Ảnh gốc không được để lộ ra ngoài
  • Khi khách lấy ảnh ra, tối ưu kích thước ảnh và thêm watermark

Có hai cách sau mà tôi đã cân nhắc, kèm theo ưu nhược điểm:

[Đọc tiếp]

Xử lý vấn đề Waiting for table metadata lock khi ALTER TABLE trên InnoDB, MySQL 8

Lưu ý: Bài viết này áp dụng với MySQL 8, vậy nên không chắc mọi thứ vẫn sẽ hoạt động đúng với MySQL 5.7 trở xuống.

Mở đầu câu chuyện

Vấn đề ở trên gặp phải khi tôi cần phải chạy lệnh sau để update Character Set và Collation từ latin sang utf8 của một bảng trong MySQL. Đúng ra tôi nên đặt Collation và Character Set thành utf8/utf8_unicode_ci ngay từ đầu, nhưng do sơ suất nên giờ phải convert như thế này:

[Đọc tiếp]