JavaRush /Java Blog /Random-ID /Jawa. Rencana aksi

Jawa. Rencana aksi

Dipublikasikan di grup Random-ID
Jawa.  Rencana Aksi - 1

Isi:

  1. Bagian Nol - Java Core
  2. Peralatan
  3. API JDK
  4. Apa yang Baru di Jawa 8
  5. SQL, database, JDBC
  6. Kerangka kerja
  7. Perpustakaan dan kerangka kerja untuk pengujian
  8. Perpustakaan layanan
  9. klien API
  10. Pola desain
  11. Pengetahuan tambahan
Apa saja yang harus diketahui oleh calon Java Junior untuk mendapatkan pekerjaan pertama atau setidaknya melamar posisi Trainee di perusahaan yang baik? Alat apa yang akan membantu programmer Java mencapai level berikutnya? Teknologi mana yang harus dipelajari dan teknologi mana yang harus ditinggalkan nanti? Tidak ada jawaban standar terhadap pertanyaan-pertanyaan ini, sama seperti tidak ada rencana tindakan yang cocok untuk semua orang. Beberapa perusahaan berupaya untuk melakukan pengembangan, terus-menerus memperkenalkan teknologi baru dan menguji kemampuan versi bahasa baru, sementara yang lain dengan keras kepala berpegang teguh pada versi lama. Ada juga opsi “tengah”, dan, mungkin, lebih banyak lagi. Namun, kami telah menyusun peta jalan atau roadmap untuk calon pengembang Java. Dalam upaya untuk membuatnya sesederhana mungkin, kami hanya menunjukkan teknologi dan topik yang diperlukan untuk sebagian besar “javistes”. Perlu diingat bahwa tidak semuanya perlu dipelajari secara detail (beberapa hal di atas hanya dapat dikuasai dengan bekerja dalam tim), namun tidak ada salahnya untuk memiliki pemahaman umum tentangnya.

0. Bagian Nol - Java Core

Kami memasukkan bagian nol ke dalam artikel untuk berjaga-jaga, seandainya seseorang yang baru berencana belajar Java dan tidak tahu harus mulai dari mana datang ke sini. Java Core adalah sesuatu yang bahkan seorang pemula pun harus mengetahuinya dengan baik. Artinya, mengetahui hal-hal mendasar, memahami apa yang ditawarkan bahasa untuk memecahkan suatu masalah tertentu, dan dalam kasus-kasus sederhana mampu menerapkan pengetahuan tersebut. Anda dapat berlatih Java Core di JavaRush, dan jika Anda belum melakukannya, kami mengundang Anda untuk mengikuti kursusnya ! Nah, untuk semua orang, mari kita ingatkan Anda tentang pencapaian utama Java Core:
  • Konstruksi Dasar Java, Operator, dan Tipe Data
  • OOP dan implementasinya di Java
  • Pengecualian
  • Koleksi Jawa
  • Generik
  • Multithread

1. Alat

IDE atau lingkungan pengembangan terintegrasi

Alat utama pengembang modern adalah IDE. Ada banyak dari mereka di pasaran saat ini, namun dalam pengembangan Java profesional biasanya hanya ada dua nama. Ini adalah Eclipse gratis, dibangun di atas plugin , yang telah memegang kendali selama bertahun-tahun berturut-turut, dan IntelliJ IDEA , yang telah secara aktif menggantikan Eclipse dalam beberapa tahun terakhir, dan ini terlepas dari kenyataan bahwa berlangganan versi Ultimate diperlukan oleh profesional membutuhkan uang. Izinkan kami mengingatkan Anda bahwa dalam kursus JavaRush kami menggunakan Komunitas IntelliJ IDEA edisi gratis, yang memiliki keterbatasan fungsional tertentu dibandingkan dengan Ultimate. Ungkapan “Saya tahu IDE” berarti Anda memahami kemampuan dasar lingkungan pengembangan, Anda tahu cara mengkompilasi, menjalankan, men-debug dan menguji file, serta memfaktorkan ulang kode. Menguasai tombol pintas akan sangat membantu dalam mempercepat pekerjaan Anda. Jangan malas, luangkan beberapa jam untuk mempelajari fitur-fitur IDE yang belum Anda ketahui dan mulailah menggunakannya dalam praktik. Dan jangan mengabaikan debugging, ini adalah keterampilan yang sangat berguna. Semua tindakan ini akan membantu meningkatkan kecepatan dan kualitas pekerjaan Anda secara signifikan.

