آموزش برنامه نویسی فرانت اند
8.17K subscribers
328 photos
47 videos
26 files
113 links
👈🏻 ارتباط با من: @codelines_support 🔅

عرفان رضایی هستم ❤️
و اینجا خیلی ساده بهت یاد میدم
چطوری اصولی #برنامه_نویسی #فرانت_اند یاد بگیری 💻
که هم لذت ببری و هم وارد بازار کار بشی
😍🥇
@satisfaction_codelines 👈 نتایج و رضایت دوره

آدرس سایت 👈🏻: codelines.ir
Download Telegram
💡 چرا 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() فکر کن.
🚀 یه ترفند که کدت رو تمیزتر می‌کنه

اگه چند تا 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 پیشنهاد می‌کنن.


پکیج جامع برنامه نویسی فرانت اند
1🔥1
🚀 پرامپتی که کد رو به زبان ساده برات توضیح می‌ده

یه پروژه یا فایل پیدا کردی که نمی‌فهمی چیکار می‌کنه؟ این پرامپت رو امتحان کن.

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 رو برات ذخیره کنن.
2❤‍🔥1
for (var i = 0; i < 3; i++) { setTimeout(() => console.log("Hello"), 0); }
کد بالا چند بار Hello رو چاپ می‌کنه؟
Anonymous Quiz
8%
1 بار
18%
2 بار
47%
3 بار
27%
هیچ‌کدام
😟 می‌ترسم شروع کنم، استرس می‌گیرم...

طبیعیه! هر شروعی یه مقدار استرس داره، ولی اگه شروع نکنی، همیشه توی همین نقطه می‌مونی!

هرکی امروز حرفه‌ایه، یه روز از صفر شروع کرده!

🚀 بزرگ‌ترین ترس، ترس از شروعه! فقط یه قدم بردار، بعدش می‌بینی چقدر ساده بود! 🔥😎
2🔥1
میری مصاحبه، ۲ تا سوال می‌پرسن، بلد نیستی و رد میشی؟ 🤯💻

🔴 مشکل چیه؟

- دوره‌های زیادی دیدی ولی هنوز نمی‌تونی پروژه واقعی انجام بدی؟

- مصاحبه فنی می‌ری، سوالای ساده رو هم جواب نمی‌دی؟

- فقط سینتکس بلدی ولی نمی‌دونی چطور ازش استفاده کنی؟

🚀 مشکل از تو نیست، از روش یادگیریته!

باید پروژه محور یاد بگیری، نه فقط حفظ کردن کد!

🔥 اگه می‌خوای با اعتماد‌به‌نفس بری مصاحبه و قبول بشی، وقتشه اصولی یاد بگیری!
🚀 ۵ افزونه کروم که هر برنامه‌نویس فرانت‌اند باید نصب داشته باشه

🛠 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.
یادت باشه، توی مصاحبه قرار نیست ثابت کنی همه چیز رو بلدی؛ قرارِ نشون بدی می‌تونی یاد بگیری و مسئله حل کنی
5🔥2
🔥 ترفند closest() در JavaScript

به‌جای این:

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 و ساخت پروژه‌های فرانت‌اند را پوشش می‌دهی.
4❤‍🔥1
console.log(typeof null);
خروجی تکه کد بالا چیه ؟
Anonymous Quiz
42%
Null
35%
Object
22%
Undefined
2%
Boolean
3
🚨 ۵ اشتباه رایج برنامه‌نویس‌های Front-End

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 دارد.
2
🚀 پرامپت افزایش سرعت و سئوی سایت قبل از انتشار

اگه پروژه‌ات تموم شده و می‌خوای 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 متوجه تغییر میشه و کامپوننت رو دوباره رندر می‌کنه.

مثلاً اگه مقدار یه متغیر معمولی رو تغییر بدی، چیزی روی صفحه عوض نمیشه.
اما اگه همون مقدار داخل useState باشه، با تغییرش رابط کاربری هم به‌روزرسانی میشه.

📌 پس هر داده‌ای که قراره روی UI تأثیر بذاره، باید داخل State مدیریت بشه، نه یه متغیر معمولی.
4👏1