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.
Bunu 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)
MVP 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?
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:- MySQL əsasında SQL ilə işləmə nəzəriyyəsi.
- MySQL ilə işləmək üçün alət MySQL Workbench-dir.
- Verilənlər bazasının versiyalaşdırılması. Uçuş yolu və maye baza.
- Verilənlər bazası sxeminin yaradılması.
- 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:- Git ilə işə başlamaq: yeni başlayanlar üçün ətraflı bələdçi
- Gəlin Git-i Intellij IDEA ilə birləşdirək
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:- Docker nəzəriyyəsi və təcrübəsi.
- Docker vasitəsilə məlumatların ehtiyat nüsxəsini çıxarın/bərpa edin.
- 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?- Orada olmalı olan funksionallığın tam təsvirinin yaradılması.
- Teleqram botunun nə olduğunun qısa təsviri.
- Spring Boot proqramının yaradılması.
- Lombok ilə iş təsviri.
- UniRest ilə işin təsviri.
- Əmr nümunəsinin həyata keçirilməsi + administrator əmrləri üçün öz annotasiyanızı yaratmaqla işləyin.
- 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ı).
- Test. Gəlin funksionallığımızı əhatə etmək üçün bütün mümkün testləri yazaq.
- Kod keyfiyyətinin yoxlanılması və avtomatik olaraq GitHub-da qurulması üçün sistemin qurulması.
- Verilənlər bazası versiyası ilə birlikdə verilənlər bazasını birləşdirin.
GO TO FULL VERSION