ChatCrawlersearch across public Telegram Open the app
N

Node Master Group

392 members
23 August 2026
24 August 2026
A
بعد جالب بود، نوشته بود prisma orm
A
Видеостикер
sticker.webm · 51 KB · click to show
😃
Abolfazlچون شته
یه خوبی‌که داره اینه کل مدل هات رو میتونی توی یه فایل بسازی معماری پروژه رو بهم میریزه یه کم ولی خوبیش اینه دیگه همه جلوی چشمته و میتونی همه رو همونجا هندل کنی مخصوصا ریلیشن ها
البته شاید type orm ام بشه اینطوری استفاده کرد به خاطر اینکه همه چی ماژولار باشه من همه چی ماژول رو encapsulate کنم داخل خود ماژول
Abolfazlچون شته
یه سوالم داره این ماژولار نویسی توی نست دقیقا مفهومش چیه؟ ینی اگر یه جا تو اومدی سرویس find user رو نوشتی داخل ماژول یوزر میتونی ازین سرویس متد توی ماژول payment استفاده کنی؟ توی ماژولار منولیث ماژول تعریفش میشه یه جزئی که abstraction داره و کلا ارتباطی نباید داشته باشه با ماژول دیگه ای حتی توی es lint میان rule مینویسن که نتونی یه ماژول رو توی ماژول دیگه استفاده کنی اصلا
P
برا همین فک میکنم از منولیث به مایکروسرویس کسی بخواد مایگریت کنه اول پروژه میشه ماژولار منولیث بعدش میشه کامل مایکرو سرویس
parham pazargadiیه سوالم داره این ماژولار نویسی توی نست دقیقا مفهومش چیه؟ ینی اگر یه جا تو اومدی سرویس find user رو نوشتی داخل ماژول یوزر میتونی ازین سرویس متد توی ماژول payment استفاده کنی؟ توی ماژولار منولیث ماژول تعریفش میشه یه جزئی که abstraction داره و کلا ارتباطی نباید داشته باشه با ماژول دیگه ای حتی
دوتا بحث جدایی هستن هدف اینه که هر ماژول مالک domain خودش باشه و فقط از طریق contract که در این نمونه میشه اینترفیس یا …، با بقیه ارتباط بر قرار کنه. یعنی payment مستقیم به user repository متصل نشه و اصلا نباید بدونه user چجوری ذخیره میشه یا چجپری دریافت میشه یک متد داخل یک سرویسی هست که دیتای مورد نظرشو میرسونه یا کامندی رو ران میکنه
P
Abolfazlدوتا بحث جدایی هستن هدف اینه که هر ماژول مالک domain خودش باشه و فقط از طریق contract که در این نمونه میشه اینترفیس یا …، با بقیه ارتباط بر قرار کنه. یعنی payment مستقیم به user repository متصل نشه و اصلا نباید بدونه user چجوری ذخیره میشه یا چجپری دریافت میشه یک متد داخل یک سرویسی هست که دیتای
این قسمت رو نفهمیدم اگر تو نیاز داشته باشی که بدونی یه یوزر وجود داره یا نه داخل یه ماژول به اسم payment تو نمیری متد های یوزر رو کال کنی و به جای اینجکت کردن سرویس میای ریپازیتوری رو اینجکت میکنی؟ User Repository—> Payment Service به جای User Service —> Payment Service
A
R
Cache Strategies وقتی پروژه بزرگ میشه یکی از راه های سریع تر کردن پروژه اینه که یه سری دیتارو کش کنیم اما این کش کردن فقط این نیست که دیتا رو فقط بزاریم توی ردیس یه سری استراتژی ها رو داره که حالا مهم ترین هاش رو یه بررسی میکنیم کشینگ یکی از بهترین راه‌ها برای سریع‌تر کردن سیستم و کم کردن فشار روی دیتابیسه اما اگه استراتژی اشتباه انتخاب کنی، ممکنه داده ناهماهنگ بشه یا حتی مشکل جدی پیش بیاد. 1. Cache-Aside (Lazy Loading) رایج‌ترین روشه اول Cache رو چک می‌کنیم؛ اگه دیتا نبود، از Database می‌گیریم و بعد داخل Cache ذخیره می‌کنیم. Cache → DB → Cache ✅ ساده و قابل کنترل ❌ اولین درخواست همیشه کندتره ❌ ممکنه Cache و DB برای مدتی با هم Sync نباشن 2. Write-Through وقتی دیتامون رو تغییر می‌دیم، همزمان هم DB و هم Cache آپدیت میشن. App → Cache → DB ✅ Cache همیشه داده نسبتاً جدیدی داره ❌ عملیات Write پیچیده‌تر و معمولاً کندتر میشه ❌ اگر Cache مشکل داشته باشه، Write هم می‌تونه تحت تأثیر قرار بگیره 3. Write-Behind (Write-Back) اول دیتا داخل Cache نوشته میشه و بعداً Cache اون رو به DB منتقل می‌کنه. App → Cache → ... → DB ✅ سرعت Write خیلی بالاتر میره ❌ اگر Cache از دست بره، ممکنه داده‌هایی که هنوز به DB نرسیدن از بین برن ❌ پیاده‌سازی و مدیریت Failureها سخت‌تره 4. Read-Through برنامه مستقیماً با Cache کار می‌کنه و اگر دیاا داخل Cache نباشه، خود Cache میره از DB می‌گیره. یعنی منطق گرفتن دیتا از DB بیشتر داخل لایه Cache قرار می‌گیره. ✅ کد Application تمیزتر میشه ❌ وابستگی بیشتری به سیستم Cache پیدا می‌کنیم 5. Refresh-Ahead قبل از اینکه Cache منقضی بشه، دیتا های مهم رو دوباره از DB می‌گیریم و Cache رو Refresh می‌کنیم. مثلاً یک پروداکت خیلی پرطرفدار داریم که همیشه درخواست می‌خوره. به‌جای اینکه صبر کنیم TTL تموم بشه و درخواست بعدی بره DB، قبلش Cache رو Refresh می‌کنیم. ✅ جلوگیری از Cache Miss ناگهانی ❌ مصرف منابع بیشتر ❌ برای همه دیتا ها ارزش پیاده‌سازی نداره کدوم رو انتخاب کنیم؟ واقعیت اینه که معمولاً یک Strategy برای کل پروژه نداریم. مثلاً برای بیشتر APIهای Read-heavy، Cache-Aside انتخاب خیلی خوبی می‌تونه باشه. ولی اگر Consistency خیلی مهم باشه یا سیستم Wr
206 ·
AI: این کار رو به یک agent پس‌زمینه می‌سپارم که کل فایل رو بخونه و دو فایل README جدا بنویسه خودش رفت سراغ یه تسک دیگه!!!!!!
A
Стикер
sticker.webp · 23 KB · click to show
😒
P
P
realAmir🙏🏼🤍
یه سری هم انواع متنوع داره Memcache Redis برای تپزیع پذیری Database cache ( برای خود postgres) In memory (nest js built-in) اونام خوبم
Архив по месяцам
Open in Telegram Каталог площадок Искать в ChatCrawler

A snapshot of an open public feed from the search index ChatCrawler — “Google for public Telegram”; refreshed as the venue is crawled. Times are UTC.

Public content only, official Telegram API. About · FAQ · What we do not do · Remove a page · Catalog