@NiceCodersUz
77 subscribers
8 photos
11 links
Assalomu alaykum!

👨‍💻 Bu kanalda Frontend va Backend bo‘yicha postlar, yangiliklar va kodlar bor! 🚀

💬 Savollar: @Manager_Dilyorbek

📅 01.04.2025 | 00:18 😅

Vaqtingiz barakali bo‘lsin! Vaqtingizga rozi bo'ling, qiyomatda yoqamdan tutmang 😉
Download Telegram
🛡 Assalomu alaykum, kod yozuvchi do‘stlar! 🚀

Bugun veb-saytimizda foydalanuvchi maxfiyligini oshirish usulini ko‘rib chiqamiz!

<meta http-equiv="Permissions-Policy" content="interest-cohort=()" />


💡 Nima qiladi?

* Google Chrome va ba’zi brauzerlarda foydalanuvchini FLoC orqali kuzatishni bloklaydi.
* Saytga kirgan foydalanuvchi ma’lumotlari trackingga yuborilmaydi.
* Ya’ni, maxfiylik oshadi va reklamaga yo‘naltirilgan profiling kamayadi.

Xulosa: bu tegi trackingni o‘chirish va foydalanuvchi maxfiyligini himoya qilish uchun ishlatiladi.

👉 Siz saytlaringizda foydalanuvchi maxfiyligini qanday himoya qilasiz? Kommentda yozing! 😎

#NiceCodersUz #WebDev #Privacy #FLoC #CodingTips
🛡 Assalomu alaykum, Telegram WebApp dasturchilari! 🚀

Bugun siz bilan Telegram mini ilovalarda initData ni tekshirish va xavfsizligini ta’minlash usulini ko‘rib chiqamiz.

---

📌 Maqsad:

initData — bu WebApp ochilganda Telegram tomonidan yuborilgan ma’lumotlar satri. Biz uni serverda ishlatishdan oldin hash tekshiruvi orqali ishonchliligini tasdiqlashimiz kerak.

💻 Kod misoli (Node.js):

const crypto = require('crypto');
const BOT_TOKEN = 'SIZNING_BOT_TOKENINGIZ';

function validateInitData(initData) {
// URL decode qilingan ma’lumot
const encoded = decodeURIComponent(initData);

// Secret key HMAC-SHA-256 orqali
const secret = crypto.createHmac('sha256', 'WebAppData').update(BOT_TOKEN);

// Ma’lumotlarni '&' bo‘yicha ajratish
const arr = encoded.split('&');
const hashIndex = arr.findIndex((str) => str.startsWith('hash='));
const hash = arr.splice(hashIndex)[0].split('=')[1];

// Alfavit bo‘yicha sortlash
arr.sort((a, b) => a.localeCompare(b));

// data-check-string yaratish
const dataCheckString = arr.join('\n');

// HMAC-SHA-256 hash
const _hash = crypto
.createHmac('sha256', secret.digest())
.update(dataCheckString)
.digest('hex');

// Tekshirish
return _hash === hash;
}


Nima qiladi?

Foydalanuvchidan kelgan initData haqiqiyligini tekshiradi.
Xakerlik urinishlarini aniqlaydi.
Foydalanuvchi ma’lumotlarini xavfsiz ishlatish imkonini beradi.

💡 Pro Tip: Bu tekshirishni har bir WebApp ishga tushganda bajarish zarur.

---

Siz mini app’da initData ni qanday validatsiya qilasiz? Kommentda tajribangizni yozing! 😎

#NiceCodersUz #TelegramWebApp #Security #NodeJS
🔗 Assalomu alaykum, backend va API bilan ishlovchi dasturchilar! 🚀

Bugun sizga urls.uz servisining qisqa link yaratish API’sidan real misol ko‘rsataman. Hech qanday ortiqcha gap yo‘q — to‘g‘ridan-to‘g‘ri amaliy yechim.

---

