Kungani ufunda iJava nokuthi ungayenza kanjani ngempumelelo. Umbiko we-Yandex

Ihluke kanjani i-Java kwezinye izilimi ezidumile? Kungani i-Java kufanele kube ulimi lokuqala lokufunda? Ake sakhe uhlelo oluzokusiza ukuthi ufunde i-Java kusukela ekuqaleni kanye nokusebenzisa amakhono okuhlela ngezinye izilimi. Ake sibhale umehluko phakathi kokwenza ikhodi yokukhiqiza ku-Java kanye nokuthuthuka kwezinye izilimi. U-Mikhail Zatepyakin ufunde lo mbiko emhlanganweni wabahlanganyeli bakusasa ama-internship I-Yandex nabanye abathuthukisi bokuqala - i-Java Junior meetup.


- Sanibonani nonke, igama lami nginguMisha. Ngingumthuthukisi ovela ku-Yandex.Market, futhi namuhla ngizokutshela ukuthi kungani kufanele ufunde i-Java nokuthi ungayenza kanjani ngokuphumelelayo. Ungase ubuze umbuzo ophusile: kungani ngizobe ngixoxa le ndaba, hhayi unjiniyela othile oqinile onolwazi lweminyaka eminingi? Iqiniso liwukuthi mina ngokwami ​​ngafunda i-Java muva nje, cishe unyaka nengxenye edlule, ngakho ngisakhumbula ukuthi yayinjani nokuthi yiziphi izingibe ezikhona.

Ngonyaka odlule ngathola i-internship e-Yandex.Market. Ngithuthukise i-backend ye-Beru, yeMakethe ngokwayo, kungenzeka ukuthi uyisebenzise. Manje ngisaqhubeka nokusebenza lapho, eqenjini elehlukile. Sakha inkundla yokuhlaziya ye-Yandex.Market yozakwethu bebhizinisi.

Kungani ufunda iJava nokuthi ungayenza kanjani ngempumelelo. Umbiko we-Yandex

Ake siqale. Kungani kufanele ufunde i-Java ngokombono ongokoqobo? Iqiniso liwukuthi i-Java iwulimi lokuhlela oludume kakhulu. Inomphakathi omkhulu kakhulu.

Isibonelo, kukhona inkomba ye-TIOBE, inkomba ethandwayo yokuthandwa kwezilimi zokuhlela, futhi i-Java iqala lapho. Futhi, kumasayithi omsebenzi, cishe uzoqaphela ukuthi iningi lezikhala zimayelana ne-Java, okungukuthi, ngokuthuthukisa i-Java, ungahlala uwuthola umsebenzi.

Njengoba umphakathi mkhulu kakhulu, noma yimuphi umbuzo onawo uzothola impendulo kwamanye Ukuchichima Kwesitaki noma kwamanye amasayithi. Futhi, lapho uthuthuka ku-Java, empeleni ubhala ikhodi ku-JVM, ukuze ukwazi ukushintshela ku-Kotlin, Scala nezinye izilimi ezisebenzisa i-JVM.

Kungani ufunda iJava nokuthi ungayenza kanjani ngempumelelo. Umbiko we-Yandex

Yini enhle nge-Java ngokombono we-ideological? Kunezilimi ezahlukene zokuhlela. Baxazulula izinkinga ezahlukene, uyakwazi lokho. Isibonelo, i-Python inhle ngokubhala imibhalo yomugqa owodwa ukuxazulula izinkinga ezisheshayo.

Ngakolunye uhlangothi, ungakwazi ukulawula ngokugcwele ikhodi esebenzisekayo. Ngokwesibonelo, sinezimoto, Yandex izimoto driver, ikhodi yabo ibhalwe pluses. Kungani? I-Java inento enjalo - Umqoqi Kadoti. Isula i-RAM yezinto ezingadingekile. Le nto iqala ngokuzenzakalelayo futhi imisa-izwe, okungukuthi, imisa lonke uhlelo bese ibala izinto, inkumbulo ecacile yezinto. Uma into enjalo isebenza ku-drone, ayipholile. I-drone yakho izoshayela iqonde, okwamanje isula inkumbulo yayo futhi ingabheki nhlobo umgwaqo. Ngakho-ke, i-drone ibhalwe kwabahle.

