Python

32 bài viết

Vì sao Python, cài đặt, chạy script vs REPL, biến và kiểu dữ liệu cơ bản, quy ước code.

13 thg 7, 2026 2

if/elif/else, for, while, break/continue, và comprehension để viết code Pythonic.

13 thg 7, 2026 2

Bốn cấu trúc dữ liệu cốt lõi, slicing, mutable vs immutable và khi nào dùng cái nào.

13 thg 7, 2026 2

Định nghĩa hàm, tham số, *args/**kwargs, lambda, module/package, pip và virtualenv.

13 thg 7, 2026 3

Lớp, kế thừa, đa hình, dunder methods, dataclass, type hints và nguyên tắc viết code sạch.

13 thg 7, 2026 3

Exception handling, context manager (with), đọc/ghi file, JSON/CSV và logging đúng cách.

13 thg 7, 2026 3

NumPy ndarray & vectorization; pandas DataFrame: lọc, groupby, merge, xử lý thiếu, đọc CSV/SQL.

13 thg 7, 2026 2

Kết nối CSDL với SQLAlchemy, gọi REST API với requests/httpx, và lập trình bất đồng bộ asyncio.

13 thg 7, 2026 3

Vì sao Python là ngôn ngữ số một của data engineer: vai trò trong pipeline (ingest/transform/orchestrate), hệ sinh thái thư viện (pandas/polars/pyarrow/sqlalchemy), quản lý môi trường (venv/uv/poetry), và khi nào dùng Python vs SQL/Spark.

13 thg 7, 2026 4

Dùng pandas đúng cách cho dữ liệu thật: vectorization thay vòng lặp/apply, quản lý dtype & bộ nhớ, groupby/merge/pivot hiệu quả, xử lý thời gian, và đọc dữ liệu lớn theo chunk.

13 thg 7, 2026 2

Thế hệ công cụ xử lý dữ liệu nhanh: Polars (lazy, đa luồng), Apache Arrow (định dạng cột trong bộ nhớ, zero-copy) và DuckDB (SQL analytics in-process) — khi nào chọn chúng thay pandas.

13 thg 7, 2026 2

Chọn và đọc/ghi dữ liệu đúng cách: so sánh CSV/JSON/Parquet/Avro/ORC, vì sao Parquet thắng cho analytics, nén & partition, đọc/ghi từ cloud storage (S3/GCS), và xử lý file lớn theo luồng.

13 thg 7, 2026 3

Làm việc với database từ Python đúng chuẩn production: driver & SQLAlchemy, kết nối an toàn & connection pool, đọc/ghi dữ liệu lớn hiệu quả (bulk load/COPY), batch upsert, và transaction.

13 thg 7, 2026 2

Thu thập dữ liệu từ REST API một cách bền vững: requests vs httpx, xác thực, phân trang, xử lý rate limit & retry với backoff, async cho hàng nghìn request, webhook, và các mẫu ingestion (full vs incremental).

13 thg 7, 2026 3

Làm Python nhanh và tận dụng nhiều lõi: hiểu GIL, chọn đúng giữa threading / multiprocessing / asyncio theo loại tác vụ (I/O vs CPU), profiling tìm nút thắt, tối ưu bộ nhớ, và vector hoá thay vòng lặp.

13 thg 7, 2026 3

Biến script thành pipeline đáng tin cậy: cấu trúc project & packaging (uv/poetry), type hints & pydantic, kiểm thử với pytest, logging & cấu hình, đóng gói Docker, và tích hợp CI cho code dữ liệu.

13 thg 7, 2026 3

Nền tảng để chọn giải pháp đúng: ký hiệu Big-O, độ phức tạp thời gian & không gian, các lớp phổ biến (O(1)→O(n!)), cách ước lượng & đo, và vì sao độ phức tạp quyết định khi dữ liệu lớn.

13 thg 7, 2026 2

Chọn đúng cấu trúc dữ liệu là nửa lời giải: array/list, hash map & set, stack & queue, linked list — đặc điểm, độ phức tạp thao tác, và use case thực tế (dedup, cache, lookup, hàng đợi xử lý).

13 thg 7, 2026 2

Hai nhóm thuật toán nền tảng: các thuật toán sắp xếp (và vì sao O(n log n) là giới hạn so sánh), tìm kiếm nhị phân trên dữ liệu đã sắp, và use case thực tế (top-N, đối soát/merge, ranking, tìm ngưỡng).

13 thg 7, 2026 2

Cấu trúc phân cấp & ưu tiên: cây nhị phân & BST, cây cân bằng (và tại sao B-tree là nền của index CSDL), heap/priority queue cho top-K và lập lịch, cùng trie — với use case thực tế.

13 thg 7, 2026 2

Mô hình hoá quan hệ bằng đồ thị: biểu diễn (danh sách kề/ma trận), duyệt BFS/DFS, đường đi ngắn nhất (Dijkstra/BFS), thành phần liên thông & phát hiện chu trình, sắp xếp topo — với use case mạng gian lận, DAG pipeline, định tuyến.

13 thg 7, 2026 2

Giải bài toán tối ưu bằng chia nhỏ có ghi nhớ: nguyên lý DP (overlapping subproblems, optimal substructure), memoization vs tabulation, so với greedy, và use case thực tế như edit distance cho fuzzy matching, knapsack, tối ưu.

13 thg 7, 2026 2

Xử lý chuỗi & băm ở quy mô lớn: khớp mẫu (pattern matching), trie, hàm băm & bảng băm, Bloom filter, consistent hashing — với use case tìm kiếm, khử trùng, phân mảnh (sharding) và định tuyến.

13 thg 7, 2026 2

Các thuật toán ít được dạy nhưng cực hữu ích khi làm dữ liệu quy mô lớn: streaming/one-pass, lấy mẫu (reservoir sampling), ước lượng gần đúng (HyperLogLog, Count-Min Sketch), rate limiting, và khi nào tự viết thuật toán vs dùng thư viện/CSDL.

13 thg 7, 2026 2

Vì sao team dữ liệu nên phục vụ dữ liệu qua API thay vì chia sẻ file/DB. Nền tảng REST: resource, HTTP method, status code, thiết kế URL/versioning, và lý do chọn FastAPI cho các bài sau.

13 thg 7, 2026 2

Nền tảng FastAPI cho data service: path operation, path/query parameter, request body với Pydantic, response_model, async def, tài liệu OpenAPI tự sinh, APIRouter và xử lý lỗi. Kết bằng endpoint hoàn chỉnh trả lịch sử giao dịch theo account_id có phân trang.

13 thg 7, 2026 2

Pydantic v2 là nền tảng validation của FastAPI. Bài này đi từ BaseModel, Field, kiểu nâng cao (Decimal cho tiền tệ, EmailStr, Enum, UUID), validator luật nghiệp vụ, nested model, serialization và response_model lọc field nhạy cảm, đến việc tách schema request/response/DB và quản lý cấu hình bằng pydantic-settings.

13 thg 7, 2026 2

Kết nối Postgres trong FastAPI phục vụ dữ liệu: Depends cấp và dọn session, SQLAlchemy 2.0 Core/ORM và driver async asyncpg, connection pooling, truy vấn tham số hoá chống SQL injection, phân trang offset và keyset, map kết quả sang response_model, transaction và ánh xạ lỗi DB sang HTTP.

13 thg 7, 2026 2

Phân biệt authentication và authorization, các cơ chế API key/Basic/OAuth2+JWT, cách dùng security utilities của FastAPI với scope và RBAC, băm mật khẩu, cùng các biện pháp vận hành TLS/CORS/rate limiting/audit log. Điểm qua OWASP API Security Top 10 và quản lý secret cho một API dữ liệu khách hàng ngân hàng.

13 thg 7, 2026 2

Mô hình async của FastAPI/Starlette và cách không chặn event loop, client async (asyncpg, httpx), BackgroundTasks, caching (Redis/ETag), trả dữ liệu lớn bằng StreamingResponse và phân trang keyset, nén gzip, giới hạn kích thước/timeout, cùng cách đo và chọn số uvicorn worker cho endpoint xuất giao dịch nặng.

13 thg 7, 2026 2

Kiểm thử API với TestClient/httpx AsyncClient và pytest (fixture, parametrize), phân tầng unit/integration với test DB rollback, mock dependency qua dependency_overrides và đo coverage. Đồng thời tuỳ biến OpenAPI, export openapi.json cho codegen, và chiến lược versioning/deprecation để giữ hợp đồng dữ liệu ổn định cho nhiều nhóm dùng.

13 thg 7, 2026 2

Bài tổng kết series: đưa data API FastAPI lên production. Từ ASGI server và số worker, đóng gói Docker multi-stage non-root, triển khai Kubernetes với probe/HPA/secret, tới observability (log có request id, metrics Prometheus, tracing) và vận hành (graceful shutdown, migration an toàn, blue-green/canary). Kết bằng checklist go-live cho API dữ liệu ngân hàng.

13 thg 7, 2026 2