Học lập trình java core backend như thế nào cho người mới bắt đầu chưa biết gì cơ bản miễn phí

Nội dung này dành cho các bạn mới học, chưa đi làm, chuẩn bị đi phỏng vấn, chưa biết gì về java và muốn theo java lâu dài, ai đã đi làm, đã có kinh nghiệm hoặc làm java 1 thời gian khá khá rồi thì xem lại để hồi nhớ, kỉ niệm

À nếu bạn chưa có kiến thức cơ bản về lập trình thì bạn nên bổ sung trước nhé

1 chút tâm tình về ngôn ngữ lập trình java để các bạn có thể an tâm học lập trình java core backend và chọn nó là ngôn ngữ lập trình cho sự nghiệp của mình

Đầu tiên job có nhiều không thì không nói nhiều, các bạn có thể lên itviec, topdev để search các job về ngôn ngữ lập trình java rất nhiều nhé

Thứ 2 ngôn ngữ lập trình java được dùng rất nhiều trong các dự án nội bộ công ty, các dự án về banking (ngân hàng), insurance (bảo hiểm) mà các dự án này thường business nhiều, phức tạp nên khi làm việc các bạn học được rất nhiều thứ hay ho

Thứ 3 hiện nay java được Oracle chống lưng nên được update rất nhiều và càng ngày công nghệ càng ngon và hay

Và còn nhiều thứ khác nữa, cũng tìm hiểu nhé

– Anh chị có thể sử dụng C hoặc C++ hoặc java (yêu cầu không xài thư viện có sẵn của java, tự tay code tất cả) để rèn luyện tư duy lập trình

– Để có thể học và theo java lâu dài, các bạn không nên học nhảy bước

– Đầu tiên hãy trang bị về tư duy lập trình các thứ trước nhé

Các bạn có thể rèn luyện tư duy logic thông các nội dung liên quan tới giải các bài toán về java coding sau: java2blog.com/java-coding-interview-questions/

2. Học java core

Phần cơ bản

– Biến, toán tử, vòng lặp, điều kiện, java String …

Và những kiến thức khác

Phần nâng cao

– Hướng đối tượng trong java (Java OOP)

– Java Collection, Generic, reflection, networking, multithread, annotation …

– Java IO, Java Exception …

– Học thêm về các tính mới trong: Java 8 -> 16

Tìm và giải các bài toán về java để áp dụng các lý thuyết đã học

Và những kiến thức khác

Các bạn học java core cơ bản tại đây nhé: javatpoint.com/java-tutorial

3. Học database (SQL)

– Các bạn có thể chọn 1 trong các hệ quản trị sau: mysql, sql server, postgreSQL, oracle … (Đa phần thấy các bạn chọn mysql, sql server. Tuy nhiên ra công ty họ bắt học gì thì các bạn nhớ học thêm cái đó nha)

– Học cách design database như thế nào, các kiến thức liên quan tới sql, CSDL (cơ sở dữ liệu) có quan hệ …

– Tìm và giải các bài toán về sql để thực hành các phần lý thuyết đã học

Các bạn học sql cơ bản tại đây nhé: w3schools.com/sql/default.asp

4. Áp dụng viết ứng dụng java desktop sử dụng Java Swing hoặc JavaFX

Sau khi học qua java core và database tương đối tạm ổn thì các bạn nên áp dụng nó vào 1 project nào đó, theo laptrinhjavaweb thì các bạn nên sử dụng java swing or javafx để tạo 1 ứng dụng desktop như quản lý sinh viên, quản lý kho, quản lý bán hàng … để thực hành cũng như rèn luyện lại kỹ năng java, database

Nhiều bạn nói giờ ngoài kia họ không còn làm ứng dụng desktop nữa, học chi mất thời gian

Ok học để áp dụng kiến thức java, sql vào chứ đâu có nói học để đi làm ngay, nếu sau khi học java core, sql tàm tạm mà qua ngay web liệu có chắc biết cách học, biết cách tìm tòi, fix bug. Cái quan trọng là phải đủ trải nghiệm, lấy ứng dụng desktop ra là khá hợp lý khi còn mới, sau khi làm ra được sản phẩm rồi thì các bộ kỹ năng như code logic, fix bug, tìm tài liệu sẽ cải thiện đáng kể và có 1 tâm lý vững vàng, an tâm để học tiếp những thứ khác, tức là phần web

Phần 2 học java web backend

Dạo gần đây admin gặp rất nhiều bạn mới chưa biết gì học java web hỏi là để lập trình web với java, học java web backendlập trình java web, thì họ nên bắt đầu từ đâu, mới bắt đầu thì học như thế nào cho hiệu quả, do đó hôm nay mình sẽ hướng dẫn các bạn lộ trình học java web hiệu quả phần 1

1. Một số quan điểm về các bạn hiện nay học lập trình web với java!

Lộ trình học java web lấy từ bản thân mình, từ những thứ mà mình được học và làm sau 1 khoảng thời gian cũng kha khá, do đó đây là quan điểm cá nhân, ai thấy hợp lý thì share không thì cho comment để trao đổi

1 số sai lầm của 1 vài thanh niên học java web là bỏ qua những kiến thức nền tảng của Java Web, cụ thể là JSP, Servlet, JDBC mà đú qua luôn nào là SPRING, nào là JPA, nào là HIBERNATE!

Bản thân mình cũng đang dạy Java Web cơ bản đến nâng cao, mình có hỏi các bạn trong lớp về các kiến thức nền và thật đáng buồn là 99% không biết gì (không biết gì ở đây là các bạn học không đàng hoàng, học qua loa, học chỉ để là mình đã từng học chứ các bạn chưa thực sự hiểu cách học như thế nào, cụ thể như là: JDBC hoạt động ra sao, cách nhận request trong Servlet có mấy cách, nêu tên từng cách, commit, rollback trong JDBC là gì, MVC trong JSP Servlet em hiểu như thế nào là hợp lý …) hàng tá câu hỏi mà tui chỉ nhận được cái lắc đầu dễ thương, thì tui tin các anh em ngoài kia cũng không ngoại lệ.

Rồi, đi vô luôn, không vòng vo nữa:

Đầu tiên, làm ơn mấy thím mà chuyển ngành, chuyển nghề hay mới học lập trình mà muốn học Java Web thì làm ơn học lập trình cơ bản trước giùm cái. Mua sách hay lên mạng xem nội dụng của “kĩ thuật lập trình”, “Cấu trúc dữ liệu giả thuật” … xem nó dạy gì trong đó, học tầm 1 năm ok rồi thì chuyển qua học Java cơ bản

Còn thím nào đã có cơ bản về lập trình rồi, đã có học qua Java cơ bản (chú ý học ở đây tự là tự build được 1 cái project gì đó nho nhỏ như quản lý học sinh, sinh viên … viết trên nền console rồi thì mới nói là biết nha các tình yêu!) thì học cơ sở dữ liệu dùm cái, học để biết các quan hệ trong Database là những gì, chúng được sử dụng như thế nào, cách viết và sử dụng các câu sql ra làm sao …

Rồi những thím nào mà đã có cơ bản về lập trình, đã biết 1 chút qua Java cơ bản, cơ sở dự liệu thì bây giờ xem qua Java Web mới hợp ly hen, nói rồi học lập trình và cụ thể là lập trình Java Web không phải là chuyện như ăn 1 bát cơm hay uống 1 ly nước, phải có tuần tự thì mới ok được hén

2. Hướng dẫn học jsp servlet trong lập trình web với java

Học JSP: do chúng ta tập trung backend là chính (tui không phải fullstack do đó đừng nói tui tư vấn fullstack nha, plz) nên giao diện dùng bootstrap cho tui, vì sao vì nó dễ học. Để xứ lý logic trên giao diện, dùng jquery cho tui

Kiểu gì cũng có các em vào chém nghe đâu jquery sắp chết, chết cái quần ý, hệ sinh thái của nó còn cả nùi, nói chết là chết ah. Rồi tại sao lại học jquery, vì nó cũng dễ thế thôi.

Chúng ta không chuyên front-end do đó, hãy tìm những thứ dễ nhất mà học, đừng tỏ ra nguy hiểm rồi lại bảo Java Web khó.

Ok đó mới là cách thiết kế giao diện và xử lý logic trên giao diện, JSP có những thứ ngon hơn nhiều đó là các thư viện support cho JSP như JSTL, Function … học tới đâu cần thì import chứ h nói ra thì nhiều lắm

Servlet: tìm hiểu @WebServlet để hiểu cách gửi request như thế nào, RequestDispatcher là gì, cách bind data ra JSP (view) dùng request.setAttribute ra làm sao

Đặc biết áp dụng kiến trúc MVC vào thiết kế cho gọn, tách biết phần code cũng như logic java và html làm các phần riêng biệt. Chứ tui thấy trên mạng chỉ code hết vào JSP (Html và Java răng môi lẫn lộn mà tui phát hơn)

Học cách chia layer theo mô hình 3-tier, chia package rõ ràng.

Xem thêm: https://laptrinhjavaweb.com/lo-trinh-hoc-java-web

Phần 3 sau khi anh chị đi làm java backend, java web được >= 2 năm thì áp dụng nhé

Lưu ý, bài viết này không áp dụng cho anh chị em mới học java, chưa đi làm, chuẩn bị đi làm hoặc mới đi làm < 2 năm kinh nghiệm

Các lĩnh vực dưới đây đều là những lĩnh vực mới, do đó thời gian để anh chị em có thể ok rơi vào tầm: 1.5 -> 2 năm

1. Học chuyên sâu về database (Database administrator)

– Đây là 1 công việc chuyên biệt, họ dùng gần như 100% sql để xử lý công việc (tức là bao gồm các logic phức tạp cũng xử lý bằng SQL luôn) 

– Dĩ nhiên đây chỉ là 1 phần công việc trong 1 hệ thống, nó cần kết hợp với backend … nữa

– Đối với công việc này bạn sẽ phải thường xuyên làm việc với các kĩ thuật như: Store Produce, Function, Trigger, design kiến trúc database ….

Và nhiều kiến thức chuyên sâu khác liên quan

2. Học chuyên sâu về DevOps

– Đây là công việc giúp chạy 1 sản phẩm ổn định trên môi trường Production (môi trường thực tế và khách hàng sử dụng)

– Khi học kĩ năng này, bạn sẽ làm việc với server, network, cách deploy 1 ứng dụng lên môi trường thật như thế nào, cấu hình server, môi trường … 

– Bạn cần trang bị các kiến thức liên quan đến Linux, các cloud platform khá phổ biến hiện nay như: AWS, azure, các kĩ thuật build code tự động (CI/CD) như: Jenkins …

– Các kiến thức liên quan đến quản lý Container như: Docker, Kubernetes …

Và nhiều kiến thức chuyên sâu khác liên quan

– Xem thêm: laptrinhjavaweb.com/java-developer-2-nam-kinh-nghiem-nen-hoc-gi-134

Laptrinhjavaweb Academy cung cấp các khóa học: Java Core, Java Web, Java Hosting

 

Follow fanpage, facebook cá nhân, group facebook, kênh youtube để nhận các nội dung hay ho về lập trình java core, java web, java hosting