وبلاگ

یادداشت‌هایی درباره‌ی چیزهایی که می‌سازم و یاد می‌گیرم.

احرازهویت با better-auth در Next.js: یه راه‌اندازی دست‌اول
۳ مرداد ۱۴۰۵4 دقیقه مطالعه

احرازهویت با better-auth در Next.js: یه راه‌اندازی دست‌اول

راه‌اندازی دقیق پشت لاگین ادمین همین سایت: کانفیگ سرور، route handler catch-all در Next.js، کلاینت، و محافظت دولایه‌ای middleware + layout که واقعاً /admin رو امن می‌کنه.

مطالعه مقاله
Recharts در Next.js و Tailwind: تم‌دهی و استایل‌دهی سفارشی
۳ مرداد ۱۴۰۵3 دقیقه مطالعه

Recharts در Next.js و Tailwind: تم‌دهی و استایل‌دهی سفارشی

طبیعی‌کردن Recharts با سیستم طراحی Tailwind: مرز درست Client Component، وصل‌کردن رنگ‌ها به CSS variable برای dark mode خودکار، tooltip و legend سفارشی، و مدیریت لوکیل‌های RTL.

مطالعه مقاله
راه‌اندازی Tiptap در Next.js: پنل ادمین قابل‌ویرایش، رندر عمومی فقط‌خواندنی
۳ مرداد ۱۴۰۵4 دقیقه مطالعه

راه‌اندازی Tiptap در Next.js: پنل ادمین قابل‌ویرایش، رندر عمومی فقط‌خواندنی

راه‌اندازی دقیق Tiptap پشت هر پست این سایت: یه لیست extension مشترک برای ادیتور و generateHTML()، ذخیره‌ی JSON توی Postgres، بلاک‌های کد با syntax highlighting، و عکس‌های آپلودشده (نه base64).

مطالعه مقاله
React Query: از کانفیگ تا تکنیک‌های پیشرفته، و کِی واقعاً استفاده‌ش کنیم
۲ مرداد ۱۴۰۵4 دقیقه مطالعه

React Query: از کانفیگ تا تکنیک‌های پیشرفته، و کِی واقعاً استفاده‌ش کنیم

کانفیگ پایه، mutation + invalidation، کوئری‌های وابسته، آپدیت optimistic، prefetch سمت سرور با hydration — و یه قانون کلی روشن برای React Query در برابر Redux Toolkit / Zustand / Jotai (مسئله‌ی متفاوتی حل می‌کنن).

مطالعه مقاله
اشتباهات رایج Next.js که بی‌سروصدا پرفورمنس رو می‌کشن
۲ مرداد ۱۴۰۵3 دقیقه مطالعه

اشتباهات رایج Next.js که بی‌سروصدا پرفورمنس رو می‌کشن

چندتا عادت کوچیک که تک‌تک توی code review منطقی به‌نظر می‌رسن — "use client" خیلی بالا، awaitهای پشت‌سرهم، نبود Suspense boundary، importهای barrel، فراموش‌کردن تنظیمات کش — و جمعشون یه اپ واقعاً کند می‌شه.

مطالعه مقاله
سریع‌کردن یه اپ Next.js: تکنیک‌هایی که واقعاً اهمیت دارن
۲ مرداد ۱۴۰۵3 دقیقه مطالعه

سریع‌کردن یه اپ Next.js: تکنیک‌هایی که واقعاً اهمیت دارن

یه چک‌لیست عملی و تقریباً به‌ترتیب زحمت — عکس‌ها و فونت‌ها، رندر استاتیک‌به‌عنوان‌پیش‌فرض، استریم با Suspense، fetch موازی، باندل کلاینت کوچیک‌تر، و کش سطح‌درخواست با cache() از React.

مطالعه مقاله
tailwindcss-motion: کتابخونه‌ی انیمیشنی که پشت هر Fade این سایته
۲ مرداد ۱۴۰۵3 دقیقه مطالعه

