آرین سلیمان‌زاده
  • خانه
  • وبلاگ
  • پادکست‌ها
  • ویدیوها
  • کتابخانه
  • تماس با من
العربيةArabic
DeutschGerman
EnglishEnglish
فارسیPersian
한국어Korean
中文Chinese
پنل•تماس سریع

Languages

Choose your interface locale

ar

العربية

Arabic

de

Deutsch

German

en

English

English

fa

فارسی

Persian

ko

한국어

Korean

zh

中文

Chinese

درخواست همکاری یا مشاوره

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

LinkedInپاسخ سریع
مسیر تسلط فرانت‌اند

یک مسیر حرفه‌ای برای مهندسی فرانت‌اند؛ بدون اینکه مطالعه تبدیل به مسابقه شود.

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

08مرحله
04ستون دانشی
∞با ریتم خودت
JSREACTNEXTDSA
دنبال پیش‌نیازها برو، نه ضرب‌العجل
نقطه شروع

از جایی شروع کن که واقعاً در آن سطح هستی

اگر پیش‌نیازها برایت طبیعی و راحت‌اند، لازم نیست حتماً از مرحله ۰۱ شروع کنی.

شروع از پایه

از هسته‌ی JavaScript شروع کن

اگر Scope، Closure، Prototype، رفتار Async یا Browser API هنوز یکدست و شفاف نیست، این نقطه مناسب‌تر است.

شروع از مرحله ۰۱ →
JavaScript را راحت می‌خوانم

از مدل ذهنی React وارد شو

اگر Closure، Promise، Event Loop، Object و Module را بدون مکث جدی توضیح می‌دهی، می‌توانی از اینجا وارد شوی.

شروع از مرحله ۰۳ →
با React پروژه می‌سازم

برو سراغ معماری و Next.js

اگر Render، Effect، Ref، Context، Composition و مرز Server/Client برایت روشن است، از این بخش ادامه بده.

شروع از مرحله ۰۵ →
نقشه وابستگی‌ها

این بخش‌ها چطور به هم وابسته‌اند

01هسته JavaScript→02Runtime و مرورگر→03مدل React→04معماری React→05Next.js
موازی، بعد از پایه JavaScript
06 پایه DSA→07 الگوهای DSA
08اتصال لایه‌هازبان ↔ فریم‌ورک ↔ معماری ↔ الگوریتم
مسیر یادگیری

هشت مرحله؛ هر کدام با یک دلیل مشخص

تعداد جلسه‌ها فقط برای درک اندازه‌ی هر بخش است. هرجا موضوع برایت مفید یا جذاب بود، بیشتر بمان.

01
پایه‌ی زبان۴ تا ۶ جلسه‌ی آرام مطالعه

هسته‌ی JavaScript — بفهم زبان دقیقاً چه می‌کند

قبل از اضافه‌شدن پیچیدگی فریم‌ورک، یک مدل ذهنی قابل‌اعتماد از value، scope، function، object، prototype، coercion و module بساز.

چرا این مرحله اینجاست

React و Next.js دائماً روی رفتار JavaScript سوار هستند. اگر این لایه مبهم باشد، قوانین فریم‌ورک تصادفی و حفظی به نظر می‌رسند.

با این ترتیب بخوان

01Scope، محیط Lexical و Closureهسته↗02this، call/apply/bind و شکل‌های Function↗03Object، Prototype و Inheritance↗04Type، Equality، Coercion و Immutability↗05Module، Destructuring و سینتکس مدرن↗

وقتی این مرحله برایت روشن شد

01

می‌توانی توضیح بدهی چرا یک قطعه JavaScript آن رفتار را دارد، نه فقط اینکه چه خروجی می‌دهد.

02

کد ناآشنا را بدون حدس‌زدن درباره Scope، Reference یا Object lookup می‌خوانی.

باز کردن کتابخانه JavaScript →آرام بخوان. وقتی مفهوم برایت متصل و روشن شد، جلو برو.
02
Runtime و مرورگر۳ تا ۵ جلسه‌ی آرام مطالعه