📌 Vazifa:
Berilgan URL’ni vaqtinchalik (expire) qisqa linkka aylantirish.

---

💻 cURL so‘rov:

curl 'https://urls.uz/api/create' \
-H 'accept: */*' \
-H 'content-type: application/json' \
-H 'x-requested-with: XMLHttpRequest' \
--data-raw '{
"url":"https://urls.uz/?url=https://urls.uz",
"type":"EXPIRE",
"expireDays":30
}'


❗️ Eslatma: type: "EXPIRE" — link vaqtinchalik bo‘lishini bildiradi.
expireDays: 30 — 30 kundan keyin avtomatik o‘chadi.

---

📥 API javobi:

{
"id": "337b97e8-67cc-4415-a18f-42850d7cd088",
"shortId": "kvoOHOU",
"shortLink": "http://urls.uz/kvoOHOU",
"expireAt": "2026-01-16 20:22:36"
}


---

Natija:

* Qisqa link yaratildi
* Aniq amal qilish muddati bor
* Backend, bot yoki web loyihalarda ishlatishga tayyor

💡 Pro Tip:
Referral, promo, vaqtinchalik download linklar uchun EXPIRE linklar juda qulay. Doimiy link kerak bo‘lsa — bu noto‘g‘ri tanlov.

---

👉 Siz URL shortener API’larni qayerlarda ishlatyapsiz? Botmi, webmi yoki marketingda? Kommentda yozing.

#NiceCodersUz #API #Backend #cURL #URLShortener #NodeJS #WebDev
Hazil: endi “Ctrl+C / Ctrl+V” emas, “Ctrl+I / AI” davri 😄
🔥 Dasturlashni o‘rganish yo‘lida yana bir qadam!

Bugun sizga JavaScript’dagi array’larni tez va samarali filter qilish usulini ko‘rsataman. 👇

const numbers = [1, 2, 3, 4, 5, 6];
const evens = numbers.filter(num => num % 2 === 0);
console.log(evens); // [2, 4, 6]


💡 Pro Tip:
Katta array’lar bilan ishlaganda forEach o‘rniga filter ishlatish tezroq va toza natija beradi.

Qayerda foydali?

* Ma’lumotlarni saralash
* UI update va analytics hisob-kitoblar

👉 Siz array’lar bilan qanday ishlaysiz? O‘z usulingizni izohda yozing! 😎

#NiceCodersUz #JavaScript #CodingTips
😬 Bu katta xato. Ssenariy shuni ko‘rsatadiki: Codex yoki GPT kabi AI’lar sizga kod yozishda yordam bera oladi, lekin “full access” berganingizda katta xavf bor.

Xatoning tahlili:

1️⃣ Siz rmdir /s /q F:\Killshot kabi komandani yozishni so‘ragansiz.
2️⃣ \" escape kombinatsiyasi cmd va PowerShell aralashganida noto‘g‘ri ishlaydi.
3️⃣ Natija: cmd.exe faqat F:\ ni qabul qilgan va butun F: diskini o‘chirgan.
4️⃣ To‘g‘ri variant: faqat PowerShell ishlatish, cmd /c aralashmasligi:

Get-ChildItem -Recurse -Directory -Filter __pycache__ | Remove-Item -Recurse -Force


⚠️ Sabak: hech qachon AI’ga “full disk” write/rmdir/junk access bermang. Har bir fayl operatsiyasini avval test folderda sinang.

💡 Xulosa: AI foydali, lekin mas’uliyatsiz ishlatilsa katta yo‘qotishga olib keladi.

Agar xohlasang, men senga Codex/AI bilan diskni xavfsiz ishlash uchun checklist tayyorlab beraman, shunda yana bunday yo‘qotish bo‘lmaydi. Shu qilaylikmi?
Assalomu alaykum, dasturchilar!

Bugun siz bilan JavaScript’da object ichidan qiymatlarni tez olish usulini ko‘ramiz.

