ru
Feedback

Не попадитесь на канал ботавода! Telemetrio находит и помечает такие каналы 👉 Хотите видеть метку — оформите подписку

Programming ∀

Programming ∀

Открыть в Telegram

Ushbu kanalda dasturlashga aloqador turli expriementlarim, g'oyalarim, hulosalarimni ulashaman.

Больше
1 359
Подписчики
+324 часа
+57 дней
+330 дней
Архив постов
Izoh sizdan ))
Izoh sizdan ))

6. E2E yoki integration testlar uchun mocking mani nazarimda ham unchalik effektiv bo'lmaydi. Ammo Unit Testlarda mocking ishlatilishi mumkin. Masalan sizda test qilmoqchi bo'lgan biror class ichida biror qoshimcha dependency ishlatilgan deylik. Siz esa faqatgina o'sha class qanday ishlashini test qilmoqchisiz sizga classning boshqa dependencylar bilan birga ishlab keyin qaytaradigan natijasi emas sizga class aniq talablarga aniq javob berishi yoki bermasligi qiziq. Shu sababdan unga bogliq dependencylarga etibor qaratmaslik kerak. Siz aniq bir maqsada faqatgina bir functionalni test qilmoqchisiz. Keyin boshqa tomondan o'ylasak shunga o'xshash yondoshuv to'g'ridan to'g'ri codebaseni ham to'g'ri yozishga sabab bo'ladi. Yuqorida shu masalaga oxshash masalalardan yig'ilgan hulosalarim natijasida Testlash code yozishni o'rgatyabti degan edim. PS: Sifatli productning asosiy o'lchovlaridan biri bu xatolikga yo'l qo'ymaslik emas. Xatoliklarni productionga chiqishdan avval masimal bartaraf etish. Ushbu amaliyotda eng muhim jarayonlardan biri testing.

Testlar Negadur ko'pchilik testlarni yozishni xoxlamaydi. Kop kompaniyalarda esa umuman testing masalasiga etibor qaratilmaydi. Bu borada tanqidiy hulosalar ko'p ammo bularni xozircha bayon qilmoqchi emasman. Xozir Unit Testlardan nima manfat ko'rganim shu bilan birga qanday tajribalar qilganimni bo'lishimoqchiman. Testlar yozish masalasida eng avvalida integration va E2E testlardan boshladim taxminan 2 yil avval. Testlarni kop holatlarda talabga emas biror qilingan funksionalga qarab yozar edik. Xozirgacha kopchilik shunday o'ylasa kerak. Ammo minde o'ylab qarasam bu umuman foydasiz ekan ))). Test yozish emas yondoshuv yoki uslub xato ! Keyin qarashlar va olchovlar o'zgarib (Shakillanib) boshladi. Testlar haqida shaxsiy fikrlar paydo bo'la boshlagandan keyin talablar ham paydo bo'ldi yoki borlari o'zgardi. Keyin birqancha savollar qiynadi. 1. Testlar nima uchun kerak ? Test yozishda o'zi qanday yondoshuv kerak ? 2. Nima uchun Unit Testlar yozishim kerak axir Integration yoki E2E bundan ko'proq value beradiku ! 3. Nima sababdan dasturchi test yozishi kerak buni ana testerlar qilgani yaxshi... 4. Client test yozganimga pul bermaydi (( 5. Xop test yozaman ammo nimani testlashim kerak ? Aynan qayerda test yozish keragu qayerda yo'q 6. Test yozish jarayonida mocking qilish g'alatiku. Mock functional bilan real ishlashdagi farqli bo'lishi mumkin Bu savollarga javob topguncha ancha vaqt ketdi. Ammo javoblar xozircha qoniqtirdi va yangi savollar paydo bo'lmoqda ))). Demak javoblar. 1. Testlash va testlar yozish ortiqcha ish emas. Biz testlarda aniq requirementlarni belgilab izohlay olsak testlar ishimizni ancha osonlashtiradi shu bilan birga qilingan ish yoki functional requirementga qanchalik mos kelishini isbotlay oladi. Shu sababdan testlarni aniq requirementlarga qarab yozishimiz kerak va bu o'ta muhim ! 2. E2E va Integration testlar biror functionalni to'liq ishlayotganini tekshiradi. Yani barcha qismlar yaxlit qilib yeg'ilib bajaryaotgan ishini tekshiradi. Yani buyoqda jarayon abstract ammo natija muhim bo'ladi. (Jarayoni ham to'liq testlash mumkin ekani xaqida eshitganman ammo tajribada sinalgani yo'q xozircha) Unit testlar esa aniq maqsadga qaratilgan kichik qismlarni tekshiradi. Shu bilan bir qatorda Unit Testlar yozish orqali code yozishni ham o'rganvoman. Ayniqsa har Single Responsibilityga qattiq rioya qilish muhim. Bo'lmasa Unit Testlardan foyda yo'q. Agar codeda Unit Testlar bo'lsa va testable bo'lsa demak unday bo'lmaganidan ko'ra sifatli code bo'lish extimoli katta. Yani Unit Testlar bizga IDE darajasida muhim. 3. Testlarni dasturchi yozishi kerak. Chunki dasturchidan boshqasi qilgan ishiga javob bera olmaydi. Agar testlar yaxshi implement qilingan bo'lsa. Dasturchilar qilgan ishlarini testlar yordamida isbotlay oladilar (To'g'ri bu managementga umuman qiziq emas afsuski ). Ammo biz xatolarimizni clientdan yoki managerdan oldin topishimiz uchun ham test yozishimiz kerak. Testlar birinchi bug filter vazifasida ham bo'lishi mumkin. 4. To'g'ri client code yozganga pul to'laydi. Ammo clientga yozgan code aniq requirementlarga javob berayotganini isbotlash uchun ham testlar kerak. Buyoqda siz o'z ishingiz sifatini o'lchashingiz uchun ham test yozishiz kerak. 5. Testlashda eng muhim narsa testlar sizning qilgan ishingiz malum talablarga javob berish bermasligini aniqlash degan ekanmiz demak testlarni imkon qadar hamma joyda yozish kerak. Coreda ham oddiy kichik functionalarda ham. Yoki sodda bir maqsadli functionlarda ham. API darajasida ham.

Daily devda ham yaxshi narsalar bo'lib turadida. Xozir open soucelar haqida podcast bo'voti )). PS: Shu extensioni bir ukam install qilib bergandan buyon duo qilaman shu bolani )) https://www.youtube.com/watch?v=YqoI6ANn3nQ

Ko'zingizni oching, reklamadagi gaplar shunchaki so'z o'yini. O'zlari ham 5000$ ga ishonishmaydi. 5000$ haqida gap ketyabdi akalar... Oddiy 10 ta o'qituvchining oyligi!

Microservices desa 😇 vau der edim. Xozir esa "ko'nglim aynavoti" (Ko'chma manoda) )). PS: Agar sizda ham perfectionism yuqori bo'lsa ushbu gapni tushunasiz )). Shu mavzularni o'qishni tavsiya qilaman zerikanda )) https://microservices.io/

Bu dunyoda 10 xil odamlar bor Binary'ni tushunadigan va tushunmaydigan © Muhammadokamla ))

Github contributionlaringizni 3D va VR ko'rinishida ko'rish imkoniyati qo'shilibti. Ajoyib ko'rinar ekan.
Github contributionlaringizni 3D va VR ko'rinishida ko'rish imkoniyati qo'shilibti. Ajoyib ko'rinar ekan.

Github contributionlaringizni 3D va VR ko'rinishida ko'rsangiz bo

Software architecture izlanishlar bolagan edim shu mavzu bo'yicha tajriba namunalari ustida intensiv ishlashni boshladim. Xozirgacha Softwareni birqancha layerlarga ajratib chiqdim va functional based modulelar qurdim. Modulelarni ham maksemum boshqasidan independed qilish uchun bir biriga murojat qilishini servicelar ko'rinishda realizatsiya qildim. 1-2 oylik izlanishlar natijasida bazi abstract hulosa va nazariyalar oldim. Ammo bularni isbotlaydigan caselar xozircha kam. Lekin aniq maqsadlar qo'yildi. Goals to be achieved !: 1. Barcha layerlar testable bo'lishi kerak. 2. Asosiy application logic mutlaqo mustaqil bo'lishi kerak 3. Interfacelarga bog'liqlik bo'lmasligi kerak 4. Main dependencylarda driverlarda birxil methodlar ishlashi kerak. 5. Code sodda bo'lishi kerak 6. Maintainable bo'lishi kerak 7. Nullable exeptionlar bo'lmasligi kerak. Xozircha sifatli software deganda shuni tushunaman. Keyinchalik fikrlarim o'zgarishi mumkin. Xozirgi hulosalarimga kelgunimcha bir tajriba namunasi ustida ko'p ishladim. InshaAllah tez orada beta version va batafsil maqola yozaman.

Repost from Vodiylik aka
Bugun Ubuntu 22.04 LTS final versiyasi chiqishi kutilyapti. Bundan tashqari bu asosida yaratiladigan: Kubuntu (KDE), Xubuntu
Bugun Ubuntu 22.04 LTS final versiyasi chiqishi kutilyapti. Bundan tashqari bu asosida yaratiladigan: Kubuntu (KDE), Xubuntu (Xfce), Lubuntu (LxQt), Ubuntu Studio (Xfce), Ubuntu Budgie (Budgie) talqinlari ham final relizlari taqdim etiladi. @vodiylik

Model: Mackbook pro 16 inch, 2019 Aprel, CPU: Core I9, 2.3GHz, RAM: 16GB DDR4, HDD: 1TB SSD Graphics: 16 Retina Display, AMD
+4
Model: Mackbook pro 16 inch, 2019 Aprel, CPU: Core I9, 2.3GHz, RAM: 16GB DDR4, HDD: 1TB SSD Graphics: 16 Retina Display, AMD Radeon Pro 5500m 4 gb + Intel UHD Graphics 630, Battery: ~8 soat, Battery cycle ~ 183 Holati: B.U, Ideal Afzalliklari: 1. Alumeny corpus, ustiga shisha keys qo'yilgan. 2. Batareya ~183 cycle count. 3. Korobka documentlari bor. 4. Dock case hub qo'shib beriladi ($50) 🎼 1800$ +998999690808

Eng qizigi issuelar ham report qilinshni boshlangani 😁
Eng qizigi issuelar ham report qilinshni boshlangani 😁

Nodejs 18 available 🥳 Features: - Fetch API qo'shildi - Web Streamlar - Test runner module Yana birqancha o'zgarishlar qilingan. Havolani pastda qoldiraman. PS: Manga eng yoqgani fetch va test runnerlar bo'ldi. Thanks to the contributors https://nodejs.org/en/blog/announcements/v18-release-announce/

Testing haqida ozgina oqigandan keyin men: Bu yeda type number bo'lishi kerak edi 🤯
Testing haqida ozgina oqigandan keyin men: Bu yeda type number bo'lishi kerak edi 🤯

Classlardagi private methodlarni test qilishda ko'pchilik qo'shimcha biror narsa qilishi mumkin. Odatda biror mocking qilinadi va aniq testlashdan chalkashiladi. Yani test uchun ham alohida code yoziladi. Undan ko'ra hhuni o'rniga bir yaxshi yechim bor. https://gist.github.com/akhmadiy/6e38f7ef3594a01bab9b03adb26e65a1

Dasturlashga aloqador o'qigan eng ajoyib kitoblarimdan biri Elegant objects (Yegor Bugayenko). Kitob biroz adavanced va o'zga
Dasturlashga aloqador o'qigan eng ajoyib kitoblarimdan biri Elegant objects (Yegor Bugayenko). Kitob biroz adavanced va o'zgacha yondoshuv bilan yozilgan. Eng yoqgan joyi har bir mavzu uchun alohida discussing bor. Bemalol ushbu mavzuni takrorlash yoki yanayam yaxshiroq tushunish uchun discussingda qatnashsangiz bo'ladi. PS: Xozircha pdf versiyani o'qib turibman keyingi oylarga sotib olishni reja qildim.

Bilimlarni tajribaga aylanishi haqida juda sodda va lo'nda izoh. Barchadan qanchadur muddatlik tajriba so'ralishining sababi
Bilimlarni tajribaga aylanishi haqida juda sodda va lo'nda izoh. Barchadan qanchadur muddatlik tajriba so'ralishining sababi ham shu.

Ko'pchili muammolarni to'g'ri report qilishni bilmaydi. Shu sababdan qisqa standart shalon tayyorlagan edim. PS: Muammoni to'g'ri reprot qilish eng muhim skilardan. Shablon: https://gist.github.com/akhmadiy/a48db254a150b94ad3795de39e090eb9 Example: https://gist.github.com/akhmadiy/9cf3d7b8d5f630d0041266a7d4ba7e96

Assalomu Alaikum Minimum ~3+ yil real loyihalarda tajribali engineerlar bolsa referal qilaman. Typescript, Mongodb, Nodejs, Microservices Software va system architecturedan xabari bolishi kerak. Oylik 2000$ Dan boshlanadi. PS: Junior va intenrshiplar yoq xozircha (( Iltimos shuni xisobga oling. Minimum 2-3 yil tajribali engineerlar kerak