Kungani ufunda iJava nokuthi ungayenza kanjani ngempumelelo. Umbiko we-Yandex

Yiziphi izinkinga ezixazululwa yi-Java? Ngokuyinhloko kuwulimi lokuthuthukisa izinhlelo ezinkulu ezibhalwa eminyakeni edlule, ngamashumi noma amakhulu abantu. Ikakhulukazi, okuningi kwe-backend ku-Yandex.Market kubhalwe ku-Java. Sineqembu elisabalalisiwe emadolobheni amaningana, abantu abayishumi kulelo nalelo. Futhi ikhodi kulula ukuyigcina, isekelwe iminyaka eyishumi noma ngaphezulu, futhi ngesikhathi esifanayo abantu abasha bangena futhi baqonde le khodi.

Yiziphi izici okufanele ulimi lube nazo ukuze ikhodi ekulo isekelwe kalula futhi ithuthuke kalula emaqenjini amakhulu. Okokuqala, kufanele kube ikhodi efundekayo, futhi kufanele kube lula ukusebenzisa izixazululo eziyinkimbinkimbi zezakhiwo. Okusho ukuthi, kufanele kube lula ukubhala izifinyezo ezisezingeni eliphezulu, njll. Konke lokhu iJava esihlinzeka ngakho. Lolu wulimi olugxile entweni. Kulula ngempela ukusebenzisa izifinyezo zezinga eliphezulu nezakhiwo eziyinkimbinkimbi.

Kukhona nezinhlaka eziningi nemitapo yolwazi yeJava, ngoba ulimi luneminyaka engaphezu kweyi-15. Ngalesi sikhathi, konke okungabhalwa kwakubhalwe kuso, ngakho-ke kukhona amathani emitapo yolwazi yakho konke ongase ukudinge.

Kungani ufunda iJava nokuthi ungayenza kanjani ngempumelelo. Umbiko we-Yandex

Imaphi amakhono ayisisekelo, ngokombono wami, okufanele umdlali we-JA aqale abe nawo? Okokuqala, lolu ulwazi lolimi oluyisisekelo lweJava. Okulandelayo uhlobo oluthile lohlaka lwe-Dependency Injection. Isikhulumi esilandelayo, uKirill, sizokhuluma ngalokhu ngokugcwele. Ngeke ngijule kakhulu. Okulandelayo amaphethini wezakhiwo namapulani. Sidinga ukwazi ukubhala ikhodi yezakhiwo ezinhle ukuze sibhale izinhlelo zokusebenza ezinkulu. Futhi lolu uhlobo oluthile lwe-SQL noma i-ORM yemisebenzi yokusebenza nesizindalwazi. Futhi lokhu kusebenza kakhulu ku-backend.

Kungani ufunda iJava nokuthi ungayenza kanjani ngempumelelo. Umbiko we-Yandex

Hamba! I-Java core. Ngeke ngempela ngithole iMelika lapha—udinga ukwazi ulimi ngokwalo. Okufanele ukunake. Okokuqala, i-Java ikhiphe izinguqulo eziningi eminyakeni yamuva, okungukuthi, ngo-2014-2015 eyesikhombisa yakhululwa, kwase kuthi eyesishiyagalombili, eyesishiyagalolunye, eyeshumi, izinguqulo eziningi ezintsha, futhi izinto eziningi ezintsha ezipholile zethulwa kuzo. , isibonelo, i-Java Stream API , lambda, njll. Izinto ezipholile kakhulu, ezintsha, ezipholile ezisetshenziswa kukhodi yokukhiqiza, lokho abakubuzayo ezingxoxweni futhi okudingeka ukwazi. Ngakho-ke, akufanele uthathe incwadi eshalofini kumtapo wezincwadi we-Java-4 futhi uhambe uyoyifunda. Lolu uhlelo lwethu: sifunda i-Java-8 noma ngaphezulu.

