Telegram Web Link
C# da Modellar va Ularning Turlari (IV qism)

Ma'lumot Tashuvchi:
* Asosiy Modellar
* Ikkinchi Darajali Modellar
* Bog'lanish Modellar
* Gibrid Modellar

Ham ma'lumot saqlab, ham boshqa jadval kalitlarini saqlaydigan modellar mavjud. Loyiha arxitekturasini sofligini saqlash va modellarning murakkabligini boshqarish uchun bunday modellardan uzoqda bo'lishni maslahat beraman. Lekin, ba'zan ma'lum biznes g'oyani amalga oshirish yoki aniq bir talabni qondirish uchun bundan boshqa chora qolmaydi. Bunday holatda, ikki mustaqil modelning munosabatidagi ba'zi ma'lumotlarni saqlashi uchun gibrid modellardan foydalanishimiz mumkin. Misol uchun, tepadagi rasmga e'tibor bering.

Gibrid modellar asosiy modellarning kalitlarini saqlash bilan birgalikda ikkinchi darajali modellarni o'z ichiga oladi. Ular uzviy bog'liqlik (relatsional) tabiatini alohida jadvalga chiqmay turib ifodalashadi. Uzviy bog'liq bo'lmagan ma'lumotlar omborida, kalit orqali bog'lanish talabi sxemaning chiziqli tabiati tufayli xatoliklarga olib kelmasligi mumkin.

(c) Hassan Habib, Me'yor Kitobidan tarjima
#meyor #csharp

Telegram | YouTube | Linkedin
C# da Modellar va Ularning Turlari (V qism)
1. Ma'lumot Tashuvchi
2. Ish Bajaruvchi (Amaliyot Modellari)

Amaliyot modellari har qanday dasturiy ta'minot sistemalarini simulyatsiya (harakatga keltirish) jarayonida asosiy o'rin egallaydi. Har qanday amamiyot qanchalik sodda yoki murakkab bo'lmasin, bu amaliyot muvaffaqiyatli simulyatsiya jarayoni ishga tushirilishi kerakligini taqazo qiladi. Ba'zi maktablarda talabalar ro'yxatdan o'tish jarayonini soddalashtirishga harakat qilyapmiz deb o'ylaylik. Ro'yxatga olish jarayoni kompyuter dasturiga talaba ma'lumotini kiritish jarayonini shakllantirishimiz kerak.

Amaliyot modellari maktab boshqaruv sistemasiga talabalarning ma'lumotini saqlash va kiritish uchun API/UI orqali butun jarayonni taqdim etish, ishlov berish va tashqi texnologiyada saqlashga imkon beradi.

Me'yor amaliyot modellariga katta e'tibor qaratgan chunki aynan ular biznes g'oya jihatdan har qanday sistemaning asosini tashkil qiladi. Dasturni ishlab chiqish va loyihalash davrida, aynan amaliyot modellari ko'plab manba va harakat talab qiladi. Ularni uch turga bo'lish mumkin: tashqi texnologiya bilan aloqa qiluvchi (integratsion), ishlov beruvchi va taqdim qiluvchi.

(c) Hassan Habib, Me'yor Kitobidan tarjima
#meyor #csharp

Telegram | YouTube | Linkedin
C# da Modellar va Ularning Turlari (VI qism)
Ish Bajaruvchi (Amaliyot Modellari)
* Tashqi Texnologiya bilan Bog'lanadigan Modellar (Integratsion yoki broker modeller)

Integratsion amaliyot modellarining asosiy vazifasi mavjud sistemani tashqi manbaalar bilan bog'lashdir. Bunga sistemaga notanish bo'lgan vaqt qiymatini mahalliylashtirish uchun ishlatiladigan vaqtni qaytaruvchi amaliyot modeli yoki tashqi API yoki ma'lumotlar ombori bilan bog'lanadigan modellarni misol qilb keltirishimiz mumkin.

Biz bu integratsion modellarni "brokerlar" (dallol) deb ataymiz. Ular amaliyot modellari va tashqi sistemalarni bog'lashga xizmat qiliadi. Quyidagi misolga e'tiboringizni qarating:

public partial class ApiBroker
{
public async ValueTask<Student> PostStudentAsync(Student student) =>
this.apiBroker.PostAsync<Student>(student, url);
}

Tepada ko'rsatilgan integratsion model tashqi API ni chaqirish imkoniyatini beradi. Shu vaqtning o'zi amaliyot modellari tashqi API bilan bog'lanish uchun sozlamalardan xabardor bo'lishlari shart emas. Bu vazifani integratsion model o'z bo'yniga oladi.

Boshqa amaliyot modellari kabi, ular ham hech qanday ma'lumot o'zi bilan tashimaydi, aksincha ichki va tashqariga taqdim qilinadigan metodlari uchun konstanta yoki ichki qiymatlardan foydalanadi. ApiBroker model sifatida tashqi sistemalar bilan bog'lanish jarayonini namoyish qiladi.

Har qanday tashqi manba yoki sistema bilan aloqa qila oladigan brokerlar yaratish qoidalari va maslahatlar haqida kelgusi boblarimizda batafsil gaplashib o'tamiz.

(c) Hassan Habib, Me'yor Kitobidan tarjima
#meyor #csharp

Telegram | YouTube | Linkedin
C# da Modellar va Ularning Turlari (VII qism)
Ish Bajaruvchi (Amaliyot Modellari)
* Tashqi Texnologiya bilan Bog'lanadigan Modellar (Integratsion yoki broker modellar)
* Ishlov Berish Modellari (Servislar)


Ishlov berish modellari barcha biznes-g'oyaga bog'liq simulyatsiya jarayonlarini egasidir. Talabani ro'yxatdan o'tkazish, yangi kutubxona obuna kartasini so'rovini yaratish yoki bir talaba ma'lumotlarini ma'lum mezonga asoslanib o'qish amaliyotlari bunga misol bo'lishi mumkin. Ishlov berish modellari quyidagi turlarga bo'linadi: sodda (asos), yuqori-mantiqli (ishlov beruvchi), yoki murakkab (boshqaruvchi).

Ishlov berish modellari odatda o'z-o'ziga (hisoblab servislari kabi), integratsion modellarga yoki bir-biriga bog'liq bo'lishi mumkin.

1-kod parchasida sodda (asos) servisiga misolni ko'rishingiz mumkin.
Yuqori-mantiqli (ishlov beruvchi) servis 2-kod parchasi kabi bo'ladi.
Murakkabroq (boshqaruvchi) servislar bir nechta yuqori-mantiqli (ishlov beruvchi) yoki sodda (asos) servislari orasida mantiqni boshqaradi. 3-kod parchasi e'tiboringizni qarating.


Odatda, amaliyot modellari ma'lumot tashuvchi modellar ustida bo'ladigan ishlov berish yoki simulyatsiya jarayorini ma'suldir. Ular ma'lumotni ushlab turish yoki holatini saqlab turish vazifasini bajarmaydi. Ko'p hollarda, amaliyot bajaruvchi modellar holatni saqlab qolmaydi. Aksincha, bu ishni loglash yoki loglar (dastur jurnalini yuritish) yoki kuzatish brokerlariga o'tkazib berishadi.


(c) Hassan Habib, Me'yor Kitobidan tarjima
#meyor #csharp

Telegram | YouTube | Linkedin
C# da Modellar va Ularning Turlari (VIII qism)
Ish Bajaruvchi (Amaliyot Modellari)
* Tashqi Texnologiya bilan Bog'lanadigan Modellar (Integratsion yoki broker modellar)
* Ishlov Berish Modellari (Servislar)
* Taqdimot Modellar (Taqdim Etuvchilar)

Taqdimot modellari Inson-Kompyuter Muloqoti jarayoning barcha jihatlarini qamrab oladi. Ular RESTful API, SDK, Veb-Sahifa yoki terminal/qora oyna kabi kompyuter dasturlari ko'rinishida bo'lishi mumkin.

Taqdim etuvchi amaliyot modellari integratsion modellarga o'xshab, tashqi dunyo va sizning sistemangiz o'rtasida ko'priq vazifasini o'taydi. Ular sistemaning tashqi qavat tomonda turib, tashqaridan kelayotgan so'rovni qabul qilib unga mos keluvchi amaliyot modeliga uzatadi. Taqdim etuvchi modellar hech qachon integratsion modellar bilan to'g'ridan-to'gri aloqa qilmaydi yoki hech qanday sozlamarni o'zida saqlamaydi. Ular faqatgina konstruktor orqali ular bog'liq bo'lgan klasslarnigina qabul qilib olishi mumkin.

Taqdim etuvchi modellar ishlash jarayonida o'zining tiliga ega bo'lishi mumkin. Misol uchun, integratsion model TalabaJoylash (InsertStudent) tilidan foydalansa, xuddi shu API imkoniyatini taqdim etuvchi model TalabaYuklash (PostStudent) so'zlarini ishlatishi mumkin.

Quyida taqdim etuvchi modelga misol ko'rishingiz mumkin:

public class StudentsController
{
private readonly IStudentOrchestrationService studentOrchestrationService;

[HttpPost]
public async ValueTask<ActionResult<Student>> PostStudentAsync(Student student)
{
Student registeredStudent = await this.studentOrchestrationService
.RegisterStudentAsync(student);

return Ok(registeredStudent);
}
}

Tepada ko'rsatilgan model talaba ma'lumotlarini maktab boshqarish sistemasida saqlash uchun API imkoniyatini RESTful aloqa protokoli orqali taqdim etadi. Taqdim etuvchi modellar haqida keyingi bo'limlarda batafsil gaplashib o'tamiz.

(c) Hassan Habib, Me'yor Kitobidan tarjima
#meyor #csharp

Telegram | YouTube | Linkedin
C# da Modellar va Ularning Turlari (IX qism)

Sozlama Modellari

Har qanday sistemada uchrashi mumkin bo'lgan modellarning eng oxirgi turi bu - sozlama modellari. Sistemaga kirish, uning bog'liq klasslarini ro'yxatdan o'tkazish yoki o'rtakash (midleveyr) ko'rinishida havolalarni taqdimot modelidagi u mos bo'lgan funksiyalarga to'g'rilash kabi vazifalarni o'z bo'yniga oladi.

Sozlama modellari odatda dasturni ishga tushirish jarayonining boshida - kiruvchi va chiquvchi so'rovlar, xotira keshlash, boshqarish va shu kabi ichki sistema amaliyotlarini tartibga soladi.


Sodda API loyihasida, quyidagicha modelga duch kelishingiz mumkin:

public class Startup
{
public void ConfigureServices(IServices services)
{
services.AddTransient<IStorageBroker, StorageBroker>();
services.AddOAuth();
}
}

As you can see from the code snippet above, the configuration model Startup offers capabilities to handle dependency injection-based registration of contracts to their concrete implementations. They may handle adding security or setting up a middleware pipeline. Configuration models are technology-specific. They may differ from a Play framework in Scala to a Spring or Flex in Python or Java. We will outline high-level rules according to The Standard for configuration models, but we will not dive deeper into the details of implementing any of them.

Tepadagi kod parchasiga binoan, Startup deb nomlanuvchi sozlama modeli klasslarning shartnomasini ularning ijrosi bilan bog'lash imkoniyatini taqdim qiladi. Sozlama modellar ma'lum texnologiyaga bog'liq bo'ladi. Ular Play nomlanuvchi Scala tilining freymvorkida boshqacha yoki Python yoki Java dagi Flex yoki `Spring`larda butunlay boshqacha bo'lishi mumkin.


(c) Hassan Habib, Me'yor Kitobidan tarjima
#meyor #csharp

Telegram | YouTube | Linkedin
Class Bilan Endi Tushunmovchilik Yo'q!

Me'yor kitobida modellarga aloqador bo'lim tarjima qilib bo'lindi. Qisqacha quyidagi havolalar orqali o'rganib chiqishingiz mumkin:
1. Ma'lumot Tashuvchilar:
* Asosiy Modellar
* Ikkinchi Darajali Modellar
* Bog'lanish Modellar
* Gibrid Modellar
2. Ish Bajaruvchi (Amaliyot Modellari)
* Tashqi Texnologiya bilan Bog'lanadigan Modellar (Integratsion yoki Broker Modellar)
* Ishlov Berish Modellari (Servislar)
* Taqdimot Modellar (Taqdim Etuvchilar)
3. Sozlama Modellari:
* Sozlama Modellari

Ushbu havola orqali GitHub sahifaga o'tib tarjimada yo'l qoyilgan xatolarni izoh sifatida qoldirishingiz mumkin. Tarjima Ustoz Hassan Habibning Me'yor kitoblari asosida olib borildi.
#meyor

P.S. Tarjima 2-Fevral kuni soat 19:00 da asosiy sahifaga qo'shiladi.

Telegram | YouTube | Linkedin
Microsoftning Eng Qadrli Mutaxassisi!

Muhammadkarim To'xtaboyev - O'zbekiston .NET hamjamiyati yetakchisi Microsoft tomonidan Eng Qadrli mutaxassis deb topildilar.

Bu u kishining bizning jamiyatda .NET rivoji uchun qo'shgan hissalarining va yetakchilik qobiliyatlarining e'tirofidir.

Aslida, biz uchun eng qadrli mutaxassis ekaningizni allaqachon qalbimizda his qilgan edik va bugun Microsoftdan turib sizni tan olishdi. MVP bo'lganingiz bilan o'zimning va jamoamning nomidan sizni tabriklaymiz.
#daho

Telegram | YouTube | Linkedin
#MVP_Bulaman!

17-Oktabrda chiqarilgan MVP sovrini haqidagi birinchi postdan qisqa vaqt ichida 2-kishi (Elbek Normurodov va Muhammadkarim To'xtaboyev)lar bu sovrinni qo'lga kiritishdi.

Keyingi nomzod bu - siz!

Telegram | YouTube | Linkedin
Xusan Ne'matov

Amaliy kursimizda tahsil olib, jamoada o'z o'rinlarini ko'rsata olgan dasturchi. Yaqinda ishga kirganlari haqida xabar berganlarida boshimiz osmonga yetdi. Bir emas ikki kompaniyaga ishga (biri stajirovkaga) kiribtilar.

Xusan mehnatkash va samimiy inson. Sizni kashf qilganimdan xursandman va kelajakda katta loyihalar ustida ishlaymiz degan umiddaman.

Siz ham hoziroq Xusan bilan Linkedinda bog'laning.
#daho

Telegram | YouTube | Linkedin
Tarteeb Jamoasi Bitiruvchi va A'zolari!

Amaliy Kurs va Stajirovkaning birinchi bitiruvchilari qilgan loyihalaridan birini ommaga taqdim etishdi. 3 oy davomida o'rganilgan ko'nikma va bilimni natijasini ko'rmoqchi bo'lsangiz albatta ushbu videoni oxirigacha ko'ring.

Videoga havola

P.S. Yaqinda yangi guruh ochiladi

Telegram | YouTube | Linkedin
O'zbeklar ham MVP Bo'lishi Mumkin!

Muhammad Karim To'xtaboyev bilan Microsoft Kompaniyasi Eng Qadrli Mutaxassisi bo'lish sirlari haqida gaplashdim. Suhbat davomida, dasturlashga kirib kelishlari, qilayotgan ishlari va dasturlashni endi o'rganayotganlar uchun muhim tavsiyalar haqida gaplashib o'tdik.

Bugun 19:00 da YouTube kanalimda ushbu suhbat efirga uzatiladi. Ushbu havola o'rqali videoga o'tishingiz mumkin.

20:00 da esa dot-net.uz telegram kanalida u kishining mahorat darsiga qatnashishingiz va o'zingizni qiziqtirgan savollarga javob topishingiz mumkin.

Telegram | YouTube | Linkedin
Simulyatsiya

Loyihalar yaratishda, simulyatsiya jarayoni modellarga va ular bilan bog'liq amaliyotlarni ko'rsata olish qobiliyatidir. Oziq-ovqat do'koni misolida, mahsulotni sotish amaliyoti simulyatsiya bo'ladi. Ya'ni, sotish o'z ichida qolgan mahsulatlardan sotilgan mahsulotlar sonini ayirish, shuningdek qolgan mahsulotlarni qiymatiga qarab saralash ishlarini o'z ichiga oladi.

Simulyatsiya jarayonini modellar orasidagi munosabat ko'rinishida tasvirlashimiz mumkin, ular dasturlashda funksiya, metod yoki "harakat yo'llari" kabi so'zlar bilan ifodalanishi mumkin, lekin bir xil ma'no anglatadi. Mahsulotlar savdosiga mas'ul service yozganimizda, simulyatsiya jarayoni quyidagicha bo'lar edi:

public class SaleService
{
public void Sell(Item item) => Items.Remove(item);
}

Yoqorida ko'rsatilgan misolda, mahsulot (item) ustida hatimizdagi sotuv amaliyotini namoyish qiluvchi SaleService (SavdoServis)ni ko'rishingiz mumkin. Aynan shu tarzda har qanday amaliyotni obyektga yo'naltirilgan dasturlash yordamida ifodalaysiz. Hammasi obyektdir (model mahsuli) va ular bir-biri bilan aloqa qiladi.

Obyekt aloqasi, umuman olib qaraganda, uch xil holatda kuzatilishi mumkin. Bir model boshqa model ustida amal olib borishi. Misol uchun, SavdoServisi (SellServis) sotish (Sell) amalini mahsulot ustida olib boryapti. Bu bir modelning ikkinchi model ustida amaliyot bajarishiga misol bo'ladi. Xuddi shu misolda, mahsulot (item) nuqata-i nazaridan qaralsa tashqi model uning ustida amaliyot bajaryapti. Va niyohat, kerak bo'lmaganda o'z-o'zini yo'q qila olish ham simulyatsiyaning eng oxirgi bosqichi.

Loyihalar yaratishning eng oxirgi bosqichi bu simulyatisya jarayonidir. Dasturlash sanoatida loyihalarni modellashtirish va simulyatsiya qilish jarayonlari haqida batafsil brokerlar, servislar va taqdim etuvchilar haqida gaplashganimizda chuqurroq to'xtalib o'tamiz.

(c) Hassan Habib, Me'yor Kitobidan tarjima
#meyor #csharp

P.S. Bugungi tarjimani ko'rib takliflaringizni yozib qoldirish uchun bu havola ustiga bosing.

Telegram | YouTube | Linkedin
Qabul Boshlandi!

Amaliy kurs va stajirovkaga yangi o'quvchilarni chorlab qolamiz. O'quv kursi davomida real loyiha ustida ishlaysiz va qanday qilib sifatli kod yozishni o'rganasiz.

Talablar:
* .NET va C# asoslari
* Git/GitHub asoslari
* Kichik loyilardan misollar

3 oy davomida siz:
* To'g'ri dastur arxitekturasi
* Jamoa bilan ishlash
* Git/GitHub dan mahorat bilan foydalanish
* Tashqi texnologiya (misol: ma'lumotlar ba'zasi) bilan ishlash
* Visual Studiodan mohirlik bilan foydalanish
* To'g'ri Unit Test lar yozish
* Loyihani Azure serverlariga joylash
* Kiruvchi ma'lumotlarni to'g'ri tekshirish
* Dasturdagi har qanday xatoliklarni to'g'ri bartaraf qilishni o'rganasiz!


O'quv kursini tugatgan o'quvchilarning 80% 1 oy ichida ish o'rinlariga ega bo'ldilar va bu vaqt ichida Tarteeb - vazifa va ish soatlarini boshqaruv sistamasini yaratdilar. Ushbu loyiha taqdimotini YouTube kanalimda ko'rishingiz mumkin.

Siz ham ro'yxatdan o'tmoqchi bo'lsangiz o'zingiz haqingizda va nima uchun aynan sizni tanlab olishimiz kerakligi motivatsion xat ko'rinishida yozib qoldiring. Qabul 20-Fevralda yopiladi.

P.S. Amaliy kurs pullik

YANGILANDI: QABUL YOPILDI!

Telegram | YouTube | Linkedin
Nega 2023-yilda .NET Dasturchisi Bo'lishingiz Kerak?

Ertaga soat 19:00 da Mohirdev telegram kanalida aynan shu mavzuda suhbat olib boraman.

Telegram | YouTube | Linkedin
Abdulatif Mirzayev

Shijoatli, mehnatkash va samimiy inson. Qanday qilib dasturlash olamiga muvaffaqiyatli kirib kelish va endi boshlovchilar uchun ilm olish sirlari haqida gaplashdik. U kishining tajribalari siz ham dasturlashni o'rganishingizga xarita bo'lib xizmat qiladi degan umiddaman.

Videoni ko'rish uchun ushbu havola ustiga bosing.
#daho

Telegram | YouTube | Linkedin
Inson Ustuvorligi

Endilikda "Me'yor" tamoyillarini o'rganamiz. Ushbu tamoyillar me'yorga mos keladigan tizimning barcha komponentlariga taalluqlidir, xoh ushbu komponentlar brokerlar, xizmatlar yoki taqdim etuvchilar bo'lsin.

Birinchi tamoyil bu - inson ustuvorligi.

Ushbu tamoyilning asosiy g'oyasi odamlarni hisobga olgan holda me'yorga mos keladigan tizimlarni qurish va loyihalashdir. Nafaqat tizimdan foydalanmoqchi bo'lganlar, balki uni saqlab qoladigan va rivojlantiradigan odamlarni ham hisobga olgan holda me'yorga mos keladigan tizimlarni qurish va loyihalashdir.

Tizim "Inson Ustuvorligi" tamoyiliga amal qilishi uchun u murakkablikdan ko'ra oddiylikni hurmat qilishi kerak. Oddiylik qayta yozish imkoniyatini beradi. Bu monolit (yakka-asosli) sistemalarni umumiy andazasida haqiqiy bo'laklana olish xususiyati berish uchun xayolan mayda parchalarga bo'lib loyihalashni taqazo qiladi.

Shuningdek, "Me'yor" murakkab muhandislik tushunchalari ko'pchilik dasturchilar tomonidan hazm qila olinishilikni ta'minlaydi. Sanoatdagi yangi muhandislar ertangi kunning yetakchilaridir. Agar ular biron bir tizimga kerakli vaqtda ishonishmasa, ular oxir-oqibat taslim bo'lishadi va uni qayta-qayta yozadilar.

(c) Hassan Habib, Me'yor Kitobidan tarjima
#meyor #csharp

Telegram | YouTube | Linkedin
2024/09/27 23:28:48
Back to Top
HTML Embed Code: