Tech Stuff – Telegram
مهاجرت تدریجی با Strangler Fig

این پست درباره برای مهاجرت از سیستم‌های Legacy به سیستم جدیده. Strangler Fig pattern کمک می‌کنه بخش به بخش سیستم رو جایگزین کنیم و همزمان سیستم قدیمی هم کار کنه.

@techstuff100
9👍4🔥1
توی فرایند توسعه نرم‌افزار، به ابزارهایی نیاز داریم که باهاش بتونیم بر اساس دیتا تصمیم‌گیری کنیم. مثلا ببینیم کدوم رنگ دکمه بیشتر کلیک میخوره، کدوم layout فروش بیشتری داره، یا کدوم نسخه از اپلیکیشن engagement بهتری ایجاد می‌کنه. Statsig یکی از پلتفرم‌هایی است که این فرایند رو خیلی آسون کرده. علاوه بر A/B Testing، قابلیت‌های دیگه‌ای مثل Analytics، Feature Gates، Session Replays و خیلی چیزهای دیگه بهمون میده که سرعت توسعه رو بالا می‌بره.

توی این ویدیو بطور کامل این موارد به همراه قابلیت‌های دیگه Statsig مثل Dynamic Configs، Layers و Holdouts رو بررسی می‌کنم.

ویدئوی یوتوب:
https://www.youtube.com/watch?v=kVd4OP6hgAw&list=PL1bBcWODwsLOgA1PLZ8tNca7VMFNPPdm-

@techstuff100
9🔥3
Tech Stuff
Building Micro-Frontends Chapter 9.pdf
Building Micro-Frontends Chapter 10.pdf
2.5 MB
کتاب Building Micro-Frontends فصل ۱۰ (فصل آخر): معرفی میکروفرانت‌اند در سازمان شما

مطالبی که توی فصل دهم صحبت شده:
- چرا باید از میکروفرانت‌اند استفاده کنیم؟
- ارتباط بین سازمان‌ها و معماری نرم‌افزار
- پیاده‌سازی حاکمیت (Governance) برای روان‌تر شدن ارتباطات
- تکنیک‌هایی برای بهتر کردن جریان ارتباطات
- سازمان غیرمتمرکز (Decentralized)

پ.ن: خلاصه فصل‌‌های قبل رو با این هشتگ می‌تونین پیدا کنین:
#Building_Micro_Frontends

@techstuff100
9🤔2
Tech Stuff
Building Micro-Frontends Chapter 10.pdf
Building Micro-Frontends.pdf
25.2 MB
خلاصه همه فصل‌های کتاب رو توی این فایل گذاشتم. اگه خواستین نسخه اصلیشو بخونین، تا چند وقت دیگه ویرایش دومش میاد که خیلی کامل‌تر از این نسخه‌ست.

#Building_Micro_Frontends

@techstuff100
9👍2🤷‍♂1🤔1
سوال مصاحبه React: پیاده‌سازی useEffect از صفر

توی این چالش از شما خواسته میشه useEffect رو از صفر پیاده‌سازی کنید. تمرکز اصلی روی مدیریت dependencyهاست؛ اینکه بر اساس آرایه dependencyها چه زمانی افکت اجرا بشه و چه زمانی تابع cleanup فراخوانی بشه. مصاحبه‌کننده برای روشن‌تر شدن سوال، به چندتا نکته اشاره کرده: پیاده‌سازی باید رایج‌ترین موارد رو پوشش بده، زمان مصاحبه یک ساعته، تاکید روی dependency handling هست (نه روی جزئیات زمان‌بندی اجرای افکت) و ترجیح داده شده که کد با TypeScript نوشته بشه.

به‌جای پریدن مستقیم به کدنویسی، توصیه میشه اول مسئله رو تحلیل کنید: روی وایت‌بورد یا با یک دیاگرام جریان وابستگی‌ها و lifecycle افکت‌ها رو رسم کنید، edge caseها (مثل آرایه dependency خالی یا undefined، نیاز به cleanup و ...) رو مشخص کنید و بعد وارد پیاده‌سازی بشید.

مقاله:
https://freedium.cfd/https://levelup.gitconnected.com/interview-challenge-could-you-write-useeffect-from-scratch-e2fe0f12b7e7

@techstuff100
8🤔2
استفاده از act API در تست‌های React

توی React، تابع act برای شبیه‌سازی رفتار واقعی مرورگر توی تست استفاده می‌شه. جزئیاتش رو توی این پست بخونید.

@techstuff100
12👏1
ریفکتور پروژه‌های چندزبانه با i18n-check

پروژه‌های چندزبانه بعد از مدتی شلوغ و نامرتب میشن. کلیدهای استفاده نشده، ترجمه‌های گمشده و کلیدهای اضافی باعث میشن نگهداری پروژه سخت‌تر بشه. توی این پست راه‌حل کاملی برای ریفکتور کردنشون ارائه دادم.

اسکریپت‌هایی که استفاده کردم: لینک

@techstuff100
9👍6
بهینه‌سازی performance در Twitter Lite

توی این مقاله از چالش‌های performance توی Twitter Lite گفته میشه؛ مثل کند بودن لود اول، اجرای کند کامپوننت‌ها، تصاویر حجیم، re-renderهای غیرضروری و حتی مشکلات Service Worker. تیم توییتر با کارهایی مثل code splitting، بهینه‌سازی تصاویر، کنترل re-render و تعویق رجیستر Service Worker، قدم‌به‌قدم این bottleneckها رو رفع کردن و نتیجه‌ش یه PWA سریع و scalable روی React شده.

مقاله با اینکه برای چند سال پیشه ولی نکات خیلی خوبی توش هست. لینک مقاله.

@techstuff100
9👍3
آشنایی با Dynamic Remotes در پروژه‌های میکروفرانت‌اند

توی این ویدیو Dynamic Remotes در Module Federation رو بررسی کردم که چطور میشه ریموت‌ها رو در زمان اجرا (runtime) لود کرد، نه موقع build. می‌بینیم که Host چطور بدون تعریف remotes در کانفیگ، می‌تونه هر ریموتی رو فقط موقع نیاز لود کنه.

ویدئوی یوتوب:
https://www.youtube.com/watch?v=W1cvFRd1nRk&list=PL1bBcWODwsLMYe8Gor4PDwT5U5CK_S36x

@techstuff100
10👍3👏1