TÌM KIẾM PYTHON PACKAGE NHANH CHÓNG VỚI FUCKING AWESOME PYTHON

19/03/2021 169
T3.Python 01
CODEWELL

Fucking Awesome Python là list package được tạo ra bởi thành viên của CO-WELL Asia với mục đích hỗ trợ việc tìm kiếm và chọn lọc nhanh các Python package trên thư viện Github. Vậy, Fucking Awesome Python thực hiện điều đó như thế nào? Hãy cùng tìm câu trả lời ngay trong bài viết này với tác giả của package – anh Trần Tuấn Anh đến từ CO-WELL Asia nhé!

 

Với ưu điểm mạnh là dễ học, dễ nhớ cùng kết cấu đơn giản, rõ ràng, Python hiện đang được sử dụng rộng rãi trên toàn thế giới, kể cả với người mới học lập trình. Python là một ngôn ngữ lập trình bậc cao dành cho các mục đích lập trình đa năng, rất hữu dụng bở hầu như những gì liên quan đến phần mềm (và một số phần cứng), đều có thể được phát triển bằng Python. Đó là do Python có hệ thống thư viện mở siêu khổng lồ – nơi mà bất kỳ ai cũng có thể đóng góp một package mới cho Python. (Tham khảo thư viện tại link sau: https://pypi.org)

 

Vậy điều gì ẩn chứa trong thư viện mở siêu khủng như vậy?

Có thể nhiều người sẽ cho rằng, những dữ liệu được chứa trong thư viện mở của Python đều là những dữ liệu quan trọng, cao cấp, không phải ai cũng có thể xem được?

Nhưng thực tế không phải như vậy, thư viện mở đồng nghĩa với việc “bất kỳ ai cũng có thể đóng góp” vào thư viện. Nhờ vậy, nó mới có thể được phát triển mở rộng như hiện nay do có rất nhiều cá nhân đã đóng góp package của mình vào thư viện.

Tuy nhiên, bên cạnh rất nhiều cống hiến giá trị từ cộng đồng, thì cũng có những project khiến mọi người dở khóc dở cười.

Ví dụ: https://pypi.org/project/fml/

Project này đơn giản là print ra màn hình những câu nói đùa ghép thêm một cái tên (bất kỳ tên nào bạn muốn) được nhập vào từ bàn phím.

Một ví dụ khác, bạn của mình đã upload resume của anh ấy lên đây để cho profile được lên top tìm kiếm của Google. Quả là thú vị phải không.

 

Vậy, câu hỏi đặt ra là làm thế nào để chúng ta không bị choáng ngợp trong cả kho dữ liệu siêu khổng lồ ấy? Và làm thế nào để ta tìm được package phù hợp với mục đích sử dụng của mình?

Có thể bạn đã biết, trên Github có một concept được gọi là awesome.

Ví dụ: awesome php, awesome python, awesome java,…

 

tim-kiem-Python-package

 

Mục đích của những project này là liệt kê ra những package khả dụng theo category như: Caching, Database, Machine Learning…

tim-kiem-Python-package

Bằng cách tham khảo những project này thì chúng ta đã loại bỏ được kha khá những package không phù hợp.

Những project kể trên rất có giá trị, độ tin tưởng rất cao, (bằng chứng là awesome python có tận hơn 80k star và hơn 15k fork) nhưng vấn đề vì có khá nhiều project trong một category, nên bạn cũng có quá nhiều lựa chọn để giải quyết một bài toán.

 

Vậy, làm thế nào chúng ta có thể đánh giá nhanh chất lượng của từng project trong category đó?

Nhằm đưa ra những đánh giá khách quan và chuẩn nhất, ta có thể dựa vào các chỉ số star và fork, chỉ số càng lớn thì càng chất lượng và đáng tin cậy.

Để xem được thông tin này thì không có cách nào khác, chúng ta phải click vào từng project để xem thông tin, rồi chuyển qua lại các tab để so sánh.

Nhận thấy điều này mang đến sự bất tiện rất lớn và tốn khá nhiều thời gian tìm kiếm, mình đã tạo ra  Fucking Awesome Python.

2 1

Mục đích của công cụ này là gắn thông tin starfork vào từng package nếu package đó có nguồn ở Github. Nhờ vậy, bạn sẽ không phải tốn quá nhiều công sức “ngụp lặn” với list project dài dằng dặc để tìm ra package phù hợp với mình một cách nhanh và hiệu quả nhất.

Đây cũng là đề bài mình tự đặt ra trong quá trình học Python, giúp mình biết được khá nhiều thứ hay ho tại thời điểm đó. Đối với những bạn mới lập trình thì việc tự tạo ra đề bài để giải quyết vấn đề mà bạn không thích, việc đó rất tốt để tăng hứng thú cho các bạn, khiến việc học nó không bị chán, và đảm bảo các bạn sẽ tự học được khá nhiều thứ hay ho trong quá trình hoàn thành project của chính mình.

Hy vọng những chia sẻ trên sẽ có ích cho bạn trong quá trình học tập và làm việc.

 

Trần Tuấn Anh –  CO-WELL Asia