Dev thinking loud
Open in Telegram
Dasturlash boyicha video darslar, subyektiv fikrlar, kundalik misollar, bahsli mavzular. Youtube kanal: https://www.youtube.com/@ravshansbox Muallif: @ravshansbox
Show more1 586
Subscribers
-624 hours
-77 days
+3030 days
Posts Archive
1 586
Consoleda nima chiqadi?
console.log(Boolean('true'), Boolean('false'));
1 586
Zed for Linux
Linux foydalanuvchi dasturchilarga hushxabar. Zed linuxga ham release bo'ldi (to'g'risi o'zim tekshirib ko'rishga imkoniyatim bo'lmadi).
https://zed.dev/linux
1 586
Rewrite git history
Adashib asosiy branchga commit va push qilib qoydingiz mi? Havotirga oβrin yoβq, quyidagicha orqaga qaytaramiz:
git checkout main
git reset --soft HEAD
git push origin main --force
git checkout new-branch
git add .
git commit -m "commit to new branch"
git push origin new-branch1 586
Keyingi post yoki videolar nima haqida boβlishini hohlardiz?
1 586
AbortSignal
AbortSignal interface async operasiyalarni tohtatish uchun ishlatiladi. Masalan, juda ko'p ishlatiladigan fetch() funksiya RequestInit parameter(object)ga signal nomli property kutadi (optional) va biz bu propertyga AbortSignal instance berishimiz mumkin. Va keyinroq bu signal instancening .abort() methodini chaqirib requestni tohtatishimiz mumkin.
AbortSignal qabul qiladigan APIlar:
- Fetch
- EventTarget API
- ReadableStream/WritableStream
- WebSocket
AbortSignal instanceni odatda new kalit sozi orqali yaratamiz, lekin uni static methodlari
orqali ham yaratishimiz mumkin. Bular:
- .abort() - Allaqachon abort qilingan instance yaratadi. (Boshqa routega o'tganimizda pending requestlarni cancel qilib ketganimiz yaxshi)
- .any() - Parameterga AbortSignallardan tashkil topgan iterable oladi va ulardan biri abort bolganda bu ham abort boladi.
- .timeout() - Parameterda berilgan millisekund qiymatda avtomat abort boladigan instance qaytaradi (Backenddan kutilayotgan javobga timeout qoyish uchun juda qulay)1 586
VSCodeda importlar va xatolarni tuzatish
Skrindagi config vscodeda importlar bilan ishlashni qulaylashtiradi, yozilgan amallar file saqlanayotganda yozilgan ketma-ketlikda bajariladi:
- Avval ishlatilmagan importlar olib tashlanadi;
- Keyin yetishmaydigan importlar qoshib chiqiladi (tekshirish kerak bolishi mumkin, agar birdan kop import bolsa malum qoidalarga ko'ra birinchisi tanlanadi);
- Keyin importlar malum qoidalarga qarab sort qilinadi;
- Oxirida linter (eslint, stylelint...) xatolar tuzatiladi.
1 586
ESM modullar browserda "by default" (tarjimasini bilganlar yozvorishsin) kech yuklanadi (deferred).
Biz bilamizki, browserda script taglar kech yuklanishi uchun defer atribut berishimiz kerak. Bo'lmasa browser script tagni uchratishi bilan html processingni tohtatib scriptni yuklab(fetch) va ishlatish(execute)ni boshlaydi. Bu oz navbatida undan keyin kelgan html elementlarning DOMda topilmasligiga sabab boladi. Agar scriptimizda type=module bolsa defer avtomat tarzda yoqiladi.
#did_you_know
1 586
Quyidagilardan qaysi birida vaqt murakkablik (time complexity) O(n)ga teng?
1 586
JavaScriptda sonlarning butun va kasr qismi uchun nechtadan bit ajratiladi?
1 586
JavaScriptda string qiymatlar xotirada qaysi encodingda saqlanadi?
1 586
Transitive dependencies
Proyektda
dependencies yoki devDependencies ichida bo'lmay turib biror paketning nega o'rnatilganini bilmoqchi bo'lsangiz npm why komandasini ishlatishingiz mumkin.
#tips_and_tricks1 586
Ish beruvchilarga maslahat
Hech qachon mutaxassisni budjetiz bo'la turib o'zi loyiq bo'lgan oylikdan past narxga ishga olishga urinmang. Bu long-termda ishlamaydi. Bazi odamlar oylik oshirishni so'rashni xush ko'rishmaydi. Oqibatda bir necha oydan keyin boshqa joydan yuqoriroq taklif olsa uni qabul qilib sizni tark etishadi. Yangi hodim topish va uning adaptatsion harajatlari siz o'ylagandan ancha ko'p.
Available now! Telegram Research 2025 β the year's key insights 
