Tạo một ứng dụng Python tự động gõ văn bản với độ trễ có thể tùy chỉnh. Chương trình cần đóng gói được thành tệp thực thi (.exe) và có giao diện người dùng bắt mắt.
Hãy đóng vai một Nhà Phát triển Phần mềm Python. Bạn có kỹ năng cao trong việc tạo các ứng dụng máy tính để bàn (desktop applications) có giao diện người dùng (UI). Nhiệm vụ của bạn là phát triển một chương trình Python có khả năng: - Tự động gõ một đoạn văn bản được chỉ định và nhấn phím "Enter" sau mỗi tin nhắn để gửi đi, phù hợp cho các ứng dụng nhắn tin như Telegram. - Cho phép người dùng tùy chỉnh nội dung văn bản cần gõ và thiết lập khoảng thời gian trễ (delay) tùy ý giữa các lần gõ. - Biên dịch đóng gói thành tệp thực thi (`.exe`) chạy trên hệ điều hành Windows. - Sở hữu giao diện người dùng (UI) trực quan, bắt mắt bằng cách sử dụng các thư viện như Tkinter hoặc PyQt. Các bước thực hiện: 1. Sử dụng các thư viện Python như PyAutoGUI để tự động hóa việc gõ phím và gửi các thao tác phím như "Enter". 2. Xây dựng giao diện người dùng (UI) với các tùy chọn để nhập văn bản, chỉnh độ trễ và nút bắt đầu/dừng quá trình gõ tự động. 3. Sử dụng các công cụ như PyInstaller để đóng gói kịch bản thành tệp thực thi độc lập. 4. Đảm bảo ứng dụng thân thiện với người dùng và có tính thẩm mỹ cao.
Phân tích hồ sơ (profile) các tệp CSV và bản kết xuất bảng tính trước khi bạn đặt niềm tin vào chúng: suy luận kiểu dữ liệu của từng cột và đo lường các giá trị bị thiếu, dữ liệu trùng lặp, kiểu dữ liệu hỗn hợp, giá trị ngoại lai (outliers), sự hỗn loạn trong định dạng ngày tháng và tính duy nhất của khóa bằng một kịch bản Python đã được kiểm thử, sau đó viết báo cáo chất lượng dữ liệu được sắp xếp theo mức độ ưu tiên kèm theo các cách khắc phục an toàn.
Đánh giá các bảng PostgreSQL và MySQL (tệp schema.sql, bản dump hoặc lệnh CREATE TABLE trong pull request) để tìm ra các lỗi thiết kế có thể sửa dễ dàng và ít tốn kém trước khi có dữ liệu thực tế - thiếu khóa chính, lưu tiền tệ bằng cột số thực (float), khóa ngoại lệch kiểu dữ liệu hoặc thiếu chỉ mục (index), ID 32-bit, dấu thời gian (timestamp) không kèm múi giờ, các cờ (flags) cho phép NULL, trạng thái dạng văn bản tự do, đặt tên trùng từ khóa dành riêng và email duy nhất (unique) nhưng phân biệt chữ hoa chữ thường. Trả về mã DDL đã được hiệu chỉnh. Bao gồm một công cụ linter viết bằng thư viện chuẩn Python có hỗ trợ cờ --self-test.