</awat>
216 subscribers
54 photos
13 videos
7 files
26 links
🖥 تیم توسعه </awat.dev>
متخصص در توسعه فرانت‌اند
دایرکت 📱
@awat_admin
Download Telegram
چون دانا نماید به کاری درنگ
به پیروزی آرد جهانی به چنگ
همه کارها در فرو بستگی
گشاید ولیکن به آهستگی

فردوسی
❤5🔥1🕊1
Fetch در JavaScript چیه؟ 🌐

"fetch()" یکی از روش‌های ساده و مدرن جاوااسکریپت برای ارسال درخواست به سرور و دریافت اطلاعات از API هست.

مثلاً برای گرفتن اطلاعات از یک API:

fetch("https://api.example.com/users")
.then(response => response.json())
.then(data => {
console.log(data);
})
.catch(error => {
console.log("Error:", error);
});


🔹 "fetch()" درخواست رو ارسال می‌کنه.
🔹 "response.json()" پاسخ سرور رو به JSON تبدیل می‌کنه.
🔹 با "then()" نتیجه رو دریافت و پردازش می‌کنیم.
🔹 با "catch()" خطاها رو مدیریت می‌کنیم.

امروزه معمولاً استفاده از "async/await" خوانایی کد رو بیشتر می‌کنه:

async function getUsers() {
const response = await fetch("
https://api.example.com/users");
const data = await response.json();

console.log(data);
}


💡 نکته: با "fetch" فقط اطلاعات دریافت نمی‌کنیم؛ می‌تونیم درخواست‌های "POST"، "PUT" و "DELETE" هم به API ارسال کنیم.

POST => ارسال دیتا به سمت سرور

PUT => تغییر دیتای کلی در سرور

PATCH => تغییر دیتای جزئی در سرور


@awat_dev
❤3🔥2
🎬 انیمیشن‌هایی که با اسکرول شما زنده می‌شن!

دیگه لازم نیست برای انیمیشن‌های وابسته به اسکرول، صد خط جاوااسکریپت بنویسید و به رویداد scroll گوش بدید؛ حالا خود CSS این کار رو انجام می‌ده!

با ویژگی تازه‌ی Scroll-Driven Animations می‌تونید یک انیمیشن رو مستقیم به موقعیت اسکرول کاربر وصل کنید. هرچقدر کاربر پایین‌تر بره، انیمیشن هم جلوتر می‌ره؛ درست مثل یک نوار پیشرفت زنده.

مثال ساده:
.fade-in {
animation: appear linear;
animation-timeline: view();
animation-range: entry 0% cover 40%;
}

@keyframes appear {
from { opacity: 0; transform: translateY(40px); }
to { opacity: 1; transform: translateY(0); }
}

نکته مهم: فعلاً این ویژگی روی مرورگرهای مبتنی بر Chromium به‌خوبی کار می‌کنه؛ برای Safari و Firefox حتماً با @supports یک fallback بذارید تا تجربه‌ی کاربر خراب نشه.

اگه این ترفند به کارتون اومد، برای دوستای فرانت‌اندی‌تون فوروارد کنید 🚀
❤5💯3
طراحی رابط کاربری UI
وبسایت زرین پال



@awat_dev
❤9🔥3
اگر احتمال بردنت صده
فدای سرت که سرعتت کمه
...


واقعیت
❤8🔥2😁1🗿1
ایده برای تمرین html , css و بلر
❤5
یک ایده برای ساخت فوتر با
HTML, CSS
❤3
This media is not supported in your browser
VIEW IN TELEGRAM
ایده ساخت کارت
جالبه:))
❤4
دوستان چالش حل کد بزارم؟؟؟
البته بعد توضیح فلکس باکس؟؟
❤3🔥2
فلکس باکس چیه و چه کاربردی داره؟
فرض کنین یه container دارین که داخلش سه تا item دارین و اگر آیتم ها تون بلاک لول باشن به صورت پیشفرض زیر هم قرار میگیرن و سه خط رو پر میکنن.

بعضی مواقع شده شما میخواین سه تا آیتم رو بیارین کنار هم قرار بدین سوال براتون پیش میاد چطور بیارمشون کنار هم ؟

