Posts for: #Experience

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]

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]

Phương pháp ma quỷ để gộp chung Pandas, NumPy và SciPy vào chung một layer lambda để chạy trên Python 3.10 mà không quá dung lượng 250M

Mở đầu câu chuyện

Mọi thứ bắt đầu khi tôi được giao một task yêu cầu phải migrate tất cả function lambda của hệ thống từ Python 3.8 lên một phiên bản mới hơn do Python 3.8 sẽ kết thúc vòng đời (EOL) vào 10/2024. Sau một hồi cân nhắc thì tôi quyết định update lên 3.10. Mọi người có thể hỏi vì sao không update thằng lên 3.11+, câu trả lời đơn giản là vì nhiều thư viện Python hiện tại chưa support các bản mới như vậy, điển hình là PyTorch. Hơn nữa, các phiên bản mới có nhiều tính năng mới không dùng và có thể gây ra bug tiềm tàng. Dùng bản cũ ít tính năng thì sẽ bớt entropy để gây ra lỗi.

[Đọc tiếp]

Trải nghiệm thiết kế web server sử dụng giải pháp của Cloudflare

Đặt vấn đề

Sau một thời gian dài, rất dài làm việc với AWS, Azure, Oracle Cloud, tôi chợt nhận ra tất cả những nhà cung cấp trên có một đặc điểm chung như sau:

  • Khá rẻ khi đang dev
  • Giá tăng theo cấp số nhân khi bắt đầu có khách sử dụng, do thiết kế phải sử dụng rất nhiều các dịch vụ built in của nền tảng
  • Vẫn còn gồng được được khi bắt đầu serve lượng nhỏ người dùng nhưng khi phải gánh một hệ thống khủng để gánh một lượng lớn khách thì giá sẽ cao vọt lên.

Với một người có kinh tế eo hẹp, không được funding vốn từ bất kì đối tượng nào mà phải tự gồng gánh từ hạ tầng đến lương nhân viên, thì việc vỡ nợ trước khi sản phẩm ra tiền là viễn cảnh không hề xa.

[Đọc tiếp]