Çima Java fêr bibe û meriv wê çawa bi bandor bike. Rapora Yandex

Java ji zimanên din ên populer çawa cûda ye? Çima dibe ku Java zimanê yekem be ku fêr bibe? Werin em plansaziyek çêbikin ku dê ji we re bibe alîkar ku hûn Java-yê hem ji sifirê û hem jî bi sepandina jêhatîbûna bernamesaziyê bi zimanên din fêr bibin. Werin em cûdahiyên di navbera afirandina koda hilberînê ya li Java û pêşxistina bi zimanên din de navnîş bikin. Mikhail Zatepyakin ev rapor di civînekê de ji bo beşdarên pêşerojê xwend internships Yandex û pêşdebirên din ên destpêkê - Hevdîtina Java Junior.


- Merheba hemûyan, navê min Mîşa ye. Ez pêşdebirek ji Yandex.Market im, û îro ez ê ji we re bibêjim ka çima Java fêr bibe û meriv wê çawa bi bandor bike. Dibe ku hûn pirsek maqûl bipirsin: çima ez ê vê çîrokê vebêjim, û ne pêşdebirek bihêz bi ezmûna gelek salan? Rastî ev e ku min bixwe vê dawiyê Java xwend, bi qasî sal û nîv berê, ji ber vê yekê ez hîn jî tê bîra min ka ew çawa bû û çi xeletî hene.

Salek berê min li Yandex.Market stajyerek girt. Min ji bo Beru, ji bo Bazarê bixwe paşverû pêşxist, belkî we ew bikar anî. Niha ez li wir, di tîmeke cuda de xebata xwe didomînim. Em ji bo hevalbendên karsaziyê ji bo Yandex.Market platformek analîtîk ava dikin.

Çima Java fêr bibe û meriv wê çawa bi bandor bike. Rapora Yandex

Werin em dest pê bikin. Çima Java ji nêrînek pratîkî fêr bibin? Rastî ev e ku Java zimanek bernamesaziyê pir navdar e. Xwedî civakeke pir mezin e.

Mînakî, navnîşek TIOBE ya weha heye, navnîşek populer a populerbûna zimanên bernamekirinê, û Java li wir di rêza yekem de ye. Di heman demê de, li ser malperên kar, hûn ê belkî bala xwe bidin ku piraniya valahiyan di derbarê Java de ne, ango, bi pêşvebirina Java-yê, hûn her gav dikarin karekî bibînin.

Ji ber ku civak pir mezin e, her pirsek we hebe dê bersivek li ser hin Stack Overflow an malperên din bibînin. Di heman demê de, dema ku li Java-yê pêşve diçin, hûn bi rastî kodê li ser JVM-ê dinivîsin, ji ber vê yekê hûn dikarin bi hêsanî Kotlin, Scala û zimanên din ên ku JVM bikar tînin veguherînin.

Çima Java fêr bibe û meriv wê çawa bi bandor bike. Rapora Yandex

Ji hêla îdeolojîk ve li ser Java-ê çi baş e? Zimanên bernameyên cuda hene. Ew pirsgirêkên cûda çareser dikin, hûn dizanin. Mînakî, Python ji bo nivîsandina skrîptên yek-xêzek mezin e ku pirsgirêkên bilez çareser bike.

Aliyê erênî, hûn dikarin koda darvekirinê bi tevahî kontrol bikin. Mînakî, otomobîlên me hene, otomobîlên bê ajokar Yandex, koda wan bi pluses têne nivîsandin. Çima? Java tiştek wusa heye - Berhevkarê Çopê. Ew RAM-ê ji tiştên nepêwist paqij dike. Ev tişt ji xweber dest pê dike û cîhan rawestîne, ango bernamê mayî radiwestîne û diçe jimartina tiştan, bîra zelal a tiştan. Ger tiştekî wiha di drone de bixebite, ne xweş e. Dê drona we rasterast bimeşe, di vê gavê de bîra xwe paqij bike û qet li rê nenêre. Ji ber vê yekê, drone li ser pisporan tête nivîsandin.

Çima Java fêr bibe û meriv wê çawa bi bandor bike. Rapora Yandex

Java kîjan pirsgirêkan çareser dike? Ew di serî de zimanek e ji bo pêşxistina bernameyên mezin ên ku bi salan, ji hêla dehan an bi sedan kesan ve têne nivîsandin. Bi taybetî, gelek paşnavên li Yandex.Market bi Java-yê têne nivîsandin. Li gelek bajaran tîmeke me ya belavkirî heye, li her yekê deh kes. Û parastina kodê hêsan e, ew deh sal an jî bêtir piştgirî kiriye, û di heman demê de mirovên nû têne hundur û vê kodê fam dikin.

Divê zimanek xwedî kîjan taybetmendiyan be da ku koda tê de bi hêsanî were piştgirî kirin û bi hêsanî di tîmên mezin de were pêşve xistin. Berî her tiştî, divê ew kodek were xwendin, û pêkanîna çareseriyên mîmarî yên tevlihev hêsan be. Ango, divê hêsan be nivîsandina abstractions-asta bilind, hwd. Hemî ev e ku Java ji me re peyda dike. Ev zimanekî objekt-oriented e. Ew bi rastî hêsan e ku meriv abstractions-asta bilind û mîmariyên tevlihev bicîh bîne.

Ji bo Javayê jî gelek çarçove û pirtûkxane hene, ji ber ku ziman ji 15 salî zêdetir e. Di vê demê de, her tiştê ku dikaribû were nivîsandin li ser hate nivîsandin, ji ber vê yekê ji bo her tiştê ku hûn hewce ne bi ton pirtûkxane hene.

Çima Java fêr bibe û meriv wê çawa bi bandor bike. Rapora Yandex

Bi dîtina min, divê lîstikvanek JA-ya destpêkê xwedî kîjan jêhatîbûnên bingehîn be? Berî her tiştî, ev zanîna zimanê bingehîn Java ye. Dûv re cûreyek çarçoveyek Injeksiyonê ya girêdayîbûnê ye. Axaftvanê din, Kirill, dê li ser vê yekê bi tevahî biaxive. Ez ê zêde kûr neçim. Piştre mîmarî û şêweyên sêwiranê ye. Ji bo ku em serîlêdanên mezin binivîsin divê em karibin kodek mîmarî ya xweşik binivîsin. Û ev celebek SQL an ORM ji bo karên xebata bi databasê re ye. Û ev bêtir ji bo paşnavê derbas dibe.

Çima Java fêr bibe û meriv wê çawa bi bandor bike. Rapora Yandex

Ajotin! Java bingehîn. Ez ê bi rastî Amerîka li vir keşif nekim - hûn hewce ne ku ziman bixwe zanibin. Çi divê hûn bala xwe bidin. Ya yekem, Java di van salên dawî de gelek guhertoyên berdan, ango di 2014-2015 de ya heftemîn derket, dûv re ya heştem, neh, deh, gelek guhertoyên nû, û gelek tiştên nû yên xweş di wan de hatin destnîşan kirin. Mînakî, Java Stream API , lambda, hwd. Tiştên pir xweş, teze, xweş ên ku di koda hilberînê de têne bikar anîn, di hevpeyivînan de çi dipirsin û divê hûn zanibin. Ji ber vê yekê, divê hûn pirtûkek ji refika pirtûkxaneya Java-4 negirin û biçin wê fêr bibin. Ev plana me ye: em Java-8 an bilindtir fêr dibin.

Em bi baldarî bala xwe didin nûjeniyên wekî Stream API, var, hwd. Ew di dema hevpeyivînan de têne pirsîn û bi berdewamî di hilberînê de têne bikar anîn. Ango, Stream API ji lûpkan pir sartir e, bi gelemperî, tiştek pir xweş e. Bê guman bala xwe bidin.

Û her cûre tiştên wekî iterator, Îstîsna û hwd hene. Tiştên ku ji we re ne girîng xuya dikin heya ku hûn bi xwe kodek piçûk binivîsin. Hûn ne hewceyî van Îstîsnayan in, ji kê re jî hewcedariya wan heye? Lê ew ê bê guman di hevpeyvînan de bêne pirsîn, ew ê bê guman di hilberînê de ji we re bikêr bin. Bi gelemperî, divê hûn bala xwe bidin Îstîsnayan, dubareker û tiştên din.

Çima Java fêr bibe û meriv wê çawa bi bandor bike. Rapora Yandex

Avahiyên daneyan. Hûn nekarin bêyî avahiyan biçin, lê ew ê pir xweş be heke hûn tenê zanibin ku kom, ferheng û pel hene. Û her weha pêkanînên cûda yên strukturên. Mînakî, heman ferhengê di Java de gelek pêkanîn hene, di nav de HashMap û TreeMap. Ew asîmptotîkên cûda hene, ew di hundurê de cûda têne saz kirin. Pêdivî ye ku hûn zanibin ka ew çawa cûda dibin û kengê kîjan bikar bînin.

Di heman demê de ew ê pir xweş be heke hûn zanibin ka van strukturên daneyê çawa di hundurê xwe de dixebitin. Ango, ne hêsan e ku meriv asîmptotîkên wan zanibe - behîs çiqas dixebite, derbasbûn çiqas dirêj dixebite, lê avahî çawa di hundurê de dixebite - mînakî, kelek di HashMap de çi ye.

Her weha hêja ye ku bala xwe bidin dar û grafikan. Ev tiştên ku di koda hilberînê de ne pir gelemperî ne, lê ew di hevpeyvînan de populer in. Li gorî vê yekê, hûn hewce ne ku hûn daran, grafîkan bi firehî û kûrahî bigerin. Ev hemû algorîtmayên sade ne.

Hema ku hûn dest bi nivîsandina kodek mezin, tevlihev, karanîna pirtûkxane, koda pir-polî dikin, hûn ê fêhm bikin ku bêyî avakirina pergalan û çareserkirina pêwendiyan ji we re dijwar e. Ev di serî de Maven û Gradle ne. Ew dihêlin ku hûn pirtûkxaneyan di yek rêzê de têxin nav projeya xwe. Ango, hûn xml-yek-xêzek dinivîsin û pirtûkxaneyên di projeyê de derdixin. Sîstemên mezin. Ew bi qasî hev in, yek bikar bînin - Maven an Gradle.

Piştre - cûreyek pergala kontrola guhertoyê. Ez Git pêşniyar dikim ji ber ku ew populer e û bi ton dersan hene. Hema hema her kes Git bikar tîne, ew tiştek xweş e, hûn nikarin bêyî wê bijîn.

Û celebek hawirdora pêşveçûnê. Ez IntelliJ Idea pêşniyar dikim. Ew pir pêvajoya pêşkeftinê bilez dike, pir ji we re dibe alîkar, hemî koda boilerplate ji we re dinivîse, bi gelemperî, ew xweş e.

Çima Java fêr bibe û meriv wê çawa bi bandor bike. Rapora Yandex

Lînkên ji slaytê: SQLZOO, habrapost

SQL. Piçek li ser piştgiran. Bi rastî li vir bûyerek pêkenok hebû. Du roj beriya hevpeyivîna min a duyemîn a internship, keçek HR gazî min kir û got ku di du rojan de ew ê li ser SQL û HTTP ji min bipirsin, hewce bû ku ez fêr bibim. Û min hema di derbarê SQL an HTTP de tiştek nizanibû. Û min ev malpera xweş dît - SQLZOO. Ez SQL li ser wê di nav 12 saetan de fêr bûm, mebesta min, hevoksaziya SQL, meriv çawa pirsên SELECT binivîse, JOIN, hwd. Malperek pir xweş, ez wê pir pêşniyar dikim. Bi rastî, di 12 demjimêran de ez 90% ya ku ez nuha dizanim fêr bûm.

Û di heman demê de pir xweş e ku meriv mîmariya databasê nas bike. Ev her cûre keys, index, normalîzekirin in. Li ser vê yekê li ser Habré rêzek nivîs hene.

Çima Java fêr bibe û meriv wê çawa bi bandor bike. Rapora Yandex

Di Java-yê de, ji bilî SQL, her cûre pergalên nexşeyê yên Têkilî yên wekî JPA hene. Hin kodek heye. Di rêbaza yekem de hin koda SQL-ê heye - Navê nasnameyê JI info.bikarhêner LI WHERE id IN userIds hilbijêrî. Ji databasa bikarhêneran, ji tabloyê, nasname û navên wan têne wergirtin.

Dûv re, nexşeyek taybetî heye ku tiştek ji bingehê vediguhere tiştek Java. Û rêbazek sêyemîn li jêr heye ku bi rastî vê kodê dimeşîne. Hemî ev dikare bi karanîna JPA bi yek rêzek, ku li jêr hatî nivîsandin, were guheztin. Ew heman tiştî dike - Hemî ByIdIn bibînin. Ango, li ser bingeha navê rêbazê, ew ji we re pirsek SQL çêdike.

Tiştek pir xweş. Min bixwe, gava ku min SQL nizanibû, JPA bikar anî. Bi gelemperî, bala xwe bidin. Ger hûn ji fêrbûna SQL pir tembel in, ew felaket e. Û, bi gelemperî, agir!

Çima Java fêr bibe û meriv wê çawa bi bandor bike. Rapora Yandex

Bihar. Kê tiştek wekî çarçoveya Biharê bihîstiye? Ma hûn dibînin çend ji we hene? Ne bê sedem. Bihar di nav hewcedariyên her duyemîn valahiya paşiya Javayê de ye. Bêyî wê, bi rastî li cîhek pêşveçûnek mezin tune. Bihar çi ye? Berî her tiştî, ev çarçoveyek Injeksiyonê ya Girêdanê ye. Li ser vê jî dê bêje axaftvanê din. Lê bi kurtî, ev tiştek e ku dihêle hûn hêsantir bikin ku girêdanên hin çînan li yên din bixin. Ango zanîna girêdayiyan hêsan e.

Spring Boot perçeyek Biharê ye ku dihêle hûn serîlêdana servera xwe bi yek bişkokê bimeşînin. Hûn diçin THID, çend bişkokan pêl dikin, û naha we serîlêdana servera xwe li ser localhost 8080-ê dimeşîne û dimeşîne. Ango, we hê yek rêzek kodek nenivîsandiye, lê ew jixwe dixebite. Tiştek pir xweş. Ger tu tiştekî ji xwe binivîsî, agir!

Bihar çarçoveyeke pir mezin e. Ew ne tenê serîlêdana servera we hildibijêre û Derzkirina Girêdanê çareser dike. Ew dihêle hûn komek tiştan bikin, tevî afirandina rêbazên REST API. Ango, we hin rêbazek nivîsand û şîroveya nexşeya Get pê ve girêda. Û naha we jixwe hin rêbazek li ser localhost heye ku Hello world ji we re dinivîse. Du rêzikên kodê û ew dixebite. Tiştên xweş.

Bihar jî testên nivîsandinê hêsantir dike. Di pêşkeftina mezin de bêyî ceribandinê rê tune. Pêdivî ye ku kod were ceribandin. Ji bo vê armancê, Java pirtûkxaneyek xweş JUnit 5 heye. Û JUnit bi gelemperî, lê guhertoya herî dawî ya pêncemîn e. Ji bo ceribandinê, her cûre îdîa û tiştên din her tişt heye.

Û çarçoveyek Mockito ya ecêb heye. Bifikirin ku we hin fonksiyonek heye ku hûn dixwazin ceribandinê bikin. Fonksiyon gelek tiştan dike, di nav de, li deverek navîn, ew bi nasnameya we, mînakî, têkeve nav VKontakte, û nav û paşnavê bikarhênerê VKontakte ji nasnamê werdigire. Dibe ku hûn ê VKontakte nexin nav ceribandinan, ev ecêb e. Lê hûn hewce ne ku fonksiyonê biceribînin, ji ber vê yekê we ev pola çêkir, Mockito bikar anî, wê mok bike, teqlîd bike.

Hûn ê bibêjin ku gava daxwazek bi nasnameyek wusa û wusa tê vê polê, ew hin paşnav vedigerîne, mînakî Vasya Pupkin. Û ew ê bixebite. Ango, hûn ê hemî fonksiyonê ji bo pola mok yek ceribînin. Tiştek pir xweş.

Çima Java fêr bibe û meriv wê çawa bi bandor bike. Rapora Yandex

Girêdana ji slaytê

Nimûneyên sêwiranê. Ew çi ye? Ev şablon in ji bo çareserkirina pirsgirêkên tîpîk ên ku di pêşkeftinê de derdikevin. Di pêşkeftinê de, pir caran pirsgirêkên heman an jî mîna hev derdikevin ku dê bi rengek baş were çareser kirin. Ji ber vê yekê, mirov bi pratîkên çêtirîn, hin şablonan, li ser ka meriv çawa van pirsgirêkan çareser dike, derketin.

Malperek bi qalibên herî populer heye - refactoring.guru, hûn dikarin wê bixwînin, fêr bibin ka çi qalib hene, komek teoriyê bixwînin. Pirsgirêk ev e ku ew bi pratîkî bêkêr e. Bi rastî, qalibên bê pratîk bi taybetî ne bikêr in.

Hûn ê li ser hin nimûneyên mîna Singleton an Builder bibihîzin. Kê ev gotin bihîstine? Gelek mirov. Nimûneyên wusa hêsan hene ku hûn dikarin xwe bicîh bikin. Lê piraniya nimûneyan: stratejî, kargeh, facade - ne diyar e ku meriv wan li ku derê bicîh bîne.

Û heta ku hûn di pratîkê de di kodek kesek din de cîhek ku ev nimûne lê tê sepandin nebînin, hûn ê nikaribin wê bi xwe bicîh bînin. Ji ber vê yekê, pratîk bi qalibên pir girîng e. Û tenê xwendina li ser wan li ser refactoring.guru ne pir alîkar e, lê bê guman hêjayî kirina wê ye.

Çima Java fêr bibe û meriv wê çawa bi bandor bike. Rapora Yandex

Çima nimûne hewce ne? Ka em bibêjin ku hûn çînek bikarhênerek diyar heye. Nasname û navek wê heye. Divê her Bikarhêner hem nasnameyek û hem jî navek hebe. Li jor çepê polê ye.

Awayên destpêkirina Bikarhêner çi ne? Du vebijark hene - an çêker an sazker. Dezawantajên herdu rêbazan çi ne?

Constructor. Bikarhênerê nû (7, "Bond"), baş e. Naha em bibêjin ku me çînek Bikarhêner tune, lê yekî din, bi heft qadên hejmarî heye. Hûn ê avakerek ku heft hejmarên li pey hev vedihewîne hebin. Ne diyar e ev hejmar çi ne û kîjan ji wan aîdê kîjan milkî ne. Sêwiran ne mezin e.

Vebijarka duyemîn setter e. Hûn bi zelalî dinivîsin: setId (7), setName ("Bond"). Hûn fêm dikin ku kîjan milk girêdayî kîjan zeviyê ye. Lê setter pirsgirêkek heye. Ya yekem, dibe ku hûn ji bîr bikin ku tiştek destnîşan bikin, û ya duyemîn jî, tiştê we guhezbar dibe. Ev ne ewledar e û xwendina kodê hinekî kêm dike. Ji ber vê yekê mirov bi şêwazek xweş peyda kir - Avaker.

Çima Java fêr bibe û meriv wê çawa bi bandor bike. Rapora Yandex

Ev li ser çi ye? Werin em hewl bidin ku avantajên her du nêzîkatiyan -sazker û çêker- di yek de bi hev re bikin. Em hêmanek diyar dikin, Avaker, ku di heman demê de qadên Id û Name jî hene, ku bixwe dê li ser bingeha sazkerê were çêkirin, û ya ku dê xwediyê rêbazek Avakirinê be ku bi hemî pîvanan ve Bikarhênerek nû ji we re vedigerîne. Em tiştekî neguhêrbar û setterek distînin. Xwînsar!

Pirsgirêk çi ne? Li vir em avakerê klasîk hene. Pirsgirêk ev e ku em hîn jî dikarin ji bîr bikin ku li hin qadan kontrol bikin. Û heke me ji bîr kir ku em seredana ID-ê bikin, di vê rewşê de di Builder de ew bi sifirê ve tête dest pê kirin, ji ber ku celebê int ne betal e. Û heger em Navê "Bond" çêbikin û ji bîr nekin ku biçin ofîsa nasnameyê, dê bikarhênerek nû ya bi nasnameya "0" û navê "Bond" hebe. Ne xweş.

Werin em hewl bidin ku vê yekê şer bikin. Di Builder de em ê int-ê biguhezînin int da ku ew betal be. Niha her tişt mezin e.

Çima Java fêr bibe û meriv wê çawa bi bandor bike. Rapora Yandex

Ger em hewl bidin ku Bikarhênerek bi navê "Bond" biafirînin, ji bîr nekin ku nasnameyek lê bidin, em ê îstîsna nîşankerek nûl bistînin, ji ber ku ID ne betal e, lê Builder nullek heye, bi taybetî îstîsna nîşanker.

Çima Java fêr bibe û meriv wê çawa bi bandor bike. Rapora Yandex

Lê dîsa jî em dikarin ji bîr bikin ku navekî deynin, ji ber vê yekê em nûvekirina objektê wekî null destnîşan dikin. Naha, gava ku em tişta xwe ji Builder ava dikin, ew kontrol dike ku zevî ne betal e. Û ev ne hemû ye.

Ka em li mînaka dawî binêrin. Di vê rewşê de, heke em bi rengek null di dema xebitandina ID-ê de bixin, dê pir xweş be ku hûn tavilê zanibin ku we wiya kiriye û ne xweş e ku hûn nuha xeletiyek dikin.

Çima Java fêr bibe û meriv wê çawa bi bandor bike. Rapora Yandex

Pêdivî ye ku hûn ne di dema afirandina Bikarhêner de xeletiyek bavêjin, lê gava ku hûn ID-ê null danîne. Ji ber vê yekê, di Builder de em ê jimareya Integer biguhezînin int, û ew ê tavilê sond bixwe ku wan null avêtine.

Bi kurtî, mesele çi ye? Nimûneyek Builder a hêsan heye, lê tewra pêkanîna wê jî hin hûrguliyên xwe hene, ji ber vê yekê pir xweş e ku meriv li pêkanînên cihêreng ên nimûneyan binêre. Her nimûne bi dehan pêkanîn hene. Ev hemî pir balkêş e.

Çima Java fêr bibe û meriv wê çawa bi bandor bike. Rapora Yandex

Em çawa di koda hilberînê de Builder dinivîsin? Li vir Bikarhênerê me ye. Em zivirandinek Builder ji pirtûkxaneya Lombok pê ve girêdidin, û ew bixwe ji me re Avakerek çêdike. Ango, em tu kodê nanivîsin, lê Java jixwe difikire ku vê polê avakerek heye, û em dikarin bi vî rengî jê re bibêjin.

Min berê jî got ku Java hema hema ji bo her tiştî pirtûkxane hene, di nav de Lombok, pirtûkxaneyek xweş a ku dihêle hûn ji nivîsandina boilerplate dûr bisekinin. Avaker, GET.

Çima Java fêr bibe û meriv wê çawa bi bandor bike. Rapora Yandex

Nimûne dikarin mîmarî bin - ne tenê bi yek çînekê, lê bi pergalê re bi tevahî ve girêdayî ne. Di sêwirana pergalê de prensîbek wusa xweş heye: Prensîba Berpirsiyariya Yekane. Ew behsa çi dike? Rastiya ku her çîn divê ji hin fonksiyonên xwe berpirsiyar be. Di vê rewşê de, me Kontrolkerek heye ku bi bikarhêneran re, tiştên JSON re danûstendinê dike. Facade heye, ku tiştên JSON vediguherîne modelên ku serîlêdana Java wê hingê bi wan re bixebite. Xizmetek heye ku mentiqek tevlihev heye ku bi van modelan re dixebite. Tiştek Gihîştina Daneyê heye ku van modelan dixe nav databasê û wan ji databasê vedigire. Û databas bixwe heye. Bi gotineke din, ew ne hemî di yek polê de ye, lê em pênc çînên cûda çêdikin, û ew nimûneyek din e.

Çima Java fêr bibe û meriv wê çawa bi bandor bike. Rapora Yandex

Gava ku we kêm-zêde Java fêr bû, pir xweş e ku hûn projeya xwe binivîsin ku dê databasek hebe, bi API-yên din re bixebite û serîlêdana servera xwe ji xerîdarên REST API re eşkere bike. Ev ê tiştek girîng be ku hûn li resumeya xwe zêde bikin, ew ê ji perwerdehiya we re dawiya xweş be. Bi vê yekê hûn dikarin biçin û karekî peyda bikin.

Çima Java fêr bibe û meriv wê çawa bi bandor bike. Rapora Yandex

Li vir mînakek serîlêdana servera min e. Di sala xwe ya duyemîn de, min bi hevalan re kaxezek termê nivîsî. Wan ji bo organîzekirina bûyeran serîlêdanek mobîl dinivîsî. Li wir, bikarhêner dikarin bi rêya VKontakte têkevin, xalan li ser nexşeyê bi cîh bikin, bûyeran biafirînin, hevalên xwe vexwînin wan, wêneyên bûyeran hilînin, hwd.

Min di projeyê de çi kir? Di Spring Boot de bêyî karanîna SQL serîlêdanek serverek nivîsand. Min ew nas nekir, min JPA bikar anî. Dikaribû çi bike? Bi navgîniya OAuth-2 ve têkevin VK. Nîşana bikarhêner bistînin, bi wê re biçin VK-ê, kontrol bikin ku ew bikarhênerek rastîn e. Bi riya VKontakte agahdariya li ser bikarhêneran bistînin. Ew dikaribû di databasek de, di heman demê de bi JPA-yê, agahdarî tomar bike. Bi jêhatî wêne û pelên din di bîra komputerê de hilînin, û lînkên wan di databasê de hilînin. Wê demê min nizanibû ku di databasê de tiştên CLOB hene, ji ber vê yekê min bi vî rengî kir. Ji bo bikarhêneran, serîlêdanên xerîdar REST API hebû. Û ji bo fonksiyona bingehîn testên yekîneyê hebûn.

[...] Mînakek piçûk a fêrbûna min a serketî ya Java. Di sala xweya yekem a zanîngehê de, min fêrî C# kir û ji bernamesaziya OOP-ê têgihîştin - çi ders, navbeynkar, abstraction çi ne, û çima ew hewce ne. Pir alîkariya min kir. Bêyî vê, fêrbûna Java pir dijwar e; ne diyar e ka çima ders hewce ne.

Çima Java fêr bibe û meriv wê çawa bi bandor bike. Rapora Yandex

Di sala min a duyemîn de li zanîngehê, wan dîsa hînî Java core kir, lê ez li vir nesekinîm, ez bi xwe çûm xwendina Springê û kaxezek qursê, projeya min, ku min li jor behs kir, nivîsî. Û bi van hemûyan re, ez çûm stajyerek li Yandex, hevpeyvînek derbas kir û ketim nav Yandex.Market. Li wir min paşnav ji bo Beru nivîsand, ev sûka me ye, û ji bo Yandex.Market bixwe.

Piştî wê, şeş meh berê, ez di nav heman Bazarê de veguhestin tîmek din. Em ji bo hevkarên karsaziyê analîtîk dikin. Em di platforma analîtîk de ne, em sê kes li ser piştê ne, ji ber vê yekê bandorek min a pir mezin li ser projeyê heye. Bi rastî pir balkêş e. Ango, em bi rastî daneyên li ser sûkê peyda dikin - firot çi ne, di kîjan kategoriyan de, di kîjan modelan de, ji bo hevkarên karsaziyê, pargîdaniyên mezin ên navdar. Û em tenê sê kes in, em vê kodê dinivîsin, û ew pir xweş e.

Sipas ji were! Girêdanên bikêr:
- "Java 8. Rêbernameya Destpêkê".
- Avahiyên daneyan.
- SQLZOO.
- Normalîzasyona Database.
- Şêweyên sêwiranê.
- Modelên Sêwiranê.
- Koda Paqij.
- Java bi bandor.

Source: www.habr.com

Add a comment