🇺🇿 Learn .NET
1.38K subscribers
353 photos
35 videos
10 files
537 links
• 2 ta Microsoft MVP dan o'rganing
• Professional .NET va C# darslar
https://learn.net.uz rasmiy kanali
Download Telegram
🎉 Microsoft Community Conf 2025 is here!

Microsoft Developers Community in Uzbekistan (MDC Uzbekistan) is a vibrant network of developers, engineers, and tech enthusiasts passionate about Microsoft technologies. We organize meetups, workshops, and large-scale events to empower the local tech ecosystem and connect innovators across Uzbekistan.

📢 About the conference:
Our flagship event, Microsoft Community Conf 2025, brings together tech enthusiasts from all over Central Asia! Explore the latest in AI, .NET, Cloud, DevOps, Data, and more through inspiring keynotes and hands-on sessions with industry experts.

📅 Date: November 22, 2025
📍 Location: Palace of Youth Creativity, Tashkent

🏢 Company Corners:
Meet representatives from EPAM, BRB-TECH, IMAN, and other leading companies. Network, showcase your skills, and discover new opportunities.

💼 Bring your CV – your next big opportunity could be waiting for you!

Secure your spot: Register Now

#MDCUConf2025 #MicrosoftUzbekistan #DeveloperCommunity #TechConference

@mdcuzbekistan
👍5
.NETni 0 dan 2 ta Microsoft MVP o'rgangan bo'larmidingiz(Pullik kurs).
Anonymous Poll
71%
Ha
29%
Yo'q
Bugun bir oʻtirib Tarteeb loyihasini koʻzdan kechirdim.

Birinchi dastur davomida yaratilingan, ammo chaqirilmagan oʻzgaruvchilarni oʻchirishni boshladim. Keyingi qilgan ishim esa oʻzgaruvchilar toʻgʻri nomlanganligini tekshirib chiqdim. Axir chetdan kelgan odam dasturni kitob oʻqigandek oʻqiy olishi kerak. Metodlarni tekshirib chiqdim bir xil logika ishlatilingan kodlarni alohida metodga yoki klassga oldim. Yozilgan kod ancha ixchamlashdi. Visual Studioning oʻzida Errors tabida adashmasam, koʻk yozuvda sizga kodni toʻgʻirlash uchun takliflar beradi. Oʻzimizning jamoaga mos holda kerakli takliflarni qabul qildim.
(Lekin Primary Constructordan foydalanmadim, I hate it:))

Oxirida ortiqcha boʻsh qatorlarni olishni boshladim. Yani kod yozilmagan. Boʻsh qator bilan ishlash uchun dasturlashda aniq qoida yoʻq. Kod yozish usuli (Clean code) asosan dasturlash tiliga va jamoaga bogʻliq. Shunday ekan biz jamoada if, for, foreach, switch, return va funksiyalar orasida boʻsh qator qoldirishni afzal koʻramiz. Agar bir qatorli kod uzun boʻlib ketsa uning bir qismini keyingi qatorga oʻtkazamiz va ajratish uchun yana qator tashlaymiz. Toʻgʻrisi bu kodni jozibali qiladi.

Bu qilgan ishlarim performancega balki sezilarli tasir qilmas, lekin loyihani standart holatda yozilganini taʼminlaydi

Yuqorida qilingan ishlar Refactoring deyiladi. Agar sizga interviewda refactor qilish vazifasini qanday bajarasan desa, men yozgan postdan xulosani aytib berishingiz mumkin.

Keyingi postda servis performanceni qanday qilib optimizatsiya qilganim haqida yozaman
🔥8👍21
0 dan Juniorgacha

Kim uchun?
Dasturlashni mustaqil o'rganib, murakkab mavzularga qiynalayotgan va professional mentorlikka ehtiyoj sezayotganlar uchun. Avval boshqa tillarni o'rganib C# ga o'tmoqchi bo'lganlar ham qabul qilinadi.

Kim uchun emas?
Boshqa kursga borib, bu kursni qo'shimcha olmoqchi bo'lganlar. Aslida vaqti tig'iz bo'lib, bizning kursni ham sinab ko'rmoqchilar ham uchun emas.

Bir kunda Elbek Normurodov ham Nodirxon Abdumurotov ham dars o'tadilar. Bu guruhda Elbek Normurodov vazifalar nazorati va o'quvchilar amaliyotda o'sishini tekshirsalar, Nodirxon yangi mavzularni tushuntirish bilan shug'ullanadilar.

Nimalar o'rgatiladi?

C# asoslari, OOP, chuqurlashtirilgan .NET. Bonus, sifatida ishga kirish ko'nikmalari va CV yaratish darslari ham o'tiladi.

Kurs narxi: 100$ (1 250 000 so'm)
Guruhda 12 kishi qabul qilinadi
Darslar haftada 3 kun bo'lib o'tadi - 4-kun imtihon.
Davomiyligi 6 oy.
Ariza qoldirish
Juniordan Middlegacha

Kim uchun?
Kursni/universitetni bitirganiga 3 oydan oshgan yoki yaqinda ishga kirgan dasturchilar uchun. .NET bilimlarini mustahkamlab, ishlatayotgan texnologiyalar parda ortida qanday ishlashiga ishtiyoqmand yoshlar uchun.

Kim uchun emas?

Hali umuman C# kod yozmaganlar. Yozgan taqdirda ham biror martta asinxron metod yaratmagan bo'lsangiz, bu kurs siz uchun emas.

Bu guruhda Elbek Normurodov CLR via C# kitobini muhokama qiladilar va Nodirxon Abdumurotov esa pair-programming session o'tkazib, tarteeb loyihasida bo'layotgan real muammolarga yechimni ko'rsatadilar. Eng shijoatli o'quvchilarga loyihadan vazifa ham ajratish ehtimoli bor.

Nimalar o'rgatiladi?

Chuqurlashtirilgan OOP, dizayn patternlar, chuqurlashtirilgan .NET. Bonus, sifatida dasturchilar uchun ingliz tili darslari va "yumshoq" ko'nikmalar o'rgatib boriladi.

Kurs narxi: 150$ (1 875 000 so'm)
Guruhga 12 kishi qabul qilinadi.
Darslar haftada 3 kun bo'lib o'tadi - 4-kun imtihon.
Davomiyligi 3 oy.
Ariza qoldirish
3
Bu post esa Performance optimization haqida🚀.

Qisqasi Tarteeb loyihasida har bir kompaniyaning shaxsiy telegram boti boʻladi. Kompaniya yaratilishi bilan unga bitta telegram bot biriktiriladi. CompanyTelegramBotService deb nomlangan servisimiz har 10 sekundda databasega borib agar yangi bot mavjud boʻlsa, StartListening metodi orqali botni tinglashni boshlaydi. Bitta class bir nechta telegram botlarni tinglab oʻtiradi. Lekin shu yerda bir muammo bor edi. Botga xabar kelsa qaysi kompaniyaning boti ekanligini bilib boʻlmas edi. Boshida shunchaki botning GetMe metodini chaqirib, bot username ni olib, keyin databasedan shu botning kompaniyasini olishni amalga oshirdik. Ana endi har bir requestda biz ortiqcha 2 ta apini chaqiramiz.

1. Telegram.
2. Database

Tasavvur qiling, kompaniyalar soni 50taga chiqsa va har bir kompaniyaning kamida 10 tadan talabasi boʻlsa ular eng yomon holatda, bir vaqtning oʻzida 500 ta request yuboradi. Bitta companyId ni olish uchun esa 1000 ta ortiqcha qoʻngʻiroq qilishim kerak. Bu resursni isrof qilish bilan teng📌

Va hayolimga bir yechim keldi. Dastur davomida har bir kompaniyaning oʻzining singleton obyekti boʻlishi kerak. Yani class ham kompaniya malumotlarini ham botning obyektini oʻzida ushlaydi. Botga xabar kelsa Handle metodi this keyword orqali obyektning kompaniya malumotini olaveradi. Bu obyekt esa boya aytgan Background servisda listda saqlanadi. Background servis ham singleton.

Shunday qilib OOP va Singleton classlar orqali ancha muncha muammoni hal qildim
🔥7👍1
Yana kursmi?

Ha, kurs ochishimizga bir nechta sabablar bor.

📱 .NET bozori yaxshilandi.
Sohada kuzatishlarim natijasida ko'plab kompaniyalar qayta "stajirovka" ochishayotganini va yangi dasturchilarga talab oshganini ko'rdim. BRB tech, Exadel, Vention va ko'plab boshqa kompaniyalarda yaxshi imkoniyatlar ochilayotgani bunga misol.

👨🏻‍🏫 Ustoz-shogird an'anasi
Hozirda O'zbekistonda 2 ta aktiv MVP bor - kuchimizni birlashtirib, .NET ga qiziqayotgan yoshlarni tezroq natija qilishlariga yordam berish. Bu bizga yangi daholarni kashf qilishga yordam beradi.

📉 Kurslarning tanqisligi
Kuzatishlarimiz natijasida .NET sohasida dars beruvchi kurslar va malakali ustozlar topish qiyin bo'lib qoldi. O'quv markazlari chiqimlarini qoplay olishmayapti, kuchli ustozlar esa tez orada yaxshi ishga joylashib dars berishga vaqt ajrata olishmay qolyapti.

Sohada yetakchi mutaxassislar sifatida, mana shu sabablarga ko'ra bu kursni taqdim qilyapmiz.

p.s. Bu imkoniyatni yaqin tanishlarga ham jo'natib qoyish yodingizdan chiqmasin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
Bugundan 0 dan Juniorgacha kursimizni boshlaymiz. Guruhda 1 kishiga joy bor. Sifatli va natijaga ishlaydigan kurs izlab yurgan tanishingizga yuborib qoying.
#vakansiya

AMC Bridge kompaniyasida .NET / C# Developer vakansiyasi ochildi.
Maʼlumot uchun AMC Bridge xalqaro, muhandislik dasturlari ishlab chiquvchi katta kompaniya.

Agar sizga qiziqarli bo‘lsa, vakansiya tafsilotlarini mana bu yerda ko‘rib chiqishingiz mumkin.

Istasangiz sizni oʻzim referal qilib berishim mumkin.

Imkoniyatdan foydalanib qolish zarur.

Ha aytgancha agar sizda eng kamida 2-3 yil tajriba boʻlsa shu sohada, nur ustiga aʼlo nur.

Me: @Nodir_khan
🔥5👍2
Microsoft Community Conf 2025 qatnashayotganlar diqqatiga!

Agar menga oʻsha muhit atmosferasini beradigan yoki kreativ yondoshilgan rasm vodeo boʻlsa tashlasangiz, shu yerda ulashaman. Esdalik sifatida qoladi.

Me: @Nodirkhan
👍6
Konferensiya boshlangan ekan.
Taasurotlaringizni ulashmoqchi boʻlib fikrlaringizni yozsangiz ham shu yerda ulashaman.

Aytgancha surat @zxz_023 tomonidan olindi
👍5🔥1
@thee_sukhrob dan bugungi kundan suratlar
👍2
OpenAI
🤯21
0 dan boshlovchi guruhimiz 2-hafta o'qishni boshlashdi. Ingliz tili darajasi pastroq bo'lgan guruh a'zolari uchun qo'shimcha ingliz tili darslari ham qoydik. Kurs narxini o'zgartimadik.

Juniordan boshlovchi guruhda ham 10 lab qiziquvchilar bo'ldi va ular bilan alohida interyu qilib qabul qilishni reja qilganman. Barcha qiziquvchilarga yozib chiqdim. Endi intervyu sanalarini belgilash uchun qayta aloqaga chiqaman dushanba kunidan boshlab.

Agar ikkala guruhdan ham qolib ketgan bo'lsangiz, @ElbekDeveloper ga aloqaga chiqishingiz mumkin.
👍5
Junior to Middle darslarimiz Shanba kunidan boshlanadi. Guruhda 7 kishi yi'gildi. 3 kishi uchun joy bor.

Yangi 0 dan boshlovchi guruhga qiziquvchilarga ertadan qayta aloqaga chiqishni boshlayman.

P.S. Kanalda ta'limiy kontentni ko'paytirish rejasini tuzyapmiz. Undan oldin bir tanishib olsak - agar darslarimizdan foyda olgan bo'lsangiz, darajangiz qanday, qayerda o'qiyapsiz, aytib o'tsangiz. Biz kuzatuvchilarimiz bilan yaqin aloqa o'rnatishga juda qiziqamiz.
🔥3👍2
Qarzimiz bor 🪙

Rasmda ko'rib turgan inson Tim Berners-Lee. 1989-yil 12-Mart kuni uzoqdagi server va kompyuteri orasida aloqani yo'lga qoyadi. Bu aloqa HTTP kliyenti asosida amalga oshiriladi. Ha, bu inson hammamizga ma'lum HTTP protokoli yaratuvchi.

Eng qiziq tomoni, agar u bu ixtironi patentlab "soqqani bosganida", dunyo butunlay boshqacha bo'lar edi.

Wikipediada batafsil o'qishni tavsiya qilaman.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15
O'tgan haftadagi ishim BackgroundJobs bilan bog'liq edi.
Bunda asosiy mantiq , databasedan foydalanuvchilardan kelgan so'rovlarni
yaratilgan muddatiga qarab olib kelish kerak edi. Har bir so'rovga javob berish vaqti 24 soatdan oshmasligi kerak. Agar so'rov yaratilganiga 20 soatdan oshsa, shu so'rovga biriktirilgan adminga Ogohlantirish haqida xabar yuborishi, agar 24 soatdan oshsa Kechiikish xabarini berish kerak edi.

Bu narsa biznesda SLA Management - Service Level Agreement (Xizmat darajasi kelishuvi) asosida xizmatning qanchalik yaxshi bajarilayotganini nazorat qilish, o‘lchash va boshqarish jarayoni ekan.
SLA yaxshi yo'lga qo'yilgan tizimlarda xizmatlar 99.9% ga yaxshi ishlaydi, sababi uning statusi doimiy ko'rinib turadi va ogohlantirish keladi.

Ana endi masalaning texnik tomoniga o'tsak.
BackgroundJobs haqida eshitganimda, bir servis yozish va shu service aytaylik har 5 minutga databasega borib, filterlash orqali kerakli ma'lumotni olib kelishni o'ylayotgan edim. Lekin mendan oldingi ishlarni ko'rsam umuman servislarni Schedule qilmagan ekan. Aksincha ular modelning o'zini schedule qilar ekan. Yangi so'rov yaratilganda uning ogohlantirish va kechikish vaqtlari oldindan rejalashtiriladi. Agar so'rovni hech kim yopmasa, xabarlar yetkazilinadi, yopilsa esa boyagi rejalashtirilgan modellar o'chib ketadi. Juda zo'r yechim. Xuddi ishlash mexanizmi Message Broker ga o'xshaydi, yani Queue mexanizmiga.

Muammo esa Hangfire va Redis orqali hal qilingan.
Oldin faqat Asp.Net Core ning native servislaridan va Coraveldan foydalanganim uchun, bu yo'l men uchun o'zgacha fikrlashni o'rgatdi.
Hangfire bilan ham BackgroundJobs va Queue menejmentni zo'r yo'lga qo'ysa bo'lar ekan.

Shunaqa gaplar
👍96🔥2