CodeTrail🚀
60 subscribers
6 photos
25 links
~ FATEME HELALI

Frontend • React • Web Development


Learning, building, and sharing my journey
Download Telegram
🌐 Website معرفی

⭕️ Bundlephobia

تا حالا قبل از نصب یک پکیج، بررسی کردی چقدر به حجم پروژه اضافه می‌کنه؟😶

فقط اسم پکیج رو وارد کن تا ببینی:

📦 حجم واقعی پکیج
⚡ حجم بعد از Gzip
📊 تعداد وابستگی‌ها
⏱️ زمان تقریبی دانلود

📌 قبل از نصب هر کتابخونه، یک بار این سایت رو چک کن؛ شاید همون یک پکیج باعث کند شدن پروژه‌ات بشه🐌

🔗https://bundlephobia.com

#JavaScript #Performance #CodeTrail
🔥4❤1
به همه دوستان جدیدمون خوش اومد میگم 🌱👩🏻‍💻

ممنون از دوستمون بابت حمایت و معرفی کانال✨

اینجا قراره مسیر یادگیری فرانت‌اند، تجربه‌ها، چیزهایی که یاد می‌گیرم و پروژه‌هایی که می‌سازم رو با هم به اشتراک بذاریم👩‍💻

اگر شما هم کانال برنامه‌نویسی یا تکنولوژی دارید، لینک کانالتون رو توی دایرکت کانال بفرستید تا من هم وارد کانالتون بشم✨

خوشحالم که جمعمون داره بزرگ‌تر میشه 🌱
❤3
🧠 چالش JavaScript

به نظرتون خروجی این کد چی میشه؟
const a = [1, 2, 3];
const b = a.map(Number);

console.log(b);
console.log(b == a);
console.log(b === a);

خروجی هر سه "console.log" رو حدس بزنید❓

جواب‌هاتون رو میتونین توی کامنت بنویسید👇
👨‍💻3❤1
CodeTrail🚀
🧠 چالش JavaScript به نظرتون خروجی این کد چی میشه؟ const a = [1, 2, 3]; const b = a.map(Number); console.log(b); console.log(b == a); console.log(b === a); خروجی هر سه "console.log" رو حدس بزنید❓ جواب‌هاتون رو میتونین توی کامنت بنویسید👇
✅ جواب چالش JavaScript#

اگر حدستون این بود:
[1, 2, 3]
false
false
درست حدس زدید! 🎯

اما چرا؟ 🤔

const b = a.map(Number);

چون map یک آرایه جدید ایجاد میکنه
بنابراین a و b با اینکه دقیقا محتویات یکسانی دارن، اما دو آرایه متفاوت هستن
پس:
b == a // false
b === a // false

چون آرایه‌ها در JavaScript با Reference مقایسه میشن، نه با محتویاتشون
برای مثال:
const a = [1, 2, 3];
const b = a;

console.log(b === a); // true

اینجا "b" و "a" به همون آرایه اشاره می‌کنن، پس نتیجه "true" میشه

📌 نکته مهم:
[1, 2, 3] === [1, 2, 3] // false

حتی اگر محتویات دو آرایه کاملاً یکسان باشه، چون دو Reference متفاوت دارن، نتیجه "false" خواهد بود.

#JavaScript #JS #Frontend #Programming
❤3🔥1
تا حالا به این فکر کردی که JavaScript چطور با وجود Dynamic بودن، می‌تونه این‌قدر سریع اجرا بشه؟🤔

پشت این سرعت، فقط خود JavaScript نیست؛ V8 Engine نقش مهمی داره

توی این پست یه نگاه کوتاه به کاری که V8 و JIT Compilation انجام میدن انداختیم👆


🔗https://t.me/codetrailWeb

#JavaScript #Performance #CodeTrail
❤3👌2
💡 #Frontend Insight

یکی از قابلیت‌های کمتر شناخته‌شده‌ی CSS
قابلیت content-visibility هست
.card {
content-visibility: auto;
}

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

