💡 چرا
خیلی وقتها میبینم برای ساختن آرایه جدید از
❌ اینجوری:
✅ اینجوری:
چرا؟
کد کوتاهتر و خواناتر میشه.
همیشه یه آرایه جدید برمیگردونه.
توی React و برنامهنویسی Functional بیشتر از
📌 هر وقت هدفت ساختن یه آرایه جدیده، اول به
map() از forEach() بهتره؟خیلی وقتها میبینم برای ساختن آرایه جدید از
forEach() استفاده میشه، در حالی که map() دقیقاً برای همین کار ساخته شده.❌ اینجوری:
const result = [];
users.forEach(user => {
result.push(user.name);
});
✅ اینجوری:
const result = users.map(user => user.name);
چرا؟
کد کوتاهتر و خواناتر میشه.
map() همیشه یه آرایه جدید برمیگردونه.
توی React و برنامهنویسی Functional بیشتر از
map() استفاده میشه.📌 هر وقت هدفت ساختن یه آرایه جدیده، اول به
map() فکر کن.🚀 یه ترفند که کدت رو تمیزتر میکنه
اگه چند تا
❌ اینجوری:
✅ اینجوری:
کد هم کوتاهتر میشه، هم خوندنش راحتتره و هم از تو در تو شدن
📌 خیلی از تیمهای حرفهای استفاده از Early Return رو بهعنوان یک Best Practice در Code Review پیشنهاد میکنن.
پکیج جامع برنامه نویسی فرانت اند
اگه چند تا
if پشت سر هم داری، شاید وقتشه از Early Return استفاده کنی.❌ اینجوری:
function login(user) {
if (user) {
if (user.isActive) {
return "Welcome";
}
}
return "Access denied";
}✅ اینجوری:
function login(user) {
if (!user) return "Access denied";
if (!user.isActive) return "Access denied";
return "Welcome";
}کد هم کوتاهتر میشه، هم خوندنش راحتتره و هم از تو در تو شدن
ifها جلوگیری میکنه.📌 خیلی از تیمهای حرفهای استفاده از Early Return رو بهعنوان یک Best Practice در Code Review پیشنهاد میکنن.
پکیج جامع برنامه نویسی فرانت اند
کدلاینز
کدلاینز | آموزش فرانت اند پروژه محور از صفر تا استخدام
آموزش فرانت اند از صفر تا استخدام: دورههای پروژه محور ری اکت (React)، جاوا اسکریپت (JavaScript)، HTML و CSS و گیت و گیت هاب — با دسترسی مادامالعمر و پشتیبانی واقعی.
❤1🔥1
🚀 پرامپتی که کد رو به زبان ساده برات توضیح میده
یه پروژه یا فایل پیدا کردی که نمیفهمی چیکار میکنه؟ این پرامپت رو امتحان کن.
Prompt 👇
نتیجه
✅ فهم سریع کدهای دیگران
✅ یادگیری منطق پشت کد
✅ مناسب برای پروژههای Open Source و Legacy
💾 ذخیرهاش کن؛ هر وقت با یه کد پیچیده روبهرو شدی، به دادت میرسه.
یه پروژه یا فایل پیدا کردی که نمیفهمی چیکار میکنه؟ این پرامپت رو امتحان کن.
Prompt 👇
Act as a Senior JavaScript Mentor.
Explain this code step by step in simple language.
For each function:
- What it does
- Why it's written this way
- Possible improvements
- Common mistakes
- Real-world example
Assume I'm a junior developer learning from a senior mentor.
نتیجه
✅ فهم سریع کدهای دیگران
✅ یادگیری منطق پشت کد
✅ مناسب برای پروژههای Open Source و Legacy
💾 ذخیرهاش کن؛ هر وقت با یه کد پیچیده روبهرو شدی، به دادت میرسه.
🔥1
💼 یه ترفند برای مصاحبههای Front-End
اگه جواب یه سؤال رو نمیدونی،
هیچوقت فقط نگو "نمیدونم".
بهجاش اینطوری جواب بده:
این جواب دو تا مزیت داره:
✅ مصاحبهکننده میبینه قدرت تحلیل داری، نه فقط حفظیات.
✅ حتی اگه جواب کامل نباشه، نشون میدی میتونی مسئله رو حل کنی.
📌 توی خیلی از مصاحبههای فنی، نحوه فکر کردنت از حفظ بودن جواب مهمتره.
اگه جواب یه سؤال رو نمیدونی،
هیچوقت فقط نگو "نمیدونم".
بهجاش اینطوری جواب بده:
"دقیق با این مورد کار نکردم، ولی با توجه به تجربهای که دارم، فکر میکنم... اگر اجازه بدید منطقش رو تحلیل کنم."
این جواب دو تا مزیت داره:
✅ مصاحبهکننده میبینه قدرت تحلیل داری، نه فقط حفظیات.
✅ حتی اگه جواب کامل نباشه، نشون میدی میتونی مسئله رو حل کنی.
📌 توی خیلی از مصاحبههای فنی، نحوه فکر کردنت از حفظ بودن جواب مهمتره.
🔥1
🚀 ۵ تا سایت که هر Front-End Developer باید بوکمارک کنه
🌈 uiverse.io
کامپوننتهای آماده HTML/CSS و Tailwind که توسط جامعه توسعهدهندهها ساخته شده.
🎨 magicui.design
کامپوننتها و افکتهای مدرن برای React و Tailwind.
✨ animista.net
ساخت انیمیشنهای CSS فقط با چند کلیک.
🖼 shadcn/ui
یکی از محبوبترین مجموعه کامپوننتهای React و Tailwind برای پروژههای حرفهای.
🎯 bg.ibelick.com
مجموعهای از بکگراندهای مدرن برای سایتها و لندینگپیجها.
📌 این ۵ سایت میتونن ساعتها از زمان طراحی و توسعه UI رو برات ذخیره کنن.
🌈 uiverse.io
کامپوننتهای آماده HTML/CSS و Tailwind که توسط جامعه توسعهدهندهها ساخته شده.
🎨 magicui.design
کامپوننتها و افکتهای مدرن برای React و Tailwind.
✨ animista.net
ساخت انیمیشنهای CSS فقط با چند کلیک.
🖼 shadcn/ui
یکی از محبوبترین مجموعه کامپوننتهای React و Tailwind برای پروژههای حرفهای.
🎯 bg.ibelick.com
مجموعهای از بکگراندهای مدرن برای سایتها و لندینگپیجها.
📌 این ۵ سایت میتونن ساعتها از زمان طراحی و توسعه UI رو برات ذخیره کنن.
❤2❤🔥1
for (var i = 0; i < 3; i++) { setTimeout(() => console.log("Hello"), 0); }❌ میری مصاحبه، ۲ تا سوال میپرسن، بلد نیستی و رد میشی؟ 🤯💻
🔴 مشکل چیه؟
- دورههای زیادی دیدی ولی هنوز نمیتونی پروژه واقعی انجام بدی؟
- مصاحبه فنی میری، سوالای ساده رو هم جواب نمیدی؟
- فقط سینتکس بلدی ولی نمیدونی چطور ازش استفاده کنی؟
🚀 مشکل از تو نیست، از روش یادگیریته!
✅ باید پروژه محور یاد بگیری، نه فقط حفظ کردن کد!
🔥 اگه میخوای با اعتمادبهنفس بری مصاحبه و قبول بشی، وقتشه اصولی یاد بگیری!
🔴 مشکل چیه؟
- دورههای زیادی دیدی ولی هنوز نمیتونی پروژه واقعی انجام بدی؟
- مصاحبه فنی میری، سوالای ساده رو هم جواب نمیدی؟
- فقط سینتکس بلدی ولی نمیدونی چطور ازش استفاده کنی؟
🚀 مشکل از تو نیست، از روش یادگیریته!
✅ باید پروژه محور یاد بگیری، نه فقط حفظ کردن کد!
🔥 اگه میخوای با اعتمادبهنفس بری مصاحبه و قبول بشی، وقتشه اصولی یاد بگیری!
🚀 ۵ افزونه کروم که هر برنامهنویس فرانتاند باید نصب داشته باشه
🛠 Wappalyzer با یه کلیک میفهمی هر سایتی با چه تکنولوژیهایی ساخته شده؛ از React و Next.js گرفته تا CMS و سرویسهای Analytics.
🎨 ColorZilla رنگ هر بخش از هر سایتی رو بردار، گرادینت بساز و کد HEX یا RGB رو کپی کن.
📏 Dimensions فقط با نگه داشتن Alt، فاصله بین المانهای صفحه رو اندازه بگیر؛ خیلی به درد پیادهسازی دقیق از روی دیزاین میخوره.
⚡ React Developer Tools اگه با React کار میکنی، این افزونه واجبه! کامپوننتها، State و Props رو راحت بررسی و دیباگ کن.
🌐 JSONVue فایلهای JSON رو بهجای یه متن شلوغ، بهصورت مرتب، رنگی و قابل جمعکردن نمایش میده.
#Frontend #React #Chrome #ChromeExtensions #JavaScript #WebDevelopment #Developer #Programming #Nextjs
🛠 Wappalyzer با یه کلیک میفهمی هر سایتی با چه تکنولوژیهایی ساخته شده؛ از React و Next.js گرفته تا CMS و سرویسهای Analytics.
🎨 ColorZilla رنگ هر بخش از هر سایتی رو بردار، گرادینت بساز و کد HEX یا RGB رو کپی کن.
📏 Dimensions فقط با نگه داشتن Alt، فاصله بین المانهای صفحه رو اندازه بگیر؛ خیلی به درد پیادهسازی دقیق از روی دیزاین میخوره.
⚡ React Developer Tools اگه با React کار میکنی، این افزونه واجبه! کامپوننتها، State و Props رو راحت بررسی و دیباگ کن.
🌐 JSONVue فایلهای JSON رو بهجای یه متن شلوغ، بهصورت مرتب، رنگی و قابل جمعکردن نمایش میده.
#Frontend #React #Chrome #ChromeExtensions #JavaScript #WebDevelopment #Developer #Programming #Nextjs
👍1
۳ اشتباهی که باعث میشه توی مصاحبه فرانتاند رد بشی.
اشتباه اول: فکر میکنی باید جواب همه سؤالها رو بلد باشی.
در صورتی که مصاحبهکننده بیشتر میخواد ببینه وقتی جواب رو نمیدونی، چطور فکر میکنی و به راهحل میرسی.
دومی: فقط تئوری خوندی، ولی پروژه واقعی نساختی.
وقتی ازت میپرسن «این قابلیت رو خودت پیاده کردی؟» یا «چرا این روش رو انتخاب کردی؟» دیگه جوابی نداری.
سومی: قبل از مصاحبه، پروژههای خودت رو مرور نمیکنی.
خیلی وقتها بیشتر سؤالها از روی رزومه و پروژههای خودته، نه فقط React و JavaScript.
یادت باشه، توی مصاحبه قرار نیست ثابت کنی همه چیز رو بلدی؛ قرارِ نشون بدی میتونی یاد بگیری و مسئله حل کنی
اشتباه اول: فکر میکنی باید جواب همه سؤالها رو بلد باشی.
در صورتی که مصاحبهکننده بیشتر میخواد ببینه وقتی جواب رو نمیدونی، چطور فکر میکنی و به راهحل میرسی.
دومی: فقط تئوری خوندی، ولی پروژه واقعی نساختی.
وقتی ازت میپرسن «این قابلیت رو خودت پیاده کردی؟» یا «چرا این روش رو انتخاب کردی؟» دیگه جوابی نداری.
سومی: قبل از مصاحبه، پروژههای خودت رو مرور نمیکنی.
خیلی وقتها بیشتر سؤالها از روی رزومه و پروژههای خودته، نه فقط React و JavaScript.
یادت باشه، توی مصاحبه قرار نیست ثابت کنی همه چیز رو بلدی؛ قرارِ نشون بدی میتونی یاد بگیری و مسئله حل کنی
❤5🔥2
🔥 ترفند closest() در JavaScript
بهجای این:
کدت تمیزتر، خواناتر و در برابر تغییرات HTML مقاومتر میشود.
💡 هر وقت خواستی به والد یک المنت دسترسی داشته باشی، اول
بهجای این:
button.parentElement.parentElement
از این استفاده کن:button.closest(".card")
✅ نزدیکترین والد با کلاس .card را پیدا میکند.کدت تمیزتر، خواناتر و در برابر تغییرات HTML مقاومتر میشود.
💡 هر وقت خواستی به والد یک المنت دسترسی داشته باشی، اول
closest() را امتحان کن.❤2🔥1
🎨 ۱۰ ابزار رایگان برای طراحی UI/UX
Figma — محبوبترین ابزار طراحی رابط کاربری و نمونهسازی.
Penpot — متنباز و رایگان، مناسب برای کار تیمی.
Coolors — ساخت پالت رنگ حرفهای در چند ثانیه.
Google Fonts — هزاران فونت رایگان برای طراحی و وب.
Iconify — دسترسی به میلیونها آیکون از مجموعههای مختلف.
unDraw — تصویرسازیهای SVG رایگان برای پروژهها.
Storyset — ایلوستریشنهای قابل شخصیسازی.
Remove.bg — حذف پسزمینه تصاویر با یک کلیک.
Shots.so — ساخت موکاپهای جذاب برای نمایش پروژهها.
Lorem Picsum — تصاویر نمونه رایگان برای طراحی و توسعه.
💡 اگر فقط با این ۱۰ ابزار آشنا باشی، بخش بزرگی از نیازهای طراحی UI/UX و ساخت پروژههای فرانتاند را پوشش میدهی.
Figma — محبوبترین ابزار طراحی رابط کاربری و نمونهسازی.
Penpot — متنباز و رایگان، مناسب برای کار تیمی.
Coolors — ساخت پالت رنگ حرفهای در چند ثانیه.
Google Fonts — هزاران فونت رایگان برای طراحی و وب.
Iconify — دسترسی به میلیونها آیکون از مجموعههای مختلف.
unDraw — تصویرسازیهای SVG رایگان برای پروژهها.
Storyset — ایلوستریشنهای قابل شخصیسازی.
Remove.bg — حذف پسزمینه تصاویر با یک کلیک.
Shots.so — ساخت موکاپهای جذاب برای نمایش پروژهها.
Lorem Picsum — تصاویر نمونه رایگان برای طراحی و توسعه.
💡 اگر فقط با این ۱۰ ابزار آشنا باشی، بخش بزرگی از نیازهای طراحی UI/UX و ساخت پروژههای فرانتاند را پوشش میدهی.
❤4❤🔥1
❤3
🚨 ۵ اشتباه رایج برنامهنویسهای Front-End
❌ 1. نادیده گرفتن Responsive Design سایت روی دسکتاپ عالیه، ولی روی موبایل بههم میریزه.
❌ 2. استفاده بیشازحد از !important بهجای حل مشکل CSS، فقط آن را پنهان میکند.
❌ 3. نوشتن کامپوننتهای خیلی بزرگ کامپوننتهای کوچک و قابل استفاده مجدد، نگهداری پروژه را آسانتر میکنند.
❌ 4. نادیده گرفتن Performance لود کردن تصاویر حجیم یا رندرهای غیرضروری، سرعت سایت را کاهش میدهد.
❌ 5. استفاده از == بهجای === در بیشتر مواقع،
💡 اگر این ۵ اشتباه را تکرار نکنی، کدهایت تمیزتر، سریعتر و حرفهایتر خواهند بود.
❌ 1. نادیده گرفتن Responsive Design سایت روی دسکتاپ عالیه، ولی روی موبایل بههم میریزه.
❌ 2. استفاده بیشازحد از !important بهجای حل مشکل CSS، فقط آن را پنهان میکند.
❌ 3. نوشتن کامپوننتهای خیلی بزرگ کامپوننتهای کوچک و قابل استفاده مجدد، نگهداری پروژه را آسانتر میکنند.
❌ 4. نادیده گرفتن Performance لود کردن تصاویر حجیم یا رندرهای غیرضروری، سرعت سایت را کاهش میدهد.
❌ 5. استفاده از == بهجای === در بیشتر مواقع،
=== انتخاب امنتر و قابل پیشبینیتری است.💡 اگر این ۵ اشتباه را تکرار نکنی، کدهایت تمیزتر، سریعتر و حرفهایتر خواهند بود.
❤3🔥1
💰 ۱۰ مهارتی که درآمد یک Front-End Developer را بیشتر میکند
🚀 تسلط کامل بر JavaScript
⚛️ یادگیری عمیق React (یا Next.js)
🌐 کار با REST API و GraphQL
📱 طراحی Responsive و Mobile-First
⚡ بهینهسازی Performance سایت
🛠️ تسلط بر Git & GitHub
🧪 آشنایی با Testing (Jest, Cypress)
🎨 درک اصول UI/UX
🤖 استفاده از ابزارهای هوش مصنوعی برای افزایش سرعت توسعه
💼 ساخت Portfolio قوی با پروژههای واقعی
💡 فقط کدنویسی کافی نیست؛ ترکیب مهارت فنی، پروژههای واقعی و یادگیری مداوم، بیشترین تأثیر را روی درآمد یک Front-End Developer دارد.
🚀 تسلط کامل بر JavaScript
⚛️ یادگیری عمیق React (یا Next.js)
🌐 کار با REST API و GraphQL
📱 طراحی Responsive و Mobile-First
⚡ بهینهسازی Performance سایت
🛠️ تسلط بر Git & GitHub
🧪 آشنایی با Testing (Jest, Cypress)
🎨 درک اصول UI/UX
🤖 استفاده از ابزارهای هوش مصنوعی برای افزایش سرعت توسعه
💼 ساخت Portfolio قوی با پروژههای واقعی
💡 فقط کدنویسی کافی نیست؛ ترکیب مهارت فنی، پروژههای واقعی و یادگیری مداوم، بیشترین تأثیر را روی درآمد یک Front-End Developer دارد.
❤2
🚀 پرامپت افزایش سرعت و سئوی سایت قبل از انتشار
اگه پروژهات تموم شده و میخوای Deployش کنی، قبلش این پرامپت رو به هوش مصنوعی بده.
این پرامپت مثل یه برنامهنویس سینیور پروژهات رو بررسی میکنه و بهت میگه:
کجاهای سایت سرعتش پایینه.
چه مشکلاتی روی سئوی سایت تأثیر گذاشتن.
چه کدهایی اضافه و قابل حذف هستن.
چطور امتیاز Lighthouse و Core Web Vitals رو بهتر کنی.
اگه پروژهات تموم شده و میخوای Deployش کنی، قبلش این پرامپت رو به هوش مصنوعی بده.
این پرامپت مثل یه برنامهنویس سینیور پروژهات رو بررسی میکنه و بهت میگه:
کجاهای سایت سرعتش پایینه.
چه مشکلاتی روی سئوی سایت تأثیر گذاشتن.
چه کدهایی اضافه و قابل حذف هستن.
چطور امتیاز Lighthouse و Core Web Vitals رو بهتر کنی.
You are a Senior Front-End Engineer and SEO Expert.
Analyze my project and optimize it for production without changing its functionality.
Your tasks:
- Improve Core Web Vitals (LCP, CLS, INP)
- Optimize bundle size and remove unused code
- Enable lazy loading where appropriate
- Optimize images and fonts
- Improve accessibility (WCAG)
- Add proper semantic HTML
- Optimize meta title, description, and Open Graph tags
- Generate structured data (JSON-LD) if applicable
- Improve internal linking
- Optimize performance for mobile devices
- Detect and fix SEO issues
- Suggest code improvements following best practices
- Explain every optimization before providing the updated code
Return production-ready code only.
💡 اگر هدفت گرفتن سرعت بیشتر، سئوی بهتر و یک پروژه آماده انتشار است، این یکی از کاربردیترین پرامپتهایی است که میتوانی ذخیره کنی.❤5
💻 ۱۰ قابلیت کمتر شناختهشده JavaScript که باید بلد باشی
🚀
عمیق آبجکتها
🔍
📦
⚡
🛡️
🎯
🧹
📚
⏳
🔥
💡 یاد گرفتن این قابلیتها باعث میشود کدهایت تمیزتر، مدرنتر و حرفهایتر شوند.
🚀
structuredClone() برای کپیعمیق آبجکتها
🔍
Object.groupBy() برای گروهبندی دادهها📦
Promise.allSettled() برای مدیریت چند Promise⚡
optional chaining (?.) برای جلوگیری از خطا🛡️
nullish coalescing (??) بهجای ||🎯
Array.at() برای دسترسی به آخرین آیتم آرایه🧹
replaceAll() برای جایگزینی همه مقادیر یک متن📚
flatMap() برای ترکیب map و flat⏳
AbortController برای لغو درخواستهای API🔥
Intl برای فرمت تاریخ، اعداد و ارز💡 یاد گرفتن این قابلیتها باعث میشود کدهایت تمیزتر، مدرنتر و حرفهایتر شوند.
❤2🔥1
💸 اولین درآمد از برنامهنویسی، یه حس عجیبه...
اون لحظهای که برای اولین بار پیام واریز
پروژه میاد، تازه میفهمی ساعتهایی که پای آموزش و تمرین گذاشتی، بیدلیل نبوده.
خیلیا فکر میکنن برنامهنویسی فقط کد زدنه؛ اما واقعیت اینه که یه مهارته که میتونه به درآمد تبدیل بشه.
هیچکس از روز اول حرفهای نبوده... همه از یه آموزش درست، تمرین مداوم و ساخت پروژه شروع کردن.
هر کسی که امروز درآمد خوبی از برنامهنویسی داره، یه روزی دقیقاً از همین نقطه شروع کرده؛
با کلی سؤال، اشتباه و تلاش. چیزی که باعث تفاوتش شده، ادامه دادن بوده، نه استعداد عجیبوغریب.
همه چیز از یه تصمیم برای شروع شروع میشه. 💙
اون لحظهای که برای اولین بار پیام واریز
پروژه میاد، تازه میفهمی ساعتهایی که پای آموزش و تمرین گذاشتی، بیدلیل نبوده.
خیلیا فکر میکنن برنامهنویسی فقط کد زدنه؛ اما واقعیت اینه که یه مهارته که میتونه به درآمد تبدیل بشه.
هیچکس از روز اول حرفهای نبوده... همه از یه آموزش درست، تمرین مداوم و ساخت پروژه شروع کردن.
هر کسی که امروز درآمد خوبی از برنامهنویسی داره، یه روزی دقیقاً از همین نقطه شروع کرده؛
با کلی سؤال، اشتباه و تلاش. چیزی که باعث تفاوتش شده، ادامه دادن بوده، نه استعداد عجیبوغریب.
همه چیز از یه تصمیم برای شروع شروع میشه. 💙
❤6
💡 یه نکته مهم توی React
خیلیها فکر میکنن هر وقت مقدار یه متغیر عوض بشه، صفحه هم آپدیت میشه.
❌ ولی توی React اینطوری نیست.
فقط وقتی از State استفاده کنی، React متوجه تغییر میشه و کامپوننت رو دوباره رندر میکنه.
مثلاً اگه مقدار یه متغیر معمولی رو تغییر بدی، چیزی روی صفحه عوض نمیشه.
اما اگه همون مقدار داخل
📌 پس هر دادهای که قراره روی UI تأثیر بذاره، باید داخل State مدیریت بشه، نه یه متغیر معمولی.
خیلیها فکر میکنن هر وقت مقدار یه متغیر عوض بشه، صفحه هم آپدیت میشه.
❌ ولی توی React اینطوری نیست.
فقط وقتی از State استفاده کنی، React متوجه تغییر میشه و کامپوننت رو دوباره رندر میکنه.
مثلاً اگه مقدار یه متغیر معمولی رو تغییر بدی، چیزی روی صفحه عوض نمیشه.
اما اگه همون مقدار داخل
useState باشه، با تغییرش رابط کاربری هم بهروزرسانی میشه.📌 پس هر دادهای که قراره روی UI تأثیر بذاره، باید داخل State مدیریت بشه، نه یه متغیر معمولی.
❤4👏1