دو روش دارین که این روش اول منسوخ شده که میخوام بگم صرفا جهت دونستن میگم بهتون
اولین روش (استفاده نکنید منسوخ شده)
استفاده از float هست قبل از اینکه فلکس باکس برای چیدمان layout سایت بوجود بیاد از float استفاده میشد که کمی کار رو سخت میکرد و اذیت کننده بود مثالش هم پایین براتون مینویسم:


.left{
float: left;
width: 50%;
}
.right{
float: right;
width: 50%;
}


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

clear: both;

پراپرتی بالا رو باید میدادیم به سکشن تا بتونیم سکشن بعدی رو درست طراحی کنیم

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

حالا بریم سراغ مبحث اصلی فلکس باکس

خب برای فعالسازی flexbox ما به کانتینر والد اون آیتم ها
display: flex;

میدیم تا فلکس باکس برای ما فعال بشوند وقتی فعال شد آیتم ها کنار هم میان که برای مدیریت فاصله وسط چین کردن و چیدمان آیتم ها از پراپرتی هایی استفاده میکنیم که برای کانتینر والد هست و برای خود فلکس باکس هست و بدون فعال کردن فلکس باکس هیچ کاری نمیکند.

اولین پراپرتی justify-content هست که با این پراپرتی شما میتوانید فاصله بین آیتم ها را بچینید
مقدار هایی که این پراپرتی میگیرد:
start
end
space-between
space-around
space-evenly
center


که شما میتوانید مشخص کنید آیتم ها اول یا اخر یا فاصله یکنواخت یا چسبیده داشته باشند
این پراپرتی در موقعیت چپ و راست عمل میکند برای عملیات بالا و پایین از align-items استفاده میکنیم که مقدار های این پراپرتی:

stretch
flex-start
flex-end
center

baselineکه هر کدام قابلیت خاص خودش رو داره بیشترین استفاده هم استارت و اند و وسط هستند

برای مثال شما یک کانتینر والد دارید که سه آیتم داخل آن وجود دارد شما میخواهید این آیتم ها را کنار هم بچینید و وسط چین کنید آن ها را بصورت زیر میتوانید انجام دهید:

.container {
display: flex;
align-items: center;
justify-content: center;

}

به همین راحتی آیتم ها میان کنار هم و وسط قرار میگیرند.
❤4👏1
چالش امروز جاوااسکریپتی 🧠

کد زیر رو نگاه کن:
console.log("۱");

setTimeout(() => {
console.log("۲");
}, 0);

Promise.resolve().then(() => {
console.log("۳");
});

console.log("۴");

به نظرت ترتیب چاپ کدوم گزینه‌ست؟


حرف گزینه‌ت رو تو کامنت‌ها بنویس! فردا جواب رو با توضیح کامل می‌فرستم.

نکته مهم: جواب این سؤال دقیقاً به تفاوت Microtask Queue و Macrotask Queue توی event loop جاواسکریپت برمی‌گرده.

اگه چالش رو دوست داشتی، برای یه دوست هم فوروارد کن 🔁
</awat>
جواب کد بالا
فردا توضیح رو میزارم براتون
ببینم چی جواب میدین
❤2
📌 حلقه‌ها در جاوااسکریپت؛ کدت رو چندباره کن بدون خستگی!

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

-----------------------------------------

🔁 for کلاسیک
وقتی تعداد دفعات مشخصه:
for (let i = 0; i < 5; i++) {
console.log(i); // 0 1 2 3 4
}

🔁 while
وقتی شرط نامشخصه و ممکنه اصلاً اجرا نشه:
let n = 3;
while (n > 0) {
console.log(n--);
}


🔁 do...while
حداقل یک بار اجرا میشه، حتی اگر شرط غلط باشه:
let x = 10;
do {
console.log(x);
} while (x < 5); // چاپ ۱۰
🔁 for...of (مدرن)
برای آرایه‌ها و اشیاء قابل تکرار (iterable):
const colors = ['red', 'green', 'blue'];
for (let c of colors) {
console.log(c);
}


🔁 for...in
برای کلیدهای object (با احتیاط استفاده کن):
const user = {name: 'Ali', age: 25};
for (let key in user) {
console.log(key, user[key]);
}


-----------------------------------------

⚠️ نکته مهم:
از for...in روی آرایه استفاده نکن (ترتیب رو رعایت نمیکنه و خواص اضافی رو هم میاره). به جاش از for...of یا forEach استفاده کن.

✅ عملکرد:
حلقه‌های for و while سرعت بالایی دارن، ولی برای خوانایی کد، for...of و متدهای مدرن مثل map، filter رو ترجیح بده.

-----------------------------------------

💡 جمع‌بندی:
- تعداد مشخص → for
- شرط نامشخص → while
- حداقل یک بار → do...while
- آرایه/رشته → for...of
- آبجکت → for...in (با دقت)

حلقه‌ها رو درست انتخاب کن تا کدت هم سریع باشه هم خواناتر! 🚀

#جاوااسکریپت #حلقه #JavaScript #آموزش

@awat_dev
❤3
╭─ 🎨 AI IMAGE COMMANDS ─╮

🛍️ Marketing
"/product_ad" • "/banner" • "/promo" • "/sale"
"/offer" • "/new_product" • "/brand"

📱 Social Media
"/telegram_post" • "/story_ad" • "/thumbnail"
"/channel_cover" • "/quote" • "/announcement"

✨ Styles
"/luxury_ad" • "/minimal_ad" • "/cinematic"
"/3d_ad" • "/neon" • "/retro" • "/cyberpunk" • "/premium"

🍔 Specialized
"/food_ad" • "/fashion_ad" • "/cosmetic_ad"
"/tech_ad" • "/packaging" • "/logo_mockup"

📊 Info
"/infographic" • "/educational" • "/comparison"
"/before_after" • "/testimonial" • "/countdown" • "/giveaway"

🎯 Special
"/seasonal" • "/event" • "/viral" • "/isometric"

@awat_dev

╰─ ✦ Create • Design • Inspire ✦ ─╯
🔥1🤩1🗿1
</awat>
فردا توضیح رو میزارم براتون ببینم چی جواب میدین
جواب چالش قبلی 👇

گزینه‌ی درست: B) 1 - 4 - 3 - 2

چرا؟ چون جاوااسکریپت تک‌رشته‌ایه و کدهای سینک (مثل console.log("۱") و console.log("۴")) همیشه اول اجرا می‌شن.

بعدش نوبت Microtask Queue می‌رسه؛ یعنی Promise.then ها، که زودتر از هر تایمر اجرا می‌شن، حتی اگه setTimeout با ۰ میلی‌ثانیه صدا زده شده باشه.

در آخر نوبت Macrotask Queue، یعنی setTimeout، می‌رسه.

نکته مهم: setTimeout(fn, 0) یعنی «فوری» نیست؛ یعنی «هر وقت stack و microtask queue خالی شدن». این سؤال کلاسیک مصاحبه‌های فرانت‌اندیه، حتماً حفظش کن 😉

اگه گزینه‌ی درست رو زده بودی، تو کامنت‌ها بگو! فوروارد هم یادت نره 🔁
Please open Telegram to view this post
VIEW IN TELEGRAM
بریم HTML رو باهم یاد بگیریم!

قراره از صفر شروع کنیم و دونه‌دونه تگ‌های HTML رو با مثال یاد بگیریم...

ساده، کوتاه و بدون حاشیه؛
🔥7🗿3❤1
🧱 مرحله ۱ | تگ‌های پایه HTML

🔹 تگ "<html>"
مشخص می‌کنه کل صفحه یک سند HTML هست.

🔹 تگ "<head>"
اطلاعات و تنظیمات صفحه اینجا نوشته میشه.

🔹 تگ "<title>"
عنوانی که روی تب مرورگر نمایش داده میشه.

🔹 تگ "<body>"
محتوایی که داخل صفحه دیده میشه، اینجا قرار می‌گیره.

<html>
<head>
<title>صفحه من</title>
</head>

<body>
سلام!
</body>
</html>

@awat_dev


#HTML
❤4🕊1
Happy 130 😍🍻
🔥3