JavaRush /Java Blog /Random-TK /Java. Hereket meýilnamasy

Java. Hereket meýilnamasy

Toparda çap edildi
Java.  Hereket meýilnamasy - 1

Mazmuny:

  1. Nol bölümi - Java ýadrosy
  2. Gurallar
  3. JDK API
  4. Java 8-de näme täzelik
  5. SQL, maglumat bazalary, JDBC
  6. Çarçuwalar
  7. Synag üçin kitaphanalar we çarçuwalar
  8. Hyzmat kitaphanalary
  9. API müşderileri
  10. Dizaýn nagyşlary
  11. Goşmaça bilim
Potensial Java Junior ilkinji işe girmek ýa-da iň bolmanda gowy kompaniýada tälimçi wezipesine ýüz tutmak üçin näme bilmeli? Java programmistine indiki derejä ýetmäge haýsy gurallar kömek eder? Haýsy tehnologiýalary öwrenmeli we haýsylaryny soň goýmaly? Bu soraglara hiç hili standart jogap ýok, edil hemme kişä laýyk boljak hereket meýilnamasy ýok. Käbir kompaniýalar yzygiderli täze tehnologiýalary ornaşdyrýarlar we diliň täze wersiýalarynyň mümkinçiliklerini barlaýarlar, beýlekileri bolsa köne usullara ýapyşýarlar. Şeýle hem “orta” wariantlar bar we, belki-de, olaryň köpüsi bar. Şeýle-de bolsa, isleýän Java döredijisi üçin ýol kartasyny ýa-da ýol kartasyny bir ýere jemledik. Mümkin boldugyça ýönekeýleşdirmek üçin diňe “Javaistleriň” aglaba köplügi üçin zerur bolan tehnologiýalary we mowzuklary görkezdik . Hemme zady jikme-jik öwrenmeli däldigini ýatdan çykarmaly däldir (ýokardakylaryň käbiri diňe bir toparda işlemek arkaly özleşdirilip bilner), ýöne umumy düşünje almagyň zyýany ýok.

0. Nol bölümi - Java ýadrosy

Diňe Java öwrenmegi meýilleşdirýän we nireden başlajagyňyzy bilmeýän adam bu ýere gelse, makala nol bölümini goýduk. Java Core, hatda täze öwrenýänleriňem gaty gowy bilmeli zady. Basicagny, esasy zatlary bilmek, diliň belli bir meseläni çözmek üçin hödürleýän zatlaryna düşünmek we ýönekeý ýagdaýlarda bu bilimleri ulanmak. Java Core-ni JavaRush-da ulanyp bilersiňiz, entek etmedik bolsaňyz, kursy geçmäge çagyrýarys ! Başgalar üçin, “Java Core” -niň esasy pursatlaryny ýatladalyň:
  • Esasy Java gurluşlary, operatorlary we maglumatlaryň görnüşleri
  • OOP we Java-da durmuşa geçirilmegi
  • Kadadan çykmalar
  • Java ýygyndylary
  • Generika
  • Köp okamak

1. Gurallar

IDE ýa-da toplumlaýyn ösüş gurşawy

Döwrebap döredijiniň esasy guraly IDE. Häzirki wagtda bazarda olaryň köpüsi bar, ýöne professional Java ösüşinde adatça diňe iki at bar. Bu , ençeme ýyl bäri palmany saklaýan pluginlerde gurlan mugt tutulma we soňky ýyllarda Eclipse-ni işjeň ýagdaýda göçürýän IntelliJ IDEA , we Ultimate wersiýasyna abuna ýazylmagyna garamazdan hünärmenler pul sarp edýärler. JavaRush kursynda Ultimate bilen deňeşdirilende belli bir funksional çäklendirmeleri bolan Community IntelliJ IDEA-nyň mugt neşirini ulanýandygymyzy ýatladýarys. “IDE-i bilýärin” jümlesi, ösüş gurşawynyň esasy mümkinçilikleri bilen tanyşdygyňyzy, faýllary düzmegiň, işlemegiň, düzetmegiň we synagdan geçirmegiň we refaktor kody bilýändigiňizi aňladýar. Gyzgyn düwmeleri özleşdirmek işiňizi çaltlaşdyrmakda gowy kömek eder. Yalta bolmaň, bilmeýän IDE aýratynlyklaryňyzy öwrenip birnäçe sagat sarp ediň we olary iş ýüzünde ulanyp başlaň. Düzedişleri ýatdan çykarmaň, bu gaty peýdaly ussatlyk. Bu hereketleriň hemmesi işiňiziň tizligini we hilini ep-esli ýokarlandyrmaga kömek eder.

Awtomatiki gurnamak üçin gurallar

Häzirki wagtda Java taslamalarynda köplenç Maven we Gradle ýaly gurallar ulanylýar. Olary düýpli öwrenmek hökman däl, ýöne olaryň biri-birinden nähili tapawutlanýandyklaryna, nämä esaslanýandyklaryna, haýsy meseleleriň (Gradle) we Maveniň maksatlary bilen tapgyrlaryna düşünmek peýdaly bolar. Ulgamlar hakda okamak we üstünde birnäçe ownuk taslama ýerleşdirmek ýeterlik bolar. Muny etmek gaty ýönekeý we hakyky iş şertlerinde jikme-jikliklere düşünersiňiz.

Wersiýa gözegçilik ulgamlary we onlaýn hosting hyzmatlary

Wersiýa gözegçilik ulgamy, programmistlere umumy taslamada bir toparda işlemäge, “bozmazdan”, dürli adamlar tarapyndan döredilen dürli kod böleklerini sinhronlamaga, şowsuz täzelenmeleri yzyna gaýtarmaga we täzelerini goşmaga kömek edýär. Iň ýaýranlary iki wersiýa gözegçilik ulgamy. Olaryň biri paýlanýar we Git diýilýär, ikinjisi merkezleşdirilen, SVN (aka Subversion) diýilýär. Häzirki wagtda Git de-fakto standarty. Bu ulgam bilen işlemek has amatly we aňsat; ähli IDE-ler (şeýle hem SVN) tarapyndan goldanýar. Git bilen çalt we aňsat işlemäge synanyşyp bilersiňiz; bagtymyza, bu mowzukda internetde köp maglumat bar. Mysal üçin, rus dilinde elýeterli bolan GitHowTo interaktiw okuw kitaby (örän çalt geçýär). Täzelik dörediji üçin wersiýa gözegçilik ulgamlary üçin onlaýn hosting hyzmatlaryny özleşdirmek gaty möhümdir. Köplenç Git-e esaslanýar we Git platformalary diýilýär (olaryň käbiri dürli wersiýa dolandyryş ulgamlary bilen işläp biler). Olardan iň meşhury GitHub. “BitBucket” we “GitLab” hem adaty bir zat. Bu ulgamlar size kod saklamaga we almaga, şeýle hem Gitiň edip biljek zatlaryny diňe buýruk setiri arkaly däl, eýsem interfeýs arkaly hem ýerine ýetirmäge kömek edýär. GitHub, şeýle hem, kod barlamaga we saýtdaky meseleleriň çözgütlerini teklip etmäge mümkinçilik berýär. Şol ýerde başga biriniň açyk çeşme taslamasyny tapyp bilersiňiz we ony gowulandyrmak üçin öz çözgütleriňizi hödürläp bilersiňiz. Aslynda, GitHub döredijiler üçin sosial ulgamyň bir görnüşidir. Şonuň üçin öňden ýok bolsa, GitHub-da hasap açyň we taslamalaryňyzy şol ýerde ýerleşdiriň. GitLab we BitBucket hakda hem okaň, wagtyňyz bolsa synap görüp bilersiňiz, mugt wersiýalary bar. Theeri gelende aýtsak, bu platformalaryň hemmesi häzirki zaman IDE-leri bilen doly birleşdirildi. Java.  Hereket meýilnamasy - 2

2. JDK API

Bu bölümde häzirki zaman Java döredijisiniň gaty ynamly bilmeli JDK API-leri görkezilýär. Programmistiň wagtal-wagtal bu kitaphanalaryň deslapky koduna göz aýlamagy, olary gezmegi we haçan ulanylmalydygyna we näme üçin düşünmelidigi zyýany bolmaz. Idearamaz täsiri: bu API-leri gowy bilýän bolsaňyz, söhbetdeşligiňize has aňsat düşer.

Java kolleksiýalarynyň çarçuwasy

Java ýygyndy çarçuwasy Java diliniň iň möhüm API-lerinden biridir we her bir dörediji muny bilmelidir. Bu interfeýsleriň iýerarhiýasyny we sanaw, baglanyşyk sanawy, toplum, stak, nobat, hash tablisasy we başgalar ýaly Java-da standart maglumat gurluşlarynyň ýerine ýetirilişini görkezýär. Öndüriji “ArrayList”, “HashMap”, “HashSet”, “LinkedHashSet”, “TreeSet” we başgalar synplaryna gowy düşünmeli we olaryň häsiýetleri barada bilmeli. Hususan-da, adaty amallar (indeks, gözleg, goýmak, öçürmek) üçin belli bir kolleksiýanyň wagtyna we ýat çykdajylaryna düşünmeli we şonuň esasynda olary taslamalaryňyzda dogry ulanmaly. Java-daky kolleksiýalar gaty gowy ýerine ýetirilýär, ýöne zerurlyk bar bolsa, dörediji öz durmuşa geçirişini hödürläp biler. Kolleksiýalary gowy bilýän programmist, eýýäm ýazylan sapaklarda logikany giňeldip ýa-da täzeden kesgitläp ýa-da hemme zady başdan başlap durmuşa geçirip biler.

Java Concurrency API

Java ilkibaşda paralel programmirlemegi goldamak üçin döredilipdi we 5.0 wersiýasyndan bäri dil paralel sapaklar üçin ýokary derejeli API-leri öz içine alýar. Şeýlelik bilen başarnykly Java dörediji, köp okamaga gowy düşünmeli we java.util.concurrent. * Paketlerinden esasy API-lerine düşünmeli . Iň bolmanda, “Thread”, “Runnable”, obýekti gulplamak we sinhronlaşdyrmagyň nämedigini bilmeli we anyk düşünmeli. Gulplama, gulplama, ýaryş şertleri we bularyň hemmesi bilen näme etmelidigine düşüniň. Özüňizi ynamly duýmak üçin java.util.concurrent-den sinhronizatorlary öwreniň. * Semaphore, CyclicBarrier, CountDownLatch, Phaser, Exchanger <V>, CompleteableFuture we ş.m. Şeýle hem, Çagyrylýan we Geljek interfeýsleri.

Java I / O API

Täze döredijiler köplenç Java I / O we Java blokirlemeýän I / O-ny çuňňur öwrenmegi äsgermezlik edýärler . Emma biderek: bu Java API-ler sapaklar bilen işlemegi aňsatlaşdyrýar we yzygiderli hakyky programmalarda ulanylýar. Esasanam Java IO API-iň özeni bolan java.io paketinden File, InputStream, OutputStream, Reader we Writer ýaly sapaklar. Java Blokirlemeýän I / O (java.nio), ýokary öndürijilikli I / O amallaryny amala aşyrmak üçin döredilen programma interfeýsleriniň ýygyndysydyr. Bulara, esasanam, ByteBuffer, FileChannel we Selector degişlidir. Bu API-lere düşünmek üçin kynçylyk çekiň, ökünmersiňiz.

Enjam synpynyň obýekti

Obýektiň superklassyna düşüneniňizden soň, belli bir manyda “ýerli Java gürleýjisi” bolarsyňyz, OOP gurluşyny we köp amallary has gowy bilýärsiňiz. Java.lang.Object synpy synp iýerarhiýasynyň iň ýokarsynda ýerleşýär. Nämäniň bolup geçýändigine has gowy düşünmekden başga-da, synpyň usullaryny bilmek söhbetdeşligi has aňsatlaşdyrar - söhbetdeşler diňe Obýekt synpy we obýektleri bilen dalaşgärleri synagdan geçirmegi gowy görýärler.

3. Java 8-de täze aýratynlyklar

Java 8 çykandan bäri wagtyň geçendigine we beýleki sanly täzelenmeleriň eýýäm peýda bolandygyna garamazdan, sekizinji wersiýa ikona öwrüldi. Java-da programmirleme çemeleşmelerini ýönekeýleşdirýän we belli bir derejede üýtgeýän möhüm täzelikleri girizdi. Lambda aňlatmalaryny, Java 8-de Stream API we täze sene we wagt API-lerini nähili ulanmalydygyna düşünmeli.

4. SQL, maglumat bazalary, JDBC

Az Java döredijiler öz işlerinde SQL talaplaryna we maglumat bazalaryna duş gelmeýärler. Şonuň üçin SQL we baglanyşyk bazalarynyň nämedigine, olaryň işleýşine düşünmek we iki tablisa goşulmak üçin ýönekeý talaplary ýazyp bilmek möhümdir. Okuw üçin DBMS-leriň biri, mysal üçin PostgreSQL ýa-da MySQL bilen işlemäge synanyşyp bilersiňiz . Şeýle hem, baglanyşyksyz maglumat bazalary, noSQL çemeleşmeleri we resminama gönükdirilen DBMS MongoDB bilen ýüzleý tanyşlyk barada gowy bilim almak gowy bolardy . Arassa Java-da maglumat bazalary bilen işlemek üçin JDBC standartyny şol bir adyň API bilen bilelikde ulanyp bilersiňiz . JDK-a girýän java.sql bukjasy hökmünde ýerine ýetirilýär. Häzirki wagtda arassa görnüşinde seýrek ulanylýar, ýöne köplenç köne goldaw programmalarynda bolýar we has döwrebap we umumy kabul edilen gurallar köplenç bu ülňülere esaslanýar.

5. Çarçuwalar

Häzirki wagtda “Junior Java Developer” -iň talaplarynyň arasynda “Bahar, Gibernate, Bahar Booty” barada has köp maglumat tapyp bilersiňiz. Bu tehnologiýalary özbaşdak öwrenmek gaty kyn mesele, ýöne muňa garamazdan, esasanam ýüzleý derejede mümkindir. Işleýän wagtyňyz has çuňňur düşünişer. Şeýlelik bilen

Bahar çarçuwasy

Şu günler Java-da gurlan programmalaryň hemmesi diýen ýaly Bahar çarçuwasyny ulanýar. Bu kuwwatly çarçuwa, programmanyň gurlan oňurgasy bolan belli bir koordinat ulgamyny üpjün edýär. Bahar programmasyny barlamak we goldamak has aňsat. Hemme garaşlylyk sanjymynyň kömegi bilen.

Gibernate

Java döredijiler üçin iň möhüm çarçuwadyr Gibernate. Obýekt bilen baglanyşykly kartalaşdyrmak (ORM) meselelerini çözýän JPA (Java Persistence API) spesifikasiýasyny amala aşyrýar. Java programmalarynyň köpüsi maglumat bazalary bilen täsirleşýär we baglanyşyk maglumat bazalary hakda aýdýan bolsak, “Hibernate” bolmasa olar bilen işlemek amatsyz. Bu çarçuwany döredijilere birnäçe möhüm aýratynlyklar, hususan-da keş we amallar bilen üpjün edýär, bu bolsa öz gezeginde amaly logikany ösdürmäge gönükdirýär we baglanyşyk bazasy bilen işleýän mahaly programmisti köp pes derejeli işlerden azat edýär; . Bu, öndürijiniň öndürijiligini ep-esli ýokarlandyrýar.

Bahar MVC

Bu çarçuwa, birleşdirilen taýyn komponentleri ulanyp, Model - View - Controller nagşyna laýyklykda programmanyň ösüşini üpjün edýär. Bu nagşy (dizaýn nagyşlary aşakda ara alnyp maslahatlaşylýar) we Bahar MVC logikasyny öwreniň. Iş ýüzünde ol ýygy-ýygydan ulanylýar.

Bahar aýakgaby

Dogry ussatlyk bilen, Bahar Java programmasyny döretmegi aňsatlaşdyrýar. “Spring Boot” hem öz gezeginde “Bahar” esasly Java programmasyny döretmegi aňsatlaşdyrýar. “Spring Boot” size iň az tagalla bilen başlap boljak doly hukukly “Enterprise Spring” programmalaryny aňsatlyk bilen döretmäge mümkinçilik berýär: awto-konfigurasiýa “Bahar” programmalaryny düzmek bilen baglanyşykly kynçylyklaryň köpüsini ýok edýär.

6. Synag üçin kitaphanalar we çarçuwalar

Geljekki işläp düzüjileriň käbiri synag kodunyň asla däl-de, synagçy diýilýän ýörite adamlaryň aladasydygyna ynanýarlar. Iş ýüzünde bu beýle däl. Synag, esasanam birlik synagy (köplenç birlik synagy diýilýär), her bir programmist üçin gaty möhüm ussatlykdyr. Mundan başga-da, ýaňy işe başlan täze gelenlere köplenç biriniň koduny birlik synaglary bilen ýapmak tabşyrylýar. Şonuň üçin JUnit kitaphanasyny öwrenmegi we koduňyz üçin birlik synaglaryny ýazmak endigini ösdürmegi maslahat berýäris. Şeýle hem JUnit bilen maska ​​baglylyk synplaryny döretmek üçin ulanyp boljak Mockito çarçuwasyna göz aýlaň.

7. Hyzmat kitaphanalary

Java-da bir döredijiniň ýüzbe-ýüz bolýan islendik meselesini diýen ýaly çözmäge kömek edýän köp sanly hyzmat kitaphanasy bar. Olaryň hemmesini öwrenmek mümkin däl we muny etmegiň aýratyn manysy ýok. Themöne olaryň üstünden barmak gaty gowy pikir. Bu ýerde iş ýüzünde köplenç ulanylýanlaryň diňe birnäçesini belläris.

Gingurnal üçin kitaphanalar

Ilki bilen log4j we Slf4j hakda aýdyp bileris . Bu kitaphanalar, Java programmalary işleýän wagtynda ýüze çykýan gündelik hasaba alyş amallaryny gizlemek üçin döredildi.

JSON üçin kitaphanalar

Müşderiden serwere maglumat geçirmek formaty JSON häzirki wagtda iň köp ulanylýan formatdyr. JSON bilen işleýän birnäçe gowy kitaphanalar bar, iň meşhurlary Jekson we google-gson .

Google Guava

Guava , Google tarapyndan işlenip düzülen esasy Java kitaphanalary bolan taslama. Bu ýerde täze görnüşli kolleksiýalary (multimap, multiset we başgalar), üýtgewsiz kolleksiýalary, grafikleri, işleýänleri, parallellik üçin peýdaly enjamlary, I / O, ýuwmak, simleri gaýtadan işlemek we başga-da köp zatlary tapyp bilersiňiz.

Apache Commons

Commons dürli maksatly köp peýdaly Java enjamlaryny öz içine alýan ullakan taslama. Şeýlelikde, “Apache Commons” kitaphanalary Tomkat, Gibernate we başga-da birnäçe iri taslamalaryň esasyny düzýär. Apache Commons-da kitaphanalar köp. I / O amallaryny ýönekeýleşdirýän Commons IO, csv faýllary bilen işlemek üçin Commons CSV, çylşyrymly matematiki we statistiki amallar we hasaplamalar bilen işlemek üçin Commons Math, buýruk setiriniň argumentlerini derňemek üçin Commons CLI hakda aýdalyň.

8. API müşderileri

REST, adam tarapyndan okalýan formatda torda çeşmelere girmek üçin ahyrky nokatlaryň atlandyryş stili. Häzirki zaman Java döredijisi üçin REST ideologiýasyna düşünmek we REST müşderisini döretmek üçin örän peýdaly kitaphana bolan “ Spring RestTemplate” -ni bilmek has gowudyr .

9. Dizaýn nagyşlary

Täze öwreniji dizaýn nagyşlary, ýagny Java programmirlemekde edep-terbiýe düzgünleri bilen tanyş bolsa we olary iş ýüzünde nähili ulanmalydygyny bilse, zähmet bazaryndaky bahasyny derrew ýokarlandyrar. Täze başlanlar köplenç nagyşlara ähmiýet bermeýärler, sebäbi okaýarka çylşyrymly programmalary seýrek döredýärler. Şeýle-de bolsa, nagyşlar çynlakaý taslamalarda ulanylmasa, kody saklamak we uýgunlaşdyrmak gaty kyn meselä öwrülýär. Şonuň üçin ýalta bolmaň, nagyşlary öwreniň we şahsy taslamalaryňyzda ulanyň. Geljekki iş berijiňiz munuň üçin örän minnetdar bolar.

10. Goşmaça bilim

Algoritmler we maglumatlar gurluşlary

“Algoritmler we maglumatlar gurluşlary” tehniki uniwersitetlerde okadylýan tutuş kursyň adydyr. Dürli maglumat gurluşlaryny gurmagyň nazary esaslaryny açýar. Amaly sapaklarda olar bilen işlemegi öwrenýärler - maglumatlary goýmak we almak, gözlemek we tertiplemek. Aslynda bu sözlemdäki “Algoritmler” takyk tertipleşdirmegi we gözlemegi aňladýar. Köp ýyllaryň dowamynda kompýuter alymlary köp algoritm döretdiler. Olaryň käbiri tebigatda bilimlidir, sebäbi durmuşa geçirmegiň aňsatlygyna garamazdan, işinde gaty täsirli däl. Mysal üçin, uly maglumat howuzlarynda göze ilýän ýuwaş-ýuwaşdan işleýärler. Ora-da köp ýady sarp edýärler. Beýleki algoritmleriň örän täsirli bolandygyny subut etdi. Şeýlelik bilen, programma dilleriniň köpüsiniň resmi kitaphanalaryna girizildi. Şoňa laýyklykda häzirki wagtda beýle algoritmleri özbaşdak ösdürmegiň zerurlygy ýok. Olaryň nirededigini bilmek ýeterlikdir. Şeýle-de bolsa, tejribeli işläp düzüjileriň köpüsi täze öwrenýänlere “algoritm mekdebinden” geçmegi maslahat berýärler, okuw wagtynda özbaşdak durmuşa geçirýärler. Bu programmistiň pikirlenmesini ösdürýär. Şeýle hem, söhbetdeşliklere kömek edýär, tertiplemek we gözlemek meselelerini hakykatdanam halaýarlar.

Hyzmatkärler

Serwlet, ulanyjynyň haýyşyny çözmegiň usulydyr. Häzirki wagtda olar hemme ýerde ulanylmaýar we hemişe däl, ýöne olar hakda düşünje almak peýdaly bolar.

HTML we CSS

Her kim düzülişiň esaslaryny bilmelidir. Bu bilimleri almak gaty aňsat, eger entek etmedik bolsaňyz, bu işe birnäçe gün sarp ediň. Şol bir wagtyň özünde has çylşyrymly mowzuklardan dynç alarsyňyz.

XML

Giňeldilýän bellik dili Java ösüşinde hemme ýerde ýaýrapdy. Graduallyuwaş-ýuwaşdan JSON bilen çalşylýar, ýöne XML häzirem ulanylýar. Öwrenmek kyn däl, şonuň üçin bu dile azajyk üns berip bilersiňiz.

JavaScript

Döredijileriň gözlegleri, hatda öňdäki ösüş bilen düýbünden baglanyşygy bolmadyklaryň hem wagtal-wagtal JavaScript-de skript ýazýandyklaryny görkezýär. Bu diliň esaslaryny bilmek, edep-terbiýe düzgüni hasaplanyp bilner, şonuň üçin ýalta bolmaň, bu hakda okaň we on ýa-da iki skript dörediň. Artykmaç bolmaz.
Teswirler
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION