Hai! Hari ini kita akan bercakap tentang laluan pertumbuhan pembangun Java dan perkara yang dia mesti tahu untuk mendapat permintaan. Senarai semak pembangun Java.  Perkara yang perlu diketahui oleh pembangun - 1Dalam temu bual, mana-mana pembangun mungkin memanggang calon pekerjaan. Sebagai contoh, mereka mungkin mula bertanya soalan tentang topik khusus yang mereka temui dalam projek semasa mereka. Tetapi tidak mengetahui semuanya adalah perkara biasa. Fakta bahawa anda tidak dapat menjawab beberapa soalan juga adalah perkara biasa. Sebagai peraturan umum, setiap pengaturcara Java mesti mempunyai pemahaman asas tentang pembangunan perisian. Jadi mari kita lihat apa yang dianggap "asas".

1. Algoritma asas

Perkara pertama yang perlu ditangani apabila mula belajar pengaturcaraan (bukan hanya Java) ialah memahami asas-asasnya. Sebagai contoh, algoritma. Terdapat bilangan yang tidak terhingga, dan anda tidak sepatutnya membunuh sepanjang tahun hidup anda cuba mempelajari seberapa banyak algoritma yang mungkin: kebanyakannya tidak akan berguna kepada anda. Anda boleh mendapatkan pengetahuan minimum yang diperlukan daripada buku "Grokking Algorithm". Ini sudah cukup untuk anda bermula, tetapi jika anda mahu, anda boleh belajar daripada buku "Struktur dan Algoritma" atau "Algoritma di Jawa" oleh Robert Sedgewick dan Kevin Wayne. Saya juga mengesyorkan agar anda meningkatkan pengetahuan anda tentang asas sains komputer. Ini boleh dilakukan dengan kursus Harvard CS50.

2. Sintaks Java

Selepas mempelajari asas algoritma, kita perlu mempelajari sintaks Java. Lagipun, kita semua sedang belajar untuk menjadi pengaturcara Java di sini, bukan? Kursus CodeGym sesuai untuk ini. Semasa anda melakukan tugas yang tidak terkira banyaknya, anda akan mendapat sintaks Java dan kemudian, tanpa teragak-agak, anda akan menulis/membaca kod Java seolah-olah ia adalah bahasa ibunda anda. CodeGym adalah amalan, tetapi selain itu, anda juga perlu melihat teori untuk memahami perkara yang anda lakukan. Untuk melakukan ini, anda boleh membaca buku. Sebagai contoh, salah satu daripada yang berikut:
  • "Kepala Java Pertama",
  • "Java for Dummies" oleh Barry Bird;
  • "Java: A Beginner's Guide" oleh Herbert Schildt.
Selepas membaca buku ini, anda boleh pergi ke buku yang lebih sukar:
  • "Berfikir di Jawa," Bruce Eckel;
  • "Jawa Berkesan" oleh Joshua Bloch;
  • "Java: The Complete Reference" oleh Herbert Schildt.
Tiga buku terakhir bukanlah bacaan yang mudah untuk pemula, tetapi ia menyediakan asas yang kukuh dalam teori Java. Juga, jangan lupa tentang artikel CodeGym, kerana ia memberikan penjelasan untuk kebanyakan topik yang mungkin menarik minat anda. Anda boleh mencari artikel yang berkaitan dengan menaip topik yang menarik minat anda dalam bar carian: Senarai semak pembangun Java.  Perkara yang perlu diketahui oleh pembangun - 2Saya juga sangat mengesyorkan mencari soalan daripada temu bual Java. Ini akan membantu anda memahami perkara yang anda perlu pelajari dan soalan yang perlu disediakan.

3. Corak reka bentuk

Corak reka bentuk ialah corak berulang tertentu yang menyelesaikan masalah dalam konteks yang sering ditemui. Ia termasuk corak asas dan mudah yang perlu diketahui oleh setiap pengaturcara yang menghargai diri sendiri. Untuk memahami topik ini, ambil buku "Kepala Corak Reka Bentuk Pertama". Ia menerangkan corak reka bentuk asas dengan cara yang boleh diakses. Tetapi buku ini banyak bercakap tentang Java, jadi apabila anda menggunakan buku ini, anda juga memerlukan kefasihan dalam bahasa pengaturcaraan ini. Untuk menyelam lebih mendalam ke dalam corak, anda juga boleh membaca "Corak Reka Bentuk: Elemen Perisian Berorientasikan Objek Boleh Digunakan Semula" daripada Geng Empat ( Nota editor: Geng Empat ialah pasukan pengarang yang merangkumi Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides.). Sebaik sahaja anda telah mempelajari topik ini, anda akan mula melihat corak hampir di mana-mana dalam kod anda. Beri perhatian kepada perkara ini, terutamanya kepada corak yang digunakan dalam Spring, kerana ini adalah soalan temu bual yang popular.

