JavaRush /Java Blog /Random-TL /Checklist ng developer ng Java. Ano ang dapat malaman ng ...

Checklist ng developer ng Java. Ano ang dapat malaman ng isang developer

Nai-publish sa grupo
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. Checklist ng developer ng Java.  Ano ang dapat malaman ng isang developer - 1Ang 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".

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.
Pagkatapos basahin ang mga aklat na ito, maaari kang kumuha ng mas mahihirap na libro:
  • "Ang Pilosopiya ng Java", Bruce Eckel;
  • "Epektibong Programming", Joshua Bloch;
  • “Java. Ang Kumpletong Gabay", Herbert Schildt.
Ang huling tatlong libro ay hindi madaling basahin para sa mga nagsisimula, ngunit maaari silang magbigay ng isang matatag na saligan sa teorya ng Java. Gayundin, huwag kalimutan ang tungkol sa mga artikulo sa JavaRush, dahil makakahanap sila ng mga paliwanag sa karamihan ng mga paksang interesado ka. Mahahanap mo ang artikulong kailangan mo sa pamamagitan ng pag-type sa paksang interesado ka: Checklist ng developer ng Java.  Ano ang dapat malaman ng isang developer - 2Lubos kong inirerekumenda ang paghahanap ng mga tanong sa panayam sa Java, tulad ng sa koleksyong ito ng mga tanong sa abstract na mga klase at interface . Makakatulong ito sa iyo na maunawaan kung ano ang eksaktong kailangan mong pag-aralan at kung anong mga tanong ang ihahanda.Checklist ng developer ng Java.  Ano ang dapat malaman ng isang developer - 3

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.
Ngunit ang pagsasanay na walang teorya ay hindi gumagana, hindi ba? At sa mga panayam upang subukan ang kaalaman sa SQL, madalas silang (halos palagi) ay nagbibigay ng isa o dalawang problema sa pagsulat ng SQL query. Samakatuwid, napakahalagang patalasin ang iyong mga praktikal na kasanayan sa SQL upang ipakita ang iyong sarili sa isang magandang liwanag. Ang isang mahusay na mapagkukunan para sa pagkakaroon ng kasanayan sa SQL ay maaaring ang mapagkukunan sql-ex.ru .

6. MySQL/PostgreSQL

Pagkatapos matutunan ang wikang SQL, kailangan mong maging pamilyar sa partikular na pagpapatupad ng database. Depende sa database, ang ilang mga command ay maaaring mag-iba nang malaki. At ang pagkakaiba sa mga kakayahan ng database ay medyo kapansin-pansin. Ang pinakakaraniwang relational database ay MySQL at PostgreSQL . Checklist ng developer ng Java.  Ano ang dapat malaman ng isang developer - 4Ang MySQL ay mas simple, ngunit ang PostgreSQL ay may mas maraming kakayahan. Upang magsimula, ito ay sapat na upang maging pamilyar sa kahit isa sa kanila. Maaari mong pag-aralan ang mga pagpapatupad ng database kung gagamitin mo ang iyong mga kasanayan sa Googling - hanapin ang mga kinakailangang artikulo at tutorial sa Youtube. Kailangan mong maging mahusay sa tamang paghahanap para sa mga tanong na interesado ka, dahil ang programmer ay isang taong “may black belt” sa mga paghahanap sa Google.

7. Maven/Gradle

Kailangan mong pag-aralan ang isa sa Gradle o Maven frameworks , na idinisenyo para sa pag-assemble ng mga proyekto, dahil ngayon para sa iyo ang Java ay hindi lamang mga gawain mula sa ilang mga klase, kundi pati na rin isang wika para sa pagsulat ng mga ganap na application. Dapat mong maunawaan kung paano mag-assemble ng isang proyekto, kung ano ang mga yugto ng pagpupulong, kung paano i-load ang mga kinakailangang panlabas na aklatan na may handa na code, at marami pa. Kahit na ang Gradle ay mas bago at mas malinis, ang Maven ay ginagamit sa karamihan ng mga kaso. Samakatuwid, bigyang-pansin ang cycle ng buhay ng pagpupulong nito.

8. Git

Ang Git ay isang distributed version control system. Ang teknolohiyang ito ay nagbibigay-daan sa mga developer na magkasamang lumikha ng isang application nang hindi nakikialam sa isa't isa. Siyempre, may mga analogue sa sistema ng kontrol ng bersyon na ito. Halimbawa, Subversion . Ngunit ito ay Git na pangunahing ginagamit , at kailangan mong magawa ito. Checklist ng developer ng Java.  Ano ang dapat malaman ng isang developer - 5Bilang karagdagan sa mga pang-edukasyon na artikulo tungkol dito, may sapat na mga video sa Youtube na makakatulong sa iyong makabisado ang teknolohiyang ito sa hakbang-hakbang. Sa una, mas mahusay na gumamit ng console Git, at hindi isang uri ng pagpapatupad ng interface, dahil dito kakailanganin mong gawin ang lahat sa pamamagitan ng mga utos. Sa panahon ng mga panayam, ang mga tao ay madalas na humihingi ng ilang mga utos ng Git , kaya inirerekomenda ko na isulat mo ang mga ito at panatilihin ang mga ito sa isang lugar na madaling gamitin. Ipinapayo ko rin sa iyo na magtago ng isang tala kung saan mamarkahan mo ang pinakamahalagang punto, upang bago ang pakikipanayam ay madaanan mo ito at ma-refresh ang iyong memorya.

9. JDBC

Ang teknolohiyang ito ay idinisenyo upang magbigay ng koneksyon sa pagitan ng iyong Java application at isang relational database. Upang maging pamilyar sa mga pangunahing kaalaman, inirerekumenda kong basahin ang artikulong JDBC o Saan Nagsisimula ang Lahat. Maraming mga artikulo na nagpapaliwanag ng teknolohiya ng JDBC at nagbibigay ng mga elementarya na halimbawa, sa kabila ng katotohanang wala nang gumagamit ng hubad na JDBC nang direkta.

10.JPA. Hibernate

Ang JPA ay isang paraan ng pagtatatag ng koneksyon sa pagitan ng Java application at database, tulad ng JDBC. Ngunit sa parehong oras, ang JPA ay isang mas mataas na antas ng teknolohiya at, nang naaayon, mas madaling gamitin. Ngunit ang JPA ay isang detalye lamang (isang konsepto) na hindi ipinatupad at nangangailangan ng isang tiyak na pagpapatupad. Mayroong maraming mga naturang pagpapatupad, ngunit ang pinakamalapit sa mga ideyal ng JPA, sikat at binuo, ay itinuturing na Hibernate . Sa iyong karera sa pag-unlad, makakatagpo ka ng teknolohiyang ito nang higit sa isang beses. Samakatuwid, bilang karagdagan sa pagiging pamilyar sa teknolohiyang ito sa pamamagitan ng mga artikulo, maaaring sulit na isaalang-alang ang pagbabasa ng isang libro tungkol dito, halimbawa, " Java Persistence API ".

11. Spring

Kapag naging Java developer ka, hindi na isang salita lang ang Spring para sa iyo. Checklist ng developer ng Java.  Ano ang dapat malaman ng isang developer - 6Ngayon ang balangkas na ito ay nagbabahagi ng unang lugar sa kahalagahan sa pangangailangang malaman ang syntax ng wikang Java. Masasabi mong may katapat ang Spring, ibig sabihin, ang mga teknolohiyang Java EE. Ngunit ang Java EE ay luma na at hindi na ginagamit sa mga bagong proyekto. Ang karamihan sa mga developer ng Java ngayon ay mga developer ng Java Spring, kaya ang kaalaman sa ilang mga pangunahing teknolohiya ng Spring ay sapilitan. Ang Spring ay hindi lamang isang balangkas, ngunit isang buong platform ng mga balangkas: Checklist ng developer ng Java.  Ano ang dapat malaman ng isang developer - 7At ito ay bahagi lamang ng mga balangkas na ibinibigay ng Spring. Sapat na para sa isang baguhan na malaman lamang ang ilan sa mga ito:

  • Spring Core

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.

  • Spring JDBC

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.

  • Spring Hibernate

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.

  • Spring JPA

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.

  • Spring MVC

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.Checklist ng developer ng Java.  Ano ang dapat malaman ng isang developer - 8

  • Boot ng tagsibol

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 .Checklist ng developer ng Java.  Ano ang dapat malaman ng isang developer - 9
Mga komento
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION