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.
Buni 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)
MVP 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?
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:- MySQL asosidagi SQL bilan ishlash nazariyasi.
- MySQL bilan ishlash vositasi MySQL Workbench hisoblanadi.
- Ma'lumotlar bazasi versiyalarini yaratish. Flyway va suyuqlik bazasi.
- Ma'lumotlar bazasi sxemasini yaratish.
- 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:- Git bilan ishlashni boshlash: yangi boshlanuvchilar uchun batafsil qo'llanma
- Keling, Gitni Intellij IDEA bilan bog'laymiz
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:- Docker nazariyasi va amaliyoti.
- Docker orqali ma'lumotlarni zaxiralash/tiklash.
- 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?- U erda bo'lishi kerak bo'lgan funksionallikning to'liq tavsifini yaratish.
- Telegram boti nima ekanligi haqida qisqacha ma'lumot.
- Spring Boot ilovasini yaratish.
- Lombok bilan ishlash tavsifi.
- UniRest bilan ishlash tavsifi.
- Buyruq naqshini amalga oshirish + administrator buyruqlari uchun o'z izohingizni yaratish bilan ishlash.
- UniRest yordamida JavaRush so'rovlari (masalan, guruhlar ro'yxati, guruhdagi maqolalar ro'yxati) bilan ishlash uchun mijoz yaratish.
- Sinov. Funktsionalligimizni qoplash uchun barcha mumkin bo'lgan testlarni yozaylik.
- Kod sifatini tekshirish va GitHub-da avtomatik ravishda qurish tizimini o'rnatish.
- Ma'lumotlar bazasini ma'lumotlar bazasi versiyasi bilan birlashtirish.
GO TO FULL VERSION