📌 نتیجه؟
در صفحات طولانی و لیست‌های بزرگ، مقدار کاری که مرورگر برای Rendering انجام می‌ده می‌تونه کمتر بشه

گاهی برای بهبود Performance لازم نیست سراغ JavaScript یا یک کتابخونه جدید بریم
خود CSS هم ابزارهای جالبی برای کمک به مرورگر داره

#Frontend #CSS #Performance #CodeTrail
❤3🔥2
💻 VS Code Extensions | Frontend

بعضی از مهم ترین Extension های Vscode 👇


🔹 Error Lens
نمایش Error و Warning کنار همان خط کد

🔹 Import Cost
نمایش حجم تقریبی پکیج‌ها کنار import

🔹 GitLens
نمایش جزئیات تغییرات Git و اینکه چه کسی هر خط را تغییر داده

🔹 Tailwind CSS IntelliSense
پیشنهاد و تکمیل کلاس‌های Tailwind

🔹 ES7+ React/Redux Snippets
نوشتن سریع‌تر Componentها و کدهای رایج React

🔹 Pretty TypeScript Errors
خواناتر کردن Errorهای پیچیده TypeScript

🔹 Path Intellisense
پیشنهاد خودکار مسیر فایل‌ها هنگام Import

🔹 Auto Rename Tag
با تغییر تگ باز، تگ بسته هم خودکار تغییر می‌کنه

#VSCode #Frontend #Extensions #CodeTrail
❤4👍2🔥1
💡 Frontend Insight

مهم‌ترین مهارت یک Front-End Developer فقط بلد بودن JavaScript و بقیه زبان های برنامه نویسی مرتبط نیست❗️

بلکه توانایی حل مسئله‌ست 🧠

ممکنه امروز با مشکلی روبه‌رو بشی که هیچ‌وقت قبلاً ندیدی

اونجا چیزی که نجاتت می‌ده حفظ کردن کدها نیست

اینکه بتونی:

🔹 مسئله رو درست درک کنی
🔹 مشکل رو به بخش‌های کوچک‌تر تقسیم کنی
🔹 علت اصلی رو پیدا کنی
🔹 راه‌حل‌های مختلف رو بررسی کنی
🔹 و بهترین راه‌حل رو انتخاب و پیاده‌سازی کنی

📌 تکنولوژی‌ها مدام تغییر می‌کنن، اما توانایی حل مسئله همیشه باهات می‌مونه

#Frontend #CodeTrail
👌5❤1
📉 بیاید از روتین یادگیری‌مون بگیم 👀

کنجکاوم بدونم شما چطور برای یادگیری برنامه‌نویسی پیش می‌رید؟

⏱️ روزی چند ساعت مطالعه و تمرین می‌کنید؟
💻 بیشتر وقتتون صرف یادگیری می‌شه یا پروژه؟
📝 برنامه مشخص دارید یا روزبه‌روز پیش می‌رید؟

توی کامنت‌ها از روتینتون بگید، شاید از تجربه‌های هم چیزای خوبی یاد گرفتیم🌱
❤5
از مهم ترین دستورات Git که حتما باید یاد داشته باشید👌

📍شروع پروژه
git init

📍وضعیت فایل‌ها
git status

📍اضافه کردن فایل‌ها
git add .

📍ثبت تغییرات
git commit -m "message"

📍فرستادن تغییرات به GitHub
git push

📍دریافت تغییرات
git pull

📍دریافت یک Repository
git clone <repository-url>

📍ساخت Branch
git branch <branch-name>

📍جابه‌جایی بین Branchها
git switch <branch-name>

📍ساخت و ورود همزمان به Branch
git switch -c <branch-name>

📍دیدن Branchها
git branch

📍ادغام Branch
git merge <branch-name>

📍دیدن تاریخچه Commitها
git log

📍دیدن تغییرات
git diff

📍برگرداندن فایل به آخرین Commit
git restore <file>
❤4🔥3👍1
💡 TypeScript Insight

📌یک نکته درباره TypeScript:

