CodeGym/Java Course/All lectures for ID purposes/Daftar Periksa Pengembang Java

Daftar Periksa Pengembang Java

Tersedia

Setiap programmer Java harus memiliki pemahaman dasar tentang pengembangan perangkat lunak. Jadi mari kita lihat apa yang dianggap "dasar".

1. Algoritma dasar

Hal pertama yang harus diperhatikan saat mulai belajar pemrograman (bukan hanya Java) adalah memahami dasar-dasarnya. Misalnya, algoritma.

Jumlahnya tidak terbatas, dan Anda tidak boleh menghabiskan waktu bertahun-tahun dalam hidup Anda untuk mencoba mempelajari algoritme sebanyak mungkin: kebanyakan dari algoritme tersebut tidak akan berguna bagi Anda. Anda bisa mendapatkan pengetahuan minimum yang diperlukan dari buku "Grokking Algorithms". Ini cukup untuk membantu Anda memulai, tetapi jika mau, Anda dapat belajar dari buku "Structures and Algorithms" atau "Algorithms in Java" oleh Robert Sedgewick dan Kevin Wayne.

2. Sintaks Java

Setelah mempelajari dasar-dasar algoritma, kita perlu mempelajari sintaks Java. Lagi pula, Anda sedang belajar untuk menjadi programmer Java, bukan? Kursus CodeGym sangat cocok untuk ini.

Saat Anda melakukan tugas yang tak terhitung jumlahnya, Anda akan mendapatkan sintaks Java dan kemudian, tanpa banyak keraguan, Anda akan menulis/membaca kode Java seolah-olah itu adalah bahasa asli Anda.

Di luar praktik, Anda juga perlu melihat teori untuk memahami apa yang Anda lakukan. Untuk melakukan ini, Anda dapat membaca buku. Misalnya, salah satu dari berikut ini:

  • "Kepala Pertama Jawa",
  • "Java for Dummies" oleh Barry Bird;
  • "Java: Panduan Pemula" oleh Herbert Schildt.

Setelah membaca buku-buku ini, Anda dapat beralih ke buku-buku yang lebih sulit:

  • "Berpikir di Jawa," Bruce Eckel;
  • "Java Efektif" oleh Joshua Bloch;
  • "Java: Referensi Lengkap" oleh Herbert Schildt.

Tiga buku terakhir bukanlah bacaan yang mudah untuk pemula, tetapi memberikan dasar yang kuat dalam teori Java.

3. Pola desain

Pola desain adalah pola berulang tertentu yang memecahkan masalah dalam konteks yang sering ditemui. Mereka menyertakan pola dasar dan sederhana yang harus diketahui oleh setiap programmer yang menghargai diri sendiri. Untuk memahami topik ini, ambil buku "Head First Design Patterns".

Ini menjelaskan pola desain dasar dengan cara yang mudah diakses. Tetapi buku tersebut berbicara banyak tentang Java, jadi ketika Anda membaca buku ini, Anda juga memerlukan kefasihan dalam bahasa pemrograman ini.

Untuk menyelami pola lebih dalam, Anda juga dapat membaca "Pola Desain: Elemen Perangkat Lunak Berorientasi Objek yang Dapat Digunakan Kembali" dari Kelompok Empat ( Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides ). Setelah Anda mempelajari topik ini, Anda akan mulai melihat pola hampir di semua kode Anda.

Perhatikan hal ini, terutama pola yang digunakan di Musim Semi, karena ini adalah pertanyaan wawancara yang populer.

4. Paradigma pemrograman. kebersihan kode

Selain pola desain standar, ada berbagai prinsip dan paradigma yang harus diperhatikan (SOLID, GRASP).

Anda juga perlu menjaga agar kode tetap bersih dan mudah dibaca. Untuk semuanya, Anda perlu tahu tentang topik ini, lihat Clean Code oleh Robert Martin, atau lihat "Code Complete" oleh Steve McConnell.

5. SQL

Langkah kita selanjutnya adalah mempelajari bahasa untuk database relasional — SQL.

Database adalah tempat informasi (data) yang digunakan oleh aplikasi web disimpan. Basis data terdiri dari beberapa tabel (buku alamat di ponsel Anda adalah contoh sederhana).

Pengembang Java bertanggung jawab tidak hanya untuk aplikasi Java, tetapi juga database yang berinteraksi dengannya dan di mana ia menyimpan datanya.

Dalam database relasional (yang merupakan tipe paling umum), semua interaksi terjadi melalui bahasa khusus yang disebut Structured Query Language, atau SQL.

Untuk memahami topik ini, yang perlu Anda lakukan hanyalah membaca salah satu buku ini:

  1. "Belajar SQL" oleh Alan Beaulieu;
  2. "SQL" oleh Chris Fehily;
  3. "Head First SQL" oleh Lynn Beighley.

