I-E-Dobavki - isevisi yewebhu yokusesha izithasiselo zokudla ku-Java kanye ne-Spring Boot, ebhalwe abafundi bami

Isingeniso

Kwenzeka ukuthi cishe iminyaka emibili edlule ngifundisa izinhlelo kwesinye sezikole ze-IT eKyiv. Ngaqala ukwenza lokhu Just For Fun. Ngake ngabhala ibhulogi yokuhlela, ngabe sengiyiyeka. Kodwa isifiso sokutshela abantu abathakazelayo izinto eziwusizo asikapheli.

Ulimi lwami olukhulu isi-Java. Ngabhala imidlalo yamaselula, isofthiwe yezokuxhumana ngomsakazo, kanye nezinsiza ezihlukahlukene zewebhu kuyo. Futhi ngifundisa iJava.

Lapha ngifuna ukuxoxa indaba yokuqeqeshwa kweqembu lami lokugcina. Basuka kanjani ekuqeqesheni baya ekubhaleni isevisi yewebhu esebenzayo. Isevisi yewebhu ewusizo yokuthola izithasiselo zokudla okunomsoco. Mahhala, akukho ukukhangisa, ukubhaliswa kanye SMS.

Isevisi ngokwayo isilapha - E-Dobavki.com.

I-E-Dobavki - isevisi yewebhu yokusesha izithasiselo zokudla ku-Java kanye ne-Spring Boot, ebhalwe abafundi bami

Le phrojekthi iyafundisa futhi ayiqukethe noma yikuphi ukukhangisa. Njengoba ngiqonda kusuka lolu shicilelo, unganikeza izixhumanisi kumaphrojekthi anjalo.

Ngaphambi kokuchaza iphrojekthi ngokwayo, ngizokutshela kancane mayelana nenqubo yokufunda yeqembu; ngaphandle kwalokhu, isithombe sizobe singaphelele.

Ukuqeqeshwa kwezinyanga eziyisi-9

Esikoleni engifundisa kuso, izifundo zeJava zihlukaniswe izingxenye ezi-2. Sekukonke, isifundo sithatha cishe izinyanga eziyi-9, nawo wonke amakhefu (amaholide oNyaka Omusha, isikhathi sokubhala amaphrojekthi aphakathi).

Ingxenye yokuqala yethula abafundi emiqondweni eyisisekelo yolimi. Okuguquguqukayo, izindlela, izisekelo ze-OOP nazo zonke lezo zinto.

Ingxenye yesibili yesifundo ihlinzeka ngokuthi umfundi usevele eqonda ngokuningi noma kancane indlela yokubhala nge-Java, futhi anganikezwa isitaki sobuchwepheshe "sabantu abadala". Konke kuqala nge-SQL, bese kuba yi-JDBC, i-Hibernate. Bese kuba i-HTTP, ama-servlets. Okulandelayo yi-Spring, kancane mayelana ne-git ne-maven. Futhi abafundi babhala amaphrojekthi wokugcina.

Konke ukuqeqeshwa kuhlukaniswe ngamamojula. Ngangiqhuba amakilasi kabili ngesonto. Isikhathi sesifundo esisodwa amahora amabili.

Indlela yami yokufunda

Ngikhiphe amaqembu angu-5. Kubukeka sengathi kuningi iminyaka emibili, kodwa cishe njalo ngihola amaqembu ama-2 ngokufana.

Ngizamile izindlela ezahlukene.

Inketho yokuqala ukuthi ipheya eyodwa yabelwe isethulo ngethiyori. Ipheya yesibili iwumkhuba omsulwa. Le ndlela ngandlela-thile yasebenza, kodwa ayizange iphumelele kakhulu, ngokubona kwami.

Inketho yesibili engize kuyo futhi engisebenza ngayo manje ukuthi nginganikeli umbhangqwana wonke emcabangweni. Esikhundleni salokho, ngixuba izingxenye ezimfushane zethiyori imizuzu emi-5-10, futhi ngiziqinise ngokushesha ngezibonelo ezisebenzayo. Le ndlela isebenza kangcono.

Uma kunesikhathi esanele, ngibizela abafundi endaweni yami, ngibahlalise phansi kukhompuyutha yami ephathekayo, bese benza izibonelo ezingokoqobo ngokwabo. Isebenza kahle, kodwa ngeshwa ithatha isikhathi esiningi.

Akuwona wonke umuntu ofinyelela ekupheleni

Isambulo kimi kwaba iqiniso lokuthi akulona lonke iqembu elifinyelela ekupheleni kwesifundo.

Ngokubona kwami, ingxenye kuphela yabafundi ebhala iphrojekthi yokugcina. Iningi lazo liqedwa phakathi nengxenye yokuqala yesifundo. Futhi labo abafinyelele engxenyeni yesibili ngokuvamile abawi.

Bahamba ngezizathu ezahlukene.

Esokuqala siyinkimbinkimbi. Kungakhathaliseki ukuthi bathini, i-Java ayilona ulimi olulula kakhulu. Ukubhala ngisho nohlelo olulula, udinga ukuqonda umqondo wekilasi, indlela. Futhi ukuqonda ukuthi kungani udinga ukubhala i-public static void main(String[] arg) Kuneminye imiqondo embalwa okufanele uyiqonde.

Qhathanisa lokhu noTurbo Pascal, okuyinto abantu abaningi abaqale ngayo, kuhlanganise nami:

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

Ngokwazi kwami, isikole sizoyixazulula le nkinga ngokwethula ukuhlolwa okwengeziwe. Manje akuwona wonke umuntu ongafunda i-Java. Lokhu kusesesigabeni somqondo, kodwa isinyathelo ngokusobala silungile.

Futhi isizathu sesibili sifana nesithombe esingezansi:

I-E-Dobavki - isevisi yewebhu yokusesha izithasiselo zokudla ku-Java kanye ne-Spring Boot, ebhalwe abafundi bami

Abantu bavame ukucabanga ukuthi ukuhlela kumayelana nokuthayipha umbhalo omningi nokuthola imali eningi ngakho. Njengomkopishi, imali eyengeziwe kuphela.

Iqiniso lihlukile kancane. Amakhodi amaningi ajwayelekile, izimbungulu ezingabonakali, inqubo yokufunda eqhubekayo. Kuyathakazelisa, kodwa hhayi wonke umuntu.

Lezi izibalo. Kwaqale kwangicasula, ngacabanga ukuthi mhlawumbe kukhona okungalungile engikwenzayo. Manje sengiyaqonda ukuthi izibalo zicishe zifane ezifundweni eziningi. Manje angikhathazeki ngakho, kodwa fundisa labo bantu abanesithakazelo kuyo.

Umbono wensizakalo

Lapho abafundi sebeqede sonke isifundo, kwase kuyisikhathi sokubhala umsebenzi wokugcina. Kwakukhona imibono ehlukene. Banikeze amashidi e-ToDo, amaphrojekthi okuphatha amaphrojekthi, nokunye.

Bengifuna ukwenza into elula kodwa ewusizo. Umbandela wami wawulula - ukuthi mina nabangane bami singawusebenzisa. Isevisi yewebhu yokusesha izithasiselo zokudla ihlangabezane nalezi zidingo.

Umbono ulula. Uma uthenga umkhiqizo esitolo, ubona uhlobo oluthile lwe-E-additive ekubunjweni kwalo. Akucaci kukhodi ukuthi iyingozi kangakanani noma cha (futhi kukhona nezithasiselo eziyingozi ezivinjelwe emazweni amaningi).

Uvula iwebhusayithi, faka igama lesengezo (inombolo, elinye lamagama ahlukile), bese uthola isifinyezo sesengezo:

I-E-Dobavki - isevisi yewebhu yokusesha izithasiselo zokudla ku-Java kanye ne-Spring Boot, ebhalwe abafundi bami

Kukhona amaphrojekthi afanayo. Ungakwazi futhi ukumane uthayiphe isengezo ku-Google, nakuba ingabonisi ngaso sonke isikhathi ulwazi ngendlela efanele.

Kodwa njengoba iphrojekthi ifundisa, ubunzima obungenhla abuzange basivimbe :)

Ukuqaliswa

Wonke umuntu wabhala ku-Java, ikhodi yomthombo wephrojekthi ku-Github.

Sasiyi-7, kuhlanganise nami. Wonke umuntu wenze isicelo sokudonsa, futhi mina, noma omunye umuntu eqenjini, wamukele lesi sicelo sokudonsa.

Ukuqaliswa kwephrojekthi kuthathe cishe inyanga - kusukela ekuvezeni umbono kuya esimweni osibona manje.

Ukuhlaziya izithasiselo

Into yokuqala eyenziwa ngomunye wabafundi, ngaphandle kokudalwa okuyisisekelo kohlaka oluzungeze isizindalwazi (izinkampani, amakhosombe, njll.), kwakuwukuhlaziya izengezo kusayithi lolwazi elikhona.

Lokhu kwakudingeka ukuze kuhlolwe amaphuzu asele. Ayikho ikhodi eyengeziwe edingekayo ukuze kugcwaliswe kusizindalwazi. Ngemva kokuhlaziya ngokushesha izithasiselo ezimbalwa, singaqhubeka sihlola i-UI, ukuhlunga, nokuhlunga.

I-Spring Boot ikuvumela ukuthi udale amaphrofayili amaningi. Iphrofayili yifayela elinezilungiselelo.

Ngemvelo ye-dev, sisebenzise iphrofayela ene-H2 DBMS yendawo kanye nembobo ye-HTTP ezenzakalelayo (8080). Ngakho-ke, ngaso sonke isikhathi lapho uhlelo lwethulwa, i-database iyasulwa. Umhlaziyi kuleli cala nguyena owasisindisa.

Sesha futhi uhlunge

Iphuzu elibalulekile wukusesha nokuhlunga. Umuntu osesitolo kufanele achofoze ngokushesha ikhodi yesithasiselo, noma elinye lamagama, futhi athole umphumela.

Ngakho-ke, Ibhizinisi Lokwengeza linezinkambu ezimbalwa. Lena ikhodi yokwengeza, amanye amagama, incazelo. Ukusesha kwenziwa kusetshenziswa u-Like kuzo zonke izinkambu ngesikhathi esisodwa. Futhi uma ufaka [123] noma [i-amaranth], uzothola umphumela ofanayo.

Konke lokhu sikwenze ngokusekelwe ku-Specifications. Lena ingxenye yeNtwasahlobo ekuvumela ukuthi uchaze izimo zokusesha eziyisisekelo (njengenkambu ethile, isibonelo), bese uhlanganisa le mibandela (NOMA noma KANYE).

Ngemva kokubhala imininingwane eyishumi nambili, ungabuza imibuzo eyinkimbinkimbi njengokuthi "zonke izithasiselo zombala eziyingozi ezinegama elithi [obomvu] encazelweni."

Mayelana nokusebenza nesizindalwazi saseSpring, ngikuthola kulula kakhulu. Lokhu kuyiqiniso ikakhulukazi lapho usebenza ngemibuzo eyinkimbinkimbi. Ngiyaqonda ukuthi lokhu kunesihloko sakho siqu, futhi umbuzo obhalwe ngesandla nolungiselelwe we-SQL uzosebenza ngokushesha.

Kodwa futhi nginamathela embonweni wokuthi asikho isidingo sokwandisa konke kusengaphambili. Inguqulo yokuqala kufanele iqale, isebenze, futhi ivumele ukushintshwa kwezingxenye ngazinye. Futhi uma kunomthwalo, lezi zingxenye ngazinye zidinga ukubhalwa kabusha.

Security

Kulula. Kunabasebenzisi abanendima engu-ADMIN - bangahlela izengezo, bazisuse, futhi bengeze ezintsha.

Futhi kukhona abanye abasebenzisi (ababhalisiwe noma cha). Bangaphequlula kuphela uhlu lwezithasiselo futhi baseshe lezo abazidingayo.

I-Spring Security yayisetshenziselwa ukuhlukanisa amalungelo. Idatha yomsebenzisi igcinwa kusizindalwazi.

Abasebenzisi bangabhalisa. Manje ayinikezi lutho. Uma abafundi beqhubeka nokuthuthukisa isevisi futhi bethula imisebenzi ethile yomuntu siqu, khona-ke ukubhalisa kuzofika kahle.

Ukusabela kanye ne-Bootstrap

Iphuzu elilandelayo ukuguquguquka. Endabeni yesevisi yethu (okungenani indlela esiyibone ngayo), iningi labasebenzisi lizoba nomakhalekhukhwini. Futhi udinga ukubuka ngokushesha isithasiselo kusuka kumakhalekhukhwini wakho.

Ukuze singahlupheki nge-CSS, sithathe i-Bootstrap. Kushibhile, kujabule, futhi kubukeka kuhloniphekile.

Angikwazi ukubiza isixhumi esibonakalayo esifanelekile. Ikhasi eliyinhloko lincane kakhulu, futhi ikhasi lencazelo enemininingwane yokwengeza lincane; kumaselula lidinga ukwenziwa banzi.

Ngingasho nje ukuthi ngazama ukuphazamisa umsebenzi kancane ngangokunokwenzeka. Lona kusewuhlelo lwabafundi. Futhi-ke, abafana bazokwazi ukulungisa izikhathi ezinjalo kamuva.

Iminithi Lokusebenza Kwe-SEO

Njengoba ngibambe iqhaza eduze kumawebhusayithi nakho konke okuhlobene ne-SEO iminyaka engaphezu kwemibili, angikwazanga ukukhipha iphrojekthi ngaphandle kokungenani ukulungiselelwa okuyisisekelo kwe-SEO.

Eqinisweni, ngenze isizukulwane sesifanekiso Sesihloko Nencazelo yesengezo ngasinye. I-URL isicishe ibe yi-CNC, nakuba ingenziwa ibe mfishane.

Ngengeza nezindawo zokubala zokuhambela. Kwengezwe isayithi ku-Yandex Webmaster naku-Google Search Console ukuze kuqashwe izexwayiso ezivela ezinjinini zokusesha.

Akwanele. Udinga futhi ukwengeza i-robots.txt kanye ne-sitemap.xml ukuze uthole inkomba egcwele. Kodwa futhi, lena iphrojekthi yabafundi. Ngizobatshela okufanele kwenziwe, futhi uma befuna, bazokwenza.

Udinga ukunamathisela isitifiketi se-SSL. I-Let Encrypt yamahhala nayo izosebenza. Lokhu ngikwenzele iSpring Boot. Akunzima ukukwenza, futhi ukwethenjwa kwe-PS kuyanda.

Yini elandelayo kuphrojekthi?

Khona-ke, eqinisweni, ukukhetha kukubafana. Umbono wangempela wephrojekthi wawuhlanganisa nesizindalwazi semikhiqizo enezixhumanisi ezithasiselweni.

Faka okuthi β€œSnickers” futhi ubone ukuthi iquketheni izithasiselo zokudla okunomsoco.

Ngisho nasekuqaleni kwephrojekthi, ngangazi ukuthi ngeke sibe nemikhiqizo :) Ngakho-ke, saqala kuphela ngezithasiselo.

Manje ungakwazi ukwengeza imikhiqizo futhi wethule eminye. amabhanisi. Uma kuyisizindalwazi esibanzi, kuzoba nabasebenzisi.

Ukuthunyelwa

Iphrojekthi yasetshenziswa ku-VPS, Aruba Cloud. Lena i-VPS eshibhe kakhulu esingayithola. Ngisebenzise lo mhlinzeki isikhathi esingaphezu konyaka kumaphrojekthi ami, futhi ngijabule ngawo.

Izici ze-VPS: 1 GB RAM, 1 CPU (angazi mayelana nemvamisa), 20 GB SSD. Kuphrojekthi yethu lokhu kwanele.

Iphrojekthi yakhiwe kusetshenziswa iphakheji elijwayelekile le-mvn clean. Umphumela uba imbiza enamafutha - ifayela elisebenzisekayo elinakho konke ukuncika.

Ukwenza konke lokhu kancane, ngibhale imibhalo embalwa ye-bash.

Umbhalo wokuqala ususa ifayela lembiza endala bese wakha elisha.

Umbhalo wesibili wethula imbiza ehlanganisiwe, uyidlulisele igama lephrofayili edingekayo. Le phrofayela iqukethe imininingwane yokuxhumana kusizindalwazi.

I-DB - MySQL ku-VPS efanayo.

Isamba sokuqala kabusha kwephrojekthi sihlanganisa:

  • ngena ku-VPS nge-SSH
  • landa izinguquko zakamuva ze-git
  • sebenzisa i-local-jar.sh
  • bulala uhlelo lokusebenza
  • sebenzisa i-launch-production.sh

Le nqubo ithatha imizuzu emithathu. Lokhu kubonakala kuyisinqumo esihlakaniphile kimi sephrojekthi encane kangaka.

Ubunzima

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ слоТности ΠΏΡ€ΠΈ создании ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π±Ρ‹Π»ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π°.

Kuneqembu labantu ababonakala bekwazi ukuhlela, kodwa hhayi kahle kakhulu. Kukhona abakwaziyo, kodwa abakakwazi ukukusebenzisa ngempela. Futhi manje badinga ukuqeda umsebenzi ngenyanga.

Ngikhombe umholi weqembu onemibandela kuleli qembu. Ugcine i-Google Amadokhumenti enohlu lwemisebenzi, imisebenzi esabalalisiwe, futhi elawula ukwamukelwa kwayo. Wazamukela nezicelo zokudonsa.

Ngacela nabafundi ukuba babhale umbiko omfushane njalo kusihlwa ngomsebenzi abawenzile kulo msebenzi. Uma ungenzanga lutho, kulungile, vele ubhale "akenzanga lutho." Lokhu kuwumkhuba omuhle futhi kukwenza ucindezeleke kancane. Akubona bonke abalandela lo mthetho, ngeshwa.

Inhloso yawo wonke lo mnyakazo yayilula. Yakhani iqembu, noma ngabe isikhashana nje, ukuze nisebenze ndawonye.

Ngangifuna abafana babone ukuthi umsebenzi wabo ubalulekile. Qonda ukuthi abayibhali ikhodi eyindilinga endaweni engenalutho. Futhi lokhu abakwenzayo ndawonye kuwumsebenzi abantu abazowusebenzisa.

Isonto lokuqala noma amabili kwaba ukwakha. Izinkampani kanye nezibopho ezincane zenziwe ngobuvila. Kancane kancane ngabavusa, futhi umsebenzi waba mnandi kakhulu. Ukuxhumana engxoxweni kwaba bukhoma, abafundi banikeza izengezo zabo.

Ngikholwa wukuthi inhloso isifeziwe. Iphrojekthi yenziwe, abafana bathola isipiliyoni esincane sokusebenza eqenjini. Kunomphumela obonakalayo, obambekayo ongaboniswa abangani futhi uthuthukiswe.

okutholakele

Ukufunda kuyathakazelisa.

Ngemva kwekilasi ngalinye ngangibuya ngikhathazekile emoyeni. Ngizama ukwenza ipheya ngayinye ihluke futhi idlulisele ulwazi oluningi ngangokunokwenzeka.

Kumnandi uma iqembu engilifundisayo lifinyelela kowamanqamu. Kuhle kakhulu lapho abafana bebhala ukuthi β€œNgiwutholile umsebenzi, konke kuhamba kahle, ngiyabonga.” Ngisho noma kungumncane, ngisho noma kungeyona imali enkulu ekuqaleni. Kodwa okubaluleke kakhulu ukuthi bathatha igxathu eliya ezifisweni zabo, futhi baphumelela.

Nakuba lesi sihloko sabonakala sishibhile, ngokuqinisekile kwakungenakwenzeka ukuhlanganisa wonke amaphuzu. Ngakho-ke, bhala imibuzo yakho kumazwana.

Source: www.habr.com

Engeza amazwana