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ở thành 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 đích 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 thẳng tuột 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 đã chia 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 mục tiêu 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ề nghiệp trong mai sau.

nên chi, không lãng 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à kiên 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 tri 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ơ bản của Java.

Nếu bạn chẳng thể miêu tả 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, tỉ 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. đích 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ảng giải 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 gian 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 yêu cầu bất cứ lúc nào bạn cảm thấy lừng chừng, 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ỉ đảm bảo rằng bạn đã sẵn sàng cho cuộc phỏng vấn mà còn nâng cao tri 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ơ vận dụng Java của bạn mỗi tháng 1 lần



học lập trình java nâng cao

 

kiên 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 vận dụng kiến thức đó trong dự án thực tiễn của bạn.

Tôi đề nghị 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 nhân 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ể giải đáp quơ 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 gia các thử thách coding



 

mục tiêu này, một lần nữa, phần nào liên quan đế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 tế của bạn.

Nếu bạn đang cỡ 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 thẩm tra kĩ năng của bạn, nhưng TopCoder có thể nói là tốt nhất.

Nếu bạn đang lóng một số thử thách lập trình khó khăn, bạn cũng có thể thẩm tra 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ư chẳng thể giải đáp 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 dị 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ó đủ nhịp để 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 ít ra 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, chỉ 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ăn 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 xăm, 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 giúp đỡ, 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à tu tạo vài trăm lỗi. Phần ưa 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à soát 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 đích thực 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ỉ hội tụ vào các đối tượng đã được rà. 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 lược

Đó 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 và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 đích 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ấp thiết cho bất kỳ trình lập trình viên Java nào.

Tôi đã gắng 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ại và không thành công trước khi khởi đầu.

Bạn đang đợi điều gì? Viết ra bảng kiên tâm của bạn cho năm mới và san 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 nhiêu đích.

Techtalk Via  Dzone  

SHARE

Milan Tomic

  • Image
  • Image
  • Image
  • Image
  • Image
    Blogger Comment
    Facebook Comment

0 nhận xét:

Đăng nhận xét