E-Dobavki - qhov kev pabcuam hauv web rau kev tshawb nrhiav khoom noj khoom haus hauv Java thiab Spring Boot, sau los ntawm kuv cov menyuam kawm ntawv

Taw qhia

Nws yog li ntawd tau tshwm sim uas yuav luag ob xyoos dhau los kuv tau qhia cov programming ntawm ib lub tsev kawm IT hauv Kyiv. Kuv pib ua qhov no Tsuas yog Kev Lom Zem. Ib zaug kuv tau sau ib qhov programming blog, ces kuv muab nws. Tab sis lub siab xav qhia tej yam muaj txiaj ntsig rau cov neeg nyiam tsis tau ploj mus.

Kuv hom lus tseem ceeb yog Java. Kuv tau sau cov kev ua si rau lub xov tooj ntawm tes, software rau kev sib txuas lus hauv xov tooj cua, thiab ntau yam kev pabcuam hauv web rau nws. Thiab kuv qhia Java.

Ntawm no kuv xav qhia zaj dab neeg ntawm kev cob qhia ntawm kuv pab pawg kawg. Yuav ua li cas lawv tau mus los ntawm kev pib kev cob qhia mus rau kev sau ntawv lub vev xaib ua haujlwm. Lub vev xaib muaj txiaj ntsig zoo los nrhiav cov khoom noj khoom haus. Dawb, tsis muaj kev tshaj tawm, sau npe thiab SMS.

Kev pabcuam nws tus kheej nyob ntawm no - E-Dobavki.com.

E-Dobavki - qhov kev pabcuam hauv web rau kev tshawb nrhiav khoom noj khoom haus hauv Java thiab Spring Boot, sau los ntawm kuv cov menyuam kawm ntawv

Qhov project yog kev kawm thiab tsis muaj kev tshaj tawm. Raws li kuv nkag siab los ntawm daim ntawv no, koj tuaj yeem muab txuas rau tej yaam num.

Ua ntej piav qhia txog qhov project nws tus kheej, kuv yuav qhia koj me ntsis txog cov txheej txheem kev kawm; yog tsis muaj qhov no, daim duab yuav ua tsis tiav.

9 lub hlis kev cob qhia

Hauv lub tsev kawm ntawv uas kuv qhia, chav kawm Java tau muab faib ua 2 ntu. Nyob rau hauv tag nrho, chav kawm yuav siv li ntawm 9 lub hlis, nrog rau tag nrho cov so (hnub so koobtsheej Xyoo tshiab, lub sij hawm los sau cov hauj lwm nruab nrab).

Thawj ntu qhia cov tub ntxhais kawm txog cov ntsiab lus ntawm hom lus. Kev hloov pauv, txoj hauv kev, OOP hauv paus thiab txhua yam khoom ntawd.

Qhov thib ob ntawm chav kawm qhia tias tus tub ntxhais kawm twb paub ntau dua lossis tsawg dua nkag siab txog kev sau hauv Java, thiab nws tuaj yeem muab "cov neeg laus" thev naus laus zis. Nws tag nrho pib nrog SQL, ces JDBC, Hibernate. Tom qab ntawd HTTP, servlets. Tom ntej no yog Caij nplooj ntoos hlav, me ntsis txog git thiab maven. Thiab cov tub ntxhais kawm sau tej yaam num kawg.

Tag nrho cov kev cob qhia yog muab faib ua modules. Kuv tau kawm ob zaug ib lub lim tiam. Lub sijhawm ntawm ib zaj lus qhia yog ob teev.

Kuv txoj kev kawm

Kuv tso 5 pawg. Zoo li ntau tau ob xyoos, tab sis kuv yuav luag ib txwm coj 2 pawg ua ke.

Kuv tau sim ntau txoj hauv kev.

Thawj qhov kev xaiv yog tias ib khub yog faib rau kev nthuav qhia nrog kev xav. Ob khub yog kev coj dawb huv. Txoj kev no ua haujlwm li cas, tab sis nws tsis zoo, hauv kuv lub tswv yim.

Qhov kev xaiv thib ob uas kuv tuaj rau thiab uas kuv tab tom ua haujlwm tam sim no tsis yog rau kev mob siab rau ob peb txoj kev xav. Hloov chaw, kuv muab cov lus luv luv ntawm txoj kev xav rau 5-10 feeb, thiab tam sim ntawd ntxiv dag zog rau lawv nrog cov qauv siv tswv yim. Txoj kev no ua haujlwm zoo dua.

Yog tias muaj sijhawm txaus, kuv hu cov tub ntxhais kawm rau kuv qhov chaw, zaum ntawm kuv lub laptop, thiab lawv ua piv txwv lawv tus kheej. Nws ua haujlwm zoo, tab sis hmoov tsis nws yuav siv sij hawm ntau heev.

Tsis yog txhua tus ua kom nws mus txog thaum kawg

Ib qho kev tshwm sim rau kuv yog qhov tseeb tias tsis yog tag nrho pawg mus txog qhov kawg ntawm chav kawm.

Raws li kuv cov kev soj ntsuam, tsuas yog ib nrab ntawm cov tub ntxhais kawm sau qhov project kawg. Feem ntau ntawm lawv raug tshem tawm thaum thawj ntu ntawm chav kawm. Thiab cov uas tau mus txog qhov thib ob feem ntau tsis poob.

Lawv tawm rau ntau yam laj thawj.

Qhov thib ib yog complexity. Txawm lawv hais li cas los xij, Java tsis yog hom lus yooj yim tshaj plaws. Txhawm rau sau txawm tias qhov program yooj yim tshaj plaws, koj yuav tsum nkag siab lub ntsiab lus ntawm chav kawm, ib txoj hauv kev. Thiab kom nkag siab tias vim li cas koj thiaj li yuav tsum tau sau pej xeem static void main(String[] arg) Muaj ob peb lub tswv yim ntxiv kom nkag siab.

Sib piv qhov no rau Turbo Pascal, uas yog qhov ntau tus neeg pib nrog, suav nrog kuv:

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

Raws li kuv paub, lub tsev kawm ntawv yuav daws qhov teeb meem no los ntawm kev qhia txog kev sim ntxiv. Tam sim no tsis yog txhua tus tuaj yeem kawm Java. Qhov no tseem nyob ntawm lub tswv yim theem, tab sis cov kauj ruam yog kom meej meej.

Thiab qhov laj thawj thib ob yog zoo li hauv daim duab hauv qab no:

E-Dobavki - qhov kev pabcuam hauv web rau kev tshawb nrhiav khoom noj khoom haus hauv Java thiab Spring Boot, sau los ntawm kuv cov menyuam kawm ntawv

Cov neeg feem ntau xav tias qhov programming yog hais txog kev ntaus ntawv ntau thiab tau txais nyiaj ntau rau nws. Zoo li tus kws sau ntawv, tsuas yog nyiaj ntau dua.

Qhov tseeb yog txawv me ntsis. Ntau cov cai niaj hnub, cov kab tsis pom tseeb, cov txheej txheem kawm tas li. Nws yog qhov nthuav, tab sis tsis yog rau txhua tus.

Cov no yog cov txheeb cais. Thaum xub thawj nws chim kuv, kuv xav tias tej zaum kuv ua ib yam dab tsi tsis ncaj ncees lawm. Tam sim no kuv nkag siab tias cov txheeb cais yog kwv yees li qub rau feem ntau cov chav kawm. Tam sim no kuv tsis txhawj txog nws, tab sis qhia cov neeg uas txaus siab rau nws.

Kev pab tswv yim

Thaum cov tub ntxhais kawm tau ua tiav tag nrho cov chav kawm, nws yog lub sijhawm los sau qhov project kawg. Muaj cov tswv yim sib txawv. Lawv muab cov ntawv ToDo, qhov project tswj cov haujlwm, thiab lwm yam.

Kuv xav ua tej yam yooj yim tab sis muaj txiaj ntsig. Kuv qhov kev ntsuas tau yooj yim - txawm tias kuv cov phooj ywg thiab kuv tuaj yeem siv nws. Ib lub vev xaib rau kev tshawb nrhiav cov khoom noj khoom haus tau ua raws li cov cai no.

Lub tswv yim yog yooj yim. Thaum koj yuav ib yam khoom hauv lub khw, koj pom qee yam E-additive nyob rau hauv muaj pes tsawg leeg. Nws tsis paub meej los ntawm txoj cai tias nws txaus ntshai npaum li cas los tsis yog (thiab tseem muaj cov tshuaj ntxiv txaus ntshai uas raug txwv hauv ntau lub tebchaws).

Koj qhib lub vev xaib, sau lub npe ntawm cov khoom ntxiv (tus lej, ib qho ntawm lwm lub npe), thiab tau txais cov ntsiab lus ntawm qhov ntxiv:

E-Dobavki - qhov kev pabcuam hauv web rau kev tshawb nrhiav khoom noj khoom haus hauv Java thiab Spring Boot, sau los ntawm kuv cov menyuam kawm ntawv

Muaj tej yaam num zoo sib xws. Koj tuaj yeem yooj yim ntaus cov additive rau hauv Google, txawm hais tias nws tsis ib txwm qhia cov ntaub ntawv kom raug.