4. Paradigma pengaturcaraan. Kebersihan kod

Selain corak reka bentuk standard, terdapat pelbagai prinsip dan paradigma yang perlu diketahui ( SOLID , GRASP ). Anda juga perlu memastikan kod anda bersih dan boleh dibaca. Untuk segala-galanya, anda perlu tahu tentang topik ini, lihat Kod Bersih oleh Robert Martin atau lihat "Kod Lengkap" oleh Steve McConnell.

5. SQL

Langkah seterusnya kami ialah mengkaji bahasa untuk pangkalan data hubungan — SQL . Pangkalan data adalah tempat maklumat (data) yang digunakan oleh aplikasi web disimpan. Pangkalan data terdiri daripada beberapa jadual (buku alamat pada telefon anda ialah contoh mudah). Pembangun Java bertanggungjawab bukan sahaja untuk aplikasi Java, tetapi juga pangkalan data yang berinteraksi dengannya dan tempat ia menyimpan datanya. Dalam pangkalan data hubungan (yang merupakan jenis yang paling biasa), semua interaksi berlaku melalui bahasa khas yang dipanggil Structured Query Language, atau SQL. Untuk memahami topik ini, anda hanya perlu membaca salah satu daripada buku ini:
  • "Belajar SQL" oleh Alan Beaulieu;
  • "SQL" oleh Chris Fehily;
  • "Kepala SQL Pertama" oleh Lynn Beighley.
Tetapi amalan tanpa teori tidak memotongnya, bukan? Dan pada temuduga anda boleh mengharapkan ujian pengetahuan anda tentang SQL. Penemuduga selalunya (hampir selalu) memberikan satu atau dua tugasan yang melibatkan penulisan pertanyaan SQL. Akibatnya, adalah sangat penting untuk mengasah kemahiran SQL praktikal anda untuk menunjukkan diri anda dalam cahaya yang baik.

6. MySQL/PostgreSQL

Selepas mempelajari bahasa SQL, anda perlu membiasakan diri dengan pelaksanaan pangkalan data tertentu. Bergantung pada pangkalan data, beberapa arahan mungkin berbeza secara mendadak. Dan terdapat perbezaan yang agak ketara dalam keupayaan pangkalan data. Pangkalan data hubungan yang paling biasa ialah MySQL dan PostgreSQL . Senarai semak pembangun Java.  Perkara yang perlu diketahui oleh pembangun - 3MySQL jauh lebih mudah, tetapi PostgreSQL mempunyai keupayaan yang lebih luas. Membiasakan diri dengan sekurang-kurangnya salah satu daripadanya sudah cukup untuk bermula. Anda boleh mengkaji pelaksanaan pangkalan data jika anda menggunakan kemahiran googling anda — cari artikel dan tutorial yang berkaitan di YouTube. Anda perlu memupuk keupayaan anda untuk mencipta pertanyaan carian yang betul untuk soalan yang anda perlukan dijawab. Lagipun, pengaturcara ialah seseorang yang mempunyai tali pinggang hitam dalam googling.

7. Maven/Gradle

Anda perlu mempelajari sama ada rangka kerja Gradle atau Maven . Ia adalah untuk membina projek, dan bagi anda, Java kini bukan sahaja untuk tugasan yang melibatkan beberapa kelas, tetapi juga bahasa untuk menulis aplikasi lengkap. Anda perlu memahami cara membina projek, apakah peringkat binaan, cara memuatkan perpustakaan luaran yang diperlukan dengan kod pihak ketiga dan banyak lagi. Walaupun fakta bahawa Gradle lebih baru dan lebih ringkas, Maven digunakan dalam kebanyakan kes. Jadi, beri perhatian khusus kepada kitaran hayat binaan Maven.

8. Git

Git ialah sistem kawalan versi teragih. Teknologi ini membolehkan pembangun bekerjasama pada satu aplikasi tanpa mengganggu antara satu sama lain. Sudah tentu, terdapat sistem kawalan versi lain. Contohnya, Subversion . Tetapi Git digunakan paling meluas, dan anda perlu dapat bekerja dengannya.Senarai semak pembangun Java.  Perkara yang perlu diketahui oleh pembangun - 4Selain daripada banyak artikel tentang Git yang boleh anda temui dalam talian, YouTube mempunyai lebih daripada cukup video untuk membantu anda menguasai teknologi ini, langkah demi langkah. Pada mulanya, adalah lebih baik untuk menggunakan Git dari baris arahan daripada beberapa jenis pelaksanaan GUI, kerana anda akan dipaksa untuk melakukan segala-galanya menggunakan arahan. Dalam temu bual, orang selalunya suka bertanya tentang beberapa arahan Git, jadi saya syorkan anda menulisnya dan menyimpannya di tempat yang berdekatan. Saya juga mengesyorkan agar anda mencatat nota, menjejaki perkara yang paling penting untuk menjalankannya sebelum temu duga dan menyegarkan ingatan anda.

9. JDBC

Teknologi ini menghubungkan aplikasi Java anda dan pangkalan data hubungan. Untuk asasnya, saya cadangkan membaca mana-mana tutorial JDBC. Terdapat banyak artikel yang menerangkan JDBC dan memberikan contoh asas, walaupun tiada siapa yang menggunakan JDBC bogel secara langsung lagi.

10. JPA. Hibernate

JPA ialah satu cara untuk mewujudkan sambungan antara aplikasi Java dan pangkalan data, sama seperti JDBC. Tetapi pada masa yang sama, JPA adalah teknologi peringkat lebih tinggi dan oleh itu lebih mudah digunakan. Tetapi JPA hanyalah spesifikasi, bukan pelaksanaan. Ia memerlukan pelaksanaan yang konkrit. Banyak daripada mereka wujud, tetapi yang paling hampir dengan cita-cita JPA, yang paling popular dan paling maju ialah Hibernate. Anda akan menemui teknologi ini lebih daripada sekali dalam kerjaya pembangunan perisian anda. Jadi, selain membiasakan diri dengan teknologi ini dengan membaca artikel, mungkin ada baiknya memikirkan membaca buku, contohnya, "Java Persistence API".

11. Musim bunga

Apabila anda menjadi pembangun Java, Spring bukan lagi sekadar perkataan untuk anda. Senarai semak pembangun Java.  Perkara yang perlu diketahui oleh pembangun - 5Mengetahui rangka kerja ini kini sama pentingnya dengan mengetahui Sintaks Java. Anda boleh mengatakan bahawa Spring mempunyai adik beradik, iaitu Java EE. Tetapi Java EE sudah lapuk dan tidak lagi digunakan pada projek baharu. Majoriti pembangun Java kini adalah pembangun Java-Spring, jadi mengetahui beberapa teknologi Spring asas adalah satu kemestian. Spring bukan sekadar rangka kerja, tetapi keseluruhan rangka kerja: Senarai semak pembangun Java.  Perkara yang perlu diketahui oleh pembangun - 6Dan ini hanyalah subset rangka kerja yang disediakan Spring. Bagi seorang pemula, mengetahui hanya beberapa daripada mereka adalah cukup baik:

  • Teras Spring

Anda harus meletakkan ini di tempat pertama, supaya anda boleh memahami apa itu Spring — semua tentang bekas Spring, kekacang, DI, IoC dan sebagainya. Untuk memahami falsafah penggunaan Spring, boleh dikatakan. Kajian lanjut anda tentang rangka kerja Spring akan dibina di atas asas ini. Mungkin anda perlu mencipta aplikasi kecil anda sendiri di mana anda boleh secara beransur-ansur memasukkan semua teknologi yang baru dipelajari.

  • Musim bunga JDBC

Terdahulu kami menyebut JDBC sebagai teknologi untuk mencipta sambungan pangkalan data. Secara umum, penggunaan teknologi "telanjang" tidak lagi boleh ditemui dalam projek, jadi anda boleh membuat kesimpulan bahawa pembelajaran JDBC tidak perlu. Ini bukan sikap yang betul. Dengan meneroka penggunaan telanjang (langsung) JDBC, anda boleh melihat teknologi pada tahap yang lebih rendah dan memahami masalah dan kekurangannya. Kemudian apabila anda mula mempelajari Spring JDBC, anda akan menyedari apa sebenarnya rangka kerja ini menambah baik, mengoptimumkan dan menyembunyikannya.

  • Hibernate Musim Bunga

Analogi dengan situasi dengan JDBC bogel, rangka kerja ini memanfaatkan teknologi sedia ada, dalam kes ini, Hibernate. Jika anda mempertimbangkan untuk menggunakan Hibernate tanpa Spring, anda pasti akan menyedari faedah yang ditawarkan Spring Hibernate.

  • JPA musim bunga

