Python đã xuất hiện được khá lâu (từ 1991) và chúng ta có thể nói không nghi ngờ gì rằng nó là một trong những ngôn ngữ lập trình phổ biến nhất hiện nay.
Trên thực tế, nó đã là ngôn ngữ lập trình hàng đầu trong 5 năm qua. Nó được các lập trình viên yêu thích vì nhiều lý do, và hơn hết đó là tính dễ đọc và sự hiệu quả.
Khi so sánh với các ngôn ngữ khác như JAVA, PHP hoặc C++, chúng ta có thể nói rằng mã nguồn Python dễ đọc hơn, điều này nói lên tại sao Python là lựa chọn tốt nhất cho người mới bắt đầu.
Điều này cũng không có ảnh hưởng nếu bạn là chuyên gia.
Có những người nghĩ rằng Python khá là già (được phát triển từ cuối những năm 80), nhưng vấn đề là - nó đã tồn tại qua thời gian bởi vì nó HOẠT ĐỘNG.
Và nó đã đạt đến đỉnh cao của sự phổ biến với sự ra đời của Python 2.0 (hiện nay là Python 3.9) mang lại nhiều cải tiến.
Vậy, còn có lý do gì không chọn Python nếu nó đã hoạt động tốt qua nhiều năm.
Và còn đang dẫn đầu các bảng xếp hạng. (Ví dụ như bảng xếp hạng PYPL Index)
> Bạn có thể tham khảo một số báo cáo uy tín tại đây: GitHub, Stack OverFlow (Tiếng Việt), Stack Overflow (Tiếng Anh), JetBrain.
Và đề hiểu rõ hơn tại sao nên lập trình web bằng Python thì hãy thảo luận rõ hơn ở dưới đây.
Đầu tiên, hãy xem...
I. ƯU ĐIỂM CỦA PYTHON
Nếu bạn không chắc tại sao mình nên sử dụng python Python, hãy bắt đầu bằng cách xem xét những ưu điểm tốt nhất của Python.
1. Python là DỄ
Nói Python DỄ là chưa đủ để nhấn mạnh tầm quan trọng của nó. Thế nên hãy bắt đầu bằng cách giải thích việc lập trình web Python dễ thế nào?
Hãy hỏi "Ngôn ngữ lập trình dễ học nhất?" bất kỳ lập trình viên nào mà bạn biết và họ sẽ nói với bạn điều tương tự.
Nhưng liệu Python có đáng học không?
CHẮC CHẮN RỒI!
Khi bạn so sánh Python với một số ngôn ngữ lập trình khác, có vẻ như Python được thiết kế cho người mới bắt đầu.
Tuy nhiên, đó là sự thật, nhưng chưa đủ...
Tất nhiên, nó là hoàn hảo cho các bạn mới học lập trình nhưng điều đó không có nghĩa là các lập trình viên chuyên nghiệp không sử dụng Python để lập trình web.
Python tốt hơn ở điểm gì?
Về cơ bản thì, những ngôn ngữ lập trình phức tạp hơn cũng tốt - Chỉ là nó lại không hề đơn giản như Python.
Một trong những ưu điểm chính của Python nó sử khoảng trắng và các biểu thức phổ biến cho phép bạn làm được nhiều thứ hơn với code mã hơn rất nhiều so với C++ hoặc Java.
Vì lập trình web không phải là dễ học, tại sao không làm cho nó đơn giản hơn một chút bằng cách sử dụng Python để lập trình web?
> Lưu ý: Nếu bạn nghĩ rằng bạn đã học Python cơ bản, có thể bạn nên cân nhắc học thêm về Lập trình Web với Django để mở rộng kiến thức và làm cho bản thân trở "đáng tiền" hơn.
2. Nhiều chức năng hơn - Ít code hơn
Lập trình Web Python khá đơn giản vì bạn có thể làm được nhiều chức năng hơn với ít dòng code hơn.
Về cơ bản, nếu bạn biết lập trình căn bản thì không khó để xây dựng một trò chơi thô sơ trong 2 ngày với Python.
Và lập trình Web bằng Python đặc biệt phổ biến trong giới học sinh, sinh viên nước ngoài vì tính dễ đọc và hiệu quả của nó.
Tại Việt Nam, người ta cũng nhận ra điều này và đã bắt đầu đưa Python vào giảng dạy ở các trường THCS và THPT rồi đó.
3. [QUAN TRỌNG] Một bước đệm để học nhiều công nghệ khác
Nếu bạn là người mới bắt đầu, bạn hầu như không có kiến thức về lập trình, bạn có thể dễ dàng xem hướng dẫn HỌC PYTHON CƠ BẢN và bắt đầu viết code Python mà không có nhiều trở ngại.
Điều tốt nhất về Python đó là nó có thể là một bước đệm tốt nhất để bạn chinh phục các ngôn ngữ, công nghệ khác.
Khi bạn hiểu cách lập trình web bằng Python, bạn sẽ dễ dàng hiểu cách lập trình Web với JAVA, PHP hay C#...
Bởi vì, công nghệ và ngôn ngữ là khác nhau.
Nhưng:
"BẢN CHẤT LẬP TRÌNH LÀ GIỐNG NHAU"
Bạn không chỉ có thể sử dụng Python cho tất cả các dự án phát triển web của mình mà còn có thể học được các khái niệm về lập trình.
Và dựa trên các nguyên tắc tương tự, bạn có thể dễ dàng tiếp cận các công nghệ, ngôn ngữ khác sau đó.
> Ghi chú: Mỗi một công nghệ, ngôn ngữ phù hợp cho các mục đích khác nhau. Do đó, nếu bạn học được nhiều công nghệ và nhiều ngôn ngữ thì cực kỳ tốt cho sự nghiệp sau này.
4. Sai lầm ít hơn
Với JAVA thì cho dù thiếu dấu chấm, dấu phảy thôi thì cũng không bao giờ được tha thứ.
Nhưng với Python thì khác.
Với một dự án web sương sương có hàng chục file code.
Hàng trăm dòng code mỗi file.
Hàng ngàn dòng code nếu dự án tiếp tục phát triển sau này.
Vì thế, với khả năng bỏ qua các lỗi nhỏ (ngoài việc dễ đọc) thì Python xứng đáng là trợ thủ đắc lực trong lập trình web.
Sử dụng Python trong lập trình web đã mang lại hiệu quả đáng kinh ngạc vì nó tập trung vào 4 quy tắc cơ bản giúp nó nổi bật hơn so với các ngôn ngữ lập trình khác:
"Khả năng đọc là quan trọng
Càng đơn giản càng đẹp
Phức tạp - có. Rắc rối - không
Rõ ràng tốt hơn ngụ ý"
5. Python là ngôn ngữ hoàn hảo để xây dựng nguyên mẫu
Chúng ta đã biết rằng để xây dựng một thứ gì đó với Python thì sẽ cần ít thời gian hơn so với hầu hết các ngôn ngữ lập trình khác, đơn giản vì nó code ít hơn.
Với suy nghĩ đó, khi bạn cần nhanh chóng triển khai ý tưởng và nguyên mẫu, Python chắc chắn là lựa chọn phù hợp.
6. Tính linh hoạt tuyệt vời
Có một số triển khai Python mạnh mẽ được tích hợp với các ngôn ngữ lập trình khác.
-
Jython hoặc Python với sức mạnh của Java
-
IronPython, được thiết kế để tương thích với .NET và C#
-
PyObjc hoặc Python được viết bằng bộ công cụ Objective-C
7. Nghèo vẫn xài được Python
Khi các lập trình viên lựa chọn ngôn ngữ lập trình cho các dự án sắp tới của họ, họ thường sử dụng những gì họ cảm thấy thoải mái nhất, điều này cuối cùng phụ thuộc vào sở thích và chuyên môn của họ.
Tuy nhiên, nếu bạn nghèo (hay thích miễn phí) thì lập trình web bằng Python là cách tốt nhất.
Cũng chính vì lý do đó mà Python là lựa chọn hàng đầu cho các StartUp chỉ vì nó giúp mọi thứ trở nên nhanh chóng và dễ dàng hơn.
8. Python + IoT ->
Hoàn hảo
Sự ra đời của Internet of Things mang đến vô số cơ hội cho các lập trình viên Python.
Nếu bạn Lập trình web Python và kết hợp với các nền tảng như Raspberry Pi. Nó sẽ cho phép bạn xây dựng các tính năng kết hợp các thiết bị như điện thoại, camera, máy chơi game...
Việc xây dựng các trang web có tính năng kết nối với thế giới thực, điều khiển, tính toán.... dễ dàng với Python và RẺ HƠN.
> Tham khảo: KHÓA HỌC IOT
> Bật mí: 5G và Wifi là trợ thủ đắc lực của IOT. Khi hai công nghệ này có bước tiến đột phá thì IOT sẽ thực sự bùng nổ. Vậy thì còn chờ đợi gì mà không học để chuẩn bị cho 3-5 năm nữa? 5G đã bắt đầu phổ cập rồi đó.
9. Công nghệ góp phần tạo nên Blue Chip Site
Có thể bạn không biết, nhưng Python là ngôn ngữ cốt lõi trong nhiều trang web dịch vụ và các Blue Chip Sites như Dropbox, YouTube, Instagram, PayPal, eBay, Yelp, Reddit, Disqus, EVE Online, Second Life Among và ....
> Tìm hiểu ngay: Các trang web sử dụng Python
Về mặt lập trình web Python, cách đơn giản nhất là thành thạo Python sau đó nắm vững các Web Framework như Django, Flask.
10. Python có rất nhiều Framewok hữu ích
Một ưu điểm tuyệt vời khác của Python là lập trình web Python linh hoạt vì có rất nhiều Framework ngon giúp lập trình web Python nhanh chóng và dễ dàng.
Ví dụ: Bạn có thể chọn các framework như Django hoặc Flask để tiết kiệm thời gian, tập trung vào việc tạo ra các tính năng thú vị hơn là việc viết nhiều dòng code nhàm chán.
Về cơ bản, một Framewrk là một gói các Package và Module cung cấp một số chức năng nhất định và có thể được tùy biến để tạo ra ứng dụng riêng của bạn.
Khi nói đến Python, có rất nhiều framework / thư viện mạnh mẽ có sẵn, mọi lập trình viên web sẽ tìm thấy thứ họ cần cho công việc của họ.
Vậy làm thế nào để bạn chọn đúng Framework?
Đối với các ứng dụng web (Ứng dụng + Trang web), Django và Pyramid là lựa chọn tốt.
Để kiểm soát tốt hơn và trực quan hóa hoặc tạo mẫu một ứng dụng, Web2py hoặc Flask có thể là phương án nên chọn.
CheeryPy là phải có cho các giải pháp đơn giản, tối giản.
Tornado sẽ xử lý 10.000 kết nối đồng thời trở lên. Trong khi Dash là lựa chọn hoàn hảo cho các ứng dụng phân tích.
Hãy xem xét kỹ hơn 3 Web Framewok phổ biến nhất của Python.
Django
Lập trình web Python với Django Framework rất dễ dàng và hiệu quả, và được mệnh danh là:
"KHÔNG BAO GIỜ TRỄ DEADLINE"
Django có thể làm gì?
Django đi kèm với nhiều tính năng hữu ích cho phép tạo ra một loạt các ứng dụng web bao gồm giải pháp GPS, ứng dụng cơ sở dữ liệu, chatbot, v.v.
Việc lập trình web với Django tuân theo triết lý DRY(Không lặp lại code), khuyến khích việc tái sử dụng code, giúp cho việc viết trang web / ứng dụng web nhanh hơn và dễ dàng hơn bao giờ hết.
Ngoài ra, kiến trúc mô-đun / tách rời của nó cho phép sửa đổi liền mạch các thành phần, cho phép bạn thêm hoặc xóa các thành phần theo bất kỳ cách nào bạn thấy phù hợp.
Hơn nữa, sự phát triển của Django đi kèm với mô hình ORM (Object-Relational Mapping), cho phép nó hoạt động với nhiều cơ sở dữ liệu cùng một lúc đồng thời làm cho nó tương thích cao với hầu hết các cơ sở dữ liệu phổ biến như Oracle và SQL.
Cuối cùng nhưng không kém phần quan trọng, Django thân thiện với SEO.
Ví dụ, nó làm giảm thời gian tải trang thông qua các kỹ thuật / tính năng như caching và nén JavaScript.
> Có quá nhiều lý do để HỌC PYTHON DJANGO
Pyramid
Pyramid Framework tự định nghĩa nó là:
“NOT TOO SMALL
NOT TOO BIG
JUST RIGHT”
Nó cho phép bạn tạo ra nền tảng vững chắc cho giải pháp của bạn để dễ dàng mở rộng quy mô khi cần thiết.
Cũng giống như Django, nó tương thích với cả ứng dụng nhỏ và lớn nhưng sự khác biệt là ở độ phức tạp của nó.
Pyramid thực sự nổi bật nhờ hệ thống plugin tuyệt vời cho phép các lập trình viên sử dụng bất kỳ plugin nào họ cần. Đây là một cách tuyệt vời để thực hiện nhiều giải pháp cho một nhiệm vụ nhất định.
Ngoài ra, Pyramid còn cực kỳ tốt cho các ứng dụng single-file application, xác thực linh hoạt và ủy quyền hoặc các ứng dụng được định hướng.
Flask
Mặc dù có nhiều điểm tương đồng giữa Django và Pyramid, Flask hoạt động hơi khác một chút.
Về cơ bản, nó đơn giản hơn nhiều so với Django hay Pyramid.
Nó rất dễ tùy chỉnh và dễ quản lý. Nếu bạn là người mới học (hoặc chuyển từ ngành khác sang công nghệ thông tin), Flask sẽ là lựa chọn rất phù hợp.
Flask dựa nhiều vào Jinja 2 Templating và bộ công cụ Werkzeug WSGI (Web Server Gateway Interface).
Nó được định nghĩa là microframework và được đặc biệt tạo ra cho các giải pháp quy mô nhỏ như các ứng dụng và API đơn giản với chức năng tinh gọn là ưu tiên số 1.
II. LÝ DO LỰA CHỌN PYTHON ĐỂ LẬP TRÌNH WEB
Có rất nhiều ngôn ngữ lập trình và thậm chí nhiều framework hơn để lựa chọn nên sử dụng cái gì. Chọn đúng không phải là nhiệm vụ dễ dàng nhưng có một số lý do tại sao chúng tôi khuyên bạn nên sử dụng Python để lập trình web.
Chúng ta hãy xem xét một số lập luận chính sau:
Python được nhiều công ty lớn sử dụng lập trình web
Các công ty như Bitbucket, Instagram, Dropbox, Pinterest và nhiều công ty lớn khác sử dụng các Python Framework như Django và Pyramid trong quá trình phát triển ứng dụng / website của họ.
Các Framework này sẽ xử lý hầu hết mọi thứ bạn cần và đó là một phần lý do tại sao lập trình web bằng Python lại rất phổ biến.
Chuyển mọi thứ phức tạp thành đơn giản
Một lập trình viên mới bắt đầu / trung bình sẽ không muốn đi sâu vào từng chi tiết hoạt động khi lập trình một trang web.
Các Framework của Python được đề cập ở trên sẽ giải quyết vấn đề đó và đó là lý do tại sao mình khuyên bạn nên lập trình web với Python nếu như bạn là người mới bắt đầu hoặc nếu bạn là chuyên gia thì chắc chắn bạn hiểu lợi ích của nó.
Tiết kiệm thời gian phát triển web
Người ta từng nói:
"THỜI GIAN LÀ TIỀN BẠC"
Và với thị trường thay đổi nhanh chóng như hiện nay, bạn chắc chắn không muốn mất thời gian vào những thứ rập khuôn chứ?
Thay vì thế, hãy sử dụng Python và Framework của nó để có thời gian tập trung vào những giá trị cốt lõi mà bạn cho rằng nó sẽ níu chân khách hàng của bạn.
Việc lập trình web bằng Python rất nhanh chóng và dễ dàng và nó hoàn hảo để xây dựng các nguyên mẫu hoặc dự án đơn giản với ngân sách có thời hạn ngắn.
Nhanh chóng trình làng sản phẩm và tiếp tục theo dõi quá trình khách hàng thực tế tương tác để tiến hành cải tiến, không ngừng thử nghiệm và cải tiến.
Tận dụng khả năng bảo mật
Khi bạn tự mình xây dựng một thứ gì đó từ đầu, một trong những mối quan tâm chính là xử lý bảo mật.
Đặc biệt là trong môi trường internet cực kỳ nguy hiểm.
Tuy nhiên, với một Framework đã được tối ưu tốt, được sự bảo trợ của các chuyên gia (và cả cộng đồng lập trình viên khổng lồ) thì bạn không phải lo lắng về điều đó.
Nếu có bất kỳ sự cố gì xảy ra, nó tác động đến hàng trăm nghìn lập trình viên. Và chắc chắn nhiều khi lỗi xảy ra bạn chưa hề nhận được tin tức thì những bộ óc thiên tài ngoài kia đã có giải pháp để fix lỗi rồi.
Việc của bạn chỉ là cập nhật chúng mà thôi.
Hệ thống hiệu quả và có thể mở rộng
Bất cứ khi nào bạn mở rộng quy mô trang web của mình bằng cách thêm các thành phần mới hoặc sử dụng cơ sở dữ liệu mới, bạn muốn đảm bảo trang web sẽ mở rộng quy mô phù hợp.
Thật không may, với các trang web được xây dựng từ đầu, điều đó thường rất khó khăn.
Mặt khác, một khuôn khổ tốt được xây dựng để đảm bảo khả năng mở rộng ngay từ đầu của quá trình phát triển.
Sự thật thú vị:
Disqus, một dịch vụ lưu trữ bình luận blog phổ biến, có hơn 8 tỷ lượt xem trang và 45 nghìn request mỗi giây. Tất cả được xử lý thông qua Django Framework.
III. BẮT ĐẦU HỌC LẬP TRÌNH WEB VỚI PYTHON THẾ NÀO?
BƯỚC #1. Điều kiện tiên quyết khi lập trình web với Python
Hiểu những điều cơ bản về Python và HTML là điều kiện tiên quyết trước khi bạn bắt đầu làm việc với Python framework.
Bạn không chỉ nên hiểu rõ về các nguyên tắc cơ bản của Python mà còn phải có một số kiến thức cơ bản về HTML và JS.
Thậm chí cả CSS nữa nếu bạn không muốn trang web của mình "XẤU NHƯ MA"
Bạn không thể lập trình web nếu thiếu bộ 3 HTML, CSS, JS này.
Tóm lại, kiến thức sơ nhập là bạn cần có:
BƯỚC #2. Nắm một số kiến trúc cơ bản
Xem xét thực tế là các khung công tác như Django dựa trên MVC trong khi Flask sử dụng Jinja2 templating engine.
Và tốt nhất là bạn nên tìm hiểu các các kiến trúc này thực sự hoạt động như thế nào thì sẽ tốt hơn là nhảy vào viết web với Framework ngay.
BƯỚC #3: Tạo một ứng dụng web đơn giản
Hãy nhớ là nên đi từng bước nhỏ một thay vì vội vàng tạo ra các ứng dụng web trong mơ của bạn.
Cũng giống như học bất kỳ thứ gì. Lập trình web bằng Python cũng thế, việc thực hành từ cơ bản đến nâng cao sẽ giúp ích hơn là nhảy vào làm bài khó.
Thử bắt đầu bằng cách xây dựng một ứng dụng to-do list. Nó sẽ giúp bạn hiểu cách các chức năng CRUD (Create - Read - Update - Delete) và các xử lý các HTTP request đơn giản.
Hoàn thành ứng dụng này bạn tiến thêm một bước để hiểu rõ hơn cách thức hoạt động của framework và cách sử dụng nó.
BƯỚC #4: Học cách debug
Nếu bạn là một người mới học lập trình web, bạn nên biết rằng:
"BUG LÀ ĐƯƠNG NHIÊN"
Nhưng cũng đừng lo lắng, có RẤT NHIỀU công cụ debug có sẵn để hỗ trợ bạn.
Lỗi (Errors) và Ngoại lệ (Exceptions) là những người bạn tốt nhất của lập trình viên và bạn càng tìm hiểu sớm cách hoạt động cách gỡ lỗi framework càng sớm càng tốt.
Mẹo gỡ lỗi:
"MỞ TO MẮT RA ĐỌC THÔNG BÁO LỖI ĐI"
Chỉ cần như vậy thôi bạn cũng đã xử lý được 80 - 90% lỗi rồi đó.
Còn có một số lỗi logic thì bạn cần nắm vững các kiến thức căn bản và cơ chế hoạt động của Farmework để có thể sửa nó.
Bạn cũng cần hiểu cách một code của bạn hoạt động trong các tình huống khác nhau và cách các ngoại lệ hoạt động nữa.
Sử dụng các IDE như PyCharm để giúp cuộc sống của bạn dễ dàng hơn rất nhiều bởi nó rất thông minh. Nó giúp bạn gỡ lỗi và đưa cho bạn các mẹo tối ưu hóa ngay lập tức.
BƯỚC #5: Tích hợp Thrid-party Modules
Người ta đã nói rồi:
"ĐỪNG LÃNG PHÍ THỜI GIAN PHÁT MINH LẠI BÁNH XE"
...mà thay vào đó, hãy tập trung vào những thứ quan trọng hơn.
Hầu hết các tiện ích bạn cần để kết nối cơ sở dữ liệu (SQLAlchemy), tính toán khoa học (SciPy) và quét web (BeautifulSoup) đã được nhiều người triển khai và sử dụng nên hãy tận dụng lợi thế đó.
Điều đáng nói là, hãy làm quen với các Module cốt lõi của Python trước khi bạn bắt đầu sử dụng các Module tích hợp của bên thứ 3.
Bởi một loạt các tính năng, các hàm tiện ích và phương thức đối tượng đã có sẵn trong Python's Core Modules.
Ngoài ra, với các công cụ nội bộ của Python, bạn có thể dễ dàng thực hiện các thao tác như mapping, filter và endcoding...
Vậy....
Bản chất việc gì cũng có hai mặt.
IV. PYTHON CÓ NHƯỢC ĐIỂM GÌ KHÔNG?
Mặc dù Python có nhiều ưu điểm nhưng để phát triển tốt nhất chúng ta phải có cái nhìn đa chiều.
Vì thế, đây là một số nhược điểm đáng nói của Python
-
Ít lập trình viên dày dạn kinh nghiệm hơn so với các ngôn ngữ khác như Java.
-
Hiệu suất chậm hơn các ngôn ngữ khác. (Nếu không tích hợp với một số khai triển kiểu CPython, Jython,...)
-
Không phải là ngôn ngữ tốt nhất cho các ứng dụng di động và các tác vụ tốn nhiều bộ nhớ.
-
Hạn chế truy cập cơ sở dữ liệu
-
Tính đồng thời và tính song song không được thiết kế bằng ngôn ngữ để sử dụng siêu thanh lịch.
-
Các hàm một dòng của Python (Lambdas) cảm thấy khá hạn chế khi nói đến meta-programming.
-
Lý do duy nhất để không muốn học Python là JavaScript cũng tương tự mà lại có vẻ tốt hơn ở nhiều mảng (ngoài Khoa học dữ liệu, AI, Machine Learning, Big Data...)
Việc lập trình với Python đã rất phổ biến trong nhiều năm vì những lý do đó.
Nó không chỉ là một ngôn ngữ hoàn hảo cho người mới bắt đầu mà còn có thể giúp bạn làm bước đệm để học những ngôn ngữ phức tạp hơn.
Lập trình web bằng Python là điều mà mọi lập trình viên nên thử. Học nó là lựa chọn rất chính xác, đặc biệt là khi bạn có ngân sách nhỏ và thời gian hạn chế.
> Ghi chú: Nếu bạn dự định CHUYỂN NGHỀ sang lập trình thì PYTHON LÀ LỰA CHỌN HOÀN HẢO.
Python phổ biến bởi có rất nhiều Framework và Thư viện hữu ích, nó rất an toàn và bảo mật, và nếu bạn gặp bất kỳ vấn đề gì (hoặc cần giải pháp nào), mình đảm bảo rằng bạn sẽ tìm được thông qua cộng đồng lập trình viên Python khổng lồ.
Vì thế, còn chần chừ gì nữa. Nếu bạn cảm thấy mình phù hợp với Python thì học lập trình Web bằng Python ngay!
---
HỌC VIỆN ĐÀO TẠO CNTT NIIT - ICT HÀ NỘI
Học Lập trình chất lượng cao (Since 2002). Học thực tế + Tuyển dụng ngay!
Đc: Tầng 3, 25T2, N05, Nguyễn Thị Thập, Cầu Giấy, Hà Nội
SĐT: 02435574074 - 0383.180086
Email: hello@niithanoi.edu.vn
Fanpage: https://facebook.com/NIIT.ICT/
#niit #niithanoi #niiticthanoi #hoclaptrinh #khoahoclaptrinh #hoclaptrinhjava #hoclaptrinhphp #python #java #php