Đợt cập nhật lớn tiếp theo của bầu.com

Cứ như được lên lịch, khoảng từ cuối đông cho đến hết tết nguyên đán tôi lại tiến hành cập nhật cho website kiểm tra ý nghĩa tên & gợi ý tên hay cho bé: bầu.com

Đợt cập nhật lần này có những thay đổi lớn sau:

  • Trang chủ nơi người dùng nhập tên cần kiểm tra, sau đó được chuyển hướng đến trang html tương ứng nay dùng JS thay vì xử lý bằng PHP. Điều này phù hợp, vì xử lý đơn giản, và giúp tôi đỡ phiền phức trong việc duy trì máy chủ PHP.
  • Hơn 37 ngàn đệm tên được cập nhật audio giọng 3 miền, gồm Hà Nội, Huế, Sài Gòn.
  • Hơn 50 ngàn họ tên 4 chữ thông thường được cập nhật audio, giọng Hà Nội.
  • Gần 20 ngàn họ tên 4 chữ phổ biến nhất cũng được cập nhật audio, giọng Hà Nội.
  • Thay đổi hàng loạt ảnh đại diện ‘chưa được đẹp’ trước đây, thành các hình tốt hơn. Cập nhật nhiều hơn các hình thức hội họa, bao gồm cả Nhật Bản truyền thống, Anime, Trung Hoa truyền thống.
  • Resize cỡ ảnh trên nhiều loại màn hình khác nhau để cải thiện tốc độ duyệt web.
  • Bổ sung dần thông tin người nổi tiếng có tên nhất định nào đấy, giúp nội dung trang hữu ích hơn.

Về mặt công nghệ, dưới đây là một số kinh nghiệm:

  • JS có tiềm năng rất lớn trong việc xử lý động website, thay thế ít nhiều cho PHP. Tuy nhiên vẫn có bất lợi về SEO trong một số trường hợp, vì dù nhiều máy tìm kiếm có render trang dựa trên JS để lập chỉ mục, tuy nhiên điều này không chắc chắn, không thường xuyên, và không so được với việc gắn mã cứng lên trên trang (mà thường làm được nếu dùng PHP).
  • JS hoạt động ổn định thường cần sử dụng thư viện mới được, viết JS chay dễ gặp vấn đề không tương thích trên một số trình duyệt, ít nhất là trên những cái không phổ biến, hoặc có thể hoạt động không ổn định.
  • Công nghệ tổng hợp giọng nói nhân tạo bằng AI hiện đã phát triển vượt bậc, cho giọng nói có chất lượng cao và ổn định. Tôi sử dụng Vbee cho dự án của mình.
  • FFmpeg là phần mềm rất tốt, rất nhiều tính năng và khá dễ dùng để phối hợp với PHP nhằm xử lý hàng loạt file audio.
  • Định dạng để xử lý file audio cho chất lượng cao là wav, còn định dạng phù hợp để phát trực tuyến là mp3.
  • Làm việc với số lượng lớn dữ liệu đòi hỏi phải có hướng giải quyết hàng loạt, vì thủ công không bao giờ hiệu quả. Nên mất 2 – 3 ngày nghĩ ra mã phù hợp, rồi mất vài tiếng để chạy mã, còn hơn mất 2 – 3 tháng để xử lý thủ công.
  • PHP có thư viện GD xử lý ảnh có chất lượng tốt, dễ dùng và nhanh.
  • Chất lượng tạo ảnh bằng mô tả thông qua ngôn ngữ tự nhiên của DALL-E là vượt trội, hiện nó nhìn chung vẫn tốt hơn Gemini. Tạo ảnh bằng AI nếu muốn phổ thông thì theo hướng của DALL-E là phù hợp. Các công cụ tạo ảnh rất đẹp khác như Stable Diffusion vẫn yêu cầu phải chọn các từ khóa thích hợp mới cho ảnh ra hồn được, thay vì mô tả theo dạng tự nhiên.
  • Các công cụ tạo ảnh bằng AI bắt đầu ‘đính kèm’ thông tin vào ảnh, phục vụ cho việc kiểm tra ngược ảnh có phải tạo bằng AI hay không.
  • Khả năng gợi ý mã của ChatGPT là vượt trội, nó giỏi đến mức đáng ngạc nhiên, ít nhất là với người có trình độ lập trình trung bình hoặc đang đi học.
  • Tốc độ upload lên các hosting tĩnh như BunnyCDN có thể thành ngưỡng cản trở cho việc thao tác hàng loạt. Ví dụ việc upload 30 ngàn file html có thể đòi hỏi mất 6 tiếng qua FTP. Lựa chọn dùng API là giải pháp, vì nó cho tốc độ tốt hơn, tuy nhiên khi tôi thử API của BunnyCDN thì rối như canh hẹ! Lúc nào sẽ xem lại xem mình có lầm ở đâu không.

Khi nào có điều kiện, có thể tôi sẽ viết mã chi tiết hơn để nói về các vấn đề này.