Kun mulohazasi
Agar biror dastur yoki veb-saytni ishlatyotganingizda asablaringiz buzilmasdan, xotirjam, hech narsani o'ylamasdan, faqat ishiningiz bitishi haqida qayg'ursangiz,
demak,
buning ortida asablari buzilgan, kodi ishlaguncha bezovta bo'lgan, odamlar mazza qilib ishlatsin deb qayg'urgan dasturchilar bo'ladi.
Agar biror dastur yoki veb-saytni ishlatyotganingizda asablaringiz buzilmasdan, xotirjam, hech narsani o'ylamasdan, faqat ishiningiz bitishi haqida qayg'ursangiz,
demak,
buning ortida asablari buzilgan, kodi ishlaguncha bezovta bo'lgan, odamlar mazza qilib ishlatsin deb qayg'urgan dasturchilar bo'ladi.
π45π21π₯7
Kun mulohazasi
Biror bug report yoki xatoliklarni tuzatishga oid vazifalar tushib qo'lsa, aksariyat holatlarda ularning sababi dasturchining xatosi bo'ladi. Bu shaxsiy kuzatuvim. Men shu paytgacha ishlagan kompaniyalarda shu narsani ko'p ko'rganman. O'zim ham anchagina bug reportlarga sababchi bo'lganman.
Nega ko'pincha dasturchi aybdor?
Oldin ham bu haqida yozgandim. 2 ta katta sabab:
1. Dasturchida berilgan vazifaga yaxshi yechim bera olishi uchun vaqt kam. Ya'ni ish shoshib qilinadi.
2. Kommunikatsiya. Vazifaning ba'zi detallariga oydinlik kiritmasdan, o'zining tahminlari va mulohazalariga tayanishi.
Nega degan savolni tepadagi har bir sabab uchun ham berish mumkin. Faktorlar juda ko'p. Nega savollari zanjirining oxiri yo'q.
Xo'sh, sizning kuzatuvingiz qanday?
Biror bug report yoki xatoliklarni tuzatishga oid vazifalar tushib qo'lsa, aksariyat holatlarda ularning sababi dasturchining xatosi bo'ladi. Bu shaxsiy kuzatuvim. Men shu paytgacha ishlagan kompaniyalarda shu narsani ko'p ko'rganman. O'zim ham anchagina bug reportlarga sababchi bo'lganman.
Nega ko'pincha dasturchi aybdor?
Oldin ham bu haqida yozgandim. 2 ta katta sabab:
1. Dasturchida berilgan vazifaga yaxshi yechim bera olishi uchun vaqt kam. Ya'ni ish shoshib qilinadi.
2. Kommunikatsiya. Vazifaning ba'zi detallariga oydinlik kiritmasdan, o'zining tahminlari va mulohazalariga tayanishi.
Nega degan savolni tepadagi har bir sabab uchun ham berish mumkin. Faktorlar juda ko'p. Nega savollari zanjirining oxiri yo'q.
Xo'sh, sizning kuzatuvingiz qanday?
π18
Brogrammist
Kun mulohazasi Biror bug report yoki xatoliklarni tuzatishga oid vazifalar tushib qo'lsa, aksariyat holatlarda ularning sababi dasturchining xatosi bo'ladi. Bu shaxsiy kuzatuvim. Men shu paytgacha ishlagan kompaniyalarda shu narsani ko'p ko'rganman. O'zimβ¦
Dasturchi aybdor bo'lmay kim aybdor bo'lsin?
Qisqa javob: Dasturni dasturchi qurgani uchun. π¬
Katta team/guruhlarda kod yozadigan dasturchilar asosan junior'lar va middle'lar. Senior dastruchilar esa asosan rejalashtirish, infrastruktura, kattaroq loyihalar fundamentini ko'tarish va hokazolar bilan shug'ullanishadi.
Mayda detallarda gap ko'p. Nisbatan kichik ishlar juniorlar tomonida bajariladi. Boshqalar (senior/middle) esa uni tekshiradi. Ba'zida mayda detallarga tikilib, asosiy narsalarni ko'rmay qolamiz. Bu tabiiy.
Undan tashqari berilgan dastur talablari va arxitekturasida yo'l qo'yilgan xatoliklar ham bor. Bu endi asosiy narsalarga e'tibor qaratib, mayda lekin muhim detallarni ko'zdan qochirish bo'ladi.
Bunday holatda nafaqat dasturchilar, balki biznes tarafidagi odamlar ham sababchi bo'lib qoladilar. Chunki dasturga qo'yilgan talablar o'ta murakkab bo'lishi va ularni aniqlashtirishda dasturchilarga yetarli yordam ko'rsatilmasligi mumkin.
Albatta bularning hammasi shaxsiy mulohazalarim. Sizning fikringiz qanday?
Qisqa javob: Dasturni dasturchi qurgani uchun. π¬
Katta team/guruhlarda kod yozadigan dasturchilar asosan junior'lar va middle'lar. Senior dastruchilar esa asosan rejalashtirish, infrastruktura, kattaroq loyihalar fundamentini ko'tarish va hokazolar bilan shug'ullanishadi.
Mayda detallarda gap ko'p. Nisbatan kichik ishlar juniorlar tomonida bajariladi. Boshqalar (senior/middle) esa uni tekshiradi. Ba'zida mayda detallarga tikilib, asosiy narsalarni ko'rmay qolamiz. Bu tabiiy.
Undan tashqari berilgan dastur talablari va arxitekturasida yo'l qo'yilgan xatoliklar ham bor. Bu endi asosiy narsalarga e'tibor qaratib, mayda lekin muhim detallarni ko'zdan qochirish bo'ladi.
Bunday holatda nafaqat dasturchilar, balki biznes tarafidagi odamlar ham sababchi bo'lib qoladilar. Chunki dasturga qo'yilgan talablar o'ta murakkab bo'lishi va ularni aniqlashtirishda dasturchilarga yetarli yordam ko'rsatilmasligi mumkin.
Albatta bularning hammasi shaxsiy mulohazalarim. Sizning fikringiz qanday?
π12
Amalga oshirish juda murakkab bo'lgan ishga o'ta sodda yechim bera oldim. Albatta bu yechimga kelguncha ancha vaqtim ketdi.
Boshqa seniorlardan shunaqa maqtov olish boshqacha zavq beradida π. Har holda to'kilgan terga rozi bo'ladi odam. Quvvat beradi.
P.S. Uzr, maqatanishni yomon ko'raman, lekin bunaqa maqtov har doim ham eshitmayman. Shunga sizlarga ham ko'rsatgim keldi.
Boshqa seniorlardan shunaqa maqtov olish boshqacha zavq beradida π. Har holda to'kilgan terga rozi bo'ladi odam. Quvvat beradi.
P.S. Uzr, maqatanishni yomon ko'raman, lekin bunaqa maqtov har doim ham eshitmayman. Shunga sizlarga ham ko'rsatgim keldi.
π25π₯11π3
Keyingi livestream'da nima qilamiz?
Final Results
39%
React component challenge: Biror reusable komponent yasashni o'rganamiz
52%
Web Worker'lar bilan ishlashni o'rganamiz
58%
JavaScript + React intervyu masalalarini yechamiz
π10
Brogrammist
Bu safar YouTube'da qilamiz π https://www.youtube.com/live/5fMCXjqe7hg?si=cBHIQsFazMcFjXCH
Stream'ga kirganlarga katta rahmat!
Bu uslubda birinchi marta stream qilganim uchun kamchiliklar bo'lsa aybga buyurmaysiz. ποΈοΈοΈοΈοΈοΈ
Bu uslubda birinchi marta stream qilganim uchun kamchiliklar bo'lsa aybga buyurmaysiz. ποΈοΈοΈοΈοΈοΈ
π20π₯5π2
Signal API bilan biror ma'lumotni saqlash va uning o'zgarishini kuzatish mumkin. Xuddi React dagi state management ga o'xshaydi. Shuni JavaScript ning bir qismiga aylantirish uchun taklif kiritshibdi. Taklif hali 0-etapda, hali xom.
Agar bu JavaScript standartiga kiritilsa deyarli barcha UI freymvork va kutubxonalar hajmi qisqaradi. Page load performance uchun bu yaxshi. Bu birinchidan.
Ikkinchidan boilerplate-code kamayadi. Tushunarsiz murakkabliklar kamayadi. Bunday murakkabliklar faqat kutubxonalarga xos emas. State management katta dasturlarga kelganda har doim yoqimsiz mujmallikka sabab bo'ladi.
Uchinchidan DevTools.
Debugger ishlatganlar bormi? Ayniqsa React da biror narsani debugger orqali tekshiraman desangiz kutubxonaning ichki funksiyalari ichida qolib ketasiz. Bitta state update bo'lishi uchun "millionta" funksiya chaqiradi React! Nima bo'lyotganini tushunish qiyin va o'zingizning kodingiz qolib React ni ichida adashib qolasiz.
React va boshqa kutubxonalar qiladigan ishlarning katta qismini JavaScript ning o'zi qilsa qanday yaxshi? DevTools debugger ni ishlatish ancha oson va tushunarli bo'lardi.
Bu albatta mening ilk taassurot va mulohazalarim. Sizniki qanday?
https://github.com/proposal-signals/proposal-signals
Agar bu JavaScript standartiga kiritilsa deyarli barcha UI freymvork va kutubxonalar hajmi qisqaradi. Page load performance uchun bu yaxshi. Bu birinchidan.
Ikkinchidan boilerplate-code kamayadi. Tushunarsiz murakkabliklar kamayadi. Bunday murakkabliklar faqat kutubxonalarga xos emas. State management katta dasturlarga kelganda har doim yoqimsiz mujmallikka sabab bo'ladi.
Uchinchidan DevTools.
Debugger ishlatganlar bormi? Ayniqsa React da biror narsani debugger orqali tekshiraman desangiz kutubxonaning ichki funksiyalari ichida qolib ketasiz. Bitta state update bo'lishi uchun "millionta" funksiya chaqiradi React! Nima bo'lyotganini tushunish qiyin va o'zingizning kodingiz qolib React ni ichida adashib qolasiz.
React va boshqa kutubxonalar qiladigan ishlarning katta qismini JavaScript ning o'zi qilsa qanday yaxshi? DevTools debugger ni ishlatish ancha oson va tushunarli bo'lardi.
Bu albatta mening ilk taassurot va mulohazalarim. Sizniki qanday?
https://github.com/proposal-signals/proposal-signals
GitHub
GitHub - tc39/proposal-signals: A proposal to add signals to JavaScript.
A proposal to add signals to JavaScript. Contribute to tc39/proposal-signals development by creating an account on GitHub.
π4π₯3
Ba'zida Pinterest vebsaytini ustida ishlab o'tirganimda qiziq-qiziq rasm va videolarni ko'rib qilyotgan ishim esimdan chiqib ketadi.
Yaxshiyam Instagram yoki YouTubeda ishlamayman. π¬οΈοΈοΈοΈοΈοΈ
Yaxshiyam Instagram yoki YouTubeda ishlamayman. π¬οΈοΈοΈοΈοΈοΈ
π39
React 19 Beta
Eng katta yangiliklar:
1. Server actions
2. use huki
Shaxsan menga eng yoqqan o'zgarishlar:
1. Funksiyaviy komponentlar uchun endi forwardRef shart emas. Shunchaki props.ref qilib ishlatsa bo'ladi.
2. <Context /> o'zini endi Provider qilib ishlash mumkin. Ya'ni <Context.Provider /> qilib o'tirmasadan. π
3. Meta teglarni endi bemalol ishlatsa bo'ladi. Xatto CSS fayllarni qo'shish mumkin: π
4. useFormStatus
Endi <form> huddi Context kabi ishlaydi va uning ichida joylashgan komponentlar useFormStatus orqali formaning holatini o'qishlari mumkin (pending, submitted, ...).
Oldin bu ish uchun alohida Context yoki proplar zanjiri kerak bo'lardi.
Batafsil: https://react.dev/blog/2024/04/25/react-19#improvements-in-react-19
Eng katta yangiliklar:
1. Server actions
2. use huki
Shaxsan menga eng yoqqan o'zgarishlar:
1. Funksiyaviy komponentlar uchun endi forwardRef shart emas. Shunchaki props.ref qilib ishlatsa bo'ladi.
function Comp({ ref }) {
return <input ref={ref} />
}
2. <Context /> o'zini endi Provider qilib ishlash mumkin. Ya'ni <Context.Provider /> qilib o'tirmasadan. π
const Context = createContext('');
function App({children}) {
return (
<Context>
{children}
</Context>
);
}
3. Meta teglarni endi bemalol ishlatsa bo'ladi. Xatto CSS fayllarni qo'shish mumkin: π
function Page() {
return (
<div>
<title>Sarlavha</title>
<link
rel="stylesheet"
href="/page.css"
precedence="default"
/>
<meta name="author" content="Diyor" />
</div>
)
}
4. useFormStatus
Endi <form> huddi Context kabi ishlaydi va uning ichida joylashgan komponentlar useFormStatus orqali formaning holatini o'qishlari mumkin (pending, submitted, ...).
Oldin bu ish uchun alohida Context yoki proplar zanjiri kerak bo'lardi.
Batafsil: https://react.dev/blog/2024/04/25/react-19#improvements-in-react-19
react.dev
React v19 β React
The library for web and native user interfaces
π₯14π8
Telegram
Ravshanβs blog
π10