Articles

Thuật toán đẹp: Partition (ngăn)

Mục đích

Chia một mảng ra thành hai cụm: một cụm thỏa điều kiện, và cụm còn lại.

Cài đặt

Sử dụng mảng phụ

def partition(a, pred):
  head = [x for x in a if pred(x)]
  tail = [x for x in a if not pred(x)]
  return head + tail …
➟ Read more

Thuật toán đẹp: Tìm nhị phân

Mục đích

Tìm phần tử X trong một mảng đã được sắp xếp.

Ý tưởng chính

Chia mảng ra thành 3 cụm: cụm bên trái, phần tử ở giữa, và cụm bên phải. So sánh X với phần tử ở giữa. Nếu X bằng với phần tử ở giữa thì …

➟ Read more


Tham số tự động

Tham số mặc định

Python cho phép chúng ta khai báo hàm với tham số mặc định như sau:

def function(arg_1, arg_2={}):
  arg_2[arg_1] = True
  print (arg_2)

Với khai báo hàm trên, tham số arg_2* trở thành một tham số mặc định và sẽ nhận giá trị là một …

➟ Read more

Lập trình giao diện trong Python

Bài viết này bàn về hướng lập trình giao diện (programming to the interface) thay vì giao diện người dùng, hay giao diện đồ họa (user interface, graphical interface).

Lập trình giao diện

Lập trình giao diện (giao tiếp) là một trong hai nguyên tắc cơ bản được nhắc đến …

➟ Read more


Hình ảnh tại Software Freedom Day 2010

Hôm nay tự nhiên thấy trên máy có mấy tấm hình cũ ở Ngày Phần Mềm Tự Do 2010 vẫn chưa được đăng.

Năm 2010, thành viên Phan Đắc Anh Huy đã trình bày về phần mềm Vithon Forum (chính là phần mềm được sử dụng để làm Diễn đàn …

➟ Read more

Lập lịch gọi hàm với Gevent

Đôi khi chúng ta cần một cách gì đó để lập lịch gọi hàm tương tự như công cụ cron trong các hệ Unix. Nếu chúng ta may mắn đang làm việc với Gevent sẵn rồi thì hai dòng sau là một cách đơn giản để lập lịch.

def schedule …
➟ Read more

Lập trình web với Python (7)

Trong bài cuối của loạt bài Lập trình web với Python, chúng ta sẽ bàn đến chuẩn WSGI (Web Server Gateway Interface).

WSGI, khác với HTTP, CGI và FCGI, không phải là chuẩn giao thức liên lạc (communication protocol) mà là chuẩn giao tiếp (standard interface) giữa ứng dụng máy …

➟ Read more

Lập trình web với Python (6)

Phần trước chúng ta đã xem xét mô hình hoạt động của một ứng dụng FCGI. Trong phần này chúng ta sẽ viết thử một chương trình FCGI như đã đề cập.

Trước tiên, chúng ta sẽ cần cài đặt thư viện flup của tác giả Allan Saddi. Làm việc …

➟ Read more