0

Tổng hợp bộ 100+ Công cụ cho Dev (Format SQL, PDF <1MB, Tách nền AI) Không lưu Data

Bài toán Kiến trúc Hybrid (Client-side & Stateless Backend) khi xây dựng 100+ Web Utilities cho Developer: Từ Format SQL, Xử lý PDF đến AI Background Remover không lưu trữ dữ liệu.

Chào anh em trên Viblo,

Trong quá trình làm việc hàng ngày (từ debug log production, tối ưu câu query dài cả trăm dòng, viết tài liệu API, cho đến chuẩn bị hồ sơ cá nhân, hợp đồng PDF hay xử lý ảnh sản phẩm), anh em Developer chúng ta thường xuyên phải mở cả chục tab trình duyệt để dùng các công cụ trực tuyến (Online Utilities).

Tuy nhiên, khi tự tay bắt đầu xây dựng hệ sinh thái hơn 100 công cụ miễn phí tại JoyTools (tools.joydii.com), mình nhận ra các nền tảng công cụ trực tuyến hiện nay đang rơi vào 2 thái cực rất bất cập:

  1. Thái cực 1 — Thuần Client-Side (100% chạy bằng JS trên trình duyệt): Rất nhanh và an toàn cho các tác vụ chuỗi/văn bản nhẹ, nhưng lại đuối sức về chất lượng khi đụng tới các bài toán nặng như dùng AI tách nền tóc tơ phức tạp, hay nén sâu cấu trúc file PDF scan nhiều trang.
  2. Thái cực 2 — Đẩy toàn bộ lên Cloud Server truyền thống (kèm Paywall): Cho chất lượng đầu ra tốt nhưng lại lưu trữ file của người dùng trên ổ cứng server hàng giờ đồng hồ (rất nhạy cảm nếu anh em upload hợp đồng NDA, bảng lương, CCCD/Visa hay câu query chứa dữ liệu khách hàng), đồng thời bắt đăng ký tài khoản hoặc thu phí khi tải ảnh độ phân giải cao (Full HD).

Bài viết này mình xin chia sẻ cách giải quyết bài toán trên thông qua Kiến trúc Hybrid (Client-Side kết hợp Stateless Backend — Không lưu dữ liệu người dùng), kèm theo những công cụ thực chiến nhất mà anh em Dev, QA, BA có thể dùng ngay cho công việc hàng ngày.


1. Kiến trúc Hybrid: Khi nào xử lý ở Trình duyệt, khi nào dùng Stateless Backend?

Tại hệ thống công cụ trực tuyến JoyTools, thay vì ép mọi thứ chạy hoàn toàn trên một môi trường duy nhất, hơn 104 tiện ích được phân luồng dựa trên đặc thù tính toán nhưng cùng tuân thủ một nguyên tắc bất di bất dịch: Zero Data Retention (0% lưu trữ dữ liệu của người dùng).

  • Luồng 1 — Xử lý trực tiếp tại Client (Web Workers & Canvas API): Dành cho các công cụ xử lý mã nguồn, định dạng dữ liệu (SQL, JSON, YAML, cURL), tạo dữ liệu giả lập (Mock Data) và cắt/nén ảnh cơ bản. Toàn bộ quá trình diễn ra ngay trong RAM trình duyệt với độ trễ gần như bằng 0.
  • Luồng 2 — Xử lý qua Stateless Backend hiệu năng cao (Xử lý xong xóa tức thì): Dành cho các tác vụ đòi hỏi mô hình học sâu (Deep Learning) hoặc tối ưu luồng nhị phân phức tạp như AI Background Remover và một số tác vụ xử lý PDF chuyên sâu. Dữ liệu chỉ đi qua luồng bộ nhớ tạm (ephemeral stream) để trả kết quả chất lượng cao nhất về cho người dùng và bị hủy ngay lập tức sau khi hoàn tất request — không ghi log, không lưu ổ cứng, không dùng để train AI.

2. Nhóm công cụ AI & Media: Tách nền ảnh chuẩn Studio và Nén ảnh đúng dung lượng

2.1. Xóa nền ảnh bằng AI giữ nguyên độ phân giải gốc (Không dính Watermark)

Anh em làm Frontend, thiết kế UI/UX, làm sàn TMĐT hoặc đơn giản là cần tách nền chữ ký tay, ảnh thẻ để chèn vào hồ sơ chắc chắn đã từng ức chế cảnh nhiều trang web cho xóa nền miễn phí nhưng lúc bấm tải về lại chỉ cho ảnh mờ kích thước nhỏ (bắt mua credit mới cho tải ảnh HD).

Với công cụ xóa nền ảnh AI miễn phí JoyTools, hệ thống sử dụng mô hình phân tách biên ảnh (edge segmentation) độ chính xác cao ở tầng xử lý chuyên dụng:

  • Giữ nét chi tiết khó: Tách mượt cả phần tóc con, lông thú, viền sản phẩm phức tạp hoặc chữ ký trên giấy trắng.
  • Tải ảnh PNG trong suốt Full HD miễn phí: Không giới hạn số lần sử dụng, không gắn logo (watermark) và không lưu lại ảnh gốc của bạn.

2.2. Nén ảnh giới hạn cứng dưới 50KB / 100KB và Chuẩn hóa ảnh Visa/TMĐT

Khi nộp hồ sơ dịch vụ công, đăng ký thi chứng chỉ hay làm E-Visa, hệ thống thường bắt buộc ảnh chân dung phải nhỏ hơn đúng 50KB hoặc 100KB. Thay vì kéo thanh trượt chất lượng mò mẫm từng chút một, JoyTools áp dụng thuật toán Tìm kiếm nhị phân (Binary Search) để tự động tìm ra mức chất lượng nét nhất ngay sát dưới ngưỡng quy định:


3. Nhóm công cụ PDF: Xử lý Hợp đồng, Hồ sơ nhạy cảm (Nén < 1MB, Gộp, Tách)

Khi làm việc với CV, Offer Letter, báo cáo tài chính hay hợp đồng dự án, hai yêu cầu quan trọng nhất là chất lượng chữ trong file PDF không bị vỡ và nội dung tài liệu được bảo mật.

Bộ công cụ PDF trên JoyTools giải quyết gọn các tác vụ văn phòng và kỹ thuật hàng ngày mà không lưu trữ bất kỳ trang tài liệu nào của bạn:

  1. Nén file PDF xuống dưới 1MB (Compress PDF): Tối ưu hóa các luồng ảnh nhúng (raster streams) và loại bỏ metadata thừa trong cấu trúc PDF, giúp giảm dung lượng các file scan nặng từ 10MB–15MB xuống dưới ngưỡng 1MB để đính kèm email hoặc nộp qua cổng tuyển dụng dễ dàng.
  2. Gộp nhiều file PDF (Merge PDF): Kéo thả để nối nhiều bản hợp đồng, phụ lục, bảng điểm thành một file duy nhất theo đúng thứ tự mong muốn.
  3. Tách trang PDF (Split & Extract PDF): Trích xuất nhanh các trang có chữ ký (ví dụ: trang 1, 5-8) hoặc tách rời từng trang độc lập.
  4. Chuyển đổi qua lại Ảnh (JPG/PNG) sang PDF, Trích xuất PDF ra ảnh chất lượng cao và Xoay chiều trang PDF bị ngược.

4. Nhóm công cụ "Cứu cánh" hàng ngày cho anh em Developer & Data

Đối với các tác vụ liên quan trực tiếp đến code, truy vấn cơ sở dữ liệu và chuỗi token, JoyTools thực thi ngay trên trình duyệt để anh em yên tâm thao tác với dữ liệu dự án:

4.1. Format SQL chuyên biệt theo từng hệ quản trị (PostgreSQL, BigQuery, Oracle PL/SQL)

Khi bóc một câu query dài ngoằng từ log của Hibernate, Prisma hay TypeORM ra, các trình format SQL thông thường rất dễ báo lỗi cú pháp nếu gặp toán tử JSONB (->>, @>) của Postgres hay kiểu UNNEST(), STRUCT của Google BigQuery.

Ví dụ câu query lấy từ log chưa được căn chỉnh:

WITH regional_sales AS (SELECT region, SUM(amount) AS total_sales FROM orders WHERE created_at >= '2026-01-01' AND metadata->>'channel' = 'enterprise' GROUP BY region) SELECT o.region, o.product_id, SUM(o.amount) AS product_sales, RANK() OVER (PARTITION BY o.region ORDER BY SUM(o.amount) DESC) as sales_rank FROM orders o WHERE o.region IN (SELECT region FROM regional_sales WHERE total_sales > 100000) GROUP BY o.region, o.product_id;

Đưa qua bộ công cụ SQL trên JoyTools, cây cú pháp (AST) sẽ được căn lề chuẩn xác theo đúng dialect trong tích tắc:

WITH regional_sales AS (
  SELECT
    region,
    SUM(amount) AS total_sales
  FROM
    orders
  WHERE
    created_at >= '2026-01-01'
    AND metadata ->> 'channel' = 'enterprise'
  GROUP BY
    region
)
SELECT
  o.region,
  o.product_id,
  SUM(o.amount) AS product_sales,
  RANK() OVER (
    PARTITION BY o.region
    ORDER BY
      SUM(o.amount) DESC
  ) AS sales_rank
FROM
  orders o
WHERE
  o.region IN (
    SELECT
      region
    FROM
      regional_sales
    WHERE
      total_sales > 100000
  )
GROUP BY
  o.region,
  o.product_id;

Danh sách link trực tiếp cho từng hệ CSDL:

4.2. Chuyển đổi lệnh cURL sang Code (Fetch, Axios, Python Requests)

Khi debug API từ tab Network của Chrome DevTools (Copy as cURL), chuỗi lệnh luôn đi kèm Authorization: Bearer <token> hoặc Cookie nội bộ. Anh em có thể dán trực tiếp vào công cụ chuyển đổi cURL sang Code để lấy ngay đoạn code fetch, axios hoặc Python requests sạch đẹp mà không sợ lộ token ra ngoài:

curl '[https://api.internal-service.io/v2/orders/search](https://api.internal-service.io/v2/orders/search)' \
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIs...' \
  -H 'Content-Type: application/json' \
  --data-raw '{"status":"completed","limit":50}'

4.3. Tạo dữ liệu test (Mock Data Generator) & Tiện ích tính lương Gross-Net

  • Mock Data Generator (50+ kiểu dữ liệu): Sinh nhanh hàng ngàn dòng dữ liệu mẫu (UUID, Họ tên, Email, IPv4/IPv6, Tiền tệ, Ngày giờ...) và xuất thẳng ra câu lệnh INSERT INTO của SQL, file CSV hoặc JSON để test hiệu năng DB.
  • Bộ công cụ Tài chính & Đời sống: Ngoài công cụ kỹ thuật, trên danh mục tổng hợp 104+ công cụ JoyTools còn tích hợp sẵn công cụ Tính lương Gross sang Net / Net sang Gross (cập nhật chuẩn mức đóng BHXH, BHYT, BHTN và biểu thuế TNCN lũy tiến 7 bậc tại Việt Nam) cùng bộ tính phí sàn Shopee, TikTok Shop cho anh em nào có làm thêm nghề tay trái.

5. Tổng kết & Danh sách Link Bookmark nhanh

Mục tiêu lớn nhất của mình khi phát triển JoyTools là tạo ra một trạm công cụ "All-in-One, Mở lên là chạy ngay": Không quảng cáo che màn hình, không bắt đăng nhập, kết hợp hài hòa giữa tốc độ của Client-side và chất lượng xử lý của Stateless Backend mà không lưu trữ bất kỳ dữ liệu nào của người dùng.

Anh em có thể lưu (Clip/Bookmark) lại danh sách các công cụ hay dùng nhất dưới đây để tiện mở khi cần:

Phân nhóm Tên công cụ Đường dẫn truy cập trực tiếp
AI & Ảnh Xóa nền ảnh AI (Background Remover) https://tools.joydii.com/tools/background-remover
AI & Ảnh Nén ảnh giới hạn cứng dưới 50KB https://tools.joydii.com/tools/compress-image-to-50kb
Tài liệu PDF Nén file PDF xuống dưới 1MB https://tools.joydii.com/tools/compress-pdf
Tài liệu PDF Gộp file PDF (Merge PDF) https://tools.joydii.com/tools/merge-pdf
Tài liệu PDF Tách trang PDF (Split PDF) https://tools.joydii.com/tools/split-pdf
Dev & Data Format SQL (Chuẩn / Postgres / BigQuery) https://tools.joydii.com/tools/sql-formatter
Dev & Data Tạo dữ liệu giả lập (Mock Data Generator) https://tools.joydii.com/tools/mock-data-generator
Bảo mật Kiến trúc Bảo mật & Không lưu dữ liệu https://tools.joydii.com/security
Tổng hợp Kho 104+ Công cụ miễn phí JoyTools https://tools.joydii.com/tools

Rất mong nhận được góp ý từ anh em trên Viblo để mình tiếp tục tối ưu thêm nhiều công cụ hữu ích hơn nữa! Nếu anh em thấy bộ tool hữu ích cho công việc hàng ngày thì cho mình xin 1 Upvote nhé. Cảm ơn anh em!


All Rights Reserved

Viblo
Let's register a Viblo Account to get more interesting posts.