E-Dobavki - seirbhís gréasáin chun cuardach a dhéanamh ar bhreiseáin bia i Java agus Spring Boot, scríofa ag mo mhic léinn

Réamhrá

Tharla sé sin go bhfuil mé le beagnach dhá bhliain anuas ag múineadh ríomhchlárú i gceann de na scoileanna TF i Kyiv. Thosaigh mé ag déanamh seo Just For Fun. Scríobh mé blag cláir uair amháin, ansin thug mé suas é. Ach níl an fonn chun rudaí úsáideacha a insint do dhaoine leasmhara imithe.

Is í Java mo phríomhtheanga. Scríobh mé cluichí d’fhóin phóca, bogearraí do chumarsáid raidió, agus seirbhísí éagsúla gréasáin air. Agus mé ag múineadh Java.

Anseo ba mhaith liom scéal oiliúna mo ghrúpa deiridh a insint. Conas a chuaigh siad ó oiliúint a thosú go dtí seirbhís gréasáin oibre a scríobh. Seirbhís gréasáin úsáideach chun forlíontaí cothaitheacha a aimsiú. Saor in aisce gan chlárú SMS agus fógraíocht.

Tá an tseirbhís féin anseo - R-Dobavki.com.

E-Dobavki - seirbhís gréasáin chun cuardach a dhéanamh ar bhreiseáin bia i Java agus Spring Boot, scríofa ag mo mhic léinn

Tionscadal oideachais atá sa tionscadal agus níl aon fhógraíocht ann. De réir mar a thuigim ó an foilseachán seo, is féidir leat naisc a sholáthar do thionscadail dá leithéid.

Sula ndéanfaidh mé cur síos ar an tionscadal féin, inseoidh mé beagán duit faoi phróiseas foghlama an ghrúpa; gan é seo, beidh an pictiúr neamhiomlán.

9 mí oiliúna

Ag an scoil ina múinim, tá an cúrsa Java roinnte ina 2 chuid. San iomlán, tógann an cúrsa thart ar 9 mí, le gach sos (saoire na Bliana Nua, am chun tionscadail idirmheánacha a scríobh).

Cuireann an chéad chuid bunchoincheapa na teanga i láthair na scoláirí. Athróga, modhanna, bunghnéithe OOP agus an stuif sin go léir.

Soláthraíonn an dara cuid den chúrsa go dtuigeann an mac léinn cheana féin níos mó nó níos lú conas scríobh i Java, agus is féidir stack teicneolaíochta “duine fásta” a thabhairt dó. Tosaíonn sé ar fad le SQL, ansin JDBC, Hibernate. Ansin HTTP, servlets. Seo chugainn an t-Earrach, rud beag faoi git agus maven. Agus scríobhann mic léinn tionscadail deiridh.

Roinntear an oiliúint ar fad i modúil. Rinne mé ranganna dhá uair sa tseachtain. Dhá uair an chloig a mhaireann ceacht amháin.

Mo chur chuige i leith na foghlama

Scaoil mé 5 ghrúpa. Dealraíonn sé cosúil le go leor ar feadh dhá bhliain, ach bhí mé beagnach i gcónaí i gceannas ar 2 ghrúpa ag an am céanna.

Bhain mé triail as cineálacha éagsúla cur chuige.

Is é an chéad rogha ná péire amháin a leithdháileadh le haghaidh cur i láthair le teoiric. Is cleachtas íon é an dara péire. D'oibrigh an cur chuige seo ar bhealach éigin, ach ní raibh sé an-éifeachtach, i mo thuairim.

Is é an dara rogha ar tháinig mé chuige agus a bhfuilim ag obair air anois ná lánúin iomlán a chaitheamh ar theoiric. Ina áit sin, meascann mé ailt ghearr den teoiric ar feadh 5-10 nóiméad, agus déan iad a threisiú láithreach le samplaí praiticiúla. Oibríonn an cur chuige seo níos fearr.

Má bhíonn go leor ama ann, cuirim glaoch ar na mic léinn chuig m’áit, suí síos ag mo ríomhaire glúine iad, agus déanann siad samplaí praiticiúla iad féin. Oibríonn sé go hiontach, ach ar an drochuair tógann sé go leor ama.

Ní dhéanann gach duine é go dtí an deireadh

Rud a nochtadh dom ná an fhíric nach sroicheann an grúpa iomlán deireadh an chúrsa.

De réir mo thuairimí, ní scríobhann ach leath de na mic léinn an tionscadal deiridh. Déantar an chuid is mó díobh a dhíchur le linn an chéad chuid den chúrsa. Agus de ghnáth ní thiteann siad siúd a shroich an dara cuid amach.

Fágann siad ar chúiseanna éagsúla.

Is é an chéad cheann ná castacht. Is cuma cad a deir siad, ní Java an teanga is simplí. A scríobh fiú an clár is simplí, ní mór duit a thuiscint an coincheap de rang, modh. Agus a thuiscint cén fáth ar gá duit a scríobh príomhlíonra poiblí folús statach(Teaghrán[] arg) Tá cúpla coincheap eile le tuiscint.

Cuir é seo i gcomparáid le Turbo Pascal, agus is é sin a thosaigh go leor daoine leis, mise san áireamh:

begin
    writeln("Первая программа");
end.

Chomh fada agus is eol dom, réiteoidh an scoil an fhadhb seo trí thástáil bhreise a thabhairt isteach. Anois ní féidir le gach duine staidéar a dhéanamh ar Java. Tá sé seo fós ag céim an choincheapa, ach is léir gurb é an chéim cheart.

Agus is é an dara chúis cosúil sa phictiúr thíos:

E-Dobavki - seirbhís gréasáin chun cuardach a dhéanamh ar bhreiseáin bia i Java agus Spring Boot, scríofa ag mo mhic léinn

Is minic a cheapann daoine go mbaineann ríomhchlárú le go leor téacs a chlóscríobh agus go leor airgid a fháil dó. Cosúil le copywriter, ach níos mó airgid.

Tá an réaltacht beagán difriúil. A lán de ghnáthchód, fabhtanna doiléire, próiseas leanúnach foghlama. Tá sé suimiúil, ach ní do gach duine.

Seo iad na staitisticí. Ar dtús chuir sé isteach orm, shíl mé go mb'fhéidir go raibh mé ag déanamh rud éigin mícheart. Anois tuigim go bhfuil na staitisticí beagnach mar a chéile i gcás fhormhór na gcúrsaí. Anois ní cúis imní dom é, ach múinim do na daoine a bhfuil suim acu ann.

Smaoineamh seirbhíse

Nuair a bhí an cúrsa iomlán críochnaithe ag na scoláirí, bhí sé in am an tionscadal deiridh a scríobh. Bhí smaointe éagsúla ann. Thairg siad bileoga ToDo, tionscadail bhainistíochta tionscadail, agus rud éigin eile.

Bhí mé ag iarraidh rud éigin simplí ach úsáideach a dhéanamh. Bhí mo chritéar simplí - cibé an bhféadfadh mo chairde agus mé féin é a úsáid. Chomhlíon seirbhís gréasáin chun cuardach a dhéanamh ar bhreiseáin bia na ceanglais sin.

Tá an smaoineamh simplí. Nuair a cheannaíonn tú táirge i siopa, feiceann tú cineál éigin de E-bhreiseán sa chomhdhéanamh. Níl sé soiléir ón gcód cé chomh dainséarach atá sé nó nach bhfuil (agus tá breiseáin contúirteacha ann freisin a bhfuil toirmeasc orthu i go leor tíortha).

Osclaíonn tú an suíomh Gréasáin, cuir isteach ainm an fhorlíonta (uimhir, ceann de na hainmneacha eile), agus gheobhaidh tú achoimre ar an bhforlíonadh:

E-Dobavki - seirbhís gréasáin chun cuardach a dhéanamh ar bhreiseáin bia i Java agus Spring Boot, scríofa ag mo mhic léinn

Tá tionscadail den chineál céanna ann. Is féidir leat freisin an breiseán a chlóscríobh go simplí i Google, cé nach dtaispeánann sé an fhaisnéis i gceart i gcónaí.

Ach ós rud é go bhfuil an tionscadal oideachais, níor chuir na deacrachtaí thuas stop linn :)

Cur i bhFeidhm

Scríobh gach duine i Java, cód foinse an tionscadail ar Github.

Bhí 7 againn, mise san áireamh. Rinne gach duine iarratas tarraingt, agus ghlac mise, nó duine eile ón ngrúpa, leis an iarratas tarraingte seo.

Thóg cur i bhfeidhm an tionscadail thart ar mhí - ón smaoineamh a chur in iúl go dtí an stát a fheiceann tú anois.

Breiseáin a pharsáil

Ba é an chéad rud a rinne duine de na mic léinn, seachas cruthú bunúsach creata timpeall an bhunachair shonraí (aonáin, stórtha, etc.), ná breiseáin a pharsáil ó shuíomh faisnéise a bhí ann cheana féin.

Bhí sé seo riachtanach chun na pointí a bhí fágtha a thástáil. Níl aon chód breise ag teastáil chun an bunachar sonraí a líonadh. Tar éis roinnt breiseán a pharsáil go tapa, d'fhéadfaimis an Chomhéadain a thástáil tuilleadh, a shórtáil agus a scagadh.

Ligeann Spring Boot duit próifílí iolracha a chruthú. Comhad le socruithe is ea próifíl.

Maidir leis an timpeallacht dev, d'úsáideamar próifíl le H2 DBMS áitiúil agus an calafort réamhshocraithe HTTP (8080). Mar sin, gach uair a seoladh an feidhmchlár, glanadh an bunachar sonraí. Ba é an parsálaí sa chás seo an rud a shábháil dúinn.

Cuardach agus scagadh

Pointe tábhachtach is ea cuardach agus scagadh. Ní mór do dhuine i siopa cliceáil go tapa ar chód an fhorlíonta, nó ar cheann de na hainmneacha, agus an toradh a fháil.

Mar sin, tá roinnt réimsí ag an eintiteas Breiseán. Is é seo an cód breiseán, ainmneacha malartacha, cur síos. Déantar an cuardach ag baint úsáide as Like i ngach réimse ag an am céanna. Agus má théann tú isteach [123] nó [amaranth], gheobhaidh tú an toradh céanna.

Rinneamar é seo go léir bunaithe ar Shonraíochtaí. Is cuid den Earrach é seo a ligeann duit cur síos a dhéanamh ar bhunchoinníollacha cuardaigh (cosúil le réimse éigin, mar shampla), agus ansin na coinníollacha seo a chomhcheangal (OR nó AND).

Tar éis dosaen sonraíochtaí a scríobh, is féidir leat ceisteanna casta a chur ar nós “gach breiseán dathúcháin contúirteach a bhfuil an focal [dearg] sa chur síos.”

Maidir le bheith ag obair le bunachar sonraí an Earraigh, tá sé an-áisiúil dom. Tá sé seo fíor go háirithe agus tú ag obair le ceisteanna casta. Tuigim go bhfuil a lastuas féin ag baint leis seo, agus rithfidh ceist SQL atá scríofa agus optamaithe níos tapúla.

Ach cloím freisin leis an tuairim nach gá gach rud a bharrfheabhsú roimh ré. Caithfidh an chéad leagan tosú, oibriú, agus cead a thabhairt do chodanna aonair a athsholáthar. Agus má tá ualach ann, is gá na codanna aonair seo a athscríobh.

Slándáil

Tá sé simplí. Tá ról RIARACHÁIN ag úsáideoirí - is féidir leo breisithe a chur in eagar, iad a scriosadh agus cinn nua a chur leis.

Agus tá úsáideoirí eile (cláraithe nó nach bhfuil). Ní féidir leo ach liosta na mbreiseán a bhrabhsáil agus cuardach a dhéanamh ar na cinn a theastaíonn uathu.

Baineadh úsáid as Spring Security chun cearta a scaradh. Stóráiltear sonraí úsáideora i mbunachar sonraí.

Is féidir le húsáideoirí clárú. Anois ní thugann sé rud ar bith. Má leanann mic léinn ar aghaidh ag forbairt na seirbhíse agus ag tabhairt isteach roinnt feidhmeanna pearsantaithe, beidh an clárú áisiúil.

Sofhreagracht agus Bootstrap

Is é an chéad phointe eile inoiriúnaitheacht. I gcás ár seirbhíse (ar an mbealach a chonaic muid é ar a laghad), beidh formhór na n-úsáideoirí le fón póca. Agus ní mór duit an forlíonadh a fheiceáil go tapa ó do ghuthán póca.

D'fhonn gan a bheith ag fulaingt le CSS, ghlacamar Bootstrap. Saor, cheerful, agus tá cuma mhaith.

Ní féidir liom an comhéadan idéalach a ghlaoch. Tá an príomhleathanach níos lú fós, agus tá an leathanach le haghaidh cur síos mionsonraithe ar an mbreiseán caol; ar fhóin phóca ní mór é a dhéanamh níos leithne.

Ní féidir liom a rá ach go ndearna mé iarracht cur isteach ar an obair chomh beag agus ab fhéidir. Is tionscadal mac léinn é seo fós. Agus ar ndóigh, beidh na guys in ann chuimhneacháin den sórt sin a cheartú níos déanaí.

Nóiméad de Optamú Sinsearach

Ós rud é go raibh dlúthbhaint agam le láithreáin ghréasáin agus le gach rud a bhaineann le Sinsearach ar feadh níos mó ná dhá bhliain, níorbh fhéidir liom tionscadal a scaoileadh gan leas iomlán a bhaint Sinsearach bunúsach ar a laghad.

Déanta na fírinne, rinne mé giniúint teimpléad de Theideal agus Cur síos do gach breiseán. Tá an URL beagnach CNC, cé gur féidir é a dhéanamh níos giorra.

Chuir mé cuntair tinrimh leis freisin. Cuireadh an suíomh le Yandex Webmaster agus Google Search Console chun monatóireacht a dhéanamh ar rabhaidh ó innill chuardaigh.

Ní leor é. Ní mór duit freisin robots.txt agus sitemap.xml a chur leis le haghaidh innéacsú iomlán. Ach arís, is tionscadal mac léinn é seo. Inseoidh mé dóibh cad is gá a dhéanamh, agus más mian leo, déanfaidh siad é.

Ní mór duit teastas SSL a cheangal. Oibreoidh an clár Let's Encrypt saor in aisce freisin. Rinne mé é seo le haghaidh Spring Boot. Níl sé deacair a dhéanamh, agus méadaíonn muinín an PS.

Cad atá romhainn don tionscadal?

Ansin, i ndáiríre, tá an rogha suas go dtí na guys. Áiríodh le bunsmaoineamh an tionscadail bunachar sonraí de tháirgí le naisc le breiseáin freisin.

Cuir isteach “Snickers” agus féach cad iad na breiseáin chothaitheacha atá ann.

Fiú amháin ag tús an tionscadail, bhí a fhios agam nach mbeadh aon táirgí againn :) Dá bhrí sin, níor thosaigh muid ach le breiseáin.

Anois is féidir leat táirgí a chur leis agus cinn breise a thabhairt isteach. borróga. Más bunachar sonraí fairsing é, beidh úsáideoirí ann.

Imscaradh

Imscaradh an tionscadal ar VPS, Aruba Cloud. Is é seo an VPS is saoire a d'fhéadfaimis a fháil. Tá mé ag baint úsáide as an soláthraí seo le breis agus bliain le haghaidh mo thionscadail, agus táim thar a bheith sásta leis.

Saintréithe VPS: 1 GB RAM, 1 CPU (níl a fhios agam faoin minicíocht), 20 GB SSD. Le haghaidh ár dtionscadal is leor é seo.

Tógtar an tionscadal ag baint úsáide as an ngnáthphacáiste mvn glan. Is é an toradh ná próca saille - comhad inrite le gach spleáchas.

Chun seo go léir a uathoibriú beagán, scríobh mé cúpla script bash.

Scriosann an chéad script an seanchomhad jar agus tógann sé ceann nua.

Seolann an dara script an próca le chéile, ag tabhairt ainm na próifíle riachtanach dó. Tá faisnéis faoin nasc bunachar sonraí sa phróifíl seo.

DB - MySQL ar an VPS céanna.

Áirítear ar atosú iomlán an tionscadail:

  • logáil isteach i VPS trí SSH
  • Íoslódáil an leagan is déanaí de git
  • reáchtáil áitiúil-jar.sh
  • iarratas rith a mharú
  • reáchtáil seoladh-production.sh

Tógann an nós imeachta seo trí nóiméad. Is cosúil gur rogha chliste é seo domsa do thionscadal chomh beag.

Deacrachtaí

Ba de chineál eagraíochtúil na príomhdheacrachtaí a bhain le cruthú an tionscadail.

Tá grúpa daoine ann a bhfuil an chuma orthu go bhfuil a fhios acu conas a ríomhchlárú, ach nach bhfuil go han-mhaith. Tá a fhios acu rud éigin, ach fós ní féidir leo é a chur i bhfeidhm i ndáiríre. Agus anois is gá dóibh an tionscadal a chríochnú i mí.

D'aithin mé ceannaire foirne coinníollach sa ghrúpa seo. Choinnigh sé Google Doc le liosta tascanna, dháil sé tascanna, agus rialaigh sé a nglacadh. Ghlac sé le hiarratais tarraingte freisin.

D’iarr mé ar na scoláirí freisin tuairisc ghearr a scríobh gach tráthnóna ar an obair a rinne siad ar an tionscadal. Mura ndearna tú rud ar bith, ceart go leor, scríobh "ní dhearna tada." Is cleachtas iontach é seo agus cuireann sé beagán aimsir ort. Níor lean gach duine an riail seo, ar an drochuair.

Bhí cuspóir na gluaiseachta seo go léir simplí. Foireann a fhoirmiú, fiú mura bhfuil ach ar feadh tamaill ghairid, chun oibriú le chéile.

Theastaigh uaim go mbraithfeadh na guys go raibh a gcuid oibre tábhachtach. A thuiscint nach scríobhann siad cód sféarúil i bhfolús. Agus is é an rud atá á dhéanamh acu le chéile ná tionscadal a úsáidfidh daoine ansin.

Tógáil suas a bhí sa chéad seachtain nó dhó. Rinneadh aonáin agus gealltanais bheaga go mall. Beag ar bheagán spreag mé iad, agus d'éirigh an obair níos spraíúla. D’éirigh an chumarsáid sa chomhrá níos beoga, thairg mic léinn a gcuid breiseanna.

Creidim go bhfuil an sprioc bainte amach. Tá an tionscadal déanta, fuair na guys beagán taithí ag obair i bhfoireann. Tá toradh sofheicthe, inláimhsithe ann ar féidir a thaispeáint do chairde agus a fhorbairt tuilleadh.

Torthaí

Tá an fhoghlaim suimiúil.

Tar éis gach rang tháinig mé ar ais go mothúchánach corraithe. Déanaim iarracht gach péire a dhéanamh uathúil agus an oiread eolais agus is féidir a chur in iúl.

Tá sé go deas nuair a shroicheann an grúpa a mhúineann mé na cluichí ceannais. Tá sé iontach fionnuar nuair a scríobhann guys "Fuair ​​​​mé post, tá gach rud go breá, go raibh maith agat." Fiú más sóisearach é, fiú murab é an t-airgead is mó é ar dtús. Ach is é an rud is tábhachtaí ná gur ghlac siad céim i dtreo a gcuid mianta, agus d'éirigh leo.

Cé gur tharla go raibh an t-alt sách toirtiúil, is cinnte nárbh fhéidir na pointí go léir a chlúdach. Dá bhrí sin, scríobh do chuid ceisteanna sna tuairimí.

Foinse: will.com

Add a comment