Tapi praktik tanpa teori tidak cukup, bukan? Dan pada wawancara Anda dapat mengharapkan tes pengetahuan Anda tentang SQL. Pewawancara sering (hampir selalu) memberikan satu atau dua tugas yang melibatkan penulisan kueri SQL.

Akibatnya, sangat penting untuk mengasah keterampilan SQL praktis Anda untuk menunjukkan diri Anda dengan baik.

6. MySQL/PostgreSQL

Setelah mempelajari bahasa SQL, Anda harus terbiasa dengan implementasi basis data tertentu. Bergantung pada database, beberapa perintah mungkin sangat bervariasi. Dan ada perbedaan yang cukup mencolok dalam kemampuan database.

Database relasional yang paling umum adalah MySQL dan PostgreSQL. MySQL jauh lebih sederhana, tetapi PostgreSQL memiliki kemampuan yang jauh lebih luas. Menjadi akrab dengan setidaknya satu dari mereka sudah cukup untuk memulai.

Anda dapat mempelajari implementasi basis data jika Anda menggunakan keahlian googling — temukan artikel dan tutorial yang relevan di YouTube. Anda perlu mengembangkan kemampuan Anda untuk membuat kueri penelusuran yang tepat untuk pertanyaan yang perlu Anda jawab. Lagi pula, seorang programmer adalah seseorang dengan sabuk hitam di googling.

7. Maven/Gradle

Anda perlu mempelajari kerangka kerja Gradle atau Maven. Mereka untuk membangun proyek, dan untuk Anda, Java sekarang tidak hanya untuk tugas yang melibatkan beberapa kelas, tetapi juga bahasa untuk menulis aplikasi lengkap.

Anda perlu memahami cara membuat proyek, apa tahapan pembuatannya, cara memuat pustaka eksternal yang diperlukan dengan kode pihak ketiga, dan banyak lagi.

Terlepas dari kenyataan bahwa Gradle lebih baru dan lebih ringkas, Maven digunakan dalam banyak kasus. Jadi, beri perhatian khusus pada siklus hidup pembuatan Maven.

8. Git

Git adalah sistem kontrol versi terdistribusi. Teknologi ini memungkinkan pengembang berkolaborasi dalam satu aplikasi tanpa mengganggu satu sama lain.

Tentu saja, ada sistem kontrol versi lainnya. Misalnya, Subversi. Tapi Git paling banyak digunakan, dan Anda harus bisa bekerja dengannya. Selain banyak artikel tentang Git yang dapat Anda temukan online, YouTube memiliki lebih dari cukup video untuk membantu Anda menguasai teknologi ini, selangkah demi selangkah.

Pada awalnya, lebih baik menggunakan Git dari baris perintah daripada semacam implementasi GUI, karena Anda akan dipaksa untuk melakukan semuanya menggunakan perintah. Dalam wawancara, orang sering bertanya tentang beberapa perintah Git, jadi saya sarankan Anda menuliskannya dan menyimpannya di dekat Anda.

9.JDBC

Teknologi ini menghubungkan aplikasi Java Anda dan database relasional. Untuk dasar-dasarnya, baca tutorial JDBC apa saja.

Ada banyak sekali artikel yang menjelaskan JDBC dan memberikan contoh dasar, meskipun tidak ada lagi yang menggunakan JDBC telanjang secara langsung.

10.JPA. Hibernasi

JPA adalah cara untuk membuat koneksi antara aplikasi Java dan database, seperti halnya JDBC. Tetapi pada saat yang sama, JPA adalah teknologi tingkat tinggi dan karenanya lebih mudah digunakan.

Tapi JPA hanyalah spesifikasi, bukan implementasi. Perlu implementasi yang konkrit. Banyak dari mereka ada, tetapi yang paling dekat dengan cita-cita JPA, yang paling populer dan paling berkembang adalah Hibernasi.

Anda akan menemukan teknologi ini lebih dari sekali dalam karir pengembangan perangkat lunak Anda. Jadi, selain berkenalan dengan teknologi ini dengan membaca artikel, mungkin ada baiknya memikirkan membaca buku, misalnya "Java Persistence API".

11. Musim semi

Saat Anda menjadi pengembang Java, Spring bukan lagi sekadar kata untuk Anda. Mengetahui kerangka kerja ini sekarang sama pentingnya dengan mengetahui Sintaks Java. Bisa dibilang Spring memiliki saudara kandung yaitu Java EE. Tapi Java EE sudah usang dan tidak lagi digunakan pada proyek baru.

Sebagian besar pengembang Java sekarang adalah pengembang Java-Spring, jadi mengetahui beberapa teknologi dasar Spring adalah suatu keharusan.

Musim semi bukan hanya kerangka kerja, tetapi keseluruhan kerangka kerangka kerja:

