1 866
Subscribers
No data24 hours
No data7 days
-230 days
Posts Archive
1 866
📋 چکلیست پروژه: دیپلوی روی لیارا
دیپلوی مرحلهای حساسه که تضمین میکنه پروژهات به درستی در دسترس کاربر قرار بگیره. این چکلیست، مسیر دیپلوی روی لیارا رو ساده میکنه.
✅ ساخت اکانت و ایجاد سرویس در لیارا
✅ کانفیگ دیتابیس (MongoDB, MySQL و ...) در پنل لیارا
✅ تنظیم متغیرهای محیطی
✅ اتصال ریپازیتوری به لیارا و تنظیم CI/CD
✅ تست نهایی بعد از دیپلوی (عملکرد APIها و صفحات فرانتاند)
📌 پیشنهاد:
قبل از دیپلوی، از فایل env. و dependencyهای پروژه یک بار روی لوکال تست کامل بگیر.
#چک_لیست #توسعه_وب
———————————
@frontcast | فرانت کست
1 866
📚 کوییز: تایپ اسکریپت
❓ سؤال: در تایپ اسکریپت تایپ unknown با any چه تفاوتی داره؟
1 866
بررسی تغییرات 16 Next.js
نسخه ۱۶ فریمورک Next.js منتشر شد. توی این نسخه، React Compiler به مرحله پایدار رسیده، Turbopack برای محیط production آماده شده و DevTools جدید هم معرفی شده. همچنین بهبودهایی در prefetch cache، پردازش تصاویر و رابط Terminal ایجاد شده تا عملکرد پروژهها سریعتر و شفافتر باشه.
ادامه مطلب
———————————
@frontcast | فرانت کست
1 866
✅ مقایسه کوتاه: Relative units (em/rem) و Absolute units (px)
انتخاب واحد اندازهگیری در CSS روی ریسپانسیو بودن و تجربه کاربری تاثیر مستقیم داره.
☑️ Relative units (em/rem):
نسبت به اندازه فونت parent (em) یا root (rem) محاسبه میشن. برای طراحیهای ریسپانسیو مناسبتر هستن.
☑️ Absolute units (px):
یک اندازه ثابت مشخص میکنن. ساده و دقیقن اما در دستگاههای مختلف انعطافپذیری کمتری دارن.
🔰 جمعبندی:
واحدهای نسبی در طراحی مدرن و ریسپانسیو توصیه میشن، درحالیکه px بیشتر برای المنتهای دقیق یا موارد خاص کاربرد داره.
#مقایسه_مفاهیم #کدنویسی #توسعه_وب
———————————
@frontcast | فرانت کست
1 866
📂 کد رو از رو نخون: Next.js
export default function Page() {
return <div>{Date.now()}</div>;
}
👀 در نگاه اول:
فکر میکنی هر بار که صفحه رو ریفرش کنی، زمان جدید نمایش داده میشه.
⚡️ در واقعیت:
این کد در سمت سرور اجرا میشه، بنابراین ()Date.now در زمان رندر شدن سرور مقداردهی میشه.
در نتیجه، همه کاربران همون زمان ثبت شده در سرور رو میبینن، نه زمان واقعی سیستم خودشون رو.
💡 نکته:
در Next.js (بهخصوص App Router)، حالتهای مختلفی مثل SSR، SSG و CSR وجود داره.
در SSR و SSG مقادیر پویا مثل تاریخ باید با دقت مدیریت بشن تا دادهی کش شده یا زمان اشتباه نمایش داده نشه.
📌 پیشنهاد:
اگر میخوای تاریخ یا ساعت لحظهای (زمان واقعی مرورگر کاربر) رو نشون بدی، اون بخش رو با استفاده از 'use client' به کلاینت کامپوننت تبدیل کن و از هوکهایی مثل useEffect برای بهروزرسانی لحظهای استفاده کن.
#کد_رو_از_رو_نخون #Nextjs
———————————
@frontcast | فرانت کست1 866
✅ امروز آخرین فرصت ثبتنام با تخفیف بیشتر از ۵۰ درصد برای آموزش Next.js - حل مسئله هست.
✅ این تخفیف دیگه تکرار نمیشه.
1 866
✅ ظرفیت کلاس رفع اشکال تکمیل شده.
✅ تا آخر هفته میتونید با تخفیف ویژه برای دوره ثبت نام کنید.
1 866
📋 چکلیست پروژه: تست و QA
تست و QA کیفیت نهایی محصول رو تضمین میکنه و جلوی بروز خطا در محیط واقعی رو میگیره.
✅ نوشتن Unit Testها برای فانکشنها و کامپوننتها
✅ پیادهسازی Integration Testها برای ماژولها
✅ انجام تست End-to-End (E2E) روی سناریوهای کاربری
✅ بررسی خودکار با ابزار CI/CD بعد از هر commit
✅ تست دستی رابط کاربری روی مرورگرها و دستگاههای مختلف
📌 پیشنهاد:
از ابزارهایی مثل Jest ،Cypress یا Playwright استفاده کن تا فرآیند تست خودکار و قابل اعتماد بشه.
#چک_لیست #توسعه_وب
———————————
@frontcast | فرانت کست
1 866
افزایش سرعت توسعه پروژه؛ چگونه میتوانیم پروژهها را سریعتر بسازیم؟
بسیاری از پروژهها بهخاطر نداشتن مسیر روشن توی همون مراحل ابتدایی متوقف میشن. در این مقاله یاد میگیریم چطور با چند گام ساده، مسیر توسعه رو مشخص و خطاهای احتمالی رو از قبل شناسایی کنیم. برنامهریزی درست، مهمترین عامل در افزایش سرعت توسعه پروژه هستش. از امروز قبل از شروع کدنویسی، فقط چند دقیقه برای طرحریزی وقت بذار. نتیجهاش شگفتانگیزه.
ادامه مطلب
———————————
@frontcast | فرانت کست
1 866
✅ مقایسه کوتاه: Flexbox و Grid
انتخاب سیستم چیدمان مناسب در CSS باعث میشه طراحی رابط کاربری سریعتر و تمیزتر انجام بشه.
☑️ Flexbox:
برای چیدمان یکبعدی (ردیف یا ستون) طراحی شده. انعطافپذیر و عالی برای ساخت المنتهای ریسپانسیو در محور واحد.
☑️ Grid:
برای چیدمان دوبعدی (ردیف و ستون همزمان) ساخته شده. کنترل کامل روی شبکهبندی و طراحیهای پیچیده ارائه میده.
🔰 جمعبندی:
برای ساختار سادهتر و یکبعدی از Flexbox استفاده کنین؛ اما برای طراحیهای پیچیده و دوبعدی، Grid انتخاب ایدهآله.
#مقایسه_مفاهیم #کدنویسی #توسعه_وب
———————————
@frontcast | فرانت کست
1 866
📋 چکلیست پروژه: بهینهسازی فرانتاند
بهینهسازی فرانتاند باعث میشه سرعت بارگذاری بالا بره، تجربه کاربری بهتر بشه و سئو سایتت رشد کنه.
✅ فشردهسازی و کوچکسازی فایلهای CSS و JS
✅ استفاده از تصاویر بهینه (WebP/AVIF) و Lazy Loading
✅ حذف کدها و پکیجهای غیرضروری
✅ استفاده از CDN برای فایلهای استاتیک
✅ بررسی Lighthouse برای سنجش Performance
📌 پیشنهاد:
به طور منظم با ابزارهایی مثل Google Lighthouse پروژهات رو تست کن تا مشکلات پرفورمنس سریعتر مشخص بشن.
#چک_لیست #توسعه_وب
———————————
@frontcast | فرانت کست
1 866
🔍 عمیقتر نگاه کنیم: useActionState در React 19
چطور بدون
useState و useReducer، میتونیم state فرمها رو مدیریت کنیم؟
📖 توضیح:
هوک جدید useActionState توی React 19 کمک میکنه حالت فرم و سرور اکشنها رو باهم مدیریت کنی.
💡 نکته کلیدی:
دیگه لازم نیست چندتا state جدا داشته باشی، همه چیز خودکار آپدیت میشه.
🛠 کاربرد:
const [state, action] = useActionState(submitForm);
اینجا state وضعیت فعلی فرم (مثل pending یا success) رو نگه میداره و action هم تابعی هست که فرم باهاش ارسال میشه.
#فهم_عمیق #برنامه_نویسی
———————————
@frontcast | فرانت کست1 866
کار با Enum در تایپ اسکریپت: روشها و نکات پیمایش
اگر با Enum در تایپ اسکریپت سروکار داری، بدون که همه روشهای پیمایش عملکرد یکسانی ندارن.
در Enumهای عددی، تایپ اسکریپت هم کلیدها و هم مقدارها رو برمیگردونه که میتونه گمراه کننده باشه. در حالیکه Enumهای رشتهای فقط کلیدها رو برمیگردونن و قابل اطمینانترن.
انتخاب روش پیمایش مناسب، به ساختار Enum و اهمیت تایپینگ در پروژه بستگی داره.
ادامه مطلب
———————————
@frontcast | فرانت کست
1 866
✅ مقایسه کوتاه: interface و type
در تایپ اسکریپت هر دو برای تعریف شکل و ساختار دادهها استفاده میشن، اما کاربرد و تواناییهاشون کمی با هم فرق داره.
☑️ interface:
برای تعریف قرارداد بین بخشهای مختلف کده (مثل مشخص کردن ساختار یک آبجکت یا کلاس).
میتونه با استفاده از
extends از چند interface دیگه ارثبری کنه و به راحتی گسترش پیدا کنه.
☑️ type:
انعطافپذیرتره و فقط برای آبجکتها نیست.
میتونه ترکیبی از چند نوع مختلف (مثل union یا intersection) باشه و حتی برای primitiveها هم استفاده بشه.
🔰 جمعبندی:
اگر ساختار یک آبجکت یا کلاس رو تعریف میکنی، interface گزینه تمیزتر و استانداردتریه.
اما وقتی با انواع پیچیدهتر یا ترکیبی از چند نوع سروکار داری، type قدرت بیشتری در اختیارت میذاره.
#مقایسه_مفاهیم #کدنویسی #توسعه_وب
———————————
@frontcast | فرانت کست1 866
📂 کد رو از رو نخون: تایپ اسکریپت
type User = { name: string };
type Admin = User & { role: "admin" };
const u: Admin = { name: "Ali" };
👀 در نگاه اول:
خب اوکیه، name داره.
⚡️ در واقعیت:
خطا میده چون "role: "admin هم باید وجود داشته باشه.
💡 نکته:
در تایپ اسکریپت وقتی چندتا تایپ رو با هم ترکیب میکنی، همه ویژگیها ضروری میشن.
📌 پیشنهاد:
در طراحی تایپها همیشه الزامات هر تایپ رو کامل در نظر بگیر.
#کد_رو_از_رو_نخون #تایپ_اسکریپت
———————————
@frontcast | فرانت کست1 866
📋 چکلیست پروژه: امنیت بکاند
امنیت بکاند حیاتیترین بخش پروژهست؛ چون هر ضعف امنیتی میتونه منجر به نشت دادهها یا هک شدن سیستم بشه.
✅ استفاده از توکن و JWT برای احراز هویت امن
✅ ذخیره رمز عبور با الگوریتمهای هش (مثل bcrypt)
✅ اعتبارسنجی ورودیها برای جلوگیری از SQL Injection و XSS
✅ مدیریت درست خطاها و جلوگیری از نمایش اطلاعات حساس
✅ فعالسازی HTTPS و تنظیم CORS
📌 پیشنهاد:
هیچوقت اطلاعات حساس مثل کلیدهای API یا پسوردها رو داخل کد قرار نده؛ همیشه از متغیرهای محیطی استفاده کن.
#چک_لیست #توسعه_وب
———————————
@frontcast | فرانت کست
1 866
🔍 عمیقتر نگاه کنیم: نسخه ۴ Tailwind CSS
چرا ارتقا به نسخه ۴ برای پروژهها مهمه؟
📖 توضیح:
نسخه ۴ Tailwind CSS در اوایل ۲۰۲۵ منتشر شد و تغییرات زیادی به همراه داشت. این نسخه پیکربندی سادهتر، پشتیبانی بهتر از CSS variables و بهینهسازی عملکرد رو ارائه میده.
💡 نکته کلیدی:
بزرگترین تغییر اینه که بسیاری از تنظیمات نیازی به tailwind.config.js ندارن و سادهتر میشه پروژه رو راهاندازی کرد.
🛠 کاربرد:
در ترکیب با Next.js 15، میتونی بدون پیچیدگی زیاد یه سیستم طراحی تمیز و سریع داشته باشی.
#فهم_عمیق #برنامه_نویسی
———————————
@frontcast | فرانت کست
1 866
مقایسه Flexbox و Grid در CSS
توی این مقاله بهصورت گامبهگام با مقایسه Flexbox و Grid آشنا میشیم. میبینیم هر کدوم توی چه موقعیتی بهترین عملکرد رو دارن و چطور ترکیب این دو میتونه ساختار CSS ما رو حرفهایتر و مقیاسپذیرتر کنه. اگه به طراحی مدرن و ریسپانسیو علاقه داری، این مطلب رو از دست نده.
ادامه مطلب
———————————
@frontcast | فرانت کست