JavaScript ناهمگام — زمان، Task و مرورگر را بفهم

از سینتکس وارد رفتار Runtime شو: Event Loop، Promise، async/await، شبکه، DOM، Storage، Error و Performance.

چرا این مرحله اینجاست

بخش زیادی از باگ‌های سخت فرانت‌اند مربوط به Timing، Lifecycle، Network یا state مرورگر است، نه سینتکس.

با این ترتیب بخوان

01Event Loop، Call Stack و Queueهاضروری↗02Promise، Microtask و async/await↗03Fetch، AbortController و Error Handling↗04DOM، Event و Browser Storage↗05Performance، Memory و Debounce↗

وقتی این مرحله برایت روشن شد

01

می‌توانی ترتیب اجرای کد Async را دنبال کنی و Microtask را از Task تشخیص بدهی.

02

مفاهیم مرورگری مثل Cancellation، Cleanup، Storage، Event propagation و هزینه‌ی Performance را تشخیص می‌دهی.

↳
مسیر اختیاری: یادداشت‌های Code Reading

وقتی بین پاسخ‌های بلند مخزن به توضیح‌های کوتاه و انتخاب‌شده نیاز داری، از یادداشت‌های JavaScript استفاده کن.

مطالعه‌ی Async و Browser →آرام بخوان. وقتی مفهوم برایت متصل و روشن شد، جلو برو.
03
مدل ذهنی React۴ تا ۶ جلسه‌ی آرام مطالعه

مبانی React — با Render، State و Composition فکر کن

React را به‌عنوان یک مدل Rendering یاد بگیر، نه مجموعه‌ای از Hookها. از Component، State، Identity، Render/Commit، Event و Composition شروع کن.

چرا این مرحله اینجاست

وقتی مدل Render روشن باشد، Hookها دیگر مجموعه‌ای از قوانین جداگانه نیستند و تبدیل به ابزارهای قابل‌پیش‌بینی می‌شوند.

با این ترتیب بخوان

01Component، JSX، Props و Stateپایه↗02Render، Commit، Identity و Key↗03Event، ورودی Controlled و Lifting State↗04Composition، Children و UI قابل‌استفاده‌مجدد↗05Virtual DOM، Reconciliation و Fiber↗

وقتی این مرحله برایت روشن شد

01

می‌توانی توضیح بدهی چه چیزی Render ایجاد می‌کند و React بین Renderها چه چیزی را حفظ یا Reset می‌کند.

02

مرز Component و محل نگهداری State را براساس Data Flow انتخاب می‌کنی، نه عادت.

باز کردن کتابخانه React →آرام بخوان. وقتی مفهوم برایت متصل و روشن شد، جلو برو.
04
معماری React۵ تا ۷ جلسه‌ی آرام مطالعه

React در عمل — Effect، Ref، Context، Performance و مرزهای مدرن

وارد Synchronization، Escape Hatch، Shared State، Memoization، Suspense، Server Component، Routing، Testing و Context قدیمی شو.

چرا این مرحله اینجاست

در این مرحله React تولیدی تبدیل به مسئله‌ی معماری می‌شود: انتخاب مرز درست معمولاً مهم‌تر از دانستن یک API دیگر است.

با این ترتیب بخوان

01Effect به‌عنوان Synchronization، نه Event Handlerمهم↗02Ref، Reducer و Custom Hook↗03Context، State Library و مالکیت Data↗04Memoization و Trade-offهای Performance↗05Suspense، Server Component و React مدرن↗06Testing، Accessibility و Error Boundary↗

وقتی این مرحله برایت روشن شد

01

می‌توانی تشخیص بدهی چه زمانی Effect لازم است و چه زمانی Derived State یا Event Handler انتخاب بهتری است.

02

درباره Performance و State Management با Trade-off حرف می‌زنی، نه با شعار و نسخه‌ی ثابت.

↳
مطالعه‌ی Hook و الگوهای پروژه

داخل کتابخانه React به Custom Hooks یا Project Patterns برو تا ببینی مفاهیم چگونه در کد کنار هم قرار می‌گیرند.

مطالعه‌ی React پیشرفته →آرام بخوان. وقتی مفهوم برایت متصل و روشن شد، جلو برو.
05
معماری Next.js۴ تا ۶ جلسه‌ی آرام مطالعه

Next.js — قبل از حفظ APIها، مرز Server/Client را بفهم

App Router را از زاویه معماری بخوان: Layout، React Server Component، Client Boundary، Route Handler، Server Action، Cache، Streaming، Metadata و انتخاب Rendering.

چرا این مرحله اینجاست

بیشتر سردرگمی Next.js از قاطی‌شدن Browser، React، Server، Cache و Request-time می‌آید. این مرحله این لایه‌ها را از هم جدا می‌کند.

با این ترتیب بخوان

01App Router، Layout، Template و Route Groupمعماری↗02RSC و مرز Client↗03Server Action در برابر Route Handler↗04Caching، Revalidation و تازگی Data↗05Streaming، Suspense و استراتژی Rendering↗06Metadata، Security و مسائل Production↗

وقتی این مرحله برایت روشن شد

01

می‌توانی تصمیم بگیری کد کجا اجرا شود و توضیح بدهی چرا آن مرز اهمیت دارد.

02

Static، Dynamic، Cached، Streamed و Mutation flow را به‌عنوان بخش‌های یک معماری واحد مقایسه می‌کنی.

باز کردن یادداشت‌های Next.js →آرام بخوان. وقتی مفهوم برایت متصل و روشن شد، جلو برو.
06
پایه‌ی DSA — مسیر موازیمطالعه‌ی موازی و بدون ضرب‌العجل

ساختمان داده و الگوریتم‌های پایه — جعبه‌ابزار را بساز

وقتی پایه‌های JavaScript راحت شد، این مسیر را به‌صورت موازی شروع کن. از ساختمان داده، Search، Sorting، Recursion، Hashing و Complexity آغاز کن.

چرا این مرحله اینجاست

الگوریتم وقتی ساده‌تر می‌شود که آن را انتخاب Representation و Trade-off ببینی، نه معمایی برای حفظ‌کردن.

با این ترتیب بخوان

01Big-O و Complexity کاربردیپایه↗02Array، Linked List، Stack و Queue↗03Hash Table، Set و ساختارهای Cache↗04Binary Search و الگوهای Search↗05خانواده‌های Sorting و Trade-offها↗06Recursion، Divide-and-Conquer و Tree پایه↗

وقتی این مرحله برایت روشن شد

01

ساختمان داده را براساس Access، Insert، Ordering و نیاز حافظه انتخاب می‌کنی.

02

الگوریتم را با Invariant، مراحل و Complexity توضیح می‌دهی، نه کد حفظ‌شده.

باز کردن کتابخانه الگوریتم →آرام بخوان. وقتی مفهوم برایت متصل و روشن شد، جلو برو.
07
الگوهای عمیق‌تر DSAتدریجی جلو برو و مرتب برگرد

Tree، Graph، Dynamic Programming و خانواده‌های مسئله

از الگوریتم‌های منفرد به الگوهای قابل‌استفاده‌مجدد برو: Traversal، Shortest Path، Connectivity، Greedy، Backtracking، Memoization و Dynamic Programming.

چرا این مرحله اینجاست

مسائل پیشرفته وقتی قابل‌کنترل می‌شوند که اول خانواده‌ی مسئله را تشخیص بدهی و بعد الگوریتم مشخص را انتخاب کنی.

با این ترتیب بخوان

01DFS، BFS و الگوهای Traversal↗02Dijkstra، Bellman-Ford و Shortest Pathگراف↗03Union-Find، MST و Connectivity↗04Backtracking و فضای Search↗05Dynamic Programming و Memoization↗06مسائل کلاسیک: LCS، Knapsack و Max Subarray↗

وقتی این مرحله برایت روشن شد

01

قبل از نوشتن کد، شکل مسائل Graph، Greedy، Backtracking و DP را تشخیص می‌دهی.

02

چند راه‌حل معتبر را مقایسه می‌کنی و توضیح می‌دهی چرا یکی برای Constraint مشخص مناسب‌تر است.

مطالعه‌ی الگوریتم‌های پیشرفته →آرام بخوان. وقتی مفهوم برایت متصل و روشن شد، جلو برو.
08
یکپارچه‌سازیهر وقت خواستی تصویر بزرگ‌تر را ببینی برگرد

لایه‌ها را به هم وصل کن — مفاهیم را در تصمیم‌های واقعی فرانت‌اند دوباره ببین

آزمون نهایی وجود ندارد. در این مرحله به موضوعاتی برگرد که حالا به هم متصل شده‌اند: Closure با Hook، Event Loop با Effect، Cache با Next.js، Tree با UI و Complexity با Performance.

چرا این مرحله اینجاست

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

با این ترتیب بخوان

01Closure ↔ Hook و Callback↗02Event Loop ↔ Effect و زمان‌بندی UI↗03Caching ↔ تازگی Data و Next.js↗04Tree ↔ ساختار Component و UI↗05Complexity ↔ Performance فرانت‌اند↗

وقتی این مرحله برایت روشن شد

01

می‌توانی بین رفتار سطح پایین JavaScript و معماری سطح بالای Application حرکت کنی.

02

یک نقشه داری که بدون شروع دوباره‌ی کل مسیر، به بخش‌های ضعیف یا جذاب برگردی.

مرور همه یادداشت‌های فرانت‌اند →آرام بخوان. وقتی مفهوم برایت متصل و روشن شد، جلو برو.
چرخه آرام مطالعه

یک ریتم مفید برای هر موضوع

این برنامه‌ی زمانی نیست؛ فقط روشی است برای اینکه مطالعه به اسکرول منفعل یا جلسه‌ی بیش‌ازحد سنگین تبدیل نشود.

A

مدل ذهنی را بخوان

با یک مفهوم و پاسخ کاملش شروع کن. هدفت تعداد زیاد نباشد.

B

کد را ببین

یک مثال کوچک را خط‌به‌خط بخوان و هر خط را به مفهوم وصل کن.

C

یک مفهوم نزدیک را وصل کن

یک موضوع مرتبط را دنبال کن تا مفهوم تبدیل به بخشی از یک شبکه شود، نه یک حقیقت جدا.

D

بعداً برگرد

خواندن دوباره بعد از فاصله مفید است. لازم نیست یک بخش را در یک دور تمام کنی.

راهنمای عمق مطالعه

هر موضوع را تا چه عمقی بخوانی؟

هسته

مدل ذهنی را بفهم و بتوانی با یک مثال کوچک توضیحش بدهی.

عمق کاربردی

Trade-offها، Edge caseهای رایج و شکل حضورش در کد واقعی را بشناس.

مطالعه‌ی عمیق‌تر

وقتی موضوع به کارت یا کنجکاوی‌ات مرتبط بود، سراغ Internals و حالت‌های پیشرفته‌تر برو.

نقشه را نگه دار، فشار را کنار بگذار

هدف تمام‌کردن مسیر نیست؛ هدف این است که لایه‌ها برایت به هم متصل شوند.

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

شروع از JavaScriptبازگشت به اتاق مطالعه
آرین سلیمان‌زاده

پورتفولیوی شخصی با تمرکز بر Agentic CRM، سامانه‌های هوشمند کسب‌وکار، مهندسی مدرن وب، طراحی سیستم‌های رابط کاربری و توسعه محصولات نرم‌افزاری کاربردی.

لینک‌های سریع

  • درباره من
  • وبلاگ
  • کتابخانه
  • تماس

ارتباط

  • soleimanzadeh.a.work@gmail.com
  • soleimanzadeh.uni@gmail.com

در دسترس: روزهای کاری

معمولاً پاسخ در ۲۴ ساعت

خبرنامه

به‌روزرسانی‌های مربوط به نوشته‌ها، پروژه‌ها و انتشارهای جدید را دریافت کنید.

© 2026 ariansoleimanzadeh.dev — تمامی حقوق محفوظ است.

لینکدین