Sei uchidzidza Java uye kuti ungazviita sei zvinobudirira. Yandex report

Java yakasiyana sei nemimwe mitauro yakakurumbira? Sei Java ichifanira kuva mutauro wekutanga kudzidza? Ngatigadzire chirongwa chinokubatsira iwe kudzidza Java kubva pakutanga uye nekushandisa hunyanzvi hwekuronga mune mimwe mitauro. Ngatinyorei misiyano pakati pekugadzira kodhi yekugadzira muJava nekusimudzira mune mimwe mitauro. Mikhail Zatepyakin akaverenga mushumo uyu pamusangano wevatori vechikamu mune ramangwana internships Yandex nevamwe vanotanga vanogadzira - Java Junior kusangana.


- Mhoroi mose, zita rangu ndiMisha. Ini ndiri mugadziri kubva kuYandex.Market, uye nhasi ini ndichakuudza chikonzero nei kudzidza Java uye kuti ungazviita sei zvinobudirira. Unogona kubvunza mubvunzo une musoro: sei ndichange ndichitaura nyaya iyi, uye kwete imwe yakasimba mugadziri ane makore mazhinji echiitiko? Chokwadi ndechekuti ini pachangu ndakadzidza Java nguva pfupi yadarika, rinenge gore nehafu rapfuura, saka ndichiri kurangarira kuti yaive yakaita sei uye kuti ndeapi misungo iripo.

Gore rakapfuura ndakawana internship paYandex.Market. Ini ndakagadzira backend yeBeru, yeMusika pachayo, pamwe wakaishandisa. Iye zvino ndinoramba ndichishanda ikoko, muboka rakasiyana. Isu tinogadzira chikuva chekuongorora cheYandex.Market yevashandi vebhizinesi.

Sei uchidzidza Java uye kuti ungazviita sei zvinobudirira. Yandex report

Ngatitangei. Sei uchidzidzira Java kubva pamaonero anoshanda? Icho chokwadi ndechekuti Java ndiyo ine mukurumbira dhizaini mutauro. Ine nharaunda yakakura kwazvo.

Semuenzaniso, kune yakadaro TIOBE index, indekisi yakakurumbira yekuzivikanwa kwemitauro yepurogiramu, uye Java inotanga ipapo. Zvakare, panzvimbo dzebasa, iwe ungango cherechedza kuti mazhinji ezvinzvimbo ari pamusoro peJava, ndiko kuti, nekuvandudza muJava, unogona kugara uchiwana basa.

Sezvo nharaunda yakakura kwazvo, chero mubvunzo wauinawo uchawana mhinduro pane mamwe Stack Overflow kana mamwe masaiti. Zvakare, paunenge uchigadzira muJava, uri kunyora kodhi paJVM, saka unogona kushandura nyore kuKotlin, Scala nemimwe mitauro inoshandisa JVM.

Sei uchidzidza Java uye kuti ungazviita sei zvinobudirira. Yandex report

Chii chakanaka nezveJava kubva pamaonero epfungwa? Kune mitauro yakasiyana yepurogiramu. Vanogadzirisa matambudziko akasiyana, munoziva izvozvo. Semuenzaniso, Python yakanakira kunyora-mutsara zvinyorwa kugadzirisa matambudziko nekukurumidza.

Padivi rekuwedzera, unogona kudzora zvizere kodhi inogoneka. Somuenzaniso, tine motokari, Yandex motokari dzisina mutyairi, code yavo yakanyorwa mu pluses. Sei? Java ine chinhu chakadaro - Garbage Collector. Inobvisa RAM yezvinhu zvisina basa. Chinhu ichi chinotanga chisingaiti uye chinomira-nyika, ndiko kuti, inomisa purogiramu yose uye inoenda kuverenga zvinhu, zvakajeka kuyeuka kwezvinhu. Kana chinhu chakadaro chikashanda mune drone, hazvina kutonhorera. Drone yako ichatyaira yakatwasuka, panguva ino bvisa ndangariro dzayo uye usatarise mugwagwa zvachose. Naizvozvo, iyo drone yakanyorwa pane zvakanakira.

Sei uchidzidza Java uye kuti ungazviita sei zvinobudirira. Yandex report

Ndeapi matambudziko anogadziriswa neJava? Inonyanya mutauro wekugadzira mapurogiramu makuru anonyorwa kwemakore, nemakumi kana mazana evanhu. Kunyanya, yakawanda yebackend muYandex.Market yakanyorwa muJava. Tine timu yakagoverwa mumaguta akati wandei, vanhu gumi mune rimwe nerimwe. Uye iyo code iri nyore kuchengetedza, yakatsigirwa kwemakore gumi kana kupfuura, uye panguva imwechete vanhu vatsva vanouya uye vanonzwisisa iyi code.

Ndeapi maitiro anofanira kuve nemutauro kuitira kuti kodhi iri mairi inotsigirwa nyore uye kuitira kuti igone kugadzirwa nyore mumapoka makuru. Chekutanga pane zvese, inofanirwa kuverengeka kodhi, uye inofanirwa kunge iri nyore kushandisa yakaoma yekuvaka mhinduro. Ndiko kuti, inofanira kunge iri nyore kunyora zvinyorwa zvepamusoro-soro, nezvimwewo. Zvose izvi ndizvo zvatinopiwa neJava. Uyu ndiwo mutauro une chinangwa. Zviri nyore chaizvo kushandisa yakakwirira-level abstractions uye yakaoma architecture.

Kune zvakare akawanda masisitimu uye maraibhurari eJava, nekuti mutauro wacho unodarika makore gumi nemashanu. Munguva iyi, zvese zvaigona kunyorwa zvakanyorwa pairi, saka kune matani emaraibhurari ezvese zvaungade.

Sei uchidzidza Java uye kuti ungazviita sei zvinobudirira. Yandex report

Ndeupi hunyanzvi hwekutanga, mumaonero angu, hunofanirwa kuve nekutanga JA mutambi? Chekutanga pane zvese, uku ndiko kuziva kweJava core language. Inotevera imwe mhando yeDependency Injection framework. Mutauri anotevera, Kirill, achataura nezve izvi zvizere. Handizonyanyi kudzika. Zvinotevera zvivakwa uye mapatani ekugadzira. Tinofanira kukwanisa kunyora kodhi yakanaka yekuvaka kuitira kuti tinyore maapplication makuru. Uye iyi ndeimwe mhando yeSQL kana ORM yemabasa ekushanda nedatabase. Uye izvi zvinoshanda zvakanyanya kune backend.

Sei uchidzidza Java uye kuti ungazviita sei zvinobudirira. Yandex report

Enda! Java musimboti. Ini handisi kuzonyatsowana America pano-iwe unofanirwa kuziva mutauro wacho. Zvaunofanira kuteerera. Kutanga, Java yakaburitsa akawanda mavhezheni mumakore achangopfuura, ndiko kuti, muna 2014-2015 yechinomwe yakaburitswa, ipapo yechisere, yechipfumbamwe, yegumi, yakawanda shanduro itsva, uye zvakawanda zvezvinhu zvitsva zvinotonhorera zvakaunzwa mavari. , semuenzaniso, iyo Java Stream API , lambda, etc. Zvakanyanya kutonhorera, zvitsva, zvinhu zvinotonhorera zvinoshandiswa mukodhi yekugadzira, izvo zvavanobvunza pamusoro pekubvunzurudza uye izvo zvaunoda kuziva. Naizvozvo, haufanirwe kutora bhuku kubva pasherufu muJava-4 raibhurari uye enda unoidzidza. Ichi ndicho chirongwa chedu: tinodzidza Java-8 kana kupfuura.

Isu tinoteerera zvakanyanya kune zvitsva zvakadai seStream API, var, etc. Vanobvunzwa panguva yekubvunzurudza uye vanogara vachishandiswa mukugadzira. Ndokunge, iyo Stream API inotonhorera zvakanyanya pane zvishwe, kazhinji, chinhu chinotonhorera. Iva nechokwadi chekuteerera.

Uye kune marudzi ese ezvinhu senge iterators, Exceptions uye zvichingodaro. Zvinhu zvinoita sezvisina kukosha kwauri chero iwe uchinyora imwe diki kodhi iwe pachako. Iwe haudi maExceptions aya, ndiani anoada zvakadaro? Asi ivo vanozonyatso kubvunzwa kubvunzurudzo, ivo vanozonyatso kukubatsira iwe mukugadzira. Kazhinji, iwe unofanirwa kuterera kune Exceptions, iterators uye zvimwe zvinhu.

Sei uchidzidza Java uye kuti ungazviita sei zvinobudirira. Yandex report

Data zvimiro. Iwe haugone kuenda usina zvimiro, asi zvichave zvakanaka kana iwe usingangoziva kuti kune seti, maduramazwi, uye mapepa. Uyewo kushandiswa kwakasiyana kwezvivakwa. Semuenzaniso, iro duramazwi rimwe chete muJava rine zvakawanda zvekushandisa, kusanganisira HashMap uye TreeMap. Vane akasiyana asymptotics, ivo vakagadzirirwa zvakasiyana mukati. Iwe unofanirwa kuziva kuti dzakasiyana sei uye nguva yekushandisa ipi.

Izvo zvakare zvichanyanya kutonhorera kana iwe uchiziva mashandiro aya data zvimiro zvinoshanda mukati. Kureva kuti, hazvisi nyore kuziva asymptotics yavo - kuti bheti inoshanda sei, inguva yakareba sei iyo pass inoshanda, asi kuti chimiro chinoshanda sei mukati - semuenzaniso, chii bhaketi muHashMap.

Izvo zvakakodzerawo kubhadhara kune miti uye magirafu. Izvi zvinhu izvo zvisina kunyanya kuwanda mukodhi yekugadzira, asi zvinozivikanwa mubvunzurudzo. Saizvozvo, iwe unofanirwa kukwanisa kuyambuka miti, magirafu muhupamhi nekudzika. Aya ese ari nyore algorithms.

Paunongotanga kunyora chero hombe kodhi, yakaoma, uchishandisa maraibhurari, akawanda-kirasi kodhi, iwe unozoona kuti zvakakuomera iwe pasina kuvaka masisitimu uye kugadzirisa zvinovimbika. Izvi zvinonyanya Maven uye Gradle. Vanokutendera kuti utore maraibhurari mupurojekiti yako mumutsara mumwe. Kureva kuti, iwe unonyora mutsara-mutsetse xml uye pinza maraibhurari mupurojekiti. Zvirongwa zvikuru. Iwo anenge akafanana, shandisa imwe - Maven kana Gradle.

Inotevera - imwe mhando yeshanduro yekudzora system. Ini ndinokurudzira Git nekuti yakakurumbira uye kune matani ezvidzidzo. Anenge munhu wese anoshandisa Git, chinhu chinotonhorera, haugone kurarama usina.

Uye imwe mhando yebudiriro nharaunda. Ini ndinokurudzira IntelliJ Idea. Iyo inomhanyisa zvakanyanya maitiro ekusimudzira, inokubatsira zvakanyanya, inonyora ese boilerplate kodhi yako, kazhinji, inotonhorera.

Sei uchidzidza Java uye kuti ungazviita sei zvinobudirira. Yandex report

Manongedzo kubva kusiraidhi: SQLZOO, habrapost

SQL. Zvishoma nezve backenders. Paitove nenyaya inosetsa apa. Mazuva maviri ndisati ndabvunzurudzwa yechipiri internship, mumwe musikana weHR akandifonera akati mumazuva maviri vaizondibvunza nezveSQL neHTTP, ndaifanira kuidzidza. Uye ini hapana chandaiziva nezve SQL kana HTTP. Uye ndakawana iyi inotonhorera saiti - SQLZOO. Ndakadzidza SQL pairi mumaawa e12, ndinoreva, SQL syntax, kunyora sei SELECT mibvunzo, JOIN, etc. Saiti inotonhorera, ndinoikurudzira zvikuru. Muchokwadi, mumaawa gumi nemaviri ndakadzidza 12% yezvandinoziva iye zvino.

Uye zvakare zvakanaka kuziva database yekuvaka. Aya ndiwo marudzi ese emakiyi, indexes, normalization. Pane nhevedzano yezvinyorwa nezve izvi paHabrΓ©.

Sei uchidzidza Java uye kuti ungazviita sei zvinobudirira. Yandex report

MuJava, kuwedzera kuSQL, kune marudzi ese eObject-relational mepu masisitimu akadai seJPA. Pane imwe code. Munzira yekutanga pane imwe SQL kodhi - SARUDZA id zita KUBVA info.users WHERE id IN userIds. Kubva kune dhatabhesi yevashandisi, kubva patafura, zvitupa zvavo nemazita anowanikwa.

Tevere, pane imwe mepu inoshandura chinhu kubva pachigadziko kuita chinhu cheJava. Uye pane nzira yechitatu pazasi iyo inotoita iyi kodhi. Zvese izvi zvinogona kutsiviwa uchishandisa JPA nemutsara mumwe, wakanyorwa pazasi. Inoita chinhu chimwe chete - tsvaga All ByIdIn. Ndiko kuti, zvichibva pazita renzira, inokuitira iwe SQL query.

Chinhu chakanaka kwazvo. Ini pachangu, pandakanga ndisingazivi SQL, ndakashandisa JPA. Kazhinji, teerera. Kana iwe uine usimbe zvakanyanya kudzidza SQL, injodzi. Uye, kazhinji, moto!

Sei uchidzidza Java uye kuti ungazviita sei zvinobudirira. Yandex report

Spring. Ndiani akambonzwa nezvechinhu chakadai seSpring framework? Murikuona here kuti vangani venyu varipo? Kwete pasina chikonzero. Chitubu chinosanganisirwa mune zvinodiwa zvesekondi yega yega Java backend vacancy. Pasina iyo, hapana kwese kwese mukukura kukuru. Chii chinonzi Spring? Chekutanga pane zvese, iyi iDependency Injection framework. Pamusoro peizvi zvakare achataura mutauri anotevera. Asi muchidimbu, ichi chinhu chinokutendera kuti uite nyore kupinza zvinotsamira kune mamwe makirasi kune vamwe. Kureva, ruzivo rwekutsamira runorerutswa.

Spring Boot chidimbu cheChirimo chinokutendera kuti umhanye server yako application nebhatani rimwe. Iwe unoenda kuTHID, dzvanya akati wandei mabhatani, uye ikozvino une server yako application kumusoro uye inoshanda pane localhost 8080. Ndiko kuti, hausati wanyora mutsara mumwe chete wekodhi, asi iri kutoshanda. Chinhu chakanaka kwazvo. Kana iwe ukanyora chimwe chinhu chako pachako, moto!

Chitubu chimiro chikuru kwazvo. Haisi kungotora server yako application uye inogadzirisa Dependency Injection. Iyo inokutendera iwe kuita boka rezvinhu, kusanganisira kugadzira REST API nzira. Kureva kuti, iwe wakanyora imwe nzira uye wakanamatira Tora mepu chirevo pairi. Uye ikozvino watova neimwe nzira pane localhost inonyora Hello world kwauri. Mitsara miviri yekodhi uye inoshanda. Cool stuff.

Spring inoitawo kuti bvunzo dzekunyora dzive nyore. Hapana nzira pasina kuyedza mukukura kukuru. Kodhi inoda kuongororwa. Nechinangwa ichi, Java ine inotonhorera raibhurari JUnit 5. Uye JUnit kazhinji, asi yazvino vhezheni ndeyechishanu. Kune zvese zvekuyedzwa, marudzi ese ekusimbisa uye zvimwe zvinhu.

Uye kune inotyisa Mockito chimiro. Fungidzira kuti une mamwe maitiro aunoda kuedza. Iko kushanda kunoita zvinhu zvakawanda, kusanganisira, pane imwe nzvimbo pakati, inopinda muVKontakte neChitupa chako, semuenzaniso, uye inogamuchira zita rekutanga uye rekupedzisira remushandisi weVKontakte kubva kuID. Iwe unogona kunge usingasanganisi VKontakte mumiedzo, izvo zvinoshamisa. Asi iwe unofanirwa kuyedza mashandiro, saka wakagadzira kirasi iyi, uchishandisa Mockito, mok it, kuitevedzera.

Iwe uchati kana chikumbiro chikauya kukirasi iyi ine ID yakadaro uye yakadaro, inodzorera rimwe zita rekupedzisira, semuenzaniso, Vasya Pupkin. Uye zvichashanda. Ndokunge, iwe unoyedza ese mashandiro e mok one kirasi. Chinhu chakanaka kwazvo.

Sei uchidzidza Java uye kuti ungazviita sei zvinobudirira. Yandex report

Batanidza kubva kumasiraidhi

Maitiro ekugadzira. Chii? Aya matemplate ekugadzirisa zvakajairika matambudziko anomuka mukusimudzira. Mukusimudzira, matambudziko akafanana kana akafanana anowanzo simuka izvo zvingave zvakanaka kugadzirisa neimwe nzira zvakanaka. Naizvozvo, vanhu vakauya neakanakisa maitiro, mamwe matemplate, ekugadzirisa matambudziko aya.

Kune webhusaiti ine anonyanya kufarirwa mapatani - refactoring.guru, unogona kuiverenga, tsvaga kuti ndeapi mapatani aripo, verenga boka redzidziso. Dambudziko nderekuti hazvibatsiri. Kutaura zvazviri, maitiro asina maitiro haasi kunyanya kubatsira.

Iwe uchanzwa nezve mamwe mapatani seSingletone kana Muvaki. Ndiani akanzwa mashoko aya? Vanhu vazhinji. Kune maitiro akareruka akadaro aunogona kuita iwe pachako. Asi mazhinji emapateni: zano, fekitori, facade - hazvina kujeka kwekushandisa.

Uye kusvikira iwe waona mukuita mune imwe kodhi yemumwe munhu nzvimbo iyo iyi patani inoshandiswa, haugone kuishandisa iwe pachako. Nokudaro, kudzidzira kunokosha zvikuru nemaitiro. Uye kungoverenga nezvavo pa refactoring.guru hakuna zvakunobatsira, asi zvine basa nazvo.

Sei uchidzidza Java uye kuti ungazviita sei zvinobudirira. Yandex report

Sei mapatani achidiwa? Ngatitii une imwe Mushandisi kirasi. Ine Id uye Zita. Mumwe nemumwe Mushandisi anofanira kunge aine zvese Id uye Zita. Pamusoro kuruboshwe ikirasi.

Ndedzipi nzira dzekutanga Mushandisi? Pane zvingasarudzwa zviviri - angave muvaki kana setter. Ndezvipi zvakaipira nzira mbiri idzi?

Muvaki. Mushandisi mutsva (7, "Bond"), zvakanaka. Zvino ngatitii hatina kirasi yeVashandisi, asi imwe, ine nhamba nomwe dzendima. Iwe uchave nemugadziri ane nhamba nomwe dzakatevedzana. Hazvina kujeka kuti nhamba idzi ndedzipi uye kuti ndeipi yepfuma ipi. Mugadziri haasi mukuru.

Yechipiri sarudzo ndeye setter. Iwe unonyora zvakajeka: setId (7), setName ("Bond"). Iwe unonzwisisa kuti ndeipi pfuma ndeyemunda upi. Asi setter ine dambudziko. Kutanga, iwe unogona kukanganwa kugovera chimwe chinhu, uye chechipiri, chinhu chako chinoshanduka kuva chinoshanduka. Iyi haisi thread yakachengeteka uye inoderedza zvishoma kuverenga kwekodhi. Ndosaka vanhu vakauya nemhando inotonhorera - Muvaki.

Sei uchidzidza Java uye kuti ungazviita sei zvinobudirira. Yandex report

Izvi ndezvei? Ngatiedzei kusanganisa zvakanakira nzira mbiri-setter uye mugadziri-mune imwe. Isu tinoita chimwe chinhu, Muvaki, iyo ichavawo neId uye Zita minda, iyo pachayo ichavakwa yakavakirwa pane setter, uye iyo ichava neKuvaka nzira inodzosera iwe Mushandisi mutsva ane ese maparameter. Tinowana chinhu chisingachinji uye setter. Kutonhora!

Zvinetso ndezvipi? Pano tine Muvaki wekare. Dambudziko nderekuti isu tinogona kukanganwa kutarisa mune imwe ndima. Uye kana takakanganwa kushanyira ID, munyaya iyi muBuilder inotangwa kusvika zero, nekuti int type haibatike. Uye kana tikaita Zita rokuti "Bond" uye tikakanganwa kushanyira hofisi yeID, tichava nemushandisi mutsva ane id "0" uye zita rokuti "Bond". Kwete kutonhorera.

Ngatiedze kurwisa izvi. MuBuilder tichachinja int kuita int kuitira kuti isabatike. Iye zvino zvinhu zvose zvakanaka.

Sei uchidzidza Java uye kuti ungazviita sei zvinobudirira. Yandex report

Kana tikaedza kugadzira Mushandisi ane zita rekuti "Bond", tichikanganwa kuisa ID yake, isu tichawana isina null pointer kunze, nekuti iyo ID haibatike, uye Muvaki ane null, kunyanya pointer kunze.

Sei uchidzidza Java uye kuti ungazviita sei zvinobudirira. Yandex report

Asi isu tinogona kukanganwa kuisa zita, saka isu tinoisa chinhu kudzokororwa kuita null. Zvino, patinovaka chinhu chedu kubva kuMuvaki, chinotarisa kuti munda hausike. Uye handizvo zvoga.

Ngatitarisei muenzaniso wekupedzisira. Mune ino kesi, kana isu neimwe nzira tikaisa null muID yekumhanyisa nguva, zvingave zvakanaka kuti tibve taziva kuti wazviita uye hazvina kunaka kuti uri kukanganisa izvozvi.

Sei uchidzidza Java uye kuti ungazviita sei zvinobudirira. Yandex report

Iwe unofanirwa kukanda chikanganiso kwete panguva yekugadzirwa kweMushandisi, asi kana iwe ukaisa null kuID. Naizvozvo, muBuilder isu tichachinja iyo setter Integer kuti int, uye iye achakurumidza kupika kuti ivo vakarasa pasina.

Muchidimbu, chinangwa ndechei? Iko kune yakapfava Muvaki pateni, asi kunyangwe kuita kwayo kune zvimwe zvidiki, saka zvinotonhorera kutarisa kwakasiyana mashandiro emapateni. Imwe neimwe pateni ine akawanda ekuita. Izvi zvose zvinonakidza zvikuru.

Sei uchidzidza Java uye kuti ungazviita sei zvinobudirira. Yandex report

Isu tinonyora sei Muvaki mune yekugadzira kodhi? Heino Mushandisi wedu. Isu tinonamatira Builder kutenderera kubva kuLombok raibhurari kwairi, uye iyo pachayo inogadzira Muvaki kwatiri. Ndiko kuti, isu hatinyore chero kodhi, asi Java inotofunga kuti kirasi iyi ine Muvaki, uye isu tinogona kuidana seizvi.

Ndakatotaura kuti Java ine maraibhurari ezvinenge zvese, kusanganisira Lombok, raibhurari inotonhorera iyo inokutendera kuti udzivise kunyora boilerplate. Muvaki, GET.

Sei uchidzidza Java uye kuti ungazviita sei zvinobudirira. Yandex report

Mapeteni anogona kuve ekuvaka - ane hukama kwete chete nekirasi imwe chete, asi kune sisitimu yakazara. Kune yakadaro inotonhorera musimboti mukugadzira sisitimu: Single Responsibility Principle. Ari kutaura nezvei? Icho chokwadi chekuti kirasi yega yega inofanirwa kuve nehany'a yemamwe ekuita kwayo. Muchiitiko ichi, isu tine Controller inotaurirana nevashandisi, JSON zvinhu. Kune Facade, inoshandura zvinhu zveJSON kuita modhi iyo Java application inozoshanda nayo. Kune Sevhisi ine yakaoma logic inoshanda nemhando idzi. Pane Data Access Object inoisa mamodheru aya mudhatabhesi uye inoatora kubva mudhatabhesi. Uye pane database pachayo. Mune mamwe mazwi, hazvisi zvese mukirasi imwe, asi tiri kugadzira makirasi mashanu akasiyana, uye ndiyo imwe patani.

Sei uchidzidza Java uye kuti ungazviita sei zvinobudirira. Yandex report

Kana uchinge wadzidza zvakawanda kana zvishoma Java, zvakanaka kunyora purojekiti yako pachayo ichava nedhatabhesi, shanda nemamwe maAPI, uye kufumura sevha application yako kune REST API vatengi. Ichi chingave chinhu chikuru chekuwedzera kune yako tangazve, ingave inotonhorera kupera kudzidzo yako. Neizvi unogona kuenda kunotora basa.

Sei uchidzidza Java uye kuti ungazviita sei zvinobudirira. Yandex report

Heino muenzaniso we server yangu application. Mugore rangu rechipiri, ndakanyora term paper nevakomana. Vainyora nharembozha yekuronga zviitiko. Ikoko, vashandisi vanogona kupinda kuburikidza neVKontakte, kuisa mapoinzi pamepu, kugadzira zviitiko, kukoka shamwari dzavo kwavari, kuchengetedza mifananidzo yezviitiko, nezvimwe.

Ndakaitei mupurojekiti? Akanyora server application muSpring Boot pasina kushandisa SQL. Ini ndaisamuziva, ndaishandisa JPA. Chii chaigona kuita? Pinda kuVK kuburikidza neOAuth-2. Tora chiratidzo chemushandisi, enda kuVK nacho, tarisa kuti mushandisi chaiye. Gamuchira ruzivo nezvevashandisi kuburikidza neVKontakte. Yakakwanisa kuchengetedza ruzivo mudhatabhesi, zvakare kuburikidza neJPA. Neunyanzvi chengetedza mapikicha uye mamwe mafaera mundangariro yekombuta, uye chengetedza zvinongedzo kwavari mudhatabhesi. Panguva iyoyo ndakanga ndisingazive kuti pane zvinhu zveCLOB mudhatabhesi, saka ndakazviita nenzira iyi. Paive neREST API yevashandisi, macustomer application. Uye pakanga paine bvunzo dzeyuniti yebasa rekutanga.

[…] Muenzaniso mudiki wekudzidza kwangu kwakabudirira kweJava. Mugore rangu rekutanga kuyunivhesiti, ndakadzidziswa C# uye ndikapihwa nzwisiso yeOOP programming - ndeapi makirasi, mainterface, abstraction ndeapi, uye nei achidikanwa. Zvakandibatsira zvikuru. Pasina izvi, kudzidza Java kwakaoma; hazvisi pachena kuti nei makirasi achidiwa.

Sei uchidzidza Java uye kuti ungazviita sei zvinobudirira. Yandex report

Mugore rangu rechipiri payunivhesiti, vakadzidzisazve Java core, asi handina kumira ipapo, ndakaenda kunodzidza Spring ini ndokunyora pepa redzidzo, purojekiti yangu, yandakataura pamusoro apa. Uye nezvose izvi, ndakaenda kune internship paYandex, ndakapfuura hurukuro, ndikapinda muYandex.Market. Ikoko ndakanyora backend yeBeru, iyi ndiyo nzvimbo yedu yemusika, uye yeYandex.Market pachayo.

Mushure meizvozvo, mwedzi mitanhatu yapfuura, ndakatamira kune chimwe timu mukati meMusika mumwe chete. Isu tinoita analytics yevashandi vebhizinesi. Isu tiri mupuratifomu yekuongorora, isu tiri vatatu kubackend, saka ini ndine chikamu chakakura kwazvo chepesvedzero pachirongwa. Zvinonakidza chaizvo, chaizvo. Ndiko kuti, isu tinopa chaizvo data pamusika - ndezvipi zvinotengeswa, muzvikamu zvipi, mune zvipi zvimiro, zvevashandi vebhizinesi, makambani makuru anozivikanwa. Uye isu tiri vatatu chete, isu tinonyora iyi kodhi, uye inotonhorera kwazvo.

Ndatenda! Zvinobatsira:
- "Java 8. Mutungamiriri Wekutanga".
- Data zvimiro.
- SQLZOO.
- Database Normalization.
- Dhizaini Maitiro.
- Dhizaini Mapatani.
- Yakachena Code.
- Inoshanda Java.

Source: www.habr.com

Voeg