تایپ‌اسکریپت در زمان اجرای برنامه وجود نداره❕

در ابتدا کدهای TypeScript به JavaScript تبدیل می‌شن و در نهایت مرورگر فقط JavaScript رو اجرا می‌کنه

یعنی TypeScript خودش یک زبان Runtime نیست
بلکه در زمان توسعه، به بررسی Typeها و پیدا کردن خطاها کمک می‌کنه

📌 برای همین Typeهایی که در TypeScript تعریف می‌کنیم، در کد نهایی JavaScript وجود ندارن

🔗https://t.me/codetrailWeb

#TypeScript #JavaScript
👏3❤1
💡 JavaScript Insight

پشت صحنه اجرای JavaScript چه اتفاقی می‌افته؟ 🤔

برای فهمیدن این موضوع، باید با چند مفهوم مهم آشنا بشیم:
🔹 Call Stack
🔹 Web APIs
🔹 Task Queue
🔹 Event Loop
━━━━━━━━━━━━━━
🔹 ۱. Call Stack

محلیه که کدهای معمولی JavaScript برای اجرا واردش می‌شن

مثلاً:

console.log("A");

setTimeout(() => {
  console.log("B");
}, 1000);

console.log("C");

ابتدا "A" اجرا می‌شه
بعد "setTimeout" اجرا می‌شه، اما JavaScript برای یک ثانیه منتظر نمی‌مونه
مرورگر مدیریت Timer رو بر عهده می‌گیره و JavaScript می‌ره سراغ دستور بعدی

در نتیجه "C" هم اجرا می‌شه
━━━━━━━━━━━━━━
🔹 ۲. Web APIs
بعضی قابلیت‌ها مستقیماً توسط موتور JavaScript انجام نمی‌شن و محیط مرورگر مدیریت‌شون می‌کنه.
مثلاً:
⏱️ "setTimeout" و "setInterval"
🌐 درخواست‌های شبکه مثل "fetch"
🖱️ رویدادهایی مثل کلیک و تایپ
📍 بعضی قابلیت‌های مرورگر مثل Geolocation
━━━━━━━━━━━━━━
🔹 ۳. Task Queue
وقتی کارهایی مثل Timer آماده اجرا می‌شن، Callback اون‌ها در صف منتظر می‌مونه
در مثال ما، بعد از یک ثانیه:
console.log("B");
آماده اجرا می‌شه و منتظر می‌مونه
━━━━━━━━━━━━━━
🔹 ۴. Event Loop
اینجا Event Loop وارد ماجرا می‌شه
Event Loop مرتب بررسی می‌کنه:
«آیا Call Stack خالیه؟»
اگر خالی باشه و کاری در صف منتظر اجرا باشه، اون کار رو وارد Call Stack می‌کنه
بعد JavaScript اون رو اجرا می‌کنه
پس در نهایت:
A
C
B

📌 خلاصه:

Call Stack → محل اجرای کدها

Web APIs → مدیریت بعضی قابلیت‌های مرورگر

Task Queue → صف کارهای آماده اجرا

Event Loop → هماهنگ‌کننده انتقال کارها به Call Stack

نکته مهم اینه که Event Loop خودش کد رو اجرا نمی‌کنه؛ فقط زمان مناسب ورود کارهای آماده به Call Stack رو هماهنگ می‌کنه


🔗https://t.me/codetrailWeb
#JavaScript #Frontend
❤2👍1🔥1
💡 یک نکته برای مسیر یادگیری

وقتی یک پروژه رو از روی آموزش می‌سازید، سعی کنید بعد از تمام شدن آموزش پروژه رو همونجا رها نکنید

چند قابلیت جدید بهش اضافه کنید که مدرس آموزش نداده

مثلاً من توی پروژه Mini Store بعد از دیدن آموزش، قابلیت‌هایی مثل:

🔹 جست‌وجوی محصولات
🔹 مرتب‌سازی بر اساس قیمت
🔹 دریافت اطلاعات با Fetch
🔹 نمایش جزئیات محصول در Modal
🔹 نمایش ۴ محصول جدید با هر بار کلیک روی «محصولات بیشتر»
🔹 ذخیره تم دارک و لایت در LocalStorage

