Lời nói đầu
Vì vậy, bạn cảm thấy đã đến lúc phải thay đổi lĩnh vực hoạt động của mình và học một nghề mới. Tại sao không thử lập trình? Họ trả tiền tốt cho việc này, nó đầy hứa hẹn và thú vị. Nhưng câu hỏi ngay lập tức được đặt ra: phải làm gì, đi đâu, bắt đầu lập trình như thế nào? Là một người đã đi qua con đường này từ đầu, tôi có thể đảm bảo với bạn rằng với cách tiếp cận học tập đúng đắn, sự kiên nhẫn và kiên trì, bạn có thể sớm trở thành một lập trình viên và tìm được một công việc được trả lương cao. Trong bài viết này tôi muốn chia sẻ các mẹo về cách bắt đầu lập trình.Đặt mục tiêu
Để hiểu những gì cần phấn đấu và đạt được mức độ nào, hãy trả lời một câu hỏi đơn giản - tại sao bạn cần lập trình? Nếu mục tiêu của bạn là trở thành một chuyên gia và lập trình để kiếm sống, hãy chuẩn bị cho việc đào tạo nghiêm túc và chuyên sâu. Đồng thời, bạn phải sẵn sàng dành thời gian mỗi ngày cho việc học lập trình. Nếu mục tiêu của bạn là một sở thích hoặc mở rộng tầm nhìn, bạn có thể chọn tốc độ chậm hơn nếu bạn có thời gian rảnh và mong muốn. Nhưng trong mọi trường hợp, bạn không nên kéo dài quá trình tập luyện của mình “trong nhiều năm”. Thứ nhất, kiến thức biến mất nhanh hơn tốc độ tích lũy và thứ hai, công nghệ lập trình đang phát triển rất nhanh. Khi bạn đang học một công cụ hoặc framework phát triển, nó có thể trở nên lỗi thời và không cần thiết vào thời điểm bạn được tuyển dụng. Theo tôi, giải pháp tốt nhất là phác thảo một kế hoạch đào tạo sơ bộ. Nhưng trước tiên, hãy quyết định về ngăn xếp công nghệ.Chọn một ngôn ngữ
Nếu bạn có ý tưởng cụ thể về những gì bạn muốn làm trong lập trình thì điều này sẽ giúp việc chọn ngôn ngữ trở nên dễ dàng hơn nhiều. Mỗi ngôn ngữ có chuyên môn và trọng tâm riêng. Thông tin cụ thể về điều này có thể dễ dàng tìm thấy trên Internet.Cập nhật ngày 29/11/2021
Viết kế hoạch chuẩn bị
Đó là với một kế hoạch mà tôi khuyên bạn nên bắt đầu con đường lập trình viên. Chia quá trình đào tạo của bạn thành các giai đoạn và phân bổ một lượng thời gian cụ thể cho từng giai đoạn. Để hiểu rõ hơn về cách lập trình, hay chính xác hơn là điều gì sẽ xảy ra về cơ bản khi bộ xử lý thực thi câu “Xin chào, Word!” đầu tiên của bạn. bạn sẽ cần có kiến thức chung về kiến trúc máy tính. Nếu bạn có những khoảng trống trong lĩnh vực này, bạn nên loại bỏ chúng. Vì vậy, tôi khuyên bạn nên đưa kiến trúc PC vào chương trình giảng dạy của mình. Chia việc học ngôn ngữ bạn đã chọn thành các giai đoạn khi độ phức tạp của tài liệu tăng lên. Bạn có thể có được ý tưởng gần đúng về kiến thức cần thiết bằng cách nghiên cứu các câu hỏi phỏng vấn hoặc yêu cầu đối với người ứng tuyển vào các vị trí trong công ty CNTT. Làm thế nào để học lập trình nếu bạn chưa từng học lập trình trước đây? Câu trả lời rất đơn giản: để học ngoại ngữ, trước tiên bạn học những từ đơn giản, sau đó là những quy tắc cho phép bạn kết nối chúng, sau đó bạn học cách hiểu và nói. Để học Java, hãy thử làm theo thuật toán tương tự.Làm thế nào để học Java?
Đầu tiên, hãy nghiên cứu cú pháp của ngôn ngữ: từ khóa, toán tử, quy tắc viết mã. Dần dần chuyển sang nghiên cứu các cấu trúc ngôn ngữ phức tạp hơn - phương thức, hàm tạo, lớp, thư viện và khung. Để hiểu cách lập trình chính xác, hãy đưa các thuật toán và cấu trúc dữ liệu vào chương trình giảng dạy của bạn. Điều này rất hữu ích cho việc hình thành tư duy của một lập trình viên. Nên thực hiện giai đoạn này sau khi nghiên cứu cú pháp của ngôn ngữ.
Làm thế nào để học lập trình Java?
Để bắt đầu lập trình Java , hãy tìm hiểu các chủ đề cơ bản như OOP, ngoại lệ, đa luồng, bộ sưu tập. Tất cả những điều này đều có trong Java SE, bộ công cụ tiêu chuẩn dành cho nhà phát triển và chắc chắn phải được đưa vào kế hoạch đào tạo của bạn. Sau khi thành thạo Java SE, bạn có thể chuyển sang Java EE, công nghệ lập trình máy khách-máy chủ, cơ sở dữ liệu và công nghệ lập trình web. Tại đây, bạn sẽ chỉ gặp một lượng lớn các khung và công cụ khác nhau.
Không nhất thiết phải học mọi thứ cùng một lúc nhưng nên nắm vững những cái chính trước khi được tuyển dụng. Tôi sẽ phân loại những thứ sau thành những cái chính: Git, Maven, Spring, ORM (Hibernate, JPA), REST, SQL, JUnit, Tomcat, JavaScript, JSP/JSTL, HTML/CSS, XML, kiến thức về một số cơ sở dữ liệu (MySql, PostgreSql). Kế hoạch của tôi trông giống như thế này: Tháng Giêng- Hoàn thành 10 cấp độ đầu tiên của JavaRush
- Công cụ phát triển IDE, Eclipse, NetBeans
- JRE, JDK, JVM, biên dịch, thực thi chương trình
- Cú pháp Java
- " Triết học Java ", Bruce Eckel, chương 1-5
- Ykov Fain “Giới thiệu về lập trình Java” bài 1
- Hoàn thành cấp độ 11-13 của JavaRush
- OOP
- "Triết lý Java", Bruce Eckel, chương 6-10
- Ykov Fain “Nhập môn lập trình Java” bài 2, 4
- Hoàn thành cấp độ 14-17 của JavaRush
- Khái niệm cơ bản về đa luồng
- Các thuật toán trong Java, Robert Sedgwick, Kevin Wayne, chương 1-3
- "Triết lý Java", Bruce Eckel, Chương 21
- Ykov Fain “Giới thiệu về lập trình Java” bài 11
- Hoàn thành cấp độ 18-20 của JavaRush
- Khái niệm cơ bản về XML
- Đầu ra đầu vào
- "Triết lý Java", Bruce Eckel, Chương 18
- Ykov Fain “Giới thiệu về lập trình Java” bài 9
- Hoàn thành cấp độ 21-23 của JavaRush
- Dây
- Biểu thức chính quy
- Khái niệm cơ bản về HTML
- "Triết lý Java", Bruce Eckel, chương 13-16
- Ykov Fain “Giới thiệu về lập trình Java” bài 3
- Hoàn thành cấp độ 24-26 của JavaRush
- Đa luồng
- Ngoại lệ
- Các lớp bên trong
- "Triết lý Java", Bruce Eckel, chương 10, 12
- Ykov Fain “Giới thiệu về lập trình Java” bài 6-7
- Hoàn thành cấp độ 27-28 của JavaRush
- java.util.concurrent
- Khái niệm cơ bản về SQL và cơ sở dữ liệu
- JDBC
- Chú thích
- Sự phản xạ
- "Triết lý Java", Bruce Eckel, Chương 20
- Ykov Fain “Nhập môn lập trình Java” bài 12,13
- Hoàn thành cấp độ 28-30 của JavaRush
- Xích đu
- Tuần tự hóa
- Phân tích cú pháp XML
- Servlet
- JSP/JSTL
- "Triết lý Java", Bruce Eckel, Chương 22
- Ykov Fain “Giới thiệu về lập trình Java” bài 14-15
- Hoàn thành cấp độ 31-33 của JavaRush
- JSON
- URL. Làm việc với mạng
- Khái niệm cơ bản về CSS
- Ykov Fain “Giới thiệu về lập trình Java” bài 10
- Hoàn thành cấp độ 34-36 của JavaRush
- Ghi nhật ký
- JUnit
- Git
- Maven
- Danh sách
- Xếp hàng
- Làm việc với các bộ sưu tập
- Hoàn thành cấp độ 37-38 của JavaRush
- Bản đồ
- Mẫu thiết kế
- "Triết lý Java", Bruce Eckel, Chương 11
- Ykov Fain “Giới thiệu về lập trình Java” bài 8
- Hoàn thành cấp độ 39-40 của JavaRush
- Nghỉ ngơi
- tomcat
- Xây dựng và triển khai ứng dụng
- Ykov Fain “Giới thiệu về lập trình Java” bài 16-18
GO TO FULL VERSION