Halo! Hari ini kita akan berbicara tentang jalur pengembangan pengembang Java dan apa yang harus dia ketahui agar bisa diminati. Pengembang mana pun saat wawancara dapat “menggagalkan” kandidat untuk suatu posisi. Misalnya, dia akan mulai mengajukan pertanyaan tentang topik spesifik yang dia temui di proyek saat ini. Tapi tidak apa-apa untuk tidak mengetahui segalanya. Fakta bahwa Anda tidak menjawab beberapa pertanyaan juga normal. Secara umum, setiap programmer Java harus memiliki pengetahuan dasar tentang pengembangan. Jadi, mari kita lihat teknologi apa yang dianggap “dasar”.
Anda harus terlebih dahulu memahami apa itu Spring: apa itu container Spring, beans, DI, IoC, dan sebagainya. Jadi, pahamilah filosofi penggunaan Spring. Studi lebih lanjut tentang kerangka kerja Spring akan dilakukan berdasarkan dasar ini. Mungkin ada baiknya membuat aplikasi kecil Anda sendiri, yang secara bertahap Anda akan menambahkan teknologi baru yang telah Anda pelajari.
Sebelumnya kita telah membahas tentang teknologi JDBC sebagai teknologi untuk membuat koneksi ke database. Secara umum, penggunaan teknologi secara “telanjang” mungkin tidak ditemukan dalam proyek-proyek saat ini, jadi sepertinya mempelajari JDBC tidak diperlukan. Namun tidak demikian. Dengan melihat inti JDBC, Anda dapat melihat teknologi pada tingkat yang lebih rendah dan memahami masalah dan kekurangannya. Setelah Anda mulai mempelajari Spring JDBC, Anda akan memahami apa sebenarnya yang ditingkatkan, dioptimalkan, dan disembunyikan oleh kerangka kerja ini dari pandangan kita.
Seperti halnya JDBC, kerangka kerja ini meningkatkan penggunaan teknologi yang sudah ada, dalam hal ini Hibernate. Jika Anda mempertimbangkan untuk menggunakan Hibernate tanpa Spring, Anda akan memahami dengan tepat apa manfaat menggunakan Spring Hibernate.
Sebelumnya kita telah berbicara tentang JPA dan bagaimana JPA hanyalah sebuah spesifikasi yang implementasinya berbeda-beda. Di antara implementasi ini, Hibernate adalah yang paling mendekati ideal. Spring memiliki implementasi JPA idealnya sendiri, yang menggunakan Hibernate "di bawah tenda" dan sedekat mungkin dengan spesifikasi JPA ideal. Teknologi ini disebut Spring JPA. Omong-omong, ini sangat menyederhanakan akses ke database. Anda dapat mempelajari JPA saja tanpa mempelajari JDBC, Hibernate, Spring JDBC, Spring Hibernate. Namun dalam kasus ini, pengetahuan Anda tentang koneksi ke database akan sangat dangkal.
Dengan teknologi ini, kami dapat menampilkan antarmuka web aplikasi kami kepada pengguna dan memungkinkan antarmuka tersebut berkomunikasi dengan aplikasi lainnya. Teknologi ini juga dapat bekerja tanpa tampilan, ketika ada aplikasi yang bertanggung jawab untuk tampilan, dan Anda berinteraksi dengan aplikasi ini menggunakan permintaan dan tanggapan menggunakan teknologi RESTful . Untuk lebih memahami informasi tentang Spring, selain artikel dan ceramah di YouTube, Anda juga bisa membaca beberapa buku. Saya sangat menyukai buku “Spring in Action” oleh Walls Craig. Sayangnya, di Rusia kini hanya ada versi ketiga yang dianggap ketinggalan jaman. Saya menyarankan Anda untuk membaca versi 6 jika Anda menguasai bahasa Inggris dengan baik. Buku hebat lainnya tentang Musim Semi adalah “Spring 5 for Professionals.” Lebih sulit untuk dipelajari dan lebih seperti Alkitab Musim Semi yang lebih baik disimpan daripada dibaca dari depan ke belakang.
Teknologi ini sangat menyederhanakan penggunaan Spring. Saya meletakkannya di akhir daftar karena suatu alasan, karena ia menyembunyikan banyak hal di balik "kap" dan bagi orang yang tidak terbiasa dengan Musim Semi biasa, banyak poin yang mungkin tidak jelas dan tidak dapat dipahami. Pertama, untuk pemahaman yang lebih baik tentang cara kerja kerangka Spring, Anda harus menggunakan Spring biasa, dan kemudian semua manfaat lebih tinggi menggunakan Spring Boot. Saya juga menyarankan Anda untuk membiasakan diri dengan Spring Security dan Spring AOP. Namun berbeda dengan teknologi di atas, pengetahuan mendalam tentang kedua hal tersebut tidak diperlukan saat ini. Teknologi ini bukan untuk pemula. Selama wawancara, junior tidak ditanyai tentang mereka (kecuali mungkin satu pertanyaan dangkal). Baca secara umum apa itu teknologi dan cara kerjanya. Sepanjang artikel ini saya berulang kali menyebutkan membaca buku. Di satu sisi, hal ini tidak perlu. Anda bisa menjadi seorang programmer tanpa membaca satu buku pun, setelah mempelajari semua yang Anda butuhkan mulai dari artikel dan video pelatihan. Di sisi lain, saat ini persaingan pasar untuk pengembang pemula sangat tinggi, sehingga meningkatkan standar pengetahuan awal yang dibutuhkan bagi seorang pemula. Oleh karena itu, semakin banyak Anda tahu, semakin cepat Anda bisa mendapatkan pekerjaan pertama Anda dengan membuat pewawancara terkesan dengan tingkat pengetahuan Anda. Terima kasih semuanya, dan semoga Java menyertai Anda .
1. Algoritma dasar
Hal pertama yang harus Anda lakukan ketika mulai belajar pemrograman (ini tidak hanya berlaku untuk Java) adalah analisis dasar-dasarnya. Misalnya algoritma. Jumlahnya tidak terbatas, dan Anda tidak boleh menghabiskan waktu bertahun-tahun untuk mencoba mempelajari algoritma sebanyak mungkin: kebanyakan dari algoritma tersebut tidak akan berguna bagi Anda. Pengetahuan minimal yang dibutuhkan dapat diperoleh dari buku “ Algoritma Grocking ”. Ini akan cukup untuk memulai perjalanan, tetapi jika Anda mau, Anda bisa belajar dengan bantuan buku “ Structures and Algorithms ” atau “Algorithms in Java” oleh Robert Sedgwick dan Kevin Wayne. Saya juga menyarankan Anda untuk meningkatkan pengetahuan Anda tentang dasar-dasar ilmu komputer. Hal ini dapat dilakukan di JavaRush menggunakan kursus CS50 .2. Sintaks Java
Setelah mempelajari dasar-dasar algoritma, kita harus mempelajari sintaksis Java. Lagipula, kita semua sedang belajar menjadi programmer Java di sini, bukan? Kursus JavaRush sangat cocok untuk ini. Dalam proses melakukan banyak tugas, Anda akan menjadi fasih dalam sintaksis Java dan akan menulis/membaca kode Java tanpa banyak berpikir, seolah-olah itu adalah bahasa ibu Anda. JavaRush adalah praktik, dan selain itu, Anda juga perlu melihat teorinya untuk memahami apa sebenarnya yang Anda lakukan. Untuk melakukannya, Anda dapat membaca buku, misalnya salah satu buku berikut:- “ Kepala Dulu Jawa ”;
- “Java for Dummies” oleh Barry Bird;
- "Jawa. Panduan untuk Pemula” Herbert Schildt.
- “Filsafat Jawa”, Bruce Eckel;
- “Pemrograman Efektif”, Joshua Bloch;
- "Jawa. Panduan Lengkap”, Herbert Schildt.
3. Pola Pemrograman
Pola pemrograman adalah beberapa pola berulang yang mewakili solusi terhadap suatu masalah dalam konteks yang sering terjadi. Diantaranya adalah template dasar dan sederhana yang harus diketahui oleh setiap programmer yang menghargai diri sendiri. Untuk memahami topik ini, gunakan buku “ Head First. Pola desain ." Dia akan dengan jelas menjelaskan pola dasar pemrograman. Namun buku tersebut banyak membahas tentang Java , sehingga pada saat mempelajari buku tersebut Anda perlu menguasai bahasa pemrograman ini. Untuk mendalami pola lebih dalam, Anda juga dapat membaca “Teknik Desain Berorientasi Objek. Design Patterns” dari Gang of Four ( Gang of Four: tim penulis yang mencakup Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides - catatan editor) . Setelah mempelajari topik ini, Anda akan mulai melihat pola hampir di semua tempat dalam kode Anda. Perhatikan hal ini, terutama pola yang digunakan di Spring , karena ini adalah pertanyaan populer dalam wawancara.4. Paradigma pemrograman. Kebersihan kode
Selain pola pemrograman standar, ada berbagai prinsip dan paradigma yang perlu Anda ketahui ( SOLID , GRASP ). Penting juga untuk memastikan bahwa kode tersebut bersih dan dapat dibaca. Segala sesuatu yang perlu Anda ketahui tentang topik ini ada di buku “ Clean Code ” oleh Robert Martin atau ambil buku “Perfect Code” oleh Steve McConnell.5.SQL
Langkah kita selanjutnya adalah mempelajari bahasa database relasional - SQL . Basis data adalah tempat informasi (data) aplikasi web disimpan. Basis data terdiri dari banyak tabel (buku alamat di ponsel Anda adalah contoh paling sederhana dari tabel tersebut). Anda dapat membaca lebih lanjut tentang database di artikel ini . Bagi pengembang Java, tanggung jawabnya tidak hanya pada aplikasi Java, tetapi juga database yang berinteraksi dan tempat menyimpan data. Dalam database relasional (yang paling umum), semua interaksi terjadi melalui bahasa khusus - Structured Query Language, atau SQL. Untuk memahami topik ini, cukup membaca salah satu buku:- “Belajar SQL”, Alan Bewley;
- “SQL”, Chris Fiaily;
- “Kepala SQL Pertama” oleh Lynn Bailey.
GO TO FULL VERSION