JavaRush /Java Blogu /Random-AZ /Biz portfolio üçün real layihə yazırıq - "A-dan Z-yə Java...
Roman Beekeeper
Səviyyə

Biz portfolio üçün real layihə yazırıq - "A-dan Z-yə Java layihəsi"

Qrupda dərc edilmişdir
Hamıya salam, gələcəyin Baş Proqram Mühəndisləri ! Son bir neçə ay ərzində mən inkişafın mühüm hissələrini təsvir edən sadə məqalələr yazıram. Bu gün sizə öz fikrimi söyləyəcəyəm! Mən sizə ilk işinizi tapmaqda kömək etmək istəyirəm. Bunun üçün nə lazımdır? Bunun üçün təcrübə qazanmaq lazımdır. Bu layihələrin nədən ibarət olduğunu, mühəndislərin üzərində işlədiyini anlayın və informasiya texnologiyaları dünyasını irəliyə aparın.

Seriyadakı bütün materiallar:

“A-dan Z-yə Java layihəsi”: portfel üçün real layihənin yazılması - 1Bunu necə etmək olar? bir şey yazmalıyam. Buna görə də, bu silsilə materialların bir hissəsi olaraq, öz teleqram botumuzu addım-addım yazacağıq (aşağıda təfərrüatlar). Eyni zamanda, hətta təcrübəsiz bir Java tərtibatçısının ehtiyac duyduğu texnologiya yığınını başa düşəcəyik.

Hədəf

Verilənlər bazası ilə işləməyi, ehtiyac duyduğumuz biznes məntiqini yaratmaq və layihəni yerləşdirmək və sınaqdan keçirmək üçün işi birləşdirəcək bir layihə yazın. Nə yazacağıq? Əgər yazacaqsansa, o zaman həqiqətən faydalı nəsə yazmalısan ki, işə maraq olsun və nəticədən kimsə yararlana bilsin. Bu məlumatlar əsasında JavaRush veb saytı ilə işləyəcək teleqram botu yazılacaq. Bu faydalı olacaqmı? Şübhəsiz! Teleqram botlarının yazılması o qədər də çətin olmadığına görə siz tez bir zamanda faydalı ola biləcək işlək layihə əldə edə bilərsiniz.

İnkişaf vaxtı

Məqalələr həftədə bir dəfə dərc olunacaq, ona görə də bir şey aydın deyilsə, sualları mənimsəmək / təkrarlamaq / yazmaq üçün kifayət qədər vaxt olacaq. İlk məqalələr layihədə istifadə edəcəyimiz nəzəri əsas olacaq. Və sonra bu sadəcə məşqdir.

MVP (minimum canlı məhsul)

“A-dan Z-yə Java layihəsi”: portfel üçün real layihənin yazılması - 2MVP nədir? Termin, həmişəki kimi, bizim deyil, lakin vikidə ağlabatan izahat tapa bilərsiniz . Biz sitat gətiririk: MVP minimal funksiyaları olan, lakin ilk ehtiyacları ödəmək üçün kifayət edən bir məhsuldur. Əsas vəzifə məhsulun gələcək inkişafı üçün fərziyyələr formalaşdırmaq üçün rəy almaqdır. Bizim üçün bu təsvir mükəmməl uyğun gəlir. Bütün funksiyaların qısa təsviri: Telegram istifadəçisi olaraq qruplarda yeni məqalələrə abunə olmaq və yeniləri dərc edildikdə bildirişlər almaq istəyirəm. Mən Uğur Hekayəsi qrupunu oxumağı sevirəm , bu, məni öyrənməyə davam etməyə və yeni bir şey öyrənməyə həvəsləndirir. Mən tənbələm və hər dəfə daxil olub səhifəni yeniləmək istəmirəm . Buna görə də mən bir proqramçı kimi həyatımı asanlaşdırmaq və Telegram-da mənə yeni məqalənin dərc olunduğu barədə mesaj göndərəcək proqram yazmaq istəyirəm. Daha çox: bu, izlədiyim yeganə qrup deyil. Mən Xarkovdanam, ona görə də orada dərc olunan məqalələri oxumaqda maraqlıyam. Bu məhsulun tərtibatçısı kimi, kiminsə mənim işimdən istifadə edib-etməməsi ilə çox maraqlanacağam, ona görə də adminlər üçün funksionallıq əlavə edəcəyik ki, onlar telegram botunun statistikasına baxa bilsinlər. Bunu etmək mümkündürmü? Əlbəttə! Necə? Bir sıra məqalələrdə göstərəcəyim budur.

Kod adı

Hər gözəl layihənin kod adı olmalıdır. Bizimkilər istisna olmayacaq, ona görə də hələlik belə olacaq: JRTB (JavaRush Telegram Bot). Bundan sonra belə adlandırılacaqdır.

Hansı mövzuları əhatə edəcəyik?

“A-dan Z-yə Java layihəsi”: portfel üçün real layihənin yazılması - 3

Verilənlər bazası

Tətbiqdə vəziyyəti (məlumat və məlumat) saxlaya bilməyəcəyinizi dərhal başa düşməlisiniz. Məlumatlar verilənlər bazasında saxlanmalıdır. Təlimdə bu haqda məlumat olmadığından (xatırladığım qədər :D) ehtiyac duyacağımız bilik boşluqlarını doldurmağa çalışacam. Çaşqınlıq olmaması üçün verilənlər bazası sxemini mümkün qədər sadə etməyə çalışacağam. Bu hissəyə aşağıdakılar daxildir:
  1. MySQL əsasında SQL ilə işləmə nəzəriyyəsi.
  2. MySQL ilə işləmək üçün alət MySQL Workbench-dir.
  3. Verilənlər bazasının versiyalaşdırılması. Uçuş yolu və maye baza.
  4. Verilənlər bazası sxeminin yaradılması.
  5. Verilənlər bazası sxeminin rəsmini yaradın.

Git

Artıq bu mövzuda məqalələr var. Əlbəttə ki, versiyaya nəzarət sistemi olmadan heç bir şey işləməyəcək. JRTB üzərində işləməyə başlamaq üçün git dilini başa düşməlisiniz. Bunu özünüz edə bilərsiniz və ya bu mövzuda məqalələrimi oxuya bilərsiniz: İstəyirsinizsə, budaqlanma strategiyaları haqqında da oxuya bilərsiniz, lakin bu, burada kritik deyil və atlana bilər.

Maven

Burada montaj sistemindən, nə üçün olduğundan, necə istifadə edəcəyimizdən, nələrə diqqət etməli olduğumuzdan, ədəb qaydalarından danışacağıq. Burada versiya haqqında da danışacağıq və bunu dəqiq necə edəcəyik.

Doker

Həyatımızı daha sadə və asanlaşdırmaq və yerləşdirmə prosesini mümkün qədər sadə etmək üçün biz Docker-dən istifadə edəcəyik. Bunun üçün gəlin Dockerin nə olduğunu və hansı faydalı əmrlərin olduğunu danışaq. Dərhal demək istəyirəm ki, mən Docker-dən istifadəçi səviyyəsində istifadə edirəm və ola bilsin ki, nəyisə bilmirəm və ya edə bilməyəcəm)) Ona görə də kimsə Docker ilə işləməyi daha yaxşı/asan etməyi təklif etsə, buna ancaq şad olaram. Bu hissəyə aşağıdakılar daxildir:
  1. Docker nəzəriyyəsi və təcrübəsi.
  2. Docker vasitəsilə məlumatların ehtiyat nüsxəsini çıxarın/bərpa edin.
  3. Layihəmizi Docker-də işləyəcək şəkildə qurmaq.

Bash skriptləri

İşi avtomatlaşdırmaq üçün bəzən bir və ya iki skript yazmaq faydalıdır. Bash skriptləri bütün tərtibatçıların bu və ya digər dərəcədə başa düşdüyü skriptlərdir, çünki onlar mahiyyətcə Linux-da əmr xətti işidir, sadəcə olaraq ayrıca faylda saxlanılır.

Tətbiqin yaradılması

Bütün sürücü burada olacaq. Əvvəlki biliklərə əsaslanaraq, biz teleqram bot obyektini ehtiva edən Spring Boot proqramı quracağıq. Burada nə edəcəyik?
  1. Orada olmalı olan funksionallığın tam təsvirinin yaradılması.
  2. Teleqram botunun nə olduğunun qısa təsviri.
  3. Spring Boot proqramının yaradılması.
  4. Lombok ilə iş təsviri.
  5. UniRest ilə işin təsviri.
  6. Əmr nümunəsinin həyata keçirilməsi + administrator əmrləri üçün öz annotasiyanızı yaratmaqla işləyin.
  7. UniRest istifadə edərək JavaRush sorğuları ilə işləmək üçün müştəri yaratmaq (məsələn, qrupların siyahısı, qrupdakı məqalələrin siyahısı).
  8. Test. Gəlin funksionallığımızı əhatə etmək üçün bütün mümkün testləri yazaq.
  9. Kod keyfiyyətinin yoxlanılması və avtomatik olaraq GitHub-da qurulması üçün sistemin qurulması.
  10. Verilənlər bazası versiyası ilə birlikdə verilənlər bazasını birləşdirin.
Nə baş verdiyini daha yaxşı başa düşmək üçün bütün bu addımlar addım-addım həyata keçiriləcək.

Gələcək nəticələr

Nəticədə, məqalələri oxuyan hər kəsin həyata keçirə biləcəyi real layihə əldə edəcəyik. Telegram botunun gözəlliyi ondadır ki, məqalələrdə olacaq botdan asılı olmamaq üçün bu layihəni istənilən botla əlaqələndirə bilərsiniz. Daha çox deyəcəyəm: bu, JRTB-nin yalnız başlanğıcıdır. Yeni funksionallıq gələcəkdə müzakirə oluna/əlavə oluna bilər. Bu botu elə edin ki, JavaRush layihəsinin bütün tələbələri üçün faydalı olsun. Başqalarının sizin yaradıcılığınızdan istifadə etməsi və bəyənməsi hissi çox dəyərlidir! Və siz, bu silsilə məqalələrin oxucuları olaraq, real layihə üzərində işləyərkən real təcrübə qazana biləcəksiniz. Ənənəvi olaraq, həllər və layihələr yerləşdirdiyim Github-da hesabıma abunə olmağı təklif edirəm . JRTB-də bütün işlər GitHub vasitəsilə həyata keçiriləcək, ona görə də, əgər hələ bunu etməmisinizsə, qeydiyyatdan keçməyi məsləhət görürəm. Hər kəsə oxuduğunuz üçün təşəkkürlər, tezliklə görüşərik :)“A-dan Z-yə Java layihəsi”: portfel üçün real layihənin yazılması - 5
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION