JavaRush /Blog Java /Random-MS /Jawa. Pelan tindakan

Jawa. Pelan tindakan

Diterbitkan dalam kumpulan
Jawa.  Pelan Tindakan - 1

Kandungan:

  1. Bahagian Sifar - Teras Java
  2. Alatan
  3. API JDK
  4. Apa yang Baharu di Java 8
  5. SQL, pangkalan data, JDBC
  6. Rangka kerja
  7. Perpustakaan dan rangka kerja untuk ujian
  8. Perpustakaan perkhidmatan
  9. pelanggan API
  10. Corak Rekaan
  11. Pengetahuan tambahan
Apakah yang perlu diketahui oleh Java Junior yang berpotensi untuk mendapatkan pekerjaan pertama atau sekurang-kurangnya memohon jawatan Pelatih di syarikat yang baik? Apakah alatan yang akan membantu pengaturcara Java mencapai tahap seterusnya? Teknologi mana yang perlu dipelajari dan yang mana perlu ditinggalkan nanti? Tiada jawapan standard untuk soalan-soalan ini, sama seperti tidak ada satu pelan tindakan yang sesuai untuk semua orang. Sesetengah syarikat berusaha untuk pembangunan, sentiasa memperkenalkan teknologi baharu dan menguji keupayaan versi baharu bahasa, sementara yang lain berdegil berpaut pada yang lama. Terdapat juga pilihan "tengah", dan, mungkin, terdapat lebih banyak daripada mereka. Walau bagaimanapun, kami telah menyusun peta jalan atau peta jalan untuk pembangun Java yang bercita-cita tinggi. Dalam usaha untuk menjadikannya semudah mungkin, kami telah menunjukkan hanya teknologi dan topik yang diperlukan untuk sebahagian besar "javistes". Harus diingat bahawa tidak semua perkara perlu dikaji secara terperinci (beberapa perkara di atas hanya boleh dikuasai dengan bekerja dalam satu pasukan), tetapi tidak ada salahnya untuk mempunyai pemahaman umum tentang mereka.

0. Bahagian Sifar - Teras Java

Kami memasukkan bahagian sifar ke dalam artikel untuk berjaga-jaga, sekiranya seseorang yang baru merancang untuk mempelajari Java dan tidak tahu dari mana hendak bermula datang ke sini. Java Core adalah sesuatu yang walaupun seorang pemula harus tahu dengan baik. Iaitu, untuk mengetahui perkara asas, untuk dibimbing oleh apa yang ditawarkan oleh bahasa untuk menyelesaikan masalah tertentu, dan dalam kes-kes mudah untuk dapat menggunakan pengetahuan ini. Anda boleh berlatih Java Core di JavaRush, dan jika anda belum melakukannya, kami menjemput anda untuk mengikuti kursus ini ! Nah, untuk orang lain, mari ingatkan anda tentang pencapaian utama Java Core:
  • Binaan Asas Java, Operator dan Jenis Data
  • OOP dan pelaksanaannya di Jawa
  • Pengecualian
  • Koleksi Java
  • Generik
  • Multithreading

1. Alatan

IDE atau persekitaran pembangunan bersepadu

Alat utama pembangun moden ialah IDE. Terdapat banyak daripada mereka di pasaran hari ini, tetapi dalam pembangunan Java profesional biasanya terdapat hanya dua nama. Ini ialah Eclipse percuma , dibina pada pemalam , yang telah memegang tapak tangan selama bertahun-tahun berturut-turut, dan IntelliJ IDEA , yang telah secara aktif menggantikan Eclipse dalam beberapa tahun kebelakangan ini, dan ini walaupun pada hakikatnya langganan versi Ultimate diperlukan oleh profesional memerlukan wang. Biar kami ingatkan anda bahawa dalam kursus JavaRush kami menggunakan edisi percuma Community IntelliJ IDEA, yang mempunyai batasan fungsi tertentu berbanding Ultimate. Frasa "Saya tahu IDE" bermakna anda sudah biasa dengan keupayaan asas persekitaran pembangunan, anda tahu cara menyusun, menjalankan, nyahpepijat dan menguji fail serta kod refactor. Menguasai kekunci panas akan menjadi bantuan yang baik dalam mempercepatkan kerja anda. Jangan malas, luangkan masa beberapa jam untuk mempelajari tentang ciri IDE yang anda tidak tahu dan mula menggunakannya dalam amalan. Dan jangan abaikan penyahpepijatan, ia adalah kemahiran yang sangat berguna. Semua tindakan ini akan membantu meningkatkan kelajuan dan kualiti kerja anda dengan ketara.

Alat untuk pemasangan automatik

Hari ini, projek Java paling kerap menggunakan alatan seperti Maven dan Gradle. Ia tidak perlu untuk mengkajinya dengan teliti, tetapi akan berguna untuk memahami bagaimana ia berbeza antara satu sama lain, apa yang mereka berdasarkan, apakah tugas (dalam Gradle) dan fasa dengan matlamat dalam Maven. Ia akan mencukupi untuk membaca tentang sistem dan menggunakan beberapa projek kecil padanya. Ini agak mudah untuk dilakukan, dan anda akan memahami butiran dalam keadaan kerja sebenar.

Sistem kawalan versi dan perkhidmatan pengehosan dalam talian

Sistem kawalan versi ialah perkara yang membantu pengaturcara bekerja dalam satu pasukan dalam projek biasa tanpa "memecahkannya", menyegerakkan kepingan kod yang berbeza yang dibuat oleh orang yang berbeza, mengembalikan kemas kini yang tidak berjaya dan menambah yang baharu. Yang paling biasa ialah dua sistem kawalan versi. Salah satu daripadanya diedarkan dan dipanggil Git, yang kedua adalah berpusat, dipanggil SVN (aka Subversion). Hari ini, Git ialah standard de facto. Bekerja dengan sistem ini lebih mudah dan lebih mudah; ia disokong oleh semua IDE (serta SVN). Bekerja dengan Git boleh dicuba dengan cepat dan mudah; mujurlah, terdapat banyak maklumat mengenai topik ini di Internet. Sebagai contoh, buku teks interaktif GitHowTo, tersedia dalam bahasa Rusia (melalui dengan sangat cepat). Adalah sangat penting bagi pembangun pemula untuk menguasai perkhidmatan pengehosan dalam talian untuk sistem kawalan versi. Selalunya ia adalah berdasarkan Git dan dipanggil platform Git (walaupun sesetengah daripadanya boleh berfungsi dengan sistem kawalan versi yang berbeza). Yang paling popular ialah GitHub. BitBucket dan GitLab juga agak biasa. Sistem ini membantu anda menyimpan dan mendapatkan semula kod, dan juga melakukan apa yang boleh dilakukan oleh Git, hanya bukan melalui baris arahan, tetapi melalui antara muka. GitHub juga membolehkan anda menyemak kod dan menawarkan penyelesaian kepada masalah secara langsung di tapak. Di sana anda juga boleh mencari projek sumber terbuka orang lain dan cuba menawarkan penyelesaian anda sendiri untuk memperbaikinya. Pada asasnya, GitHub ialah sejenis rangkaian sosial untuk pembangun. Jadi jika anda belum berbuat demikian, pastikan anda membuat akaun di GitHub dan hos projek anda di sana. Baca juga tentang GitLab dan BitBucket, dan jika anda mempunyai masa, anda boleh mencubanya, mereka mempunyai versi percuma. By the way, semua platform ini disepadukan sepenuhnya dengan IDE moden. Jawa.  Pelan Tindakan - 2

2. JDK API

Bahagian ini menyerlahkan API JDK yang perlu diketahui oleh pembangun Java moden dengan agak yakin. Tidak rugi bagi seorang pengaturcara untuk melihat ke dalam kod sumber perpustakaan ini dari semasa ke semasa, menavigasinya dan memahami bila ia perlu digunakan dan sebabnya. Kesan sampingan: jika anda mahir dalam API ini, anda mungkin mempunyai masa yang lebih mudah untuk mencapai temu duga anda.

Rangka Kerja Koleksi Java

Rangka Kerja Koleksi Java ialah salah satu API yang paling penting dalam bahasa Java dan setiap pembangun harus mengetahuinya. Ia mewakili hierarki antara muka dan pelaksanaan struktur data standard dalam Java seperti senarai, senarai terpaut, set, tindanan, baris gilir, jadual cincang dan banyak lagi. Pembangun mesti mempunyai pemahaman yang baik tentang kelas ArrayList, HashMap, HashSet, LinkedHashSet, TreeSet dan lain-lain, dan mengetahui tentang sifatnya. Khususnya, anda perlu memahami masa dan kos ingatan koleksi tertentu untuk operasi standard (indeks, carian, sisipan, pemadaman) dan, berdasarkan ini, gunakannya dengan betul dalam projek anda. Koleksi di Java dilaksanakan dengan sangat baik, tetapi jika ada keperluan, pembangun boleh menawarkan pelaksanaannya sendiri. Seorang pengaturcara yang mahir dalam koleksi boleh melanjutkan atau mentakrifkan semula logik dalam kelas yang sudah ditulis, atau melaksanakan segala-galanya dari awal.

Java Concurrency API

Java pada asalnya direka untuk menyokong pengaturcaraan selari, dan sejak versi 5.0, bahasa ini termasuk API peringkat tinggi untuk benang selari. Jadi pembangun Java yang cekap mesti mempunyai pemahaman yang baik tentang multithreading dan mempunyai pemahaman tentang API utama daripada pakej java.util.concurrent.* . Sekurang-kurangnya, anda perlu mengetahui dan memahami dengan jelas apa itu Thread, Runnable, penguncian objek dan penyegerakan. Pastikan anda memahami konsep kebuntuan, jalan hidup, keadaan perlumbaan dan perkara yang perlu dilakukan dengan semua itu. Untuk berasa yakin, pelajari penyegerak daripada java.util.concurrent.*, seperti Semaphore, CyclicBarrier, CountDownLatch, Phaser, Exchanger<V>, CompleteableFuture dan sebagainya. Dan juga antara muka Boleh Panggil dan Masa Depan.

API I/O Java

Pembangun baru sering mengabaikan kajian mendalam tentang Java I/O dan Java Non-blocking I/O . Tetapi sia-sia: API Java ini menjadikan kerja dengan benang lebih mudah dan kerap digunakan dalam aplikasi sebenar. Terutamanya kelas seperti Fail, InputStream, OutputStream, Pembaca dan Penulis daripada pakej java.io, yang merupakan teras API Java IO. Java Non-blocking I/O (java.nio) ialah koleksi antara muka pengaturcaraan aplikasi yang direka untuk melaksanakan operasi I/O berprestasi tinggi. Ini termasuk, khususnya, ByteBuffer, FileChannel dan Selector, antara lain. Ambil masalah untuk memahami API ini, anda tidak akan menyesal.

Objek kelas peranti

Sebaik sahaja anda memahami superclass Objek, dalam erti kata lain anda menjadi "penutur bahasa Jawa asli", lebih mengetahui struktur OOP dan banyak proses. Kelas java.lang.Object terletak di bahagian paling atas hierarki kelas. Selain pemahaman yang lebih baik tentang perkara yang berlaku, mengetahui kaedah kelas akan menjadikan temu duga lebih mudah—penemuduga hanya suka menguji calon dengan kelas Objek dan objeknya.

3. Ciri baharu dalam Java 8

Walaupun masa telah berlalu sejak keluaran Java 8, dan kemas kini bernombor lain telah muncul, versi kelapan yang menjadi ikonik. Ia memperkenalkan inovasi penting yang memudahkan, dan dalam beberapa erti kata perubahan, pendekatan untuk pengaturcaraan di Jawa. Anda mesti memahami cara menggunakan ungkapan lambda, serta API Strim dalam Java 8 dan API tarikh dan masa baharu.

4. SQL, pangkalan data, JDBC

Beberapa pembangun Java tidak menemui pertanyaan SQL dan pangkalan data dalam kerja mereka. Oleh itu, adalah penting untuk memahami apa itu SQL dan pangkalan data hubungan, cara ia berfungsi, dan dapat menulis pertanyaan mudah untuk menyertai dua jadual. Untuk latihan, anda boleh cuba bekerja dengan salah satu DBMS, contohnya, PostgreSQL atau MySQL . Ia juga bagus untuk mendapatkan pengetahuan asas tentang pangkalan data bukan hubungan, pendekatan noSQL dan kebiasaan cetek dengan DBMS MongoDB yang berorientasikan dokumen . Untuk bekerja dengan pangkalan data dalam Java tulen, anda boleh menggunakan standard JDBC bersama-sama dengan API dengan nama yang sama. Ia dilaksanakan sebagai pakej java.sql, yang disertakan dalam JDK. Hari ini ia jarang digunakan dalam bentuk tulennya, tetapi ia sering dijumpai dalam aplikasi sokongan yang lebih lama, dan alat yang lebih moden dan diterima umum selalunya berdasarkan piawaian ini.

5. Rangka Kerja

Antara keperluan untuk Pembangun Java Junior hari ini anda semakin boleh mencari "pengetahuan Spring, Hibernate, Spring Boot". Mempelajari teknologi ini sendiri adalah tugas yang sangat sukar, tetapi bagaimanapun, ia boleh dilakukan, terutamanya pada tahap cetek. Pemahaman yang lebih mendalam akan datang semasa anda bekerja. Jadi.

Rangka Kerja Musim Bunga

Hampir setiap aplikasi yang dibina dalam Java hari ini menggunakan Rangka Kerja Spring. Rangka kerja yang berkuasa ini menyediakan sistem koordinat khusus, tulang belakang yang digunakan untuk membina aplikasi. Aplikasi Spring adalah lebih mudah untuk diuji dan diselenggara. Dan semua terima kasih kepada suntikan pergantungan.

Hibernate

Satu lagi rangka kerja yang paling penting untuk pembangun Java ialah Hibernate. Ia melaksanakan spesifikasi JPA (Java Persistence API), yang menyelesaikan masalah pemetaan hubungan objek (ORM). Kebanyakan aplikasi Java berinteraksi dengan pangkalan data, dan jika kita bercakap tentang pangkalan data hubungan, bekerja dengan mereka tanpa Hibernate adalah menyusahkan. Rangka kerja ini menyediakan pembangun dengan beberapa ciri penting, khususnya, caching dan transaksi di luar kotak, yang seterusnya membolehkan mereka menumpukan usaha mereka pada membangunkan logik aplikasi dan membebaskan pengaturcara daripada banyak tugas peringkat rendah apabila bekerja dengan pangkalan data hubungan . Ini meningkatkan produktiviti pembangun dengan ketara.

MVC musim bunga

Rangka kerja ini memastikan pembangunan aplikasi mengikut corak Model - View - Controller, menggunakan komponen siap yang digandingkan secara longgar. Kaji corak ini (corak reka bentuk dibincangkan di bawah) dan logik Spring MVC. Dalam amalan ia digunakan agak kerap.

Kasut Musim Bunga

Dengan kemahiran yang betul, Spring memudahkan untuk mencipta aplikasi Java. Sebaliknya, Spring Boot memudahkan untuk mencipta aplikasi Java berdasarkan Spring. Spring Boot membolehkan anda membuat aplikasi Enterprise Spring lengkap dengan mudah yang boleh dilancarkan dengan usaha yang minimum: konfigurasi automatik menghapuskan kebanyakan kerumitan yang berkaitan dengan mengkonfigurasi aplikasi Spring.

6. Perpustakaan dan rangka kerja untuk ujian

Sesetengah pembangun masa depan pasti bahawa kod ujian bukanlah kebimbangan mereka sama sekali, tetapi orang istimewa yang dipanggil penguji. Dalam praktiknya, ini tidak sepenuhnya berlaku. Pengujian, terutamanya ujian unit (paling kerap dipanggil ujian unit), adalah kemahiran yang sangat penting untuk setiap pengaturcara. Selain itu, pendatang baru yang baru memulakan tugas mereka sering ditugaskan untuk menutup kod seseorang dengan ujian unit. Oleh itu, kami amat mengesyorkan mempelajari perpustakaan JUnit dan membangunkan tabiat menulis ujian unit untuk kod anda. Lihat juga rangka kerja Mockito, yang boleh digunakan dengan JUnit untuk mencipta kelas pergantungan olok-olok.

7. Perpustakaan perkhidmatan

Java mempunyai sejumlah besar perpustakaan perkhidmatan yang membantu menyelesaikan hampir semua masalah yang dihadapi oleh pembangun. Adalah mustahil untuk mengkaji semuanya, dan tidak ada tujuan tertentu untuk melakukannya. Tetapi menavigasi melalui mereka adalah idea yang bagus. Di sini kami akan menyerlahkan hanya beberapa daripada mereka yang sering digunakan dalam amalan.

Perpustakaan untuk pembalakan

Pertama sekali, kita boleh menyebut log4j dan Slf4j . Perpustakaan ini direka bentuk untuk menyembunyikan pelaksanaan operasi pengelogan rutin yang berlaku semasa aplikasi Java sedang berjalan.

Perpustakaan untuk JSON

JSON, format untuk memindahkan maklumat dari klien ke pelayan, ialah format yang paling biasa digunakan hari ini. Terdapat beberapa perpustakaan yang bagus yang berfungsi dengan JSON, yang paling popular ialah Jackson dan google-gson .

Google Guava

Guava ialah projek dengan perpustakaan teras Java yang dibangunkan oleh Google. Di sini anda boleh menemui jenis koleksi baharu (peta berbilang, berbilang set dan lain-lain), koleksi tidak berubah, graf, yang berfungsi, utiliti untuk selari, I/O, pencincangan, pemprosesan rentetan dan banyak lagi.