Sinaka kakhulu izinto ezintsha ezifana ne-Stream API, var, njll. Zibuzwa phakathi nezingxoxo futhi zisetshenziswa njalo ekukhiqizeni. Okusho ukuthi, i-Stream API ipholile kakhulu kunama-loops, ngokuvamile, into epholile kakhulu. Qiniseka ukuthi unake.

Futhi kukhona zonke izinhlobo zezinto ezifana neziphindaphindayo, Okuhlukile nokunye. Izinto ezibonakala zingabalulekile kuwe inqobo nje uma ubhala ikhodi encane ngokwakho. Awukudingi lokhu Okuhlukile, ubani okudingayo noma kunjalo? Kodwa nakanjani bazobuzwa ezingxoxweni, nakanjani bazoba usizo kuwe ekukhiqizeni. Ngokuvamile, kufanele unake Okuhlukile, ama-iterators nezinye izinto.

Kungani ufunda iJava nokuthi ungayenza kanjani ngempumelelo. Umbiko we-Yandex

Izakhiwo zedatha. Awukwazi ukuhamba ngaphandle kwezakhiwo, kodwa kuzoba kuhle uma ungazi nje ukuthi kukhona amasethi, izichazamazwi, namashidi. Futhi nokusetshenziswa okuhlukile kwezakhiwo. Isibonelo, isichazamazwi esifanayo ku-Java sinokusetshenziswa okuningi, okuhlanganisa i-HashMap ne-TreeMap. Anama-asymptotics ahlukene, akhiwe ngendlela ehlukile ngaphakathi. Udinga ukwazi ukuthi zihluke kanjani nokuthi ungazisebenzisa nini.

Kuzoba kuhle kakhulu futhi uma wazi ukuthi lezi zakhiwo zedatha zisebenza kanjani ngaphakathi. Okusho ukuthi, akulula ukwazi ama-asymptotics abo - ukuthi ukubheja kusebenza kangakanani, ukuthi iphasi isebenza isikhathi esingakanani, kodwa ukuthi isakhiwo sisebenza kanjani ngaphakathi - ngokwesibonelo, liyini ibhakede ku-HashMap.

Kuyafaneleka futhi ukunaka izihlahla namagrafu. Lezi yizinto ezingajwayelekile kakhulu kukhodi yokukhiqiza, kodwa zidumile ezingxoxweni. Ngokufanelekile, udinga ukwazi ukunqamula izihlahla, amagrafu ngobubanzi nokujula. Lawa wonke ama-algorithms alula.

Ngokushesha nje lapho uqala ukubhala noma iyiphi ikhodi enkulu, eyinkimbinkimbi, esebenzisa imitapo yolwazi, ikhodi yamakilasi amaningi, uzobona ukuthi kunzima kuwe ngaphandle kwezinhlelo zokwakha nokuxazulula ukuncika. Laba ngokuyinhloko uMaven no-Gradle. Zikuvumela ukuthi ungenise amalabhulali kuphrojekthi yakho ngomugqa owodwa. Okusho ukuthi, ubhala i-xml yomugqa owodwa bese ungenisa amalabhulali kuphrojekthi. Amasistimu amakhulu. Zicishe zifane, sebenzisa eyodwa - Maven noma Gradle.

Okulandelayo - uhlobo oluthile lwesistimu yokulawula inguqulo. Ngincoma i-Git ngoba idumile futhi kukhona amathani okufundisa. Cishe wonke umuntu usebenzisa i-Git, kuyinto epholile, awukwazi ukuphila ngaphandle kwayo.