Terdahulu kita bercakap tentang JPA dan menyebut bahawa ia hanya spesifikasi, walaupun ia mempunyai pelbagai pelaksanaan. Di antara pelaksanaan ini, Hibernate datang paling hampir dengan yang ideal. Spring mempunyai pelaksanaan JPA idealnya sendiri yang menggunakan Hibernate di bawah hud. Ia sedekat mungkin dengan ideal spesifikasi JPA. Ia dipanggil Spring JPA. Secara ringkasnya, ia sangat memudahkan akses pangkalan data. Anda hanya boleh belajar JPA tanpa mempelajari JDBC, Hibernate, Spring JDBC atau Spring Hibernate. Tetapi jika anda mengambil pendekatan ini, pengetahuan anda tentang cara menyambung ke pangkalan data akan menjadi sangat cetek.

  • MVC musim bunga

Teknologi ini memungkinkan untuk memaparkan antara muka web aplikasi kami kepada pengguna dan memudahkan komunikasi antara antara muka dan aplikasi yang lain. Teknologi ini juga boleh digunakan tanpa paparan apabila anda mempunyai aplikasi yang bertanggungjawab untuk mengendalikan paparan dan anda berinteraksi dengan aplikasi menggunakan teknologi RESTful . Untuk mendapatkan maklumat tentang Spring dengan lebih baik, selain artikel dan kuliah YouTube, anda boleh membaca beberapa buku. Saya sangat menyukai buku "Spring in Action" oleh Craig Walls. Saya menasihati anda untuk membaca versi ke-6, jika anda tahu bahasa Inggeris dengan baik. Satu lagi buku hebat tentang Spring ialah "Spring 5 for the Professionals". Ia lebih padat. Lebih seperti rujukan yang lebih berharga untuk disimpan dekat daripada membaca dari muka ke muka.Senarai semak pembangun Java.  Perkara yang perlu diketahui oleh pembangun - 7

  • Kasut Musim Bunga

Teknologi ini sangat memudahkan penggunaan Spring. Saya tidak meletakkannya di hujung senarai dengan sesuka hati. Memang, ia banyak bersembunyi di bawah tudung, dan bagi seseorang yang tidak biasa dengan Spring vanila, banyak perkara mungkin tidak jelas atau tidak dapat difahami. Mula-mula, untuk pemahaman yang lebih baik tentang cara rangka kerja Spring berfungsi, anda harus menggunakan Spring biasa, dan kemudian mengambil semua faedah yang lebih tinggi daripada menggunakan Spring Boot. Saya juga mengesyorkan agar anda membiasakan diri dengan Spring Security dan Spring AOP. Tetapi tidak seperti teknologi di atas, pengetahuan mendalam tentang kedua-dua ini belum lagi diperlukan. Teknologi ini bukan untuk pemula. Semasa temu duga, pembangun junior tidak akan ditanya tentang mereka (kecuali satu soalan cetek, mungkin). Baca gambaran keseluruhan tentang apakah teknologi ini dan prinsip di sebalik kerja mereka. Dalam artikel ini, Saya telah berulang kali menyebut membaca buku. Di satu pihak, ini tidak wajib. Anda boleh menjadi pengaturcara tanpa membaca satu buku, memperoleh semua pengetahuan yang diperlukan daripada artikel dalam talian dan video latihan. Sebaliknya, dalam pasaran kerja, persaingan di kalangan pemaju pemula adalah tinggi pada masa ini, yang meningkatkan tahap untuk perkara yang perlu diketahui oleh seorang pemula. Jadi, lebih banyak anda tahu, lebih cepat anda akan mendapat pekerjaan pertama anda dengan menarik perhatian penemuduga dengan tahap pengetahuan anda. Terima kasih semua, dan semoga Java bersama anda. yang meningkatkan tahap untuk perkara yang perlu diketahui oleh pemula. Jadi, lebih banyak anda tahu, lebih cepat anda akan mendapat pekerjaan pertama anda dengan menarik perhatian penemuduga dengan tahap pengetahuan anda. Terima kasih semua, dan semoga Java bersama anda. yang meningkatkan tahap untuk perkara yang perlu diketahui oleh pemula. Jadi, lebih banyak anda tahu, lebih cepat anda akan mendapat pekerjaan pertama anda dengan menarik perhatian penemuduga dengan tahap pengetahuan anda. Terima kasih semua, dan semoga Java bersama anda.