Mình liên tục nhận được câu hỏi từ nhiều bạn đang học lập trình front end, những bạn đó kiến thức thì tạm ổn nhưng lại gặp khó khăn trong khi viết chương trình dài, làm hoàn chỉnh các dự án cá nhân.
Nó giống như họ có kiến thức, nhưng không vận dụng được.
Vậy thì làm sao họ có thể chuyển sang cấp độ tiếp theo?
Bài viết này mình sẽ giúp bạn có thêm những ghi chú để giúp quãng đường phía trước của bạn trở nên rõ ràng hơn, nâng cấp trình độ Lập trình Front end.
Giờ thì hãy đi ngay vào vấn đề chính, chúng ta không có thời gian để lãng phí!
#1. Hiểu rõ ngôn ngữ lập trình JavaScript
Đây là phần này sẽ dài nhất, bản thân nó có thể đã có một bài riêng, nhưng mình đã có nhiều bài hướng dẫn như vậy rồi, trong bài này mình hi vọng tổng hợp nó lại để cùng giải quyết một vấn đề.
Và dĩ nhiên, nói đến việc học lập trình Front end thì còn chạy đi đâu khác ngoài JavaScript nữa.
JavaScript có các thông số kỹ thuật và quy tắc cần được tôn trọng, không nên bỏ qua nó và cũng đừng mong đợi nó được viết theo cách giống như một ngôn ngữ khác.
"ĐỪNG ĐỨNG NÚI NÀY TRÔNG NÚI NỌ"
Đây là những phần bạn cần dành nhiều nỗ lực để hiểu rõ bản chất:
1.1. Kiểu
Tìm hiểu rõ cách JS xác định kiểu dữ liệu của các giá trị như thế nào và biết các kiểu khác nhau mà ngôn ngữ JavaScript cung cấp để truy cập và sử dụng bộ nhớ, lưu trữ dữ liệu, chưa kể đến việc xác định các phần trong code của bạn.
1.2. Scopes & Closures
Scopes và Closure đề cập đến cách các biến và đoạn code của bạn có trong một hàm sẽ giao tiếp với các phần khác trong phạm vi bên ngoài hoặc phạm vi khác.
Hiểu rõ về hành vi này giúp bạn kết nối được các phần của code với nhau. Hiểu hơn về chương trình lớn và hành vi của chúng.
1.3. Hoisting
Ngôn ngữ JavaScript cung cấp các giải pháp để đọc và thực thi code của bạn, theo một cách và thứ tự rất độc đáo, bạn nên biết rõ về điều đó.
Hiểu về hành vi Hoisting trong JavaScript giúp bạn hiểu thêm về cách code bạn được chạy như thế nào, được phân tích ra sao.
1.4. OOP trong JavaScript
JS đã vàng từng bước được phát triển trong những năm qua để cung cấp các giải pháp và trao quyền cho các lập trình viên sử dụng các mô hình lập trình nổi tiếng.
Đặc biệt là Lập trình hướng đối tượng (OOP).
> Tìm hiểu thêm: CLASS TRONG JAVASCRIPT
1.5. Async JS
Bạn là một lập trình viên nhắm mục tiêu xây dựng các ứng dụng động, một trang (Single Page), ứng dụng thời gian thực (Real-time), bạn nên dần dần học lập trình không đồng bộ, viết được chương trình chờ một thứ gì đó rồi mới làm việc khác.
Trước tiên hãy tìm hiểu về Callback trong JS, sau đó chuyển sang Promises, các giải pháp không đồng bộ và có thể tìm hiểu Generator Functions, kết hợp tất cả các chủ đề này vào việc tìm nạp dữ liệu với XHR Requests, đợi dữ liệu và sử dụng nó để cập nhật nội dung HTML của bạn và thực hiện các hoạt động trên nó.
1.6. Higher-Oder Functions
Thay vì tạo các vòng lặp for và sử dụng các điều kiện bên trong nó để nhắm mục tiêu hoặc cấu trúc lại các phần tử của mảng, tại sao bạn không làm quen với với:
Đây là tất cả các hàm tiện dụng của JavaScript mà bạn sẽ chỉ cần dưới một ngày để có thể sử dụng thành thạo chúng.
1.7. Cách JS tương tác với trình duyệt
Là một lập trình viên Front end, nếu bạn thực sự muốn mình đạt level tiếp theo thì trước tiên đừng vội vã đi học jQuery.
Thay vào đó, hãy học cách nguyên thủy nhất để thao tác với DOM.
Học cách sử dụng các đối tượng toàn cục như window
, document
và sử dụng JS để truy cập vào các phần tử HTML và đăng ký các sự kiện (Event Listeners) và hành vi xảy ra với nó.
Tóm lại, bạn cần phải thành thục các thao tác với DOM bằng JS thuần trước khi sử dụng jQuery.
1.8. Object Destructuring và Spread Operator
Rất tiện dụng, đặc biệt khi bạn cần truy cập một phần trong cấu trúc hoặc trạng thái dữ liệu của mình, hoặc thay đổi nó mà không làm mất các phương pháp tiếp cận bất biến.
#2. Tìm hiểu về Git và GitHub
Ngay cả khi đó là một công ty nhỏ, tất cả chúng ta đều sẽ phải sử dụng hệ thống quản lý source code, nổi bật nhất là Git và GitHub.
Vì vậy, bạn thực sự cần phải biết:
-
Biết các tạo Repository trên GitHub
Sau đó, bạn sẽ cần phải biết các lệnh cơ bản nhất để quản lý code trên Editor / IDE của mình, kết nối với Repository trên GitHub.
Các lệnh Git cơ bản cần tìm hiểu là:
-
git init
-
git clone
-
git pull
-
git add và git add .
-
git commit
-
git push
-
git remote
Sau đó tiến tới một vài lệnh nâng cao hơn như:
-
git branch
-
git checkout
-
git merge
Đến đây, coi như bạn đã biết sử dụng git như một lập trình viên chuyên nghiệp rồi. Sau đó, trong quá trình làm việc, vướng mắc ở chỗ nào thì đọc tài liệu để hiểu thêm các lệnh cần thiết.
Còn nếu muốn, bạn vẫn có thể học nâng cao hơn vài lệnh nữa:
-
git rebase (ít dùng)
-
git cherry-pick (ít dùng)
Hãy mạnh dạn, đừng ngại hỏi và tham gia vào các cuộc thảo luận để học hỏi kinh nghiệm từ những đồng nghiệp khác.
> Xem thêm: CÁC LỆNH GIT
#3. Đừng thỏa mãn với framework hoặc thư viện hiện tại
Để nâng cấp level lập trình Front end của bạn thì ít nhất là bạn phải có thể chuyển đổi giữa hai framework mà không bị lạc hoặc nhầm lẫn.
Bạn đã có được kinh nghiệm với một framework, khi bạn chuyển sang framework thứ hai, hãy đặt câu hỏi:
-
Mình đã từng làm thế này với framework trước như thế nào?
Theo mình, kỹ năng này cho đến nay là kỹ năng quan trọng nhất và là điều ngăn cách một lập trình viên Front end "Non" sang "Cứng"
Những lập trình viên Front end cứng thường không gặp khó khăn khi tham gia giải quyết vấn đề với đồng nghiệp, ngay cả khi người ta chưa từng sử dụng công nghệ đó trước đây.
#4. Đừng sợ học lập trình back end
Là người sử dụng các API do Lập trình viên Back end tạo ra và là người chịu trách nhiệm hiển thị nó cho người dùng, cũng chịu trách nhiệm thu thập dữ liệu từ người dùng và gửi dữ liệu đó cho Back end, bạn sẽ cần có một số kiến thức về cách họ thiết kế hệ thống.
Tất nhiên không cần làm nó quá phức tạp hay chi tiết, chỉ cần có kiến thức hợp lý về ERD (Sơ đồ quan hệ) và các thực thể và mô hình.
Ví dụ:
-
Trong ứng dụng mạng xã hội: Posts, Comments, Users đang nói chuyện và liên quan đến nhau trong cơ sở dữ liệu.
Vì thế, đừng sợ học Back end. Bạn học back end không phải để lập trình logic, mà là học để hiểu cách Lập trình viên Back end sẽ tương tác với bạn.
> Bạn có thể chọn HỌC PHP hoặc HỌC JAVA để biết về cách lập trình Back end.
Về phần ngôn ngữ căn bản thì sẽ giống nhau thôi, bạn đã học qua JavaScript thì không có quá khó để hiểu.
Quan trọng, cho dù bạn là ai: Hãy tìm hiểu thêm về SQL (Ngôn ngữ truy vấn có cấu trúc)
> Ghi chú: Chỉ cần học để có thể tạo ra được các thao tác CRUD là ổn.
Ngoài ra, hãy chú trọng tìm hiểu về các phương pháp join và foreign keys trong SQL.
> HỌC SQL CƠ BẢN ngay tại đây!
#5. Nhúng tay vào nghịch các module
Hãy tìm hiểu về Webpack, Parcel và các công cụ khác sử dụng node và hệ sinh thái của npm
Đào sâu vào tài liệu và tìm hiểu xem cách nó hoạt động, cách nó theo dõi tệp của bạn và xử lý chúng dưới dạng cây các tệp được nhập bên trong trong số các tệp đã nhập cho đến khi bạn truy cập vào index.js chính của mình.
Biết cách sử dụng các tùy chọn tách code và tối ưu hóa có thể tăng hiệu suất của bạn.
#6. Cá nhân hóa công cụ làm việc của bạn
Trình soạn thảo văn bản, terminal sẽ giúp bạn kiểm soát quá trình lập trình, giám sát các nhánh Git của bạn.
Ví dụ: Sử dụng phần mở rộng Gitlens trong VSCode giúp bạn biết ai đã thực hiện thay đổi nào trong code và khi nào.
Terminal sẽ rất hữu ích, không chỉ để viết lệnh mà còn để biết về trạng thái của các branch, bạn đã thực hiện những thay đổi nào, bạn đang chậm hơn hay nhanh hơn...
Ngoài ra, trình soạn thảo như VSCode còn cung cấp rất nhiều phím tắt để giúp bạn thao tác nhanh hơn, code tốt hơn.
Thêm nữa, các extension khác cũng rất hữu ích để hỗ trợ quá trình code.
Mình thực sự hy vọng điều này sẽ giúp bạn tập trung lại và làm rõ từng vấn đề một để có thể bước sang cấp độ tiếp theo của Lập trình viên Front end.
Và nên nhớ, không có gì bằng những tình huống thực tế. Đừng chỉ học những khái niệm, nguyên tắc. Hãy vận dụng nó để thực hiện các dự án từ đơn giản cho tới phức tạp.
> Tham khảo: Các DỰ ÁN JAVASCRIPT để luyện tập nâng cấp level lập trình
---
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 - 0914939543
Email: hello@niithanoi.edu.vn
Fanpage: https://facebook.com/NIIT.ICT/
#niit #niithanoi #niiticthanoi #hoclaptrinh #khoahoclaptrinh #hoclaptrinhjava #hoclaptrinhphp