tailwindcss-motion: کتابخونه‌ی انیمیشنی که پشت هر Fade این سایته

یه پلاگین Tailwind کاملاً CSSای به‌جای Framer Motion — مصالحه‌ش، چرا اجازه می‌ده بیشتر کامپوننت‌ها Server Component بمونن، و این سایت چطور با IntersectionObserver برای ریویل‌های اسکرول‌محور جفتش می‌کنه.

مطالعه مقاله
دیزاین پترن‌های فرانت‌اند: کامپوننت‌های Compound با Context (ساختن یه Table)
۲ مرداد ۱۴۰۵4 دقیقه مطالعه

دیزاین پترن‌های فرانت‌اند: کامپوننت‌های Compound با Context (ساختن یه Table)

پترنی که پشت کامپوننت‌های Table/Select/Tabs قابل‌استفاده مجدده — یه خانواده از تیکه‌ها که یه Context مشترک دارن به‌جای یه شلوغی prop-drilling. یه مثال کامل: اشتراک چینش ستون بین هدر یه جدول و سلول‌های هر ردیف.

مطالعه مقاله
فرم‌های Type-Safe در Next.js: ترکیب Server Actions، Zod و useActionState
۲ مرداد ۱۴۰۵3 دقیقه مطالعه

فرم‌های Type-Safe در Next.js: ترکیب Server Actions، Zod و useActionState

دقیقاً همون الگویی که پشت هر فرم پنل ادمین این سایت کار می‌کنه: یه اسکیمای Zod مشترک بین کلاینت و سرور، یه Server Action، و useActionState — بدون فرم‌لایبرری، بدون API route، بدون واگرایی validation کلاینت و سرور.

مطالعه مقاله
Server Component در برابر Client Component: یه مدل ذهنی برای App Router
۲ مرداد ۱۴۰۵3 دقیقه مطالعه

Server Component در برابر Client Component: یه مدل ذهنی برای App Router

رایج‌ترین اشتباه App Router، عادت گذاشتن "use client" همه‌جاست. این‌جا مدل ذهنیش، ترفند ترکیبی که بیشتر صفحه رو server-rendered نگه می‌داره، و اشتباه‌هایی که باید ازشون دوری کرد رو می‌بینیم.

مطالعه مقاله
Core Web Vitals و پرفورمنس در Next.js: یه راهنمای عملی
۲ مرداد ۱۴۰۵3 دقیقه مطالعه

Core Web Vitals و پرفورمنس در Next.js: یه راهنمای عملی

توضیح عملی LCP، INP و CLS، همراه با ابزارهای دقیق Next.js (next/image، next/font، Suspense، ISR) که هرکدوم رو رفع می‌کنن — به‌علاوه‌ی اینکه واقعاً چطور اندازه‌شون بگیریم.

مطالعه مقاله
مقایسه‌ی مدیریت state: Redux Toolkit در برابر Zustand و Jotai
۲ مرداد ۱۴۰۵3 دقیقه مطالعه

مقایسه‌ی مدیریت state: Redux Toolkit در برابر Zustand و Jotai

سه مدل ذهنی متفاوت برای یه مسئله‌ی یکسان، با یه مثال کارکردنی از هرکدوم، یه جدول مقایسه‌ی کنار هم، و یه جواب مستقیم به «واقعاً کدومو استفاده کنم؟»

مطالعه مقاله
راه‌اندازی کامل PWA در Next.js: از Service Worker تا Push Notification و Background Sync
۲ مرداد ۱۴۰۵4 دقیقه مطالعه

راه‌اندازی کامل PWA در Next.js: از Service Worker تا Push Notification و Background Sync

یه مرور کامل روی راه‌اندازی manifest، استراتژی‌های کش Service Worker، Push Notification، و Background Sync — چهار بخشی که یه اپ Next.js رو واقعاً قابل‌نصب و آفلاین‌محور می‌کنن.

مطالعه مقاله