رفتن به محتوای اصلی
مصطفی عفتی

درباره این پلتفرم

دفتر کاری زنده برای تجربه‌های مهندسی

این پلتفرم مهندسی شخصی مصطفی عفتی است؛ جایی برای تبدیل تجربه عملی به نوشتار روشن، یادگیری ساختاریافته و محصولات دیجیتال کاربردی.

همکار دانشجویی

  • خانم زهرا احسانی

    دانشجوی سابق · مشارکت‌کننده در توسعه پلتفرم

    خانم زهرا احسانی در دوران تحصیل روی بخش‌هایی از این پلتفرم کار کرد و با مشارکت‌های دقیق و کاربردی به توسعه آن کمک کرد. خوشحالم که اینجا از کارش قدردانی می‌کنم.

اینجا چه پیدا می‌کنید

  • مقاله‌ها، کتاب‌ها، آموزش‌ها و اسنیپت‌های کاربردی.
  • دوره‌ها و مسیرهای یادگیری مبتنی بر تجربه‌های واقعی مهندسی.
  • مطالعات موردی، پروژه‌های متن‌باز، آزمایش‌ها و انتشار محصولات.

با طراحی آگاهانه

  • تجربه دو‌زبانه فارسی و انگلیسی با پشتیبانی بومی از RTL.
  • رابط‌های سازگار با تم و کیبورد، با یک زبان بصری متمرکز.
  • توسعه محتوا و محصول به‌عنوان یک سیستم یکپارچه و نسخه‌بندی‌شده.

این پلتفرم پیوسته در حال تکامل است. بعضی بخش‌ها محصولاتی کامل‌اند و برخی دیگر آزمایش‌های فعالی که هم‌زمان با پیشرفت کار بهتر می‌شوند.

software-architecture

category · 11 documents
chapter · 4 min

Frontend Session Edge

چطور Next.js edge proxy کوکی Device و User Account را هم‌زمان نگه می‌دارد — اول resolve Device، بعد refresh Account، با single-flight برای جلوگیری از race.
identitynextjssessions
chapter · 3 min

Organizations و Location

مدل‌سازی Organization، Employee و geo به‌عنوان domain entity — نه فیلدهای free-text چسبیده به User.
identityorganizationsgeo
chapter · 3 min

Authentication Convergence

OTP، email/password و OAuth باید متفاوت verify شوند — بعد یک مسیر مشترک برای provision و session establishment در دامنهٔ Identity داشته باشند.
identityauthenticationoauth
chapter · 3 min

Refresh Token Families

Rotation و reuse detection در سطح family چگونه refresh token دزدیده‌شده را به compromise قابل‌کشف تبدیل می‌کند — برای Device و Account Session.
identityrefresh-tokenssecurity
chapter · 4 min

Device Session در برابر User Account Session

چرا Identity به دو لایهٔ Session نیاز دارد — اول Device، بعد Account — و این جداسازی چه تغییری در logout، theft و multi-device می‌دهد.
identitysessionsdevice-session
chapter · 3 min

Citizenship به‌عنوان Relationship

چرا Citizenship نباید یک فیلد تکی روی موجودیت Person باشد.
identitycitizenshipdomain-modeling
chapter · 3 min

Contact به‌عنوان Aggregate

چرا کانال‌های تماس نباید فیلدهای مستقیم حساب کاربری باشند.
identitycontactsaggregates
chapter · 3 min

چرا User و Person متفاوت‌اند

چرا حساب کاربری در سیستم‌های هویت همان انسان نیست.
identitydomain-modelinguser
chapter · 3 min

Identity فراتر از Login است

طراحی Identity Service از صفر — چرا Authentication فقط بخش کوچکی از مسئله است.
identityarchitectureauthentication
book · 2 min

معماری سرویس هویت

طراحی Identity Service از صفر — User در برابر Person، Contact، Citizenship، dual session، auth convergence، Organization، geo، و Frontend Session Edge.
identitysystem-designbackend
article · 3 min

فایل‌ها را از طریق بک‌اند پروکسی نکن

جابه‌جایی ذهنی مقیاس‌پذیر — بک‌اند را موتور مجوز بدانید، نه خط لولهٔ فایل.
system-designbackendcdn

منوی دستور

↑ ↓برای حرکت · Enter برای انتخاب · Esc برای بستن
ناوبری
اقدامات

Esc برای بستن · ⌘K برای باز/بسته کردن