Mundarija
- Gradle Build Tool
- Ma'lumotlar bazasini migratsiyasi | Liquibase
- Spring Security (Oauth2) loyihasiga umumiy nuqtai
- JSON Web Token | JWT
- Apache Kafka asoslari
- Spring Boot Actuator metrikasini Prometheus va Grafana bilan yig'ish
- EventListeners va Spring Logs
- Spring Rest Repositories, RabbitMQ va New Relic
- Dasturlarni internatsionalizatsiyasi
Gradle Build Tool
Gradle - bu Java uchun mavjud bo'lgan build (yig'ish) vositalaridan biridir. U Groovy asosidagi Domain-Specific Language (DSL) dan foydalanib loyihaviy strukturasini ishlab chiqadi. Bu Maven'dan farq qiladi, chunki Maven konfiguratsiya uchun XML'dan foydalanadi.
U DAG (yo'naltirilgan asiklik graf) dan vazifalar tartibini aniqlash uchun foydalanadi. Bu kompyuter ilovalarining kompitatsiyasidan tortib, ularning qadoqlanishigacha bo'lgan turli xil jarayonlarda yordam beradi.
Gradle bir nechta rivojlantirish vositalari va serverlari bilan integratsiyani ta'minlaydi: IntelliJ IDEA, Eclipse, Jenkins va Android Studio.
Gradle ning ba'zi afzalliklari quyidagilardir:
- Gradle bizga Java'da build script yozishga imkon beradi.
- U foydalanish va texnik xizmat ko'rsatishda oson.
- U dependency management'ni qo'llab-quvvatlaydi.
- U yuqori unumdorlik va massivlashgan build'larni ta'minlaydi.
- U ko'p loyihali tuzilmani qo'llab-quvvatlaydi.
- Maven yoki boshqa build vositalaridan Gradle'ga oson o'tish mumkin.
Ma'lumotlar bazasini migratsiyasi | Liquibase
Korxona ma'lumotlar ekotizimi turli zamonaviy va eski dasturlarni o'z ichiga oladi. Vaqt o'tishi bilan kompaniya mavjud ma'lumotlar bazasidan o'z ehtiyojlarini qondirish uchun tarmoqli xarajatlarni kamaytirish, ishonchlilik, masshtablash yoki boshqa biron bir maqsad uchun ko'chishga qaror qilishi mumkin. Ushbu jarayon bir ma'lumotlar bazasidan boshqasiga ko'chish sifatida tanilgan.
Ma'lumotlarni ko'chirish, odatda, eski tizimdan yangi tizimga o'tish paytida ma'lumotlarni bir ma'lumotlar bazasidan boshqasiga ko'chirishni o'z ichiga oladi. Bu ma'lumotlarni boshlang'ich ma'lumotlar bazasidan ko'chirish, kerak bo'lganda o'zgartirish va maqsadli ma'lumotlar bazasiga yuklashni o'z ichiga oladi.
Spring Security (Oauth2) loyihasiga umumiy nuqtai
Videoda Spring Security va Oauth2 yordamida dastur qanday ishlashi tahlil qilinadi.
JSON Web Token | JWT
Ko'p dasturlar ikki tomon o'rtasida ma'lumotni xavfsiz o'tkazish uchun JSON web tokens (JWT) dan foydalanadi. U autentifikatsiya tizimi va ma'lumot almashinuvi uchun ishlatilishi mumkin.
Bu ma'lumotlar tekshirish mumkin va ishonchli, chunki ular raqamli imzo bilan tasdiqlangan.
Apache Kafka asoslari
Bu server ilovalari orasida real vaqt rejimida xabarlar almashish uchun taqsimlangan tizim. Yuqori samaradorlikdagi ma'lumotlar pipeline'lari, streaming analytics, ma'lumotlarni integratsiyalash va muhim ilovalar uchun ishlatiladi.
LinkedIn 2011 yilda Kafka'ni o'z ehtiyojlari uchun yuqori samaradorlikdagi xabarlar vositachisi sifatida ishlab chiqdi, so'ng ochiq kod qilib tayyorladi va Kafka'ni Apache Software Foundation'ga topshirdi
Kafkaning asosiy imkoniyatlari mavjud:
- Dasturlarga ma'lumot yoki voqealar oqimlarini nashr qilish yoki a'zo bo'lish imkoniyatini beradi.
- Yozuvlarni aynan u sodir bo'lgan tartibda saqlaydi. Xatolarga chidamli va ishonchli tarzda.
- Yozuvlarni real vaqt rejimida (ulardan foydalanib) qayta ishlaydi.
Spring Boot Actuator metrikasini Prometheus va Grafana bilan yig'ish
Tasavvur qiling, sizda Spring Boot ilovasi bor va bir vaqtning o'zida minglab foydalanuvchilar xizmat qiladi. Monitoring bo'lmasa, siz ilovangizning ishlash, xizmat ko'rsatish holati yoki asosiy muammolar mavjudligi haqida batafsil ma'lumot olmay olasiz.
Prometheus va Grafana Spring Boot ilovalarini monitoring qilish uchun qudratli yechim taklif qiladi. Prometheus metriklarni to'playdi va ogohlantirishni boshqaradi, Grafana esa matritsalarni vizualizatsiya qiladi va boshqaradi. Ular birgalikda foydalanuvchilarga ta'sir qilishidan oldin muammolarni aniqlash va tuzatishda yordam beradi.
EventListeners va Spring Logs
EventListener (yoki Observer, Listener, Publisher-Subscriber) dizayn namunasi, bu boshqa obyektlarda sodir bo'lgan voqealarni kuzatish va ularga javob berish imkonini beradi.
Ushbu namuna ikkita obyektni yaratishni o'z ichiga oladi: Nashriyotchi (Publisher) va Obuna (Subscriber). Nashriyotchi voqealarni yaratish va ishtirokchilarni sodir bo'lgan voqealar haqida xabardor qilish uchun javobgardir, obuna esa ushbu voqeaga javoban tegishli harakatlarni bajaradi.
Spring Logs - bu dasturlarning hatolarini aniqlash va monitoring qilish vositasi. Ular ilovada sodir bo'lgan voqealar va harakatlarning yozuvlarini ifodalaydi va hatolar, ogohlantirishlar, axborot xabarlari va boshqa voqealar haqidagi ma'lumotlarni o'z ichiga olishi mumkin.
Spring Rest Repositories, RabbitMQ va New Relic
Dasturlarni internatsionalizatsiyasi
Internatsionalizatsiya - bu ilovangizni turli tillar va mintaqalarga moslash imkonini beruvchi jarayon, kodda texnik o'zgarishlar talab qilmasdan. Boshqacha qilib aytganda, internatsionalizatsiya - bu lokalizatsiyaga tayyorlikni ta'minlash.
GO TO FULL VERSION