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
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
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
Telegram
Curious coder
𝓣𝓱𝓲𝓷𝓴 𝓭𝓲𝓯𝓯𝓮𝓻𝓮𝓷𝓽... ! 𝗘=𝗺𝗰²
❤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
🔌 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
Telegram
Curious coder
𝓣𝓱𝓲𝓷𝓴 𝓭𝓲𝓯𝓯𝓮𝓻𝓮𝓷𝓽... ! 𝗘=𝗺𝗰²
❤2
https://t.me/ya_jobs
kimlardir yandexga topshirmoqchi bo'lsa ishga shu kanalga o'tib otklik bosaverasizlar
kimlardir yandexga topshirmoqchi bo'lsa ishga shu kanalga o'tib otklik bosaverasizlar
Telegram
Яндекс нанимает | Вакансии для разработчиков
Актуальные вакансии для разработчиков в Яндекс
Папка с каналами Яндекса для разработчиков: https://t.me/addlist/Hrq31w2p1vUyOGZi
Все вакансии для разработчиков:
https://ya.cc/t/t9Tlu_e74DqkMQ
Номер заявления в РКН: 4962644000
Папка с каналами Яндекса для разработчиков: https://t.me/addlist/Hrq31w2p1vUyOGZi
Все вакансии для разработчиков:
https://ya.cc/t/t9Tlu_e74DqkMQ
Номер заявления в РКН: 4962644000
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
Telegram
Curious coder
𝓣𝓱𝓲𝓷𝓴 𝓭𝓲𝓯𝓯𝓮𝓻𝓮𝓷𝓽... ! 𝗘=𝗺𝗰²
👍1
Forwarded from @Rustam-Z⚡️
This media is not supported in your browser
VIEW IN TELEGRAM
Yandex Uzbekistan is hosting an offline dev meetup at their office. Topics: product building, engineering decisions, and career growth. The event will be in English.
🔗 Register here and learn more
Location: Yandex Uzbekistan office
Date: May 23, 2026
What's on the agenda:
• Konstantin Dovnar — how they studied Yandex Pro's performance on slow networks and what solutions they shipped to make things faster and more stable.
• Alexey Tolstikov — how to stay curious, learn, avoid getting lost in automation, and why altruism is becoming a key part of both learning and teaching.
• Live Coding, participants will break down a real task, spin up a model, and figure out what's happening under the hood together.
• How to improve your resume and present your experience to be competitive internationally. They'll break down what a developer interview at Yandex looks like, what to expect at each stage, and share practical tips to help you pass it.
Great opportunity to present yourself, grow your network, and connect with engineers who are building real products at scale.
@rustamzokirov
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1