E-Dobavki - ntchito yapaintaneti yofufuza zowonjezera zakudya mu Java ndi Spring Boot, yolembedwa ndi ophunzira anga

Mau oyamba

Zidachitika kuti pafupifupi zaka ziwiri zapitazi ndakhala ndikuphunzitsa mapulogalamu pa imodzi mwasukulu za IT ku Kyiv. Ndinayamba kuchita izi Zongosangalatsa. Nthawi ina ndinalemba blog yokonza mapulogalamu, kenako ndinasiya. Koma chilakolako chouza anthu achidwi zinthu zothandiza sichinathe.

Chilankhulo changa chachikulu ndi Java. Ndinalemba masewera a mafoni a m'manja, mapulogalamu a mauthenga a pawailesi, ndi ntchito zosiyanasiyana za intaneti pa izo. Ndipo ndimaphunzitsa Java.

Pano ndikufuna kufotokoza nkhani ya maphunziro a gulu langa lomaliza. Momwe adayambira kuyambira maphunziro mpaka kulemba ntchito yapaintaneti yogwira ntchito. Ntchito yothandiza pa intaneti yopezera zakudya zowonjezera zakudya. Zaulere, palibe kutsatsa, kulembetsa ndi SMS.

Ntchito yokhayo ili pano - E-Dobavki.com.

E-Dobavki - ntchito yapaintaneti yofufuza zowonjezera zakudya mu Java ndi Spring Boot, yolembedwa ndi ophunzira anga

Ntchitoyi ndi yophunzitsa ndipo ilibe zotsatsa zilizonse. Monga ndikumvetsetsa kuchokera chofalitsidwa ichi, mutha kupereka maulalo kuzinthu zotere.

Ndisanafotokoze za polojekiti yokha, ndikuwuzani pang'ono za momwe gulu likuphunzirira; popanda izi, chithunzicho chidzakhala chosakwanira.

Maphunziro a miyezi 9

Kusukulu komwe ndimaphunzitsa, maphunziro a Java amagawidwa m'magawo awiri. Pazonse, maphunzirowa amatenga pafupifupi miyezi 2, ndi nthawi yopuma (tchuthi cha Chaka Chatsopano, nthawi yolemba ntchito zapakatikati).

Gawo loyamba limadziwitsa ophunzira mfundo zoyambira za chilankhulo. Zosintha, njira, zoyambira za OOP ndi zinthu zonsezo.

Gawo lachiwiri la maphunzirowa limapereka kuti wophunzirayo amvetsetsa kale kulemba mu Java, ndipo akhoza kupatsidwa "wamkulu" luso lamakono. Zonse zimayamba ndi SQL, kenako JDBC, Hibernate. Kenako HTTP, servlets. Chotsatira ndi Spring, pang'ono za git ndi maven. Ndipo ophunzira amalemba ntchito zomaliza.

Maphunziro onse amagawidwa kukhala ma modules. Ndinkachititsa makalasi kawiri pamlungu. Nthawi ya phunziro limodzi ndi maola awiri.

Njira yanga yophunzirira

Ndatulutsa magulu 5. Zikuwoneka ngati zambiri kwa zaka ziwiri, koma pafupifupi nthawi zonse ndimatsogolera magulu a 2 mofanana.

Ndayesera njira zosiyanasiyana.

Njira yoyamba ndi yakuti gulu limodzi laperekedwa kuti liwonetsere ndi chiphunzitso. Awiri achiwiri ndi machitidwe oyera. Njirayi mwanjira ina inagwira ntchito, koma sizinali zogwira mtima kwambiri, mwa lingaliro langa.

Njira yachiwiri yomwe ndidabwerako komanso yomwe ndikugwira ntchito pano sikupereka gulu lonse pamalingaliro. M'malo mwake, ndimasakaniza zigawo zazifupi za chiphunzitso kwa mphindi 5-10, ndipo nthawi yomweyo ndimalimbikitsa ndi zitsanzo zothandiza. Njira imeneyi imagwira ntchito bwino.

