Dành cho người mới

Guide for beginners - Những chia sẻ kinh nghiệm dành cho người mới

Lộ trình trở thành lập trình viên Python Lộ trình trở thành lập trình viên Python Lộ trình trở thành lập trình viên Python Lộ trình trở thành lập trình viên Python Lộ trình trở thành lập trình viên Python 3.6/5 (38 reviews)

Lộ trình trở thành lập trình viên Python

Đã đăng 2018-02-19 08:28:52 bởi Kteam
5 bình luận 13299 lượt xem
Lộ trình trở thành lập trình viên Python 3.6 /5 stars (5 reviews)
 

Giới thiệu

Ngôn ngữ Python có vẻ đang hot trong cộng đồng lập trình Việt Nam những năm gần đây với những cú pháp linh hoạt và nhiều công cụ tiện ích. Nhiều người vẫn nghĩ Python là ngôn ngữ mới là sai, thật ra Python được phát triển từ năm 1985-1990, có nghĩa là tuổi đời Python còn lớn hơn cả Java - trong khi đó Java đã góp mặt ở Việt Nam từ những thế hệ lập trình viên 8x - đầu 9x, thì Python lại mới làm quen ở Việt Nam những năm gần đây.

Kteam sẽ đưa ra lộ trình trở thành lập trình viên Python theo nhiều lĩnh vực khác nhau. Tuy nhiên điểm xuất phát của các bạn là cần phải học về lập trình cơ bảnhướng đối tượng của Python. Kteam sẽ nói về lộ trình học chuyên sâu hơn.


Nội dung

Trong bài viết này, chúng ta sẽ bàn về những lộ trình sau của Python:

  • Làm ứng dụng cho máy tính
  • Trở thành Web Developer
  • Lập trình nhúng/IOT
  • Làm game

Làm ứng dụng cho máy tính

Đây là con đường cơ bản nhất trong lập trình viên, việc tạo những ứng dụng có giao diện đồ họa đã giúp con người tiếp cận với máy tính hơn bao giờ hết. Nói về tạo GUI trong Python, Kteam khuyến khích các bạn dùng 1 trong 2 thư viện là Tkinter PyQT.

Đầu tiên là Tkinter, đây là thư viện được tích hợp sẵn trong Python 3, khi các bạn Cài đặt Python 3 đầy đủ thì có thể sử dụng ngay. Đây là thư viện được tạo ra ứng dụng nhanh và đơn giản, việc học không quá phức tạp. Vì vậy Tkinter ít khi sử dụng làm những ứng dụng quản lý lớn, hay được sử dụng làm giao diện cho các thiết bị điều khiển.

Còn về PyQT, đây không phải là thư viện mà là 1 Framework hỗ trợ khá đầy đủ. QT lúc đầu là của C++ để làm GUI, PyQT chính là QT được lập trình bằng Python. PyQT hỗ trợ khá đầy đủ, ngoài tạo ứng dụng thì có thể cho tự thiết kế hình dạng cửa sổ, có thư viện để kết nối cơ sở dữ liệu và có tool design.


Trở thành Web Developer

Python ở Việt Nam thường dùng cho lập trình back-end web. Có rất nhiều bạn muốn học Python theo con đường này nên Kteam sẽ nói rõ hơn!

Việc học web cần phải con đường vững chắc. Trước tiên bạn phải học Html, Css và Javascript - đây là 3 ngôn ngữ bắt buộc để làm web dù bạn có thích hay không. Khi nắm chắc cơ bản được 3 dạng này bạn có thể học Python Web - tất nhiên đây là con đường của Back-end Developer, còn các bạn muốn trở thành Front-end thì phải theo lộ trình của Javascript. Hoặc muốn trở thành Full-stack Developer thì phải theo luôn 2 lộ trình này.

Có rất nhiều Framework để lập trình Python web, thì có 2 cái phổ biến hiện này là Flask Django.

Flask là microframework, là framework thực hiện từ những việc cơ bản nhất trở lên. Bạn sẽ phải quyết định project Web của bạn như thế nào, chia bố cục ra sao, theo mô hình gì... Đây sẽ framework khá hay cho những bạn không muốn ràng buộc quá nhiều về thư viện, tự sáng tạo cách của mình - tất nhiên bạn phải biết cách chọn hướng đi tốt nhất để giải quyết, không phải mình thích là mình làm.

Khá ngược Flask, Django là Framework lớn hỗ trợ cho ta nhiều hơn, nhưng đồng thời ràng buộc những gì ta thực hiện. Django khá "đóng" hơn, bắt chúng ta phải làm theo kiểu "cách Django", Django quyết định mô hình thiết kế (mô hình MVC), cung cấp database interface theo dạng ORM (nói đơn giản là định nghĩa table sang kiểu hướng đối tượng) nên việc tương tác database bằng ngôn ngữ Python (vừa là ưu điểm và nhược điểm), quy định cấu trúc đặt file trong project...

Django hỗ trợ cho ta đầy đủ, nên việc tạo các trang web lớn sẽ giúp ta thực hiện nhanh hơn nhiều. Tất nhiên việc tạo các trang Web là do năng lực các bạn - framework là công cụ hỗ trợ, không phải quyết định kết quả của bạn. Bạn có thể chọn Framework theo sở thích của bạn, nếu còn phân vân thì ta học cả 2 luôn là biết mình thích cái nào.

Sau khi học xong 2 framework này, các bạn cũng nên học về Restful Framework của mỗi cái đó. Vì sao ta phải học nó, khi chúng ta làm các web lớn sẽ có những trường hợp cần tương tác với giữa các trang web với nhau, vì web được tạo ra từ nhiều Framework khác nhau (Asp.net, Node.js, ...) nên cần phải có một chuẩn mực chung để các trang web tương tác với nhau có thể hiểu - Đó là là REST. Khi các bạn học đến đây thì sẽ hiểu tầm quan trọng vì sao cần Restful Framework


Lập trình nhúng/IOT

Python ứng dụng rất nhiều lĩnh vực và trong đó có lập trình nhúng, tuy hiện số lượng board có hỗ trợ ngôn ngữ Python cũng hạn chế. Kteam sẽ cố gắng giới thiệu một số thư viện để các bạn có thể học lập trình nhúng Python. Vì Kteam không phải dân gốc bên điện tử - nên chỉ xin phép giới thiệu qua (nếu bạn hiểu rõ hơn! hãy đóng góp ý kiến trong phần BÌNH LUẬN bên dưới để mọi người có thể cùng tham khảo!)

Đầu tiên là thư viện MicroPython, đây là thư viện mã nguồn mở giúp ta nhanh thao tác nhanh các thiết bị nhúng như là Pyboard, Esp8266...việc phát triển lập trình nhúng cho Python sẽ trở nên dễ dàng hơn cho những ai tay ngang muốn đi theo con đường này.

Tiếp theo là Zerynth, đây là Framework hỗ trở chính cho các dòng ESP8266, SAMD21, STM32... Zerynth hỗ trở khá đầy đủ như có tính năng cho đa tiến trình, có IDE chạy đa nền tảng hỗ trở nhiều tính năng như có bài viết hướng dẫn, clone github hay hình ảnh mô tả board đang lập trình...Ngoài ra Zerynth còn hỗ trợ clouds, app, api để phát triển một project chuyên nghiệp. Zerynth có hai bản là Free và Pro, các bạn có thể chọn phiên bản miễn phí để có thể sử dụng.

Ngoài các board Pyboard, Esp8266 thì Raspberry cũng có thư viện Python để giao tiếp. Raspberry là một máy tính nhúng nên bạn có thể cài hệ điều hành vào mạch này - thường là hệ điều hành Raspbian. Để dùng Python giao tiếp với Raspberry, ta sẽ dùng 2 thư viện GPIO Zero RPi.GPIO.


Làm game

Làm game là sở thích của nhiều bạn, có thể nó nhiều bạn muốn theo con đường công nghệ thông tin cũng từ sở thích này. Chúng ra hãy cùng tìm hiểu những thư viện Python hỗ trợ làm game

Đầu tiên là Pygame (được xây dựng từ thư viện SDL) , đây là thư viện low-level bắt buộc các bạn phải xây dựng game từ những từ cơ bản nhất, việc học Pygame là ưu tiên để cho các bạn muốn làm game chuyên sâu từ Python. Pygame có hỗ trợ phát triển trên Android, nếu muốn phát triển trên IOS cần phải thêm thư viện Kivy của Python vào. Sau khi nghiên cứu Pygame, các bạn nên tìm hiểu PyOpenGL để phát triển game 3D.

Tiếp theo là Pyglet, là một framework chạy đa nền tảng lớn hỗ trợ cho multimedia, hỗ trợ khá mạnh để phát triển đồ họa 3D, hỗ trở phát video-âm thanh, xử lý bàn phím-chuột... Pyglet thường dùng phát triển các dạng game lớn, và là 1 trong những framework được lập trình viên Python yêu thích.


Kết luận

Như vậy, Kteam đã giói thiệu cho bạn những lộ trình để trở thành lập trình viên Python, hy vọng bài giới thiệu sẽ giúp cho các bạn có thể định hình được con đường cho bản thân.Chúc bạn có thể thành công với quyết định của mình. 

Cảm ơn các bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của mình để phát triển bài viết tốt hơn. Đừng quên “Luyện tập – Thử thách – Không ngại khó”.

Chia sẻ:
Thảo luận Hỏi và đáp Báo lỗi bài viết
Hủy bỏ   hoặc  
Lộ trình trở thành lập trình viên Python
phanvanhung83 2018-08-23 10:30:26

          Hi Kteam,

Mình tên Hưng, hiện đang sống và làm việc tại TPHCM.

Mình đang có idea về IT + Dinh dưỡng - Sức khỏe, kiểu như hệ thống tư vấn online dinh dưỡng vậy.

Mình có nhu cầu viết 1 website, viết 1 phần mềm tính dinh dưỡng (theo độ tuổi, giới tính, tình trạng sức khỏe, tình trạng lao động) cũng khá phức tạp và gắn lên website, 1 app dinh dưỡng

Mình cũng có chút kiến thức về công nghệ nhưng không rành về code. Mình tìm hiểu và thấy Python rất hay. Minh đang học Python căn bản trên kênh Youtube của Kteam. Các bạn còn trẻ mà giỏi quá.

Kteam có thể tư vấn giúp mình xem viết những thứ mình cần thì phải học những gì, mất thời gian bao lâu, học Python có thể giải quyết được hết những gì mình cần không.

Hy vọng có thể gặp và mời Kteam cafe nhé.

Cảm ơn các bạn rất nhiều.

0 bình chọn
Reply
View all 1 comments
Kteam - Howkteam Free Education
K9 2018-09-15 11:05:13
python làm website thì học django. trước đó phải biết code website = html + css + javascript. rồi học qua SQL để lưu trữ, học qua phân tích thiết kế hệ thống.
0 bình chọn
Reply
Lộ trình trở thành lập trình viên Python
phanvanhung83 2018-08-23 10:30:19

          Hi Kteam,

Mình tên Hưng, hiện đang sống và làm việc tại TPHCM.

Mình đang có idea về IT + Dinh dưỡng - Sức khỏe, kiểu như hệ thống tư vấn online dinh dưỡng vậy.

Mình có nhu cầu viết 1 website, viết 1 phần mềm tính dinh dưỡng (theo độ tuổi, giới tính, tình trạng sức khỏe, tình trạng lao động) cũng khá phức tạp và gắn lên website, 1 app dinh dưỡng

Mình cũng có chút kiến thức về công nghệ nhưng không rành về code. Mình tìm hiểu và thấy Python rất hay. Minh đang học Python căn bản trên kênh Youtube của Kteam. Các bạn còn trẻ mà giỏi quá.

Kteam có thể tư vấn giúp mình xem viết những thứ mình cần thì phải học những gì, mất thời gian bao lâu, học Python có thể giải quyết được hết những gì mình cần không.

Hy vọng có thể gặp và mời Kteam cafe nhé.

Cảm ơn các bạn rất nhiều.

0 bình chọn
Reply
Lộ trình trở thành lập trình viên Python
phanvanhung83 2018-08-23 10:30:00

Hi Kteam,

Mình tên Hưng, hiện đang sống và làm việc tại TPHCM.

Mình đang có idea về IT + Dinh dưỡng - Sức khỏe, kiểu như hệ thống tư vấn online dinh dưỡng vậy.

Mình có nhu cầu viết 1 website, viết 1 phần mềm tính dinh dưỡng (theo độ tuổi, giới tính, tình trạng sức khỏe, tình trạng lao động) cũng khá phức tạp và gắn lên website, 1 app dinh dưỡng

Mình cũng có chút kiến thức về công nghệ nhưng không rành về code. Mình tìm hiểu và thấy Python rất hay. Minh đang học Python căn bản trên kênh Youtube của Kteam. Các bạn còn trẻ mà giỏi quá.

Kteam có thể tư vấn giúp mình xem viết những thứ mình cần thì phải học những gì, mất thời gian bao lâu, học Python có thể giải quyết được hết những gì mình cần không.

Hy vọng có thể gặp và mời Kteam cafe nhé.

Cảm ơn các bạn rất nhiều.

0 bình chọn
Reply
Lộ trình trở thành lập trình viên Python
tranquocdung10081997 2018-07-18 12:54:12

Bài viết rất hay và cần thiết, mình nghĩ Kteam cố gắng ra mỗi ngôn ngữ một bài như thế này để người học dễ hình dung được ngôn ngữ sẽ dùng làm cái gì từ đó người học có thể chia nhỏ việc học ra sẽ hiệu quả hơn (y)

0 bình chọn
Reply
Hủy bỏ   hoặc  
Hủy bỏ   hoặc  

Chiến dịch

Kteam - Howkteam Free Education