Brogrammist
Открыть в Telegram
Veb-dasturlash bo'yicha kamtarona bilim va tajribalarimni ulashaman. Konsultatsiya: https://connected.uz/x/DiyorbekSadullaev Sayt: https://diyorbek.blog YouTube: https://youtube.com/@brogrammistuz Insta: https://instagram.com/brogrammistuz
Больше1 206
Подписчики
-124 часа
-87 дней
-830 дней
Архив постов
1 206
Canvas Native
Kutubxona holatiga keltirdim. Shunchaki skript yozib Deno orqali run qilsangiz bo'ldi.
Bun.js bilan ham ishlaydi.
https://github.com/diyorbek/canvas-native
1 206
Ba'zan team lead'lardan "oddiy senior bo'lib ishlaganim yaxshi edi" degan gaplarni eshitib turaman.
1 206
Repost from Yusuf Abdullaev | Blog
Less is more
Rahul aka Metada Staff SWE roldan >> Google Senior SWE roliga o'tgan kishi haqida yozibdi. Work-life balance uchun kattaroq title va oylikdan voz kechib, oddiyroq, lekin yashashga vaqt beradigan rolga o'tgan ekan.
Hungerstationda ham shunday bir injener bor edi. 10+ yil iOS engineering tajribali rus dasturchi, Staff SWE roliga o'tishni taklif qilishganda rad etib, Senior rolida qolgan ekan. Asosiy sabab – Staff roli managerial track-ga yaqinroq, javobgarlik va asosiysi office politics ko'proq bo'lgan rol ekani. Ofisda odamlar bilan yonma-yon ishlaganda ofis siyosati, ya'ni yon atrofdagilar, ayniqsa o'zingizdan balandroq pozitsiyadagilar bilan muloqot qila olish, ittifoqchilar topish, kerakli odamni oldida kerakli gapni aytish, juda muhim faktorga aylanarkan. Individual contributor (IC) rollar odatda mustaqilroq, asosan o'zingiz yozadigan kodga javobgar qiladi va performance review qilingan mehnatga bog'liq. Staff va undan keyin manager rollari odamlar bilan ko'proq ishlashni talab qiladi, ish sifati va performance nafaqat mahsulot, balki jarayon va muloqotga asosan baholanadi. Ko'p dasturchilar bu haqiqatni qabul qilishi qiyin. Balki shuning uchun ham kod yozishdan boshqaruvga o'tadigan dasturchilarni qadri (oyliklari) balandroqdir.
Boshqa tomondan, shu narsani tushunib, shunchaki kod yozib yurish (IC-lik) o'ziga eng mos rol ekanini anglab, keyingi darajaga chiqmaslik ham bir jasorat. Qog'ozdagi muvaffaqiyat va progressdan ko'ra baxtli bo'lishni tanlash, egoni ustidan o'tish ham oson emas.
@yusufblogs
1 206
Ora-orada "kurs chiqarmaysizmi" degan savollar kelib turadi.
O'tgan yili ham onlayn, ham oflayn dars berib ko'rdim. Kurs chiqarshga harakat qildim.
Rostini aytsam, o'qitish men uchun emas ekan. Sababi:
1. Oflayn darsalardan olingan feedback meni qoniqtirmadi. O'quvchilar kutilganidan kam narsa o'rgandim deyishdi.
2. O'quvchilarning faol bo'lmagani ham shu natijaga sabab bo'lgandir. Lekin bu natijadan keyin men ularni nimadir o'rganishiga majburlashim, va ular menga bu uchun pul to'lashi ma'nosiz tuyuldi.
3. Men o'qituvchi emasman, bo'lishni ham xohlamayman. Ilm tarqatishni kasb qilish pedogogik salohiyat talab qiladi. Menda bu yo'q deb aytsam noto'g'ri bo'lar. Lekin uni ustida ishlasha menda ishtiyoq yo'q.
Menga ilm ulashish yoqadi lekin u mening kasbimga aylanishini xohlamayman.
1 206
Bu loyihadan maqsad o'zi nima?
JavaScript orqali native desktop dasturlash yasaydigan kutubxona yasash.
Unaqa frameworklar borku?
Ha, lekin ko'pchiligi webview/chromium ustiga qurilgan.
React Native'dan tashqari.
Maqsad framework yaratish ham emas. Bu loyihani yasash mobaynida qancha narsa o'rganganimni tasavvur qilolmaysiz:
1. Browser critical rendering path ni 0 dan qisman implementatsiya qildim.
2. React Native yangi arxitekturasi kabi, native funksiyalarni sinxron chaqirishni qayta implementatsiya qildim.
3. requestAnimationFrame ni 0 dan implementatisya qildim.
4. Deno, SDL, Nanovg kutubxonalaridan baglar topdim. Allaqachon Githubda issue'lar ochilgan ekan. Ba'zilari ochilganiga 2 kun bo'lgan, ba'zilar esa 2-3 yildan beri aktive muhokama qilinyapti ekan.
Agar loyihani davom ettirsam, JS dagi biz shunchaki ishlatadigan ko'pchilik mexnizmlarni, intevyularda so'raladigan nazariyalarni qo'lda 0 dan yozib chiqaman.
Bularni qilish orqali JS va brauzerlar qanday ishlashini ipidan-ignasigacha bilib olish mumkin.
Qisqasi - loyihadan maqsad yo'q.
1 206
Canvas Native bilan experimentlarim devom etmoqda
• Non-blocking API
• requestAnimationFrame - stabil 60+ FPS
• Canvas API +-70% implementatsiya qildim
Lekin haliyam kutubxona ko'rinishida emas. Native kutubxonani build qiladigan script qo'shishim kerak.
Hozircha input handling (mouse+keyboard) ustida ishlayapman.
1 206
Axios.js ni ham hack qilishdi
Agar Fetch API'da "upload/download progress"ni kuzatish imkoniyati bo'lganida 99.9% holatda hamma Axios + XHR dan voz kechgan bo'lar edi.
Eski brauzerlar va loyihalarni hisobga olmaganda albatta.
Mana shu proposal tezroq ishlab chiqilsa zo'r bo'lardi.
https://github.com/whatwg/fetch/pull/1843
1 206
Nega SVG fayllarni otimizatsiya qilish kerak? - degan savolga javob.
Men svgomg.net dan foydalanaman, asosan.
1 206
Agar backend dasturchi sifatida shularning kamida 10 tasini aniq tushuntirib berolmasangiz, o'zingizga bir shapaloq tushuring. ✋
Frontend dasturchi sifatida ham men shu gapni aytgan bo'lar edim. Kuchli frontendchilar ham shulardan kamida 10 tasini bilishi shart.
1 206
React.js - Jonli darslar
O'tgan yili 42.uz da jonli darslar o'tgandim. Shu paytgacha faqat darsda qatnashganlarda videolari bor edi. Endi ularni YouTube da ko'rishingiz mumkin.
Foydali bo'ladi degan umiddaman!
https://youtube.com/playlist?list=PLnxmPsKvCa7uLukkOxWrHcUWXXT53QWPn&si=McjnezELcVBmxx6Z
1 206
Canvas Native loyihamning
requestAnimationFrame ni implementatsiya qiladigan joyiga keldim. Stream qilishga sharoit to'g'ri kelmayapti. Hech bo'lmasa update'larni yozib turay.
Raylib dan voz kechib, o'rniga SDL3 ni ishlatyapman. Raylibda ko'p narsalar abstraktsiya qilingani uchun ba'zi joylarda muammo tug'dirdi.1 206
#offtopic lekin dolzarb. Bu narsa borligi va jamiyat yemirilishi yoki yuksalishida ahamiyatga ega ekanini yodda saqlash kerak.
