Tech Stuff
من شایسته این موفقیتها نیستم! خیلی از ما ممکنه در یک برهه از زمان به این احساس برسیم که هیچ وقت اونقدر که بقیه فکر میکنن خوب نیستیم. که شاید ما شایسته این موفقیتها نیستیم و در حقیقت داریم بقیه رو گول میزنیم تا فکر کنن که ما خیلی خوب و حرفهای هستیم. این…
ادامه:
۴. کمک گرفتن از دیگران: از کسی که بهش اعتماد داریم و میدونیم که صلاحیت داره، کمک بخوایم. این افراد معمولا با دیدگاههای بیرونیشون، میتونن به ما یادآوری کنن که چرا شایسته موفقیتهامون هستیم.
@techstuff100
۴. کمک گرفتن از دیگران: از کسی که بهش اعتماد داریم و میدونیم که صلاحیت داره، کمک بخوایم. این افراد معمولا با دیدگاههای بیرونیشون، میتونن به ما یادآوری کنن که چرا شایسته موفقیتهامون هستیم.
@techstuff100
❤2
توی این پست درباره Progressive Hydration و ترکیبش با Lazy Loading برای بهبود performance صحبت کردم. این روش به طور موثری زمان بارگذاری صفحات رو کاهش میده و تجربه کاربری سریعتر و روانتری رو فراهم میکنه.
@techstuff100
@techstuff100
👍3
اپلیکیشن حال خوب | Good Mood
چند وقتی میشه که یه بخشی از وقت آزادم رو مشغول توسعه یه برنامه بودم که حس و حال بهتری به روزای آدمها بده. نتیجهش شد یه اپ به اسم حال خوب!
این برنامه صبح بهمون صبح بخیر میگه، شبها شب بخیر میگه، و توی طول روز برامون نوتیفهای مثبت و انگیزشی میفرسته. هدفش اینه که یه حال خوب بهمون بده و انرژی بیشتری برای روزمون داشته باشیم.
فعلا نسخه MVP رو برای اندروید منتشر کردم و تا چند روز دیگه نسخه iOS هم منتشر میشه.
ایده اولیهست و تازه اول راهه. خیلی دوست دارم شما هم نصبش کنین تا با فیدبک و کمک شما کمکم تکمیلش کنم.
از این لینک میتونین نصبش کنین:
http://cafebazaar.ir/app/?id=com.seyedmahdii.goodmood&ref=share
@techstuff100
چند وقتی میشه که یه بخشی از وقت آزادم رو مشغول توسعه یه برنامه بودم که حس و حال بهتری به روزای آدمها بده. نتیجهش شد یه اپ به اسم حال خوب!
این برنامه صبح بهمون صبح بخیر میگه، شبها شب بخیر میگه، و توی طول روز برامون نوتیفهای مثبت و انگیزشی میفرسته. هدفش اینه که یه حال خوب بهمون بده و انرژی بیشتری برای روزمون داشته باشیم.
فعلا نسخه MVP رو برای اندروید منتشر کردم و تا چند روز دیگه نسخه iOS هم منتشر میشه.
ایده اولیهست و تازه اول راهه. خیلی دوست دارم شما هم نصبش کنین تا با فیدبک و کمک شما کمکم تکمیلش کنم.
از این لینک میتونین نصبش کنین:
http://cafebazaar.ir/app/?id=com.seyedmahdii.goodmood&ref=share
@techstuff100
👏4👍2
توی نسخه جدید React یه کامپایلر اومده که قراره خیلی از دردسرهای memoization رو حل کنه. اما واقعا چقدر خوب کار میکنه و روی پروژههای واقعی کارآمده؟
طبق تستهای انجام شده از این کامپایلر روی یک پروژه واقعی با ۱۵ هزار خط کد:
۱. روی initial load سایت تقریبا هیچ تاثیر منفی نداشت! یعنی با اینکه همه چیز رو مموایز میکنه، سنگینتر نشده.
۲. روی interactions performance خیلی خوب جواب داده.
۳. ❌ نمیتونیم به صورت کامل، مموایز کردن دستی رو بذاریم کنار، چون:
- طبق داکیومنت React، کتابخونههای خارجی باید قبل از استفاده با کامپایلر، کامپایل شده باشن و فعلا خیلی از کتابخونههای محبوب هنوز کامپایل نشدن.
- کدهای قدیمی ممکنه درست کار نکنن.
- گاهی کد ما نیاز به بهینهسازی دستی داره (برای حالتها و نیازهای خاص)
نتیجهگیری: اگه performance اپ براتون در اولویت اول نیست، فعال کردن کامپایلر میتونه نتایج قابل قبولی بده. ولی اگه میخواید بهترین عملکرد ممکن رو داشته باشید، هنوز هم باید memoization دستی رو بلد باشید.
مقاله:
https://www.developerway.com/posts/how-react-compiler-performs-on-real-code
@techstuff100
طبق تستهای انجام شده از این کامپایلر روی یک پروژه واقعی با ۱۵ هزار خط کد:
۱. روی initial load سایت تقریبا هیچ تاثیر منفی نداشت! یعنی با اینکه همه چیز رو مموایز میکنه، سنگینتر نشده.
۲. روی interactions performance خیلی خوب جواب داده.
۳. ❌ نمیتونیم به صورت کامل، مموایز کردن دستی رو بذاریم کنار، چون:
- طبق داکیومنت React، کتابخونههای خارجی باید قبل از استفاده با کامپایلر، کامپایل شده باشن و فعلا خیلی از کتابخونههای محبوب هنوز کامپایل نشدن.
- کدهای قدیمی ممکنه درست کار نکنن.
- گاهی کد ما نیاز به بهینهسازی دستی داره (برای حالتها و نیازهای خاص)
نتیجهگیری: اگه performance اپ براتون در اولویت اول نیست، فعال کردن کامپایلر میتونه نتایج قابل قبولی بده. ولی اگه میخواید بهترین عملکرد ممکن رو داشته باشید، هنوز هم باید memoization دستی رو بلد باشید.
مقاله:
https://www.developerway.com/posts/how-react-compiler-performs-on-real-code
@techstuff100
🔥3👍2❤1
مدیریت تغییرات در node_modules با Patch Package
گاهی وقتا پیش میاد که مجبور باشیم به دلیل باگی توی یه پکیج npm، یه تغییر دستی توی node_modules بدیم. توی همچین موقعیتی، patch-package بکارمون میاد که تغییراتمون ماندگار بشه. توی این پست، با یه مثال عملی، استفاده ازش رو توضیح دادم.
@techstuff100
گاهی وقتا پیش میاد که مجبور باشیم به دلیل باگی توی یه پکیج npm، یه تغییر دستی توی node_modules بدیم. توی همچین موقعیتی، patch-package بکارمون میاد که تغییراتمون ماندگار بشه. توی این پست، با یه مثال عملی، استفاده ازش رو توضیح دادم.
@techstuff100
👍5🔥2
چطور توکنها رو توی مرورگر امن نگه داریم؟
برای ذخیره access tokenها توی مرورگر، روشهای مختلفی مثل localStorage، sessionStorage و کوکیها و ... رو داریم. اما واقعیت اینه که هر کدوم از اینها نقاط ضعف و قوت خودشون رو دارن و اگه درست پیادهسازی نشن، احتمال حملات XSS و CSRF بالا میره. جالبه بدونید هیچ روش واقعا امنی برای ذخیره توکنها توی مرورگر وجود نداره و همشون به نوعی آسیبپذیرن.
یکی از بهترین روشها استفاده از کوکیهاست؛ البته با ست کردن اتربیوتهایی مثل HttpOnly و SameSite=Strict. همچنین میشه از الگوی Token Handler استفاده کرد که با رمزنگاری توکنها و مدیریتشون از طریق بکاند، ریسک حملات رو به حداقل رسوند.
لینک مقاله:
https://readmedium.com/en/https:/curity.medium.com/best-practices-for-storing-access-tokens-in-the-browser-6b3d515d9814
@techstuff100
برای ذخیره access tokenها توی مرورگر، روشهای مختلفی مثل localStorage، sessionStorage و کوکیها و ... رو داریم. اما واقعیت اینه که هر کدوم از اینها نقاط ضعف و قوت خودشون رو دارن و اگه درست پیادهسازی نشن، احتمال حملات XSS و CSRF بالا میره. جالبه بدونید هیچ روش واقعا امنی برای ذخیره توکنها توی مرورگر وجود نداره و همشون به نوعی آسیبپذیرن.
یکی از بهترین روشها استفاده از کوکیهاست؛ البته با ست کردن اتربیوتهایی مثل HttpOnly و SameSite=Strict. همچنین میشه از الگوی Token Handler استفاده کرد که با رمزنگاری توکنها و مدیریتشون از طریق بکاند، ریسک حملات رو به حداقل رسوند.
لینک مقاله:
https://readmedium.com/en/https:/curity.medium.com/best-practices-for-storing-access-tokens-in-the-browser-6b3d515d9814
@techstuff100
👍6🔥3
هوک useImperativeHandle در React
توی این پست، درباره یک چالش رایج توی ریاکت صحبت کردم: چطور از توابع و استیتهای یک کامپوننت فرزند در کامپوننت والد استفاده کنیم، بدون اینکه کل ساختار کامپوننت رو به هم بریزیم.
برای حل این مسئله از هوک useImperativeHandle استفاده میکنم و به همراه مثال توضیحش میدم.
@techstuff100
توی این پست، درباره یک چالش رایج توی ریاکت صحبت کردم: چطور از توابع و استیتهای یک کامپوننت فرزند در کامپوننت والد استفاده کنیم، بدون اینکه کل ساختار کامپوننت رو به هم بریزیم.
برای حل این مسئله از هوک useImperativeHandle استفاده میکنم و به همراه مثال توضیحش میدم.
@techstuff100
👍5🔥1🎉1