رو خودم به پروژه اضافه کردم

📌 این کار باعث می‌شه فقط کد مدرس رو تکرار نکنید و مجبور بشید خودتون فکر کنید که:

این قابلیت رو چطور پیاده کنم؟

همین‌جا یادگیری واقعی‌تر شروع می‌شه⚡️

چون ممکنه هنگام اضافه کردن یک قابلیت مجبور بشید مستندات بخونید، سرچ کنید، خطاها رو بررسی کنید و چند راه مختلف رو امتحان کنید📃

📌به نظرم پروژه آموزشی زمانی واقعاً ارزشمند می‌شه که بعد از تموم شدن آموزش دیگه دقیقاً ندونید قدم بعدی چیه و مجبور بشید خودتون تصمیم بگیرید👌

💻 Source Code :
https://github.com/Helali-Dev/Mini-Store-Js

#JavaScript #Frontend
❤4
💡 Frontend Insight

⭕️ مفهوم Node.js ، npm ، vite


📌مفهوم Node.js

محیطی برای اجرای JavaScript خارج از مرورگره
ابزارهایی مثل "npm" برای اجرا شدن به Node.js نیاز دارن

📌مفهوم npm
مدیر پکیج‌های JavaScript محسوب میشه
با npm می‌تونیم کتابخانه‌ها و ابزارهای موردنیاز پروژه رو نصب و مدیریت کنیم
مثلاً با اجرای دستور زیر:
npm install react
پکیج React به پروژه اضافه می‌شه

📌مفهوم Vite
ابزاری برای ساخت، اجرا و Build پروژه‌های Frontend محسوب میشه

این ابزار در زمان توسعه، پروژه رو سریع اجرا می‌کنه و تغییرات کد رو خیلی سریع داخل مرورگر نمایش میده

📌تفاوت این سه مورد
به طور خلاصه:

🔸 محیط اجرا: "Node.js" → اجرای JavaScript خارج از مرورگر

🔸 مدیریت پکیج: "npm" → نصب و مدیریت کتابخانه‌ها و ابزارها

🔸 ابزار توسعه: "Vite" → اجرای محیط توسعه و آماده‌سازی پروژه برای انتشار

📌 یک مثال ساده

وقتی دستور زیر رو اجرا می‌کنیم:

npm create vite@latest

در واقع با استفاده از npm، ابزار Vite رو اجرا می‌کنیم تا ساختار اولیه پروژه رو ایجاد کنه

یعنی این سه مورد جایگزین هم نیستن
هرکدوم وظیفه متفاوتی در اکوسیستم Frontend دارن
❤2👏1
⚛️ React

پشت صحنه اجرای کدهای React چه اتفاقی می‌افته؟🤔

وقتی یک کامپوننت React رو می‌نویسیم، مرورگر مستقیماً کد JSX ما رو اجرا نمی‌کنه

1⃣ ابتدا JSX چه می‌شه؟
کدی مثل:

function App() {
return <h1>Hello</h1>;
}

در ابتدا توسط ابزارهای مربوط به Build پردازش می‌شه و JSX به JavaScript تبدیل میشه

2⃣ مفهوم React Element

بعد از پردازش JSX، یک ساختار داده‌ای به نام React Element ایجاد میشه
این ساختار فقط توصیف می‌کنه که UI باید چه شکلی باشه

مثلاً به صورت مفهومی:
{
type: "h1",
props: {
children: "Hello"
}
}
📌 این Object خودش DOM واقعی نیست، فقط توصیفی از UI موردنظره

3⃣ مفهوم Virtual DOM

ری‌اکت برای مدیریت UI، یک نمایش از ساختار UI رو در حافظه نگه می‌داره که بهش معمولاً Virtual DOM گفته می‌شه

وقتی State یا Props تغییر می‌کنن، ری‌اکت خروجی جدید کامپوننت رو محاسبه می‌کنه

4⃣ مفهوم Reconciliation

بعد از ایجاد خروجی جدید، ری‌اکت وضعیت جدید رو با وضعیت قبلی مقایسه می‌کنه
به این فرآیند Reconciliation میگن

در این مرحله ری‌اکت بررسی می‌کنه کدوم قسمت‌های UI واقعاً تغییر کردن و نیاز به به‌روزرسانی دارن

5⃣ مفهوم Fiber

در معماری مدرن ری‌اکت، ساختار داخلی مهمی به نام Fiber وجود داره

فایبر به ری‌اکت اجازه می‌ده کارهای مربوط به رندرینگ رو به واحدهای کوچک‌تر تقسیم و مدیریت کنه

این معماری به ری‌اکت کمک می‌کنه کارهای مختلف رو بهتر زمان‌بندی و اولویت‌بندی کنه

6⃣ مفهوم Render Phase

در مرحله Render Phase، ری‌اکت کامپوننت‌ها رو اجرا می‌کنه تا مشخص بشه UI جدید باید چه شکلی باشه
مثلاً:
function Counter() {
return <h1>10</h1>;
}
در این مرحله بیشتر داریم UI جدید رو محاسبه می‌کنیم و هنوز الزاماً تغییری روی DOM واقعی ایجاد نشده

7⃣ مفهوم Commit Phase

بعد از اینکه ری‌اکت مشخص کرد چه تغییراتی لازمه، وارد مرحله Commit Phase میشه

در این مرحله تغییرات لازم روی DOM واقعی اعمال می‌شن

به صورت ساده:
Render
↓
Reconciliation
↓
Commit
↓
DOM Update

8⃣ بعد از تغییر DOM چه می‌شه؟

بعد از تغییر DOM، مرورگر باید صفحه رو دوباره پردازش کنه

به صورت ساده این مراحل اتفاق می‌افتن:

DOM
↓
Style Calculation
↓
Layout
↓
Paint
↓
Composite

در این مراحل مرورگر مشخص می‌کنه عناصر چه Styleای داشته باشن، کجا قرار بگیرن و چطور روی صفحه نمایش داده بشن

9⃣ مفهوم useEffect

یکی از اشتباهات رایج اینه که فکر کنیم "useEffect" هنگام Render اجرا میشه

در حالت معمول، Effectها بعد از Commit شدن تغییرات اجرا می‌شن
مثلاً:
useEffect(() => {
console.log("Effect");
}, []);

یعنی ابتدا React UI رو محاسبه می‌کنه و تغییرات لازم رو Commit می‌کنه، سپس Effect اجرا میشه

0⃣1⃣ وقتی State تغییر می‌کنه چه اتفاقی می‌افته؟
فرض کنیم این State رو داریم:

const [count, setCount] = useState(0);
وقتی این کد اجرا بشه:
setCount(count + 1);
تقریباً این مسیر اتفاق می‌افته:
State Update
↓
React Scheduling
↓
Render Phase
↓
Reconciliation
↓
Commit Phase
↓
DOM Update
↓
Browser Rendering
در نهایت کاربر UI جدید رو روی صفحه می‌بینه

📌 یک نکته مهم

ری‌اکت خودش باعث نمی‌شه DOM مرورگر جادویی سریع‌تر بشه

ری‌اکت بیشتر مدیریت تغییرات UI رو ساده‌تر می‌کنه و تصمیم می‌گیره چه تغییراتی باید روی DOM اعمال بشن

سرعت واقعی برنامه به چیزهای مختلفی مثل حجم JavaScript، تعداد Renderها، ساختار کامپوننت‌ها، اندازه DOM و هزینه‌ی Rendering مرورگر بستگی داره

🧠 جمع‌بندی

به طور خلاصه، وقتی یک State در React تغییر می‌کنه:
State Change
↓
Render
↓
Reconciliation
↓
Commit
↓
DOM Update
↓
Browser Rendering
↓
Pixels on Screen

📌 مفاهیم مهم پشت React:

