E-Dobavki - sevhisi yewebhu yekutsvaga zvekudya zvinowedzera muJava uye Spring Boot, yakanyorwa nevadzidzi vangu

Nhanganyaya

Zvakaitika kuti kweanoda kusvika makore maviri apfuura ndanga ndichidzidzisa programming pane chimwe chezvikoro zveIT muKyiv. Ndakatanga kuita izvi Just For Fun. Ndakambonyora bhurogi rekuronga, ndikazorisiya. Asi chido chokuudza vanhu vanofarira zvinhu zvinobatsira hachina kupera.

Mutauro wangu mukuru ndiJava. Ndakanyora mitambo yenharembozha, software yekutaurirana neredhiyo, uye akasiyana masevhisi ewebhu pairi. Uye ndinodzidzisa Java.

Pano ndinoda kutaura nyaya yekudzidziswa kweboka rangu rekupedzisira. Mafambiro avakaita kubva pakutanga kudzidziswa kusvika pakunyora basa rewebhu rinoshanda. Basa rewebhu rinobatsira rekutsvaga zvinovaka muviri. Yemahara, hapana kushambadzira, kunyoresa uye SMS.

Iyo sevhisi pachayo iri pano - E-Dobavki.com.

E-Dobavki - sevhisi yewebhu yekutsvaga zvekudya zvinowedzera muJava uye Spring Boot, yakanyorwa nevadzidzi vangu

Iyo purojekiti inodzidzisa uye haina chero kushambadzira. Sezvandinonzwisisa kubva chinyorwa ichi, unogona kupa zvinongedzo kumapurojekiti akadaro.

Ndisati ndatsanangura purojekiti pachayo, ini ndichakuudza zvishoma nezve maitiro eboka rekudzidza; pasina izvi, mufananidzo unenge usina kukwana.

9 mwedzi kudzidziswa

Pachikoro pandinodzidzisa, kosi yeJava yakakamurwa kuita zvikamu zviviri. Pakazara, kosi inotora ingangoita 2 mwedzi, nekuzorora kwese (Gore Idzva mazororo, nguva yekunyora mapurojekiti epakati).

Chikamu chekutanga chinosuma vadzidzi kupfungwa dzekutanga dzemutauro. Zvinosiyana, nzira, OOP basics uye zvese izvo zvinhu.

Chikamu chechipiri chekosi chinopa kuti mudzidzi atonzwisisa zvakanyanya kana zvishoma kunyora muJava, uye anogona kupihwa "mukuru" tekinoroji stack. Izvo zvese zvinotanga neSQL, ipapo JDBC, Hibernate. Zvadaro HTTP, servlets. Inotevera ndiyo Chitubu, zvishoma nezve git uye maven. Uye vadzidzi vanonyora mapurojekiti ekupedzisira.

Kudzidziswa kwese kwakakamurwa kuita mamodule. Ndaiitisa zvidzidzo kaviri pavhiki. Nguva yechidzidzo chimwe maawa maviri.

Nzira yangu yekudzidza

Ndakaburitsa 5 groups. Zvinoita senge zvakawanda kwemakore maviri, asi ini ndinenge ndagara ndichitungamira mapoka maviri mukufanana.

Ndakaedza nzira dzakasiyana.

Sarudzo yekutanga ndeyekuti peya imwe inopihwa mharidzo ine dzidziso. Vaviri vechipiri itsika yakachena. Iyi nzira yakashanda neimwe nzira, asi yakanga isinganyanyi kushanda, mumaonero angu.

Sarudzo yechipiri yandauya kwairi uye yandiri kushanda pairi parizvino haisi yekupira vaviri vese kudzidziso. Pane kudaro, ndinosanganisa zvikamu zvipfupi zvedzidziso kwemaminetsi mashanu-5, uye nekukasira simbisa iwo nemienzaniso inoshanda. Iyi nzira inoshanda zviri nani.

Kana paine nguva yakakwana, ndinodaidza vadzidzi kunzvimbo yangu, ndogara pasi palaptop yangu, uye ivo vanoita mienzaniso inoshanda ivo pachavo. Inoshanda zvikuru, asi zvinosuruvarisa kuti inotora nguva yakawanda.

Haasi munhu wese anosvika kumagumo

Kuwana kwandiri yaive chokwadi chekuti havasi boka rose rinosvika kumagumo ekosi.

Maererano nekuona kwangu, hafu chete yevadzidzi vanonyora purojekiti yekupedzisira. Vazhinji vavo vanobviswa mukati mechikamu chekutanga chekosi. Uye avo vasvika chikamu chechipiri kazhinji havawa.

Vanoenda nezvikonzero zvakasiyana-siyana.

Yokutanga yakaoma kunzwisisa. Pasinei nezvavanotaura, Java hausi mutauro wakapfava. Kunyora kunyange purogiramu iri nyore, unoda kunzwisisa pfungwa yekirasi, nzira. Uye kuti unzwisise chikonzero nei uchifanira kunyora public static void main(String[] arg) Pane mamwe mashoma pfungwa dzekunzwisisa.

Enzanisa izvi naTurbo Pascal, zvinova izvo vanhu vazhinji vakatanga nazvo, kusanganisira ini:

begin
    writeln("ΠŸΠ΅Ρ€Π²Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°");
end.

Sekuziva kwangu, chikoro chinogadzirisa dambudziko iri nekuunza kumwe kuyedzwa. Iye zvino havasi vese vachakwanisa kudzidza Java. Izvi zvichiri padanho rekufunga, asi nhanho yacho zviri pachena kuti ndiyo chaiyo.

Uye chikonzero chechipiri chakafanana nemufananidzo uri pazasi:

E-Dobavki - sevhisi yewebhu yekutsvaga zvekudya zvinowedzera muJava uye Spring Boot, yakanyorwa nevadzidzi vangu

Vanhu vanowanzofunga kuti hurongwa ndeyekunyora zvinyorwa zvakawanda uye kuwana mari yakawanda nazvo. Semukopi, mari yakawanda chete.

Chokwadi chakati siyanei. Yakawanda yemaitiro kodhi, zvisizvo zvipembenene, inogara ichidzidza maitiro. Zvinonakidza, asi kwete zvemunhu wese.

Aya ndiwo manhamba. Pakutanga zvakandigumbura, ndakafunga kuti zvimwe ndakaita chimwe chinhu chakaipa. Zvino ini ndinonzwisisa kuti huwandu hwakada kufanana kumakosi mazhinji. Iye zvino handinetseki nazvo, asi dzidzisa vanhu avo vanofarira nazvo.

Service idea

Kana vadzidzi vapedza kosi yose, yakanga yava nguva yokunyora chirongwa chokupedzisira. Paiva nepfungwa dzakasiyana. Vakapa ToDo mapepa, mapurojekiti ekutungamira mapurojekiti, uye chimwe chinhu.

Ndaida kuita chimwe chinhu chiri nyore asi chinobatsira. Muitiro wangu waive nyore - kana shamwari dzangu neni taigona kuishandisa. Sevhisi yewebhu yekutsvaga zvekuwedzera chikafu yakazadzisa izvi zvinodiwa.

Pfungwa yacho iri nyore. Paunotenga chigadzirwa muchitoro, unoona imwe mhando yeE-yekuwedzera mukuumbwa. Hazvina kujeka kubva mukodhi kuti ine ngozi sei kana kwete (uye kune zvakare zvine ngozi zvinowedzera izvo zvinorambidzwa munyika dzakawanda).

Iwe unovhura webhusaiti, isa zita rekuwedzera (nhamba, rimwe remamwe mazita), uye uwane pfupiso yekuwedzera:

E-Dobavki - sevhisi yewebhu yekutsvaga zvekudya zvinowedzera muJava uye Spring Boot, yakanyorwa nevadzidzi vangu

Kune mapurojekiti akafanana. Iwe unogona zvakare kungonyora iyo yekuwedzera muGoogle, kunyangwe isingawanzo kuratidza ruzivo nemazvo.

Asi sezvo chirongwa ichi chiri kudzidzisa, matambudziko ari pamusoro haana kutimisa :)

Kutevedzera

Wese munhu akanyora muJava, source code yeprojekti paGithub.

Taiva 7 kusanganisira neni. Munhu wose akaita chikumbiro chokudhonza, uye ini, kana mumwe munhu weboka, akabvuma chikumbiro ichi chokudhonza.

Kuitwa kwechirongwa ichi kwakatora anenge mwedzi - kubva pakutaura pfungwa kune iyo nyika yauri kuona ikozvino.

Parsing additives

Chinhu chekutanga chakaitwa nemumwe wevadzidzi, kunze kwekusikwa kwechimiro chakatenderedza dhatabhesi (masangano, matura, nezvimwewo), kwaive kupatsanura ma-add-ons kubva kune iripo ruzivo saiti.

Izvi zvaidiwa kuedza pfungwa dzakasara. Hapana imwe kodhi inodiwa kuti iwedzere dhatabhesi. Nekukurumidza kupatsanura akati wandei ekuwedzera, isu tinogona kuwedzera kuyedza iyo UI, kuronga, uye kusefa.

Spring Boot inokutendera iwe kuti ugadzire akawanda profiles. A profile ifaira rine marongero.

Kune nharaunda yedev, takashandisa chimiro chine H2 DBMS yemuno uye yakasarudzika HTTP port (8080). Saka, pese pakatangwa application, dhatabhesi yakabviswa. Muparidzi munyaya iyi ndicho chinhu chakatiponesa.

Tsvaga nekusefa

Chinhu chakakosha kutsvaga nekusefa. Munhu ari muchitoro anofanira kukurumidza kudzvanya pane kodhi yekuwedzera, kana rimwe remazita, uye atore mhedzisiro.

Naizvozvo, iyo Additive entity ine akati wandei minda. Iyi ndiyo kodhi yekuwedzera, mamwe mazita, tsananguro. Kutsvaga kunoitwa uchishandisa Like muminda yese panguva imwe chete. Uye kana ukapinda [123] kana [amaranth], unowana mhedzisiro imwe chete.

Takaita zvese izvi zvichibva paSpecifications. Ichi chikamu cheChirimo chinokutendera kuti utsanangure mamiriro ekutanga ekutsvaga (senge imwe ndima, semuenzaniso), wozobatanidza aya mamiriro (OR kana UYE).

Mushure mekunyora gumi nembiri zvakatemwa, unogona kubvunza mibvunzo yakaoma senge "zvese zvine ngozi zvekuwedzera zvine mavara zvine izwi rekuti [tsvuku] mukutsanangurwa."

Panyaya yekushanda neDatabhesi reChitubu, ndinoona zviri nyore. Izvi ndezvechokwadi kunyanya kana uchishanda nemibvunzo yakaoma. Ini ndinonzwisisa kuti iyi ine yayo yepamusoro, uye yakanyorwa nemaoko uye yakagadziridzwa SQL query inomhanya nekukurumidza.

Asi ini zvakare ndinoomerera kune maonero ekuti hapana chikonzero chekugadzirisa zvese zvisati zvaitika. Shanduro yekutanga inofanira kutanga, kushanda, uye kubvumira kuchinjwa kwezvikamu zvega. Uye kana paine mutoro, zvikamu zvega izvi zvinoda kunyorwazve.

chibatiso

Zviri nyore. Kune vashandisi vane ADMIN basa - vanokwanisa kugadzirisa zvekuwedzera, kuzvibvisa, uye kuwedzera zvitsva.

Uye kune vamwe vashandisi (vakanyoreswa kana kwete). Ivo vanogona chete kutarisa rondedzero yezvinowedzera uye kutsvaga izvo zvavanoda.

Spring Security yakashandiswa kuparadzanisa kodzero. Data yevashandisi inochengeterwa mudhatabhesi.

Vashandisi vanogona kunyoresa. Ikozvino hapana chainopa. Kana vadzidzi vakaramba vachigadzira sevhisi uye kuunza mamwe mabasa emunhu, ipapo kunyoreswa kuchauya kunobatsira.

Kupindura uye Bootstrap

Pfungwa inotevera ndeyekuchinjika. Kana iri sevhisi yedu (mune nzira yatakaiona nayo), ruzhinji rwevashandisi vachange vaine nharembozha. Uye iwe unofanirwa kukurumidza kuona iyo yekuwedzera kubva kunharembozha yako.

Kuti tisatambura neCSS, takatora Bootstrap. Yakachipa, inofara, uye inotaridzika zvakanaka.

Ini handikwanise kudaidza iyo interface yakanaka. Iro peji guru rakatonyanya kushoma, uye peji retsanangudzo yakadzama yekuwedzera yakamanikana; panharembozha inoda kuitwa yakafara.

Ndinogona kungotaura kuti ndakaedza kuvhiringidza basa zvishoma sezvinobvira. Ichi chichiri chirongwa chevadzidzi. Uye zvechokwadi, vakomana vachakwanisa kugadzirisa nguva dzakadaro gare gare.

Miniti yeSEO Optimization

Sezvo ndanga ndakanyatso kubatanidzwa mumawebhusaiti uye zvese zvine chekuita neSEO kweanopfuura makore maviri, ini handina kukwanisa kuburitsa purojekiti pasina zvishoma zvakakosha SEO optimization.

Muchokwadi, ini ndakagadzira template chizvarwa cheZita uye Tsananguro kune yega yega yekuwedzera. Iyo URL inenge CNC, kunyangwe inogona kuitwa ipfupi.

Ndakawedzerawo ma attendance counters. Yakawedzera saiti kuYandex Webmaster uye Google Search Console kutarisa yambiro kubva kumainjini ekutsvaga.

Hazvina kukwana. Unodawo kuwedzera marobhoti.txt uye sitemap.xml kuti uwane indexing yakazara. Asi zvakare, iyi ipurojekiti yevadzidzi. Ndichavaudza zvinofanira kuitwa, uye kana vachida, vachazviita.

Iwe unofanirwa kubatanidza SSL chitupa. Iyo yemahara Let's Encrypt ichashanda zvakare. Izvi ndakazviitira Spring Boot. Hazvina kuoma kuita, uye kuvimba kwePS kunowedzera.

Chii chinotevera purojekiti?

Zvadaro, chaizvoizvo, sarudzo iri kune vakomana. Pfungwa yepakutanga yepurojekiti zvakare yaisanganisira dhatabhesi yezvigadzirwa zvine zvinongedzo kune zvinowedzera.

Pinda "Snickers" uye uone izvo zvinovaka muviri zvinowedzera.

Kunyange pakutanga kweprojekti, ndaiziva kuti hatizove nezvigadzirwa :) Nokudaro, takatanga chete nekuwedzera.

Iye zvino unogona kuwedzera zvigadzirwa uye kusuma zvimwe. buns. Kana iri dhatabhesi yakakura, pachava nevashandisi.

Kuendeswa

Iyo purojekiti yakaiswa paVPS, Aruba Cloud. Iyi ndiyo VPS yakachipa yataigona kuwana. Ndanga ndichishandisa mupi uyu kweanopfuura gore kumapurojekiti angu, uye ndiri kufadzwa nazvo.

VPS maitiro: 1 GB RAM, 1 CPU (ini handizive nezve frequency), 20 GB SSD. Kupurojekiti yedu izvi zvakakwana.

Iyo purojekiti inovakwa uchishandisa yakajairwa mvn yakachena package. Mhedzisiro ibhodhoro remafuta - faira rinogoneka rine zvese zvinotsamira.

Kuti ndiite zvese izvi zvishoma, ndakanyora akati wandei bash zvinyorwa.

Runyoro rwekutanga runodzima faira rejagi rekare uye kuvaka imwe nyowani.

Yechipiri script inotangisa chirongo chakaunganidzwa, ichichipfuudza iyo zita reinodiwa chimiro. Iyi mbiri ine ruzivo rwekubatanidza database.

DB - MySQL pane imwechete VPS.

Kutangisazve kweprojekiti kunosanganisira:

  • pinda muVPS kuburikidza neSSH
  • dhawunirodha yazvino git shanduko
  • run local-jar.sh
  • kuuraya kumhanya application
  • run launch-production.sh

Iyi nzira inotora maminitsi matatu. Izvi zvinoita senge sarudzo yakangwara kwandiri yepurojekiti diki yakadaro.

Matambudziko

Matambudziko makuru mukugadzira chirongwa aive ehurongwa hwesangano.

Kune boka revanhu vanoita sevanoziva kuronga, asi kwete zvakanyanya. Vanoziva chimwe chinhu, asi havagoni kunyatsochishandisa. Uye zvino vanofanira kupedza basa racho mumwedzi.

Ndadoma mutungamiri wechikwata chine zvimiso muboka iri. Akachengeta Google Doc ine runyorwa rwemabasa, akagovera mabasa, uye akadzora kugamuchirwa kwavo. Akabvumawo zvikumbiro zvekudhonza.

Ndakakumbirawo vadzidzi kunyora mushumo mupfupi manheru oga oga pamusoro pebasa ravakaita mubasa racho. Kana iwe usina kuita chero chinhu, zvakanaka, ingonyora kuti "haana chaakaita." Iyi itsika huru uye inoita kuti uwedzere kunetseka. Haasi munhu wese akatevera mutemo uyu, zvinosuruvarisa.

Chinangwa chekufamba uku kwaive nyore. Gadzirai timu, kunyangwe kwenguva pfupi, kuti mushande pamwe chete.

Ndaida kuti vakomana vanzwe kuti basa ravo rakakosha. Hwisisa kuti havanyore spherical code muvacuum. Uye zvavari kuita pamwe chete ipurojekiti ichashandiswa nevanhu.

Vhiki yekutanga kana maviri yaive kuvaka-up. Masangano uye zvidiki zvidiki zvakaitwa nehusimbe. Zvishoma nezvishoma ndakavanyandura, uye basa rakanga rava kunakidza. Kukurukurirana mukutaura kwakava mhenyu, vadzidzi vakapa zvavanowedzera.

Ndinotenda kuti chinangwa chave kuwanikwa. Iyo purojekiti yaitwa, vakomana vakawana ruzivo rudiki rwekushanda muchikwata. Pane mhedzisiro inooneka, inobatika inogona kuratidzwa kune shamwari uye inovandudzwa.

zvakawanikwa

Kudzidza kunonakidza.

After each class ndakadzoka ndakatsamwa. Ini ndinoedza kuita kuti vaviri vese vasiyane uye kuendesa ruzivo rwakawanda sezvinobvira.

Zvinofadza kana boka randinodzidzisa rasvika kufainari. Zvinonyanya kutonhorera kana vakomana vakanyora kuti "Ndawana basa, zvese zvakanaka, ndatenda." Kunyangwe kana iri junior, kunyangwe isiri iyo mari hombe pakutanga. Asi chinonyanya kukosha ndechekuti vakatora danho rakananga kune zvavanoda, uye vakabudirira.

Kunyange zvazvo nyaya yacho yakazova yakawanda zvikuru, zvamazvirokwazvo kwakanga kusingabviri kufukidza mapfundo ose. Naizvozvo, nyora mibvunzo yako mumhinduro.

Source: www.habr.com

Voeg