Dependency inversion va injection nima va ularning farqi nimada?
Dasturlashda modullar o'rtasida bog'lanishlarni boshqarish juda muhimdir. Bu maqsadda "Dependency Inversion" (DI) va "Dependency Injection" (DI) tushunchalari ko'pincha bir-biriga o'xshash tarzda qo'llaniladi, lekin ularning ma'nolari va ishlatilishida farqlar bor. (davomi)
@uzdevid
Dasturlashda modullar o'rtasida bog'lanishlarni boshqarish juda muhimdir. Bu maqsadda "Dependency Inversion" (DI) va "Dependency Injection" (DI) tushunchalari ko'pincha bir-biriga o'xshash tarzda qo'llaniladi, lekin ularning ma'nolari va ishlatilishida farqlar bor. (davomi)
@uzdevid
Telegraph
Dependency inversion va injection nima va ularning farqi nimada?
Dasturlashda modullar o'rtasida bog'lanishlarni boshqarish juda muhimdir. Bu maqsadda "Dependency Inversion" (DI) va "Dependency Injection" (DI) tushunchalari ko'pincha bir-biriga o'xshash tarzda qo'llaniladi, lekin ularning ma'nolari va ishlatilishida farqlar…
👍15👎3🔥2👏2🥰1
Yagona mas'uliyat printsipi (Single Responsibility Principle, SRP) – bu SOLID tamoyillaridan biri bo‘lib, har bir sinf (class) faqat bitta vazifani bajarishi kerakligini aytadi. (davomi)
@uzdevid
@uzdevid
Telegraph
Yagona mas'uliyat printsipi
Yagona mas'uliyat printsipi (Single Responsibility Principle, SRP) – bu SOLID tamoyillaridan biri bo‘lib, har bir sinf (class) faqat bitta vazifani bajarishi kerakligini aytadi. Boshqacha aytganda, sinfning o‘zgarishi uchun faqat bitta sabab bo‘lishi kerak.…
👍14👎2🔥2👏2
Mikroservislar: Kichik xizmatlar bilan katta tizimlar yaratish
Mikroservislar arxitekturasi katta va murakkab dasturiy tizimlarni kichik, mustaqil xizmatlarga bo‘lib boshqarish imkonini beradigan usuldir. Har bir mikroservis o‘ziga xos vazifani bajaradi va boshqa mikroservislar bilan minimal o‘zaro bog‘liq holda ishlaydi. Bu yondashuv tizimlarni qurishda kengayuvchanlik, mustaqillik va texnologik xilma-xillikni ta'minlaydi.
### Mikroservislar qanday ishlaydi?
Mikroservislar monolit yondashuvga nisbatan kichikroq hajmli va mustaqil komponentlardan iborat bo‘ladi. Har bir mikroservis alohida jamoa tomonidan ishlab chiqilishi va boshqarilishi mumkin. Ular HTTP, gRPC, RabbitMQ yoki WebSocket kabi turli protokollar orqali bir-biri bilan muloqot qiladi.
Mikroservislar afzalliklari:
1. Kengayuvchanlik: Har bir xizmat alohida kengaytiriladi, bu esa tizim yukini balanslashda qulaylik yaratadi.
2. Texnologik mustaqillik: Har bir mikroservis o‘z texnologiyasi va dasturlash tili yordamida yaratilishi mumkin.
3. Yuqori mavjudlik: Biror mikroservis ishdan chiqqanda, boshqa xizmatlar ishlashda davom etadi.
4. Tezkor joriy etish: Kichik xizmatlar tezroq ishlab chiqilib, yangilanishlar tez-tez amalga oshiriladi.
Mikroservislar kamchiliklari:
1. Murakkablik: Ko‘plab xizmatlarni bir-biri bilan sinxronlashtirish, monitoring qilish va muvofiqlashtirish murakkab bo‘lishi mumkin.
2. Tarmoq kechikishlari: Xizmatlar o‘zaro tarmoq orqali muloqot qilgani sababli, kechikishlar yuzaga kelishi mumkin.
3. Ma'lumotlarni boshqarish: Har bir xizmat o‘z ma'lumot bazasiga ega bo‘lishi mumkin, bu esa ma'lumotlarning izchilligini saqlashni qiyinlashtiradi.
Xulosa
Mikroservislar yirik dasturlarni boshqarish, ishlab chiqish va kengaytirishda zamonaviy yechim hisoblanadi. Kichik xizmatlar ko‘rinishida dasturlarni tashkil etish orqali tizim mustaqilligi va kengayuvchanligi oshadi. Biroq, ularni muvaffaqiyatli amalga oshirish0 murakkablik va tarmoq muammolariga qarshi ehtiyotkorlik talab qiladi.
@uzdevid
Mikroservislar arxitekturasi katta va murakkab dasturiy tizimlarni kichik, mustaqil xizmatlarga bo‘lib boshqarish imkonini beradigan usuldir. Har bir mikroservis o‘ziga xos vazifani bajaradi va boshqa mikroservislar bilan minimal o‘zaro bog‘liq holda ishlaydi. Bu yondashuv tizimlarni qurishda kengayuvchanlik, mustaqillik va texnologik xilma-xillikni ta'minlaydi.
### Mikroservislar qanday ishlaydi?
Mikroservislar monolit yondashuvga nisbatan kichikroq hajmli va mustaqil komponentlardan iborat bo‘ladi. Har bir mikroservis alohida jamoa tomonidan ishlab chiqilishi va boshqarilishi mumkin. Ular HTTP, gRPC, RabbitMQ yoki WebSocket kabi turli protokollar orqali bir-biri bilan muloqot qiladi.
Mikroservislar afzalliklari:
1. Kengayuvchanlik: Har bir xizmat alohida kengaytiriladi, bu esa tizim yukini balanslashda qulaylik yaratadi.
2. Texnologik mustaqillik: Har bir mikroservis o‘z texnologiyasi va dasturlash tili yordamida yaratilishi mumkin.
3. Yuqori mavjudlik: Biror mikroservis ishdan chiqqanda, boshqa xizmatlar ishlashda davom etadi.
4. Tezkor joriy etish: Kichik xizmatlar tezroq ishlab chiqilib, yangilanishlar tez-tez amalga oshiriladi.
Mikroservislar kamchiliklari:
1. Murakkablik: Ko‘plab xizmatlarni bir-biri bilan sinxronlashtirish, monitoring qilish va muvofiqlashtirish murakkab bo‘lishi mumkin.
2. Tarmoq kechikishlari: Xizmatlar o‘zaro tarmoq orqali muloqot qilgani sababli, kechikishlar yuzaga kelishi mumkin.
3. Ma'lumotlarni boshqarish: Har bir xizmat o‘z ma'lumot bazasiga ega bo‘lishi mumkin, bu esa ma'lumotlarning izchilligini saqlashni qiyinlashtiradi.
Xulosa
Mikroservislar yirik dasturlarni boshqarish, ishlab chiqish va kengaytirishda zamonaviy yechim hisoblanadi. Kichik xizmatlar ko‘rinishida dasturlarni tashkil etish orqali tizim mustaqilligi va kengayuvchanligi oshadi. Biroq, ularni muvaffaqiyatli amalga oshirish0 murakkablik va tarmoq muammolariga qarshi ehtiyotkorlik talab qiladi.
@uzdevid
👍33👎6🔥3😢2👏1
Mikroservis Tamoyillari: Yirik Tizimlarni Qismlarga Ajratish Asoslari
Mikroservis arxitekturasi samarali ishlashi uchun ma'lum tamoyillarga amal qilish muhim. Ushbu tamoyillar mikroservislarni mustaqil, kengayuvchan va ishonchli tizimlar yaratishga yordam beradi.
1. Xizmatlar Mustaqilligi
Har bir mikroservis alohida ishlab chiqilishi, joylashtirilishi va boshqarilishi kerak. Bu ularning boshqa xizmatlardan mustaqil bo‘lishini ta'minlaydi va bir xizmat ishdan chiqsa, boshqa xizmatlar ishlashda davom etishi mumkin.
2. Yagona Mas'uliyat Printsipi (SRP)
Mikroservislar faqat bitta vazifani bajarishi kerak. Kichik va aniq funksiyalarni bajaruvchi xizmatlar yaratish tizimni oson boshqarish va kengaytirishga imkon beradi.
3. Avtonomiyat
Xizmatlar o‘z muammolarini mustaqil hal qilishi kerak. Har bir mikroservis o‘z biznes jarayonlariga ega bo‘lishi va alohida texnologiya to‘plamidan foydalanishi mumkin. Bu ularga mustaqillikni va moslashuvchanlikni oshiradi.
4. Mustaqil Joylashtirish
Har bir mikroservis alohida joylashtirilishi va yangilanishi mumkin bo‘lishi kerak. Bu yangi funksiyalarni tezroq joriy etish va mavjud xizmatlarni yangilashda tizimga minimal ta'sir ko‘rsatish imkonini beradi.
5. Decentralizatsiyalangan Ma'lumotlar Boshqaruvi
Mikroservislar ma'lumotlarni o‘z ichida boshqarishi kerak. Markazlashtirilgan ma'lumotlar omboridan ko‘ra, har bir mikroservis o‘ziga tegishli ma'lumotlarni boshqarib, o‘z ma'lumotlar omboridan foydalanadi.
6. Tarmoq orqali Muloqot
Mikroservislar o‘zaro API yoki xabar tizimlari orqali muloqot qiladi. Bu ular orasidagi bog‘liqlikni kamaytiradi va ularni kengaytirishga imkon beradi, lekin bu tarmoq kechikishlari va ishonchlilikka e'tibor berishni talab qiladi.
7. Monitoring va Logging
Har bir mikroservis uchun monitoring va log yuritish jarayoni mustahkam bo‘lishi kerak. Bu xizmatlarning sog‘lig‘ini kuzatish va muammolarni tezda aniqlashga yordam beradi.
Xulosa
Mikroservis tamoyillari ulardan samarali foydalanish uchun muhimdir. Xizmatlar mustaqilligi, avtonomiyat va mustaqil joylashtirish orqali yirik tizimlarni yanada moslashuvchan va kengayuvchan qilish mumkin.
@uzdevid
Mikroservis arxitekturasi samarali ishlashi uchun ma'lum tamoyillarga amal qilish muhim. Ushbu tamoyillar mikroservislarni mustaqil, kengayuvchan va ishonchli tizimlar yaratishga yordam beradi.
1. Xizmatlar Mustaqilligi
Har bir mikroservis alohida ishlab chiqilishi, joylashtirilishi va boshqarilishi kerak. Bu ularning boshqa xizmatlardan mustaqil bo‘lishini ta'minlaydi va bir xizmat ishdan chiqsa, boshqa xizmatlar ishlashda davom etishi mumkin.
2. Yagona Mas'uliyat Printsipi (SRP)
Mikroservislar faqat bitta vazifani bajarishi kerak. Kichik va aniq funksiyalarni bajaruvchi xizmatlar yaratish tizimni oson boshqarish va kengaytirishga imkon beradi.
3. Avtonomiyat
Xizmatlar o‘z muammolarini mustaqil hal qilishi kerak. Har bir mikroservis o‘z biznes jarayonlariga ega bo‘lishi va alohida texnologiya to‘plamidan foydalanishi mumkin. Bu ularga mustaqillikni va moslashuvchanlikni oshiradi.
4. Mustaqil Joylashtirish
Har bir mikroservis alohida joylashtirilishi va yangilanishi mumkin bo‘lishi kerak. Bu yangi funksiyalarni tezroq joriy etish va mavjud xizmatlarni yangilashda tizimga minimal ta'sir ko‘rsatish imkonini beradi.
5. Decentralizatsiyalangan Ma'lumotlar Boshqaruvi
Mikroservislar ma'lumotlarni o‘z ichida boshqarishi kerak. Markazlashtirilgan ma'lumotlar omboridan ko‘ra, har bir mikroservis o‘ziga tegishli ma'lumotlarni boshqarib, o‘z ma'lumotlar omboridan foydalanadi.
6. Tarmoq orqali Muloqot
Mikroservislar o‘zaro API yoki xabar tizimlari orqali muloqot qiladi. Bu ular orasidagi bog‘liqlikni kamaytiradi va ularni kengaytirishga imkon beradi, lekin bu tarmoq kechikishlari va ishonchlilikka e'tibor berishni talab qiladi.
7. Monitoring va Logging
Har bir mikroservis uchun monitoring va log yuritish jarayoni mustahkam bo‘lishi kerak. Bu xizmatlarning sog‘lig‘ini kuzatish va muammolarni tezda aniqlashga yordam beradi.
Xulosa
Mikroservis tamoyillari ulardan samarali foydalanish uchun muhimdir. Xizmatlar mustaqilligi, avtonomiyat va mustaqil joylashtirish orqali yirik tizimlarni yanada moslashuvchan va kengayuvchan qilish mumkin.
@uzdevid
👍70❤16👎9🤔9🔥5🥰5
Yangi chiqayotgan (hali chiqmagan) Yii3 freymvorki haqida video kurs chiqaraylikmi?
Anonymous Poll
57%
Xa
23%
Albatta
20%
Zarar qilmaydi
👍53😁30🔥13❤7🥰3👎2👏2
Backendda tashqi Rest-API lar bilan integratsiyani qanday amalga oshirasiz? curl_* funksiyalari orqalimi yoki Guzzle mijozi bilanmi? Integratsiyalarni qulay va OOP uslubida qilishga nima deysiz?
Conflux-HTTP - moslashuvchan va keng imkoniyatlarga ega HTTP sdk.
Kamchiliklari bo'lsa issue yoki PR kutaman 👨💻
@uzdevid
Conflux-HTTP - moslashuvchan va keng imkoniyatlarga ega HTTP sdk.
Kamchiliklari bo'lsa issue yoki PR kutaman 👨💻
@uzdevid
👍7❤3🔥2👏2
Yii3 frameworkining dunyodagi ilk video kursi 👨💻
Ushbu birinchi video darsda Yii3 fraymorki bilan ishlashni boshlash uchun zarur bo'lgan barcha asosiy tushunchalar va vositalar bilan tanishasiz. Darsda Yii3 ilovasini yaratish, sozlash va uni ishlatishning boshlang'ich bosqichlari ko'rsatiladi. Har bir qadamni aniq tushuntirib, sizni Yii3 bilan ishlashda to'g'ri yo'naltiramiz. Bu darsda Yii3 arxitekturasi, fayl tuzilmasi, va birinchi ilovangizni yaratishga qaratilgan amaliy misollar ko'rsatiladi.
https://www.youtube.com/playlist?list=PLjQt6UfhObShjbLyRcl3KcgM4gmpqlCUo
Ushbu birinchi video darsda Yii3 fraymorki bilan ishlashni boshlash uchun zarur bo'lgan barcha asosiy tushunchalar va vositalar bilan tanishasiz. Darsda Yii3 ilovasini yaratish, sozlash va uni ishlatishning boshlang'ich bosqichlari ko'rsatiladi. Har bir qadamni aniq tushuntirib, sizni Yii3 bilan ishlashda to'g'ri yo'naltiramiz. Bu darsda Yii3 arxitekturasi, fayl tuzilmasi, va birinchi ilovangizni yaratishga qaratilgan amaliy misollar ko'rsatiladi.
https://www.youtube.com/playlist?list=PLjQt6UfhObShjbLyRcl3KcgM4gmpqlCUo
YouTube
1.0 Yii3 frameworkining ilk video qo'llanmasi
Ushbu birinchi video darsda Yii3 fraymorki bilan ishlashni boshlash uchun zarur bo'lgan barcha asosiy tushunchalar va vositalar bilan tanishasiz. Darsda Yii3 ilovasini yaratish, sozlash va uni ishlatishning boshlang'ich bosqichlari ko'rsatiladi. Har bir qadamni…
🔥8👏4😁3👍2
Ushbu video darsda PSR-15 middleware’lari haqida va ularni Yii3 frameworkida qanday qo‘llash mumkinligi haqida batafsil tushuntirib beriladi. Dars davomida middleware nima ekanligi, ularning vazifasi va qanday ishlashi haqida nazariy tushunchalar beriladi, shuningdek, real amaliy misollar orqali Yii3 ilovasiga middleware’larni qanday qo‘shish va sozlash ko‘rsatib o‘tiladi.
Ayniqsa, so‘rovlarni filtrlash, autentifikatsiya, loglash kabi funksiyalarni qanday amalga oshirish mumkinligi o‘rganiladi.
https://www.youtube.com/watch?v=zQs3zZaSzb8
@uzdevid
Ayniqsa, so‘rovlarni filtrlash, autentifikatsiya, loglash kabi funksiyalarni qanday amalga oshirish mumkinligi o‘rganiladi.
https://www.youtube.com/watch?v=zQs3zZaSzb8
@uzdevid
YouTube
2.0 PSR Middlewarelar nima va Yii3da qanday foydalaniladi
Ushbu video darsda PSR-15 middleware’lari haqida va ularni Yii3 frameworkida qanday qo‘llash mumkinligi haqida batafsil tushuntirib beriladi. Dars davomida middleware nima ekanligi, ularning vazifasi va qanday ishlashi haqida nazariy tushunchalar beriladi…
👍3🔥3👏3❤1
Final sinflar va metodlar — afzalliklar, muammolar va yechimlar.
PHP dasturchilar ko‘pincha final yordamida sinf va metodlarni himoya qilishadi. Biroq bu qaror foydali bo‘lishi bilan birga, ba’zida muammolarga ham sabab bo‘lishi mumkin. Davomini medium-da o'qing
PHP dasturchilar ko‘pincha final yordamida sinf va metodlarni himoya qilishadi. Biroq bu qaror foydali bo‘lishi bilan birga, ba’zida muammolarga ham sabab bo‘lishi mumkin. Davomini medium-da o'qing
Medium
Final sinflar va metodlar — afzalliklar, muammolar va yechimlar
🔒 Final sinflar va metodlar: Afzalliklar, muammolar va yechimlar (PHP misolida)
🔥6👍3❤1👏1
Yii3 frameworkida Rest API-dan kelgan ma'lumotlarni qabul qilish va validatsiyadan o'tkazish jarayoni bilan tanishamiz.
https://youtu.be/EwvAZRvfimw
https://youtu.be/EwvAZRvfimw
YouTube
3.0 Foydalanuvchidan ma'lumot qabul qilish va validatsiya | Yii3
Yii3 frameworkida Rest API-dan kelgan ma'lumotlarni qabul qilish va validatsiyadan o'tkazish jarayoni bilan tanishamiz.
Qo'llab-quvvatlash: https://tirikchilik.uz/uzdevid
Qo'llab-quvvatlash: https://tirikchilik.uz/uzdevid
👍4🔥3👏2❤1🥰1
Ushbu darsda biz Yii3 doirasida zamonaviy dasturlash tamoyillaridan biri bo'lgan Dependency Inversion Principle (DIP) va Dependency Injection (DI) konsepsiyalarini ko'rib chiqamiz.
https://youtu.be/46f1Dw3tOiM
@uzdevid
https://youtu.be/46f1Dw3tOiM
@uzdevid
YouTube
4.0 Yii3 Dependency injection
Ushbu darsda biz Yii3 doirasida zamonaviy dasturlash tamoyillaridan biri bo'lgan Dependency Inversion Principle (DIP) va Dependency Injection (DI) konsepsiyalarini ko'rib chiqamiz.
Qo'llab-quvvatlash: https://tirikchilik.uz/uzdevid
Qo'llab-quvvatlash: https://tirikchilik.uz/uzdevid
👍4🔥4👏2❤1
gPortni serverini qaytadan Yii3-da yozmoqchiman. Yii3da web socket bilan ishlaydigan paket yo'q ekan. Avval shu paketni yozmoqchiman 🔥
Maqsad uy qurish, lekin, avval sement zavodini qurish kerak...
@uzdevid
Client => (ws://) => Centrifugo => (grpc://) => RoadRunner => Yii3
Maqsad uy qurish, lekin, avval sement zavodini qurish kerak...
@uzdevid
🔥11👍3❤2👏2😁2
Ushbu video darsda Yii frameworkiga ma'lumotlar omboriga (Pgsql) bog'lanish va SELECT so'rovini amalga oshirishni ko'rib chiqamiz
https://www.youtube.com/watch?v=jbBRltVp8Ko
@uzdevid
https://www.youtube.com/watch?v=jbBRltVp8Ko
@uzdevid
YouTube
5.0 PostgreSQL-ga bog'lanish va birinchi so'rovni amalga oshirish
Ushbu video darsda Yii frameworkiga ma'lumotlar omboriga (Pgsql) bog'lanish va SELECT so'rovini amalga oshirishni ko'rib chiqamiz.
Qo'llab-quvvatlash: https://tirikchilik.uz/uzdevid
Qo'llab-quvvatlash: https://tirikchilik.uz/uzdevid
👍6🔥3👏2
Ushbu videoda biz, Yii frameworkida migratsiyalar bilan ishlovchi paketni o'rnatamiz. Shu paket yordamida yangi migratsiyalar yaratib ma'lumotlar omboriga jadvallar qo'shamiz.
https://www.youtube.com/watch?v=R_xLvL2O88A
@uzdevid
https://www.youtube.com/watch?v=R_xLvL2O88A
@uzdevid
YouTube
6.0 Yii frameworkida migratsiyalardan foydalanish
Ushbu videoda biz, Yii frameworkida migratsiyalar bilan ishlovchi paketni o'rnatamiz. Shu paket yordamida yangi migratsiyalar yaratib ma'lumotlar omboriga jadvallar qo'shamiz.
DB Migration: https://github.com/yiisoft/db-migration
Qo'llab-quvvatlash: htt…
DB Migration: https://github.com/yiisoft/db-migration
Qo'llab-quvvatlash: htt…
👍3🔥3👏3
Ushbu videoda Active Record ORMdan foydalanib ma'lumotlar ombori jadvaliga CRUD amallarini bajarishni ko'rib chiqamiz
https://youtu.be/Kl44Om3H4v8
@uzdevid
https://youtu.be/Kl44Om3H4v8
@uzdevid
YouTube
7.0 Yii Active Record | CRUD amallarini bajarish
Ushbu videoda Active Record ORMdan foydalanib ma'lumotlar ombori jadvaliga CRUD amallarini bajarishni ko'rib chiqamiz.
Qo'llab-quvvatlash: https://tirikchilik.uz/uzdevid
Qo'llab-quvvatlash: https://tirikchilik.uz/uzdevid
👍4🔥3👏3
Zamonaviy, moslashuvchan va qulay yangi Yii3 frameworkini quyidagi playlist-dan bepul o'rganishingiz mumkin.
https://www.youtube.com/playlist?list=PLjQt6UfhObShjbLyRcl3KcgM4gmpqlCUo
@uzdevid
https://www.youtube.com/playlist?list=PLjQt6UfhObShjbLyRcl3KcgM4gmpqlCUo
@uzdevid
👍6🔥5👏3
Keyingi video Yii3 + RoadRunner mavzusida! PHPni 30-40 barobarga tezlatamiz 🔥
👍7🔥6👏1
PHP o'ladi! Xa, har bir so'rovga javob berganidan so'ng PHP o'ladi, kelasi safar yana tiriladi va bu bir hil jarayonni qayta qayta amalga oshirib qimmatli vaqtni yo'qotadi. Ushbu videoda bu narsaga chek qo'yadigan yo'llar haqida gaplashamiz.
https://www.youtube.com/watch?v=7SaUXLii9ok
@uzdevid
https://www.youtube.com/watch?v=7SaUXLii9ok
@uzdevid
YouTube
PHP will not die | PHP o'lmaydi - uni 30-40 martaga tezlashtiramiz
PHP o'ladi! Xa, har bir so'rovga javob berganidan so'ng PHP o'ladi, kelasi safar yana tiriladi va bu bir hil jarayonni qayta qayta amalga oshirib qimmatli vaqtni yo'qotadi. Ushbu videoda bu narsaga chek qo'yadigan yo'llar haqida gaplashamiz.
Qo'llab-quvvatlash:…
Qo'llab-quvvatlash:…
🔥6👍5😁1
MVC arxitekturasida M, ya'ni model deganda nimani tushunasiz?
🔥 - bazadagi jadvalning ORM modeli
👍 - biznes logika qatlami
🔥 - bazadagi jadvalning ORM modeli
👍 - biznes logika qatlami
🔥24👍11