Tab sis txij li qhov project yog kev kawm, cov teeb meem saum toj no tsis txwv peb :)

Kev siv

Txhua tus sau hauv Java, qhov chaws ntawm qhov project ntawm Github.

Muaj 7 ntawm peb, suav nrog kuv. Txhua tus tau thov rub, thiab kuv, lossis lwm tus neeg los ntawm pab pawg, lees txais qhov kev thov rub no.

Kev ua tiav ntawm qhov project tau siv li ib hlis - los ntawm kev hais tawm lub tswv yim mus rau lub xeev uas koj pom tam sim no.

Parsing additives

Thawj qhov uas ib tus tub ntxhais kawm tau ua, ntxiv rau kev tsim cov txheej txheem ib puag ncig ntawm cov ntaub ntawv (cov chaw, chaw cia khoom, thiab lwm yam), tau txheeb xyuas cov add-ons los ntawm qhov chaw cov ntaub ntawv uas twb muaj lawm.

Qhov no yog tsim nyog los ntsuam xyuas cov ntsiab lus ntxiv. Tsis xav tau code ntxiv los populate lub database. Tom qab txheeb xyuas ntau yam ntxiv, peb tuaj yeem sim ntxiv UI, txheeb xyuas, thiab lim.

Spring Boot tso cai rau koj los tsim ntau yam profiles. Ib qhov profile yog ib cov ntaub ntawv nrog kev teeb tsa.

Rau qhov dev ib puag ncig, peb siv qhov profile nrog lub zos H2 DBMS thiab lub neej ntawd HTTP chaw nres nkoj (8080). Yog li, txhua lub sij hawm daim ntawv thov raug tso tawm, cov ntaub ntawv tau raug tshem tawm. Tus parser nyob rau hauv cov ntaub ntawv no yog yam uas cawm peb.

Nrhiav thiab lim

Ib qho tseem ceeb yog kev tshawb nrhiav thiab lim. Ib tug neeg nyob rau hauv ib lub khw yuav tsum ceev nrooj nyem rau ntawm tus lej ntxiv, lossis ib qho ntawm cov npe, thiab tau txais qhov tshwm sim.

Yog li ntawd, lub Additive qhov chaw muaj ntau lub teb. Qhov no yog cov cai ntxiv, lwm lub npe, piav qhia. Kev tshawb nrhiav yog nqa tawm siv Like hauv txhua qhov chaw tib lub sijhawm. Thiab yog tias koj nkag mus [123] lossis [amaranth], koj yuav tau txais cov txiaj ntsig zoo ib yam.

Peb tau ua txhua yam no raws li Specifications. Qhov no yog ib feem ntawm Caij Nplooj Ntoos Hlav uas tso cai rau koj piav qhia txog cov xwm txheej tshawb nrhiav yooj yim (xws li qee qhov chaw, piv txwv), thiab tom qab ntawd muab cov xwm txheej no (LOSSIS lossis THIAB).

Tau sau ntau lub ntsiab lus tshwj xeeb, koj tuaj yeem nug cov lus nug nyuaj xws li "tag nrho cov xim xim txaus ntshai uas muaj lo lus [liab] hauv cov lus piav qhia."

Hais txog kev ua haujlwm nrog Spring database, kuv pom nws yooj yim heev. Qhov no yog qhov tseeb tshwj xeeb tshaj yog thaum ua haujlwm nrog cov lus nug nyuaj. Kuv nkag siab tias qhov no muaj nws tus kheej nyiaj siv ua haujlwm, thiab ib phau ntawv sau thiab optimized SQL lus nug yuav khiav sai dua.

Tab sis kuv kuj ua raws li qhov xav tau tias tsis tas yuav ua kom zoo dua txhua yam ua ntej. Thawj version yuav tsum pib, ua haujlwm, thiab tso cai rau kev hloov ntawm tus kheej qhov chaw. Thiab yog tias muaj kev thauj khoom, cov ntu no yuav tsum tau sau dua tshiab.

Security

Nws yog qhov yooj yim. Muaj cov neeg siv nrog lub luag haujlwm ADMIN - lawv tuaj yeem hloov kho ntxiv, tshem tawm, thiab ntxiv cov tshiab.

Thiab muaj lwm cov neeg siv (sau npe lossis tsis tau). Lawv tsuas tuaj yeem xauj cov npe ntawm cov khoom siv ntxiv thiab tshawb nrhiav qhov lawv xav tau.

Spring Security tau siv los cais cov cai. Cov neeg siv cov ntaub ntawv khaws cia rau hauv ib lub database.

Cov neeg siv tuaj yeem sau npe. Tam sim no nws tsis muab dab tsi. Yog tias cov tub ntxhais kawm txuas ntxiv txhim kho cov kev pabcuam thiab qhia qee qhov haujlwm ntawm tus kheej, ces kev sau npe yuav tuaj yeem ua ke.

Responsiveness thiab Bootstrap

Cov ntsiab lus tom ntej yog adaptability. Nyob rau hauv cov ntaub ntawv ntawm peb cov kev pab cuam (tsawg kawg li peb pom nws), feem ntau ntawm cov neeg siv yuav nrog cov xov tooj ntawm tes. Thiab koj yuav tsum ceev faj saib cov ntxiv los ntawm koj lub xov tooj ntawm tes.

Txhawm rau kom tsis txhob raug kev txom nyem nrog CSS, peb coj Bootstrap. Pheej yig, zoo siab, thiab zoo li tsim nyog.

Kuv hu tsis tau lub interface zoo tagnrho. Cov nplooj ntawv tseem ceeb txawm tias tsawg dua, thiab nplooj ntawv rau cov ncauj lus kom ntxaws ntawm cov khoom ntxiv yog nqaim; ntawm cov xov tooj ntawm tes nws yuav tsum tau ua kom dav dua.

Kuv tsuas tuaj yeem hais tias kuv tau sim cuam tshuam nrog kev ua haujlwm tsawg li sai tau. Qhov no tseem yog ib qhov project tub ntxhais kawm. Thiab tau kawg, cov txiv neej yuav tuaj yeem kho lub sijhawm ntawd tom qab.

Ib feeb ntawm SEO Optimization

Txij li thaum kuv tau koom nrog hauv cov vev xaib thiab txhua yam ntsig txog SEO rau ntau tshaj ob xyoos, kuv tsis tuaj yeem tso tawm ib qhov project yam tsis muaj qhov tsawg kawg yog SEO optimization.

Qhov tseeb, kuv tau tsim cov qauv tsim ntawm Title thiab Cov Lus Qhia rau txhua qhov ntxiv. Lub URL yuav luag CNC, txawm hais tias nws tuaj yeem ua luv luv.

Kuv kuj tau ntxiv cov neeg tuaj koom. Ntxiv qhov chaw rau Yandex Webmaster thiab Google Search Console los saib xyuas cov lus ceeb toom los ntawm kev tshawb fawb xyaw.

Nws tsis txaus. Koj kuj yuav tsum tau ntxiv robots.txt thiab sitemap.xml rau tag nrho indexing. Tab sis dua, qhov no yog ib qhov project tub ntxhais kawm. Kuv yuav qhia lawv tias yuav tsum ua li cas, thiab yog tias lawv xav tau, lawv yuav ua.

Koj yuav tsum xa daim ntawv pov thawj SSL. Qhov pub dawb Let's Encrypt tseem yuav ua haujlwm. Kuv ua qhov no rau Spring Boot. Nws tsis yooj yim ua, thiab kev ntseeg siab ntawm PS nce.

Dab tsi ntxiv rau qhov project?

Tom qab ntawd, qhov tseeb, kev xaiv yog nyob ntawm cov txiv neej. Thawj lub tswv yim ntawm qhov project kuj suav nrog cov ntaub ntawv ntawm cov khoom siv nrog kev sib txuas rau cov khoom siv ntxiv.

Nkag mus rau "Snickers" thiab saib cov khoom noj khoom haus dab tsi nws muaj.

Txawm tias thaum pib ntawm qhov project, kuv paub tias peb yuav tsis muaj cov khoom :) Yog li ntawd, peb pib tsuas yog nrog cov khoom ntxiv.

Tam sim no koj tuaj yeem ntxiv cov khoom lag luam thiab nthuav qhia ntxiv. buns. Yog hais tias nws yog ib tug dav database, yuav muaj cov neeg siv.

Kev xa tawm

Qhov project tau xa mus rau VPS, Aruba Cloud. Qhov no yog qhov pheej yig tshaj VPS peb tuaj yeem nrhiav tau. Kuv tau siv tus neeg muab kev pabcuam no rau ntau tshaj ib xyoos rau kuv cov haujlwm, thiab kuv zoo siab nrog nws.

VPS cov yam ntxwv: 1 GB RAM, 1 CPU (Kuv tsis paub txog qhov zaus), 20 GB SSD. Rau peb qhov project no txaus.

Qhov project yog tsim los ntawm kev siv lub li ib txwm mvn huv pob. Qhov tshwm sim yog lub thawv roj - cov ntaub ntawv ua tiav nrog txhua qhov kev vam khom.

Txhawm rau ua kom tag nrho cov no me ntsis, kuv tau sau ob peb tsab ntawv bash.

Thawj tsab ntawv tshem tawm cov ntaub ntawv lub thawv qub thiab tsim ib qho tshiab.

Qhov thib ob tsab ntawv tso lub thawv sib sau ua ke, hla nws lub npe ntawm qhov xav tau profile. Qhov profile no muaj cov ntaub ntawv txuas nrog cov ntaub ntawv.

DB - MySQL ntawm tib VPS.

Tag nrho qhov project restart muaj xws li:

  • nkag mus rau VPS ntawm SSH
  • download tau qhov hloov tshiab git tshiab
  • khiav local-jar.sh
  • tua khiav daim ntawv thov
  • khiav launch-production.sh

Cov txheej txheem no siv sijhawm peb feeb. Qhov no zoo li qhov kev xaiv ntse rau kuv rau qhov project me me.

Teeb meem

Cov teeb meem tseem ceeb hauv kev tsim qhov project yog ntawm lub koom haum xwm txheej.

Muaj ib pab neeg zoo li paub yuav ua li cas rau program, tab sis tsis zoo heev. Lawv paub ib yam dab tsi, tab sis lawv tseem tsis tuaj yeem siv nws tiag tiag. Thiab tam sim no lawv yuav tsum ua kom tiav qhov project hauv ib hlis.

Kuv tau txheeb xyuas ib tus thawj coj hauv pab pawg hauv pawg no. Nws khaws Google Doc nrog cov npe ntawm cov haujlwm, faib cov haujlwm, thiab tswj lawv qhov kev lees paub. Nws kuj lees txais kev thov rub.

Kuv kuj hais kom cov tub ntxhais kawm sau ib daim ntawv qhia luv luv txhua hmo txog cov haujlwm uas lawv tau ua hauv qhov project. Yog tias koj tsis ua dab tsi, ok, tsuas yog sau "ua tsis muaj dab tsi." Qhov no yog kev xyaum zoo thiab ua rau koj ntxhov siab me ntsis. Tsis yog txhua tus ua raws li txoj cai no, hmoov tsis.

Lub hom phiaj ntawm tag nrho cov kev txav no yooj yim. Tsim ib pab neeg, txawm tias tsuas yog ib lub sijhawm luv, los ua haujlwm ua ke.

Kuv xav kom cov txiv neej xav tias lawv txoj haujlwm tseem ceeb. Nkag siab tias lawv tsis sau cov kab lus kheej kheej hauv lub tshuab nqus tsev. Thiab lawv ua dab tsi ua ke yog ib qhov project uas tib neeg yuav siv.

Thawj lub lim tiam lossis ob yog kev tsim kho. Cov koom haum thiab kev cog lus me me tau ua qeeb qeeb. Me ntsis kuv tau nplawm lawv, thiab kev ua haujlwm tau lom zem dua. Kev sib txuas lus hauv kev sib tham tau ua kom muaj kev vam meej, cov tub ntxhais kawm tau muab lawv cov khoom ntxiv.

Kuv ntseeg tias lub hom phiaj tau ua tiav. Qhov project tiav, cov txiv neej tau txais kev paub me ntsis ua haujlwm hauv pab pawg. Muaj qhov pom, pom tau qhov tshwm sim uas tuaj yeem pom rau cov phooj ywg thiab txhim kho ntxiv.

tshawb pom

Kev kawm yog qhov nthuav.

Tom qab txhua chav kawm kuv rov qab muaj kev ntxhov siab. Kuv sim ua kom txhua tus khub tshwj xeeb thiab nthuav qhia ntau yam kev paub ntau li ntau tau.

Nws yog qhov zoo thaum pab pawg kuv qhia mus txog qhov kawg. Nws yog qhov tshwj xeeb tshaj yog thaum cov txiv neej sau "Kuv tau ua haujlwm, txhua yam zoo, ua tsaug." Txawm hais tias nws yog menyuam yaus, txawm tias nws tsis yog qhov nyiaj loj tshaj thaum xub thawj. Tab sis qhov tseem ceeb tshaj plaws yog tias lawv tau ua ib kauj ruam ntawm lawv txoj kev ntshaw, thiab lawv ua tiav.

Txawm hais tias tsab xov xwm tau dhau los ua voluminous, nws yeej tsis tuaj yeem npog tag nrho cov ntsiab lus. Yog li ntawd, sau koj cov lus nug hauv cov lus.

Tau qhov twg los: www.hab.com

Ntxiv ib saib