Thứ Sáu, 20 tháng 4, 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ở 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 tiên, 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 mưu hoạch, đặt ra các mục tiêu và ra kiên 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 băng 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 kiến thức về lập trình Java và tăng giá trị cho việc phát triển nghề nghiệp trong ngày mai.

nên chi, không lãng phí thời kì 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 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 yêu cầu 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 chẳng thể trình bày một áp dụng hoặc chẳ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. 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 đề nghị 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 kì cho việc thực hành, 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 quyết tâm code mỗi ngày. ít ra, 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 khừ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ỉ bảo đảm 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ơ ứng dụng Java của bạn mỗi tháng 1 lần



Khóahọc lập trình Java

 

kiên tâm này được đính kèm với kiên tâm trước tiên 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 tại của bạn.

Tôi đề nghị bạn l ập hồ sơ cho vận dụng Java của bạn, ít nhất một tháng một lần và dành nhiều thời gian để 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 vận dụng Java của bạn?

căn nguyê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 áp dụng của bạn? Nếu bạn có thể trả lời cả thảy 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 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ó, đôi khi, bạn không có đủ nhịp code trong dự án thực tế của bạn.

Nếu bạn đang tìm kiếm các bài tập code, không có gì tốt hơn việc dự 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 cơ hội 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 độ một số thử thách lập trình khó khăn, bạn cũng có thể kiểm tra danh sách các trang web tốt để thực hiện 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ơ 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ó đủ dị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 nhấ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, chỉ dẫn thực hiện cho các lập trình viên . Rất dễ đọc, huých, 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 tiên tôi sẽ xem 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, thí 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ích, ví dụ như reactive programming model và sự thu nạp Java 8 và 9, việc ứng dụng Spring 5.0 sẽ tăng tốc vào năm 2018, và đó là lý do tại 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 ưa 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 vài modules và tu chỉnh vài trăm lỗi. Phần huých 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ở thành 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 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 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ỉ hội tụ vào các đối tượng đã được 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 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 đô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. 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 đã cầm 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 đích nhỏ và đạt được chúng tốt hơn việc đặt ra các đích 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 chờ điều gì? Viết ra bảng quyết 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 lăm đích.

Techtalk Via  Dzone  

Share:

0 nhận xét:

Đăng nhận xét

Bài viết nổi bật

Fanpage

Tổng số lượt xem trang