Ninja Learn | نینجا لرن
1.25K subscribers
96 photos
36 videos
11 files
307 links
یادگیری برنامه نویسی به سبک نینجا 🥷
اینجا چیزایی یاد میگیری که فقط نینجاهای وب‌ بلدن 🤫

📄 Send me post: https://t.me/NoronChat_bot?start=sec-fdggghgebe

👥 ɢʀᴏᴜᴘ: https://t.me/+td1EcO_YfSphNTlk
Download Telegram
🎢 برنامه‌نویسی Async

شاید زیاد به گوشت خورده باشه: Async Programming، ولی خب، دقیقاً یعنی چی؟ 🤔 بیایید با هم ببینیم چجوری می‌شه باهاش پروژه‌هامونو بهتر و سریع‌تر توسعه بدیم.

حالا Async چیه؟ 🤔
تصور کن یه کافه پر سر و صدا داری؛ مشتری‌ها میان، سفارش می‌دن، می‌شینن و منتظر آماده شدن سفارش می‌مونن. حالا فرض کن فقط یه کارمند داری که باید یکی‌یکی سفارش بگیره و هرکدوم آماده شد، بده دست مشتری. 😴 اما اگه از Async کمک بگیری، این کارمند می‌تونه همه سفارش‌ها رو پشت سر هم بگیره و هربار که یه سفارش آماده شد، همونو تحویل بده. بدون اینکه لازم باشه به مشتری بگه "منتظر بمون"

حالا Async چجوری کار می‌کنه؟
برنامه‌نویسی Async بهت اجازه می‌ده که تسک‌ها رو همزمان اجرا کنی. مثلا موقع درخواست به یه سرور خارجی (API)، می‌تونی به برنامه بگی به جای منتظر موندن، همزمان یه کار دیگه هم انجام بده.

کجا به درد می‌خوره؟
▶️ API Calling:
وقتی داری اطلاعات می‌گیری، منتظر نمی‌مونی، یه تسک دیگه اجرا می‌کنی. 🚀

▶️ File Handling:
خوندن و نوشتن فایل‌های بزرگ بدون توقف کد. 📂

▶️ Web Scraping:
همزمان چندین صفحه رو بررسی می‌کنی.

یه مثال ساده از Async با Python و Js🐍

فرض کن یه فانکشن می‌خوایم بنویسیم که ۲ ثانیه بخوابه و بعد یه متن چاپ کنه. حالا ببین فرق sync و async چیه:

import asyncio

# Sync
def print_sync():
print("Starting Sync...")
time.sleep(2)
print("Done Sync!")

# Async
async def print_async():
print("Starting Async...")
await asyncio.sleep(2)
print("Done Async!")

# اجرا
asyncio.run(print_async())

حالا Js :
// Sync
function printSync() {
console.log("Starting Sync...");
sleep(2000); // این تابع sleep فقط برای شبیه‌سازیه
console.log("Done Sync!");
}

function sleep(ms) {
const start = Date.now();
while (Date.now() - start < ms) {}
}

// Async
async function printAsync() {
console.log("Starting Async...");
await new Promise(resolve => setTimeout(resolve, 2000));
console.log("Done Async!");
}

// اجرا
printAsync();



امید وارم مفید بوده باشه :)

#async #sync #backend


@ninja_learn_ir
🔥16👍2🍾1