Ramziddin — AI va dasturlash haqida
رفتن به کانال در Telegram
Man bilan bog'lanish – t.me/ramzcoder?direct Ingliz tilida kanalim – @ramzcoderen Ramzcoder community – @ramzcodercom Instagram — instagram.com/ramzcoder Programming emoji pack – t.me/addemoji/ramzcoder
نمایش بیشتر2 181
مشترکین
اطلاعاتی وجود ندارد24 ساعت
-1 1377 روز
-430 روز
آرشیو پست ها
Dasturchilar, man ishdan ketdim...
Endi yangi yildan keyin qaytaman
it('should render', () => {
render(<App />)
let main = screen.getByRole('main')
expect(main).toBeInTheDocument()
})Shu React component @JonliChatBot-da online userlar sonini ko'rsatishga ishlatiladi.
Qanday qilib uni test qilishimiz mumkin?
Birinchi bo'lib hayolga kelgan narsa esa
useEmitOnce vs useSocketValue mock qilish va render natijasini tekshirish.
Lekin bizga farqi bo'lmaslik kerak component useEmitOncedan foydalanvottimi, to'g'ridan to'g'ri `socket.emit`dan foydalanvottimi yoki boshqa usul bilan mi. Bu esa "implementation detail".
Agar biz implementationga testlarimizani bog'lab qo'ysak – componentning implementationi update qilnganingizda testingiz ham buziladi.
Bu yerda savol paydo bo'ladi: tetsingiz o'zi to'g'ri narsani test qilvottimi yoki shunchaki funksiyalar call qilinishini test qilvottimi?
Undan ko'ra componentning natijasini test qilishimiz kerak. Buning uchun MSW yordamida WebSocket messagelarni intercept qilishimiz mumkin va funksiya darajada mock qilishi o'rniga – WebSocket protocol darajada mock qilishimiz mumkin.
Va React Testing Library yordamida role-based testing yozamiz. React Testing Librarydan foydalanish ham implementationi test qilishdan bizni uzoqlashtiradi.
Shunaqa usul yordamida, keyinchalik socket.io-dan boshqa narsaga o'tsam – testlar buzilmaydi, chunki implementation test qilishi o'rniga, testlar natijani test qiladi.
P.S.: albatta MSW bilan ishlash mocklar bilan solishtirganda ancha qiyinroq bo'lishi mumkin. Boshida ba'zi logikalarni alohida hook/funksiyaga chiqarib, uni test qilib, qolgan uni ishlatadigan qismlarni shunchaki spy yoki mock qilishimiz mumkin.Qanday qilib Supermiya va Superintizom Next.js ilovalarga Paymeni ulaganman
Eski kodimni sharmanda bo'lib razbor qilaman
https://youtube.com/live/zNmz5QZ2z7A?feature=share
Bilaman, ko'pchiliklar interfacedan foydalanishadi. Balki interface bilan ham shunaqa qilish mumkin, lekin
type yordamida bu narsani aniq qilishi mumkin:
Bu misolda agar variant "foo" bo'lsa, faqat "foo" propdan foydalanishingiz mumkin, agar variant "bar" bo'lsa, faqat "bar" propdan foydalanishingiz mumkin.
Bu narsani nomi esa "discriminated union".+1
Qaysi birini yozasiz?
Ohirigi payt man ko'proq 2 variant yozaman.
Man tezroq komponentni ko'rmoqchiman, va uni typelari komponentni o'qish jarayonimda yoki o'qib bo'lganimdan keyin qiziq bo'ladi.
Ertaga soat 19:00 da man va @SeoulDev (obuna bo’lib qo’ying) jonli efir o’tqazamiz.
Topics:
1. Each other’s software development journey
2. "Day in the life" comparison between Korea and Uzbekistan's tech.
3. The local developer communities in both countries
4. Side projects we’re excited about
5. Tech hot takes and unpopular opinions
Va ko’proq
Kanalda havola yuboramiz jonli efirga
Nimaga manga pizza tayyorlash yoqdi.
Chunki recipe bo'yicha hamr tayyorlaysiz, kerakli tayyor sous ishlatasiz, pomidor bilan sir kesasiz, va duxovka/skovordkada 5 daqiqada tayyor.
Sizda xech qachon pizza tayyorlaganingizda skovorodka@19.5.0 peer dependencie issue paydo bo'lmaydi cnunki pomidor maintaineri dependencyni update qilishi esidan chiqardi
+1
Dasturchi bo'lganim uchun ChatGPTdan yaxshi foydalanishi bilaman.
3ta pizza qilmoqchiman (skovorodka bilan, duxovka yo'qligi uchun).
To'g'ri jarayoni boshladimmi?
Kimga qiziq bo'lsa @JonliChatBot, ramzcoder.uz va boshqa saytlarni analitikasi uchun Cloudflare Web Analyticsdan foydalanaman
اکنون در دسترس! پژوهش تلگرام ۲۰۲۵ — مهمترین بینشهای سال 
