Nurmuhammad
122 subscribers
54 photos
8 videos
7 files
34 links
๐Ÿ‘จโ€๐Ÿ’ป Go & Python Developer | 2years of experience
๐Ÿ“ก Networking & CCTV Specialist | 3+ years
๐ŸŽ“ Student at PDP University 2/4
๐Ÿซ Completed 1 year at TUIT (TATU)
๐Ÿš€ Tech enthusiast | Always learning
Download Telegram
Qanchonki modeling 100% toโ€™gโ€™ri ishlasa
3๐Ÿ˜6๐Ÿ‘2๐Ÿ’‹2๐Ÿ”ฅ1๐Ÿ“1
Nurmuhammad
Bugungi kun odatdagisidan farq qiladigan kun bo'ldi. Mayli kayfiyatni tushurmaymiz kelasi hafta bular to'g'irlanadi xudo xohlasa.
Cho'zilib kettdi lekin hozircha yaxshi ketayabdi oxrigacha ham shunday bo'lsinda ish qilib uzog'i shanba kunigacha hal bo'ladi hammasi.
1โค2๐Ÿฅฐ1๐Ÿ’‹1
image_2025-06-18_15-13-47.png
66.9 KB
Amalladim ๐Ÿค

Distinction = 5
Merit = 4
Pass = 3
๐Ÿ‘12๐Ÿ’‹3๐Ÿฅฐ2
Please open Telegram to view this post
VIEW IN TELEGRAM
1๐Ÿ‘8
Forwarded from Hady | Cyber&English
- O'chirilgan fayllar qayerga ketadi?
- hech qayerga, shunchaki ularga murojaat qilish yo'li unutiladi, ya'ni o'chirgan fayllarimiz savatdan o'chirib tashlasak ham o'chib ketmaydi.
- Xotira qanday sig'diradi unda?
- xotira katta blackboardga o'xshaydi. Fayllarni o'chirganda, tizim o'sha fayl "blackboard"ning qayerida ekanligini unutadi, keyin siz uni topolmasligingiz uchun. Ammo, yaxshilab kavlasa, topiladi, agar --- o'sha fayl yozilgan xotira maydoni ustiga yangi ma'lumot yozilmagan bo'lsa. Ya'ni, xotiradan nimanidir astoydil, haqiqatan o'chirish uchun o'chirish emas, xotiraning har bir bandini axborot bilan to'ldirish kerak. Shunda, o'chirilgan fayl butkul yo'q bo'lib ketish ehtimoli bor.
- Nega ehtimoli bor, butunlay yo'qolish emas?
- chunki xotira maydonida "bad sector" nomli qayta ishlatib bo'lmaydigan jabhalar yuzaga keladi, u yerga yo ma'lumot chin qalbdan chuqur iz qoldirib joylashib oladi, yoki ishlatib bo'lmaydigan katakka aylanadi.
- Demak hech narsa o'chmaydi, yo'q bo'lmaydi?
- aynan, o'chmaydi, balki o'rnini boshqasiga bo'shatib beradi.


@hady_teaches and tells you: "Do not write a thing that you will regret for"
1๐Ÿ‘11โค4๐Ÿ’ฏ3๐Ÿฅฐ2โคโ€๐Ÿ”ฅ2๐Ÿ”ฅ1๐ŸŽ‰1๐Ÿณ1
Setupcha
1โšก9๐Ÿ’ฏ8๐Ÿ‘6๐Ÿ”ฅ63๐Ÿ‘Œ1๐Ÿณ1111
55444๐Ÿ‘1๐Ÿค11
Background ?
1๐Ÿ‘37๐Ÿฅฐ6โคโ€๐Ÿ”ฅ64โค333๐Ÿ”ฅ2๐Ÿ’ฏ2๐ŸŽ‰11
๐Ÿ Aiogram 3 nima?

Aiogram 3 โ€“ bu Python tilida yozilgan, Telegram Bot API bilan ishlash uchun asinxron (async/await) arxitekturaga asoslangan framework.
Uning asosiy afzalliklari:

๐ŸŒ€ Asinxron ishlash โ€“ yuqori tezlik va parallel requestlarni qayta ishlash.

๐Ÿงฉ Middleware โ€“ request/response oqimini boshqarish imkoniyati.

๐ŸŽ› Router โ€“ handlerlarni modulga boโ€˜lib yozish, scalabilityni osonlashtiradi.

๐Ÿ”— Dependency Injection โ€“ handlerlarga tashqi resurslarni (DB, cache) dinamik ulash.

๐Ÿ”น Telegram WebApp

Telegram WebApp โ€“ bu bot orqali foydalanuvchiga ichki Telegram brauzerda ochiladigan mini-ilova.
Masalan: toโ€˜lov tizimlari, interaktiv formalar yoki grafik interfeysli xizmatlar.

Qulayliklari:
โœ… Telegram ichida ishlaydi, foydalanuvchi tashqariga chiqmaydi.
โœ… Bot va WebApp oโ€˜rtasida real-time data exchange (postMessage API) ishlaydi.
โœ… Cross-platform (iOS, Android, Desktop) qoโ€˜llab-quvvatlanadi.

Kamchiliklari:
โŒ Cheklangan resurslar โ€“ faqat Telegram WebViewโ€™da ishlaydi.
โŒ Native ilovalarga qaraganda performance pastroq boโ€˜lishi mumkin.
โŒ Kesh va offline rejim imkoniyatlari cheklangan.

๐Ÿ”น Tezlik haqida

Aiogram 3 da asyncio ishlatilgani uchun 10 000+ request/sec yuklamalarda ham samarali ishlash imkoniyati bor.

WebApp esa foydalanuvchi qurilmasining browser dvijogiga bogโ€˜liq boโ€˜lib, tezlik front-end optimizatsiyasi va internet sifatiga koโ€˜proq taโ€™sir qiladi.

๐Ÿ“Œ Xulosa:
Agar siz samarali va modulli bot yozmoqchi boโ€˜lsangiz โ€“ Aiogram 3 ideal tanlov.
Agar foydalanuvchilarga interaktiv interfeys kerak boโ€˜lsa โ€“ WebApp yechimi qulay.

๐Ÿ‘‰ Bunday texnik kontentlarni doimiy olish uchun kanalimizga qoโ€˜shiling:
@gophersuz
Please open Telegram to view this post
VIEW IN TELEGRAM
1๐ŸŽ‰12โค6๐Ÿ”ฅ6๐Ÿ‘54๐Ÿฅฐ3๐Ÿ˜˜3โšก2โคโ€๐Ÿ”ฅ22๐Ÿ’‹1
image_2025-09-05_18-13-11.png
94.7 KB
๐Ÿ”ฅ5๐Ÿ’‹522โค1โคโ€๐Ÿ”ฅ1๐Ÿฅฐ1๐Ÿ“1๐Ÿ˜˜111
This media is not supported in your browser
VIEW IN TELEGRAM
Generator vs Function dasturlashda

Koโ€˜p dasturlash tillarida generator va oddiy funksiya* bir xil koโ€˜rinadi, lekin ular ishlash tamoyillari bilan farq qiladi.

๐Ÿ”นOddiy funksiya (Function)
Funksiya chaqirilganda hamma kodini bajarib boโ€˜lmagunchaishlaydi va oxirida natija qaytaradi.
Go tilida esa funksiya bir marta ishlaydi va qiymat qaytaradi.

๐Ÿ‘ฉโ€๐Ÿ’ป
package main

import "fmt"

// Oddiy funksiya
func Square(n int) int {
return n * n
}

func main() {
fmt.Println(Square(4)) // 16
fmt.Println(Square(7)) // 49
}


๐Ÿ‘‰ Bu yerda Square() har safar chaqirilsa, natija qaytaradi va tugaydi.


๐Ÿ”นGenerator (Iterativ natija beruvchi funksiya)
Goโ€™da Pythonโ€™dagi `yield` kabi generator yoโ€˜q. Lekin biz **channel
va goroutine yordamida generator kabi xulq-atvorni yaratishimiz mumkin.

๐Ÿ‘ฉโ€๐Ÿ’ป
package main

import "fmt"

// Generator misoli
func Counter(limit int) <-chan int {
ch := make(chan int)
go func() {
for i := 1; i <= limit; i++ {
ch <- i // qiymatlarni ketma-ket yuborish
}
close(ch)
}()
return ch
}

