Dùng Flask hay Django?

DjangoFlask là hai cái tên được nhắc đến nhiếu nhất khi nói về web framework của Python, đặc biệt là giữa những người mới bước chân vào thế giới Python. "Dùng Flask hay Django?" cũng là câu hỏi mà tôi hay nghe đi nghe lại trên các diễn đàn trao đổi, hỏi bài. Với kinh nghiệm về 2 thứ này, tôi viết một bài ngắn gọn, mong trả lời trước cho những ai mới chập chững bị "rắn cắn" này.

Flask_vs_Flask Image credit: coderseye.com

Về Flask, tôi đã 3 lần sử dụng Flask cho phần mềm của mình. Lần sử dụng đầu tiên, khoảng năm 2013, tôi làm cho một tay nghiên cứu sinh về Big Data, khi anh chàng này viết một phần mềm xử lý dữ liệu lớn (Java + Hadoop) và cần một trang web để làm giao diện điều khiển cho việc chọn dữ liệu nguồn và lấy kết quả về sau khi xử lý. Lần tiếp theo, tôi viết server phân quyền cho cổng login của mạng wifi (có các tên gọi khác là Splash page, Captive Portal, Wifi Marketing), và sản phẩm cuối cùng tôi dùng Flask là để tạo trang blog này (viết lai rai từ 2013 đến nay).

Trải nghiệm IBM Cloud

Tốc độ mạng nội bộ không cao. Chọn server ở Singapore nhưng khi download các gói Debian từ http://mirrors.service.networklayer.com/ thì tốc độ chỉ ~200 kB/s. Nếu chọn repo http://mirror.0x.sg thì tốc độ lên tới 3MB/s.

My packages store for BeagleBone running Debian 9

I'm building IoT gateway based on BeagleBone Black at the startup AgriConnect, with Python as the primary programming language.

When the application grows complex, the board shows to be weak. We cannot find stronger board than BeagleBone, so the only option is to try to make our app run lighter. We try to adopt latest Python version, now is 3.6, to take advantage of optimization work in them. The latest Debian image for BeagleBone is stretch (Debian 9), which doesn't include Python 3.6 in its repository.

There are some backport packages of Python 3.6 for Debian 9, but only for amd64 arch. Fortunately they provide a build script. I can use it to build for armhf arch, which is in BeagleBone boards.

How to build for armhf? The board is weak, we should not run the build process directly on BeagleBone. It can take some days!

Chứng chỉ số SSL miễn phí

Các nhà cung cấp chứng chỉ số miễn phí:

Ubuntu chạy sai giờ sau khi upgrade

Sau khi upgrade Ubuntu cho server, mình đã không để ý là đồng hồ trên nó bị chạy sai, cho mãi tới hôm nay vào kiểm tra mới thấy.

Lí do là các bản Ubuntu cũ, khoảng 15.04 trở về trước, sử dụng ntpdate/ntpd để cập nhật giờ với Internet, nhưng Ubuntu mới, từ 15.10, khi bắt đầu ứng dụng systemd vào quản lý quá trình khởi động thì làm cho ntpd không còn chạy chính xác nũa. Với hệ thống mới này thì nên dùng systemd-timesyncd để cập nhật đồng hồ với Internet. Lệnh do-release-upgrade dùng để nâng cấp Ubuntu không tự động chuyển đổi từ ntpd sang systemd-timesyncd cho ta, nên ta phải tự thay đổi cấu hình lấy.

Sau đây là cách làm:

B1. Sửa đổi /etc/systemd/timesyncd.conf. Ban đầu nó chỉ có: