Kamusta! Ngayon ay pag-uusapan natin ang landas ng pag-unlad ng isang developer ng Java at kung ano ang dapat niyang malaman upang maging in demand. Ang sinumang developer sa isang panayam ay maaaring "mabigo" sa isang kandidato para sa isang posisyon. Halimbawa, magsisimula siyang magtanong tungkol sa mga partikular na paksa na nakatagpo niya sa kasalukuyang proyekto. Pero okay lang na hindi mo alam lahat. Normal din ang katotohanan na hindi mo sinasagot ang ilang tanong. Sa pangkalahatan, ang bawat Java programmer ay dapat magkaroon ng pangunahing kaalaman sa pag-unlad. Kaya, tingnan natin kung anong mga teknolohiya ang itinuturing na "basic".
Dapat ay nasa iyong unang lugar upang maunawaan kung ano ang Spring: kung ano ang lalagyan ng Spring, beans, DI, IoC at iba pa. Kaya't magsalita, unawain ang mismong pilosopiya ng paggamit ng Spring. Ang karagdagang pag-aaral ng Spring frameworks ay magaganap batay sa base na ito. Maaaring sulit na lumikha ng iyong sariling maliit na aplikasyon, kung saan unti-unti kang magdagdag ng mga bagong teknolohiya na iyong natutunan.
Nauna nang pinag-usapan natin ang teknolohiya ng JDBC bilang isang teknolohiya para sa paglikha ng koneksyon sa isang database. Sa pangkalahatan, ang "hubad" na paggamit ng teknolohiya ay maaaring hindi matagpuan sa mga proyekto ngayon, kaya maaaring mukhang hindi kailangan ang pag-aaral ng JDBC. Ngunit hindi ganoon. Sa pamamagitan ng pagtingin sa mga buto ng JDBC, makikita mo ang teknolohiya sa mas mababang antas at mauunawaan ang mga problema at pagkukulang nito. Kapag sinimulan mong pag-aralan ang Spring JDBC, mauunawaan mo kung ano ang eksaktong pinapabuti, ino-optimize at itinatago ng framework na ito mula sa aming mga mata.
Tulad ng walang-buto na JDBC, pinapabuti ng framework na ito ang paggamit ng isang umiiral na teknolohiya, sa kasong ito, Hibernate. Kung isasaalang-alang mo ang paggamit ng Hibernate nang walang Spring, mauunawaan mo nang eksakto kung ano ang pakinabang ng paggamit ng Spring Hibernate.
Napag-usapan namin kanina ang tungkol sa JPA at kung paano ito ay isang detalye lamang kung saan mayroong iba't ibang mga pagpapatupad. Sa mga pagpapatupad na ito, ang Hibernate ang pinakamalapit sa ideal. Ang Spring ay may sariling perpektong pagpapatupad ng JPA, na gumagamit ng Hibernate "sa ilalim ng hood" at mas malapit hangga't maaari sa ideal ng mga detalye ng JPA. Ang teknolohiyang ito ay tinatawag na Spring JPA. Sa pamamagitan ng paraan, lubos nitong pinapasimple ang pag-access sa database. Matututo ka lang ng JPA nang hindi natututunan ang JDBC, Hibernate, Spring JDBC, Spring Hibernate. Ngunit sa kasong ito, ang iyong kaalaman sa pagkonekta sa isang database ay magiging napakababaw.
Gamit ang teknolohiyang ito, maaari naming ipakita ang web interface ng aming application sa mga user at payagan ang interface na makipag-ugnayan sa iba pang bahagi ng application. Ang teknolohiya ay maaari ding gumana nang walang display, kapag mayroong ilang application na responsable para sa pagpapakita, at nakikipag-ugnayan ka sa application na ito gamit ang mga kahilingan at tugon gamit ang RESTful na teknolohiya. Upang mas maunawaan ang impormasyon tungkol sa Spring, bilang karagdagan sa mga artikulo at lecture sa YouTube, maaari kang magbasa ng ilang mga libro. Talagang nagustuhan ko ang aklat na "Spring in Action" ni Walls Craig. Sa kasamaang palad, sa Russian mayroon na lamang pangatlong bersyon, na itinuturing na lipas na. Ipinapayo ko sa iyo na basahin ang bersyon 6 kung alam mo ang Ingles. Ang isa pang magandang libro sa Spring ay "Spring 5 for Professionals." Mas mahirap matuto at mas parang Spring bible na mas mabuting panatilihing madaling gamitin kaysa magbasa mula sa simula hanggang sa pabalat.
Ang teknolohiyang ito ay lubos na nagpapadali sa paggamit ng Spring. Inilagay ko ito sa dulo ng listahan para sa isang kadahilanan, dahil marami itong itinatago sa ilalim ng "hood" at para sa isang taong hindi pamilyar sa regular na Spring, maraming mga punto ay maaaring hindi halata at hindi maintindihan. Una, para sa isang mas mahusay na pag-unawa sa kung paano gumagana ang Spring frameworks, dapat mong gamitin ang regular na Spring, at pagkatapos ay ang lahat ng mas mataas na benepisyo ng paggamit ng Spring Boot. Pinapayuhan ko rin kayong maging pamilyar sa Spring Security at Spring AOP. Ngunit hindi tulad ng mga teknolohiya sa itaas, ang malalim na kaalaman sa dalawang ito ay hindi kailangan ngayon. Ang teknolohiyang ito ay hindi para sa mga nagsisimula. Sa mga panayam, hindi tinatanong ang mga junior tungkol sa kanila (maliban marahil sa isang mababaw na tanong). Basahin sa pangkalahatan kung ano ang mga teknolohiyang ito at kung paano gumagana ang mga ito. Sa buong artikulong ito ay paulit-ulit kong binanggit ang pagbabasa ng mga libro. Sa isang banda, hindi ito kinakailangan. Maaari kang maging isang programmer nang hindi nagbabasa ng isang libro, na pinag-aralan ang lahat ng kailangan mo mula sa mga artikulo at video ng pagsasanay. Sa kabilang banda, sa sandaling ito ang kumpetisyon sa merkado para sa mga baguhan na developer ay mataas, na nagpapataas ng bar para sa kinakailangang paunang kaalaman para sa isang baguhan. Samakatuwid, kung mas marami kang alam, mas mabilis mong mahahanap ang iyong unang trabaho, na humahanga sa tagapanayam sa iyong antas ng kaalaman. Salamat sa inyong lahat, at nawa'y sumainyo ang Java .
1. Mga pangunahing algorithm
Ang unang bagay na dapat mong gawin kapag nagsimula kang mag-aral ng programming (ito ay nalalapat hindi lamang sa Java) ay isang pagsusuri ng mga pangunahing kaalaman. Halimbawa, ang mga algorithm. Mayroong walang katapusang bilang ng mga ito, at hindi ka dapat gumugol ng buong taon sa pagsubok na matuto ng maraming algorithm hangga't maaari: karamihan sa mga ito ay hindi magiging kapaki-pakinabang sa iyo. Ang kinakailangang minimum na kaalaman ay maaaring makuha mula sa aklat na " Grocking Algorithms ". Ito ay sapat na upang simulan ang paglalakbay, ngunit kung nais mo, maaari kang matuto sa tulong ng aklat na " Structures and Algorithms " o " Algorithms in Java " ni Robert Sedgwick at Kevin Wayne. Pinapayuhan din kita na pagbutihin ang iyong kaalaman sa mga pangunahing kaalaman sa computer science. Magagawa ito sa JavaRush gamit ang kursong CS50 .2. Java Syntax
Pagkatapos matutunan ang mga pangunahing kaalaman ng mga algorithm, dapat nating matutunan ang Java syntax. Pagkatapos ng lahat, lahat tayo ay natututong maging Java programmer dito, hindi ba? Ang kursong JavaRush ay perpekto para dito. Sa proseso ng pagsasagawa ng maraming gawain, magiging matatas ka sa Java syntax at magsusulat/magbabasa ng Java code nang hindi gaanong iniisip, na para bang ito ang iyong katutubong wika. Ang JavaRush ay kasanayan, at bilang karagdagan dito, kailangan mo ring tingnan ang teorya upang maunawaan kung ano ang eksaktong ginagawa mo. Upang gawin ito, maaari kang magbasa ng mga aklat, halimbawa ang isa sa mga sumusunod:- " Head First Java ";
- "Java for Dummies" ni Barry Bird;
- “Java. Isang Gabay para sa mga Nagsisimula” Herbert Schildt.
- "Ang Pilosopiya ng Java", Bruce Eckel;
- "Epektibong Programming", Joshua Bloch;
- “Java. Ang Kumpletong Gabay", Herbert Schildt.
3. Mga Pattern ng Programming
Ang mga pattern ng programming ay ilang nauulit na pattern na kumakatawan sa isang solusyon sa isang problema sa loob ng isang madalas na nakakaharap na konteksto. Kabilang sa mga ito ay may mga basic, simpleng template na dapat malaman ng bawat self-respecting programmer. Upang maunawaan ang paksang ito, gamitin ang aklat na " Ulo Una. Mga Pattern ng Disenyo .” Malinaw niyang ipapaliwanag ang mga pangunahing pattern ng programming. Ngunit marami ang pinag-uusapan ng libro tungkol sa Java , kaya sa oras ng pag-aaral ng libro kailangan mong makabisado ang programming language na ito. Para sa mas malalim na pagsisid sa mga pattern, maaari mo ring basahin ang “Object-Oriented Design Techniques. Mga Pattern ng Disenyo” mula sa Gang of Four ( Gang of Four: isang pangkat ng mga may-akda na kinabibilangan nina Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides - tala ng editor) . Pagkatapos pag-aralan ang paksang ito, magsisimula kang makakita ng mga pattern sa halos lahat ng dako sa iyong code. Bigyang-pansin ito, lalo na ang mga pattern na ginamit sa Spring , dahil ito ay isang tanyag na tanong sa mga panayam.4. Programming paradigms. Kalinisan ng code
Bukod sa karaniwang mga pattern ng programming, mayroong iba't ibang mga prinsipyo at paradigm na kailangan mong malaman ( SOLID , GRASP ). Kinakailangan din upang matiyak na ang code ay malinis at nababasa. Lahat ng kailangan mong malaman sa paksang ito ay nasa aklat na “ Clean Code ” ni Robert Martin o kunin ang aklat na “Perfect Code” ni Steve McConnell.5.SQL
Ang aming susunod na hakbang ay pag-aralan ang wika ng mga relational database - SQL . Ang mga database ay kung saan nakaimbak ang impormasyon (data) ng isang web application. Ang isang database ay binubuo ng maraming mga talahanayan (ang address book sa iyong telepono ay ang pinakasimpleng halimbawa ng mga naturang talahanayan). Maaari kang magbasa ng higit pa tungkol sa mga database sa artikulong ito . Para sa mga developer ng Java, ang lugar ng responsibilidad ay hindi lamang ang Java application, kundi pati na rin ang database kung saan ito nakikipag-ugnayan at kung saan ito nag-iimbak ng data. Sa relational (ang pinakakaraniwang) database, ang lahat ng pakikipag-ugnayan ay nangyayari sa pamamagitan ng isang espesyal na wika - Structured Query Language, o SQL. Upang maunawaan ang paksang ito, sapat na na basahin ang isa sa mga aklat:- "Pag-aaral ng SQL", Alan Bewley;
- "SQL", Chris Fiaily;
- "Head First SQL" ni Lynn Bailey.
GO TO FULL VERSION