func main() {
for num := range Counter(5) {
fmt.Println(num)
}
}


๐Ÿ‘‰ Bu yerda Counter() oddiy funksiya emas, balki generatorga oโ€˜xshaydi. U har chaqirilganda emas, balki boshlangandan keyin ketma-ket qiymatlarni yuboradi.
โœ๏ธPost: @gophersuz
Please open Telegram to view this post
VIEW IN TELEGRAM
1โค4๐Ÿฅฐ3โคโ€๐Ÿ”ฅ3โšก2๐Ÿ‘2๐Ÿ”ฅ2๐ŸŽ‰22211
Keling bugun high logical tizimlarda ishlatiladigan API gateway haqida gaplashamiz. API Gateway oโ€™zi nima? Deydigan boโ€™lsak. API Gateway โ€” bu ilova yoki xizmatlar (microservices) orasida koโ€˜prik vazifasini bajaradigan vosita. U foydalanuvchi (client)dan kelgan barcha soโ€˜rovlarni qabul qiladi va toโ€˜gโ€˜ri xizmatga yoโ€˜naltiradi. Asosiy vazifalaridan biri Routing (yoโ€™naltirish) ๐Ÿ”„ Soโ€™rovlarni kerakli backend xizmatiga yetqazish. Rate limiting: Juda koโ€™p yoki shubhali, zararli soโ€™rovlarni blocklash. Monitorign va logging Trafikni kuzatish va log yigโ€™ish. Xoโ€™sh nimaga mikroservicelarda oโ€™rtada API Gatewaylar turishi kerak? Sababi arxitekturani soddalashtiradi, xavfsizlikni oshiradi, barcha API larni bitta connectionda boshqaraoladi.
Foydalanuvchi mobil ilovadan soโ€˜rov yuboradi โ†’ API Gateway uni qabul qiladi โ†’ tegishli microservice (masalan, auth, payment yoki product servisi)ga uzatadi โ†’ javobni qaytaradi. API Gateway โ€” bu barcha eshiklarni boshqaradigan โ€œkirish postasiโ€, u boโ€˜lmasa tizim tartibsiz boโ€˜lib ketadi.
@gophersuz
1๐Ÿ’ฏ5โšก2๐Ÿ’‹21111
Bank kartasi raqami koโ€˜pincha oddiygina raqamlar toโ€˜plamidek koโ€˜rinadi, lekin uning har bir boโ€˜lagi aniq vazifalarni bajarish xususiyatiga ega. Koโ€˜pchilik kredit kartalari 1960-yillardan beri bir xil algoritmdan foydalanadi va aynan shu algoritm tufayli tizimlar raqam to'g'ri yoki notog'ri kiritilganini ortiqcha harakatlarsiz aniqlay oladi.

Odatda karta raqamlari 15 va 19 orasidagi uzunlikka teng bo'ladi. Eng ko'p tarqalgan standart esa bu 16 xonalik raqamlar jamlanmasi hisoblanadi. Bunda birinchi raqam karta qaysi to'lov tizimiga tegishli ekanini ko'rsatsa (4 โ€” Visa, 5 yoki 2 โ€” MasterCard), xuddi shu tartibda 6-xonagacha bo'lgan raqamlar bilan BIN / IIN (Bank Identification Number) bilan karta qaysi bank tizimiga tegishli ekanligini aniqlash mumkin. Undan keyin mijozning karta hisobraqami va oxirgi raqam karta haqiqiyligini aniqlash uchun Luhn algoritmiga ishlatilinadi.

