Hi! Ngayon ay pag-uusapan natin ang tungkol sa landas ng paglago ng isang developer ng Java at kung ano ang dapat niyang malaman upang maging in demand. Sa isang panayam, maaaring i-ihaw ng sinumang developer ang kandidato sa trabaho. Halimbawa, maaari silang magsimulang magtanong tungkol sa mga partikular na paksa na naranasan nila sa kanilang kasalukuyang proyekto. Ngunit hindi alam na ang lahat ay normal. Normal din ang katotohanan na hindi mo masasagot ang ilang tanong. Bilang isang pangkalahatang tuntunin, ang bawat Java programmer ay dapat magkaroon ng pangunahing pag-unawa sa pagbuo ng software. Kaya't tingnan natin kung ano ang itinuturing na "basic".
Dapat mong ilagay ito sa unang lugar, para maunawaan mo kung ano ang Spring — lahat ng tungkol sa Spring container, beans, DI, IoC, at iba pa. Upang maunawaan ang mismong pilosopiya ng paggamit ng Spring, wika nga. Ang iyong karagdagang pag-aaral ng Spring frameworks ay bubuo sa ibabaw ng base na ito. Marahil ay dapat kang lumikha ng iyong sariling maliit na aplikasyon kung saan maaari mong unti-unting isama ang lahat ng mga bagong natutunang teknolohiya.
Naunang binanggit namin ang JDBC bilang isang teknolohiya para sa paglikha ng koneksyon sa database. Sa pangkalahatan, ang "hubad" na paggamit ng teknolohiya ay hindi na makikita sa mga proyekto, kaya maaari mong ipagpalagay na ang pag-aaral ng JDBC ay hindi kinakailangan. Hindi ito ang tamang saloobin. Sa pamamagitan ng paggalugad ng hubad (direktang) paggamit ng JDBC, makikita mo ang teknolohiya sa mas mababang antas at mauunawaan ang mga problema at pagkukulang nito. Pagkatapos, kapag sinimulan mong pag-aralan ang Spring JDBC, malalaman mo kung ano ang eksaktong nagpapabuti, nag-o-optimize, at nagtatago ng framework na ito.
Katulad ng sitwasyon sa hubad na JDBC, ang balangkas na ito ay gumagamit ng isang umiiral na teknolohiya, sa kasong ito, Hibernate. Kung isasaalang-alang mo ang paggamit ng Hibernate nang walang Spring, tiyak na matanto mo ang mga benepisyo na inaalok ng Spring Hibernate.
Mas maaga ay napag-usapan natin ang tungkol sa JPA at binanggit na ito ay isang detalye lamang, kahit na mayroon itong iba't ibang mga pagpapatupad. Sa mga pagpapatupad na ito, ang Hibernate ay pinakamalapit sa ideal. Ang Spring ay may sariling perpektong pagpapatupad ng JPA na gumagamit ng Hibernate sa ilalim ng hood. Ito ay mas malapit hangga't maaari sa ideal ng detalye ng JPA. Ito ay tinatawag na Spring JPA. Sa madaling salita, lubos nitong pinapasimple ang pag-access sa database. Matututo ka lang ng JPA nang hindi natututunan ang JDBC, Hibernate, Spring JDBC, o Spring Hibernate. Ngunit kung gagawin mo ang diskarteng ito, ang iyong kaalaman sa kung paano kumonekta sa isang database ay magiging napakababaw.
Ginagawang posible ng teknolohiyang ito na ipakita ang web interface ng aming application sa mga user at mapadali ang komunikasyon sa pagitan ng interface at ng iba pang bahagi ng application. Magagamit din ang teknolohiya nang walang display kapag mayroon kang application na responsable sa paghawak sa display at nakikipag-ugnayan ka sa application gamit ang RESTful na teknolohiya. Upang mas mahusay na makakuha ng impormasyon tungkol sa Spring, bilang karagdagan sa mga artikulo at mga lektura sa YouTube, maaari kang magbasa ng ilang mga libro. Talagang nagustuhan ko ang aklat na "Spring in Action" ni Craig Walls. Ipinapayo ko sa iyo na basahin ang ika-6 na bersyon, kung alam mo nang mahusay ang Ingles. Ang isa pang magandang libro sa Spring ay ang "Spring 5 for the Professionals". Mas siksik. Higit na katulad ng isang sanggunian na mas mahalaga na panatilihing malapit sa kamay kaysa sa pagbabasa ng pabalat sa pabalat.
Ang teknolohiyang ito ay lubos na nagpapadali sa paggamit ng Spring. Hindi ko ito inilagay sa dulo ng listahan sa isang kapritso. Sa katunayan, marami itong itinatago sa ilalim ng talukbong, at para sa isang taong hindi pamilyar sa vanilla Spring, maraming puntos ang maaaring hindi malinaw o hindi maintindihan. Una, para sa mas mahusay na pag-unawa sa kung paano gumagana ang Spring frameworks, dapat mong gamitin ang regular na Spring, at pagkatapos ay kunin ang lahat ng mas mataas na benepisyo ng paggamit ng Spring Boot. Inirerekomenda ko rin na maging pamilyar ka sa Spring Security at Spring AOP. Ngunit hindi tulad ng mga teknolohiya sa itaas, ang malalim na kaalaman sa dalawang ito ay hindi pa kailangan. Ang teknolohiyang ito ay hindi para sa mga nagsisimula. Sa mga panayam, hindi tatanungin ang mga junior devs tungkol sa kanila (maliban sa isang mababaw na tanong, marahil). Basahin ang isang pangkalahatang-ideya ng kung ano ang mga teknolohiyang ito at ang mga prinsipyo sa likod ng kanilang trabaho. Sa artikulong ito, Paulit-ulit kong binanggit ang pagbabasa ng mga libro. Sa isang banda, hindi ito sapilitan. Maaari kang maging isang programmer nang hindi nagbabasa ng isang libro, nakakakuha ng lahat ng kinakailangang kaalaman mula sa mga online na artikulo at mga video ng pagsasanay. Sa kabilang banda, sa merkado ng trabaho, ang kumpetisyon sa mga baguhan na developer ay mataas sa kasalukuyan, na nagpapataas ng antas para sa kung ano ang kailangang malaman ng isang baguhan. Kaya, kung mas marami kang nalalaman, mas mabilis mong mahahanap ang iyong unang trabaho sa pamamagitan ng pagpapabilib sa tagapanayam sa iyong antas ng kaalaman. Salamat sa lahat, at nawa'y sumainyo ang Java. na nagpapataas ng antas para sa kung ano ang kailangang malaman ng isang baguhan. Kaya, kung mas marami kang nalalaman, mas mabilis mong mahahanap ang iyong unang trabaho sa pamamagitan ng pagpapabilib sa tagapanayam sa iyong antas ng kaalaman. Salamat sa lahat, at nawa'y sumainyo ang Java. na nagpapataas ng antas para sa kung ano ang kailangang malaman ng isang baguhan. Kaya, kung mas marami kang nalalaman, mas mabilis mong mahahanap ang iyong unang trabaho sa pamamagitan ng pagpapabilib sa tagapanayam sa iyong antas ng kaalaman. Salamat sa lahat, at nawa'y sumainyo ang Java.
1. Mga pangunahing algorithm
Ang unang bagay na dapat harapin kapag nagsisimulang matuto ng programming (hindi lamang Java) ay upang maunawaan ang mga pangunahing kaalaman. Halimbawa, ang mga algorithm. Mayroong walang katapusang bilang ng mga ito, at hindi mo dapat patayin ang buong taon ng iyong buhay sa pagsisikap na matuto ng maraming algorithm hangga't maaari: karamihan sa mga ito ay hindi magiging kapaki-pakinabang sa iyo. Makukuha mo ang kinakailangang minimum na kaalaman mula sa aklat na "Grokking Algorithms". Ito ay sapat na upang makapagsimula ka, ngunit kung gusto mo, maaari kang matuto mula sa aklat na "Mga Structure at Algorithms" o "Mga Algorithm sa Java" ni Robert Sedgewick at Kevin Wayne. Inirerekomenda ko rin na pagbutihin mo ang iyong kaalaman sa mga pangunahing kaalaman sa computer science. Magagawa ito sa kursong Harvard CS50.2. Java Syntax
Pagkatapos matutunan ang mga pangunahing kaalaman ng mga algorithm, kailangan nating matutunan ang Java syntax. Kung tutuusin, lahat tayo ay nag-aaral para maging Java programmer dito, di ba? Ang kursong CodeGym ay perpekto para dito. Habang nagsasagawa ka ng hindi mabilang na mga gawain, makukuha mo ang iyong mga kamay sa Java syntax at pagkatapos, nang walang labis na pag-aalinlangan, isusulat/babasa mo ang Java code na parang ito ang iyong katutubong wika. Ang CodeGym ay kasanayan, ngunit higit pa doon, kailangan mo ring tingnan ang teorya upang maunawaan kung ano ang iyong ginagawa. Upang gawin ito, maaari kang magbasa ng mga libro. Halimbawa, isa sa mga sumusunod:- "Unang ulo sa Java",
- "Java for Dummies" ni Barry Bird;
- "Java: A Beginner's Guide" ni Herbert Schildt.
- "Pag-iisip sa Java," Bruce Eckel;
- "Effective Java" ni Joshua Bloch;
- "Java: The Complete Reference" ni Herbert Schildt.
3. Mga pattern ng disenyo
Ang mga pattern ng disenyo ay ilang mga paulit-ulit na pattern na lumulutas ng mga problema sa mga madalas na nakakaharap na konteksto. Kasama sa mga ito ang mga basic, simpleng pattern na dapat malaman ng bawat self-respecting programmer. Upang maunawaan ang paksang ito, kunin ang aklat na "Head First Design Patterns". Ipinapaliwanag nito ang mga pangunahing pattern ng disenyo sa isang madaling paraan. Ngunit marami ang pinag-uusapan ng aklat tungkol sa Java, kaya kapag ginamit mo ang aklat na ito kakailanganin mo rin ang katatasan sa programming language na ito. Para sa mas malalim na pagsisid sa mga pattern, maaari mo ring basahin ang "Mga Pattern ng Disenyo: Mga Elemento ng Reusable Object-Oriented Software" mula sa Gang of Four ( Tala ng editor: ang Gang of Four ay isang pangkat ng mga may-akda na kinabibilangan nina Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides.). Kapag napag-aralan mo na ang paksang ito, magsisimula kang makakita ng mga pattern sa halos lahat ng dako sa iyong code. Bigyang-pansin ito, lalo na sa mga pattern na ginamit sa Spring, dahil ito ay isang tanyag na tanong sa panayam.4. Programming paradigms. Kalinisan ng code
Bukod sa karaniwang mga pattern ng disenyo, mayroong iba't ibang mga prinsipyo at paradigm na dapat malaman ( SOLID , GRASP ). Kailangan mo ring panatilihing malinis at nababasa ang iyong code. Para sa lahat, kailangan mong malaman ang tungkol sa paksang ito, tingnan ang Clean Code ni Robert Martin, o tingnan ang "Code Complete" ni Steve McConnell.5. SQL
Ang aming susunod na hakbang ay pag-aralan ang isang wika para sa mga relational database — SQL . Ang mga database ay kung saan nakaimbak ang impormasyon (data) na ginagamit ng isang web application. Ang isang database ay binubuo ng ilang mga talahanayan (ang address book sa iyong telepono ay isang simpleng halimbawa). Ang mga developer ng Java ay responsable hindi lamang para sa Java application, kundi pati na rin ang database kung saan ito nakikipag-ugnayan at kung saan ito nag-iimbak ng data nito. Sa mga relational database (na ang pinakakaraniwang uri), ang lahat ng pakikipag-ugnayan ay nangyayari sa pamamagitan ng isang espesyal na wika na tinatawag na Structured Query Language, o SQL. Upang maunawaan ang paksang ito, ang kailangan mo lang gawin ay basahin ang isa sa mga aklat na ito:- "Pag-aaral ng SQL" ni Alan Beaulieu;
- "SQL" ni Chris Fehily;
- "Head First SQL" ni Lynn Beighley.
GO TO FULL VERSION