JavaRush /Java Blog /Random-TL /Nagsusulat kami ng isang tunay na proyekto para sa isang ...

Nagsusulat kami ng isang tunay na proyekto para sa isang portfolio - "Java project mula A hanggang Z"

Nai-publish sa grupo
Kumusta sa lahat, hinaharap na Senior Software Engineer ! Sa nakalipas na ilang buwan, nagsusulat ako ng mga simpleng artikulo na naglalarawan ng mahahalagang bahagi ng pag-unlad. Ngayon sasabihin ko sa iyo ang tungkol sa aking ideya! Gusto kong tulungan kang makuha ang iyong unang trabaho. Ano ang kailangan para dito? Upang gawin ito kailangan mong makakuha ng karanasan. Unawain kung ano ang binubuo ng mga proyektong ito, kung saan nagtatrabaho ang mga inhinyero at nagpapasulong sa mundo ng teknolohiya ng impormasyon.

Lahat ng mga materyales sa serye:

"Proyekto ng Java mula A hanggang Z": pagsulat ng isang tunay na proyekto para sa isang portfolio - 1Paano ito gagawin? May kailangan akong isulat. Samakatuwid, bilang bahagi ng seryeng ito ng mga materyales, isusulat namin ang aming sariling telegram bot nang sunud-sunod (mga detalye sa ibaba). At sa parehong oras, mauunawaan namin ang stack ng teknolohiya na kailangan ng isang baguhan na developer ng Java.

Target

Sumulat ng isang proyekto na pagsasamahin ang pagtatrabaho sa mga database, paggawa ng lohika ng negosyo na kailangan namin, at pag-set up ng trabaho upang i-deploy ang proyekto at subukan ito. Ano ang isusulat natin? Kung magsusulat ka, kailangan mong magsulat ng isang bagay na talagang kapaki-pakinabang upang magkaroon ng interes sa trabaho at maaaring samantalahin ng isang tao ang resulta. Batay sa data na ito, susulat ng telegram bot na gagana sa website ng JavaRush. Magiging kapaki-pakinabang ba ito? Walang duda! Dahil sa ang katunayan na ang mga telegram bot ay hindi napakahirap magsulat, maaari kang mabilis na makakuha ng isang gumaganang proyekto na maaaring maging kapaki-pakinabang.

Panahon ng pag-unlad

Ang mga artikulo ay mai-publish isang beses sa isang linggo, kaya magkakaroon ng sapat na oras upang makabisado / ulitin / magsulat ng mga tanong kung may hindi malinaw. Ang mga unang artikulo ay ang teoretikal na pundasyon na gagamitin namin sa proyekto. At saka practice lang.

MVP (minimum na mabubuhay na produkto)

"Proyekto ng Java mula A hanggang Z": pagsulat ng isang tunay na proyekto para sa isang portfolio - 2Ano ang MVP? Ang termino, gaya ng dati, ay hindi sa amin, ngunit makakahanap ka ng makatwirang paliwanag sa wiki . Sinipi namin: Ang MVP ay isang produkto na may kaunting mga function, ngunit sapat upang matugunan ang mga unang pangangailangan. Ang pangunahing gawain ay upang makatanggap ng feedback upang bumuo ng mga hypotheses para sa karagdagang pag-unlad ng produkto. Para sa amin, akma ang paglalarawang ito. Isang mabilis na paglalarawan ng lahat ng pag-andar: Bilang isang gumagamit ng Telegram, gusto kong makapag-subscribe sa mga bagong artikulo sa mga grupo at makatanggap ng mga abiso kapag na-publish ang mga bago. Gustung-gusto kong basahin ang pangkat ng Success Story , nag-uudyok ito sa akin na magpatuloy sa pag-aaral at matuto ng bago. Tinatamad ako at ayokong pumasok at i-refresh ang page everytime . Samakatuwid, ako, bilang isang programmer, ay nais na gawing mas madali ang aking buhay at magsulat ng isang programa na magpapadala sa akin ng isang mensahe sa Telegram na ang isang bagong artikulo ay nai-publish. Higit pa: hindi lang ito ang grupong sinusubaybayan ko. Ako ay mula sa Kharkov, kaya interesado akong magbasa ng mga artikulo na nai-publish doon. Bilang developer ng produktong ito, magiging interesado ako kung may gumagamit ng aking trabaho, kaya magdadagdag kami ng functionality para sa mga admin upang matingnan nila ang mga istatistika ng telegram bot. Posible bang gawin ito? tiyak! Paano? Ito ang ipapakita ko sa isang serye ng mga artikulo.

Codename

Dapat may code name ang bawat cool na proyekto. Ang sa amin ay hindi magiging eksepsiyon, kaya sa ngayon ay magiging ganito: JRTB (JavaRush Telegram Bot). Pagkatapos nito ay tatawagin itong ganyan.

Anong mga paksa ang tatalakayin natin?

"Proyekto ng Java mula A hanggang Z": pagsulat ng isang tunay na proyekto para sa isang portfolio - 3

Database

Kailangan mong maunawaan kaagad na hindi ka maaaring mag-imbak ng estado (data at impormasyon) sa application. Ang data ay kailangang maimbak sa isang database. Dahil walang impormasyon tungkol dito sa pagsasanay (sa pagkakaalala ko :D), susubukan kong punan ang mga kakulangan sa kaalaman na kakailanganin natin. Susubukan kong gawing simple ang database schema hangga't maaari upang walang kalituhan. Kasama sa bahaging ito ang:
  1. Teorya ng pagtatrabaho sa SQL batay sa MySQL.
  2. Ang isang tool para sa pagtatrabaho sa MySQL ay MySQL Workbench.
  3. Pag-bersyon ng database. Flyway at liquidbase.
  4. Paglikha ng isang database schema.
  5. Lumikha ng pagguhit ng schema ng database.

Git

Mayroon nang mga artikulo sa paksang ito. Siyempre, walang gagana nang walang version control system. Upang magsimulang magtrabaho sa JRTB, kailangan mong maunawaan ang git. Maaari mong gawin ito sa iyong sarili, o maaari mong basahin ang aking mga artikulo sa paksang ito: Kung nais mo, maaari mo ring basahin ang tungkol sa mga diskarte sa pagsasanga, ngunit dito ito ay hindi kritikal at maaaring laktawan.

Maven

Dito natin pag-uusapan ang sistema ng pagpupulong, para saan ito, paano natin ito gagamitin, kung ano ang dapat bigyang pansin, at mga tuntunin ng mabuting asal. Pag-uusapan din natin ang tungkol sa bersyon dito, at kung paano natin ito gagawin.

Docker

Upang gawing mas simple at mas madali ang aming buhay, at upang gawing simple ang proseso ng pag-deploy hangga't maaari, gagamitin namin ang Docker. Upang gawin ito, pag-usapan natin kung ano ang Docker at kung anong mga kapaki-pakinabang na utos ang mayroon. Gusto kong sabihin kaagad na gumagamit ako ng Docker sa antas ng gumagamit at maaaring hindi alam o magagawa ang isang bagay)) Kaya kung may magmumungkahi kung paano gawing mas mahusay/mas madali ang pagtatrabaho sa Docker, matutuwa lang ako dito. Kasama sa bahaging ito ang:
  1. Teorya at kasanayan ng Docker.
  2. I-backup/i-restore ang data sa pamamagitan ng docker.
  3. Pagse-set up ng aming proyekto upang ito ay tumakbo sa Docker.

Mga script ng Bash

Upang i-automate ang trabaho, kung minsan ay kapaki-pakinabang na magsulat ng isa o dalawang script. Ang mga script ng Bash ay mga script na naiintindihan ng lahat ng mga developer sa isang antas o iba pa, dahil ang mga ito ay mahalagang command line na trabaho sa Linux, na naka-save lamang sa isang hiwalay na file.

Paglikha ng isang application

Lahat ng drive ay pupunta dito. Batay sa dating kaalaman, gagawa kami ng Spring Boot application na maglalaman ng telegram bot object. Anong gagawin natin dito?
  1. Paglikha ng kumpletong paglalarawan ng functionality na dapat ay naroroon.
  2. Isang maikling paglalarawan ng kung ano ang isang telegram bot.
  3. Paglikha ng isang Spring Boot application.
  4. Paglalarawan ng pagtatrabaho sa Lombok.
  5. Paglalarawan ng pagtatrabaho sa UniRest.
  6. Pagpapatupad ng Command pattern + gumagana sa paggawa ng sarili mong anotasyon para sa mga utos ng administrator.
  7. Paglikha ng isang kliyente para sa pagtatrabaho sa mga query sa JavaRush (tulad ng isang listahan ng mga grupo, isang listahan ng mga artikulo sa isang grupo) gamit ang UniRest.
  8. Pagsubok. Isulat natin ang lahat ng posibleng pagsubok para masakop ang ating functionality.
  9. Pagse-set up ng system para sa pagsuri sa kalidad ng code at awtomatikong pagbuo sa GitHub.
  10. Pagkonekta sa database kasama ng database versioning.
Ang lahat ng mga hakbang na ito ay gagawin nang hakbang-hakbang, upang mas maunawaan kung ano ang nangyayari.

Mga resulta sa hinaharap

Bilang resulta, makakakuha tayo ng isang tunay na proyekto na maaaring ipatupad ng sinumang magbabasa ng mga artikulo. Ang kagandahan ng isang telegram bot ay na maaari mong i-link ang proyektong ito sa anumang bot, upang hindi umasa sa bot na makikita sa mga artikulo. Sasabihin ko pa: simula pa lang ito ng JRTB. Maaaring talakayin/idagdag ang bagong functionality sa hinaharap. Gawin ang bot na ito upang ito ay kapaki-pakinabang sa lahat ng mga mag-aaral ng proyekto ng JavaRush. At ang pakiramdam na ginagamit ng ibang tao at nagustuhan ang iyong nilikha ay lubhang nagkakahalaga! At ikaw, bilang mga mambabasa ng seryeng ito ng mga artikulo, ay makakakuha ng tunay na karanasan sa pagtatrabaho sa isang tunay na proyekto. Ayon sa kaugalian, iminumungkahi kong mag-subscribe sa aking account sa Github , kung saan nagpo-post ako ng mga solusyon at proyekto. Ang lahat ng trabaho sa JRTB ay gagawin sa pamamagitan ng GitHub, kaya ipinapayo ko sa iyo na magparehistro kung hindi mo pa ito nagagawa. Salamat sa pagbabasa sa lahat, see you soon :)"Proyektong Java mula A hanggang Z": pagsulat ng isang tunay na proyekto para sa isang portfolio - 5
Mga komento
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION