Isi:
- Bagian Nol - Inti Jawa
- piranti
- JDK API
- Apa Anyar ing Jawa 8
- SQL, database, JDBC
- Kerangka
- Pustaka lan kerangka kanggo testing
- Pustaka layanan
- klien API
- Pola Desain
- kawruh tambahan
0. Bagian Nol - Inti Jawa
Kita nglebokake bagean nol ing artikel kasebut, yen ana wong sing lagi arep sinau basa Jawa lan ora ngerti arep miwiti saka ngendi. Inti Jawa minangka perkara sing kudu dingerteni para pamula. Yaiku, ngerti perkara dhasar, ngerti apa sing ditawakake basa kanggo ngrampungake masalah tartamtu, lan ing kasus sing gampang bisa ngetrapake kawruh kasebut. Sampeyan bisa latihan Java Core ing JavaRush, lan yen sampeyan durung nindakake iki, diundang kanggo njupuk kursus kasebut ! Inggih, kanggo wong liya, ayo ngelingake sampeyan babagan tonggak utama Java Core:- Konstruk, Operator, lan Jinis Data Dasar Jawa
- OOP lan implementasine ing Jawa
- Pangecualian
- Koleksi Jawa
- Generik
- Multithreading
1. Piranti
IDE utawa lingkungan pangembangan terpadu
Alat utama pangembang modern yaiku IDE. Ana akeh sing ana ing pasar saiki, nanging ing pangembangan Jawa profesional biasane mung ana rong jeneng. Iki Eclipse gratis, dibangun ing plugins , sing wis nyekel palem nganti pirang-pirang taun berturut-turut, lan IntelliJ IDEA , sing wis aktif ngganti Eclipse ing taun-taun pungkasan, lan iki senadyan kasunyatan manawa langganan versi Ultimate dibutuhake dening profesional biaya dhuwit. Ayo kita ngelingake yen ing kursus JavaRush kita nggunakake edisi gratis Komunitas IntelliJ IDEA, sing duwe watesan fungsi tartamtu dibandhingake Ultimate. Ukara "Aku ngerti IDE" tegese sampeyan wis kenal karo kemampuan dhasar lingkungan pangembangan, sampeyan ngerti carane ngumpulake, mbukak, debug lan nyoba file, lan kode refactor. Nguasai tombol panas bakal dadi bantuan sing apik kanggo nyepetake karya sampeyan. Aja kesed, nglampahi sawetara jam sinau babagan fitur IDE sing durung dingerteni lan wiwiti digunakake ing praktik. Lan aja nglirwakake debugging, iku skill banget migunani. Kabeh tumindak iki bakal bantuan kanggo Ngartekno nambah kacepetan lan kualitas karya.Piranti kanggo perakitan otomatis
Saiki, proyek Java paling kerep nggunakake alat kayata Maven lan Gradle. Sampeyan ora perlu kanggo sinau wong sak tenane, nanging bakal migunani kanggo ngerti carane padha beda-beda saka saben liyane, apa padha adhedhasar, apa tugas (ing Gradle) lan fase karo gol ing Maven. Bakal cukup kanggo maca babagan sistem lan masang sawetara proyek cilik. Iki cukup prasaja kanggo nindakake, lan sampeyan bakal ngerti rincian ing kahanan kerja nyata.Sistem kontrol versi lan layanan hosting online
Sistem kontrol versi yaiku sing mbantu programer bisa kerja ing tim ing proyek umum tanpa "rusak", nyinkronake potongan kode sing beda-beda sing digawe dening wong sing beda-beda, mbaleni nganyari sing ora sukses lan nambah sing anyar. Sing paling umum yaiku rong sistem kontrol versi. Salah sijine disebarake lan diarani Git, sing kapindho dipusatake, diarani SVN (alias Subversion). Dina iki, Git minangka standar de facto. Nggarap sistem iki luwih trep lan luwih gampang; didhukung kabeh IDE (uga SVN). Nggarap Git bisa dicoba kanthi cepet lan gampang; untunge, ana akeh informasi babagan topik iki ing Internet. Contone, buku teks interaktif GitHowTo, kasedhiya ing basa Rusia (cepet banget). Penting banget kanggo pangembang pemula kanggo nguwasani layanan hosting online kanggo sistem kontrol versi. Paling asring adhedhasar Git lan diarani platform Git (sanajan sawetara bisa digunakake karo sistem kontrol versi sing beda). Sing paling populer yaiku GitHub. BitBucket lan GitLab uga cukup umum. Sistem kasebut mbantu sampeyan nyimpen lan njupuk kode, lan uga nindakake apa sing bisa ditindakake Git, mung ora liwat baris perintah, nanging liwat antarmuka. GitHub uga ngidini sampeyan mriksa kode lan menehi solusi kanggo masalah langsung ing situs kasebut. Ing kana sampeyan uga bisa nemokake proyek sumber terbuka wong liya lan nyoba menehi solusi dhewe kanggo nambah. Ateges, GitHub minangka jinis jaringan sosial kanggo pangembang. Dadi yen sampeyan durung nindakake, priksa manawa sampeyan nggawe akun ing GitHub lan dadi tuan rumah proyek sampeyan ing kana. Uga maca babagan GitLab lan BitBucket, lan yen sampeyan duwe wektu, sampeyan bisa nyoba, dheweke duwe versi gratis. Miturut cara, kabeh platform kasebut digabungake kanthi IDE modern.2. JDK API
Bagean iki nyorot API JDK sing kudu dingerteni pangembang Jawa modern kanthi yakin. Iku ora bakal babras kanggo programmer kanggo ndeleng menyang kode sumber saka perpustakaan iki saka wektu kanggo wektu, navigasi, lan ngerti nalika padha kudu digunakake lan apa. Efek sisih: yen sampeyan wis ngerti API iki, sampeyan bakal duwe wektu luwih gampang kanggo ngrampungake wawancara. Java Collection Framework minangka salah sawijining API sing paling penting ing basa Jawa lan saben pangembang kudu ngerti. Iki minangka hierarki antarmuka lan implementasi struktur data standar ing Jawa kayata dhaptar, dhaptar sing disambung, set, tumpukan, antrian, tabel hash, lan liya-liyane. Pangembang kudu duwe pangerten sing apik babagan kelas ArrayList, HashMap, HashSet, LinkedHashSet, TreeSet lan liya-liyane, lan ngerti babagan properti kasebut. Utamane, sampeyan kudu ngerti biaya wektu lan memori koleksi tartamtu kanggo operasi standar (indeks, telusuran, sisipan, pambusakan) lan, adhedhasar iki, aplikasi kasebut kanthi bener ing proyek sampeyan. Koleksi ing Jawa ditindakake kanthi apik, nanging yen ana kabutuhan, pangembang bisa menehi implementasine dhewe. A programmer sing uga versed ing koleksi bisa ngluwihi utawa redefine logika ing kelas wis ditulis, utawa ngleksanakake kabeh saka ngeruk.Java Concurrency API
Java wiwitane dirancang kanggo ndhukung program paralel, lan wiwit versi 5.0, basa kasebut kalebu API tingkat dhuwur kanggo benang paralel. Dadi pangembang Java sing kompeten mung kudu duwe pangerten sing apik babagan multithreading lan duwe pangerten babagan API utama saka paket java.util.concurrent.* . Paling ora, sampeyan kudu ngerti lan ngerti kanthi jelas apa Thread, Runnable, ngunci obyek lan sinkronisasi. Priksa manawa sampeyan ngerti konsep deadlock, livelock, kahanan balapan, lan apa sing kudu ditindakake. Kanggo yakin, sinau sinkronisasi saka java.util.concurrent.*, kayata Semaphore, CyclicBarrier, CountDownLatch, Phaser, Exchanger<V>, CompleteableFuture lan liya-liyane. Lan uga antarmuka Callable lan Future.Java I/O API
Pangembang novice asring nglirwakake sinau sing jero babagan Java I/O lan Java Non-blocking I/O . Nanging muspra: API Java iki nggawe nggarap benang luwih gampang lan asring digunakake ing aplikasi nyata. Utamane kelas kaya File, InputStream, OutputStream, Reader lan Writer saka paket java.io, sing dadi inti saka Java IO API. Java Non-blocking I / O (java.nio) minangka kumpulan antarmuka program aplikasi sing dirancang kanggo ngleksanakake operasi I / O kanthi kinerja dhuwur. Iki kalebu, utamane, ByteBuffer, FileChannel lan Selector, antara liya. Njupuk alangan kanggo mangerteni API iki, sampeyan ora bakal Getun iku.Obyek kelas piranti
Sawise sampeyan ngerti superclass Obyek, ing pangertèn sing dadi "native Java speaker", luwih ngerti struktur OOP lan akeh pangolahan. Kelas java.lang.Object dumunung ing ndhuwur hirarki kelas. Saliyane pangerten sing luwih apik babagan apa sing kedadeyan, ngerti metode kelas bakal nggawe wawancara luwih gampang-pewawancara mung seneng nguji calon karo kelas Obyek lan obyek.3. Fitur anyar ing Jawa 8
Sanajan kasunyatane wektu wis liwati wiwit rilis Java 8, lan nganyari nomer liyane wis muncul, versi kaping wolu sing dadi apik. Iki ngenalake inovasi penting sing nyederhanakake, lan sawetara owah-owahan, pendekatan kanggo program ing Jawa. Sampeyan kudu ngerti carane nggunakake ekspresi lambda, uga Stream API ing Jawa 8 lan tanggal lan wektu API anyar.4. SQL, database, JDBC
Sawetara pangembang Java ora nemoni pitakon lan database SQL ing karyane. Mulane, penting kanggo ngerti apa SQL lan database relasional, cara kerjane, lan bisa nulis pitakon prasaja kanggo nggabungake rong tabel. Kanggo latihan, sampeyan bisa nyoba nggarap salah sawijining DBMS, contone, PostgreSQL utawa MySQL . Iku uga becik kanggo entuk kawruh dhasar babagan basis data non-relasional, pendekatan noSQL lan akrab banget karo DBMS MongoDB sing berorientasi dokumen . Kanggo nggarap database ing Jawa murni, sampeyan bisa nggunakake standar JDBC bebarengan karo API saka jeneng sing padha. Iki dileksanakake minangka paket java.sql, sing kalebu ing JDK. Dina iki arang digunakake ing wangun murni, nanging asring bisa ditemokaké ing aplikasi support lawas, lan pribadi liyane modern lan umum ditampa asring adhedhasar standar iki.5. Rangka
Antarane syarat kanggo Junior Java Developer saiki sampeyan bisa nemokake "kawruh Spring, Hibernate, Spring Boot". Sinau teknologi kasebut dhewe minangka tugas sing angel banget, nanging bisa uga, utamane ing tingkat sing entheng. Pangerten sing luwih jero bakal teka nalika sampeyan kerja. Dadi. Meh saben aplikasi sing dibangun ing Jawa saiki nggunakake Spring Framework. Kerangka kuat iki nyedhiyakake sistem koordinat tartamtu, balung mburi sing dibangun aplikasi kasebut. A aplikasi Spring luwih gampang kanggo nyoba lan njaga. Lan kabeh thanks kanggo injeksi ketergantungan. Kerangka liyane sing paling penting kanggo pangembang Java yaiku Hibernate. Iki ngetrapake spesifikasi JPA (Java Persistence API), sing ngrampungake masalah pemetaan obyek-relasional (ORM). Umume aplikasi Java sesambungan karo database, lan yen kita ngomong babagan database relasional, nggarap tanpa Hibernate ora trep. Kerangka iki nyedhiyakake pangembang kanthi sawetara fitur penting, utamane, caching lan transaksi metu saka kothak, sing ngidini dheweke fokus usaha kanggo ngembangake logika aplikasi lan mbebasake programmer saka akeh tugas tingkat rendah nalika nggarap database relasional. . Iki kanthi signifikan nambah produktivitas pangembang. Kerangka iki njamin pangembangan aplikasi miturut pola Model - View - Controller, nggunakake komponen sing wis digabungake kanthi longgar. Sinau pola iki (pola desain dibahas ing ngisor iki) lan logika Spring MVC. Ing laku digunakake cukup asring. Kanthi katrampilan sing tepat, Spring nggampangake nggawe aplikasi Java. Sabanjure, Spring Boot nggampangake nggawe aplikasi Java adhedhasar Spring. Spring Boot ngijini sampeyan kanggo gampang nggawe aplikasi Enterprise Spring lengkap sing bisa dibukak karo minimal gaweyan: otomatis konfigurasi ngilangake paling saka alangan gadhah configuring aplikasi Spring.6. Pustaka lan kerangka kanggo testing
Sawetara pangembang mbesuk yakin yen kode uji coba dudu masalahe, nanging wong khusus sing diarani penguji. Ing laku, iki ora cukup cilik. Testing, utamané testing unit (paling asring disebut testing unit), iku skill penting banget kanggo saben programmer. Kajaba iku, wong anyar sing lagi wae miwiti tugas asring ditugasake kanggo nutupi kode wong kanthi tes unit. Dadi, kita nyaranake sinau perpustakaan JUnit lan ngembangake kebiasaan nulis tes unit kanggo kode sampeyan. Priksa uga kerangka Mockito, sing bisa digunakake karo JUnit kanggo nggawe kelas dependensi mock.7. Pustaka Layanan
Jawa nduweni perpustakaan layanan akeh banget sing mbantu ngrampungake meh kabeh masalah sing diadhepi pangembang. Ora mungkin sinau kabeh, lan ora ana titik tartamtu kanggo nindakake. Nanging navigasi liwat wong-wong mau minangka ide sing apik. Ing kene kita bakal nyorot sawetara sing asring digunakake ing praktik.Pustaka kanggo logging
Kaping pisanan, kita bisa sebutno log4j lan Slf4j . Pustaka iki dirancang kanggo ndhelikake implementasine operasi logging rutin sing kedadeyan nalika aplikasi Java lagi mlaku.Pustaka kanggo JSON
JSON, format kanggo nransfer informasi saka klien menyang server, minangka format sing paling umum digunakake saiki. Ana sawetara perpustakaan apik sing bisa digunakake karo JSON, sing paling populer yaiku Jackson lan google-gson .Google Jambu
Guava minangka proyek kanthi perpustakaan inti Jawa sing dikembangake dening Google. Ing kene sampeyan bisa nemokake jinis koleksi anyar (multimap, multiset lan liya-liyane), koleksi sing ora bisa diganti, grafik, fungsional, utilitas kanggo paralelisme, I / O, hashing, pangolahan senar lan liya-liyane.Apache Commons
Commons minangka proyek gedhe sing ngemot akeh utilitas Java sing migunani kanggo macem-macem tujuan. Dadi, perpustakaan Apache Commons ndasari Tomcat, Hibernate lan sawetara proyek gedhe liyane. Ana akeh perpustakaan ing Apache Commons. Ayo sebutno Commons IO, kang simplifies I / O operasi, Commons CSV kanggo nggarap file csv, Commons Math kanggo nggarap operasi lan petungan matematika lan statistik Komplek, Commons CLI kanggo nganalisa bantahan baris printah.8. klien API
REST minangka gaya jeneng kanggo titik pungkasan kanggo ngakses sumber daya liwat jaringan ing format sing bisa diwaca manungsa. Iku luwih apik kanggo pangembang Jawa modern mangertos ideologi REST lan uga ngerti Spring RestTemplate , perpustakaan banget migunani kanggo nggawe klien REST.9. Pola Desain
Yen pangembang pemula wis kenal karo pola desain, yaiku aturan tata krama ing program Jawa, lan malah ngerti carane ngetrapake ing praktik, dheweke bakal langsung nambah regane ing pasar tenaga kerja. Pamula asring ngremehake pola amarga arang nggawe aplikasi rumit nalika sinau. Nanging, yen pola ora ditrapake kanggo proyek serius, njaga lan adaptasi kode dadi tugas sing angel banget. Dadi aja kesed, sinau pola lan aplikasi ing proyek pribadi. Majikan mbesuk bakal ngucapke matur nuwun banget kanggo iki.- Pola Desain ing Jawa
- Pola Desain, Part 2
- Pola Desain: Singleton
- Pola Desain: FactoryMethod
- Pola Desain: AbstractFactory
- Pola Desain "Strategi"
10. Kawruh tambahan
Algoritma lan struktur data
"Algoritma lan Struktur Data" minangka jeneng kabeh kursus sing diwulang ing universitas teknis. Iki nuduhake basis teoritis kanggo mbangun macem-macem struktur data. Lan ing kelas praktis, dheweke sinau nggarap - nglebokake lan njupuk data, nggoleki lan ngurutake. Bener, "Algoritma" ing frasa iki tegese ngurutake lan nggoleki. Sajrone pirang-pirang taun, para ilmuwan komputer wis ngembangake akeh algoritma. Sawetara iku pendidikan ing alam, amarga senadyan ease relatif saka implementasine, padha ora banget efektif ing operasi. Contone, padha bisa alon-alon, kang bisa katon ing pools data gedhe. Utawa padha nggunakake akèh memori. Algoritma liyane wis kabukten efektif banget. Dadi akeh supaya padha wis klebu ing perpustakaan resmi paling basa program. Mulane, dina iki ora perlu ngembangake algoritma kasebut kanthi mandiri. Iku cukup kanggo ngerti ngendi padha.Servlet
Servlet minangka cara kanggo nangani panjaluk pangguna. Dina iki ora digunakake ing endi wae lan ora mesthi, nanging bakal migunani kanggo entuk ide babagan dheweke.HTML lan CSS
Saben uwong kudu ngerti dhasar tata letak. Kawruh iki cukup gampang dipikolehi, lan yen sampeyan durung rampung, gunakake sawetara dina kanggo pelajaran iki. Ing wektu sing padha, sampeyan bakal ngaso saka topik sing luwih rumit.XML
Extensible Markup Language biyen ana ing ngendi-endi ing pangembangan Jawa. Iku mboko sithik diganti dening JSON, nanging XML isih digunakake dina. Ora angel sinau, mula sampeyan bisa menehi perhatian sethithik babagan basa iki.JavaScript
Survei pangembang nuduhake yen malah wong-wong sing ora ana hubungane karo pembangunan ngarep-mburi nulis skrip ing JavaScript saka wektu kanggo wektu. Ngerti dhasar basa iki bisa dianggep minangka aturan sopan santun, mula aja nganti kesed, maca babagan iki lan nggawe naskah sepuluh utawa loro. Ora bakal keluwih.
GO TO FULL VERSION