Menu

Python: Sắp xếp (sorting)

Sắp xếp
Sắp xếp là thao tác thường xuyên khi ta sử dụng phần mềm (ví dụ như trong excel ta sắp xếp các bản ghi theo rất nhiều tiêu chí mà ta mong đợi). Trong bài này, mình sẽ hướng dẫn các hàm sắp xếp được xây dựng sẵn của Python. Các post sau chúng ta sẽ tự xây dựng thuật toán sắp xếp cho riêng mình (các thuật toán sắp xếp gồm có: sắp xếp nổi bọt, chèn, chọn, nhanh,...)

Liferay 6.2: Thao tác với cơ sở dữ liệu

Trong các hướng dẫn trước đây, chúng ta đã làm quen với việc xây dựng các ứng dụng (portlet) đơn giản. Tuy nhiên, chúng chỉ là các ví dụ mà thôi, để cho gần hơn với các ứng dụng trong thực tế, mình viết post này trình bày về các thao tác với cơ sở dữ liệu. Liferay cung cấp một công cụ cực kỳ mạnh mẽ và hiệu quả đó là Servvice Builder. Công cụ này sẽ giúp bản triển khai một ứng dụng cực kỳ nhanh chóng.

Python: Tìm giá trị của biểu thức Taylor.

Định lí Taylor cho ta một đa thức xấp xỉ một hàm khả vi tại một điểm cho trước (gọi là đa thức Taylor của hàm đó) có hệ số chỉ phụ thuộc vào các giá trị của đạo hàm tại điểm đó. Định lí còn cho ta một đánh giá chính xác sai số của xấp x.
Trong bài này, chúng ta sẽ tính giá trị của eex theo khai triển Taylor-Maclaurin. Trước hết, ta xem khai triển của eex:


Liferay 6.2: Tìm kiếm và liệt kê (Search Container)

Trong các ứng dụng thông thường, việc liệt kê tất cả các phần tử (bản ghi) là một việc rất hay gặp. Trong trường hợp, nếu số lượng bản ghi nhiều và tràn hết màn hình thì ta sẽ có nhu cầu phân trang.
Liferay có tiện ích search container rất hữu ích cho chúng ta khi thực hiện công việc như trên. Trong bài này, mình sẽ giới thiệu chi tiết cách sử dụng search container.

Liferay 6.2: Làm việc với nhiều render

Như đã nói ở bài trước, nếu trong một portlet có nhiều thao tác xử lý dữ liệu thì ta sẽ tạo ra các action tương ứng để giải quyết công việc một cách độc lập. Việc này sẽ giúp chúng ta tách biệt các công việc khác nhau đồng thời sẽ dễ hiểu cho người khác đọc code của chúng ta và dễ dàng để bảo trì.
Như đã hứa ở bài trước, bài này chúng ta sẽ bàn đến vấn đề trả lại nhiều view khác nhau. Công việc này chắc chắn là thường xuyên gặp. Chẳng hạn bạn đang ở giao diện view, bạn có thể chuyển sang giao diện edit. Edit xong bạn có thể chuyển sang giao diện xem chi tiết chẳng hạn. Nói tóm lại, bài này sẽ giúp bạn chuyển sang các view đúng với kịch bản của bạn sau khi thực hiện các action.

Liferay 6.2: Xử lý nhiều action

Trong bài trước, chúng ta có hai file view.jspedit.jsp. Mặc định, khi mở portlet ra thì sẽ hiển thị nội dung của file view.jsp. Sau đó, ta nhấn vào liên kết để mở file edit.jsp. Trong file edit.jsp ta sẽ nhập vào tên và truyền xuống controllercontroller xử lý dữ liệu rồi trả lại view.jps.
Ta thấy, ở đây có hai thao tác, i) mở file edit.jsp thao tác này được gọi là render và ii) chuyển dữ liệu từ file edit.jsp xuống controller ta gọi là action. Câu hỏi đặt ra, nếu như chúng ta muốn có nhiều thao tác gửi dữ liệu xuống controller thì phải làm thế nào?Bài này sẽ giải đáp thắc mắc trên.

Python: Kiểu dữ liệu chuỗi

Kiểu chuỗi
Chuỗi là kiểu dữ liệu có mặt trong tất cả các ngôn ngữ lập trình và các thao tác trên chuỗi cũng được sử dụng rất thường xuyên. Chính vì vậy, bài này ta sẽ đi tìm hiểu tất cả mọi thứ về chuỗi trong Python.

Python: Một số ví dụ về hàm

Hàm
Bài trước, ta đã viết ba chương trình đơn giản đó là kiểm tra một số xem có phải là số nguyên tố, chính phươnghoàn hảo hay không? Tuy nhiên, đó là các chương trình rất đơn giản. Bài này, chúng ta sẽ sử dụng hàm để thực hiện công việc như bài trước.
Khái niệm hàm trong ngôn ngữ lập trình thì mình không phải giới thiệu lại. Bạn chỉ cần hiểu đơn giản hàm là một hộp đen thực hiện một công việc nào đó. Với đầu vào như thế nào thì sẽ được đầu ra tương ứng. Ví dụ, đầu vào của hộp đen số nguyên tố là 11 sẽ có kết quả là True, còn đầu vào là 12 sẽ có đầu ra là False. Vậy, chúng ta sẽ đi tìm hiểu cách chế tạo hộp đen bằng Python nhé.

Liferay 6.2: Gửi và nhận dữ liệu trong portlet

Trong bài trước, chúng ta đã tạo ra được một portlet có tên là FirstApp, portlet này đã hiển thị một lời chào lên màn hình. Câu chuyện đặt ra, nếu mình muốn cho phép người khác hiển thị dòng chữ chào mừng đấy thì ta phải làm thế nào?
Rất đơn giản thôi, ta cho người dùng nhập vào nội dung (tên người chẳng hạn) và người dụng nhấn vào nút Gửi , lúc này, controller sẽ trả lại dòng chữ chào mừng mà ta mong muốn.

Tự học Python: Một vài chương trình đơn giản.

Ở bài số 1, chúng ta đã cài đặt môi trường Python, môi trường lập trình và chạy chương trình đầu tiên. Bây giờ mình sẽ viết một số chương trình ví dụ. Đơn giản nhất là chương trình kiểm tra một số có phải là số nguyên tố, hoàn hảo và chính phương hay không (đây là các bài toán cơ bản và đơn giản nhất có thể.

Tự học Python: Cài đặt và viết chương trình đầu tiên

Mình không phải quảng bá nhiều về Python, chỉ biết rằng Python hiện đang ở vị trí thứ 5 (tham khảo) trong bảng xếp hạng và có chiều hướng tăng. Đồng thời, cộng đồng Python cũng kêu gào rằng Python code Python rất ngắn gọn và phải gõ phím rất ít khi viết cùng một chương trình ở các ngôn ngữ khác. Chính vì thế, có thể sẽ rất phù hợp với những người lười đấy (theo nghĩa đen luôn). Đề xem có đúng như lời cộng đồng Python nói không, thì chẳng có cách nào khác chúng ta đi tự học và cố gắng học trong 21 ngày nhé (dài quá không?).

Liferay 6.2: Tạo Portlet đầu tiên

Portlet hay ta có thể gọi là các ứng dụng sẽ được cắm vào công thông tin của chúng ta. Đây sẽ là nơi cho các lập trình viên phát triển các ứng dụng của mình. Trong bày này, chúng ta sẽ tìm hiểu các công cụ phát triển portlet trong Liferay và tạo ra một portlet đơn giản, triển khai (deploy) và "gắn" vào trong cổng thông tin của chúng ta.

Liferay 6.2: Các thành phần cơ bản của Liferay (P2)

Ở phần trước, chúng ta đã tìm hiểu các thành phần được sử dụng để dựng trang (company, site, page, portlet, ...). Phần này chúng ta sẽ đi tìm hiểu về phần quản lý người dùng trong Liferay gồm có: người dùng, nhóm người dùng, tổ chức, vai trò và quyền,...

Liferay 6.2: Các thành phần cơ bản của Liferay

Sau khi đã cài đặt và cấu hình thành công Liferay trên máy tính các nhân. Lúc này, chúng ta sẽ đi tìm hiểu các thành phần trong Liferay. Mình sẽ chia thành hai phần và chúng ta sẽ đi tìm hiểu từng phần một: i) các thành phần liên quan đến dựng trang (company, site, page, portlet, ...), ii) thành phần người dùng (user, group user,  organization,...). Nào, cùng bắt đầu nhé:

Liferay 6.2: Cài đặt và cấu hình Liferay

Ở hướng dẫn trước, mình đã nêu ra các phần mềm chính (portal, sdk và ide). Trong phần này, mình sẽ hướng dẫn cụ thể cài đặt môi trường máy chủ và môi trường lập trình (bài sau nữa).

Bắt đầu với Liferay

Liferay là một cổng thông tin mã nguồn mở được sử dụng rộng rãi ở Việt Nam nói riêng và thế giới nói chung. Được tạo ra năm 2000 bởi Brian Chan, Liferay được thiết kế phù hợp với các mô hình ứng dụng trong các cơ quan, tổ
chức và doanh nghiệp có nhu cầu phát triển hệ thống thông tin trên môi trường mạng nhằm thực hiện các giao dịch trực tuyến sử dụng Intranet/Internet như một công cụ thiết yêu trong các hoạt động, cung cấp thông tin, giao tiếp, quản lý, điều hành, trao đổi và cộng tác.