1. Road map
Để trở thành một Java Web Developer, chúng ta cần có kiến thức và kinh nghiệm không chỉ mỗi Java mà còn nhiều lĩnh vực liên quan khác. Ví dụ như Java chạy trên JVM thì chúng ta cần biết JVM là gì và kết nối thế nào đến OS phía dưới, làm thế nào OS thread map được với JVM thread, khi viết API thì chúng ta cần biết web browser hoạt động như thế nào và làm sao request từ browser được gửi đến controller, cứ như thế lại sinh ra nhiều câu hỏi khác về web server, Apache hay Nginx, vân vân và mây mây...
Đi càng xa thì biết càng ít - Lão Tử
Kiến thức nhiều như thế nên đôi khi chúng ta không biết chúng ta cần bổ sung những kiến thức gì để trở thành một qualified Java Web Developer, thế nên bằng sự giúp sức của cộng đồng các tiền bối đi trước, thật may mắn là chúng ta có được roadmap như hình dưới:
Xem thêm:
Resources
Tất nhiên là thật khó để ngồi search từng từ khóa rồi học được, vì chúng ta không có giáo trình cụ thể, không biết học như thế nào là "đủ" để dừng lại chuyển sang chủ đề kế tiếp. Vì thế nên mình xin được giới thiệu một số resources để mọi người có thể tham khảo.
Think Java: How to Think Like a Computer Scientist
Một cuốn sách rất phù hợp cho những người mới bắt đầu tiếp cận ngôn ngữ lập trình Java, các khái niệm được giải thích vô cùng đơn giản và dễ hiểu.
OCA Java
Một cuốn sách rất chi tiết về Java8, nếu bạn đang trong quá trình thi chứng chỉ OCA của Oracle lại càng phù hợp.
Effective Java
Cuốn sách được xem là kinh thánh của ngôn ngữ Java (must read, highly recommend), giúp bạn khai thác tối đa những tính năng ngôn ngữ Java có + best practice ... Ngay cả cha đẻ Java james gosling
cũng từng ngạc nhiên khi đọc cuốn sách này, vì có những cái mà ngay cả ông cũng.. không biết.
Java 8 in action
Hầu hết chúng ta đều biết java8 là một cuộc cách mạng lớn nhất thay đổi hoàn toàn ngôn ngữ này, chúng ta có thư viện DateTime tốt hơn, chúng ta có Stream ngắn gọn dễ hiểu hơn, chúng ta có parallelStream nhanh hơn, chúng ta có functional interface như một cải tiến của anonymous class để thích ứng với xu hướng functional programming trên toàn thế giới và nguyên lí hình thành thì được cuốn sách này mô tả một cách chi tiết và đầy đủ. Bonus:
- Java8 cải thiện performance của
HashMap
bằng việc thay đổi datastructure. - Java8 bạn không cần phải lo lắng cho việc init
new ArrayList()<>
cho field trong Object bằng việc bỏ đi default capacity cho đến khi phần tử đầu tiên được thêm vào ...
Ai muốn xem thêm sách vở về java có thể tham khảo ở đây.
Java Under The Hood
Dành cho những ai muốn đi sâu vào nghiên cứu JVM, Bytecode, Garbage Collector...
Baeldung Tutorials
Có lẽ trang này quá nổi tiếng cho cộng đồng lập trình viên Java và Spring...
Problem Solving Skills
Bên cạnh việc có thêm kiến thức thì việc cải thiện kĩ năng giải quyết vấn đề cũng quan trọng không kém..
Mọi người ai biết thêm gì hay thì để lại comment ở dưới nhé. Cảm ơn mọi người đã đọc. Happy Coding! 😍😂😅