Tech Stuff
Open in Telegram
سیدمهدی جلالی یوتوب: https://www.youtube.com/@SeyedTechStuff حمایت (دونیت): https://reymit.ir/seyedmahdi بوست: https://t.me/boost/techstuff100 لینکدین: https://www.linkedin.com/in/seyed-mahdi-jalali توییتر: https://twitter.com/seyedmahdii_
Show moreThe country is not specifiedThe category is not specified
792
Subscribers
No data24 hours
-27 days
-230 days
Data loading in progress...
Similar Channels
No data
Any problems? Please refresh the page or contact our support manager.
Tags Cloud
No data
Any problems? Please refresh the page or contact our support manager.
Incoming and Outgoing Mentions
---
---
---
---
---
---
Attracting Subscribers
March '26
March '260
in 0 channels
February '26
+3
in 0 channels
Get PRO
January '26
+6
in 0 channels
Get PRO
December '25
+32
in 0 channels
Get PRO
November '25
+37
in 2 channels
Get PRO
October '25
+747
in 0 channels
| Date | Subscriber Growth | Mentions | Channels | |
| 22 March | 0 | |||
| 21 March | 0 | |||
| 20 March | 0 | |||
| 19 March | 0 | |||
| 18 March | 0 | |||
| 17 March | 0 | |||
| 16 March | 0 | |||
| 15 March | 0 | |||
| 14 March | 0 | |||
| 13 March | 0 | |||
| 12 March | 0 | |||
| 11 March | 0 | |||
| 10 March | 0 | |||
| 09 March | 0 | |||
| 08 March | 0 | |||
| 07 March | 0 | |||
| 06 March | 0 | |||
| 05 March | 0 | |||
| 04 March | 0 | |||
| 03 March | 0 | |||
| 02 March | 0 | |||
| 01 March | 0 |
Channel Posts
+5
بهبود پرفورمنس با will-change در CSS
توی این پست درباره will-change در CSS صحبت کردم. این پراپرتی کمک میکنه مرورگر از قبل برای تغییرات سنگین آماده بشه و رندر روانتری داشته باشیم. بیشتر به درد انیمیشنها، transitionها و تعاملات UI میخوره. پست درباره اینه که کِی و چطوری ازش استفاده کنیم که واقعا به پرفورمنس کمک کنه، نه اینکه برعکس دردسر درست کنه.
@techstuff100
| 2 | بهبود پرفورمنس اسکرول با Passive Event Listener
توی این پست درباره passive event listener صحبت کردم. این گزینه کمک میکنه اسکرول و تعاملهای کاربر روانتر اجرا بشن.
@techstuff100 | 556 |
| 3 | دانلود زودتر منابع مهم با rel=preload
توی این پست دربارهی "rel="preload صحبت کردم. باهاش میتونیم دانلود منابع مهم مثل CSS و JavaScript رو زودتر از روند عادی مرورگر شروع کنیم، بدون اینکه روی اعمال شدن یا اجرای اونها تاثیر بذاریم. همینطور توضیح دادم as چه نقشی داره و چرا مشخص کردن درستش برای عملکرد و cache مرورگر مهمه.
@techstuff100 | 723 |
| 4 | معماری Master–Slave در دیتابیسها
ا Replication یعنی اینکه یه کپی از دیتابیس رو روی چندتا نود (replica) داشته باشیم. اما وقتی یه چیزی روی دیتابیس نوشته میشه، چطور همه replicaها همون دیتا رو داشته باشن؟ راهحل رایج، مدل Master–Slave هست. توی این مدل، Master مسئول نوشتن دیتا هست و بعد تغییرات رو برای Slaveها میفرسته تا همه هماهنگ بمونن.
نوشتن فقط روی Master انجام میشه، خوندن میتونه از Slaveها هم باشه. اما انتقال دیتا از Master به Slave میتونه شکلهای مختلفی داشته باشه: توی حالت async، نود Master به محض نوشتن، response رو به کلاینت میده و Slaveها بعدا آپدیت میشن. توی حالت sync، نود Master صبر میکنه تا همه Slaveها آپدیت بشن و بعد response بده. حالت semi-sync هم یه چیزی بین این دوتاست. هرکدومش یه تعادل بین سرعت، سازگاری و ریسک از دست رفتن دیتا ایجاد میکنن.
مقاله:
https://www.enjoyalgorithms.com/blog/master-slave-replication-databases
@techstuff100 | 669 |
| 5 | کدی که کار میکنه کافی نیست!
خیلی وقتها توی پروژهها فقط دنبال این هستیم که یه فیچر کار کنه و سریع تحویل بدیم. این روند اولش خوب پیش میره، ولی کمکم باعث پیچیدگی و کند شدن کار میشه... .
#A_Philosophy_of_Software_Design
@techstuff100 | 786 |
| 6 | پیچیدگی (complexity) در سیستمهای نرمافزاری
تو طراحی نرمافزار، یکی از مهمترین کارها اینه که بفهمیم چی سیستم رو پیچیده میکنه و چطور میشه جلوی این پیچیدگی رو گرفت. کتاب A Philosophy of Software Design تعریف خیلی کاربردیای از complexity میده و نشونهها و علتهاش رو بررسی کرده.
#A_Philosophy_of_Software_Design
@techstuff100 | 807 |
| 7 | تایپ Function در TypeScript
توی تایپاسکریپت یه تایپ گلوبال به اسم Function داریم. این تایپ همه ویژگیهای عمومی توابع جاوااسکریپت مثل bind و call رو پوشش میده؛ اما مشکلش اینه که وقتی ازش استفاده میکنیم، هر نوع تابعی رو قبول میکنه و موقع صدا زدن هم خروجی (return type) رو any در نظر میگیره. این باعث میشه چکهای تایپاسکریپت عملا بیاثر بشن.
اینجا تایپاسکریپت هیچ کنترلی روی ورودیها و خروجی نداره. برای همین بهتره که تایپ توابع رو دقیق مشخص کنیم. ولی اگه زمان کافی برای این کار نداشتیم، استفاده ازش برای تایپ توابع، از تایپ any بهتره.
@techstuff100 | 710 |
| 8 | دیروز بعد ۲ ماه، آموزشی سربازیم توی نیروی دریایی ارتش تموم شد. توی این ۲ ماه مثل قبل نتونستم فعالیت کنم و یسری از کارهام عقب افتادن یا با تاخیر تونستم انجامشون بدم.
توی مدتی که پادگان بودم، به امریه دانشبنیان و پروژه جایگزین خدمتم فکر میکردم که هر کدوم به یه دلیلی رد شدن. به وقت و انرژی که صرفشون کردم و تهش هم به نتیجه نرسیدن. با این حال از هر کدومشون چیزایی یاد گرفتم، تجربه شدن و قطعا بیفایده نبودن و نکات مثبت خودشون رو داشتن.
ماه اول آموزشی رو توی سلف پادگان بودم. با اینکه سختیها و فشار کاری خودش رو داشت، برام تجربه جدیدی بود: شستن روزانه چندصد تا یغلوی، تمیز کردن میزها، جارو و طی زدن سلف، تحویل غذا از آشپزخونه، گرفتن نون از خبازخونه، کفپارتی و ... .
توی آموزشی با آدمهای خفنی آشنا شدم؛ هر کسی بیرون پادگان توی حوزه خودش کار میکرد و برای خودش کسی بود. چیزی که شاید وقتی لباس سربازی میپوشیم کمتر بهش توجه میشه اینه که هر کدوم از این سربازها بیرون از پادگان شخصیت و هویت خودشون رو دارن.
توی زمان بیکاریم توی پادگان تونستم وقت بیشتری رو به مطالعه اختصاص بدم و کتاب Leaders Eat Last و همینطور نصف کتاب A Philosophy of Software Design رو بخونم (که کمکم پستشون رو میذارم).
از این به بعد اگه شرایط درست پیش بره، سعی میکنم مثل قبل خدمت فعالیتم رو ادامه بدم و مرتب پست بذارم.
#سربازی | 607 |
| 9 | آشنایی با Dynamic Remotes در پروژههای میکروفرانتاند
توی این ویدیو Dynamic Remotes در Module Federation رو بررسی کردم که چطور میشه ریموتها رو در زمان اجرا (runtime) لود کرد، نه موقع build. میبینیم که Host چطور بدون تعریف remotes در کانفیگ، میتونه هر ریموتی رو فقط موقع نیاز لود کنه.
ویدئوی یوتوب:
https://www.youtube.com/watch?v=W1cvFRd1nRk&list=PL1bBcWODwsLMYe8Gor4PDwT5U5CK_S36x
@techstuff100 | 2 241 |
| 10 | بهینهسازی performance در Twitter Lite
توی این مقاله از چالشهای performance توی Twitter Lite گفته میشه؛ مثل کند بودن لود اول، اجرای کند کامپوننتها، تصاویر حجیم، re-renderهای غیرضروری و حتی مشکلات Service Worker. تیم توییتر با کارهایی مثل code splitting، بهینهسازی تصاویر، کنترل re-render و تعویق رجیستر Service Worker، قدمبهقدم این bottleneckها رو رفع کردن و نتیجهش یه PWA سریع و scalable روی React شده.
مقاله با اینکه برای چند سال پیشه ولی نکات خیلی خوبی توش هست. لینک مقاله.
@techstuff100 | 915 |
| 11 | ریفکتور پروژههای چندزبانه با i18n-check
پروژههای چندزبانه بعد از مدتی شلوغ و نامرتب میشن. کلیدهای استفاده نشده، ترجمههای گمشده و کلیدهای اضافی باعث میشن نگهداری پروژه سختتر بشه. توی این پست راهحل کاملی برای ریفکتور کردنشون ارائه دادم.
اسکریپتهایی که استفاده کردم: لینک
@techstuff100 | 867 |
| 12 | استفاده از act API در تستهای React
توی React، تابع act برای شبیهسازی رفتار واقعی مرورگر توی تست استفاده میشه. جزئیاتش رو توی این پست بخونید.
@techstuff100 | 820 |
| 13 | سوال مصاحبه 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 | 924 |
| 14 | خلاصه همه فصلهای کتاب رو توی این فایل گذاشتم. اگه خواستین نسخه اصلیشو بخونین، تا چند وقت دیگه ویرایش دومش میاد که خیلی کاملتر از این نسخهست.
#Building_Micro_Frontends
@techstuff100 | 682 |
| 15 | کتاب Building Micro-Frontends فصل ۱۰ (فصل آخر): معرفی میکروفرانتاند در سازمان شما
مطالبی که توی فصل دهم صحبت شده:
- چرا باید از میکروفرانتاند استفاده کنیم؟
- ارتباط بین سازمانها و معماری نرمافزار
- پیادهسازی حاکمیت (Governance) برای روانتر شدن ارتباطات
- تکنیکهایی برای بهتر کردن جریان ارتباطات
- سازمان غیرمتمرکز (Decentralized)
پ.ن: خلاصه فصلهای قبل رو با این هشتگ میتونین پیدا کنین:
#Building_Micro_Frontends
@techstuff100 | 827 |
| 16 | توی فرایند توسعه نرمافزار، به ابزارهایی نیاز داریم که باهاش بتونیم بر اساس دیتا تصمیمگیری کنیم. مثلا ببینیم کدوم رنگ دکمه بیشتر کلیک میخوره، کدوم 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 | 743 |
| 17 | مهاجرت تدریجی با Strangler Fig
این پست درباره برای مهاجرت از سیستمهای Legacy به سیستم جدیده. Strangler Fig pattern کمک میکنه بخش به بخش سیستم رو جایگزین کنیم و همزمان سیستم قدیمی هم کار کنه.
@techstuff100 | 1 007 |
| 18 | کتاب Building Micro-Frontends فصل ۹: مهاجرت از Monolith به میکروفرانتاند
مطالبی که توی فصل نهم صحبت شده:
- زمینه (context) پروژه
- استراتژیهای مهاجرت
- جزئیات پیادهسازی (وظایف app shell، ادغام بکاند، پیادهسازی Canary Release، چندزبانه و ...)
پ.ن: خلاصه فصلهای قبل رو با این هشتگ میتونین پیدا کنین:
#Building_Micro_Frontends
@techstuff100 | 740 |
| 19 | استراتژیهای Caching با Workbox
ورکباکس (Workbox) یک کتابخونه قدرتمند برای ساخت PWA هست که توسط گوگل توسعه داده شده و پکیجهای معروفی مثل next-pwa هم ازش استفاده میکنن. Workbox استراتژیهای کشینگ، background sync، پشتیبانی از حالت آفلاین و ... رو خیلی ساده کرده.
توی این ویدئو Workbox رو به پروژه اضافه میکنیم، فایلها و روتهای مهم رو precache میکنیم، فرایند routing رو بررسی میکنیم، assetهای استاتیک و APIهامون رو با استراتژیهای caching، کش و درنهایت background sync رو اضافه میکنیم.
ویدئوی یوتوب:
https://www.youtube.com/watch?v=-dVW58yqtHQ&list=PL1bBcWODwsLMUPOu1Vz7orH2brAgKlWAU
@techstuff100 | 774 |
| 20 | اینکه پستهای کتاب توسط نویسندهش دیده شد خیلی برام ارزشمند بود.
@techstuff100 | 745 |
