Curious coder
94 subscribers
677 photos
220 videos
51 files
529 links
𝓣𝓱𝓲𝓷𝓴 𝓭𝓲𝓯𝓯𝓮𝓻𝓮𝓷𝓽... ! 𝗘=𝗺𝗰²
Download Telegram
Maqsadni to‘g‘ri qo‘ying va shu maqsad sari yuring. Ha, chalg‘ituvchi omillar juda ko‘p, qiyin bo‘ladi, ammo baribir harakat qilish kerak. Bu dunyoda hamma narsa o‘tkinchi. Holatimiz ham doim bir xil bo‘lib qolmaydi. Nasibamiz qayerda bo‘lsa, o‘sha yerga borib ishlab, rizqimizni olamiz. Tanlagan yo‘lingizdan keyin afsuslanmang. “Hammasi o‘zi yaxshi bo‘lib ketadi” deb o‘zingizni ovutmang agar sababini qilmasangiz, hech narsa o‘zgarmaydi. Hayot shunaqa: natija uchun harakat kerak.
Bandalar orasidan mutlaq adolat qidirmang. Ko‘p odam baribir vaziyatni o‘z tomoniga og‘dirishga harakat qiladi. Shuning uchun eng muhimi o‘zingizni yo‘qotmaslik, niyatni toza saqlash va yo‘lingizda davom etish.
😁😆😁
😁😆😁Otklik + priglasheniya =
“Uzr, xodim olib qo‘ydik.”
“Ishingiz yoqdi, lekin rahbariyat boshqa nomzodni tanladi.”
“SEOga yaqinroq odam kerak ekan.”
“Sizda talant bor, albatta yaxshi ish topasiz.”
“Siz judda qimmat aytdiz ”
Xullas, shunaqa gaplarni juda ko‘p eshitdim 🙂
#devspaceuz
Please open Telegram to view this post
VIEW IN TELEGRAM
🆒1
😁😆😁 Vibe coder ✖️ kayf coder ✔️
Please open Telegram to view this post
VIEW IN TELEGRAM
🧩 Flutter da Widget Extension — kod yozishni tezlashtiring


Har safar Padding(padding: EdgeInsets.all(16), child: widget) yozishdan charchadingizmi? 😅
Mana loyihalarimda ishlatadigan Widget Extension — bir qator kod:


import 'package:flutter/material.dart';

extension WidgetPaddingX on Widget {
Widget paddingAll(double padding) =>
Padding(padding: EdgeInsets.all(padding), child: this);

Widget paddingSymmetric({
double horizontal = 0.0,
double vertical = 0.0,
}) =>
Padding(
padding: EdgeInsets.symmetric(
horizontal: horizontal,
vertical: vertical,
),
child: this,
);

Widget paddingOnly({
double left = 0.0,
double top = 0.0,
double right = 0.0,
double bottom = 0.0,
}) =>
Padding(
padding: EdgeInsets.only(
top: top,
left: left,
right: right,
bottom: bottom,
),
child: this,
);

Widget get paddingZero =>
Padding(padding: EdgeInsets.zero, child: this);
}

extension WidgetMarginX on Widget {
Widget marginAll(double margin) =>
Container(margin: EdgeInsets.all(margin), child: this);

Widget marginSymmetric({
double horizontal = 0.0,
double vertical = 0.0,
}) =>
Container(
margin: EdgeInsets.symmetric(
horizontal: horizontal,
vertical: vertical,
),
child: this,
);

Widget marginOnly({
double left = 0.0,
double top = 0.0,
double right = 0.0,
double bottom = 0.0,
}) =>
Container(
margin: EdgeInsets.only(
top: top,
left: left,
right: right,
bottom: bottom,
),
child: this,
);

Widget get marginZero =>
Container(margin: EdgeInsets.zero, child: this);
}

extension WidgetSliverBoxX on Widget {
Widget get sliverBox => SliverToBoxAdapter(child: this);
}

class NewList<T> {
NewList(this.l);
final List l;

List<T> list() {
final l = List<T>.from((this.l as List<T>).toList());
return l;
}
}


Ishlatilishi:

Text("Salom").paddingAll(16)
Text("Salom").paddingSymmetric(horizontal: 20)
Container().marginOnly(top: 8, left: 12)
MyWidget().sliverBox


Nima beradi?
Kod o'qilishi yaxshilashadi
Nesting kamayadi
Barcha widgetga ishlaydi
SliverToBoxAdapter bir qatorda

#devspaceuz
👌1
20 $ claude ham norm ishlayapti lekin
Forwarded from Мемсолог
Орнул
😁2❤‍🔥1🤨1
Startup qurish uchun nima qilish kerak?

Ko‘pchilik startup deganda katta ofis, investor yoki million dollarlik g‘oyani tasavvur qiladi. Aslida esa startup — muammoni yechishdan boshlanadi.
Startup qurish uchun:
1) Odamlarda haqiqiy muammo topish kerak.
2) Shu muammoni oddiy va qulay yechadigan product qilish kerak.
3) Ideal vaqtni kutmasdan boshlash kerak.
4) Birinchi versiya mukammal bo‘lishi shart emas.
5) Feedback eshitib productni yaxshilab borish kerak.
6) Eng muhimi: sabr va davomiylik.
Ko‘pchilik coding o‘rganadi, lekin foydalanuvchini tushunmaydi. Aslida kuchli startup — kuchli texnologiyadan emas, foydali yechimdan chiqadi.
Bugun kichik boshlagan loyiha ertaga katta kompaniyaga aylanishi mumkin. Muhimi — boshlash va to‘xtab qolmaslik.

#devspaceuz@devspaceuz
Иди курбонхаммотонба муборак шавад 🌙
Please open Telegram to view this post
VIEW IN TELEGRAM
31👌1
Sotsial daraja vaqtinchalik, insoniylik esa doimiy.
Bugun Maybach’da yurgan odam ertaga avtobus kutishi mumkin.
Shuning uchun odamlarni mavqeiga qarab emas, insonligiga qarab hurmat qilish kerak.
😁😆😁 Maybach’i yo‘q odamni fikri 😅
#devspaceuz@devspaceuz
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Resume’ni qanday professional yozish mumkin? ATS’dan o‘tishi va HR e’tiborini tortishi uchun nimalarga e’tibor berish kerak? 👀
P/s: I have more questions than answers 😅
#devspaceuz@devspaceuz
Please open Telegram to view this post
VIEW IN TELEGRAM
Nimani o'ylab topishmayapti bula?
🤔1
Curious coder
https://ruvnet.github.io/RuView/
endi kamera kerak emas wifiga ulandizma bo'ldi hammani ko'rsa bo'ladi deyishdi bilamdim
Forwarded from Tune Hunt Bot
Saad Lamjarred Enty
BiG Boom TV
​​​​🔊 Saad Lamjarred Enty

@TuneHuntBot orqali istagan musiqangizni tez va oson toping!
Heap / Priority Queue — ma’lumotlarni ustuvorlik asosida saqlashga xizmat qiladigan ma’lumot tuzilmasi.

Unda elementlar oddiy navbat kabi emas, balki muhimligiga qarab joylashadi.
Priority Queue’da eng katta yoki eng kichik qiymat har doim birinchi olinadi.
Heap esa shu jarayonni samarali ishlashi uchun ishlatiladigan daraxtsimon tuzilma hisoblanadi.
Asosiy turlari:
• Max Heap — eng katta element tepada bo‘ladi
• Min Heap — eng kichik element tepada bo‘ladi
Masalan:
Telegram’da eng muhim notification’lar yuqorida chiqishi,
operatsion tizimdagi task scheduling,
yoki Dijkstra algoritmida eng qisqa yo‘lni topish — bularning barchasida Priority Queue ishlatiladi.
Heap’ning kuchi — tezlikda.
Element qo‘shish va olish odatda O(log n) vaqt oladi.
Katta sistemalar ortida ko‘pincha oddiy ko‘rinadigan, ammo juda kuchli data structure’lar ishlaydi.
Heap ham shularidan biri.
#devspaceuz
🆒1
Hech qanday narsani fikirlamasda shunchaki o'tira olganmasiz
🚀 Binary Tree (Ikkilik Daraxti)

Dasturlash bo‘yicha texnik intervyularda Binary Treega oid masalalar juda ko‘p uchraydi. Ko‘pchilik har safar yangi algoritm o‘ylab topishga harakat qilib xato qiladi. Aslida esa, daraxtga oid masalalarning 90% qismini atigi 3-4 ta tayyor shablon yordamida hal qilish mumkin!
Keling, har bir dasturchi bilishi shart bo‘lgan asosiy shablonlarni ko‘rib chiqamiz:
1️⃣ Depth-First Search (DFS) / Rekursiya

DFS — daraxtning eng tubigacha tushib, keyin tepaga qaytish usuli. U asosan 2 xil ko‘rinishda bo‘ladi:
Pastdan-Tepaga (Bottom-Up): Bola tugunlardan (children) ma'lumotni yig‘ib, tepaga qaytaradi.
Qachon ishlatiladi: Daraxt balandligini topish, muvozanatni tekshirish (Maximum Depth, Balanced Tree).
Tepadan-Pastga (Top-Down): Ota tugundan olingan holat yoki qiymatni bola tugunlarga uzatadi.
Qachon ishlatiladi: Yo‘llar yig‘indisini hisoblash (Path Sum, Validate BST).
2️⃣ Breadth-First Search (BFS) / Level-Order

Daraxtni qavatma-qavat (darajama-daraja) bosib o‘tish usuli. Buning siri — Queue (Navbat) ma'lumotlar tuzilmasidan foydalanishda.

Dart
// BFS Shablonining umumiy ko'rinishi
while (queue.isNotEmpty) {
int levelSize = queue.length; // joriy qavatdagi elementlar soni

for (int i = 0; i < levelSize; i++) {
var currentNode = queue.removeFirst();

// Elementni qayta ishlash logikasi shu yerda bo'ladi

if (currentNode.left != null) queue.add(currentNode.left);
if (currentNode.right != null) queue.add(currentNode.right);
}
}

Qachon ishlatiladi: Daraxtni qavatma-qavat chop etish, eng qisqa yo‘lni topish (Level Order Traversal, Right Side View).
3️⃣ Binary Search Tree (BST) Shablonlari

BST shunday tuzilganki, har bir tugun uchun: Chap tomondagi qiymatlar < Tugun qiymati < O‘ng tomondagi qiymatlar. Bu bizga har safar daraxtning yarmini tashlab ketish imkonini beradi (Vaqt murakkabligi: O(logn)).
Agar qidirayotgan qiymatimiz joriy tugundan kichik bo‘lsa ➡️ Chapga yuramiz.
Katta bo‘lsa ➡️ O‘ngga yuramiz.
#devspaceuz
🆒1
Curious coder
save ai tokens by 50% 👇 https://github.com/juliusbrussee/caveman
Vibe coder bolajonlar uchun bu yaxshi codex ishlatgandan ko'ra