, October 02, 2022

0 kết quả được tìm thấy

Lộ trình học Python cho người mới

  • Đăng bởi  Pum
  •  Jul 28, 2022

  •   9 min reads
Lộ trình học Python cho người mới

Bạn có thể đọc qua bài  này để hiểu rõ hơn về Python là gì cũng như lý do tại sao nên chọn Python là ngôn ngữ lập trình nên học.

Python là gì? Tại sao nên sử dụng ngôn ngữ lập trình Python
Python là một ngôn ngữ lập trình đa năng phổ biến có thể sử dụng cho nhiều ứng dụng khác nhau.
Python là gì? Tại sao nên sử dụng ngôn ngữ lập trình Python

Còn trong bài viết này, 200Lab sẽ đưa ra những định hướng nghề nghiệp dành cho những bạn mới chưa biết nên chọn công việc nào trong Python.

Python Developer

Python Developer được biết đến là lập trình web trong Python đảm nhận việc phân tích, thu thập dữ liệu và thiết kế các khuôn khổ cho các dự án khác nhau. Họ sẽ tạo một web app hay là ứng dụng web có thể chạy được trên Client Browser (trình duyệt web của người dùng).

Mà để có thể tạo được web app thì các developer phải biết cách lập trình server, trong Python có 2 framework nổi tiếng là Django (web framework bậc cao) và Flask.

Web Scraping

Web Scraping hay còn biết đến là khai thác dữ liệu web, là một chương trình viết ra để tải xuống, sắp xếp và cấu trúc dữ liệu đó một cách hợp lý.

Ví dụ: Bạn muốn so sánh các mặt hàng trên sàn thương mại điện tử như Tiki thì bạn sẽ tạo ra một con bot web scraping để lấy dữ liệu và so sánh chúng với nhau.

Web Crawling

Bên cạnh Web Scraping, Python còn có Web Crawling hay còn gọi là cào dữ liệu web trên mạng internet. Web Crawling là quá trình thu thập thông tin từ các website trên Internet theo các đường links cho trước.

Ví dụ: Khi bạn nhập từ khoá “Web Crawling là gì” trên Google, Google sẽ cào toàn bộ các web trên Internet xuống, sau đó họ sẽ tìm kiếm keywork mà bạn tìm kiếm qua các web mà họ đã cào.

Python Software Engineer

Python Software Engineer Test Automation là kỹ sư phần mềm mảng kiểm tra tự động, họ  kiểm tra code một cách tự động. Khi công ty ra feature (tính năng) mới cho ứng dụng, họ sẽ cần có người kiểm tra xem tính năng mới có ảnh hưởng đến soft code của ứng dụng hay không.

Vì ứng dụng rất lớn mà tính năng gây ra lỗi thì sẽ rất nguy hiểm đến app. Vì thế cần test trước khi tích hợp mainline (tích hợp code) vào trong toàn bộ app.

Ví dụ: Khi facebook ra icon mới thì họ sẽ test thử xem có ảnh hưởng đến nút like, haha hay nút thả tim hay không. Vì thế, Python cung cấp Pytest, Selenium, Robot Framework, Unittest dùng để test code một cách tự động.

Scripting

Scripting là công việc viết những chương trình nhỏ bằng Python để tự động hoá những công việc, nhiệm vụ hàng ngày mà bạn muốn hệ thống máy tính công ty tự động thực hiện task đó.

Scripting có nhiều nhánh nhỏ như :

System Admin

System Admin là quản lý hệ thống, chăm sóc hệ thống máy tính trong công ty để đảm bảo hệ thống máy tính hoạt động một cách trơn tru.

DevOps

DevOps là kết hợp giữa Develop và Operate là trung gian giữa System Admin và Developer.

Tiếp đến, chúng ta sẽ đến với 3 định hướng nghề nghiệp phổ biến và trending nhất mà bất kỳ một Python Developer nào cũng muốn học.

Data Science

Data Science hay còn gọi là khoa học dữ liệu, là một lĩnh vực liên quan đến việc sử dụng các công cụ máy tính kết hợp với kiến thức toán học, thống kê để chuyển hoá dữ liệu thành những thông tin quan trọng và có ích cho công ty.

Dưới đây là những thư viện được sử dụng nhiều nhất, mà một data science cần biết NumPy, Pandas, SciPy, Bokeh, Matplotlib, Seaborn.

Machine Learning Engineer

Machine Learning Engineer sẽ làm nhiệm vụ lấy dữ liệu có sẵn để xây dựng nên một mô hình machine learning nhằm tạo ra một giá trị mới cho doanh nghiệp như phân tích, dự đoán, phân loại.

Các machine model này sẽ được xây dựng dựa trên python packages, chẳng hạn như: TensorFlow, Scikit-Learn, Keras, PyTorch. Những packages này sẽ giúp bạn xây dựng mô hình machine learning một cách nhanh chóng và hiệu quả.

Big Data Engineer

Big Data Engineer là một kỹ sư dữ liệu. Nhiệm vụ của họ là xây dựng các cơ sở hạ tầng có sẵn hoặc khuôn khổ phù hợp cần thiết để sẵn sàng cho việc tạo ra các dữ liệu. Họ thường làm việc thiên về kiến trúc của dữ liệu như thu thập, lưu trữ , và quản lý dữ liệu trong nhiều nhiệm vụ khác nhau.

Trong đó, trọng tâm chính của họ là quản lý các cơ sở dữ liệu và công nghệ khai thác dữ liệu lớn hay Big Data. Đáng chú ý nhất có lẽ là việc quản lý và lưu trữ Big Data do đây là dữ liệu có khối lương khổng lồ và tốc độ tăng lên tính tối thiểu theo giây.

Hay nói một cách dễ hiểu, bạn hãy tưởng tượng những công ty như Amazon hay Netflix họ có rất nhiều dữ liệu về sản phẩm, đánh giá review sản phẩm hay review series film.

Họ không thể nào chứa hết được các dữ liệu đó trên cùng một máy tính được, họ phải chứa ở nhiều server khác nhau trên khắp thế giới. Vậy làm thế nào có thể lưu trữ kho dữ liệu lớn như thế. Đó chính là công việc của một Big Data Engineer.

Để trở thành một kỹ sư dữ liệu lớn bạn phải nắm được thế nào là HadoopMapReduce.

Hadoop

Hadoop là một Apache framework mã nguồn mở cho phép phát triển các ứng dụng phân tán (distributed processing) để lưu trữ và quản lý các tập dữ liệu lớn.

Hadoop hiện thực mô hình MapReduce, mô hình mà ứng dụng sẽ được chia nhỏ ra thành nhiều phân đoạn khác nhau được chạy song song trên nhiều node khác nhau. Hadoop được viết bằng Java tuy nhiên vẫn hỗ trợ C++, Python, Perl bằng cơ chế streaming.

MapReduce

MapReduce là mô hình được thiết kế độc quyền bởi Google, nó có khả năng lập trình xử lý các tập dữ liệu lớn song song và phân tán thuật toán trên 1 cụm máy tính. MapReduce trở thành một trong những thành ngữ tổng quát hóa trong thời gian gần đây.

Tiếp đến, chúng ta sẽ đến với phần kiến thức căn bản mà bất kỳ một lập trình viên Python nào cũng cần biết.

Các Thư Viện Python (Python Libraries) phổ biến

TensorFlow

TensorFlow là thư viện mã nguồn mở cho machine learning nổi tiếng nhất thế giới, được phát triển bởi các nhà nghiên cứu từ Google. Việc hỗ trợ mạnh mẽ các phép toán học để tính toán trong machine learning và deep learning đã giúp việc tiếp cận các bài toán trở nên đơn giản, nhanh chóng và tiện lợi hơn nhiều.

Scikit-Learn

Scikit-Learn là thư viện mạnh mẽ nhất dành cho các thuật toán học máy được viết trên ngôn ngữ Python. Thư viện cung cấp một tập các công cụ xử lý các bài toán machine learning và statistical modeling gồm: classification, regression, clustering và dimensionality reduction.

NumPy

Numpy là một fundamental packages cơ bản, cũng là một công cụ giúp bạn làm việc với các mảng dữ liệu (Array) hay mảng dữ liệu đa chiều (Multi-Demensional Array).  ‌‌

Keras

Keras là một API bậc cao được xây dựng trên nền tảng của TensorFlow giúp bạn có thể dễ dàng xây dựng mô hình máy học, máy học . Nó là một library được phát triển vào năm 2005 bởi Francois Chollet, là một kỹ sư nghiên cứu Deep Learning.

PyTorch

PyTorch chính là một framework hỗ trợ Deep Learning được phát triển bởi Facebook. (Bên cạnh Amazon, Google hay Apple, Facebook được biết đến là đơn vị công nghệ đầu tư rất nhiều nguồn lực cho việc phát triển trí tuệ nhân tạo). Pytorch được xem là đối thủ cạnh tranh trực tiếp của TensorFlow.

SciPy

SciPy là 1 thư viện phần mềm cho engineering và khoa học. SciPy gồm các modules cho đại số tuyến tính, optimization, tích hợp và thống kế. Chức năng chính của thư viện SciPy được xây dựng trên NumPy, và arrays của nó sẽ tận dụng tối đa NumPy.

Pandas

Pandas là một công cụ phân tích dữ liệu mở được xây dựng trên ngôn ngữ lập trình Python được thiết kế để làm việc với dữ liệu đơn giản, trực quan, được “gắn nhãn” và có liên hệ với nhau.

Pandas là công cụ hoàn hảo để tinh chỉnh và làm sạch dữ liệu. Pandas được thiết kế hỗ trợ cho các thao tác, tập hợp và visualize dữ liệu.

Matplotlib

Matplotlib là 1 phần của phần mềm giúp cho Python (cùng với sự hỗ trợ của NumPy, SciPy và Pandas) trở thành đối thủ nổi bật với các công cụ khoa học như MatLab hoặc Mathematica.

Seaborn

Seaborn hầu như tập trung vào việc visualization của các models thống kê, các visualizations như thế gồm heat maps tổng hợp dữ liệu nhưng vẫn mô tả được toàn bộ mức độ phân tán. Seaborn được phát triển dựa trên Matplotlib.

Bokeh

Bokeh tập trung chính vào tính tương tác và nó tạo các presentations qua các hệ điều hành hiện đại theo style của Data-Driven Documents. Bokeh hoàn toàn độc lập so với Matplotlib, nó hướng đến các visualization tương tác.

Pillow

Pillow là một fork từ thư viện PIL của Python được sử dụng để xử lý hình ảnh. So với PIL thì Pillow được cập nhật thường xuyên và đánh giá cao hơn. (PIL đã không được cập nhật từ năm 2009).

Lời kết

Mong là những chia sẻ trên của 200Lab có thể giúp bạn, những người vẫn chưa có định hướng sự nghiệp sẽ có cái nhìn rõ ràng hơn về hướng đi trên con đường tìm hiểu về Python.

Nếu bạn có định hướng trở thành Data Analyst chuyên nghiệp thì bạn có thể tham khảo bộ khóa học toàn diện chuyên nghiệp với combo 4 khóa học trong 1 bootcamp của 200Lab tại đây.

Ngoài ra, bạn có thể nhấn vào link này để tham gia vào nhóm và nhận thêm nhiều tài liệu hữu ích khác về Data nhé!

Bài viết liên quan

Master data là gì? Sự khác nhau giữa Master data và Transaction data

Master data là tập hợp các định danh thống nhất và các thuộc tính mở rộng. Nó mô tả các thực thể cốt lõi của doanh nghiệp bao gồm khách hàng,.......

Master data là gì? Sự khác nhau giữa Master data và Transaction data
Danh mục các loại biểu đồ trong Data Visualization

Bạn có thể tìm thấy danh sách các loại biểu đồ, nó sẽ hoạt động như một hướng dẫn đầy hữu ích giúp bạn lựa chọn được biểu đồ phù hợp với nhu cầu của bản thân....

Danh mục các loại biểu đồ trong Data Visualization
Data Analysis with Excel: Analysis ToolPak

Bộ công cụ Analysis ToolPak trên Excel sẽ giúp bạn tiết kiệm thời gian và đơn giản hóa các bước phân tích dữ liệu tài chính, thống kê ....

Data Analysis with Excel: Analysis ToolPak
Data Analysis with Excel: Solver

Excel có một công cụ được gọi là solver cung cấp các lệnh và các tính năng tùy chỉnh để giải quyết các vấn đề quyết định....

Data Analysis with Excel: Solver
Data Analysis with Excel: What-If Analysis

What-If Analysis trong Excel cho phép bạn thử các giá trị (scenarios) khác nhau cho các công thức....

Data Analysis with Excel: What-If Analysis
You've successfully subscribed to 200Lab Blog
Great! Next, complete checkout for full access to 200Lab Blog
Xin chào mừng bạn đã quay trở lại
OK! Tài khoản của bạn đã kích hoạt thành công.
Success! Your billing info is updated.
Billing info update failed.
Your link has expired.