Futhi uhlobo oluthile lwendawo yokuthuthukiswa. Ngincoma i-IntelliJ Idea. Isheshisa kakhulu inqubo yokuthuthukiswa, ikusiza kakhulu, ikubhalela yonke ikhodi ye-boilerplate, ngokuvamile, ipholile.

Kungani ufunda iJava nokuthi ungayenza kanjani ngempumelelo. Umbiko we-Yandex

Izixhumanisi ezivela kusilayidi: I-SQLZOO, habrapost

I-SQL. Okuncane mayelana nabangemuva. Empeleni bekunecala elihlekisayo lapha. Ezinsukwini ezimbili ngaphambi kwengxoxo yami yesibili ye-internship, intombazane yakwa-HR yangishayela ucingo yathi ezinsukwini ezimbili izongibuza nge-SQL ne-HTTP, kufanele ngiyifunde. Futhi ngangingazi lutho nge-SQL noma i-HTTP. Futhi ngithole le sayithi epholile - I-SQLZOO. Ngifunde i-SQL kuyo ngamahora angu-12, ngisho, i-syntax ye-SQL, indlela yokubhala imibuzo ethi KHETHA, JOYINA, njll. Isayithi elipholile kakhulu, ngincoma kakhulu. Eqinisweni, emahoreni angu-12 ngifunde u-90% walokho engikwaziyo manje.

Futhi kuhle ukwazi i-database Architecture. Lezi yizo zonke izinhlobo zokhiye, izinkomba, ukujwayelekile. Kunochungechunge lokuthunyelwe mayelana nalokhu ku-Habré.

Kungani ufunda iJava nokuthi ungayenza kanjani ngempumelelo. Umbiko we-Yandex

Ku-Java, ngaphezu kwe-SQL, kukhona zonke izinhlobo zezinhlelo zemephu ehlobene ne-Object-relational njenge-JPA. Kukhona ikhodi. Endleleni yokuqala kukhona ikhodi ye-SQL - KHETHA igama le-id KUSUKA ku-info.users LAPHO i-id IN userIds. Kusukela kusizindalwazi sabasebenzisi, etafuleni, kutholwa omazisi babo namagama.

Okulandelayo, kunomephu othile oguqula into kusuka kusisekelo ibe into ye-Java. Futhi kukhona indlela yesithathu ngezansi eyenza le khodi empeleni. Konke lokhu kungashintshwa kusetshenziswa i-JPA ngomugqa owodwa, obhalwe ngezansi. Yenza into efanayo - thola All ByIdIn. Okusho ukuthi, ngokusekelwe egameni lendlela, ikwakhela umbuzo we-SQL.

Into epholile kakhulu. Mina ngokwami, ngenkathi ngingazi i-SQL, ngasebenzisa i-JPA. Ngokuvamile, qaphela. Uma uvilapha kakhulu ukufunda i-SQL, kuyinhlekelele. Futhi, ngokuvamile, umlilo!

Kungani ufunda iJava nokuthi ungayenza kanjani ngempumelelo. Umbiko we-Yandex

Intwasahlobo. Ubani oke wezwa ngento efana nohlaka lwaseNtwasahlobo? Niyabona ukuthi nibangaki? Hhayi ngaphandle kwesizathu. Intwasahlobo ifakiwe kuzidingo zaso sonke isikhala sesibili se-Java backend. Ngaphandle kwakho, akukho ndawo ekuthuthukisweni okukhulu. Iyini iSpring? Okokuqala, lolu wuhlaka Lokujova Lokuncika. Mayelana nalokhu futhi uzokutshela isikhulumi esilandelayo. Kodwa ngamafuphi, lokhu kuyinto ekuvumela ukuthi wenze kube lula ukungenisa ukuncika kwamanye amakilasi kwamanye. Okusho ukuthi, ulwazi lokuncika lwenziwa lula.