Luhn algoritmi yoki Luhn formulasi (modulus 10 va mod 10 deb ham ataladi) IBMning maโ€™lumotlarni indekslash va identifikatsiya qilish sohasidagi tadqiqotchisi bo'lgan nemis muhandisi Hans Peter Luhn tomonidan ixtiro qilingan. O'tgan asrning 50-yillarida IBM mashinalari ma'lumotlarni teshilgan kartalar (punch cards) orqali qabul qilar edi. Bu orada esa arxivlar, banklar va shunga o'xshash ma'lumotlar bilan ishlovchilar ma'lumotlarni raqamli shaklda saqlashni endi boshlashgan. Ma'lumotlarni kiritish jarayonida esa inson xatoliklari bo'lish ehtimoli ham yo'q emasdi, shuningdek IBM muhandislari bu xatolar tufayli minglab yozuvlar buzilayotganini va qayta kiritish uchun koโ€˜p vaqt ketayotganini aniqlashdi. Buning ortidan Luhn uchun cheklangan resurslarga ega kompyuterlarda (arifmetik amallarning o'zi bilan) kiritilinayotgan ma'lumotlarni self checking qila olish g'oyasini oshirish vazifasi berildi.

Bugungi kunda Luhn algoritmi nafaqat karta raqamlari balkim IMEI (mobil telefon identifikatori), milliy indentifikatsiya tizimlari va turli moliyaviy instrumentlar (misol CUSIP) kabi joylarda ham qo'llanilinadi.

๐Ÿ“ Misol:

Karta raqam: 4539 1488 0343 6467
Bunda tekshirish raqami: 7
Qoldiq: 4539 1488 0343 646

Karta raqamidan har ikkinchi raqamni 2 ga koโ€˜paytiramiz. Agar ko'paytirish jarayonida natija 9 da katta bo'lsa bunda 9 ayrib yuboriladi.

4   3   1   8   0   4   6   6
โ†‘ โ†‘ โ†‘ โ†‘ โ†‘ โ†‘ โ†‘ โ†‘
2ร— 2ร— 2ร— 2ร— 2ร— 2ร— 2ร— 2ร—


Natija: 8569 2478 0383 3437

Shundan so'ng oxirgi raqamni istisno qilgan holda barcha raqamlar yig'indisini chiqaramiz (73). Natijaga oxirgi tekshirish raqamini qo'shamiz va umumiy javob 10ga bo'linishi mumkin bo'lsa ma'lumot to'g'ri kiritilgan hisoblanadi.

int luhn(unsigned long long n){
int sum=0, alt=0;
while( n ){
int d = n % 10;
if( alt ) { d*=2; if( d > 9 ) d-=9; }
sum += d;
alt = !alt;
n /= 10;
}
return sum % 10 == 0;
}


โ—๏ธ Shuningdek eslatib o'tish kerakki Hans Peter Luhn, KWIC Indexing (Key Word in Context) usulining ham ixtirochisi hisoblanadi. Bu usul qidiruv tizimlarining uzoq ajdodi bo'lib hozirgacha aktual foydalanib kelinadi. Bunda umumiy matndagi har bir so'z navbati bilan kalit so'z sifatida olinadi, shundan so'ng u o'zidan oldingi va keyingi uchta so'zni kontekst sifatida qarab indekslar tuziladi. Foydalanuvchi qidiruv uchun kalit so'zni kiritganda shunga mos kontekst olib kelib beriladi.

Misol: Hans Peter Luhn information retrieval sohasining asoschilaridan biridir

Natija:

๐Ÿ”ธ Hans - HANS Peter Luhn information
๐Ÿ”ธ Peter - Hans PETER Luhn information retrieval
๐Ÿ”ธ Luhn - Hans Peter LUHN information retrieval sohasining
๐Ÿ”ธ information - Hans Peter Luhn INFORMATION retrieval sohasining asoschilaridan
๐Ÿ”ธ retrieval - Peter Luhn information RETRIEVAL sohasining asoschilaridan biridir
๐Ÿ”ธ sohasining - Luhn information retrieval SOHASINING asoschilaridan biridir
๐Ÿ”ธ asoschilaridan - information retrieval sohasining ASOSCHILARIDAN biridir
๐Ÿ”ธ biridir - retrieval sohasining asoschilaridan BIRIDIR

@yetimdasturchi
1๐Ÿ‘5๐Ÿ‘2๐Ÿ†22โšก1โค1๐Ÿ”ฅ11
Ish faoliyatingiz davomida tez-tez kerak bo'lishi mumkin bo'lgan onlayn utilitalar. O'zim ham doimiy foydalanib boraman. Ortiqcha instalizatsiyasiz chromeni o'zida ishingizni bitira olasiz.

๐Ÿ”ธ learn-anything.xyz - birgina keyword orqali ma'lumot olishingiz kerak bo'lgan resurslarga judayam tez yo'l topasiz.

๐Ÿ”ธ excalidraw.com - brainstorm vaqtida tezda chizmalarni chizib olishingiz yoki jamoangiz bilan maslahatlashib olishingiz uchun qo'l keladi

๐Ÿ”ธ text-compare.com - matnlardagi farqlarni tezkor ajratib olish uchun qo'l keladi. Ayniqsa loglar yoki shunga o'xshash joylarda tezkor qidiruv uchun doimiy kerak bo'lishi mumkin.

๐Ÿ”ธ draw.io - flow chartlar chizish va ularni boshqalar bilan bo'lishish uchun qulay ilova

๐Ÿ”ธ stackedit.io - Markdown bilan ishlash uchun eng yaxshi utilitalardan biri. Deyarli barcha formatlash va export qilish metodlarini qo'llab quvvatlaydi.

๐Ÿ”ธ photopea.com - Adobe Photopning onlayn replikasi, professional ishlar uchun ham bemalol yetarli.

๐Ÿ”ธ remove.bg - resurs fayllar bilan ishlashda ularning orqa fonini tozalash uchun yaxshi yechim.

๐Ÿ”ธ tinkercad.com - 3D modellarni onlayn tayyorlash uchun (o'zim ham to'liq shundan foydalanaman) va sxemalarni tezda chizib olish uchun

๐Ÿ”ธ regex101.com - ko'plab standartlarga mos regex namunalarini test qila olish va real jarayonni kuzatish mumkin.

๐Ÿ”ธ hexed.it - brauzerning o'zida to'laqonli hex inspeksiya qilishingiz mumkin

๐Ÿ”ธ decompiler.com - ko'plab turdagi dasturlarni va ularning kutubxonalarini analiz orqali dekompilatsiya qilishingiz uchun qulay utilita. Ayniqsa android ilovalar uchun yaxshi analiz qila olish imkoniga ega.

๐Ÿ”ธ serialterminal.com - Serial qurilmalar (UART) bilan ulanish uchun onlayn utilita. Arduino, USB modemlar yoki shunga o'xshash qurilmalar bilan ishlashda qo'l keladi.

๐Ÿ”ธ obfuscator.io - Javascript kodlarni turli parametrlar bilan obfuskatsiya qilishingiz va bu orqali kodlarni o'qishdan ma'lum darajada himoya qila olasiz.

๐Ÿ”ธ prettier.io - kodlarni formatlash uchun eng yaxshi yechimlardan biri. Alohida servis sifatida editorlarga ham ulash mumkin.

๐Ÿ”ธ havola.uz - yuqoridagi kabi qiziqarli utilitalar va saytlarning havolalarini tezda oson topishingiz mumkin.

@yetimdasturchi
1๐Ÿ‘2๐Ÿ”ฅ2
Research uchun yana bir foydali utilitalardan biri: godbolt.org

Kompiliyatsiya jarayonini taxminiy ko'rish uchun qo'l keladi.
1
Rustdagi bir qator kod Cloudflare tizimini qulatga va jahon internet tarmog'ini izdan chiqishiga sabab bo'lgan. Bugun Rust va C masalasida Sohib (orzklv) bilan bahslashib qolgandik ๐Ÿ˜„

Rustni xatolarni o'tkazmasligi odatda zo'r, lekin bu ba'zan xalaqit ham beradimikan deyman. C bu "-Hay bolam o'zing bilasan!" deydigan otaga o'xshaydi. Ya'ni xohlagancha xato qilish va eksperiment o'tkazish mumkin. Demak xaklar soni ko'payadi.

Da tan olish kerak cloudflare agar shu qismi C da bo'lganda muammoni xuy topishi ham mumkin edi, lekin boshidan bufer to'lishiga bunaqa xatoni o'tkazib indamay yuborish ehtimoli ham ko'p edi. Odatda C da bu tabiiy refleks bilan qilinadi. Shuningdek yana bir narsani tan olish kerak memory safe yo'qligi sabab ham C bu qismda yutqazadi, ya'ni ko'plab CVElar aynan shu sabab kelib chiqadi.

Ammo eng mininum levelda hardwarega kelganda C yutib chiqaveradi har doim. Masalan Rustni allaqachon linux kernelga integratsiyasini boshlangan. Ammmo nega haligacha bu ekotizm uchun normal Audio yoki USB driver qilinmagan deb o'ylaysiz? Masalan oddiy: C da memory safe yo'qligi driverlarda instalgancha pointer aliasing qilishga imkon beradi, bu esa Rust falsafasiga zid. Ya'ni MMIO bilan ishlashda Rust haddan tashqari talab qo'yib cheklab yuboradi. C esa shunchaki to'g'ridan to'g'ri registerni ko'rsatish va unga yozishga imkon beradi. Bu esa datasheetga qarab ortiqcha harakatlarsiz bemalol driver yozishni taminlaydi. Oddiy misol hardware bilan interrupt handler qilib ko'rishni Rust hozircha eplay olmaydi, aniqrog'i qiladi ammo 90% kodingiz jarayon xavfliligini tekshirishdan iborat bo'ladi. Ya'ni bunaqa keyslar aslida real memory emas to'laqonli mapping hisoblanadi. Bu esa o'z navbatida Rust bozirini microcontrollerdan ham chiqarib yuboradi. ABI masalasi ham xuddi shunday, C ustida turipti.

https://blog.cloudflare.com/18-november-2025-outage/
โค1
๐Ÿ”ธ Masalan registerga murojaat qilish:

C:

volatile uint8_t *PORTB = (volatile uint8_t*)0x25; 


Rust:

const PORTB: *mut u8 = 0x25 as *mut u8;

unsafe {
let v = core::ptr::read_volatile(PORTB);
core::ptr::write_volatile(PORTB, v ^ (1 << 0));
}


โ„น๏ธ Bunda har ikkisida ham bir xil natija bo'ladi, ammo build jarayoni murakkab.

-----------

๐Ÿ”ธ I/O portlar bilan ishlash

C:

uint8_t *p = (uint8_t*)0x25;
uint8_t a = *p;
uint8_t b = *p;


Rust:

let a = unsafe { *port };
let b = unsafe { *port };


C ASM:

in   r24, 0x25
mov r25, r24


Rust asm:

ld   r24, (0x25)
ld r25, (0x25)


โ„น๏ธ E'tibor qilgan bo'lsangiz C va Rustda ham ikkita instruksiya, ammo C da bitta load. Ya'ni portni bir marta ochib keyin registerdan ovolyapti xolos. Demak yuklama oshishni boshladi.

-----------

๐Ÿ”ธ Looplar:

C:

for (i=0; i<8; i++)
sum += buf[i];


Rust:

for i in 0..8 {
sum += buf[i];
}


C ASM:

    ld   r18, X+
add r24, r18

ld r18, X+
add r24, r18

ld r18, X+
add r24, r18

ld r18, X+
add r24, r18

ld r18, X+
add r24, r18

ld r18, X+
add r24, r18

ld r18, X+
add r24, r18

ld r18, X+
add r24, r18


Rust:

loop_start:

cpi r16, 8
brge panic

movw r30, r20
add r30, r16
adc r31, r1
ld r18, Z
add r24, r18

inc r16
rjmp loop_start


โ„น๏ธ Cda unroll bilan 16 instruksiya, Rustda bo'lsa 72ta instruksiya. Ya'ni bound check + loop overhead qo'shilyapti.
๐ŸŽ‰7๐Ÿ”ฅ4๐Ÿ’ฏ4โค2โคโ€๐Ÿ”ฅ111111
Qanday
๐Ÿ‘127โค44๐Ÿ”ฅ3๐Ÿฅฐ3โคโ€๐Ÿ”ฅ2๐Ÿ’ฏ2๐ŸŽ‰1๐Ÿ’‹11
Forwarded from CV muhandis kundaligi
This media is not supported in your browser
VIEW IN TELEGRAM
"Men va Claude code" nomli video๐Ÿ˜
๐Ÿ‘6โค3๐Ÿฅฐ322๐Ÿ”ฅ1๐ŸŽ‰1โคโ€๐Ÿ”ฅ1๐Ÿ’ฏ111