React Element → توصیف UI

Virtual DOM → نمایش UI در حافظه

Reconciliation → پیدا کردن تفاوت‌های UI قبلی و جدید

Fiber → معماری داخلی برای مدیریت کارهای React

Render Phase → محاسبه UI جدید

Commit Phase → اعمال تغییرات روی DOM

Browser Rendering → تبدیل تغییرات DOM به چیزی که روی صفحه می‌بینیم

چیزی که ما فقط با یک "setState" می‌بینیم، پشت صحنه زنجیره‌ای از اتفاقاته

🔗 https://t.me/codetrailWeb
#Frontend
❤3🔥1
💡 Soft Skills در مسیر Frontend

برای تبدیل شدن به یک برنامه نویس خوب، فقط یادگیری زبان های برنامه نویسی و فریمورک ها کافی نیست❕

مهارت‌های نرم هم روی کیفیت کار، ارتباط با تیم و حتی پیدا کردن شغل تأثیر زیادی دارن

⚪️ مهارت ارتباطی

سعی کنیم وقتی درباره یک مشکل یا ایده صحبت می‌کنیم، منظورمون رو واضح و کوتاه توضیح بدیم
مثلاً به جای اینکه فقط بگیم کدم کار نمی‌کنه، مشکل، کاری که انجام دادیم و نتیجه‌ای که گرفتیم رو توضیح بدیم

⚪️ حل مسئله

قبل از اینکه سریع سراغ سرچ کردن یا پرسیدن از دیگران بریم، چند دقیقه خودمون مشکل رو بررسی کنیم
می‌تونیم مسئله رو به بخش‌های کوچک‌تر تقسیم کنیم و مرحله‌به‌مرحله جلو بریم

⚪️ مدیریت زمان

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

⚪️ کار تیمی
در پروژه‌های واقعی فقط کدنویسی نمی‌کنیم، باید بتونیم با طراح، Backend Developer، مدیر پروژه و بقیه اعضای تیم همکاری کنیم

⚪️ پذیرش Feedback

وقتی کسی درباره کدمون نظر می‌ده، به جای اینکه سریع از کدمون دفاع کنیم، اول سعی کنیم دلیل Feedback رو بفهمیم

⚪️ یادگیری مستقل

هر مشکلی رو تبدیل به فرصتی برای یادگیری کنیم
گاهی به جای اینکه فقط جواب یک خطا رو پیدا کنیم، بهتره بفهمیم چرا این خطا اتفاق افتاده

📌 چطور این مهارت‌ها رو تقویت کنیم؟

بهترین روش، تمرین کردن در موقعیت‌های واقعی پروژه است

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

🟡 مهارت نرم چیزی نیست که با خواندن یک مقاله به دست بیاد
مثل برنامه‌نویسی، با تمرین و تکرار ساخته میشه


اگر فکر می‌کنید این نکته می‌تونه برای کسی که در مسیر یادگیری برنامه‌نویسیه مفید باشه، براش بفرستید 🌱

🔗 https://t.me/codetrailWeb
❤2🔥1
🐸 یک نکته برای برنامه‌نویس‌ها

در کتاب قورباغه‌ات را قورت بده، یکی از ایده‌های اصلی اینه که سخت‌ترین و مهم‌ترین کار رو اول انجام بدی✅

این موضوع توی برنامه‌نویسی هم خیلی کاربردیه
اگر امروز قرار باشه JavaScript بخونی، پروژه تمرین کنی، Git یاد بگیری و چند ساعت هم آموزش ببینی، ممکنه آخر روز هیچ‌کدوم رو درست انجام نداده باشی

📌 بهتره اول مهم‌ترین کاری رو که بیشترین تأثیر رو روی پیشرفتت داره مشخص کنی و همون رو انجام بدی👌

مثلاً اگر هدفت یادگیری Javascript هست ، قبل از اینکه چند ساعت بین آموزش‌ها و ویدئوهای مختلف بچرخی، یک بخش مشخص از JavaScript رو انتخاب کن و همون روز عمیق یادش بگیر و باهاش تمرین کن

