Trang

Thứ Ba, 6 tháng 2, 2018

9 điều lập trình viên Java nên biết trong năm 2018

 
Bạn muốn bắt đầu năm mới theo một hướng đúng? Đây là một loạt các chủ đề bạn có thể thử để trở nên một Java dev giỏi hơn, từ việc điều chỉnh hiệu suất đến Spring Security 5.0.

trước nhất, tôi chúc các bạn một năm mới vui vẻ. Đây là khoảng thời gian trong năm chúng ta lại bắt đầu lập kế hoạch, đặt ra các mục tiêu và ra quyết tâm cho năm mới.

Là một Java Dev và là tác giả của một blog Java , tôi luôn nhận được yêu cầu từ các lập trình viên Java ở khắp nơi trên thế giới về cách cải thiện năng lực.
 
Năm ngoái, tôi đã san sẻ 11 mẹo để trở thành một lập trình viên Java giỏi hơn , và bài viết ấy vẫn đúng nhưng khi một năm mới đến, tôi quyết định viết ra những đích mới cho các lập trình viên Java để cải thiện bản thân, mở rộng tri thức về lập trình Java và tăng giá trị cho việc phát triển nghề trong ngày mai.

nên chi, không hoang phí thời gian nữa, cùng xem qua 9 ý tưởng của tôi dành cho các lập trình viên Java trong năm mới 2018. Bạn có thể lấy cảm hứng từ những ý tưởng này để tạo ra các mục tiêu và quyết tâm cho riêng mình.

Tìm hiểu về Java Performance Tuning

Trong vài năm gần đây, tôi đã thực hiện hơn 50 cuộc phỏng vấn với các nhà phát triển Java , và một kỹ năng tôi thấy thiếu khá rõ là việc thiếu kiến thức và sự hiểu biết về JVM, các hành vi của GC và Java performance tuning.

 



 

Khi kinh nghiệm Java của bạn tăng và bạn trở nên nhà phát triển Java cao cấp với hơn 5-6 năm kinh nghiệm, bạn được đề nghị phải biết cả bức tranh lớn và các chi tiết nhỏ về các nguyên tắc căn bản của Java.

Nếu bạn không thể trình diễn.# một áp dụng hoặc không thể hiểu lí do tại sao nó chậm hoặc làm thế nào để làm nó nhanh hơn thì bạn nên đọc một cuốn sách hay về JVM và điều chỉnh hiệu suất, ví dụ như Scott Oaks’ best seller Java Performance the Definitive Guide .

Tôi đã đọc nó nhiều năm về trước và vẫn tham khảo lại nó bất cứ khi nào tôi có thời gian. mục tiêu của tôi là đọc lại nó trong năm nay.

Nếu bạn thích các khóa học trực tuyến hơn là sách, tôi yêu cầu bạn xem qua chuỗi khoá học Understanding the Java Virtual Machine về Pluarlsight, giải thích về quản lý bộ nhớ, class boarding, An ninh và Phản ánh.

Mỗi ngày code trong vòng 2 giờ



 

Một điều khác tôi đã nhận thấy trong năm ngoái là khi kinh nghiệm của bạn tăng, bạn dành nhiều thời kì cho việc thực hiện, giải đáp email, làm chất xúc tác, khắc phục sự cố, cố vấn và nói chung là một người quản lý dự án tốt.

Điều bạn bị tụt lại phía sau là coding , đó là kỹ năng quan trọng nhất của một lập trình viên.

Nếu bạn cảm thấy rằng bạn chưa code đủ, hãy kiên tâm code mỗi ngày. ít nhất, hãy viết một cái gì đó, dù là về dự án của bạn, một framework mã nguồn mở, một thư viện hay một tiện ích.

Bắt đầu là điều khó khăn nhất, tôi đề nghị bất cứ lúc nào bạn cảm thấy đo đắn, bắt đầu đọc và refactoring code cho vui trước. Bạn sẽ thích và trong quá trình đó, bạn cũng sẽ viết code.

Bạn cũng có thể giải quyết các vấn đề dựa trên buổi phỏng vấn Cracking the Coding, 150 câu hỏi lập trình . Điều này không chỉ bảo đảm rằng bạn đã sẵn sàng cho cuộc phỏng vấn mà còn nâng cao kiến thức về cấu trúc dữ liệu, các thuật toán và logic lập trình.

Lập hồ sơ áp dụng Java của bạn mỗi tháng 1 lần



học lập trình java ở đâu

 

quyết tâm này được đính kèm với kiên tâm trước hết về đọc một cuốn sách hay về JVM nội bộ và điều chỉnh hiệu suất. Đọc cuốn sách đó sẽ không đủ. Bạn phải ứng dụng tri thức đó trong dự án thực tiễn của bạn.

Tôi yêu cầu bạn l ập hồ sơ cho ứng dụng Java của bạn, ít ra một tháng một lần và dành nhiều thời kì để hiểu và phân tách kết quả.

Bạn cũng có thể “ take a heap dump ” của quá trình Java của bạn hoặc, nếu bạn có crash gần đây, sau đó “ take that heap dump “ và tìm ra đối tượng nào chiếm hầu hết bộ nhớ của bạn. Có rò rỉ bộ nhớ trong áp dụng Java của bạn?

nguyên do là gì? Điều gì sẽ xảy ra nếu 100k khách hàng mới khác truy cập vào ứng dụng của bạn? Nếu bạn có thể trả lời tuốt luốt những câu hỏi này một cách thoải mái, thì bạn đã chuẩn bị tốt. Nếu bạn cần một số hướng dẫn giải quyết vấn đề về bộ nhớ và CPU, tôi đề nghị bạn xem qua Understanding and Solving Java Memory Problems  của Richard Warburton.

tham dự các thử thách coding



 

đích này, một lần nữa, phần nào can dự đến kiên tâm thứ hai của chúng ta – viết code trong 2 giờ mỗi ngày. Hãy đối mặt với nó, thỉnh thoảng, bạn không có đủ dịp code trong dự án thực tiễn của bạn.

Nếu bạn đang dạo các bài tập code, không có gì tốt hơn việc Tham gia lập trình và các thử thách coding.

Có rất nhiều trang web trên Internet chứa các thách thức lập trình và cho bạn nhịp rà kĩ năng của bạn, nhưng TopCoder có thể nói là tốt nhất.

Nếu bạn đang ngần một số thử thách lập trình khó khăn, bạn cũng có thể rà danh sách các trang web tốt để thực hành coding .

Tìm hiểu về Network programming trong Java

Một điều nữa tôi đã học được từ việc phỏng vấn mọi người là các nhà phát triển Java cần phải cải tiến socket programming của họ và networking fundamentals.

Tôi đã hỏi nhiều câu hỏi từ danh sách các câu hỏi networking programming Java của tôi, nhưng các nhà phát triển hầu như không thể trả lời các câu hỏi đó.

Một số người trong số họ thậm chí còn phấn đấu để phác thảo những điểm khác biệt chính giữa TCP và UDP , mà tôi nghĩ là quá căn bản để hỏi bất kỳ nhà phát triển Java nào có kinh nghiệm từ 2-5 năm.

Nếu bạn cảm thấy rằng bạn không có đủ thời cơ để học socket programming trong Java hoặc bạn không cần vì bạn là nhà phát triển web Java làm việc với JSP, Servlet và JSF thì tôi khuyên bạn nên đọc chí ít một cuốn sách hay về Mạng Java, NIO và socket programming.

Một cuốn sách tôi khuyên bạn nên đọc là TCP / IP Sockets trong Java, Second Edition, hướng dẫn thực hiện cho các lập trình viên . Rất dễ đọc, thú, và một cách hay để tìm hiểu các nguyên tắc cơ bản của socket programming.

Java 9

Năm 2017 đã chứng kiến những phát hành lớn, một trong số đó là JDK 9. Tôi chưa bắt đầu với JDK 9, nhưng đây là điều trước hết tôi sẽ coi xét vào năm 2018. Nếu bạn muốn tìm hiểu các tính năng mới của Java 9, tỉ dụ: Jigsaw, Reactive Streams, API enhancements, v.v … thì Java 9 MasterClass là một khóa học tốt để bắt đầu.

Spring 5.0

Một phát hành lớn khác cho thế giới Java vào năm 2017 là Spring Framework 5.0. Với nhiều tính năng thú nhận, thí dụ như reactive programming model và sự tiếp thụ Java 8 và 9, việc áp dụng Spring 5.0 sẽ tăng tốc vào năm 2018, và đó là lý do vì sao mọi nhà phát triển Java nên học nó. Nếu bạn cần viện trợ, Spring 5.0: Beginner to Guru là một khoá học tốt để bắt đầu.

Spring Security 5,0

Một phát hành thú vị khác của năm 2017, mà tôi sẽ học vào năm 2018, là Spring Security 5.0. Spring Security 5.0 là một phiên bản chính, và họ viết lại một đôi modules và sửa chữa vài trăm lỗi. Phần thú nhất là module OAuth 2.0. Thật không may, hiện tại không có nhiều tài nguyên để học Spring Security 5.0, nhưng may mắn thay, Eugen đã cập nhật phần mềm Learn Spring Security để bao gồm phiên bản 5.0 và cũng bổ sung thêm một module mới trên OAuth 2.0.

Unit testing

Nếu bạn muốn trở nên một nhà phát triển giỏi hơn vào năm 2018, bạn nên làm việc với các kĩ năng unit testing của bạn. Và không chỉ với unit testing, nhưng tự động rà nói chung. Điều này cũng bao gồm thử nghiệm tích hợp. Bạn có thể học JUnit 5 và các thư viện unit testing nâng cao khác như Mockito, PowerMock, Cucumber và Robot để đưa kĩ năng unit testing của bạn lên cấp độ mới. Mockito thực thụ mạnh mẽ và cho phép bạn viết một bài unit testing cho các lớp phức tạp bằng cách mocking dependencies và chỉ tụ tập vào các đối tượng đã được rà soát. Nếu bạn là một người mới bắt đầu unit testing và muốn học nó vào năm 2018, thì khóa học JUnit và Mockito Crash từ Udemy là một điểm khởi đầu tốt.

tóm tắt

Đó là lời khuyên của tôi! Nếu bạn là một lập trình viên Java với một đôi năm kinh nghiệm, bạn cũng có thể lấy cảm hứng từ danh sách này để đặt mục tiêu cá nhân chủ nghĩa. Một số thứ khác bạn có thể thêm vào danh sách này là học Android , Docker , và Spark , vì đây là điều cần thiết cho bất kỳ trình lập trình viên Java nào.

Tôi đã cố kỉnh làm cho nó đơn giản và dễ dàng làm được vì tôi tin rằng những thành công nhỏ dẫn đến những thành công lớn. Đặt ra những mục tiêu nhỏ và đạt được chúng tốt hơn việc đặt ra các mục tiêu lớn, không thực tế và không thành công trước khi khởi đầu.

Bạn đang đợi chờ điều gì? Viết ra bảng kiên tâm của bạn cho năm mới và chia sẻ chúng với chúng tôi. Vào cuối năm, bạn có thể trở lại đây và cho chúng tôi biết bạn đã đạt được bao lăm mục tiêu.

Techtalk Via  Dzone  

0 nhận xét:

Đăng nhận xét