Alat untuk perakitan otomatis

Saat ini, proyek Java paling sering menggunakan alat seperti Maven dan Gradle. Tidak perlu mempelajarinya secara menyeluruh, namun akan berguna untuk memahami perbedaannya satu sama lain, berdasarkan apa, tugas apa (dalam Gradle) dan fase dengan tujuan di Maven. Cukup membaca tentang sistem dan menerapkan beberapa proyek kecil di dalamnya. Ini cukup sederhana untuk dilakukan, dan Anda akan memahami detailnya dalam kondisi kerja nyata.

Sistem kontrol versi dan layanan hosting online

Sistem kontrol versi membantu pemrogram bekerja dalam tim pada proyek bersama tanpa "merusaknya", menyinkronkan potongan kode berbeda yang dibuat oleh orang berbeda, mengembalikan pembaruan yang gagal, dan menambahkan yang baru. Yang paling umum adalah dua sistem kontrol versi. Salah satunya terdistribusi dan disebut Git, yang kedua terpusat disebut SVN (alias Subversion). Saat ini, Git adalah standar de facto. Bekerja dengan sistem ini lebih nyaman dan mudah, didukung oleh semua IDE (serta SVN). Bekerja dengan Git dapat dicoba dengan cepat dan mudah; untungnya, ada banyak informasi mengenai topik ini di Internet. Misalnya, buku teks interaktif GitHowTo, tersedia dalam bahasa Rusia (berjalan dengan sangat cepat). Sangat penting bagi pengembang pemula untuk menguasai layanan hosting online untuk sistem kontrol versi. Paling sering mereka didasarkan pada Git dan disebut platform Git (walaupun beberapa di antaranya dapat bekerja dengan sistem kontrol versi yang berbeda). Yang paling populer adalah GitHub. BitBucket dan GitLab juga cukup umum. Sistem ini membantu Anda menyimpan dan mengambil kode, dan juga melakukan apa yang bisa dilakukan Git, tidak hanya melalui baris perintah, tetapi melalui antarmuka. GitHub juga memungkinkan Anda memeriksa kode dan menawarkan solusi masalah langsung di situs. Di sana Anda juga dapat menemukan proyek sumber terbuka orang lain dan mencoba menawarkan solusi Anda sendiri untuk memperbaikinya. Pada dasarnya, GitHub adalah sejenis jejaring sosial untuk pengembang. Jadi jika Anda belum melakukannya, pastikan untuk membuat akun di GitHub dan host proyek Anda di sana. Baca juga tentang GitLab dan BitBucket, dan jika Anda punya waktu, Anda dapat mencobanya, mereka memiliki versi gratis. Omong-omong, semua platform ini terintegrasi penuh dengan IDE modern. Jawa.  Rencana Aksi - 2

2.API JDK

Bagian ini menyoroti API JDK yang perlu diketahui dengan yakin oleh pengembang Java modern. Tidak ada salahnya bagi seorang programmer untuk melihat kode sumber perpustakaan ini dari waktu ke waktu, menavigasinya, dan memahami kapan perpustakaan tersebut perlu digunakan dan mengapa. Efek samping: jika Anda berpengalaman dalam API ini, kemungkinan besar Anda akan lebih mudah menyelesaikan wawancara.

Kerangka Koleksi Java

Java Collection Framework adalah salah satu API terpenting dari bahasa Java dan setiap pengembang harus mengetahuinya. Ini mewakili hierarki antarmuka dan implementasi struktur data standar di Java seperti daftar, daftar tertaut, set, tumpukan, antrian, tabel hash, dan banyak lainnya. Pengembang harus memiliki pemahaman yang baik tentang kelas ArrayList, HashMap, HashSet, LinkedHashSet, TreeSet dan lainnya, serta mengetahui propertinya. Secara khusus, Anda perlu memahami biaya waktu dan memori dari koleksi tertentu untuk operasi standar (pengindeksan, pencarian, penyisipan, penghapusan) dan, berdasarkan ini, menerapkannya dengan benar dalam proyek Anda. Koleksi di Java diimplementasikan dengan sangat baik, tetapi jika diperlukan, pengembang dapat menawarkan implementasinya sendiri. Seorang programmer yang berpengalaman dalam koleksi dapat memperluas atau mendefinisikan ulang logika di kelas yang sudah ditulis, atau mengimplementasikan semuanya dari awal.

API Konkurensi Java

Java pada awalnya dirancang untuk mendukung pemrograman paralel, dan sejak versi 5.0, bahasa tersebut menyertakan API tingkat tinggi untuk thread paralel. Jadi pengembang Java yang kompeten harus memiliki pemahaman yang baik tentang multithreading dan memahami API utama dari paket java.util.concurrent.* . Minimal Anda perlu mengetahui dan memahami dengan jelas apa itu Thread, Runnable, penguncian objek, dan sinkronisasi. Pastikan untuk memahami konsep deadlock, livelock, kondisi balapan, dan apa yang harus dilakukan dengan itu semua. Agar merasa percaya diri, pelajari sinkronisasi dari java.util.concurrent.*, seperti Semaphore, CyclicBarrier, CountDownLatch, Phaser, Exchanger<V>, CompleteableFuture, dan seterusnya. Dan juga antarmuka Callable dan Future.

API I/O Java

Pengembang pemula sering mengabaikan studi mendalam tentang Java I/O dan Java Non-blocking I/O . Namun sia-sia: Java API ini membuat bekerja dengan thread menjadi lebih mudah dan sering digunakan dalam aplikasi nyata. Terutama kelas-kelas seperti File, InputStream, OutputStream, Reader dan Writer dari paket java.io yang merupakan inti dari Java IO API. Java Non-blocking I/O (java.nio) adalah kumpulan antarmuka pemrograman aplikasi yang dirancang untuk mengimplementasikan operasi I/O berkinerja tinggi. Ini termasuk, khususnya, ByteBuffer, FileChannel dan Selector, antara lain. Bersusah payah memahami API ini, Anda tidak akan menyesalinya.

Objek kelas perangkat

Setelah Anda memahami superkelas Object, Anda menjadi "penutur asli Java", lebih memahami struktur OOP dan banyak proses. Kelas java.lang.Object terletak di bagian paling atas hierarki kelas. Selain pemahaman yang lebih baik tentang apa yang terjadi, mengetahui metode kelas akan membuat wawancara lebih mudah—pewawancara suka menguji kandidat dengan kelas Object dan objek-objeknya.

3. Fitur baru di Java 8

Meskipun waktu telah berlalu sejak rilis Java 8, dan pembaruan bernomor lainnya telah muncul, versi kedelapanlah yang menjadi ikon. Ini memperkenalkan inovasi penting yang menyederhanakan, dan dalam beberapa hal mengubah, pendekatan pemrograman di Java. Anda harus memahami cara menggunakan ekspresi lambda, serta Stream API di Java 8 serta API tanggal dan waktu yang baru.

4. SQL, database, JDBC

Beberapa pengembang Java tidak menemukan query SQL dan database dalam pekerjaan mereka. Oleh karena itu, penting untuk memahami apa itu SQL dan database relasional, cara kerjanya, dan mampu menulis kueri sederhana untuk menggabungkan dua tabel. Untuk pelatihannya, Anda bisa mencoba menggunakan salah satu DBMS, misalnya PostgreSQL atau MySQL . Akan menyenangkan juga untuk mendapatkan pengetahuan dasar tentang database non-relasional, pendekatan noSQL, dan keakraban dangkal dengan DBMS MongoDB yang berorientasi dokumen . Untuk bekerja dengan database di Java murni, Anda dapat menggunakan standar JDBC bersama dengan API dengan nama yang sama. Ini diimplementasikan sebagai paket java.sql, yang disertakan dalam JDK. Saat ini jarang digunakan dalam bentuknya yang murni, tetapi sering kali ditemukan pada aplikasi dukungan lama, dan alat yang lebih modern dan diterima secara umum sering kali didasarkan pada standar ini.

5. Kerangka

Di antara persyaratan untuk Pengembang Java Junior saat ini Anda semakin dapat menemukan “pengetahuan tentang Spring, Hibernate, Spring Boot”. Mempelajari teknologi ini sendiri adalah tugas yang sangat sulit, namun tetap mungkin dilakukan, terutama pada tingkat yang dangkal. Pemahaman yang lebih dalam akan datang saat Anda bekerja. Jadi.

Kerangka Musim Semi