Dan ini hanyalah sebagian dari kerangka kerja yang disediakan Spring. Untuk seorang pemula, mengetahui hanya beberapa dari mereka sudah cukup baik:

Inti Musim Semi

Anda harus meletakkan ini di tempat pertama, sehingga Anda dapat memahami apa itu Spring — semua tentang wadah Spring, kacang, DI, IoC, dan sebagainya. Untuk memahami filosofi penggunaan Spring, begitulah. Studi Anda lebih lanjut tentang kerangka kerja Spring akan dibangun di atas dasar ini. Mungkin Anda harus membuat aplikasi kecil Anda sendiri di mana Anda dapat menggabungkan semua teknologi yang baru dipelajari secara bertahap.

musim semi JDBC

Sebelumnya kami menyebutkan JDBC sebagai teknologi untuk membuat koneksi database. Secara umum, penggunaan teknologi secara "telanjang" tidak lagi dapat ditemukan dalam proyek, sehingga Anda dapat menyimpulkan bahwa mempelajari JDBC tidak diperlukan. Ini bukan sikap yang tepat.

Dengan menjelajahi penggunaan JDBC secara telanjang (langsung), Anda dapat melihat teknologi di tingkat yang lebih rendah dan memahami masalah dan kekurangannya. Kemudian ketika Anda mulai mempelajari Spring JDBC, Anda akan menyadari apa sebenarnya yang diperbaiki, dioptimalkan, dan disembunyikan oleh kerangka ini.

Hibernasi Musim Semi

Analog dengan situasi dengan JDBC telanjang, framework ini memanfaatkan teknologi yang sudah ada, dalam hal ini, Hibernate. Jika Anda mempertimbangkan untuk menggunakan Hibernate tanpa Spring, Anda pasti akan menyadari manfaat yang ditawarkan oleh Spring Hibernate.

JPA musim semi

Sebelumnya kami berbicara tentang JPA dan menyebutkan bahwa itu hanya spesifikasi, meskipun memiliki berbagai implementasi. Di antara implementasi ini, Hibernasi paling mendekati ideal.

Spring memiliki implementasi JPA idealnya sendiri yang menggunakan Hibernate di bawah tenda. Ini sedekat mungkin dengan spesifikasi ideal JPA.

Ini disebut Musim Semi JPA. Singkatnya, ini sangat menyederhanakan akses database.

Anda hanya dapat mempelajari JPA tanpa mempelajari JDBC, Hibernate, Spring JDBC, atau Spring Hibernate. Tetapi jika Anda menggunakan pendekatan ini, pengetahuan Anda tentang cara terhubung ke database akan sangat dangkal.

MVC musim semi

Teknologi ini memungkinkan untuk menampilkan antarmuka web aplikasi kami kepada pengguna dan memfasilitasi komunikasi antara antarmuka dan aplikasi lainnya. Teknologi ini juga dapat digunakan tanpa tampilan saat Anda memiliki aplikasi yang bertanggung jawab menangani tampilan dan Anda berinteraksi dengan aplikasi menggunakan teknologi RESTful.

Agar lebih menyerap informasi tentang Spring, selain artikel dan ceramah YouTube, Anda bisa membaca beberapa buku. Misalnya, "Spring in Action" oleh Craig Walls. Buku hebat lainnya tentang Musim Semi adalah "Spring 5 for the Professionals". Ini lebih padat. Lebih seperti referensi yang lebih berharga untuk tetap dekat daripada membaca sampul demi sampul.

Boot Musim Semi

Teknologi ini sangat menyederhanakan penggunaan Spring. Saya tidak sengaja meletakkannya di akhir daftar. Memang, itu menyembunyikan banyak hal di balik tudung, dan bagi seseorang yang tidak terbiasa dengan Vanilla Spring, banyak poin mungkin tidak jelas atau tidak dapat dipahami.

Pertama, untuk pemahaman yang lebih baik tentang cara kerja kerangka kerja Spring, Anda harus menggunakan Spring biasa, dan kemudian mengambil semua manfaat yang lebih tinggi menggunakan Spring Boot.

Anda juga harus membiasakan diri dengan Spring Security dan Spring AOP. Namun berbeda dengan teknologi di atas, pengetahuan mendalam tentang keduanya belum dibutuhkan.

Teknologi ini bukan untuk pemula. Saat wawancara, dev junior tidak akan ditanyai tentang mereka (kecuali satu pertanyaan dangkal, mungkin). Baca ikhtisar tentang apa teknologi ini dan para pangeran di balik pekerjaan mereka.

Semakin banyak Anda tahu, semakin cepat Anda akan menemukan pekerjaan pertama Anda.

Komentar
  • Populer
  • Baru
  • Lama
Anda harus login untuk memberikan komentar
Halaman ini belum memiliki komentar