Curious coder
95 subscribers
679 photos
220 videos
51 files
534 links
𝓣𝓱𝓲𝓷𝓴 𝓭𝓲𝓯𝓯𝓮𝓻𝓮𝓷𝓽... ! 𝗘=𝗺𝗰²
Download Telegram
Forwarded from Орзудаги
Iqtisodchi Kundaligi
Cho’qqiga chiqishning ikki sababi bor

Biri: dunyo seni ko’rishi uchun
Ikkinchisi: sen dunyoni ko’rishing uchun.​​​​​​

Siz nega chiqyapsiz?
Биринчисида ниманидир исботлаш учун чиқасан.
Иккинчисида эса ўрганиш учун чиқасан.Мен иккинчисини танлардим.
🔥1🤪1
Forwarded from Flutter Notes
Dasturchi 300$ ga maxsus ovozi uchun mexanik klaviatura sotib oladi va uni 400$ lik shovqin to'suvchi quloqchin bilan ishlatadi 😄
😁4
😁😆😁 qachon IELTS olaman
Please open Telegram to view this post
VIEW IN TELEGRAM
🤷1
😁😆😁 Meni ham mazza qilib kod yozgim keladi ai 🤖 xalaqit beradi 😂
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Janob Panda | AI
This media is not supported in your browser
VIEW IN TELEGRAM
AI sababli ishini yo’qotgan dasturchi hikoyasi. 😂

Ayiq obrazida - dasturchi
Kiyik obrazida - Claude

Videoni o’zingiz edit qilib qo’yarsiz.

@mukhammadkarim_tukhtaboev
🤣3🔥1
Kasofat AI chiqdi-yu, 10 ta dasturchidan bittasi ishda qoladigan zamon boshlandi 😅

Kompaniyalar esa allaqachon “open claw” qilib, AI agentlarni boshqaradigan systemlar qurib, Mac mini larni qator qilib qo‘yib olishyapti.
Xullas, agar faqat kod yozib yurgan bo‘lsang — AI seni asta-sekin siqib chiqaryapti.
2026 yilgacha dasturchiga matematika unchalik kerak emas edi.
Endi esa o‘yin qoidalari o‘zgardi:
* Calculus
* Linear algebra
* Data structures & algorithms
* Python / C++
Shularsiz “AI yaratuvchi” bo‘lish qiyin.
Texnologik inqilob allaqachon boshlangan.
Faqat muammo shundaki — hamma ham buni sezmayapti.
Ba’zilar hali ham miyani ishlatmasdan, eski yo‘l bilan yashashda davom etyapti.
Lekin bu uzoqqa bormaydi.
Eng kulgilisi nima bilasizmi?
“Kasofat AI” deb gapiryapmiz…
lekin shu AI’ni ham o‘sha dasturchilar yaratgan 😂
Xulosa:
AI sizni almashtirmaydi.
AI ishlata oladigan odam sizni almashtiradi.

Moslash yoki qolib ket — tanlov o‘zingniki bolajon.

https://t.me/devspaceuz
2🔥1😁1
Nega ketmonim uchmayapti onasini emsin , man axir hech qanday arini o'ldirganim yo'qku
😁4🤣2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁6💯1
Xulas iosga o'tishimga bir xafta kerak dep o'ylagandim lekin adashipman 😂😂😂
SwiftUI_Roadmap.docx
58.5 KB
mayli sizlarga ham ilindim
🆒3
😂😂
🔌 WebSocket vs gRPC — Flutter'da qaysi birini tanlash kerak?


Ikkalasi ham real-time communication uchun ishlatiladi. Lekin arxitektura, protokol va use-case jihatidan jiddiy farq qiladi.
🌐 WebSocket
Asosi: TCP ustida full-duplex, text/binary frames.
Flutter'da:

final channel = WebSocketChannel.connect(
Uri.parse('wss://api.example.com/ws'),
);

channel.stream.listen((message) {
print('Server: $message');
});

channel.sink.add(jsonEncode({'type': 'ping'}));

Afzalliklari:
Browser + mobile + backend — hamma joyda ishlaydi
Text va binary (JSON, MessagePack) — ixtiyoriy format
Oddiy debugging — Chrome DevTools, Wireshark
Proxy va firewall bilan muammosiz (HTTP upgrade)
Kamchiliklari:
Type safety yo'q — JSON schema kelishuvi manual
Reconnect logikasini o'zing yozasan
Message framing standarti yo'q

📌 Qachon: chat, notification, live dashboard, multiplayer game

⚡️ gRPC

Asosi: HTTP/2 + Protocol Buffers (binary serialization).

Proto fayl:

service PaymentService {
rpc StreamTransactions(TransactionRequest)
returns (stream TransactionEvent);
}


Flutter'da:

final channel = ClientChannel(
'api.example.com',
port: 443,
options: ChannelOptions(
credentials: ChannelCredentials.secure(),
),
);

final stub = PaymentServiceClient(channel);

final stream = stub.streamTransactions(
TransactionRequest(userId: userId),
);

await for (final event in stream) {
print('TX: ${event.amount} ${event.currency}');
}


Afzalliklari:
Compile-time type safety — .proto kontrakt
HTTP/2 multiplexing — parallel stream'lar
Automatic code generation (protoc)
Built-in deadline, cancellation, interceptor
Payload hajmi: JSON'ga nisbatan 3-10x kichik
Kamchiliklari:
Flutter Web'da to'liq ishlamaydi — grpc-web kerak
.proto fayllarni sync saqlash kerak
Binary payload debug qilish qiyinroq

📌 Qachon: microservice, FinTech stream, IoT telemetry

🆚 Taqqoslash

🔹 Protokol
WebSocket → TCP frames
gRPC → HTTP/2 + Protobuf

🔹 Type safety
WebSocket → manual (JSON)
gRPC → proto kontrakt

🔹 Flutter Web
WebSocket → to'liq ishlaydi
gRPC → ⚠️ grpc-web kerak

🔹 Payload hajmi
WebSocket → o'rtacha (JSON/text)
gRPC → kichik (binary, 3-10x)

🔹 Reconnect
WebSocket → o'zing yozasan
gRPC → built-in retry

🔹 Debug qulayligi
WebSocket → DevTools, Wireshark
gRPC → ⚠️ binary, maxsus tool

🔹 Streaming turi
WebSocket → full-duplex
gRPC → 4 xil pattern (unary, server, client, bidi)

💡 Mening xulosam

FinTech yoki IoT + microservice arxitekturasida → gRPC. Type safety + performance + streaming birgalikda kerak bo'ladi.
Real-time chat, notification yoki Web ham target platforma bo'lsa → WebSocket hali ham eng pragmatik yechim.
Xonsaroy Pay'da Transaction stream'lar uchun gRPC, push notification uchun WebSocket — ikkalasini parallel ishlatish ham normal amaliyot.
#flutter #dart #grpc #websocket

https://t.me/devspaceuz
2
Dartda enum ikkita shaklda keladi — oddiy va kengaytirilgan. Ikkalasini chuqur tushunib olaylik.


1. Oddiy enum
Eng sodda holat — faqat nomlangan konstantalar to'plami. Kompilyator har bir qiymatga index va name beradi, boshqa hech narsa yo'q.

dartenum PaymentStatus {
pending,
success,
failed,
cancelled,
}

// ishlatish
final status = PaymentStatus.success;
print(status.name); // "success"
print(status.index); // 1


Muammo: PaymentStatus.failed ga mos keladigan server kodi nima? UI'da qanday matn ko'rsatish kerak? Bularni switch/if bilan tashqarida yozishga majbur bo'lasiz — kod tarqoq bo'lib ketadi.

2. Enhanced enum (Dart 2.17+)
Enum ham sinf kabi constructor, field va method olishi mumkin. Har bir enum qiymati — aslida o'sha sinfning const instance'i.

dartenum PaymentStatus {
pending('pending', 'Kutilmoqda', '#FFA500'),
success('success', 'Muvaffaqiyatli', '#00C853'),
failed('failed', 'Xatolik', '#F44336'),
cancelled('cancel','Bekor qilindi', '#9E9E9E');

final String code; // server kodi
final String label; // UI matni
final String hexColor; // rang

const PaymentStatus(this.code, this.label, this.hexColor);

// method ham qo'shish mumkin
bool get isTerminal =>
this == success || this == failed || this == cancelled;

static PaymentStatus fromCode(String code) =>
PaymentStatus.values.firstWhere(
(e) => e.code == code,
orElse: () => PaymentStatus.pending,
);
}
Endi hamma narsa enum ichida:
dartfinal status = PaymentStatus.fromCode('success');

print(status.label); // "Muvaffaqiyatli"
print(status.hexColor); // "#00C853"
print(status.isTerminal); // true



3. Extension on enum
Bu boshqa narsa — mavjud enum'ga tashqaridan method qo'shish. Ayniqsa siz o'zgartira olmaydigan enum'larda (boshqa package'dan kelgan) ishlatiladi.

dart// Siz o'zgartira olmaydigan enum — masalan package'dan
enum OrderState { created, processing, delivered, returned }

// Tashqaridan kengaytirish
extension OrderStateX on OrderState {
String get label => switch (this) {
OrderState.created => 'Yaratildi',
OrderState.processing => 'Jarayonda',
OrderState.delivered => 'Yetkazildi',
OrderState.returned => 'Qaytarildi',
};

bool get isActive =>
this == OrderState.created || this == OrderState.processing;
}

// ishlatish — xuddi o'z metodi kabi
final state = OrderState.processing;
print(state.label); // "Jarayonda"
print(state.isActive); // true



Asosiy farq — qachon qaysinisini ishlatish:
Oddiy enum → faqat konstantalar kerak, hech qanday logika yo'q. Masalan, enum Direction { left, right, up, down }.
Enhanced enum → enum'ga tegishli ma'lumot va logikani birga saqlash kerak. Siz yaratayotgan enum bo'lsa — har doim shu usulni afzal ko'ring.
Extension on enum → boshqa kutubxonadan kelgan enum'ni kengaytirish kerak bo'lsa yoki enum'ni turli layer'larda har xil ko'rinishda ishlatish kerak bo'lsa. Masalan, domain layer'dagi enum'ga presentation layer'da UI logikasini qo'shish — Clean Architecture'da bu juda qulay.

https://t.me/devspaceuz
👍1