🔺ترفند ریاکتی
- توی ریاکت وقتی از useState استفاده میکنیم، برای مقدار اولیه اون، بجای پاس دادن مقدار بهصورت مستقیم میتونیم اون رو توی یک تابع محصور کنیم (مثل عکس)
- توی عکس همونطور که میبینیم، تابعی داریم به اسم heavyCalculation که مثلاً کار سنگینی انجام میده و میخوایم خروجی اون رو به عنوان مقدار useState قرار بدیم
- میتونستیم این کار رو بدون استفاده از تابع هم انجام بدیم، که توی این حالت باید بدونیم که هر بار که این کامپوننت رندر میشه، تابع پاس دادهشده هم مجدد اجرا میشه. که اگه عملیات ما سنگین باشه باعث افت عملکرد کامپوننت میشه
- حالا وقتی که تابع یا یک عملیات سنگین رو توی یک تابع محصور میکنیم، ریاکت توی رندر ابتدایی، این تابع رو اجرا و توی رندرهای بعدی از خروجی این تابع (که توی رندر ابتدایی محاسبه شده) استفاده میکنه. یعنی فقط یک بار اجرای اون عملیات سنگین
- از این ترفند بهتره زمانی استفاده کنیم که واقعاً عملیات سنگینی داریم که هر بار اجرای اون، عملکرد کامپوننت رو تحت تأثیر قرار میده
- مشاهدهٔ نمونه عملی
#react
- توی ریاکت وقتی از useState استفاده میکنیم، برای مقدار اولیه اون، بجای پاس دادن مقدار بهصورت مستقیم میتونیم اون رو توی یک تابع محصور کنیم (مثل عکس)
- توی عکس همونطور که میبینیم، تابعی داریم به اسم heavyCalculation که مثلاً کار سنگینی انجام میده و میخوایم خروجی اون رو به عنوان مقدار useState قرار بدیم
- میتونستیم این کار رو بدون استفاده از تابع هم انجام بدیم، که توی این حالت باید بدونیم که هر بار که این کامپوننت رندر میشه، تابع پاس دادهشده هم مجدد اجرا میشه. که اگه عملیات ما سنگین باشه باعث افت عملکرد کامپوننت میشه
- حالا وقتی که تابع یا یک عملیات سنگین رو توی یک تابع محصور میکنیم، ریاکت توی رندر ابتدایی، این تابع رو اجرا و توی رندرهای بعدی از خروجی این تابع (که توی رندر ابتدایی محاسبه شده) استفاده میکنه. یعنی فقط یک بار اجرای اون عملیات سنگین
- از این ترفند بهتره زمانی استفاده کنیم که واقعاً عملیات سنگینی داریم که هر بار اجرای اون، عملکرد کامپوننت رو تحت تأثیر قرار میده
- مشاهدهٔ نمونه عملی
#react
👍67❤4🔥1
🔺توی جاوااسکریپت و مبحث پرامیسها، تفاوت متدهای race و any چیه؟ متد all و allSettled چطور؟ 🤔
- این متدها که از Promise به صورت استاتیک قابل دسترس هستن (یعنی مثلاً ()Promise.resolve یا ()Promise.race) کاربردهای زیادی دارن و بهمون کمک میکنن یک برنامهٔ سریعتر و پویاتر داشته باشیم. توی این پست این متدها رو بررسی میکنیم و با مثالهایی از کاربرد اونها توی دنیای واقعی آشنا میشیم:
ditty.ir/537
#javanoscript
- این متدها که از Promise به صورت استاتیک قابل دسترس هستن (یعنی مثلاً ()Promise.resolve یا ()Promise.race) کاربردهای زیادی دارن و بهمون کمک میکنن یک برنامهٔ سریعتر و پویاتر داشته باشیم. توی این پست این متدها رو بررسی میکنیم و با مثالهایی از کاربرد اونها توی دنیای واقعی آشنا میشیم:
ditty.ir/537
#javanoscript
❤27🔥2
سلام دوستان، عیدتون مبارک 👋
- نسخهٔ PDF برای ۸۰ سوال مصاحبهٔ فرانتاند و ۷۰ سوال مصاحبهٔ جاوااسکریپت رو میتونین دانلود کنین 👇
• 80 FE Interview Questions
• 70 JavaScript Interview Questions
#interview
- نسخهٔ PDF برای ۸۰ سوال مصاحبهٔ فرانتاند و ۷۰ سوال مصاحبهٔ جاوااسکریپت رو میتونین دانلود کنین 👇
• 80 FE Interview Questions
• 70 JavaScript Interview Questions
#interview
🔥61❤24👍5🙏5😍3💯1
🔺تصاویر، فونتها، اسکریپتها و فایلهای یک برنامهٔ فرانتاندی رو چطوری مدیریت کنیم؟ 🤔
- یکی از مهارتهایی که بهعنوان توسعهدهندهٔ فرانتاند باید اون رو بلد باشیم، نحوهٔ مدیریت Asset های برنامه هست
- توی این پست نکتهها و تجربیاتی رو برای مدیریت Asset ها (فایلها و تصاویر و ...) توی برنامههای فرانتاند براتون به اشتراک گذاشتم:
ditty.ir/540
#tips
- یکی از مهارتهایی که بهعنوان توسعهدهندهٔ فرانتاند باید اون رو بلد باشیم، نحوهٔ مدیریت Asset های برنامه هست
- توی این پست نکتهها و تجربیاتی رو برای مدیریت Asset ها (فایلها و تصاویر و ...) توی برنامههای فرانتاند براتون به اشتراک گذاشتم:
ditty.ir/540
#tips
دیتی | Ditty.ir
آشنایی با روشهای مختلف مدیریت Asset ها (فایلها و تصاویر) توی برنامههای فرانتاند
میخوایم با نکتهها و تجربیاتی درباره نحوهٔ مدیریت فایلهای استاتیک مثل تصاویر و ویدئوها و فونتها آشنا بشیم که کمک میکنن یک برنامهٔ فرانتاندی خوانا و قابل توسعه داشته باشیم
❤26👍5🔥1
🔺یک منبع بهروز و پر از آموزش و نکتهٔ برای فرانتاند:
https://frontendmasters.com/guides/front-end-handbook/2024
#links
https://frontendmasters.com/guides/front-end-handbook/2024
#links
👍24🔥2❤1👏1
🔺 توی برنامههای فرانتاندی، آیا تفاوت Building و Bundling رو میدونیم؟ 🤔 تفاوت Minify و Uglify چطور؟
- توی این پست دیتی میخوایم ۶ واژه که شبیه به هم هستن رو بررسی کنیم:
ditty.ir/543
#frontend
- توی این پست دیتی میخوایم ۶ واژه که شبیه به هم هستن رو بررسی کنیم:
ditty.ir/543
#frontend
👍25❤4
🔺با HTTP Caching و نحوهٔ کارکرد اون توی مرورگر آشنا بشیم
- توی این پست میخوایم با چند هدر HTTP آشنا بشیم که بطور اختصاصی برای Caching و مدیریت ذخیرهسازی اطلاعات استفاده میشن
- این تکنیک با حذف کردن درخواستهای HTTP اضافی، استفاده از پهنای باند رو به شکل قابل توجهی کاهش میده که نتیجهٔ اون افزایش سرعت و عملکرد برنامههای فرانتاندی هست
- جدیدترین پست دیتی:
ditty.ir/545
#frontend
- توی این پست میخوایم با چند هدر HTTP آشنا بشیم که بطور اختصاصی برای Caching و مدیریت ذخیرهسازی اطلاعات استفاده میشن
- این تکنیک با حذف کردن درخواستهای HTTP اضافی، استفاده از پهنای باند رو به شکل قابل توجهی کاهش میده که نتیجهٔ اون افزایش سرعت و عملکرد برنامههای فرانتاندی هست
- جدیدترین پست دیتی:
ditty.ir/545
#frontend
👍11❤6👌2
🔺سرویس ورکر (Service Worker) چیه؟ 🤔
- سرویس ورکر به اسکریپتهایی گفته میشه که پشتِ پردهٔ برنامههای فرانتاندی اجرا میشن. به طوری که کاربر و Main Thread وجود اونها رو حس نمیکنه
- با سرویسورکرها میتونیم:
• به شکل حرفهای ریسورسها رو کش کنیم و برنامههای آفلاین داشته باشیم
• عملیات و پردازشهای سنگین انجام بدیم
• به کاربرا Push Notification ارسال کنیم
• و ...
- مهمترین هدف سرویسورکر کم کردن حجم کارهای Main Thread هست. کارهایی که باعث افت کیفیت و سرعت برنامههای ما میشدن
- توی این قسمت میخوایم با سرویسورکرها آشنا بشیم و ببینیم که چطوری میتونیم از این تکنیک برای Cache کردن ریسورسهامون استفاده کنیم:
ditty.ir/546
#frontend
- سرویس ورکر به اسکریپتهایی گفته میشه که پشتِ پردهٔ برنامههای فرانتاندی اجرا میشن. به طوری که کاربر و Main Thread وجود اونها رو حس نمیکنه
- با سرویسورکرها میتونیم:
• به شکل حرفهای ریسورسها رو کش کنیم و برنامههای آفلاین داشته باشیم
• عملیات و پردازشهای سنگین انجام بدیم
• به کاربرا Push Notification ارسال کنیم
• و ...
- مهمترین هدف سرویسورکر کم کردن حجم کارهای Main Thread هست. کارهایی که باعث افت کیفیت و سرعت برنامههای ما میشدن
- توی این قسمت میخوایم با سرویسورکرها آشنا بشیم و ببینیم که چطوری میتونیم از این تکنیک برای Cache کردن ریسورسهامون استفاده کنیم:
ditty.ir/546
#frontend
دیتی | Ditty.ir
آشنایی با Service Workers | تکنیکهای مختلف Cache برنامههای فرانتاند
با Service Workers که قابلیتهای جالب و فراوانی توی ذخیرهسازی و افزایش سرعت برنامههای فرانتاندی دارن آشنا میشیم و نکات و استانداردهای مهم اون رو بررسی میکنیم
❤25👍13🔥3
🔺قابلیت Type Predicate توی تایپاسکریپت چیه؟ 🤔
- تایپاسکریپت یه قابلیت کاربردی داره به اسم Type Predicate که کمک میکنه نوع یک مقدار به شکل یک خاصتر و مشخصتر برای ما در دسترس باشه
- برای مثال توی شرایطی که نوع یک مقدار ممکنه عدد باشه یا رشته، این قابلیت به ما کمک میکنه که از نوع اون مقدار قطعیت داشته باشیم. به قول معروف عملیات Narrowing رو برامون راحتتر میکنه
- توی این پست ابتدا با مفهوم Narrowing آشنا میشیم و بعد Type Predicate رو بررسی میکنیم:
ditty.ir/549
#typenoscript
- تایپاسکریپت یه قابلیت کاربردی داره به اسم Type Predicate که کمک میکنه نوع یک مقدار به شکل یک خاصتر و مشخصتر برای ما در دسترس باشه
- برای مثال توی شرایطی که نوع یک مقدار ممکنه عدد باشه یا رشته، این قابلیت به ما کمک میکنه که از نوع اون مقدار قطعیت داشته باشیم. به قول معروف عملیات Narrowing رو برامون راحتتر میکنه
- توی این پست ابتدا با مفهوم Narrowing آشنا میشیم و بعد Type Predicate رو بررسی میکنیم:
ditty.ir/549
#typenoscript
دیتی | Ditty.ir
آشنایی با Type Predicate توی تایپاسکریپت
با این ويژگی میتونیم عملیات Narrowing رو بهبود بدیم و کاری کنیم که نوع یک مقدار به شکل یک خاصتر و مشخصتر برای ما در دسترس باشه.
🔥14❤8👍6
درود دوستان و همراهان خوب دیتی 👋
- من بعد از مدت زیادی که بسیار مشغله داشتم برگشتم و قصد دارم طبق روال قبل مرتب فعالیت داشته باشم و براتون چیزهای خوب خوب بنویسم
- مدتیه که پستهای آموزشی ریاکت رو دارم منتشر میکنم که شامل پستهای آموزشی کوتاه میشه حاصل تجارب شخصی من از محیط کاری و همچنین مصاحبهها هست، و تا الان ۱۴ قسمت از اون منتشر شده و البته که قسمتهای جذاب زیادی از اون هم توی راهه 💥
- پستها رو میتونید از اینجا ببینید:
https://ditty.ir/series/react-101
- این پستها رو طوری نوشتم که بتونید ازشون برای آمادگی مصاحبهها استفاده کنین
#react
- من بعد از مدت زیادی که بسیار مشغله داشتم برگشتم و قصد دارم طبق روال قبل مرتب فعالیت داشته باشم و براتون چیزهای خوب خوب بنویسم
- مدتیه که پستهای آموزشی ریاکت رو دارم منتشر میکنم که شامل پستهای آموزشی کوتاه میشه حاصل تجارب شخصی من از محیط کاری و همچنین مصاحبهها هست، و تا الان ۱۴ قسمت از اون منتشر شده و البته که قسمتهای جذاب زیادی از اون هم توی راهه 💥
- پستها رو میتونید از اینجا ببینید:
https://ditty.ir/series/react-101
- این پستها رو طوری نوشتم که بتونید ازشون برای آمادگی مصاحبهها استفاده کنین
#react
دیتی | Ditty.ir
ریاکت ۱۰۱
این مجموعه پستها شامل نکات و تجربیات ریاکتی پرکاربرد هست که اونها رو به شکل مختصر (و به سبک سوالات مصاحبه) براتون به اشتراک میذارم. بهطوری که بتونین از اونها توی مصاحبهها استفاده کنین.
❤61👍18🔥8
🔺بایدها و نبایدهای memo توی #ریاکت
- توی دنیای توسعه #نرمافزار تکنیکهای بهینهسازی یک شمشیر دولبه هستن و استفاده نادرست ازشون ممکنه نتیجه عکس بده و برنامه رو غیر بهینه و توسعه رو پیچیدهتر کنه!
- توی ریاکت شاید
ditty.ir/567
#react
- توی دنیای توسعه #نرمافزار تکنیکهای بهینهسازی یک شمشیر دولبه هستن و استفاده نادرست ازشون ممکنه نتیجه عکس بده و برنامه رو غیر بهینه و توسعه رو پیچیدهتر کنه!
- توی ریاکت شاید
memo ویژگی خیلی قدرتمندی به حساب بیاد و کمک کنه از رندرهای اضافی جلوگیری کنیم، اما قبل از استفاده از اون باید نکتههایی رو در نظر داشته باشیم، که توی این پست اونها رو بررسی میکنیم:ditty.ir/567
#react
🔥15❤8
امیدوارم 404 سالی باشه که همه مشکلات زندگیتون و باگهای برنامههاتون Not Found بشن
و امیدوارم فقط شادی و موفقیت و سلامتی Found بشه😉🌹🤲
سال نوتون مبارک عزیزان 👋
#happyNewYear
و امیدوارم فقط شادی و موفقیت و سلامتی Found بشه😉🌹
سال نوتون مبارک عزیزان 👋
#happyNewYear
Please open Telegram to view this post
VIEW IN TELEGRAM
❤73🤪6👍4👎2👨💻1
🔺سندروم خودویرانگری چیه؟! 🤔
- یکی از مشکلات خیلی شایع که باهاش مواجه هستیم سندروم ایمپاستر (Imposter Syndrome) هست که متأسفانه تا حد زیادی مانع پیشرفت و دستیابی به موفقیتها میشه
- توی این حالت شخص نمیتونه به اندازه کافی احساس خوب بودن کنه و حتی وقتی که شواهد این رو نشون میده، شخص نمیتونه دستاوردها و تواناییهای خودش رو بپذیره و همیشه با یک حس شک و تردید به اونها نگاه میکنه
- اینکه همیشه حسهای مثل شک به خود، دستهکم گرفتن تواناییها، کار کردن بیش از حد و مقایسه خودمون با دیگران رو داشته باشیم، همگی نشونهای از این سندروم هست
- توی این پست میخوایم درباره اون بیشتر صحبت کنیم، مثال بزنیم و راههای مقابله با اون رو تمرین کنیم:
ditty.ir/570
#softwareEngineering
- یکی از مشکلات خیلی شایع که باهاش مواجه هستیم سندروم ایمپاستر (Imposter Syndrome) هست که متأسفانه تا حد زیادی مانع پیشرفت و دستیابی به موفقیتها میشه
- توی این حالت شخص نمیتونه به اندازه کافی احساس خوب بودن کنه و حتی وقتی که شواهد این رو نشون میده، شخص نمیتونه دستاوردها و تواناییهای خودش رو بپذیره و همیشه با یک حس شک و تردید به اونها نگاه میکنه
- اینکه همیشه حسهای مثل شک به خود، دستهکم گرفتن تواناییها، کار کردن بیش از حد و مقایسه خودمون با دیگران رو داشته باشیم، همگی نشونهای از این سندروم هست
- توی این پست میخوایم درباره اون بیشتر صحبت کنیم، مثال بزنیم و راههای مقابله با اون رو تمرین کنیم:
ditty.ir/570
#softwareEngineering
دیتی | Ditty.ir
سندروم خود ویرانگری چیه؟
میخوایم مشکلی رو بررسی کنیم که گریبانگیر خیلی از مهندسهای نرمافزار هست و با روشهایی آشنا میشیم که کمک میکنن تا این فشار کمتر بشه.
❤31👍13💔3
یک لیست بلند و بالا از وبسایتهایی که دورههای آموزشی رایگان بههمراه گواهی ارائه میدن 🥇
https://free-certifications.com
#links
https://free-certifications.com
#links
Free Certifications
Free Certifications - Find Free Professional Certifications Online
Discover a curated list of free professional certifications across various industries. Advance your career with verified free certification programs.
❤22👍6😍2🤔1
🔺گیت و ۶ تا از مهمترین تجربیات من
- تجربیات و نکاتی رو از استفاده از Git رو براتون به اشتراک گذاشتم که کمک میکنن با این ابزار به شکل بهتر و موثرتری استفاده کنیم:
ditty.ir/572
#git
- تجربیات و نکاتی رو از استفاده از Git رو براتون به اشتراک گذاشتم که کمک میکنن با این ابزار به شکل بهتر و موثرتری استفاده کنیم:
ditty.ir/572
#git
دیتی | Ditty.ir
نکات و تجربیات استفاده از Git
میخوام تجربیات و نکاتی رو از استفاده از Git رو براتون به اشتراک بذارم که کمک میکنن با این ابزار به شکل بهتر و موثرتری استفاده کنیم
🔥16👍5💯3👏2🙏1
🔺هنرِ Code Review 📝
- یکی از کارهای مهمی که تقریباً همهٔ ما هر روز اون رو انجام میدیم و تأثیر قابل توجهی توی تیم و روند توسعهٔ برنامه داره انجام Code Review هست که کمتر کسی اون رو بهمون یاد داده یا منبع مشخصی برای یادگیری اون هست.
- اما طبق تجریبات خودم و دیگران سعی کردم توی جدیدترین پست دیتی 10+ نکتهٔ مهم برای بررسی کدهای یک همتیمی رو بررسی کنم:
ditty.ir/575
#tips
- یکی از کارهای مهمی که تقریباً همهٔ ما هر روز اون رو انجام میدیم و تأثیر قابل توجهی توی تیم و روند توسعهٔ برنامه داره انجام Code Review هست که کمتر کسی اون رو بهمون یاد داده یا منبع مشخصی برای یادگیری اون هست.
- اما طبق تجریبات خودم و دیگران سعی کردم توی جدیدترین پست دیتی 10+ نکتهٔ مهم برای بررسی کدهای یک همتیمی رو بررسی کنم:
ditty.ir/575
#tips
دیتی | Ditty.ir
هنرِ Code Review - مهارتهایی لازم برای بررسی کدهای یک همتیمی
یکی از مهارتهایی که معمولاً نادیده گرفته میشه مهارت Code Review هست که تأثیر قابل توجهی توی تیم و روند توسعهٔ برنامه داره. توی این مجموعه پستها میخوایم نکاتی رو از یک Code Review خوب بررسی کنیم
❤28👍6👌1
🔺جزییات و نکات پیادهسازی تکنیکهای Debounce و Throttle توی ریاکت
- این دو از تکنیکهای پرکاربرد بهینهسازی و افزایش سرعت و کیفیت هر برنامهای هستن و به قول معروف برای Rate Limiting به کار میرن
- تکنیک Debounce تضمین میکنه یک قطعه کد زمانی اجرا بشه که یک مدت زمان مشخصی از آخرین تلاش برای اجرای اون گذشته باشه. مثلاً یک تابع ده بار پشت سر هم فراخونی میشه، اما میخوایم اجرای واقعی اون موقعی باشه که ۵ ثانیه از آخرین فراخونی گذشته باشه.
آشنایی با این تکنیک:
ditty.ir/577
- تکنیک Throttle هم تضمین میکنه که کدهای ما توی یک بازه زمانی مشخص فقط یک بار اجرا بشن. مثلاً میخوایم یک تابع توی هر بازه زمانی ۵ ثانیه فقط یک بار اجرا بشه. پیادهسازی این تکنیک:
ditty.ir/573
#react
- این دو از تکنیکهای پرکاربرد بهینهسازی و افزایش سرعت و کیفیت هر برنامهای هستن و به قول معروف برای Rate Limiting به کار میرن
- تکنیک Debounce تضمین میکنه یک قطعه کد زمانی اجرا بشه که یک مدت زمان مشخصی از آخرین تلاش برای اجرای اون گذشته باشه. مثلاً یک تابع ده بار پشت سر هم فراخونی میشه، اما میخوایم اجرای واقعی اون موقعی باشه که ۵ ثانیه از آخرین فراخونی گذشته باشه.
آشنایی با این تکنیک:
ditty.ir/577
- تکنیک Throttle هم تضمین میکنه که کدهای ما توی یک بازه زمانی مشخص فقط یک بار اجرا بشن. مثلاً میخوایم یک تابع توی هر بازه زمانی ۵ ثانیه فقط یک بار اجرا بشه. پیادهسازی این تکنیک:
ditty.ir/573
#react
👍17🔥3❤1
🔺از ۱۱۴ تگ HTML چند تا رو میتونید از حفظ نام ببرین؟ 👇
https://codepen.io/plfstr/full/zYqQeRw
- من حدود ۴۰ تا 👀
#links
https://codepen.io/plfstr/full/zYqQeRw
- من حدود ۴۰ تا 👀
#links
codepen.io
HTML Tags Memory Test
How many HTML tags can you remember?...
👨💻6🆒2