CodeVerce
64 subscribers
70 photos
6 videos
10 files
66 links
Darslar • Maqolalar • Kodlar
admin: @dinMuhammad05
Download Telegram
DinMuhammad
Assalomu alaykum,  hurmatli o'quvchilar yaxshimisizlar, o'qishlar yaxshimi? Python, OOP, SQL bo'yicha onlayn dars bermoqchiman. Kelishni imkoni yo'q onlayn o'qimoqchi bo'lgan tanishlar bo'lsa, habar berib qo'ysangiz. Oflayn o'qimoqchi bo'lganlar Najot Ta'limga…
ustozimning ancha yillik tajribalari bor, nafaqat dasturlash balki dasturchilarga juda zarur bo'lgan ko'nikmalarni egallashangizga ishonaman!

Agar imkoniyatim bolganida qaytadan ustozimni darslariga qatnashgan bo'lar edim!
Forwarded from Botir Ziyatov
AI tufayli odamlar veb-saytlarga kamroq kirmoqda.

Google "AI qidiruv xulosalari" ni 2023-yil may oyidan boshlab sinab ko‘rishni boshlagan edi.
hozirda esa har 5 qidiruvdan bittasida AI javobi bilan chiqadi.

Bu Veb-saytlar uchun bu yomon yangilik.

Google o‘zining AI xulosalari bilan qidiruv tajribasini "yaxshilayapmiz" deydi,
lekin aslida bu boshqa saytlardan trafikni tortib olib va odamlarni o‘z platformasida ushlab qolmoqda.

Eng yomon tomoni, odamlar AI javobiga ishonib, boshqa manbalarni tekshirishni to‘xtatyapti.
Bu esa noto‘g‘ri ma'lumotlarning tarqalishiga olib kelishi mumkin, chunki AI xato qilishi mumkin.

@botirziyatov
Forwarded from Jakhongir Rakhmonov - IT
Yaqinda Replit kompaniyasining AI agenti production databaseni o’chirib yuboribdi.

Hamma Replit va AI ni ayblab yotibdi.

Ha, ularda ham ayb bor lekin eng katta ayb bularning o’zida. “Principle of Least Privilege” degan narsa bekorga bor emas. Tizimni ishlatadigan barcha barchaga faqatgina eng kerakli “huquq” larni berish kerak holos.

Yani u AI agent bo’ladimi, junior dasturchi bo’ladimi, principal dasturchi bo’ladimi faqatgina eng minimal ruhsatlar berilishi kerak. Database ni admin sifatida boshqarish (va natijada o’chirib yuborishga ruhsat bo’lishi) hech kimga berilmagan bo’lishi kerak.

Kompaniya birinchi o’rinda o’zi aybdor. AI ishlatishsin, lekin zarur bo’lgan security tamoyillarini yoddan chiqarmaslik kerak.

@jakhonrakhmonov
Forwarded from Azimjon's Fikrlog
Sog’lom bo’lish qiyin.
Kasal bo’lish undanda qiyin.

Boy bo’lish qiyin.
Kambag’al bo’lish undanda qiyin.

Ilm olish qiyin.
Bilimsizlik undanda qiyin.

Ba’zida qaysi qiyinni tanlash o’zimiz qo’limizda.

Tanlang.
Forwarded from Botir Ziyatov
Medium.com bosh direktori uzun maqola yozib, 2022-yilda ular bankrot bo‘lish arafasida bo‘lganini ochiq aytdi.

«Har oyda 2.6 million dollar yo‘qotayotgan edik.»

Bu ajabnarli emas: "Hozir matnli saytlarni yashashi qiyin. hozir qisqa videolar davri"

"platformada bema'ni maqolalar ko‘payib borayotgan vaqt. Investorlar ham pul tikishni xohlamayotgan, bizni sotib oladigan ham yo‘q."

Biz yana bir bor urinib ko‘rishga qaror qildik, agar yo‘l topa olmasak, yopamiz.

Ular qilish mumkin bo‘lgan barcha ishlarni qilishdi, ularni qanday qilganini bilish foydali.

Xodimlarni qisqartirish
Ishchilar soni 250 kishi bo‘lgan, hozir 77 kishi - 70% ga kamaytirilgan.
"Agar 250 kishi qolganinimda, biz albatta bankrot bo‘lar edik."

Ofisdan voz kechish
Ilgari San-Fransiskoda 120 kishilik ofis ijaraga olingan edi, oylik 145 ming dollar.
Endi ofislardan butunlay voz kechilib, yiliga million dollar tejab qolindi.

• Uydan ishlash
Pandemiya davrida hamma uydan ishlagan. Pandemiya tugagach, shunday ishlash mumkinligi va pul tejashini ko‘rib, shu tarzda ishlashda davom etishdi.

• Biznesni qayta tashkil etish

Kam foyda keltiradigan va qimmatga tushadigan barcha ishlar bekor qilindi. Ilgari yuqori sifatli kontent yaratadigan maxsus tahririyat guruhi bor edi. Lekin haqiqat shuki, sifatli kontentga kamroq odam qiziqadi.

• Qarzni qayta ko‘rib chiqish
Ularda investorlardan olingan 37 million dollar qarz bor edi, uni qaytarish imkoni yo‘q edi.
Shunda investorlar bilan muzokaralar olib borishdi: "birinchi bo‘lib pul olish" huquqini bekor qilishdi.

• Xodimlarning ulushlarini qayta ko‘rib chiqish

Medium shu ishlar orqali kompaniyani saqlab qolgan.

@botirziyatov
Forwarded from Botir Ziyatov
Google "Opal" nomli yangi vositani test qilmoqda, oddiy so‘zlar bilan veb dasturlar tuzish imkonini beradi

Foydalanuvchi shunchaki o‘zi xohlagan ilova haqida tasvirlab bersa, Opal Googlening turli modellaridan foydalanib uni yasab beradi.

Opal ishlab chiqgan ilovalarni internetga joylash va boshqalar bilan ulashish imkoniyatini beradi.

Hozircha Amerika foydalanuvchilari Google Labs orqali tajriba qilishlari mumkin.

@botirziyatov
# Identifikatsiya, Autentifikatsiya va Avtorizatsiya Tushunchalari

## Asosiy Tushunchalar

### 1. Identifikatsiya (Identification)
Ta'rifi: Foydalanuvchi o'zini kim ekanligini bildirish jarayoni.

Misol:
- Foydalanuvchi nomi (username) kiritish
- Email manzil ko'rsatish
- ID raqam berish

Siz bankomatga boring va kartangizni qo'yasiz - bu identifikatsiya, chunki siz "Men Ahmadman" deb aytyapsiz.

### 2. Autentifikatsiya (Authentication)
Ta'rifi: Foydalanuvchi haqiqatan ham o'zi deb da'vo qilayotgan shaxs ekanligini tasdiqlash jarayoni.

Misol:
- Parol kiritish
- Barmoq izi skanerlash
- Yuz tanish teknologiyasi

Bankomatda kartangizni qo'ygandan keyin PIN kod kiritasiz - bu autentifikatsiya, ya'ni "Ha, men haqiqatan Ahmadman" deb isbotlaysiz.

### 3. Avtorizatsiya (Authorization)
Ta'rifi: Tasdiqlangan foydalanuvchiga nimalarni qilishga ruxsat berilganligini aniqlash jarayoni.

Misol:
- Fayl o'qish/yozish huquqlari
- Ma'lum sahifalarga kirish imkoniyati
- Ma'lum funksiyalardan foydalanish

PIN kodni to'g'ri kiritgandan keyin bankomat sizga "Siz 1 million so'm chiqarishingiz mumkin" deydi - bu avtorizatsiya.

---

## Autentifikatsiya Turlari

### 1. Bir Faktorli Autentifikatsiya (Single-Factor-Authentication)
Ta'rifi: Faqat bitta tasdiqlash usuli ishlatiladi.

Misol:
- Faqat parol
- Faqat barmoq izi
- Faqat smart karta

Afzalliklari:
- Sodda va tez
- Kam xarajat talab qiladi

Kamchiliklari:
- Past xavfsizlik darajasi
- Parol o'g'irlansa, hamma narsa xavf ostida

### 2. Ikki Faktorli Autentifikatsiya (Two-Factor Authentication - 2FA)
Ta'rifi: Ikki xil tasdiqlash usuli ishlatiladi.

Misol:
- Parol + SMS kod
- Parol + barmoq izi
- Karta + PIN kod

Faktorlar turlari:
1. Bilgan narsangiz (Something you know): parol, PIN
2. Ega bo'lgan narsangiz (Something you have): telefon, karta
3. O'zingizning xususiyatingiz (Something you are): barmoq izi, yuz

### 3. Ko'p Faktorli Autentifikatsiya (Multi-Factor Authentication - MFA)
Ta'rifi: Ikki yoki undan ko'p tasdiqlash usuli ishlatiladi.

Misol:
- Parol + SMS + barmoq izi
- Karta + PIN + yuz tanish
- Parol + ilova kodi + ovoz tanish

---

## OTP va TOTP

### OTP (One-Time Password)
Ta'rifi: Faqat bir marta ishlatila oladigan parol.

Xususiyatlari:
- Har safar yangi kod
- Ma'lum vaqt ichida amal qiladi
- Takrorlanmaydi

Misol: Bankdan kelgan SMS dagi 6 raqamli kod

### TOTP (Time-based One-Time Password)
Ta'rifi: Vaqtga bog'liq holda yaratilgan bir martalik parol.

Qanday ishlaydi:
1. Har 30-60 sekund yangilanadi
2. Maxsus algoritm orqali yaratiladi
3. Server va mijoz bir xil vaqtni ishlatadi

Misol: Google Authenticator, Authy ilovalari

Afzalliklari:
- Internet kerak emas
- Juda xavfsiz
- Tez ishlaydi

---

## OpenID

### OpenID nima?
Ta'rifi: Bir marta ro'yxatdan o'tib, ko'plab saytlarda foydalanish imkonini beruvchi texnologiya.

### Qanday ishlaydi?
1. Siz Google/Facebook/Apple orqali ro'yxatdan o'tasiz
2. Boshqa saytlarga kirishda "Google orqali kirish" tugmasini bosasiz
3. Google sizni tasdiqlaydi
4. Sayt sizni qabul qiladi

### Afzalliklari:
- Ko'p parol eslab qolish kerak emas
- Tez va qulay
- Xavfsizroq (katta kompaniyalar yaxshi himoya qiladi)

### Kamchiliklari:
- Asosiy hisob buzilsa, hamma narsaga ta'sir qiladi
- Shaxsiy ma'lumotlar kuzatilishi mumkin

---

## Session (Sessiya)

### Session nima?
Ta'rifi: Foydalanuvchi saytga kirgandan chiqguncha davom etadigan vaqt oralig'i.

### Qanday ishlaydi?
1. Siz saytga kirasiz (login qilasiz)
2. Server sizga maxsus ID (session ID) beradi
3. Bu ID cookie sifatida saqlanadi
4. Har safar sahifa ochganingizda bu ID jo'natiladi
5. Server bu ID orqali sizni taniydi

### Session turlari:
1. Server-side session: Ma'lumotlar serverda saqlanadi
2. Client-side session: Ma'lumotlar brauzerda saqlanadi
3. Distributed session: Bir nechta serverda saqlanadi
### Session xavfsizligi:
- Session hijacking: Boshqa odam sizning session ID ni o'g'irlashi
- Session fixation: Hujumchi oldindan session ID o'rnatishi
- Session timeout: Ma'lum vaqtdan keyin session o'chishi

### Himoya usullari:
- HTTPS ishlatish
- Session ID ni muntazam yangilash
- Timeout o'rnatish
- IP manzil tekshirish

---

## Amaliy Misollar

### Bank tizimi:
1. Identifikatsiya: Karta kiritish
2. Autentifikatsiya: PIN kod + barmoq izi
3. Avtorizatsiya: Balansni ko'rish, pul chiqarish ruxsati
4. Session: Tranzaksiya davomida faollik

### Email xizmati:
1. Identifikatsiya: Email manzil
2. Autentifikatsiya: Parol + SMS kod
3. Avtorizatsiya: Inbox, yuborish, o'chirish huquqlari
4. Session: Kirganingizdan chiqguncha faollik

### Mobil ilova:
1. Identifikatsiya: Telefon raqam
2. Autentifikatsiya: OTP kod + biometric
3. Avtorizatsiya: Profil, sozlamalar, to'lov huquqlari
4. Session: Ilovada faol bo'lish vaqti

Bu tushunchalar zamonaviy axborot xavfsizligining asosini tashkil etadi va har bir dasturchi uchun juda muhimdir.
Data Structure-larni
Big O

notatsiyasi bo'yicha qisqacha taqqoslash
https://leetcode.com/problems/add-binary
kki ikkilik satr a va b berilgan bo'lsa, ularning yig'indisini binary string sifatidab qaytaring .
1-misol:
Kirish: a = "11", b = "1"
Chiqish: "100"
2-misol:
Kirish: a = "1010", b = "1011"
Chiqish: "10101"

#leetCode
📌 0b prefiks nimani bildiradi?
JavaScript’da:
0b — ikkilik son (binary) ekanini bildiradi.
0x — o‘n oltilik (hexadecimal)
0o — sakkizlik (octal)
Hech narsa bo‘lmasa — bu o‘nlik (decimal)
Masalan:
BigInt("0b1010") // => 10n

Bu 1010 binary sonini o‘nlikka aylantirib, BigInt turiga o‘tkazadi.
1-qadam: 0b${a} va 0b${b}
Bu yerda:

a va b — ikkilik (binary) ko‘rinishdagi matnlar (masalan, "1010", "110").

0b${a} — bu matnni binary son sifatida tanitish uchun ishlatiladi.

Masalan: 0b1010 → 10 (o‘nlikda)

2-qadam: BigInt(...)
BigInt("0b1010") — bu binary stringni katta son (BigInt) ko‘rinishiga o‘tkazadi.

Biz bu yerda ikkita sonni: BigInt(aBin) + BigInt(bBin) yig‘amiz.

3-qadam: .toString(2)
Bu yerda natijani yana binary formatga o‘tkazamiz.

Masalan:
16n.toString(2) → "10000"

🎯 Xulosa:
Bu kod a va b degan ikkilik matnlarni oladi, ularni binary son sifatida yig‘adi, va natijani yana binary string sifatida qaytaradi.
(10).toString()     // "10" — default, o‘nlik
(10).toString(2) // "1010" — ikkilik (binary)
(10).toString(16) // "a" — o‘n oltilik (hex)
(10).toString(8) // "12" — sakkizlik (octal)
leetcodeeni soxta baholash tizimidan 10/9.26 ball oldim .
Soxta baholash tizimida 3-ta letcodee masala 3-ta darajadan beriladi
leetcode 70-masala yechildi
Easy
48/888
Med.
18/1893
Hard
4/859
Forwarded from Dr. Algorithm
Talabnoma

Shu hafta ajoyib voqea bo‘ldi. Yoshlar bilan o‘tirib turli loyihalar haqida gaplashdik. Maqsad shaxsiy loyiha qilishni o‘rganish edi.

Loyihalardan biri Telegamda bot yasash mavzusida edi. Man bitta gap bilan qisqa mazmunini yozgan edim.

Ertasiga guruhda loyihani tugatganini aytib qoldi. Kodini ko‘rsatishni so‘radim. Telegram botning kodi. Ishlaydigan kod.

Kod yoza olgani uchun xursand bo‘ldim. Lekin masalaning mohiyatini tushunmasdan qilgani uchun xafa edim. Chunki u yasagan bot umuman boshqa mavzuda edi.

~~

Requirement gathering

Kuzatuvlarim shuni bermoqda: Bizda talabni bilmasdan kod yozishga o‘tib ketish juda ko‘p ekan.

Loyiha olish vaqtida albatta uni qilishni o‘ylamang. Uning talablarini o‘rganing.

Mizojga aslida nima kerak ekanini aniq so‘rab oling. Sizning taxminlar bilan mijozning xohishlari mos kelmaydi.


Mabodo mos kelib qolsa, omadli ekansiz, Omad shou o‘ynaydigan holat bo‘libdi, deyman.

Loyiha boshlashda birinchi shart:
1. Mijozning talablarini o‘rganish.


Buni faqat talaba dasturchilar emas, ishlab turgan dasturchi jamoalarda ham kuzatdim. Nasib qilsa endi ular ham o‘zgarishadi. Chunki biz talablarni o‘rganishni boshlasak, biznes egasi bizga aniq talablarni berishni boshlaydi. Bizga ham, unga ham oson bo‘ladi.

~~

P.S. Har bir post rasmli bo‘lsa qiziq tuyuladi. Shunga rasmda 2-Jahon urushining eng katta kashfiyotlaridan biri, Enigma mashinasini qo‘ydim. Bu shifrlash sohasida qilingan ulkan yutuqlardan biri.

Angliya Harbiy Havo kuchlari muzeyiga borganda ko‘rgan edim. Bu 2 marta rostakam Enigma mashinasini ko‘rishim. O‘zbekistonda Aloqa muzeyida ham bitta bo‘lishi kerak.

Kuningiz xayrli o‘tsin. Rejalaringiz unumli bajarilsin.

05.08.2025 London
@DrAlgorithm
bu qoida nafaqat biror dastur yaratishda balki algorithmik masalalarini yechishda ham qo'llanishi kerak.
Masala shartini tushunish yechimning 80 foizidir