Nội dung bài viết
Video học lập trình mỗi ngày
Học lập trình web, hay học lập trình bất cứ một ngôn ngữ nào như C, php, python… cũng phải có những lộ trình, nhưng nếu bạn đi sai ngay từ đầu thì có thể để quay lại cũng không ít thời gian. Với bài viết được đăng lên geeksforgeeks.org thì mọi chuyện sẽ dễ dàng hơn với các bạn.
Bạn nào muốn đọc bài gốc thì có thể ghé qua bài viết này ở đây: 10 Things You Should Know As a Web Developer Đây là bài viết được dịch và bổ sung thêm.
Bạn đã bao giờ lướt qua một trang web và cảm thấy phấn khích chưa? Nếu bạn đã trải qua điều đó thì bạn sẽ nghĩ tới một ngày nào đó chúng ta sẽ thử tự tay code một web như vậy và bổ sung thêm những tính năng độc đáo hơn nữa không?
Việc tạo một trang web để thu hút nhiều người biết tới trang của bạn, thì ngoài những ngôn ngữ lập trình thì bạn cũng phải cần biết và học một số khái niệm như devtools, formats, unit test, Rest API, API, authentication và nhiều thứ hơn nữa để bạn có thể phát triển nhanh chóng hơn trong việc tự học lập trình web. Và bài viết này sẽ giúp các bạn đi nhanh hơn về lộ trình của các bạn. Bài viết được sắp xếp bố cục từ đơn giản đến master, cho nên các bạn hãy kiên nhẫn với bản thân mình khi đọc bài viết này.
1. HTML / CSS / JS
Kỹ năng lập trình hoặc kiến thức lập trình chính là điều quan trọng nhất mà mọi nhà phát triển nên học trước tiên là ba điều cơ bản này, tức là HTML, CSS và JavaScript. Bạn sẽ sử dụng HTML và CSS cho các giao diện web. Chỉ cần nhấp chuột phải vào trình duyệt web của bạn và sau đó chọn view page source. Bạn sẽ tìm thấy cấu trúc trang web của mình, nơi có rất nhiều thẻ HTML được sử dụng cho các mục đích khác nhau. CSS cũng được sử dụng trong frontend quyết định styles mà bạn đã chọn, thiết kế, bố cục và cách các yếu tố HTML cần được hiển thị trên màn hình. Đây là một ví dụ về sự sáng tạo trong "Demo Form đăng ký và đăng nhập "
Javascript hiện đang có nhu cầu cao và về cơ bản, nó chịu trách nhiệm làm cho các trang HTML của bạn trở nên năng động và tương tác. Javascript cũng đi kèm với nhiều ngôn ngữ như PHP, Python, ASP.Net để làm cho trang web của bạn tương tác hơn. Nếu bạn có thể chuyên về javascript như MEAN Stack hoặc Mern stack thì bạn sẽ đi sâu vào ngôn ngữ này bởi vì ngôn ngữ này sẽ là ngôn ngữ chính của bạn cũng như ngôn ngữ phụ trợ.
2. Git và Github
Git là một trong những hệ control systems phiên bản phổ biến nhất được sử dụng trong hầu hết các tổ chức. Nếu bạn muốn được tuyển dụng trong những công ty lập tình lớn hơn thì cơ hội sẽ cao hơn nếu mà bạn biết về git và github. Đây là lý do bạn chắc chắn nên dành thời gian học Git và một số lệnh cơ bản như cloning, pushing to repositories, making a pull request, merging branches.v.v. Github là một trang mà không thể bạn không biết đó là nơi bạn có thể lưu trữ những code của mình. Ngoài ra, github cũng chính là nơi mà bạn và nhóm của bạn or một công ty có thể quản lý code của mình và mọi người trên cùng một dự án.
3. Browser DevTools
Bạn có thể thực hiện nhiều công cụ bằng DevTools của trình duyệt như gỡ lỗi, chỉnh sửa các thành phần HTML, chỉnh sửa các thuộc tính CSS, kiểm tra thiết bị, theo dõi lỗi javascript, v.v ... Mỗi nhà phát triển nên lưu ý sử dụng các tab khác nhau (elements, console, network, etc...) trong DevTools để làm cho công việc của họ dễ dàng hơn và nhanh hơn. Tùy thuộc vào trình duyệt của bạn, bạn có thể sử dụng bất kỳ DevTools nào như DevTools của Chrome, DevTools của Firefox hoặc bất cứ thứ gì trình duyệt bạn đang sử dụng. Mọi người thường thích sử dụng Chrome DevTools để phát triển, thử nghiệm và gỡ lỗi ứng dụng web.
4. API (Application Programming Interface)
Trong phát triển web, bạn sẽ làm việc rất nhiều với các API về cơ bản là xử lý dữ liệu của bên thứ ba. Nó cho phép các nhà phát triển sử dụng một số chức năng mà không cần share .Ở đó API Github là một nơi tuyệt vời mà bạn có thể sử dụng cho mục đích khác và nó cũng cung cấp cho bạn rất nhiều ý tưởng dự án. Và bạn có thể check những API publibs cho những mục đích khác nhau của mình. Và tìm hiểu những middleware hữu ích khi làm việc với những rest api. Ví dụ như bạn từng sử dụng express js để làm rest api thì bạn không thể để ý tới 3 middware hữu ích này được.
Chúng tôi khuyên bạn nên tìm hiểu về cách sử dụng rest API, những phương thức yêu cầu HTTP (GET, POST, PUT, PATCH và DELETE), xây dựng một rest API, hoàn thiện các thao tác CRUD (GET, POST, PUT, PATCH and DELETE). Và sau cùng đó là tìm hiểu các status code trả về, và các định dạng khác nhau (XML, JSON, HTML) khi bạn sử dụng một API bất kỳ có thể return về cho bạn
5. Authentication
Việc bạn làm việc với rest Api thì bạn phải quan tâm đến việc Authentication này. Điều này rất quan trọng bởi nếu bạn làm không được bảo mật thì đó sẽ là một thảm hoạ cho công việc của bạn hay của công ty bạn. Ví dụ: cho phép người dùng đăng nhập, đăng xuất hoặc tạo một số tài nguyên từ tài khoản cá nhân của họ, người dùng nào đã tạo tài nguyên đó hoặc chặn một số trang cho những người dùng chưa đăng nhập. Người dùng bảo mật tài khoản của người dùng phụ thuộc rất nhiều vào xác thực. Đây là một mảng rất rộng cho nên tôi khuyên bạn nên đọc qua những bài viết về token, refresh token là gì?
Vì vậy, điều quan trọng là phải biết cách xử lý các loại chức năng này trong ứng dụng web của bạn. Có rất nhiều cách để thực hiện xác thực cho người dùng và nó phụ thuộc vào ngôn ngữ lập trình hoặc công nghệ bạn đang sử dụng. Nếu bạn đang sử dụng React trên frontend và Node với Express trong phần phụ trợ hơn bạn có thể sử dụng JWT (JSON Web Tokens) để xác thực, nếu bạn đang sử dụng Php thì bạn sẽ phải làm việc với phiên và cookie, bạn cũng có thể sử dụng các bên thứ ba như Google hoặc Twitter để đăng nhập. Vì vậy, có nhiều cách để làm việc với xác thực nhưng nó là một khái niệm quan trọng trong phát triển web để tìm hiểu và thực hiện.
Tips: 30 resource mỗi developer cần biết
6. MVC (Model, View, Controller)
MVC là một mẫu thiết kế giúp tiết kiệm rất nhiều thời gian nhà phát triển tách toàn bộ ứng dụng trong ba phần khác nhau. Làm việc trên mô hình MVC giúp phát triển nhanh hơn và dễ dàng hơn. Rất nhiều higher-level frameworks như Laravel, Django (dựa trên MVT gần với MVC), Angular dựa trên các mẫu MVC. Trong MVC, Model là tất cả về tương tác cơ sở dữ liệu, chịu trách nhiệm cho bất cứ điều gì người dùng nhìn thấy trên màn hình và bộ điều khiển hoạt động như một giao diện giữa mô hình và khung nhìn. Học MVC sẽ giúp bạn hiểu các khuôn khổ cho bất kỳ ngôn ngữ lập trình nào một cách dễ dàng.
7. Ngôn ngữ lập trình
Đương nhiên là hệ thống máy tính không hiểu ngôn ngữ của con người và đó là lý do bạn cần nói chuyện với hệ thống của mình với các ngôn ngữ lập trình. Trong phát triển web, ngôn ngữ lập trình là bắt buộc để học và tất cả các logic bạn có thể áp dụng bằng nhiều ngôn ngữ lập trình. Các nhà phát triển web sử dụng nhiều ngôn ngữ như PHP, Python, Java, Ruby và gần đây Javascript cũng tạo ra sự cạnh tranh tự giới thiệu để xử lý phần phụ trợ. Như một trang web Nhà phát triển, bạn phải có kiến thức về ít nhất một ngôn ngữ lập trình để xây dựng ứng dụng web của mình.
Tips: Lộ trình học lập trình javascript tới react js
8. Giải quyết vấn đề và tìm kiếm những vấn đề
Nếu bạn muốn trở thành một nhà phát triển web, bạn nên có một số kỹ năng tìm kiếm và giải quyết vấn đề tự nhiên. Kỹ năng giải quyết vấn đề và tìm kiếm có thể được xây dựng thông qua một số dự án, thông qua các cấu trúc dữ liệu và thuật toán, giải quyết một số thách thức, câu đố và những thứ tương tự nhưng bạn cần tiếp tục thực hành bất cứ điều gì bạn chọn. Và đây một bài viết giúp bạn check lại bản thân mình "Developer hơn nhau ở performance?"
Bất kể bạn là người mới bắt đầu hay có kinh nghiệm, trong phát triển web, bạn sẽ tìm kiếm thông tin, cú pháp hoặc giải pháp cho một số vấn đề rất nhiều trong khi xây dựng ứng dụng. Bạn chắc chắn sẽ gặp một số lỗi lạ, bạn hoàn toàn không biết và ở đó bạn cần có sự trợ giúp của google hoặc stackoverflow như cộng đồng để giải quyết vấn đề.
9. Kiểm tra code hay write test
Rất nhiều lập trình viên coi điều này là vô ích và lãng phí thời gian. Đối với ứng dụng nhỏ, bạn có thể bỏ qua các bài kiểm tra viết nhưng nếu bạn đang xây dựng một ứng dụng lớn và bạn muốn trở thành chuyên nghiệp thì chúng tôi khuyên bạn nên viết những unit test, để check lại những đoạnc code của mình trước khi giao cho tester. Chính vì điều đó giúp bạn debug code một cách dễ dàng và quản lý code chặt chẽ hơn. Nếu bạn chưa thể hình dung unit test là gì? Thì bạn hay tham khảo bài viết này: Unit test là gì? Giới thiệu và ví dụ về cách viết unit test.
Ban đầu, bạn sẽ cảm thấy như đang lãng phí thời gian nhưng sau đó bạn sẽ nhận ra rằng nó thực sự tiết kiệm thời gian của bạn, vì vậy hãy tạo thói quen viết unit test trong khi xây dựng ứng dụng của bạn.
10. DevOps và Deployment
Cuối cùng nhưng không kém phần quan trọng, là một nhà phát triển web, bạn nên có kiến thức về maintenance, scaling, migrating and deploying code của mình trên các nền tảng khác nhau như cloud, AWS, Heroku, Netlify, v.v ... Có rất nhiều lựa chọn để dành thời gian tìm hiểu về các nền tảng này, cách các dịch vụ này hoạt động và cách triển khai hoặc duy trì mã của bạn trên các nền tảng này.