Apache Commons

Commons ialah projek besar yang mengandungi banyak utiliti Java yang berguna untuk pelbagai tujuan. Oleh itu, perpustakaan Apache Commons mendasari Tomcat, Hibernate dan beberapa projek besar lain. Terdapat banyak perpustakaan di Apache Commons. Mari kita sebutkan Commons IO, yang memudahkan operasi I/O, Commons CSV untuk bekerja dengan fail csv, Commons Math untuk bekerja dengan operasi dan pengiraan matematik dan statistik yang kompleks, Commons CLI untuk menganalisis hujah baris arahan.

8. Pelanggan API

REST ialah gaya penamaan untuk titik akhir untuk mengakses sumber melalui rangkaian dalam format yang boleh dibaca manusia. Adalah lebih baik untuk pembangun Java moden memahami ideologi REST dan juga mengetahui Spring RestTemplate , perpustakaan yang sangat berguna untuk mencipta klien REST.

9. Corak Rekaan

Jika pembangun pemula biasa dengan corak reka bentuk, iaitu peraturan adab dalam pengaturcaraan Java, dan juga tahu cara menerapkannya dalam amalan, dia akan serta-merta meningkatkan nilainya di pasaran buruh. Pemula sering meremehkan corak kerana mereka jarang mencipta aplikasi kompleks semasa belajar. Walau bagaimanapun, jika corak tidak digunakan pada projek yang serius, mengekalkan dan menyesuaikan kod menjadi tugas yang amat sukar. Oleh itu, jangan malas, kaji corak dan gunakannya dalam projek peribadi anda. Majikan masa depan anda akan sangat berterima kasih untuk ini.

10. Pengetahuan tambahan

Algoritma dan struktur data

"Algoritma dan Struktur Data" ialah nama keseluruhan kursus yang diajar di universiti teknikal. Ia mendedahkan asas teori untuk membina pelbagai struktur data. Dan dalam kelas praktikal mereka belajar untuk bekerja dengan mereka - meletakkan dan mendapatkan semula data, mencari dan menyusunnya. Sebenarnya, "Algoritma" dalam frasa ini bermaksud mengisih dan mencari dengan tepat. Selama bertahun-tahun, saintis komputer telah membangunkan banyak algoritma. Sebahagian daripada mereka adalah bersifat pendidikan, kerana walaupun relatif mudah dilaksanakan, mereka tidak begitu berkesan dalam operasi. Sebagai contoh, ia berfungsi dengan perlahan, yang boleh dilihat pada kumpulan data yang besar. Atau mereka mengambil banyak ingatan. Algoritma lain telah terbukti sangat berkesan. Sehinggakan mereka telah dimasukkan ke dalam perpustakaan rasmi kebanyakan bahasa pengaturcaraan. Oleh itu, hari ini tidak perlu membangunkan algoritma sedemikian secara bebas. Ia cukup untuk mengetahui di mana mereka berada. Namun, kebanyakan pembangun yang berpengalaman mengesyorkan bahawa pemula melalui "sekolah algoritma"—melaksanakannya sendiri semasa belajar. Ini membangunkan pemikiran pengaturcara. Ia juga membantu dengan temu bual; mereka sangat suka bertanya masalah pengisihan dan mencari.

Servlets

Servlet ialah satu cara untuk mengendalikan permintaan pengguna. Hari ini mereka tidak digunakan di mana-mana dan tidak selalu, tetapi ia akan berguna untuk mendapatkan idea tentang mereka.

HTML dan CSS

Semua orang harus tahu asas susun atur. Pengetahuan ini agak mudah diperoleh, dan jika anda belum melakukannya, luangkan masa beberapa hari untuk pelajaran ini. Pada masa yang sama, anda akan berehat dari topik yang lebih kompleks.

XML

Bahasa Penanda Boleh Diperluas dahulunya terdapat di mana-mana dalam pembangunan Java. Ia secara beransur-ansur digantikan oleh JSON, tetapi XML masih digunakan hari ini. Tidak sukar untuk belajar, jadi anda boleh memberi sedikit perhatian kepada bahasa ini.

JavaScript

Tinjauan pembangun menunjukkan bahawa walaupun mereka yang langsung tiada kaitan dengan pembangunan bahagian hadapan menulis skrip dalam JavaScript dari semasa ke semasa. Mengetahui asas bahasa ini boleh dianggap sebagai peraturan adab yang baik, jadi jangan malas, baca tentangnya dan buat sedozen atau dua skrip. Ia tidak akan berlebihan.
Komen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION