🔺یکی از علمهایی که هر توسعهدهندهای باید توی جعبهابزارش داشته باشه System Design هست (با Design System اشتباه نشه)
- این ریپازیتوری نکتههای خیلی خوبی رو به اشتراک میذاره که برای هر توسعهدهندهای کاربردی و واجب هست:
https://github.com/ByteByteGoHq/system-design-101
#links
- این ریپازیتوری نکتههای خیلی خوبی رو به اشتراک میذاره که برای هر توسعهدهندهای کاربردی و واجب هست:
https://github.com/ByteByteGoHq/system-design-101
#links
GitHub
GitHub - ByteByteGoHq/system-design-101: Explain complex systems using visuals and simple terms. Help you prepare for system design…
Explain complex systems using visuals and simple terms. Help you prepare for system design interviews. - ByteByteGoHq/system-design-101
👍23❤8👎1
🔺وبسایت Vue Mastery همه آموزشهاش رو به مدت ۲ روز (جمعه تا یکشنبه) رایگان میکنه:
https://www.vuemastery.com/free-weekend
نظر شخصی: حداقل ۲ فریمورک فرانت رو کامل مسلط باشین
#links
https://www.vuemastery.com/free-weekend
نظر شخصی: حداقل ۲ فریمورک فرانت رو کامل مسلط باشین
#links
Vue Mastery
Free Weekend May 10-12 2024
Join me to watch all of @VueMastery’s courses free through May 10-12
👍15🔥8👎2
🔺چکلیست پرفورمنس برنامههای فرانتاندی:
https://github.com/thedaviddias/Front-End-Performance-Checklist
- نسخه فارسی (با مشارکت صالح فدائی):
https://github.com/ms-fadaei/Front-End-Performance-Checklist
#links
https://github.com/thedaviddias/Front-End-Performance-Checklist
- نسخه فارسی (با مشارکت صالح فدائی):
https://github.com/ms-fadaei/Front-End-Performance-Checklist
#links
GitHub
GitHub - thedaviddias/Front-End-Performance-Checklist: 🎮 The only Front-End Performance Checklist that runs faster than the others
🎮 The only Front-End Performance Checklist that runs faster than the others - thedaviddias/Front-End-Performance-Checklist
🔥30👍6👎1😍1
Ditty | دیتی
برای سلامتی «صابر راستی کردار» دعا کنیم و ازش حمایت کنیم. صابر عزیز که با فونتهای قشنگش، دنیای ما رو قشنگتر کرد 🤲❤️ جزییات بیشتر در وبلاگ صابر: https://rastikerdar.blog.ir اگه قصد حمایت دارین: https://rastikerdar.github.io/vazirmatn #prayforsaber
خبر رسیده که متأسفانه صابر عزیز از میان ما رفته 😔🖤🥀
💔137🕊18❤4😁1
🔺این مقاله خیلی جالبه: ۶ قطعه کد کاربردی CSS که هر توسعهدهندهٔ فرانتاند باید اونها رو بدونه:
https://web.dev/articles/6-css-snippets-every-front-end-developer-should-know-in-2023
#css
https://web.dev/articles/6-css-snippets-every-front-end-developer-should-know-in-2023
#css
web.dev
6 CSS snippets every front-end developer should know in 2023 | Articles | web.dev
Toolbelt worthy, powerful, and stable CSS you can use today.
👍28💯3🔥2
🔺خیلی لذت بخشه وقتی روی پروژههای اپنسورس کار میکنی. مخصوصاً وقتی اولین کارت باشه
کمیل این بازی سودوکو رو طراحی کرده و سورسش رو هم روی گیتهاب گذاشته که نکتههای خوبی میتونین ازش یاد بگیرین:
https://sudoku.komeilmehranfar.com
سورس کد:
https://github.com/komeilmehranfar/sudoku-core
اطلاعات بیشتر:
https://www.linkedin.com/posts/komeilmehranfar_sudoku-core
پ.ن: شما هم اگه پروژه اپنسورسی دارین، توی کامنتها به اشتراک بذارین
#links
کمیل این بازی سودوکو رو طراحی کرده و سورسش رو هم روی گیتهاب گذاشته که نکتههای خوبی میتونین ازش یاد بگیرین:
https://sudoku.komeilmehranfar.com
سورس کد:
https://github.com/komeilmehranfar/sudoku-core
اطلاعات بیشتر:
https://www.linkedin.com/posts/komeilmehranfar_sudoku-core
پ.ن: شما هم اگه پروژه اپنسورسی دارین، توی کامنتها به اشتراک بذارین
#links
Linkedin
Sign Up | LinkedIn
500 million+ members | Manage your professional identity. Build and engage with your professional network. Access knowledge, insights and opportunities.
👌15👍4❤3
🔺گوگل برای سنجش سرعت و Interactivity یک وبسایت از معیار FID از Core Web Vitals استفاده میکنه
- این معیار فاصلهٔ زمانی بین اولین تعامل کاربر با صفحه (مثل کلیک روی یک لینک یا دکمه) تا پاسخ مرورگر به اون تعامل رو اندازهگیری میکنه
- اگه یک امتیاز خوب میخوایم، باید زیر ۱۰۰ میلیثانیه به این تعامل پاسخ بدیم و برای این کار باید نکتهها و تکنیکهای #بهینهسازی مختلفی رو به کار بگیریم
- توی پست جدید دیتی با دلایل FID ضعیف و همچنین با نکتهها و تکنیکهایی برای داشتن یک FID عالی آشنا میشیم: 🚀
ditty.ir/533
#performance
- این معیار فاصلهٔ زمانی بین اولین تعامل کاربر با صفحه (مثل کلیک روی یک لینک یا دکمه) تا پاسخ مرورگر به اون تعامل رو اندازهگیری میکنه
- اگه یک امتیاز خوب میخوایم، باید زیر ۱۰۰ میلیثانیه به این تعامل پاسخ بدیم و برای این کار باید نکتهها و تکنیکهای #بهینهسازی مختلفی رو به کار بگیریم
- توی پست جدید دیتی با دلایل FID ضعیف و همچنین با نکتهها و تکنیکهایی برای داشتن یک FID عالی آشنا میشیم: 🚀
ditty.ir/533
#performance
دیتی | Ditty.ir
Core Web Vitals به زبان ساده - FID
این معیار یکی از ۳ معیار اصلی Core Web Vitals هست که برای سنجش Interactivity یا Responsiveness یک صفحه معرفی شده. توی این پست با دلایل یک FID ضعیف و همچنین تکنیکهایی برای داشتن یک FID عالی آشنا میشیم
👍13🔥7🤯1
🔺میخواید ببینید یک وبسایت از چه فونتهایی استفاده میکنه؟ این ابزار رو ببینید:
https://fonty.io
#links
https://fonty.io
#links
🔥18👍7❤2👏1
🔺برای نامگذاری تایپها توی تایپاسکریپت چه استانداردهایی وجود داره؟
۱. از حالت PascalCase استفاده کنیم. مثلاً User یا UserActivity
۲. از اسمهایی که برای شما و بقیه توسعهدهندهها خوانا و واضح هستن استفاده کنیم. مثلاً CustomerRecord بجای Record
۳. از حالت مفرد بجای جمع استفاده کنیم. مثلاً UserActivity بجای UserActivities. اگه نیاز به حالت جمع بود میتونیم براحتی از
۴. اگه از اینترفیسها استفاده میکنین، از حرف
۵. از اسمهای کلی (جنرال) برای تایپهای مشابه خودداری کنیم. و بهتره تایپها کاربرد مشخصی داشته باشن (اصل چهارم اصول سالید)
۶. قانون Hungarian notation. یعنی از آوردن نوع تایپ توی اسم تایپ خودداری کنیم. مثلاً UserNameString
۷. برای جنریکها اشکالی نداره که از اسمهای خوانا استفاده کنیم. مثلاً
مقالات تایپاسکریپت:
ditty.ir/c/typenoscript
#typenoscript
۱. از حالت PascalCase استفاده کنیم. مثلاً User یا UserActivity
۲. از اسمهایی که برای شما و بقیه توسعهدهندهها خوانا و واضح هستن استفاده کنیم. مثلاً CustomerRecord بجای Record
۳. از حالت مفرد بجای جمع استفاده کنیم. مثلاً UserActivity بجای UserActivities. اگه نیاز به حالت جمع بود میتونیم براحتی از
UserActivity[] استفاده کنیم۴. اگه از اینترفیسها استفاده میکنین، از حرف
I ابتدای اسم استفاده کنیم (اختیاری). مثلاً IBook۵. از اسمهای کلی (جنرال) برای تایپهای مشابه خودداری کنیم. و بهتره تایپها کاربرد مشخصی داشته باشن (اصل چهارم اصول سالید)
۶. قانون Hungarian notation. یعنی از آوردن نوع تایپ توی اسم تایپ خودداری کنیم. مثلاً UserNameString
۷. برای جنریکها اشکالی نداره که از اسمهای خوانا استفاده کنیم. مثلاً
func<TItem> بجای func<T>مقالات تایپاسکریپت:
ditty.ir/c/typenoscript
#typenoscript
👍46❤10🔥3🆒3
Ditty | دیتی
🔺اعتبارسنجی فرمهای HTML آسونتر از همیشه 😋 - با کمک دوستان، ابزاری رو توسعه دادیم که بتونیم با کمترین کد و به سادهترین حالت، یک فرم HTML رو اعتبارسنجی کنیم (مثل عکس) - اسمش رو گذاشتیم Facile Validator (فَسیل ولیدیتور) که اون رو به تازگی و به صورت رسمی…
این پکیج رو آپدیت کردیم و چند تا ویژگی اضافه کردیم. از جمله قابلیت نمایش پیامهای دلخواه وقتی یک Regex با خطا مواجه میشه.
همچنین آموزش استفاده از اون توی ریاکت رو هم قرار دادم.
ممنون میشم حمایت کنین 😉✌️👇
https://github.com/upjs/facile-validator
#tools
همچنین آموزش استفاده از اون توی ریاکت رو هم قرار دادم.
ممنون میشم حمایت کنین 😉✌️👇
https://github.com/upjs/facile-validator
#tools
GitHub
GitHub - upjs/facile-validator: Robust Frontend Forms Validation, inspired by Laravel Validation, Built for Simplicity of Use 🍬
Robust Frontend Forms Validation, inspired by Laravel Validation, Built for Simplicity of Use 🍬 - upjs/facile-validator
👏15❤1
Ditty | دیتی
🔺"خب به آخر مصاحبه رسیدیم. آیا سوالی هست که دوست داری بپرسی؟" - حتماً این سوال رو توی هر مصاحبهای ازمون پرسیدن. پاسخهای درست به این سوال، قطعاً ما رو توی ذهن استخدامکننده از بقیه کاندیداها متمایز میکنه و شانس ما رو برای گرفتن جواب مثبت افزایش میده -…
یک نمونه دیگه از این دست سوالات رو میتونین اینجا پیدا کنین:
https://github.com/viraptor/reverse-interview
که به فارسی هم ترجمه شده:
https://github.com/Kaaveh/reverse-interview/blob/master/translations/PERSIAN.md
#links
https://github.com/viraptor/reverse-interview
که به فارسی هم ترجمه شده:
https://github.com/Kaaveh/reverse-interview/blob/master/translations/PERSIAN.md
#links
GitHub
GitHub - viraptor/reverse-interview: Questions to ask the company during your interview
Questions to ask the company during your interview - viraptor/reverse-interview
🔥16
🔺منظور از Shallow Rendering توی برنامه های فرانتاند چیه؟ 🤔
ـ Shallow Rendering یک تکنیک تستنویسی هست که بیشتر توی فریمورکهای Component-Based مثل ویو و ریاکت دیده میشه
- وقتی میخوایم یک کامپوننت رو با تکنیک Shallow Rendering تست کنیم، هنگام تست فقط خود کامپوننت رندر میشه و کامپوننتهای داخلی اون کامپوننت رندر نمیشن تا توجه و تمرکز روی خود کامپوننت والد باشه
- با این کار، تست کردن راحتتر، سریعتر و دقیقتر خواهد بود. اما باید بدونیم که استفاده از Shallow Rendering همیشه خوب نیست.
از معایب Shallow Rendering اینه که:
- ممکنه رفتارهای اون کامپوننت رو توی محیطهای واقعی نادیده بگیریم
- اگه کامپوننت به کامپوننتهای داخلی وابستگی داشته باشه ممکنه حتی باعث سختتر شدن تست بشه
- باعث نادیده گرفتهشدن خیلی از تعاملهای بین کامپوننت والد و فرزندها میشه که باعث میشه تست کمتر قابل اعتماد باشه
- پس بهتره از این تکنیک هم مثل هر چیز دیگهای با آگاهی استفاده کنیم
#testing
ـ Shallow Rendering یک تکنیک تستنویسی هست که بیشتر توی فریمورکهای Component-Based مثل ویو و ریاکت دیده میشه
- وقتی میخوایم یک کامپوننت رو با تکنیک Shallow Rendering تست کنیم، هنگام تست فقط خود کامپوننت رندر میشه و کامپوننتهای داخلی اون کامپوننت رندر نمیشن تا توجه و تمرکز روی خود کامپوننت والد باشه
- با این کار، تست کردن راحتتر، سریعتر و دقیقتر خواهد بود. اما باید بدونیم که استفاده از Shallow Rendering همیشه خوب نیست.
از معایب Shallow Rendering اینه که:
- ممکنه رفتارهای اون کامپوننت رو توی محیطهای واقعی نادیده بگیریم
- اگه کامپوننت به کامپوننتهای داخلی وابستگی داشته باشه ممکنه حتی باعث سختتر شدن تست بشه
- باعث نادیده گرفتهشدن خیلی از تعاملهای بین کامپوننت والد و فرزندها میشه که باعث میشه تست کمتر قابل اعتماد باشه
- پس بهتره از این تکنیک هم مثل هر چیز دیگهای با آگاهی استفاده کنیم
#testing
👍34❤2
🔺عملگر Non-null Assertion توی تایپاسکریپت چیه؟ 🤔
- توی این عکس اگه به انتهای خط اول نگاه کنین، یک علامت تعجب انتهای اون عبارت قرار گرفته
- این عملگر به تایپاسکریپت میگه که ما مطمئن هستیم این عبارت Null نیست و لطفاً توی ادامه Null بودن اون رو بررسی نکن
- بدون اون عملگر، تایپاسکریپت توی خط ۳ خطا نشون میداد که:
'el' is possibly 'null'
- این کد رو میتونید توی این صفحه اجرا کنین
#typenoscript
- توی این عکس اگه به انتهای خط اول نگاه کنین، یک علامت تعجب انتهای اون عبارت قرار گرفته
- این عملگر به تایپاسکریپت میگه که ما مطمئن هستیم این عبارت Null نیست و لطفاً توی ادامه Null بودن اون رو بررسی نکن
- بدون اون عملگر، تایپاسکریپت توی خط ۳ خطا نشون میداد که:
'el' is possibly 'null'
- این کد رو میتونید توی این صفحه اجرا کنین
#typenoscript
👍47👌1💯1
🔺معیار LCP از Core Web Vitals
- گوگل با LCP مدت زمانی که طول میکشه بزرگترین المنت توی Viewport لود بشه رو اندازهگیری میکنه
- دلایلی مثل غیر بهینهبودنِ سرور و تصاویر و فایلهای جاوااسکریپتی و فونتها میتونن امتیاز پایینی برای LCP رقم بزنن
- با استفاده از تکنیکهایی مثل SSR و SSG و بهینهسازی تصاویر و ریسورسها میتونیم یک LCP عالی داشته باشیم
- توی این پست بیشتر با دلایل LCP ضعیف و با نکاتی برای بهبود اون آشنا میشیم:
ditty.ir/535
#performance
- گوگل با LCP مدت زمانی که طول میکشه بزرگترین المنت توی Viewport لود بشه رو اندازهگیری میکنه
- دلایلی مثل غیر بهینهبودنِ سرور و تصاویر و فایلهای جاوااسکریپتی و فونتها میتونن امتیاز پایینی برای LCP رقم بزنن
- با استفاده از تکنیکهایی مثل SSR و SSG و بهینهسازی تصاویر و ریسورسها میتونیم یک LCP عالی داشته باشیم
- توی این پست بیشتر با دلایل LCP ضعیف و با نکاتی برای بهبود اون آشنا میشیم:
ditty.ir/535
#performance
دیتی | Ditty.ir
Core Web Vitals به زبان ساده - LCP
گوگل با LCP مدت زمانی که طول میکشه بزرگترین المنت توی Viewport لود بشه رو اندازهگیری میکنه. توی این پست با دلایل LCP ضعیف و همچنین با نکاتی برای بهبود این معیار آشنا میشیم.
👍13❤4
🔺هزاران آیکون SVG 👌
• https://iconbuddy.app
• https://fonty.io
• https://iconoir.com
• https://healthicons.org
• https://atlasicons.vectopus.com
• https://www.mingcute.com
#links
• https://iconbuddy.app
• https://fonty.io
• https://iconoir.com
• https://healthicons.org
• https://atlasicons.vectopus.com
• https://www.mingcute.com
#links
Free SVG Icons
Iconbuddy — Free and Open Source SVG icons
Browse and download 300,000+ SVG icons from multiple open source icon libraries. Customize color, size, and export as SVG, PNG, JSX, or Base64.
👍21👌2
🔺سوال مصاحبه: چرا توی JSX ریاکت، برای رندر کردن یک لیست از
- جوابتون رو توی کامنتها به اشتراک بذارین👇👏
#quiz
()forEach. بجای ()map. استفاده نمیکنیم؟- جوابتون رو توی کامنتها به اشتراک بذارین👇👏
#quiz
👍23🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
🔺ترفند: توی کنسول کروم و فایرفاکس میتونیم با استفاده از
#tricks
0$ به آخرین المنتی که توی تب Inspect انتخاب شده دسترسی داشته باشیم#tricks
🔥35👍22❤6