JavaRush /Java blogi /Random-UZ /Biz portfel uchun haqiqiy loyihani yozmoqdamiz - "A dan Z...

Biz portfel uchun haqiqiy loyihani yozmoqdamiz - "A dan Zgacha Java loyihasi"

Guruhda nashr etilgan
Hammaga salom, bo'lajak Katta dasturiy ta'minot muhandislari ! So'nggi bir necha oy ichida men rivojlanishning muhim qismlarini tasvirlaydigan oddiy maqolalar yozdim. Bugun men sizga o'z fikrimni aytib beraman! Men sizga birinchi ishingizga yordam bermoqchiman. Buning uchun nima kerak? Buning uchun tajriba orttirish kerak. Ushbu loyihalar nimadan iboratligini, qaysi muhandislar ishlayotganini va axborot texnologiyalari olamini oldinga siljitayotganini tushuning.

Seriyadagi barcha materiallar:

"A dan Zgacha Java loyihasi": portfel uchun haqiqiy loyiha yozish - 1Buni qanday qilish kerak? Men nimadir yozishim kerak. Shuning uchun, ushbu materiallar seriyasining bir qismi sifatida biz o'z telegram botimizni bosqichma-bosqich yozamiz (tafsilotlar quyida). Va shu bilan birga, biz hatto yangi Java dasturchisiga ham kerak bo'lgan texnologiya to'plamini tushunamiz.

Maqsad

Ma'lumotlar bazalari bilan ishlash, bizga kerak bo'lgan biznes mantiqini yaratish va loyihani joylashtirish va uni sinab ko'rish uchun ishni sozlashni birlashtiradigan loyiha yozing. Biz nima yozmoqchimiz? Agar siz yozmoqchi bo'lsangiz, unda siz haqiqatan ham foydali narsalarni yozishingiz kerak, shunda ishga qiziqish paydo bo'ladi va kimdir natijadan foydalanishi mumkin. Ushbu ma'lumotlarga asoslanib, JavaRush veb-sayti bilan ishlaydigan telegramma boti yoziladi. Bu foydali bo'ladimi? Shubhasiz! Telegram botlarini yozish unchalik qiyin emasligi tufayli siz tezda foydali bo'lishi mumkin bo'lgan ishchi loyihani olishingiz mumkin.

Rivojlanish vaqti

Maqolalar haftada bir marta nashr etiladi, shuning uchun biror narsa tushunarsiz bo'lsa, savollarni o'zlashtirish / takrorlash / yozish uchun etarli vaqt bo'ladi. Birinchi maqolalar biz loyihada foydalanadigan nazariy asos bo'ladi. Va keyin bu shunchaki amaliyot.

MVP (minimal hayotiy mahsulot)

"A dan Zgacha Java loyihasi": portfel uchun haqiqiy loyiha yozish - 2MVP nima? Bu atama, odatdagidek, bizniki emas, lekin siz wiki- da oqilona tushuntirishni topishingiz mumkin . Biz iqtibos keltiramiz: MVP - bu minimal funktsiyalarga ega, ammo birinchi ehtiyojlarni qondirish uchun etarli bo'lgan mahsulot. Asosiy vazifa mahsulotning keyingi rivojlanishi uchun gipotezalarni shakllantirish uchun fikr-mulohazalarni olishdir. Biz uchun bu tavsif juda mos keladi. Barcha funksiyalarning qisqacha tavsifi: Telegram foydalanuvchisi sifatida men guruhlardagi yangi maqolalarga obuna boʻlishni va yangilari chop etilganda bildirishnomalarni olishni xohlayman. Men "Muvaffaqiyat tarixi" guruhini o'qishni yaxshi ko'raman , bu meni o'rganishni davom ettirishga va yangi narsalarni o'rganishga undaydi. Men dangasaman va har safar kirishni va sahifani yangilashni xohlamayman . Shuning uchun men dasturchi sifatida hayotimni osonlashtirmoqchiman va menga Telegramda yangi maqola chiqqani haqida xabar yuboradigan dastur yozmoqchiman. Bundan tashqari: bu men kuzatadigan yagona guruh emas. Men Xarkovdanman, shuning uchun u yerda chop etiladigan maqolalarni o‘qishga qiziqaman. Ushbu mahsulotni ishlab chiqaruvchisi sifatida, kimdir mening ishimdan foydalanayotgani meni juda qiziqtiradi, shuning uchun biz administratorlar uchun telegram bot statistikasini ko'rishlari uchun funksiyalar qo'shamiz. Buni qilish mumkinmi? Albatta! Qanaqasiga? Buni men bir qator maqolalarda ko'rsataman.

Kod nomi

Har bir ajoyib loyiha kod nomiga ega bo'lishi kerak. Bizniki bundan mustasno bo'lmaydi, shuning uchun hozircha shunday bo'ladi: JRTB (JavaRush Telegram Bot). Bundan keyin u shunday deb nomlanadi.

Biz qanday mavzularni yoritamiz?

"A dan Zgacha Java loyihasi": portfel uchun haqiqiy loyiha yozish - 3

Malumotlar bazasi

Siz darhol dasturda holatni (ma'lumotlar va ma'lumotlarni) saqlay olmasligingizni tushunishingiz kerak. Ma'lumotlar ma'lumotlar bazasida saqlanishi kerak. Treningda bu haqda hech qanday ma'lumot yo'qligi sababli (esimda bor :D), men bizga kerak bo'ladigan bilimlardagi kamchiliklarni to'ldirishga harakat qilaman. Hech qanday chalkashlik bo'lmasligi uchun ma'lumotlar bazasi sxemasini iloji boricha sodda qilishga harakat qilaman. Ushbu qism quyidagilarni o'z ichiga oladi:
  1. MySQL asosidagi SQL bilan ishlash nazariyasi.
  2. MySQL bilan ishlash vositasi MySQL Workbench hisoblanadi.
  3. Ma'lumotlar bazasi versiyalarini yaratish. Flyway va suyuqlik bazasi.
  4. Ma'lumotlar bazasi sxemasini yaratish.
  5. Ma'lumotlar bazasi sxemasi chizmasini yarating.

Git

Ushbu mavzu bo'yicha allaqachon maqolalar mavjud. Albatta, versiyani boshqarish tizimisiz hech narsa ishlamaydi. JRTB ustida ishlashni boshlash uchun siz gitni tushunishingiz kerak. Buni o'zingiz qilishingiz mumkin yoki ushbu mavzu bo'yicha mening maqolalarimni o'qishingiz mumkin: Agar xohlasangiz, siz tarmoqlanish strategiyalari haqida ham o'qishingiz mumkin, ammo bu erda u muhim emas va uni o'tkazib yuborish mumkin.

Maven

Bu yerda biz yig'ish tizimi, u nima uchun, uni qanday ishlatishimiz, nimalarga e'tibor berishimiz va yaxshi odob qoidalari haqida gapiramiz. Shuningdek, biz bu erda versiya yaratish va buni qanday qilishimiz haqida gaplashamiz.

Docker

Hayotimizni sodda va oson qilish va joylashtirish jarayonini iloji boricha soddalashtirish uchun biz Docker-dan foydalanamiz. Buning uchun Docker nima va qanday foydali buyruqlar borligi haqida gapiraylik. Darhol aytmoqchimanki, men Docker-dan foydalanuvchi darajasida foydalanaman va biror narsani bilmasligim yoki qila olmasligim mumkin)) Agar kimdir Docker bilan ishlashni qanday qilib yaxshiroq/osonlashtirishni taklif qilsa, men bundan xursand bo'laman. Ushbu qism quyidagilarni o'z ichiga oladi:
  1. Docker nazariyasi va amaliyoti.
  2. Docker orqali ma'lumotlarni zaxiralash/tiklash.
  3. Loyihamizni Docker-da ishlashi uchun sozlash.

Bash skriptlar

Ishni avtomatlashtirish uchun ba'zan bir yoki ikkita skript yozish foydali bo'ladi. Bash skriptlari - bu barcha ishlab chiquvchilar u yoki bu darajada tushunadigan skriptlardir, chunki ular Linuxda buyruq satrida ishlaydi, oddiygina alohida faylda saqlanadi.

Ilova yaratish

Barcha haydovchi shu yerda bo'ladi. Oldingi bilimlarga asoslanib, biz telegram bot ob'ektini o'z ichiga olgan Spring Boot ilovasini yaratamiz. Bu yerda nima qilmoqchimiz?
  1. U erda bo'lishi kerak bo'lgan funksionallikning to'liq tavsifini yaratish.
  2. Telegram boti nima ekanligi haqida qisqacha ma'lumot.
  3. Spring Boot ilovasini yaratish.
  4. Lombok bilan ishlash tavsifi.
  5. UniRest bilan ishlash tavsifi.
  6. Buyruq naqshini amalga oshirish + administrator buyruqlari uchun o'z izohingizni yaratish bilan ishlash.
  7. UniRest yordamida JavaRush so'rovlari (masalan, guruhlar ro'yxati, guruhdagi maqolalar ro'yxati) bilan ishlash uchun mijoz yaratish.
  8. Sinov. Funktsionalligimizni qoplash uchun barcha mumkin bo'lgan testlarni yozaylik.
  9. Kod sifatini tekshirish va GitHub-da avtomatik ravishda qurish tizimini o'rnatish.
  10. Ma'lumotlar bazasini ma'lumotlar bazasi versiyasi bilan birlashtirish.
Nima bo'layotganini yaxshiroq tushunish uchun bu barcha qadamlar bosqichma-bosqich amalga oshiriladi.

Kelgusi natijalar

Natijada biz maqolalarni o'qigan har bir kishi amalga oshirishi mumkin bo'lgan haqiqiy loyihaga ega bo'lamiz. Telegram botning go'zalligi shundaki, maqolalarda bo'ladigan botga qaram bo'lmaslik uchun ushbu loyihani istalgan botga bog'lashingiz mumkin. Ko'proq aytaman: bu JRTBning boshlanishi. Kelajakda yangi funksionallik muhokama qilinishi/qo'shilishi mumkin. Ushbu botni JavaRush loyihasining barcha talabalari uchun foydali bo'lishi uchun qiling. Boshqalar sizning ijodingizdan foydalanishi va yoqtirishi hissi juda qimmatga tushadi! Va siz, ushbu maqolalar turkumining o'quvchilari sifatida, haqiqiy loyiha ustida ishlashda haqiqiy tajribaga ega bo'lasiz. An'anaga ko'ra, men Github-dagi hisobimga obuna bo'lishni taklif qilaman , unda men yechimlar va loyihalarni joylashtiraman. JRTB bo'yicha barcha ishlar GitHub orqali amalga oshiriladi, shuning uchun siz hali ro'yxatdan o'tmagan bo'lsangiz, ro'yxatdan o'tishingizni maslahat beraman. O'qiganingiz uchun tashakkur, tez orada ko'rishguncha :)"A dan Zgacha Java loyihasi": portfel uchun haqiqiy loyiha yozish - 5
Izohlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION