Giới thiệu Selenium và Tự động hóa Kiểm thử Web
Giới thiệu Selenium và WebDriver
Selenium là một framework tự động hóa trình duyệt, trong đó WebDriver là thành phần cốt lõi, chuyển đổi các kịch bản tự động hóa thành lệnh điều khiển trình duyệt. Luồng hoạt động tiêu chuẩn bao gồm:
Mở trang web
Xác định các phần tử trên trang (liên kết, nút, hộp nhập liệu, v.v.)
Thao tác với các phần tử tra ...
Đăng vào ngày 14 tháng 6 lúc 02:34
Phân tích bố cục văn bản PDF nâng cao với pypdf: Phát hiện tiêu đề, đoạn văn và danh sách
Việc phân tích bố cục văn bản trong tài liệu PDF là bước then chốt để trích xuất thông tin có cấu trúc. Thư viện pypdf không chỉ hỗ trợ trích xuất ký tự thô mà còn cung cấp cơ chế quản lý trạng thái văn bản và tái tổ chức theo không gian — từ đó tạo nền tảng cho việc nhận diện tiêu đề phân cấp, ranh giới đoạn văn và định dạng danh sách.
Cơ chế ...
Đăng vào ngày 13 tháng 6 lúc 23:06
Xử lý tệp tin trong Python: Cơ chế, chế độ mở và thao tác nâng cao
Trong hệ thống máy tính, dữ liệu ứng dụng cần được lưu trữ vĩnh viễn trên thiết bị lưu trữ khối (như ổ cứng). Vì chương trình không thể truy cập phần cứng trực tiếp, hệ điều hành cung cấp giao diện tệp tin — một khái niệm trừu tượng hóa việc đọc/ghi lên đĩa. Khi lập trình bằng Python, ta làm việc với tệp thông qua các hàm hệ thống do hệ điều hà ...
Đăng vào ngày 13 tháng 6 lúc 21:10
Phân phối Kẹo, Tách Từ II, Điểm Tối Đa Trên Một Đường Thẳng
Bài viết này trình bày các giải pháp cho ba bài toán LeetCode: 135. Phân phối Kẹo, 140. Tách Từ II và 149. Điểm Tối Đa Trên Một Đường Thẳng.
135. Phân phối Kẹo
Bài toán yêu cầu phân phối kẹo cho các trẻ em dựa trên xếp hạng của họ sao cho mỗi trẻ em nhận được ít nhất một viên kẹo và trẻ em có xếp hạng cao hơn phải nhận được nhiều kẹo hơn trẻ e ...
Đăng vào ngày 13 tháng 6 lúc 05:09
Phân tích SQL Blind Injection trên BUUCTF
Trong bài toán này, chúng ta sẽ phân tích một bài tập về SQL Blind Injection từ cuộc thi BUUCTF.
Bài toán mô tả một trang web có hành vi khác nhau tùy thuộc vào đầu vào:
Nhập 1: Trả về chuỗi "Hello, glzjin wants a girlfriend."
Nhập 2: Trả về chuỗi "Do you want to be my girlfriend?"
Nhập các giá trị khác: Trả về "Error Occured When Fetch Result ...
Đăng vào ngày 12 tháng 6 lúc 21:32
Kỹ thuật Serialization và Deserialization trong Python với JSON và Pickle
Khái niệm về Serialization và Deserialization
Trong quá trình phát triển phần mềm, việc lưu trữ trạng thái của đối tượng hoặc truyền tải dữ liệu giữa các thành phần hệ thống là yêu cầu bắt buộc. Quá trình này bao gồm hai thao tác chính:
Serialization (Tuần tự hóa): Là quá trình chuyển đổi một đối tượng trong bộ nhớ (như list, dict, class i ...
Đăng vào ngày 12 tháng 6 lúc 21:16
Bản chất của Tuple: Một container giá trị phức hợp nhẹ, bất biến và linh hoạt về kiểu dữ liệu
Tuple trong lập trình: Một cấu trúc dữ liệu nền tảng
Tuple là một cấu trúc dữ liệu cơ bản nhưng cực kỳ quan trọng trong nhiều ngôn ngữ lập trình hiện đại như Python, TypeScript và Rust. Nó đóng vai trò thiết yếu trong việc tổ chức và xử lý dữ liệu một cách hiệu quả.
Các đặc điểm cốt lõi của Tuple
Tính thứ tự: Các phần tử được lưu trữ theo đún ...
Đăng vào ngày 12 tháng 6 lúc 16:00
Triển khai Mô Hình Đại Lý trong Thiết Kế Phần Mềm
Mô hình đại lý (Proxy Pattern) là một mẫu thiết kế cấu trúc cho phép kiểm soát việc truy cập vào một đối tượng thông qua một lớp trung gian. Lớp này đóng vai trò như một "đại diện", có thể thêm hành vi bổ sung — như kiểm tra quyền, ghi log, hoặc quản lý bộ nhớ đệm — mà không làm thay đổi logic cốt lõi của đối tượng gốc.
Phân loại theo cơ chế ...
Đăng vào ngày 12 tháng 6 lúc 09:43
Pytest API Tham chiếu - Biến và Ngoại lệ
Biến Đặc biệt (Special Variables)
Pytest xử lý một số biến toàn cục theo cách đặc biệt khi chúng được định nghĩa trong các mô-đun kiểm thử.
collect_ignore
Được sử dụng để loại trừ các thư mục hoặc mô-đun kiểm thử. Cần phải là `list[str]`.
collect_ignore = ["setup.py"]
collect_ignore_glob
Được sử dụng để loại trừ các thư mục hoặc mô-đun kiểm ...
Đăng vào ngày 12 tháng 6 lúc 09:40
Cài đặt và cấu hình Supervisor
Giới thiệu
Supervisor là một dịch vụ client/server được phát triển bằng Python, dùng để quản lý các tiến trình trên hệ điều hành Linux/Unix. Nó không hỗ trợ Windows. Supervisor giúp theo dõi, khởi động, dừng, và khởi động lại một hoặc nhiều tiến trình. Khi một tiến trình bị tắt bất ngờ, Supervisor sẽ tự động khởi động lại nó, giúp duy trì tính ...
Đăng vào ngày 12 tháng 6 lúc 08:30