Framework vs Your Application and Packaging
Vừa rồi mình có làm một presentation về “12 factor app” trên công ty. Sau nhiều năm viết kha khá ứng dụng web, và tự config linux desktop environment (mình đang dùng sway, ở cả máy công ty cũng như máy cá nhân) thì có thể nói mình đã thấm nhuần những factor đó (ha). Nhưng vì sao config linux desktop lại liên quan đến ứng dụng web?
Read more...Transactions
Trong một hệ thống dữ liệu, việc đọc, ghi dữ liệu bất cứ lúc nào cũng có thể xảy ra lỗi (lỗi phần cứng, ứng dụng crash, mất nguồn điện, vấn đề về xử lý song song,…). Transaction là một cơ chế đơn giản hóa việc xử lý các lỗi này, tạo ra một abstraction để application sử dụng và tập trung vào business logic.
Read more...A brief look at Python's PEP 612
PEP 612
PEP 612 định nghĩa một số type mới giúp typing wrapper function trong decorator rõ ràng hơn.
Read more...The sad state of Python
Mình may mắn vào nghề khi Python 3 ra được khá lâu và đa số các thư viện lớn đã support, tuy nhiên đến tận đầu năm nay thì Python mới chính thức ngừng hỗ trợ Python 2. Do có quá nhiều “breaking changes” nên việc chuyển đổi sang Python 3 tốn quá nhiều công sức và thời gian của các nhà phát triển trên thế giới. Và một lần nữa hồi chuông đó lại gióng lên trên khắp các cộng đồng Python khi async/await được hỗ trợ từ phiên bản 3.5.
Read more...Wayland Input method - Part 1
Usually my posts are in Vietnamese, but now I’m on wayland so there is no Vietnamese input method yet, so this post will be in English.
Read more...You don't need multiple config files for each environment
Configuration file
Config file hoặc setting file cung cấp cho bạn khả năng quản lý các flag hoặc các tùy chọn để ứng dụng có thể bật tắt chức năng nào đó (eg: debugger), cũng có thể config cho một service nào đó (eg: database). Một khi có config cho một module hay tính năng, thì config đó cũng đã có giá trị mặc định trong ứng dụng của bạn và nó cần được document về việc nó là cái gì, sử dụng ra sao, có những option nào, vân vân.
Read more...