Ko‘pchilik hali ham eski usulda yozadi 👇

const user = {
name: "Ali",
age: 22,
role: "developer"
};

const name = user.name;
const age = user.age;


Bu ortiqcha kod.

To‘g‘ri usul — Destructuring 👇

const user = {
name: "Ali",
age: 22,
role: "developer"
};

const { name, age } = user;

console.log(name); // Ali
console.log(age); // 22

📌 Nima foydasi?

Kod qisqaradi
O‘qilishi oson bo‘ladi
React va Node.js’da juda ko‘p ishlatiladi

💡 Pro tip:

Default qiymat ham berish mumkin.

const { name, country = "Uzbekistan" } = user;


Agar country bo‘lmasa — Uzbekistan ishlatiladi.


---

👉 Siz destructuring’dan qayerda ko‘p foydalanasiz?
Kommentda yozing.

#JavaScript #CodingTips #Frontend #NiceCodersUz 😎
🔥21
JavaScript’da debounce nima?

Input searchlarda API’ni ortiqcha chaqirmaslik uchun ishlatiladi.

💻 Kod

function debounce(fn, delay){
let timeout
return (...args)=>{
clearTimeout(timeout)
timeout=setTimeout(()=>fn(...args),delay)
}
}

📌 Foyda
• kam request
• tez UI

#JavaScript #Frontend@NiceCodersUz
🚀 Backendchilar uchun maslahat

Junior backendchilar qiladigan eng katta xato:

Framework yodlash
Copy paste kod

To‘g‘ri yo‘l:

HTTP qanday ishlaydi
Database indexing
API design

Framework emas — fundamental o‘rganing.

#Backend #Programming@NiceCodersUz
React’da loading state

API ishlaganda loading ko‘rsatish UX uchun muhim.

const [loading,setLoading] = useState(true)

useEffect(()=>{

fetch('/api/data')
.then(res=>res.json())
.then(data=>{
setData(data)
setLoading(false)
})

},[])

if(loading) return <p>Loading...</p>

#React #Frontend@NiceCodersUz
⚠️ JavaScript’da eng noto‘g‘ri tushuniladigan narsa — Closure

Ko‘pchilik faqat “function ichida function” deb o‘ylaydi.
Bu noto‘g‘ri.

---

💥 Aslida nima?

Closure — function tashqarisidagi variable’ni eslab qolishi.

function counter(){
let count = 0

return function(){
count++
return count
}
}

const c = counter()

console.log(c()) // 1
console.log(c()) // 2

---

Nima bo‘lyapti?

"counter()" allaqachon tugadi.
Lekin "count" o‘chmadi.

👉 Chunki inner function uni memory’da ushlab turadi.

---

⚠️ Real xato

for(var i=0;i<3;i++){
setTimeout(()=>console.log(i),1000)
}

Natija: 3,3,3

To‘g‘ri:

for(let i=0;i<3;i++){
setTimeout(()=>console.log(i),1000)
}

---

📌 Qayerda ishlatiladi?

Private variable
Factory function
React hooks ichida

---

🔥 Savol:

Closure bo‘lmasa — React state qanday ishlardi?

Javob yozmasang — tushunmagansan.

#JavaScript #Frontend #DeepDive@NiceCodersUz
⚠️ Backend’da eng ko‘p yolg‘on gapiriladigan mavzu — Index

“Index query’ni tezlashtiradi”
Bu yetarli emas.

---

💥 Aslida nima?

Index — bu alohida data structure (odatda B-Tree)

U jadvalni emas, qidirishni optimallashtiradi

---

Misol

SELECT * FROM users WHERE email = 'a@mail.com';

Index yo‘q → full scan (100k row o‘qiydi)
Index bor → log(n) qidiradi

---

⚠️ Eng katta xato

Har column’ga index qo‘yish

Natija:

- write sekinlashadi
- memory ketadi

---

📉 Tradeoff

Read tez
Insert/update sekin

---

🔥 Composite index

INDEX (first_name, last_name)

👉 Faqat "first_name" bilan ishlaydi
👉 Faqat "last_name" bilan — ishlamaydi

---

⚠️ Real muammo

Index bor, lekin ishlamaydi:

WHERE LOWER(email) = 'test@mail.com'

Index ignore bo‘ladi

---

🔥 Savol:

Nega index bo‘lsa ham DB ba’zida full scan qiladi?

Javob: optimizer + noto‘g‘ri query

---

🧠 Haqiqat:

Index bilmagan backendchi — xavfli backendchi.

#Backend #Database #Performance
REST vs GraphQL - qachon qaysi biri?

REST tanlang, agar:
Resurslar aniq (users/orders) va CRUD ko‘p
HTTP cache/CDN/ETag’dan maksimal foyda kerak
Oddiy monitoring, log va rate-limit muhim
Jamoa tajribasi REST’da kuchli

GraphQL tanlang, agar:
Mobile/SPA’da over/under-fetching muammo
Bitta endpoint orqali ko‘p tur data kerak
Tez-tez o‘zgaradigan UI va iteratsiya tez
Strong typing + schema-first yondashuv kerak

Ogohlantirish:
⚠️ GraphQL: cache, N+1, auth, query complexity’ni boshqarish shart
⚠️ REST: ko‘p endpoint + versioning texnik qarzga aylanishi mumkin

Amaliy tavsiya:
👉 Public API = ko‘pincha REST
👉 Ichki BFF/Frontend uchun = GraphQL

#backend #rest #graphql #api #webdev #nicecodersuz

📢 Inside'da tayyorlangan
Please open Telegram to view this post
VIEW IN TELEGRAM
Code drop: Express error-handler (template)

1) App darajasida (oxirida!)
app.use((err, req, res, next) => {
const status = err.status || 500
const message = err.expose ? err.message : 'Server error'
console.error(err)
res.status(status).json({ ok:false, message })
})


2) Route’da xatoni uzatish
router.get('/users/:id', async (req,res,next)=>{
try {
const user = await User.findById(req.params.id)
if(!user){
const e = new Error('User not found')
e.status = 404; e.expose = true
throw e
}
res.json(user)
} catch (e) { next(e) }
})


Eslatma: Error-handler barcha routelar va middleware’lardan keyin qo‘yiladi.

#nodejs #express #backend #errorhandling #nicecodersuz

📢 Inside'da tayyorlangan
Please open Telegram to view this post
VIEW IN TELEGRAM
Weekly Q&A - Frontend/Backend

Savolingiz bormi? Izohlarda yozing - qo‘limdan kelganicha javob beraman.

Mavzular:
- HTML/CSS/JS, React/Vue
- Node.js, Python, PHP, Java
- REST/GraphQL, DB (PostgreSQL/MySQL)
- Auth, security, performance
- Git, CI/CD, deploy
- Portfolio, CV, interview

Qanday yozish?
Texnologiya + muammo + xatolik (bo‘lsa) + qisqa kod.


#NiceCodersUz #QnA #frontend #backend #programming

📢 Inside'da tayyorlangan
Please open Telegram to view this post
VIEW IN TELEGRAM
Haftalik Dev News (Top 5) + Nega muhim?

1) TypeScript 5.8 (beta/release) - tiplash va DX yaxshilanadi.
https://devblogs.microsoft.com/typescript/

2) Node.js (Current/LTS yangilanishlari) - performance va security patchlar.
https://nodejs.org/en/blog/

3) React (release notes) - rendering va server components ekotizimi.
https://react.dev/blog

4) PostgreSQL (release/patch notes) - DB barqarorligi va optimizatsiya.
https://www.postgresql.org/docs/release/

5) GitHub (changelog) - Actions/CI qulayliklari va xavfsizlik.
https://github.blog/changelog/

Qaysi link sizga eng foydali bo‘ldi? Kommentda yozing.

#devnews #programming #frontend #backend #nodejs #react #typescript #postgresql #github

📢 Inside'da tayyorlangan
Please open Telegram to view this post
VIEW IN TELEGRAM
Assalomu alaykum! NiceCodersUz’ga xush kelibsiz 👋

Bu kanal - Frontend va Backend bo‘yicha qisqa, amaliy postlar, mini-darslar va foydali kodlar manzili.

Bu oy nimalarni o‘rganamiz? 📌
HTML/CSS: layout, responsive, best practice
JavaScript: array/object, async/await, DOM
Git/GitHub: branch, PR, workflow
Backend kirish: REST API, CRUD, auth (asoslar)
Portfolio: 1 ta kichik loyiha + deploy

Postlar formati:
- qisqa konspekt + misol kod
- mini-topshiriq (amaliyot)
- kerakli linklar

Savol yoki taklif: @Manager_Dilyorbek

Vaqtingiz barakali bo‘lsin! Birga o‘rganamiz 🚀

#frontend #backend #javascript #git #restapi #nicecodersuz

📢 Inside'da tayyorlangan
Please open Telegram to view this post
VIEW IN TELEGRAM
Frontend mini-guide: CSS layoutdagi 5 ta eng ko‘p uchraydigan bug va tezkor yechimlar

1) Margin collapse
Muammo: bloklar orasidagi yuqori/pastki margin “yutiladi”.
Yechim: parent’ga padding qo‘ying yoki overflow:auto/display:flow-root.

2) Flex’da element siqilib ketishi
Muammo: matn/ikonka kichrayib, buziladi.
Yechim: min-width:0 (container) yoki flex: 0 0 auto (child), kerak bo‘lsa flex-wrap.

3) 100vh mobile’da sakrashi
Muammo: address bar sabab height o‘zgaradi.
Yechim: min-height: 100dvh (yoki 100svh/100lvh).

4) Absolutely positioned element “uchib ketishi”
Muammo: kutilmagan joyga chiqib qoladi.
Yechim: parent’ga position: relative bering.

5) Z-index ishlamasligi
Muammo: modal/dropdown pastda qoladi.
Yechim: elementda position bo‘lsin va stacking context’larni tekshiring (transform, filter, opacity).

Bonus: DevTools’da Layout/Flex/Grid overlay’lari

📢 Inside'da tayyorlangan
Please open Telegram to view this post
VIEW IN TELEGRAM
Logistika sohasida samarali strategiyalar va natijali ishlash usullari haqida ilmiy asoslangan ma’lumotlar. Siz uchun yangilangan bozor tahlillari va real tajriba asosidagi maslahatlar taqdim etiladi. Ish jarayonlarini optimallashtirish orqali xarajatlarni kamaytirish va daromadni oshirish mumkinligini amalda isbotlangan yondoshuvlar bilan tushuntiramiz. Qo‘shiling va sohada professional yuksalishga erishing. Qo‘shimcha ma’lumotlar uchun @ih_academy1 ga murojaat qiling yoki kanalimizga tashrif buyuring.

#reklama 📢 InsideAds Bepul obunachilar
Please open Telegram to view this post
VIEW IN TELEGRAM
Sarmoyangizni ikki barobar oshirishning 3 maxfiy bosqichi!
1. Bozor trendlarini asosan qaysi sohada kuzatish kerakligini bilib oling
2. Eng yuqori foyda keltiradigan savdo signallarini qanday tanlashni o‘rganing
3. Real vaqtda maslahatlar bilan tez harakat qiling - imkoniyatlar hech qachon kutmaydi!
Bugun qo‘shiling va daromadingizni o‘zgartiring: Treding va Logistika 🫶❤️
Hech kim kech qolmaydi!

#reklama 📢 InsideAds Bepul obunachilar
Please open Telegram to view this post
VIEW IN TELEGRAM