Search…

Kiến Thức Cần Có Để Trở Thành Full-stack JavaScript Developer

08/08/20204 min read
Kiến thức và kỹ năng cần thiết cho một Full-stack JavaScript Developer.

Có nền tảng lập trình và hiểu biết về JavaScript

Cần có hiểu biết cơ bản về JavaScript, paradigm (mô hình cấu trúc) và control flow (điều khiển luồng). JavaScript vừa là ngôn ngữ kiểu động (dynamic) vừa là ngôn ngữ dựa trên nguyên mẫu (prototype-based language). JavaScript cơ bản chia làm 2 loại: đối tượng (object) và kiểu dữ liệu (primitive).

Có 5 kiểu dữ liệu là boolean, number, string, null undefined, ngoài 5 kiểu này ra còn lại đều là object, các function,class, array đều là object.

Khía cạnh quan trọng của JavaScript là lập trình bất đồng bộ (asynchronous programming), cho phép main thread của chương trình liên tục thực thi trong khi chờ đợi các phương thức khác hoàn thành. Hai cách làm chính cho việc này là callback và promise.

Nắm vững ít nhất 1 front-end framework

Single page applications - SPA được quan tâm rộng rãi nhờ vào ưu thế hiệu năng và tính đáp ứng tức thì. Nắm vững ít nhất một framework về front-end là kiến thức cần thiết để làm SPA.

Các framework có thể kể đến là ReactJS, React Native, VueJS, Angular, ... cần đọc nhiều tài liệu và code nhiều để hiểu về sự khác biệt giữa các framework và lựa chọn đúng đắn giải pháp cho các dự án cụ thể.

Biết dùng UI framework

Các UI framework cung cấp các thành phần thiết yếu để tạo dựng giao diện, biết sử dụng UI framework giúp cho lập trình viên tiết kiệm thời gian và làm code gọn hơn khi làm những tính năng như popovers, popups, navigation bars, alerts, ...

HTML/CSS

Khi các UI framework không cung cấp tính năng cần thiết hoặc muốn sản phẩm mang phong cách riêng thì kiến thức về HTML/CSS là thứ cần thiết để có thể tuỳ biến lại ứng dụng và làm code tối ưu, sạch đẹp hơn hoặc cải thiện hiệu năng cao hơn.

Node.js và back-end framework

Node.js là môi trường để chạy JavaScript và có vài điểm khác biệt so với trình duyệt web. Cả trình duyệt web và Node.js đều dùng Chrome V8 Engine nhưng trên trình duyệt thì có API để thao tác với DOM còn Node.js thì API tương tác với hệ điều hành. Node.js là kiến thức phải có để thành full-stack JavaScript developer.

Có rất nhiều framework cho back-end, ExpressJS được dùng nhiều và khuyến nghị cho người mới bắt đầu làm back-end.

TypeScript

JavaScript gặp nhiều vấn đề như cross browser compatibility (tương thích nhiều trình duyệt), xung đột giữa các phiên bản Node.js, không có type safety (hỗ trợ kiểu an toàn). Bản chất của TypeScript khi dịch ra là code JavaScript.

Dùng TypeScript sẽ có ràng buộc chặt chẽ hơn về các kiểu dữ liệu và tiếp cận nhiều khái niệm OOP như interfaces, inheritance, access control (public, private, ...) so với JavaScript.

Làm quen với công cụ tương tác API

Làm quen với các phần mềm, tool gọi API như Postman hay SoapUI. Những công cụ này tiết kiệm nhiều thời gian khi kiểm thử API mà không cần phải đụng đến front-end.

Biết dùng SQL

Kiến thức về Cơ Sở Dữ Liệu nói chung và SQL nói riêng là điều tiên quyết để làm full-stack developer. Không cần phải thông thạo nhưng phải biết các khái niệm cơ bản như CRUD hay truy vấn/thao tác dữ liệu.

Unit Testing và End-to-End Testing

Việc kiểm thử hỗ trợ nhiều trong việc fix bug và giúp cải thiện code sạch đẹp, gọn gàng hơn. Tất cả thành phần của ứng dụng đều phải được kiểm thử. Đối với back-end, mọi routes và public methods được gọi thông qua người dùng cũng cần phải kiểm thử.

End-to-End testing (còn được gọi là “intergration” hoặc “e2e testing”) được dùng để kiểm thử sự tương tác của người dùng nếu tương tác này phải thông qua nhiều trang web và kết nối với back-end. Ví dụ như người dùng chuyển hướng đến trang cá nhân sau khi đăng nhập thì cần kiểm e2e.

Kiến thức cơ bản về chứng thực

Có nhiều cách để bảo mật ứng dụng như client-side tokens, lưu trữ session, giao quyền xác nhận cho bên thứ ba như MS Archive Directory vì thế kiến thức về cách hoạt động của các phương pháp trên là cần thiết. Phải luôn tìm hiểu về các phương pháp tấn công mà hacker có thể dùng và suy nghĩ biện pháp phòng chống. Ngăn chặn trước các phương pháp tấn công cơ bản như cross-site scripting và SQL injections.

@Medium

 

IO Stream

IO Stream Co., Ltd

30 Trinh Dinh Thao, Hoa Thanh ward, Tan Phu district, Ho Chi Minh city, Vietnam
+84 28 22 00 11 12
developer@iostream.co

383/1 Quang Trung, ward 10, Go Vap district, Ho Chi Minh city
Business license number: 0311563559 issued by the Department of Planning and Investment of Ho Chi Minh City on February 23, 2012

©IO Stream, 2013 - 2024