Ngati pali nthawi yokwanira, ndimayitanira ophunzira kunyumba kwanga, kuwakhazika pansi pa laputopu yanga, ndipo iwonso amachita zitsanzo zothandiza. Zimagwira ntchito bwino, koma mwatsoka zimatenga nthawi yambiri.

Sikuti aliyense amafika kumapeto

Vumbulutso kwa ine linali lakuti si gulu lonse lomwe likufika kumapeto kwa maphunzirowo.

Malinga ndi zomwe ndawonera, theka la ophunzira okha ndi omwe amalemba ntchito yomaliza. Ambiri a iwo amachotsedwa pa gawo loyamba la maphunzirowo. Ndipo amene afika gawo lachiwiri nthawi zambiri sagwa.

Amachoka pazifukwa zosiyanasiyana.

Choyamba ndi chovuta. Ziribe kanthu zomwe akunena, Java si chinenero chosavuta. Kuti mulembe ngakhale pulogalamu yosavuta, muyenera kumvetsetsa lingaliro la kalasi, njira. Ndipo kuti mumvetse chifukwa chake muyenera kulemba public static void main(String[] arg) Pali malingaliro ena ochepa oti mumvetsetse.

Fananizani izi ndi Turbo Pascal, zomwe anthu ambiri adayamba nazo, kuphatikiza ine:

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

Monga ndikudziwira, sukuluyi idzathetsa vutoli poyambitsa mayeso owonjezera. Tsopano si aliyense amene angaphunzire Java. Izi zikadali pamlingo wamalingaliro, koma sitepeyo ndiyabwino.

Ndipo chifukwa chachiwiri chili ngati chithunzi chili pansipa:

E-Dobavki - ntchito yapaintaneti yofufuza zowonjezera zakudya mu Java ndi Spring Boot, yolembedwa ndi ophunzira anga

Nthawi zambiri anthu amaganiza kuti kupanga mapulogalamu ndi kulemba mawu ambiri ndikupeza ndalama zambiri. Monga wolemba, ndalama zochulukirapo.

Chowonadi ndi chosiyana pang'ono. Ma code ambiri achizolowezi, nsikidzi zosawonekera, njira yophunzirira nthawi zonse. Ndizosangalatsa, koma osati kwa aliyense.

Izi ndi ziwerengero. Poyamba zinandikwiyitsa, ndinaganiza kuti mwina ndinali kuchita zinthu zolakwika. Tsopano ndikumvetsa kuti ziwerengero zili pafupifupi zofanana pa maphunziro ambiri. Tsopano sindidandaula nazo, koma phunzitsani anthu omwe ali ndi chidwi nawo.

Lingaliro la utumiki

Ophunzira akamaliza maphunziro onse, inali nthawi yoti alembe ntchito yomaliza. Panali malingaliro osiyanasiyana. Anapereka mapepala a ToDo, mapulojekiti oyendetsa polojekiti, ndi zina.

Ndinkafuna kuchita zinthu zosavuta koma zothandiza. Mulingo wanga unali wosavuta - kaya ine ndi anzanga titha kugwiritsa ntchito. Ntchito yapaintaneti yofufuza zowonjezera zakudya idakwaniritsa izi.

Lingaliro ndi losavuta. Mukagula malonda m'sitolo, mumawona mtundu wina wa E-zowonjezera muzolembazo. Sizikudziwika bwino kuchokera ku code kuti ndizoopsa bwanji kapena ayi (ndipo palinso zowonjezera zoopsa zomwe zimaletsedwa m'mayiko ambiri).

Mumatsegula webusayiti, lowetsani dzina lazowonjezera (nambala, amodzi mwa mayina ena), ndikupeza chidule chazowonjezera:

E-Dobavki - ntchito yapaintaneti yofufuza zowonjezera zakudya mu Java ndi Spring Boot, yolembedwa ndi ophunzira anga

Pali ntchito zofanana. Muthanso kungolemba zowonjezera mu Google, ngakhale sizimawonetsa zambiri molondola.

Koma popeza polojekitiyi ndi yophunzitsa, zovuta zomwe zili pamwambapa sizinatiletse :)

РСализация

Aliyense adalemba ku Java, gwero la polojekiti pa Github.

Tinali 7, kuphatikizapo ine. Aliyense adapempha kuti akoke, ndipo ine, kapena munthu wina wa gululo, adavomera pempholi.

Kukhazikitsidwa kwa polojekitiyi kunatenga pafupifupi mwezi umodzi - kuchokera kufotokoza lingalirolo ku boma lomwe mukuliwona tsopano.

Zowonjezera zowonjezera

Chinthu choyamba chimene mmodzi mwa ophunzirawo anachita, kuwonjezera pa kupanga maziko ozungulira nkhokwe (mabungwe, nkhokwe, ndi zina zotero), chinali kugawa zowonjezera kuchokera kumalo omwe analipo kale.

Izi zinali zofunika kuyesa mfundo zotsalazo. Palibe nambala yowonjezera yofunikira kuti mukhazikitse database. Titasiyanitsa mwachangu zowonjezera zingapo, titha kuyesanso UI, kusanja, ndi kusefa.

Spring Boot imakulolani kuti mupange mbiri zambiri. Mbiri ndi fayilo yokhala ndi zoikamo.

Kwa chilengedwe cha dev, tidagwiritsa ntchito mbiri yokhala ndi H2 DBMS yakomweko komanso doko la HTTP (8080). Chifukwa chake, nthawi iliyonse yomwe pulogalamuyo idakhazikitsidwa, database idachotsedwa. Wofotokoza nkhaniyi ndi amene anatipulumutsa.

Sakani ndi kusefa

Mfundo yofunika ndikufufuza ndi kusefa. Munthu m'sitolo ayenera dinani mwamsanga pa code ya chowonjezera, kapena mmodzi wa mayina, ndi kupeza zotsatira.

Chifukwa chake, gawo la Additive lili ndi magawo angapo. Ili ndiye nambala yowonjezera, mayina ena, kufotokozera. Kusaka kumachitika pogwiritsa ntchito Like m'magawo onse nthawi imodzi. Ndipo mukalowa [123] kapena [amaranth] mudzapeza zotsatira zomwezo.

Tidachita zonsezi kutengera Mafotokozedwe. Ili ndi gawo la Spring lomwe limakupatsani mwayi wofotokozera zoyambira zofufuzira (monga gawo lina, mwachitsanzo), ndikuphatikiza izi (OR kapena NDI).

Mutalemba zofotokozera khumi ndi ziwiri, mutha kufunsa mafunso ovuta ngati "zowonjezera zonse zowopsa zomwe zili ndi mawu akuti [ofiira] pofotokozera."

Pankhani yogwira ntchito ndi database ya Spring, ndimapeza kuti ndizothandiza kwambiri. Izi ndizowona makamaka pogwira ntchito ndi mafunso ovuta. Ndikumvetsetsa kuti izi zili ndi mutu wake, ndipo funso la SQL lolembedwa pamanja komanso lokonzedwa bwino lidzayenda mwachangu.

Koma ndimatsatiranso mfundo yakuti palibe chifukwa chokonzekera zonse pasadakhale. Mtundu woyamba uyenera kuyamba, kugwira ntchito, ndi kulola kusinthidwa kwa magawo amodzi. Ndipo ngati pali katundu, zigawo izi ziyenera kulembedwanso.

Security

Ndi zophweka. Pali ogwiritsa ntchito omwe ali ndi gawo la ADMIN - amatha kusintha zowonjezera, kuzichotsa, ndikuwonjezera zatsopano.

Ndipo palinso ogwiritsa ntchito ena (olembetsa kapena ayi). Amatha kungoyang'ana mndandanda wazowonjezera ndikusaka zomwe amafunikira.

Chitetezo cha Spring chinali kugwiritsidwa ntchito kulekanitsa ufulu. Zambiri za ogwiritsa ntchito zimasungidwa mu database.

Ogwiritsa akhoza kulembetsa. Tsopano sizipereka kalikonse. Ngati ophunzira apitiliza kupanga ntchitoyi ndikuyambitsa zina mwamakonda, ndiye kuti kulembetsa kumakhala kothandiza.

Kuyankha ndi Bootstrap

Mfundo yotsatira ndiyo kusinthasintha. Pankhani ya ntchito yathu (monga momwe tidawonera), ogwiritsa ntchito ambiri azikhala ndi mafoni am'manja. Ndipo muyenera kuwona chowonjezeracho mwachangu kuchokera pafoni yanu yam'manja.

Kuti tisavutike ndi CSS, tinatenga Bootstrap. Zotsika mtengo, zansangala, komanso zowoneka bwino.

Sindingathe kutcha mawonekedwe abwino. Tsamba lalikulu ndilocheperako, ndipo tsamba lofotokozera mwatsatanetsatane zowonjezera ndi lopapatiza; pama foni am'manja liyenera kukulitsidwa.

Ndikhoza kunena kuti ndinayesera kusokoneza ntchitoyo pang'ono momwe ndingathere. Iyi ikadali pulojekiti ya ophunzira. Ndipo, ndithudi, anyamata adzatha kukonza mphindi ngati zimenezi.

Mphindi ya SEO Optimization

Popeza ndakhala ndikuchita nawo mawebusayiti ndi chilichonse chokhudzana ndi SEO kwazaka zopitilira ziwiri, sindingathe kumasula pulojekiti popanda kukhathamiritsa kwa SEO.

M'malo mwake, ndidapanga m'badwo wa template wa Mutu ndi Kufotokozera pazowonjezera zilizonse. Ulalowu uli pafupifupi CNC, ngakhale ukhoza kufupikitsidwa.

Ndinawonjezeranso zowerengera zowerengera. Onjezani tsambali ku Yandex Webmaster ndi Google Search Console kuti muwunikire machenjezo kuchokera kumainjini osakira.

Sikokwanira. Muyeneranso kuwonjezera robots.txt ndi sitemap.xml kuti mulondole zonse. Koma kachiwiri, iyi ndi ntchito ya ophunzira. Ndidzawauza zoyenera kuchita, ndipo ngati akufuna, azichita.

Muyenera kulumikiza satifiketi ya SSL. The Let's Encrypt yaulere idzagwiranso ntchito. Ndinachita izi ku Spring Boot. Sizovuta kuchita, ndipo kudalira kwa PS kumawonjezeka.

Chotsatira ndi chiyani pa polojekitiyi?

Ndiye, kwenikweni, kusankha kuli kwa anyamata. Lingaliro loyambirira la polojekitiyi lidaphatikizanso nkhokwe yazinthu zomwe zili ndi maulalo pazowonjezera.

Lowani "Snickers" ndikuwona zomwe zili ndi zakudya zowonjezera.

Ngakhale kumayambiriro kwa ntchitoyi, ndinadziwa kuti sitidzakhala ndi mankhwala :) Choncho, tinayamba ndi zowonjezera.

Tsopano mutha kuwonjezera malonda ndikuwonetsa zina. mabala. Ngati ili ndi database yayikulu, padzakhala ogwiritsa ntchito.

Kutumizidwa

Ntchitoyi idayikidwa pa VPS, Aruba Cloud. Iyi ndiye VPS yotsika mtengo kwambiri yomwe tingapeze. Ndakhala ndikugwiritsa ntchito woperekayu kwa nthawi yopitilira chaka kuzinthu zanga, ndipo ndikukondwera nazo.

Makhalidwe a VPS: 1 GB RAM, 1 CPU (sindikudziwa za ma frequency), 20 GB SSD. Pantchito yathu izi ndi zokwanira.

Ntchitoyi imamangidwa pogwiritsa ntchito phukusi loyera la mvn. Zotsatira zake ndi mtsuko wamafuta - fayilo yotheka yomwe imadalira zonse.

Kuti ndisinthe zonsezi pang'ono, ndidalemba zolemba zingapo za bash.

Cholemba choyamba chimachotsa fayilo yakale ya mtsuko ndikupanga yatsopano.

Cholemba chachiwiri chikuyambitsa mtsuko wosonkhanitsidwa, ndikuchipatsa dzina la mbiri yofunikira. Mbiriyi ili ndi zidziwitso zolumikizana ndi database.

DB - MySQL pa VPS yomweyo.

Kuyambikanso kwathunthu kwa projekiti kumaphatikizapo:

  • lowani mu VPS kudzera pa SSH
  • tsitsani zosintha zaposachedwa za git
  • thamangani local-jar.sh
  • kupha kuthamanga ntchito
  • thamangani launch-production.sh

Izi zimatenga mphindi zitatu. Izi zikuwoneka ngati chisankho chanzeru kwa ine pantchito yaying'ono ngati iyi.

Zovuta

Zovuta zazikulu popanga polojekitiyi zinali za bungwe.

Pali gulu la anthu omwe akuwoneka kuti akudziwa kupanga pulogalamu, koma osati bwino. Iwo amadziwa chinachake, koma sangathe kuchigwiritsa ntchito. Ndipo tsopano ayenera kumaliza ntchitoyi m’mwezi umodzi.

Ndazindikira mtsogoleri watimu yemwe ali ndi zovomerezeka pagululi. Anasunga Google Doc yokhala ndi mndandanda wa ntchito, ntchito zogawa, ndikuwongolera kuvomereza kwawo. Anavomeranso zopempha zokoka.

Ndinapemphanso ophunzirawo kulemba lipoti lalifupi madzulo aliwonse ponena za ntchito imene anagwira pa ntchitoyo. Ngati simunachite kalikonse, chabwino, ingolembani "sanachite kalikonse." Uku ndikochita bwino kwambiri ndipo kumakupangitsani kukhala wokhazikika pang'ono. Sikuti aliyense adatsatira lamuloli, mwatsoka.

Cholinga cha gulu lonseli chinali chosavuta. Pangani gulu, ngakhale kwa nthawi yochepa, kuti mugwire ntchito limodzi.

Ndinkafuna kuti anyamatawo aziona kuti ntchito yawo inali yofunika. Mvetserani kuti samalemba kachidindo kozungulira m'malo opanda kanthu. Ndipo zomwe akuchitira limodzi ndi ntchito yomwe anthu adzagwiritse ntchito.

Sabata yoyamba kapena iwiri inali yomanga. Mabungwe ndi ntchito zazing'ono zidapangidwa mosasamala. Pang’ono ndi pang’ono ndinawasonkhezera, ndipo ntchitoyo inakhala yosangalatsa kwambiri. Kulankhulana pamacheza kunakhala kosangalatsa, ophunzira adapereka zowonjezera zawo.

Ndikukhulupirira kuti cholinga chakwaniritsidwa. Ntchitoyi yachitika, anyamatawo adakhala ndi chidziwitso chochepa chogwira ntchito mu timu. Pali chowoneka, chogwirika chomwe chingawonetsedwe kwa abwenzi ndikutukuka kwambiri.

anapezazo

Kuphunzira ndi kosangalatsa.

Titamaliza kalasi iliyonse ndinkabwerera ndili wokhumudwa kwambiri. Ndimayesetsa kupanga gulu lililonse kukhala lapadera ndikupereka chidziwitso chochuluka momwe ndingathere.

Zimakhala bwino gulu lomwe ndimaphunzitsa likafika komaliza. Ndizosangalatsa makamaka anyamata akalemba kuti "Ndapeza ntchito, zonse zili bwino, zikomo." Ngakhale atakhala wamng'ono, ngakhale si ndalama zazikulu poyamba. Koma chofunika kwambiri n’chakuti anachitapo kanthu kuti akwaniritse zokhumba zawo, ndipo anapambana.

Ngakhale kuti nkhaniyo inali yochulukirachulukira, sikunali kotheka kufotokoza mfundo zonse. Choncho, lembani mafunso anu mu ndemanga.

Source: www.habr.com

Kuwonjezera ndemanga