I-Spring Boot isiqephu seNtwasahlobo esikuvumela ukuthi usebenzise uhlelo lwakho lweseva ngenkinobho eyodwa. Uya ku-THID, cindezela izinkinobho ezimbalwa, futhi manje unohlelo lwakho lokusebenza lweseva olusebenzayo futhi lusebenza ku-localhost 8080. Okusho ukuthi, awukabhali umugqa owodwa wekhodi okwamanje, kodwa usuvele usebenza. Into epholile kakhulu. Uma ubhala okuthile okwakho, shisa!

Intwasahlobo iwuhlaka olukhulu kakhulu. Ayithathi kuphela uhlelo lwakho lokusebenza lweseva futhi ixazulule Umjovo Wokuncika. Ikuvumela ukuthi wenze inqwaba yezinto, okuhlanganisa ukudala izindlela ze-REST API. Okusho ukuthi, ubhale indlela ethile futhi wanamathisela kuyo isichasiselo esithi Thola imephu. Futhi manje usunayo indlela ethile ku-localhost ekubhalela ukuthi Sawubona mhlaba. Imigqa emibili yekhodi futhi iyasebenza. Izinto ezipholile.

Intwasahlobo futhi yenza ukubhala kube lula. Ayikho indlela ngaphandle kokuhlola ekuthuthukisweni okukhulu. Ikhodi idinga ukuhlolwa. Ngale njongo, i-Java inomtapo wezincwadi opholile u-JUnit 5. Futhi i-JUnit ngokuvamile, kodwa inguqulo yakamuva ingeyesihlanu. Kukhona yonke into yokuhlola, zonke izinhlobo zokugomela nezinye izinto.

Futhi kukhona uhlaka lwe-Mockito olumangalisayo. Cabanga ukuthi unomsebenzi othile ofuna ukuwuhlola. Ukusebenza kwenza izinto eziningi, kufaka phakathi, endaweni ethile phakathi, ingena ku-VKontakte nge-ID yakho, isibonelo, futhi ithola igama lokuqala nesibongo somsebenzisi we-VKontakte ku-ID. Cishe ngeke ufake i-VKontakte ekuhlolweni, lokho kuyinqaba. Kodwa udinga ukuhlola ukusebenza, ngakho wenze lesi sigaba, usebenzisa i-Mockito, i-mok it, ilingise.

Uzothi uma isicelo sifika kuleli klasi sine-ID ethi nalokhu, sibuyisela isibongo esithile, isibonelo, i-Vasya Pupkin. Futhi izosebenza. Okusho ukuthi, uzohlola konke ukusebenza kweklasi elilodwa le-mok. Into epholile kakhulu.

Kungani ufunda iJava nokuthi ungayenza kanjani ngempumelelo. Umbiko we-Yandex

Xhuma kusilayidi

Amaphethini wokuklama. Yini? Lezi izifanekiso zokuxazulula izinkinga ezijwayelekile ezivela ekuthuthukisweni. Ekuthuthukisweni, izinkinga ezifanayo noma ezifanayo zivame ukuvela okungaba kuhle ukuzixazulula kahle ngandlela thize. Ngakho-ke, abantu baqhamuke nezindlela ezingcono kakhulu, izifanekiso ezithile, zokuxazulula lezi zinkinga.

Kukhona iwebhusayithi enamaphethini aziwa kakhulu - refactoring.guru, ungayifunda, uthole ukuthi yimaphi amaphethini akhona, funda iqoqo lethiyori. Inkinga iwukuthi akusizi ngalutho. Eqinisweni, amaphethini ngaphandle kokuzijwayeza awawusizo ngokukhethekile.

Uzozwa ngamaphethini athile afana ne-Singletone noma Umakhi. Obani abezwa la mazwi? Abantu abaningi. Kunamaphethini alula ongawasebenzisa ngokwakho. Kodwa iningi lamaphethini: isu, imboni, i-facade - akucaci ukuthi ingasetshenziswa kuphi.

Futhi kuze kube yilapho ubona ekusebenzeni kukhodi yomunye umuntu indawo lapho le phethini isetshenziswa khona, ngeke ukwazi ukuyisebenzisela wena. Ngakho-ke, ukuzijwayeza kubaluleke kakhulu ngamaphethini. Futhi ukufunda ngazo ku-refactoring.guru akusizi kakhulu, kodwa kufanelekile ukukwenza.

Kungani ufunda iJava nokuthi ungayenza kanjani ngempumelelo. Umbiko we-Yandex

Kungani kudingeka amaphethini? Ake sithi unesigaba somsebenzisi esithile. Inomazisi kanye neGama. Umsebenzisi ngamunye kufanele abe nakho kokubili i-Id neGama. Phezulu kwesokunxele ikilasi.

Yiziphi izindlela zokuqalisa Umsebenzisi? Kunezinketho ezimbili - kungaba umakhi noma i-setter. Yimiphi imibi yazo zombili izindlela?

Umakhi. Umsebenzisi omusha (7, "Bond"), kulungile. Manje ake sithi asinaso isigaba somsebenzisi, kodwa esinye, esinezinkambu zezinombolo eziyisikhombisa. Uzoba nomakhi oqukethe izinombolo eziyisikhombisa ezilandelanayo. Akucaci ukuthi lezi zinombolo ziyini nokuthi iyiphi yazo eyayiphi impahla. Umklami akamkhulu.

Inketho yesibili i-setter. Ubhala ngokucacile: setId(7), setName(“Bond”). Uyaqonda ukuthi iyiphi impahla okungeyayiphi insimu. Kodwa i-setter inenkinga. Okokuqala, ungakhohlwa ukwabela okuthile, futhi okwesibili, into yakho ishintshashintsha. Lokhu akuphephile ngochungechunge futhi kunciphisa kancane ukufundeka kwekhodi. Yingakho abantu beza nephethini epholile - Umakhi.

Kungani ufunda iJava nokuthi ungayenza kanjani ngempumelelo. Umbiko we-Yandex

Kumayelana nani lokhu? Ake sizame ukuhlanganisa izinzuzo zazo zombili izindlela-setter nomakhi-kokunye. Senza into ethile, Umakhi, nayo ezoba nezinkambu ze-Id ne-Igama, yona ngokwayo ezokwakhiwa ngokusekelwe kusethi, futhi ezoba nendlela yokwakha ekubuyisela Umsebenzisi omusha nawo wonke amapharamitha. Sithola into engaguquleki kanye nesetha. Kuhle!

Ziyini izinkinga? Lapha sinoMakhi wakudala. Inkinga ukuthi sisengakhohlwa ukuhlola insimu ethile. Futhi uma sikhohlwe ukuvakashela i-ID, kuleli cala ku-Builder iqalwa ku-zero, ngoba uhlobo lwe-int alunakuguqulwa. Futhi uma senza Igama elithi “Bond” bese sikhohlwa ukuvakashela ihhovisi le-ID, sizoba nomsebenzisi omusha one-id ethi “0” kanye negama elithi “Bond”. Akupholile.

Ake sizame ukulwa nalokhu. Ku-Builder sizoshintsha int ibe yi-int ukuze ingasebenzi. Manje konke kuhle kakhulu.

Kungani ufunda iJava nokuthi ungayenza kanjani ngempumelelo. Umbiko we-Yandex

Uma sizama ukudala Umsebenzisi ngegama elithi "Bond", ekhohlwa ukubeka i-ID yakhe, sizothola okuhlukile kwesikhombi esingenalutho, ngoba i-ID ayinakuchithwa, futhi Umakhi unesici esingenalutho, esikhethekile.

Kungani ufunda iJava nokuthi ungayenza kanjani ngempumelelo. Umbiko we-Yandex

Kodwa sisengakwazi ukukhohlwa ukubeka igama, ngakho-ke sibeka ukuphindaphinda kwento kube ize. Manje, uma sakha into yethu kusuka ku-Builder, ihlola ukuthi inkambu ayisebenzi yini. Futhi akugcini lapho.

Ake sibheke isibonelo sokugcina. Kulokhu, uma ngandlela thize sibeka i-null ngesikhathi sokusebenza se-ID, kungaba kuhle ukwazi ngokushesha ukuthi ukwenzile futhi akukuhle ukuthi wenza iphutha manje.

Kungani ufunda iJava nokuthi ungayenza kanjani ngempumelelo. Umbiko we-Yandex

Udinga ukuphonsa iphutha hhayi ngesikhathi sokudala Umsebenzisi, kodwa uma usetha i-null ku-ID. Ngakho-ke, ku-Builder sizoshintsha i-setter Integer ibe yi-int, futhi uzofunga ngokushesha ukuthi bakhiphe null.

Ngamafuphi, liyini iphuzu? Kukhona iphethini ye-Builder elula, kodwa ngisho nokuqaliswa kwayo kunobuqili obuthile, ngakho-ke kuhle kakhulu ukubuka ukuqaliswa okuhlukile kwamaphethini. Iphethini ngayinye inezisetshenziswa eziningi. Konke lokhu kuyathakazelisa kakhulu.

Kungani ufunda iJava nokuthi ungayenza kanjani ngempumelelo. Umbiko we-Yandex

Sibhala kanjani umakhi kukhodi yokukhiqiza? Nangu Umsebenzisi wethu. Sinamathisela ukuzungezisa kwe-Builder kusuka kulabhulali ye-Lombok kuyo, futhi yona ngokwayo isikhiqizela Umakhi. Okusho ukuthi, asibhali noma iyiphi ikhodi, kodwa i-Java isivele icabanga ukuthi leli klasi linoMakhi, futhi singalibiza kanje.

Sengike ngasho ukuthi i-Java inemitapo yolwazi cishe yonke into, okuhlanganisa ne-Lombok, umtapo wezincwadi opholile okuvumela ukuthi ugweme ukubhala i-boilerplate. Umakhi, GET.

Kungani ufunda iJava nokuthi ungayenza kanjani ngempumelelo. Umbiko we-Yandex

Amaphethini angaba yizakhiwo - ahlobene hhayi kuphela ekilasini elilodwa, kodwa ohlelweni lulonke. Kunesimiso esihle kangaka ekwakhiweni kwesistimu: Isimiso Sokuzibophezela Okukodwa. Ukhuluma ngani? Iqiniso lokuthi ikilasi ngalinye kufanele libe nesibopho sokunye ukusebenza kwalo. Kulokhu, sinesilawuli esixhumana nabasebenzisi, izinto ze-JSON. Kukhona i-Facade, eguqula izinto ze-JSON zibe amamodeli uhlelo lokusebenza lwe-Java oluzosebenza ngawo. Kukhona Isevisi enengqondo eyinkimbinkimbi esebenza nalawa mamodeli. Kukhona Into Yokufinyelela Kudatha efaka lawa mamodeli kusizindalwazi bese iwalanda kusizindalwazi. Futhi kukhona database uqobo. Ngamanye amazwi, akukhona konke ekilasini elilodwa, kodwa senza amakilasi amahlanu ahlukene, futhi leyo enye iphethini.

Kungani ufunda iJava nokuthi ungayenza kanjani ngempumelelo. Umbiko we-Yandex

Uma usufunde i-Java kaningi noma kancane, kuhle ukubhala iphrojekthi yakho ezoba nesizindalwazi, usebenze namanye ama-API, futhi uveze uhlelo lwakho lokusebenza leseva kumakhasimende we-REST API. Lokhu kungaba yinto enhle ukungeza ku-resume yakho, kungaba isiphetho esihle semfundo yakho. Ngalokhu ungahamba uyofuna umsebenzi.

Kungani ufunda iJava nokuthi ungayenza kanjani ngempumelelo. Umbiko we-Yandex

Nasi isibonelo sohlelo lokusebenza lweseva yami. Ngonyaka wami wesibili, ngabhala iphepha lethemu nabafana. Bebebhala isicelo seselula sokuhlela imicimbi. Lapho, abasebenzisi bangangena nge-VKontakte, babeke amaphuzu kumephu, benze imicimbi, bameme abangani babo kubo, balondoloze izithombe zemicimbi, njll.

Ngenzeni kuphrojekthi? Ubhale uhlelo lweseva ku-Spring Boot ngaphandle kokusebenzisa i-SQL. Bengingamazi, ngisebenzisa i-JPA. Yini eyayingayenza? Ngena ngemvume ku-VK nge-OAuth-2. Thatha ithokheni yomsebenzisi, uye ku-VK nalo, hlola ukuthi ungumsebenzisi wangempela. Thola ulwazi mayelana nabasebenzisi nge-VKontakte. Ikwazile ukulondoloza ulwazi kusizindalwazi, nange-JPA. Londoloza ngobuchule izithombe namanye amafayela kwimemori yekhompyutha, bese ugcina izixhumanisi kuzo kusizindalwazi. Ngaleso sikhathi ngangingazi ukuthi kunezinto ze-CLOB ku-database, ngakho ngikwenze ngale ndlela. Kube ne-REST API yabasebenzisi, izinhlelo zokusebenza zeklayenti. Futhi kube nokuhlolwa kweyunithi kokusebenza okuyisisekelo.

[…] Isibonelo esincane sokuphumelela kwami ​​ukufunda i-Java. Ngonyaka wami wokuqala enyuvesi, ngafundiswa i-C# futhi nganikezwa ukuqonda ngohlelo lwe-OOP - yimaphi amakilasi, izixhumanisi, i-abstraction, nokuthi kungani zidingeka. Kwangisiza kakhulu. Ngaphandle kwalokhu, ukufunda i-Java kunzima impela; akucaci ukuthi kungani amakilasi edingeka.

Kungani ufunda iJava nokuthi ungayenza kanjani ngempumelelo. Umbiko we-Yandex

Ngonyaka wami wesibili enyuvesi, baphinde bafundisa i-Java core, kodwa angizange ngiyeke lapho, ngahamba ngiyofunda i-Spring ngokwami ​​futhi ngibhala iphepha lesifundo, iphrojekthi yami, engikhulume ngayo ngenhla. Futhi ngakho konke lokhu, ngaya kwi-internship e-Yandex, ngaphumelela inhlolokhono, futhi ngangena ku-Yandex.Market. Lapho ngibhale i-backend ye-Beru, lena imakethe yethu, kanye ne-Yandex.Market ngokwayo.

Ngemva kwalokho, ezinyangeni eziyisithupha ezedlule, ngashintshela kwelinye iqembu ngaphakathi kweMakethe efanayo. Senza izibalo zozakwethu bebhizinisi. Sisesiteji sokuhlaziya, sibathathu ku-backend, ngakho-ke nginesabelo esikhulu kakhulu sethonya kuphrojekthi. Kuyathakazelisa kakhulu, empeleni. Okusho ukuthi, empeleni sihlinzeka ngedatha emakethe - ukuthi kuyini ukuthengiswa, yiziphi izigaba, yiziphi izinhlobo, kubalingani bebhizinisi, izinkampani ezinkulu ezaziwa kakhulu. Futhi sithathu kuphela, sibhala le khodi, futhi ipholile kakhulu.

Ngiyabonga! Izixhumanisi eziwusizo:
- "I-Java 8. Umhlahlandlela Wabaqalayo".
- Izakhiwo zedatha.
- I-SQLZOO.
- Ukujwayela kwesizindalwazi.
- Design Amaphethini.
- Amaphethini Wokwakha.
- Ikhodi Ehlanzekile.
- I-Java esebenzayo.

Source: www.habr.com

Engeza amazwana