Hampir setiap aplikasi yang dibangun di Java saat ini menggunakan Spring Framework. Kerangka kerja yang kuat ini menyediakan sistem koordinat tertentu, tulang punggung yang digunakan untuk membangun aplikasi. Aplikasi Spring jauh lebih mudah untuk diuji dan dipelihara. Dan semua itu berkat injeksi ketergantungan.

Hibernasi

Kerangka kerja terpenting lainnya bagi pengembang Java adalah Hibernate. Ini mengimplementasikan spesifikasi JPA (Java Persistence API), yang memecahkan masalah pemetaan relasional objek (ORM). Sebagian besar aplikasi Java berinteraksi dengan database, dan jika kita berbicara tentang database relasional, bekerja dengannya tanpa Hibernate tidaklah nyaman. Kerangka kerja ini memberi pengembang sejumlah fitur penting, khususnya, caching dan transaksi out-of-the-box, yang pada gilirannya memungkinkan mereka memfokuskan upaya mereka pada pengembangan logika aplikasi dan membebaskan pemrogram dari banyak tugas tingkat rendah saat bekerja dengan database relasional. . Hal ini secara signifikan meningkatkan produktivitas pengembang.

MVC musim semi

Kerangka kerja ini memastikan pengembangan aplikasi sesuai dengan pola Model - View - Controller, menggunakan komponen siap pakai yang digabungkan secara longgar. Pelajari pola ini (pola desain dibahas di bawah) dan logika Spring MVC. Dalam praktiknya, ini cukup sering digunakan.

sepatu bot musim semi

Dengan skill yang tepat, Spring memudahkan pembuatan aplikasi Java. Pada gilirannya, Spring Boot memudahkan pembuatan aplikasi Java berdasarkan Spring. Spring Boot memungkinkan Anda dengan mudah membuat aplikasi Enterprise Spring lengkap yang dapat diluncurkan dengan sedikit usaha: konfigurasi otomatis menghilangkan sebagian besar kerumitan yang terkait dengan konfigurasi aplikasi Spring.

6. Perpustakaan dan kerangka pengujian

Beberapa pengembang masa depan yakin bahwa pengujian kode bukanlah urusan mereka sama sekali, tetapi urusan orang-orang khusus yang disebut penguji. Dalam praktiknya, hal ini tidak sepenuhnya terjadi. Pengujian, khususnya pengujian unit (paling sering disebut unit pengujian), merupakan keterampilan yang sangat penting bagi setiap programmer. Selain itu, pendatang baru yang baru memulai tugasnya sering kali ditugaskan untuk menutupi kode seseorang dengan unit test. Jadi kami sangat menyarankan untuk mempelajari perpustakaan JUnit dan mengembangkan kebiasaan menulis pengujian unit untuk kode Anda. Lihat juga kerangka kerja Mockito, yang dapat digunakan dengan JUnit untuk membuat kelas ketergantungan tiruan.

7. Layanan perpustakaan

Java memiliki sejumlah besar perpustakaan layanan yang membantu menyelesaikan hampir semua masalah yang dihadapi pengembang. Tidak mungkin mempelajari semuanya, dan tidak ada gunanya melakukannya. Namun menavigasi melalui mereka adalah ide bagus. Di sini kami akan menyoroti beberapa di antaranya yang sangat sering digunakan dalam praktik.

Perpustakaan untuk logging

Pertama-tama, kami dapat menyebutkan log4j dan Slf4j . Pustaka ini dirancang untuk menyembunyikan implementasi operasi pencatatan rutin yang terjadi saat aplikasi Java sedang berjalan.

Perpustakaan untuk JSON

JSON, format untuk mentransfer informasi dari klien ke server, adalah format yang paling umum digunakan saat ini. Ada beberapa perpustakaan bagus yang bekerja dengan JSON, yang paling populer adalah Jackson dan google-gson .

Google Jambu Biji

Guava adalah proyek dengan perpustakaan inti Java yang dikembangkan oleh Google. Di sini Anda dapat menemukan jenis koleksi baru (multimap, multiset, dan lainnya), koleksi yang tidak dapat diubah, grafik, koleksi fungsional, utilitas untuk paralelisme, I/O, hashing, pemrosesan string, dan banyak lagi.

Apache Umum

Commons adalah proyek besar yang berisi banyak utilitas Java yang berguna untuk berbagai tujuan. Dengan demikian, perpustakaan Apache Commons mendasari Tomcat, Hibernate dan sejumlah proyek besar lainnya. Ada banyak perpustakaan di Apache Commons. Sebutkan Commons IO, yang menyederhanakan operasi I/O, Commons CSV untuk bekerja dengan file csv, Commons Math untuk bekerja dengan operasi dan perhitungan matematika dan statistik yang kompleks, Commons CLI untuk menganalisis argumen baris perintah.

8. klien API

REST adalah gaya penamaan titik akhir untuk mengakses sumber daya melalui jaringan dalam format yang dapat dibaca manusia. Lebih baik bagi pengembang Java modern untuk memahami ideologi REST dan juga mengetahui Spring RestTemplate , perpustakaan yang sangat berguna untuk membuat klien REST.

9. Pola Desain

Jika seorang pengembang pemula sudah familiar dengan pola desain, yaitu aturan tata krama yang baik dalam pemrograman Java, dan bahkan tahu bagaimana menerapkannya dalam praktik, ia akan langsung meningkatkan nilainya di pasar tenaga kerja. Pemula sering meremehkan pola karena jarang membuat aplikasi yang rumit saat belajar. Namun, jika pola tidak diterapkan pada proyek yang serius, memelihara dan mengadaptasi kode menjadi tugas yang sangat sulit. Jadi jangan malas, pelajari polanya dan terapkan dalam proyek pribadi Anda. Majikan masa depan Anda akan sangat berterima kasih atas hal ini.

10. Pengetahuan tambahan

Algoritma dan struktur data

“Algoritma dan Struktur Data” adalah nama seluruh mata kuliah yang diajarkan di universitas teknik. Ini mengungkapkan dasar teoritis untuk membangun berbagai struktur data. Dan di kelas praktik, mereka belajar cara bekerja dengannya - memasukkan dan mengambil data, mencari dan menyortirnya. Sebenarnya, “Algoritma” dalam frasa ini berarti penyortiran dan pencarian. Selama bertahun-tahun, ilmuwan komputer telah mengembangkan banyak algoritma. Beberapa di antaranya bersifat mendidik, karena meskipun penerapannya relatif mudah, namun pengoperasiannya tidak terlalu efektif. Misalnya, mereka bekerja lambat, yang dapat terlihat pada kumpulan data yang besar. Atau mereka menghabiskan banyak memori. Algoritma lain telah terbukti sangat efektif. Sedemikian rupa sehingga mereka telah dimasukkan ke dalam perpustakaan resmi sebagian besar bahasa pemrograman. Oleh karena itu, saat ini tidak perlu mengembangkan algoritma seperti itu secara mandiri. Cukup mengetahui di mana mereka berada. Namun, sebagian besar pengembang berpengalaman merekomendasikan agar para pemula menjalani “sekolah algoritma”—mengimplementasikannya sendiri sambil belajar. Ini mengembangkan pemikiran programmer. Ini juga membantu dalam wawancara, mereka sangat suka menanyakan masalah pemilahan dan pencarian.

Servlet

Servlet adalah cara untuk menangani permintaan pengguna. Saat ini mereka tidak digunakan di mana-mana dan tidak selalu, tetapi akan berguna untuk mendapatkan gambaran tentangnya.

HTML dan CSS

Setiap orang harus mengetahui dasar-dasar tata letak. Pengetahuan ini cukup mudah diperoleh, dan jika Anda belum melakukannya, luangkan waktu beberapa hari untuk kegiatan ini. Pada saat yang sama, Anda akan beristirahat dari topik yang lebih kompleks.

XML

Extensible Markup Language dulunya banyak digunakan dalam pengembangan Java. Secara bertahap digantikan oleh JSON, tetapi XML masih digunakan sampai sekarang. Tidak sulit untuk mempelajarinya, jadi Anda bisa memberi sedikit perhatian pada bahasa ini.

JavaScript

Survei pengembang menunjukkan bahwa bahkan mereka yang sama sekali tidak ada hubungannya dengan pengembangan front-end pun menulis skrip dalam JavaScript dari waktu ke waktu. Mengetahui dasar-dasar bahasa ini dapat dianggap sebagai aturan sopan santun, jadi jangan malas, bacalah dan buat selusin atau dua skrip. Itu tidak akan berlebihan.
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION