ProC#
11 subscribers
8 photos
2 videos
19 links
C# .Net
Avalonia New
MAUI
.Net Core
WPF
UWP
...
Download Telegram
Barchangizga Sayyidul Ayyom muborak
🎉5
Kayfiyatni ko'taramiz

https://t.iss.one/procsh_uz
😁3
ProC#
#KISS #keep_it_simple_stupid https://t.iss.one/procsh_uz
#KISS

AyTi sohasiga endigini kirib kelgan odam uchun bu so'z boshqacha tuyulishi mumkin. Aslida esa bu " design and development principle ".
KISS so'zi to'rtta so'zning bosh harflari bo'lib, bular " Keep It Simple, Stupid " yani " Oddiylikni saqla , axmoq " degan manoni anglatadi.
Bu principle nima uchun kerak bo'lib qoldi? Oddiylik nima uchun kerak ?
Sababi ham o'ziga o'hshab oddiy. Misol uchun siz code yozdingiz va u malum bir qiyinlik darjasida va biroz tartibsiz. Agar siz yozgan code ni boshqa bir dasturchi tushunmasa yoki analiz qilish uchun ko'proq vaqt sarflaydigon bo'lsa bu u dasturchining emas, Sizning aybingiz bo'lishi ham mumkin. Chunki siz code ni oddiy va tartiblik, bir korishda nima bo'layotganini emas balki code ishlasa bo'ldi usulidan foydalangan bo'lishingiz mumkin.
Etibor bering har bir inson turlicha, turli fikrlaydi va logika tomondan ham shunday.Shunday ekan qiyin logikani joyi kelganda foydalaning. Oddiy funksiya uchun ham qiyin logika shart emas!
Bu nega kerak? o'zim tushunsam bo'di, kerak bo'lsa qidirib vaqt sarflab topadida deyishingiz mumkin. Lekin bu ' principle ' sizni saviyangizni va jamoaviy ishlash imkonyatingizni qay darajada ekanligini belgilab beradi.
Hozir sizlarga ' code ' isboti bilan ko'rsatib beraman.

Bu KISS ga amal qilingan code:
string s = "Hello, World!";
Console.WriteLine(s);


Bu esa yo'q lekin natija bir hil:
string s = "Hello, World!";
for (var i = 0; i < s.Length; i++)
{
Console.Write(s[i]);
}


To'g'ri "example" lar oddiy bo'lgan bo'lishi mumkin lekin bu AyTi ga endi kirib kelyotganlarning ham tushunishi oddiy bo'lishi uchun. Postni do'stlaringizga ham ulashib qo'ying.

https://t.iss.one/procsh_uz
👍3
#DRY
Dont_Repeat_Yourself



https://t.iss.one/procsh_uz
ProC#
#DRY Dont_Repeat_Yourself https://t.iss.one/procsh_uz
#DRY

Assalomu alekum hammaga.
Bu principle ga keladigon bo'lsak. DRY so'zi to'g'ridan to'g'ri tarjima qilinsa quruq degan ma'noni bildiradi.BU muhim emas!
Asil manosi esa 3 ta so'zdan iborat.
DRY - Don't Repeat Yourself

Nu AyTi da yangilar uchun bu so'z aniq mavhum bo'lishligi aniq.
Sababi oddiy shunchaki tarjima qiladigon bo'lsangiz " O'zingizni takrorlamang " degan ma'no kelib chiqadi.Uzoq cho'zilmagan holda , aniqlik kiritishni boshlaymiz.
DRY nima va nimaga kerak?
DRY bu Design principle

DRY ni ' code ' ishlatish ish samaradorlig va ' code ' ni qisqa bo'shlishligi bilan ortiqcha vaqt ketgazishni oldini oladi. Agar siz ' principle ' dan bilib turib ham foydalanmas ekansiz unda sizning sabringizga qoyil qolishdan iloji yo'q va shu bilan sizni o'zingizning saviyangiz va darajangizni shunchaki yerga urib qo'ygande bo'lasiz holos.
Sizga hayotiy oddiy misol keltiraman. Siz kunda ertlab turib yugurishga chiqish niyatida budulnik qo'yasiz tahminan 06:00 ga desak. Siz bu ishni har kuni kech payt uhlashdan oldin qilasz. Hop agar shuni har kunlik rejimga qo'yib qo'ysa nima boladi. Yo'q bolmaydi sababi vaqtingizni tejab qolishingiz mumkin va har kuni kechga budulnik qo'yadigon an'anaga hilof ish qilgan bolishingiz mumkin.
Bi DRY ga yaqqol misol.
Code da tushuntiradigon bolsam. Bir loyiha boshladingiz va bu holatda siz eng ko'p ishlatadigon logikaviy qismini bir funksiya qilib olib chiqish desak adashmagan bo'lamiz. ' Code ' kerak bo'lganda funksiyani chaqirasiz tamom. Bu holatda asosiysi vaqtdan anchagina yutasiz.
" Men sabrliman. Qachon kerak bo'lsa yozaveraman " deydigonlar uchun bir savol bor. Agar o'sha logikaga o'zgartirish kerak bo'lib qolsa, nima qilasz? Aytaylik uni 1000 ta joyda ishlatgansiz.
Ha bu holatga tushganizda DRY ni nima uchun taqbiq etishganini tushunib yetasz.Sababi agar o'zgartirish kerak bo'lib qolganda shunchaki funksiyani o'zgartirasiz tamom. 1000 ta joydami 2000 ta joydami farqi yo hammasi o'zgardi tamam.
Shunday ekan bu kerak emas menga demasdan kerak bo'lib qolishi mumkin deb o'rganib oling!

https://t.iss.one/procsh_uz
👍1🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
#Жума_муборак

🌙🌹АССАЛОМУ АЛАЙКУМ
Жума айёми муборак бўлсин ҚАДРДОНЛАРИМ

Азиз диндошим Жуманинг файзи ва барокати сизга бўлсин

🌙 Энг яқин инсоним кириб келган “Жума” куни муборак бўлсин.

❗️ЯҚИНЛАРИНГИЗНИ БИРИНЧИЛАРДАН БЎЛИБ ТАБРИКЛАНГ

👉https://t.iss.one/procsh_uz
ProC#
#YAGNI https://t.iss.one/procsh_uz
#YAGNI

Bu so'zni eshitgan odam kattaroq narsamikn degan hayolga borishi mumkin.Shunday desa ham bo'ladi. Sababi documentatsiyalarni o'qib tushunish biroz qiyinlik qilishi mumkin.
Bugun sizlar bilan en kerakli ' principle ' lardan biri YAGNI bilan batafsil tanishib chiqamiz.
YAGNI nima?
Nimaga kerak?
Asosiy shu ikki savolga javob topamiz.
YAGNI bu - Design Principle

Kengaytmasi esa
You aren't gonna need it

ya'ni " bu senga ortiq kerak emas " degan ma'noni beradi.
Hayotdan misol qilib tushuntirishga harakat qilaman. Siz uy quryapsiz, Uyingizning davomidan yana 1 2 xona yangi qoshishni reja qilyapsiz deylik.
Qachonligi no'malum va o'ylayabsiz . Agar yana 1 2 hona qo'shadigon bolsam tawqaridan emas hozirgi qurgan uyimni ichidan o'tadigon boladi deb. Siz bu holatda nima qilasiz? Eshik qo'yib ketasizmi. 1 ta honaga 2 ta tomondan kiriladigon qilib.
To'g'ri qoyilmedi agar kerak bo'lsa o'sha payt eshik ochib qo'yiloradi.

Bu YAGNI ga yaqqol misol bola oladi.
Ya'ni sizga hozrgi holatda kerak emasmi demak uni ishlatmang, yozmang. Kelajak da kerak bolib qoladi demang. misol uchun Siz yozgan funksiya hech qayerda ishlatimagan shunchaki turibdi. Bu hotin olib birga yashamagandek gap emasmi .😁
Qisqacha qilib aytadigon bo'lsak. Kerakli narsani yoz, ishlat. Kelajakdegi ishlarni kelajakdagilarga qo'yib ber. Ular o'zlari yozisha oladi.

Yaqinlarga ham ulashib qo'ying:
https://t.iss.one/procsh_uz
🔥4
#SOLID

Bu nima?
Shunchaki tarjima qilinadigon bo'lsa ' qattiq jism ' ma'nosini beradi.
Hha bu ham qolganlariga o'hshab bir principle ni qisqartmasi deysizmi ?
Adashasiz !
To'g'ri bu ham principle lekin bitta emas beshta principle ning bosh harflatining birlashmasi. Hha to'g'ri eshitdingiz.
Bular qaysilar deyisizmi?
Bular:
1) Single Responsibility Principle
2) Open-Closed Principle
3) Liskov Substitution Principle
4) Interface Segregation Principle
5) Dependence Inversion Principle


Bular nima uchun kerak degan savolga, birma-bir alohida post yozaman.

https://t.iss.one/procsh_uz
🔥1
ProC#
#Single_Responsibility_Principle #SRP https://t.iss.one/procsh_uz
#Single_Responsibility_Principle
#SRP


Assalomu alekum hammaga!
Ahvollar joyidami?
Agar ' hha ' bo'ladigon bo'lsa boshlaymiz.
Bugungi o'rganadigon principle miz Single Responsibility principle .
Bu principle nima uchun kerak?
ho'p miyyani qotirmasdan oddiy qilib sizlarga tushuntirishga harakat qilaman.
Hamma Shvetsariya pichoqi haqida eshitgan bo'lsa kerak u pichoqda yo'q narsani o'zi yo'q. Deyarli hamma narsani topsa bo'ladi. Huddi shu pichoq bizning principle ga zid ravishda ishlab chiqarilgan. Pichoqni bitta vazifasi bor holos menimcha.
Principle ning asosiy maqsadi har bir narsa o'z ishini qilish ya'ni arra faqat arralash uchun, pichoq faqat kesish uchun ishlashi kerak.
To'g'ri hayotiy narsalar qulaylik olib kelishi mumkin lekin code da bu o'ta tartibsizlik, code ni tushunmaslik, chambarchas bog'liklarni olib kelishi mumkin.

Principle dan kelib chiqadigon bo'lsak. Har bir class, funksiya hullas dastur davomida ishlatadigon jamiki narsalariz bir maqsad yolida bir narsa uchun ishlashi kerak bo'ladi.
Huddi qasamyod qabul qilgandek bolib qolmadimi 😅, hha mayli.
SRP ga amal qilingan narsalarga yaqqol misol bu sizning klaviaturangiz. Sababi bitta tugma yo bitta tugmalar combinatorikasi bitta ishni bajaradi.

Buni faqat code da emas hayotda qo'llash ham ancha foydali.
shunda ba'zi ' aqillar' ga o'hshab vilkada sho'rva ichishni sinab ko'rmaysiz 😉.

SRP tushunarli bo'ldi degan umiddaman. Tanishlarga yuborish esdan chiqmadin!

https://t.iss.one/procsh_uz
🔥5
😁2
This media is not supported in your browser
VIEW IN TELEGRAM
#Жума_муборак

🌙🌹АССАЛОМУ АЛАЙКУМ
Жума айёми муборак бўлсин ҚАДРДОНЛАРИМ

Азиз диндошим Жуманинг файзи ва барокати сизга бўлсин

🌙 Энг яқин инсоним кириб келган “Жума” куни муборак бўлсин.


https://t.iss.one/procsh_uz
🎉2
Karampoor dan qisqacha va foydali tavsiyalar. Bu yangi boshlayotganlar uchun ancha kerak bo'ladi.



https://t.iss.one/procsh_uz
#algoritm => #IQ

Assalomu alekum
Ho'p dasturlashda algoritm qanchalik muhim? degan savolga javobni hamma bilsa kerak menmcha. Ammo hammaning mantiqan o'ylay olish qolish qobilyati unchalik rivojlanmagan bolishi mumkin va buni qanday kuchaytirish kerak. Buning uchun dasturlashni boshlang'ich darajada biladigonlar uchun Leetcode, ACMP , Robocontest yo shunga o'hshagan sitelar bir qancha. Ho'p dasturlashga kirmaganlar nima qilishi kerak degan savol paydo bo'ladi shu payt. Bunga javob esa matematika. Anu sinus cosinuslar emas balki masalalar, bu miyyani ortiqcha fikrlashga olib keladi va rivojlantiradi. Shuning uchun matematiklardan yaxshi dasturchilar chiqadi deyishadi. Menimcha ham shunday. Matematik masalalar umuman olganda mantiqga oid masalalar miyyani anchagina kengaytiradi. Bu har qanday darajadagi IT sohasi vakillari uchun qo'l keladi desak adashmagan bolamiz .
Shunday qilib sinus cosinus kerak emas ekan degan fikrni olg'a surib qolmanglar ularni ham kerakli joylari bor. Hozirda gap IQ ni rivojlantirishda ketoyatganligi uchungina etdim holos.
Yana bir gap IQ tabiiy ravishda baland bulishi mumkin , lekin bu kamdan kam hollarda kuzatiladi.
Xa aytgancha shunday insonlar bilan raqobat qilish kerak. Yutish qiyin lekin anchagina o'sish mumkin.


https://t.iss.one/procsh_uz
Algo Vision
Voice message
Shuday qilamiz
This media is not supported in your browser
VIEW IN TELEGRAM
QuestPDF - .NETda PDF yaratish
QuestPDF PDF hujjatlarini yaratish uchun ochiq manbali .NET kutubxonasi. Qisqa va qulay C# Fluent API asosidagi keng qamrovli tartib mexanizmini taklif etadi.
PDF hisobotlari va har qanday hujjatlarni osongina yaratish imkonini beradi.

GitHub
🔥1
Forwarded from Vohid Karimov (Vohid Karimov)
O'zim ham shunday maktablarni birida o'qiganim va universitetda ham toza Computer Science o'qimaganim tufayli ko'p Math va Computer Science bilimlarni o'zim online resurslardan o'rganaman. Bugun silar bilan o'zimga yoqqan resurslar bilan ulashaman. Kettik:

1. The essence of calculus: YouTube
2. Linear algebra: MIT Website
3. Discrete math: YouTube
4. Probability and combinatorics: Coursera
5. Introduction to Algorithms: MIT Website
6. Operating systems: Archive
7. Networking: Khan Academy Website

Yana, quyidagi YouTube kanallar va GitHub repolarni tavsiya qilaman:

1. 3Blue1Brown
2. Eddie Woo
3. Khan Academy
4. MIT OpenCourseWare
5. BrilliantOrg
6. Coding Interview University
7. Awesome courses

Siz ham o'zingizga yoqgan resurslarni ulashing!

#Coding #ComputerScience #CS #ProblemSolving #Dasturlash #Programming #SoftwareEngineering #IT