🎯 پیشرفت همیشه از انجام کارهای زیاد نمیاد، گاهی از انجام دادن مهم‌ترین کار در زمان درست میاد👌

🔗 https://t.me/codetrailWeb
👏5❤1👍1
🌐 پشت صحنه باز شدن یک سایت

وقتی آدرس یک سایت رو وارد می‌کنیم و Enter می‌زنیم، مرورگر فقط صفحه رو باز نمی‌کنه

⚪️ ابتدا DNS
ابتدا مرورگر باید بفهمه دامنه به کدوم آدرس IP مربوطه
در این مرحله، سیستم DNS نام دامنه رو به آدرس IP تبدیل می‌کنه

⚪️ بعد اتصال به سرور
سپس مرورگر با استفاده از آدرس IP با سرور ارتباط برقرار می‌کنه

⚪️ بعد ارسال درخواست
در ادامه، مرورگر یک درخواست HTTP یا HTTPS برای سرور ارسال می‌کنه

⚪️ بعد دریافت پاسخ
سپس سرور درخواست رو پردازش می‌کنه و پاسخ مناسب رو برای مرورگر می‌فرسته

🔹 در نهایت نمایش صفحه
بعد از دریافت فایل‌هایی مثل HTML، CSS و JavaScript، مرورگر اون‌ها رو پردازش می‌کنه و صفحه رو روی نمایشگر می‌سازه

📌 مسیر کلی
دامنه → DNS → آدرس IP → سرور → درخواست HTTP → پاسخ سرور → پردازش مرورگر → نمایش صفحه

📌 نکته جالب
چیزی که برای ما فقط چند ثانیه طول می‌کشه، در واقع نتیجه همکاری چندین بخش مختلف از شبکه و مرورگره


🔗 https://t.me/codetrailWeb
❤2👍1🔥1👏1
اسم تخصصی نمادهای برنامه‌نویسی⌨
.
.
.
🔥4❤1
CodeTrail🚀
اسم تخصصی نمادهای برنامه‌نویسی⌨ . . .
.
.
خیلی از علامت‌هایی که هر روز توی کد استفاده می‌کنیم، اسم تخصصی دارن و دونستن اسمشون برای سرچ کردن و خوندن مستندات خیلی کاربردیه👌
`  → Backtick / Grave Accent

'  → Single Quote / Apostrophe

"  → Double Quote

;  → Semicolon

:  → Colon

,  → Comma

.  → Dot / Period

... → Spread / Rest Operator

() → Parentheses / Round Brackets

[] → Square Brackets / Brackets

{} → Curly Braces / Braces

<> → Angle Brackets

=  → Assignment Operator

== → Equality Operator

=== → Strict Equality Operator

!= → Inequality Operator

!== → Strict Inequality Operator

=> → Arrow Function / Arrow Operator

+  → Plus Operator

-  → Minus Operator

*  → Multiplication Operator

/  → Division Operator

%  → Modulo Operator

++ → Increment Operator

-- → Decrement Operator

&& → Logical AND Operator

|| → Logical OR Operator

!  → Logical NOT Operator

?? → Nullish Coalescing Operator

?. → Optional Chaining Operator

?  → Ternary Operator

&  → Bitwise AND Operator

|  → Bitwise OR Operator

^  → Bitwise XOR Operator

~  → Bitwise NOT Operator

<< → Left Shift Operator

>> → Right Shift Operator

#  → Hash / Private Class Field

_  → Underscore

@  → At Sign

$  → Dollar Sign

\  → Backslash

/  → Forward Slash

// → Single-line Comment

/* */ → Multi-line Comment


📌 نکته: اسم دقیق بعضی نمادها با توجه به زبان برنامه‌نویسی و کاربردشون می‌تونه متفاوت باشه

⭕️ این پست رو برای هر برنامه‌نویسی که میشناسی بفرست تا یاد بگیرن⚡️

🔗 https://t.me/codetrailWeb
❤3👏1