🎧 SPARTAN MUSIC FINDER ⚔️
👋سلام
من بهت کمک می کنم که هر آهنگی که دوست داری رو کاملا رایگان دانلود کنی !!!
❗️فقط کافیه که یکی از موارد زیر رو برام بفرستی :
🎶هنرمند یا نام آهنگ
🔤 متن آهنگ
🎙ویس از موسیقی
📹 ویدیو همراه با موسیقی
📼 ضبط صدا
🔗 لینک ویدیو به اینستاگرام ، تیک تاک ، یوتوب و سایت های دیگر
حال کنید 🫡
@Spartamusic_finderbot
@awat_dev
👋سلام
من بهت کمک می کنم که هر آهنگی که دوست داری رو کاملا رایگان دانلود کنی !!!
❗️فقط کافیه که یکی از موارد زیر رو برام بفرستی :
🎶هنرمند یا نام آهنگ
🔤 متن آهنگ
🎙ویس از موسیقی
📹 ویدیو همراه با موسیقی
📼 ضبط صدا
🔗 لینک ویدیو به اینستاگرام ، تیک تاک ، یوتوب و سایت های دیگر
حال کنید 🫡
@Spartamusic_finderbot
@awat_dev
❤4🔥3
چون دانا نماید به کاری درنگ
به پیروزی آرد جهانی به چنگ
همه کارها در فرو بستگی
گشاید ولیکن به آهستگی
به پیروزی آرد جهانی به چنگ
همه کارها در فرو بستگی
گشاید ولیکن به آهستگی
فردوسی
❤5🔥1🕊1
Fetch در JavaScript چیه؟ 🌐
"fetch()" یکی از روشهای ساده و مدرن جاوااسکریپت برای ارسال درخواست به سرور و دریافت اطلاعات از API هست.
مثلاً برای گرفتن اطلاعات از یک API:
🔹 "fetch()" درخواست رو ارسال میکنه.
🔹 "response.json()" پاسخ سرور رو به JSON تبدیل میکنه.
🔹 با "then()" نتیجه رو دریافت و پردازش میکنیم.
🔹 با "catch()" خطاها رو مدیریت میکنیم.
امروزه معمولاً استفاده از "async/await" خوانایی کد رو بیشتر میکنه:
💡 نکته: با "fetch" فقط اطلاعات دریافت نمیکنیم؛ میتونیم درخواستهای "POST"، "PUT" و "DELETE" هم به API ارسال کنیم.
POST => ارسال دیتا به سمت سرور
PUT => تغییر دیتای کلی در سرور
PATCH => تغییر دیتای جزئی در سرور
@awat_dev
"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 این کار رو انجام میده!
مثال ساده:
نکته مهم: فعلاً این ویژگی روی مرورگرهای مبتنی بر Chromium بهخوبی کار میکنه؛ برای Safari و Firefox حتماً با @supports یک fallback بذارید تا تجربهی کاربر خراب نشه.
اگه این ترفند به کارتون اومد، برای دوستای فرانتاندیتون فوروارد کنید 🚀
دیگه لازم نیست برای انیمیشنهای وابسته به اسکرول، صد خط جاوااسکریپت بنویسید و به رویداد 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
فلکس باکس چیه و چه کاربردی داره؟
فرض کنین یه container دارین که داخلش سه تا item دارین و اگر آیتم ها تون بلاک لول باشن به صورت پیشفرض زیر هم قرار میگیرن و سه خط رو پر میکنن.
بعضی مواقع شده شما میخواین سه تا آیتم رو بیارین کنار هم قرار بدین سوال براتون پیش میاد چطور بیارمشون کنار هم ؟
دو روش دارین که این روش اول منسوخ شده که میخوام بگم صرفا جهت دونستن میگم بهتون
اولین روش (استفاده نکنید منسوخ شده)
استفاده از float هست قبل از اینکه فلکس باکس برای چیدمان layout سایت بوجود بیاد از float استفاده میشد که کمی کار رو سخت میکرد و اذیت کننده بود مثالش هم پایین براتون مینویسم:
به این صورت آیتم ها رو کنار هم میچیدن که یک باگ خیلی بزرگ داشت
وقتی به سکشن اول ما پراپرتی float رو میدادیم سکشن بعدی که میزدیم میومد کنارش و باید یه پراپرتی دیگ میدادیم بهش تا درست بشه
clear: both;
پراپرتی بالا رو باید میدادیم به سکشن تا بتونیم سکشن بعدی رو درست طراحی کنیم
زیاد دربارش دیگ حرف نمیزنم چون در حد دونستن بود و از این استفاده نکنین.
حالا بریم سراغ مبحث اصلی فلکس باکس
خب برای فعالسازی flexbox ما به کانتینر والد اون آیتم ها
display: flex;
میدیم تا فلکس باکس برای ما فعال بشوند وقتی فعال شد آیتم ها کنار هم میان که برای مدیریت فاصله وسط چین کردن و چیدمان آیتم ها از پراپرتی هایی استفاده میکنیم که برای کانتینر والد هست و برای خود فلکس باکس هست و بدون فعال کردن فلکس باکس هیچ کاری نمیکند.
اولین پراپرتی justify-content هست که با این پراپرتی شما میتوانید فاصله بین آیتم ها را بچینید
مقدار هایی که این پراپرتی میگیرد:
که شما میتوانید مشخص کنید آیتم ها اول یا اخر یا فاصله یکنواخت یا چسبیده داشته باشند
این پراپرتی در موقعیت چپ و راست عمل میکند برای عملیات بالا و پایین از align-items استفاده میکنیم که مقدار های این پراپرتی:
baselineکه هر کدام قابلیت خاص خودش رو داره بیشترین استفاده هم استارت و اند و وسط هستند
برای مثال شما یک کانتینر والد دارید که سه آیتم داخل آن وجود دارد شما میخواهید این آیتم ها را کنار هم بچینید و وسط چین کنید آن ها را بصورت زیر میتوانید انجام دهید:
به همین راحتی آیتم ها میان کنار هم و وسط قرار میگیرند.
فرض کنین یه 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
چالش امروز جاوااسکریپتی 🧠
کد زیر رو نگاه کن:
به نظرت ترتیب چاپ کدوم گزینهست؟
حرف گزینهت رو تو کامنتها بنویس! فردا جواب رو با توضیح کامل میفرستم.
نکته مهم: جواب این سؤال دقیقاً به تفاوت Microtask Queue و Macrotask Queue توی event loop جاواسکریپت برمیگرده.
اگه چالش رو دوست داشتی، برای یه دوست هم فوروارد کن 🔁
کد زیر رو نگاه کن:
console.log("۱");
setTimeout(() => {
console.log("۲");
}, 0);
Promise.resolve().then(() => {
console.log("۳");
});
console.log("۴");به نظرت ترتیب چاپ کدوم گزینهست؟
حرف گزینهت رو تو کامنتها بنویس! فردا جواب رو با توضیح کامل میفرستم.
نکته مهم: جواب این سؤال دقیقاً به تفاوت Microtask Queue و Macrotask Queue توی event loop جاواسکریپت برمیگرده.
اگه چالش رو دوست داشتی، برای یه دوست هم فوروارد کن 🔁
جواب کد بالا
Anonymous Quiz
25%
A) 1 - 2 - 3 - 4
37%
B) 1 - 4 - 3 - 2
19%
C) 1 - 4 - 2 - 3
19%
D) 1 - 3 - 4 - 2
📌 حلقهها در جاوااسکریپت؛ کدت رو چندباره کن بدون خستگی!
حلقهها بهت اجازه میدن یه کار رو تکراری اجرا کنی. تو جاوااسکریپت چند نوع حلقه داریم که هرکدوم جایگاه خودشون رو دارن:
-----------------------------------------
🔁 for کلاسیک
وقتی تعداد دفعات مشخصه:
for (let i = 0; i < 5; i++) {
console.log(i); // 0 1 2 3 4
}
🔁 while
وقتی شرط نامشخصه و ممکنه اصلاً اجرا نشه:
🔁 do...while
حداقل یک بار اجرا میشه، حتی اگر شرط غلط باشه:
برای آرایهها و اشیاء قابل تکرار (iterable):
🔁 for...in
برای کلیدهای object (با احتیاط استفاده کن):
-----------------------------------------
⚠️ نکته مهم:
از for...in روی آرایه استفاده نکن (ترتیب رو رعایت نمیکنه و خواص اضافی رو هم میاره). به جاش از for...of یا forEach استفاده کن.
✅ عملکرد:
حلقههای for و while سرعت بالایی دارن، ولی برای خوانایی کد، for...of و متدهای مدرن مثل map، filter رو ترجیح بده.
-----------------------------------------
💡 جمعبندی:
- تعداد مشخص → for
- شرط نامشخص → while
- حداقل یک بار → do...while
- آرایه/رشته → for...of
- آبجکت → for...in (با دقت)
حلقهها رو درست انتخاب کن تا کدت هم سریع باشه هم خواناتر! 🚀
#جاوااسکریپت #حلقه #JavaScript #آموزش
@awat_dev
حلقهها بهت اجازه میدن یه کار رو تکراری اجرا کنی. تو جاوااسکریپت چند نوع حلقه داریم که هرکدوم جایگاه خودشون رو دارن:
-----------------------------------------
🔁 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;🔁 for...of (مدرن)
do {
console.log(x);
} while (x < 5); // چاپ ۱۰
برای آرایهها و اشیاء قابل تکرار (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 ✦ ─╯
🛍️ 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 خالی شدن». این سؤال کلاسیک مصاحبههای فرانتاندیه، حتماً حفظش کن 😉
اگه گزینهی درست رو زده بودی، تو کامنتها بگو! فوروارد هم یادت نره 🔁
گزینهی درست: B) 1 - 4 - 3 - 2
چرا؟ چون جاوااسکریپت تکرشتهایه و کدهای سینک (مثل console.log("۱") و console.log("۴")) همیشه اول اجرا میشن.
بعدش نوبت Microtask Queue میرسه؛ یعنی Promise.then ها، که زودتر از هر تایمر اجرا میشن، حتی اگه setTimeout با ۰ میلیثانیه صدا زده شده باشه.
در آخر نوبت Macrotask Queue، یعنی setTimeout، میرسه.
نکته مهم: setTimeout(fn, 0) یعنی «فوری» نیست؛ یعنی «هر وقت stack و microtask queue خالی شدن». این سؤال کلاسیک مصاحبههای فرانتاندیه، حتماً حفظش کن 😉
اگه گزینهی درست رو زده بودی، تو کامنتها بگو! فوروارد هم یادت نره 🔁
بریم HTML رو باهم یاد بگیریم!
قراره از صفر شروع کنیم و دونهدونه تگهای HTML رو با مثال یاد بگیریم...
ساده، کوتاه و بدون حاشیه؛
قراره از صفر شروع کنیم و دونهدونه تگهای HTML رو با مثال یاد بگیریم...
ساده، کوتاه و بدون حاشیه؛
🔥7🗿3❤1
🧱 مرحله ۱ | تگهای پایه HTML
🔹 تگ "<html>"
مشخص میکنه کل صفحه یک سند HTML هست.
🔹 تگ "<head>"
اطلاعات و تنظیمات صفحه اینجا نوشته میشه.
🔹 تگ "<title>"
عنوانی که روی تب مرورگر نمایش داده میشه.
🔹 تگ "<body>"
محتوایی که داخل صفحه دیده میشه، اینجا قرار میگیره.
@awat_dev
#HTML
🔹 تگ "<html>"
مشخص میکنه کل صفحه یک سند HTML هست.
🔹 تگ "<head>"
اطلاعات و تنظیمات صفحه اینجا نوشته میشه.
🔹 تگ "<title>"
عنوانی که روی تب مرورگر نمایش داده میشه.
🔹 تگ "<body>"
محتوایی که داخل صفحه دیده میشه، اینجا قرار میگیره.
<html>
<head>
<title>صفحه من</title>
</head>
<body>
سلام!
</body>
</html>
@awat_dev
#HTML
❤4🕊1