چرا Vitest رو به Jest ترجیح بدیم؟ 🥶
Jest و Vitest یکی از چندین فریمورکهایی هستن که برای نوشتن تست (unit test یا integration test) داخل پروژههامون استفاده میکنیم.
Vitest به عنوان جایگزینی جدیدتر، سریع تر و ساده تر معرفی شد. این فریمورک به دلیل (Hot Module Replacement) HMR و پشتیبانی از ESM (ECMAScript Modules) سرعتی به مراتب بالاتر از jest داره. پشتیبانی داخلی از Ts بدون نیاز به ابزارهای اضافی باعث شده محیط نوشتن کدها دارای ساختاری یکسان باشه و مثل خیلی از فریمورکهای دیگه اجرای تستها در مرورگر و Node.js به راحتی امکان پذیره. مهاجرت از Jest به Vitest کار چندان سختی نیست اگر از قبل با jest کار کرده باشید.
قید Jest رو کلا بزنیم؟
قطعا نه و هنوز تو بعضی شرایط انتخاب منطقیتریه. برای مثال در پروژه های Next.js یکسری محدودیتها برای Vitest وجود داره و استفاده از Jest منطقیتره.
آیا پروژه باید با vite باشه تا بتونیم از Vitest استفاده کنیم؟
Vitest بهعنوان یک فریمورک تست مستقل کار میکنه و میتونیم اون رو در هر پروژه جاوا/تایپ اسکریپت استفاده، و فقط کانفیگهای مربوطه رو اضافه کنیم.
#testing
@CodeModule
Jest و Vitest یکی از چندین فریمورکهایی هستن که برای نوشتن تست (unit test یا integration test) داخل پروژههامون استفاده میکنیم.
Vitest به عنوان جایگزینی جدیدتر، سریع تر و ساده تر معرفی شد. این فریمورک به دلیل (Hot Module Replacement) HMR و پشتیبانی از ESM (ECMAScript Modules) سرعتی به مراتب بالاتر از jest داره. پشتیبانی داخلی از Ts بدون نیاز به ابزارهای اضافی باعث شده محیط نوشتن کدها دارای ساختاری یکسان باشه و مثل خیلی از فریمورکهای دیگه اجرای تستها در مرورگر و Node.js به راحتی امکان پذیره. مهاجرت از Jest به Vitest کار چندان سختی نیست اگر از قبل با jest کار کرده باشید.
قید Jest رو کلا بزنیم؟
قطعا نه و هنوز تو بعضی شرایط انتخاب منطقیتریه. برای مثال در پروژه های Next.js یکسری محدودیتها برای Vitest وجود داره و استفاده از Jest منطقیتره.
آیا پروژه باید با vite باشه تا بتونیم از Vitest استفاده کنیم؟
Vitest بهعنوان یک فریمورک تست مستقل کار میکنه و میتونیم اون رو در هر پروژه جاوا/تایپ اسکریپت استفاده، و فقط کانفیگهای مربوطه رو اضافه کنیم.
#testing
@CodeModule
🔥12👌3
با React Scan بیشتر آشنا بشید 💎
پکیج React Scan در واقع یک ابزار نسبتاً جدید و جالب برای آنالیز و اسکن پروژههای ریکتی هست که به شما، در شناسایی رندرهای غیرضروری در پروژتون کمک میکنه. این ابزار مشکلات عملکردی مربوط به re-render شدن کامپوننتها رو بدون نیاز به تغییر در کد به راحتی شناسایی میکنه.
برخلاف ابزارهای دیگه مثل React Devtools، این پکیج بهصورت دقیق مشخص میکنه که کدوم کامپوننتها باعث کند شدن پروژتون و آسیب به پرفورمنس میشن.
📎 Document
#reactScan
@CodeModule
پکیج React Scan در واقع یک ابزار نسبتاً جدید و جالب برای آنالیز و اسکن پروژههای ریکتی هست که به شما، در شناسایی رندرهای غیرضروری در پروژتون کمک میکنه. این ابزار مشکلات عملکردی مربوط به re-render شدن کامپوننتها رو بدون نیاز به تغییر در کد به راحتی شناسایی میکنه.
برخلاف ابزارهای دیگه مثل React Devtools، این پکیج بهصورت دقیق مشخص میکنه که کدوم کامپوننتها باعث کند شدن پروژتون و آسیب به پرفورمنس میشن.
📎 Document
#reactScan
@CodeModule
🔥21👌1
چطور اکانت گیتهابم رو حفظ کنم؟ مروری بر 2FA و اهمیت مدیریت دسترسیها 🔥
چند روز پیش یک مشکلی با سیستم 2FA داشتم که خیلی به موقع خودش رو نشون داد. به اپ 2FA در گوشیم دسترسی نداشتم و از اون بدتر، ریکاوری کدهایی که باید ذخیره میکردم رو اصلاً نداشتم! (که خب معمولاً خیلیا همینطوری هستن). این شد که یک وضعیت بحرانی پیش اومد و من به از تمام اکانتهای گیتهابم اومده بودم بیرون. تنها راه دسترسی به اکانتم هم یه PAT یا (Personal Access Token) بود که به سختی ساعتها گشتم تا پیداش کنم و در نهایت تونستم وارد بشم. ولی این اتفاق به من یادآوری کرد که چقدر مهمه چند تا نکته امنیتی ساده رو برای اکانت گیتهابمون فعال کنیم تا مثل من یهو از زندگی ناامید نشین!
1- سیو کردن ریکاوری کدها
اولین و مهمترین چیزی که باید انجام بدید اینه که ریکاوری کدها رو دانلود کنید و حتما یه جایی ذخیره کنید. نوشتن اونا توی جایی که به راحتی بهش دسترسی داشته باشید (مثلاً یه فایل امن یا یه اپ مخصوص ذخیرهسازی پسورد) خیلی میتونه کمککننده باشه. این کار رو حتما انجام بدید که اگر روزی روزگاری به اپ 2FA دسترسی نداشتید، راحت بتونید وارد بشید.
2- فعال کردن SSH
یکی دیگه از کارهایی که به شدت توصیه میکنم، فعال کردن SSH برای اکانت گیتهاب هست. این کار کمک میکنه که بدون نیاز به وارد کردن پسورد یا توکن، بتونید به راحتی به گیتهاب دسترسی پیدا کنید.
نحوه فعال سازی SSH:
- ابتدا باید یک کلید SSH بسازید (با استفاده از
- بعد از ساخت کلید، باید اون رو به گیتهاب اضافه کنید از طریق تنظیمات SSH Keys در گیتهاب.
3- اکسس توکن (PAT)
همچنین به جای استفاده از پسورد برای احراز هویت، میتونید از اکسس توکنها (PAT) استفاده کنید. این توکنها برای ارتباط امنتر با گیتهاب خیلی مفید هستند.
نحوه فعال سازی PAT:
- به تنظیمات اکانت گیتهاب برید.
- در قسمت Developer Settings، گزینه Personal Access Tokens رو پیدا کنید.
- توکن جدید بسازید و سطوح دسترسی مورد نظر رو انتخاب کنید.
مهم:
اگر هیچ کدوم از این روشها رو برای اکانتتون فعال نکردید، گیتهاب هیچ تضمینی نمیده که بتونید اکانتتون رو بازیابی کنید. نهایتاً ممکنه مجبور میشید ایمیل رو unlink کنید و یه اکانت جدید بسازید، ولی حتی در این صورت هم تاریخچه کامیتها و اطلاعات دیگه رو ممکنه از دست بدید.
#github
@CodeModule
چند روز پیش یک مشکلی با سیستم 2FA داشتم که خیلی به موقع خودش رو نشون داد. به اپ 2FA در گوشیم دسترسی نداشتم و از اون بدتر، ریکاوری کدهایی که باید ذخیره میکردم رو اصلاً نداشتم! (که خب معمولاً خیلیا همینطوری هستن). این شد که یک وضعیت بحرانی پیش اومد و من به از تمام اکانتهای گیتهابم اومده بودم بیرون. تنها راه دسترسی به اکانتم هم یه PAT یا (Personal Access Token) بود که به سختی ساعتها گشتم تا پیداش کنم و در نهایت تونستم وارد بشم. ولی این اتفاق به من یادآوری کرد که چقدر مهمه چند تا نکته امنیتی ساده رو برای اکانت گیتهابمون فعال کنیم تا مثل من یهو از زندگی ناامید نشین!
1- سیو کردن ریکاوری کدها
اولین و مهمترین چیزی که باید انجام بدید اینه که ریکاوری کدها رو دانلود کنید و حتما یه جایی ذخیره کنید. نوشتن اونا توی جایی که به راحتی بهش دسترسی داشته باشید (مثلاً یه فایل امن یا یه اپ مخصوص ذخیرهسازی پسورد) خیلی میتونه کمککننده باشه. این کار رو حتما انجام بدید که اگر روزی روزگاری به اپ 2FA دسترسی نداشتید، راحت بتونید وارد بشید.
2- فعال کردن SSH
یکی دیگه از کارهایی که به شدت توصیه میکنم، فعال کردن SSH برای اکانت گیتهاب هست. این کار کمک میکنه که بدون نیاز به وارد کردن پسورد یا توکن، بتونید به راحتی به گیتهاب دسترسی پیدا کنید.
نحوه فعال سازی SSH:
- ابتدا باید یک کلید SSH بسازید (با استفاده از
ssh-keygen
در ترمینال).- بعد از ساخت کلید، باید اون رو به گیتهاب اضافه کنید از طریق تنظیمات SSH Keys در گیتهاب.
3- اکسس توکن (PAT)
همچنین به جای استفاده از پسورد برای احراز هویت، میتونید از اکسس توکنها (PAT) استفاده کنید. این توکنها برای ارتباط امنتر با گیتهاب خیلی مفید هستند.
نحوه فعال سازی PAT:
- به تنظیمات اکانت گیتهاب برید.
- در قسمت Developer Settings، گزینه Personal Access Tokens رو پیدا کنید.
- توکن جدید بسازید و سطوح دسترسی مورد نظر رو انتخاب کنید.
مهم:
اگر هیچ کدوم از این روشها رو برای اکانتتون فعال نکردید، گیتهاب هیچ تضمینی نمیده که بتونید اکانتتون رو بازیابی کنید. نهایتاً ممکنه مجبور میشید ایمیل رو unlink کنید و یه اکانت جدید بسازید، ولی حتی در این صورت هم تاریخچه کامیتها و اطلاعات دیگه رو ممکنه از دست بدید.
#github
@CodeModule
⚡10
با پکیج nextjs-toploader رنگ و بوی جدیدی به پروژت بده🔥
nextjs-toploader یه پکیجِ انیمیشنی هست که در پروژههای Next.js استفاده میشه. با استفاده از این پکیج، زمانی که بین صفحات مختلف جابهجا میشید، در بالای صفحه یه progress bar (نوار لودینگ باریک) نشون داده میشه.
برخی ویژگیهای nextjs-toploader
🧬 خیلی ساده و سریع راهاندازی میشه.
🧬 رنگ، ارتفاع، سرعت پیشروی و شکلش کاملا قابل تغییره.
🧬 با Router Events توی Next.js کار میکنه (مثل routeChangeStart, routeChangeComplete)
برای کسب اطلاعات بیشتر به داکیومنت این پکیج مراجعه کنید.
#animation #toploader
@CodeModule
nextjs-toploader یه پکیجِ انیمیشنی هست که در پروژههای Next.js استفاده میشه. با استفاده از این پکیج، زمانی که بین صفحات مختلف جابهجا میشید، در بالای صفحه یه progress bar (نوار لودینگ باریک) نشون داده میشه.
درست مثل نوار باریکی که بالای سایت معروفی مثل YouTube موقع لود صفحه جدید میبینی.
برخی ویژگیهای nextjs-toploader
🧬 خیلی ساده و سریع راهاندازی میشه.
🧬 رنگ، ارتفاع، سرعت پیشروی و شکلش کاملا قابل تغییره.
🧬 با Router Events توی Next.js کار میکنه (مثل routeChangeStart, routeChangeComplete)
برای کسب اطلاعات بیشتر به داکیومنت این پکیج مراجعه کنید.
#animation #toploader
@CodeModule
🔥12❤🔥4👌1
Forwarded from FullstacksJS — Academy
قابلیت جدید CSS برای ساخت Carousel
تو این ویدئو به قابلیت جدید CSS برای ساخت Carousel میپردازیم.
مشاهده ویدئو
این ویدئو بخشی از استریم های هفتگی جامعه ست شما هم میتونید با دنبال کردن کانال توی لایو ها شرکت کنید:
https://twitch.tv/fullstacksjs
عضویت در جامعه:
https://fullstacksjs.com
#wus #carousel #css
تو این ویدئو به قابلیت جدید CSS برای ساخت Carousel میپردازیم.
مشاهده ویدئو
این ویدئو بخشی از استریم های هفتگی جامعه ست شما هم میتونید با دنبال کردن کانال توی لایو ها شرکت کنید:
https://twitch.tv/fullstacksjs
عضویت در جامعه:
https://fullstacksjs.com
#wus #carousel #css
YouTube
قابلیت جدید CSS برای ساخت Carousel
تو این ویدئو به قابلیت جدید CSS برای ساخت Carousel میپردازیم.
این ویدئو بخشی از استریم های هفتگی جامعه ست شما هم میتونید با دنبال کردن کانال توی لایو ها شرکت کنید:
https://twitch.tv/fullstacksjs
عضویت در جامعه:
https://fullstacksjs.com
#fullstacksjs #carousel…
این ویدئو بخشی از استریم های هفتگی جامعه ست شما هم میتونید با دنبال کردن کانال توی لایو ها شرکت کنید:
https://twitch.tv/fullstacksjs
عضویت در جامعه:
https://fullstacksjs.com
#fullstacksjs #carousel…
⚡7❤🔥2
اگه برای تمرین و کدنویسی دنبال ui خاصی میگردید، این طرح فیگما رو به هیچ وجه از دست ندید 💀
🔗 Link
#figma
@CodeModule
🔗 Link
#figma
@CodeModule
🔥17
پیغامهای زیبا با Sonner ☔️
Sonner یک کتابخانه toast notification فوقالعاده ساده، سبک و قابل شخصیسازی برای React و سایر فریمورکهای مبتنی بر React هست، که از لحاظ طراحی و تجربه کاربری بسیار مینیمال و جذابه.
برای کسب اطلاعات بیشتر و نحوه استفاده، به داکیومنت این پکیج مراجعه کنید.
🔗 Document
#sonner
@CodeModule
Sonner یک کتابخانه toast notification فوقالعاده ساده، سبک و قابل شخصیسازی برای React و سایر فریمورکهای مبتنی بر React هست، که از لحاظ طراحی و تجربه کاربری بسیار مینیمال و جذابه.
Shadcn از این پکیج برای کامپوننت Toast خودش استفاده میکنه
برای کسب اطلاعات بیشتر و نحوه استفاده، به داکیومنت این پکیج مراجعه کنید.
🔗 Document
#sonner
@CodeModule
🔥15
یه موردی خیلی توجهم رو جلب کرده.
توی لینکدین پست های زیادی میبینم که همکار های خانم به دنبال کار هستن و در کنار رزومه، عکسی از خودشون هم قرار میدن.
واقعا رسالت این کار چیه؟ /:
در این که قشر قابل توجهی از افراد اصطلاحا هول تشریف دارن شکی نیست و خیلی مورد میبینیم خانم هایی که از دست این موضوع شاکی هستن. ولی خب اکثریت خود خانمها هم دارن به این موضوع قدرت میبخشن و سو افتاده میکنن که اصلا خوب نیست.
@CodeModule
توی لینکدین پست های زیادی میبینم که همکار های خانم به دنبال کار هستن و در کنار رزومه، عکسی از خودشون هم قرار میدن.
واقعا رسالت این کار چیه؟ /:
در این که قشر قابل توجهی از افراد اصطلاحا هول تشریف دارن شکی نیست و خیلی مورد میبینیم خانم هایی که از دست این موضوع شاکی هستن. ولی خب اکثریت خود خانمها هم دارن به این موضوع قدرت میبخشن و سو افتاده میکنن که اصلا خوب نیست.
@CodeModule
👌34😁2