🔵 نکات برنامهنویسی
📜 Event Sourcing
(منبعیابی رویدادها)
🔹 ایده اصلی
ذخیره تمام تغییرات (رویدادها) به جای فقط ذخیره وضعیت فعلی.
⬅️ به جای اینکه فقط نتیجه نهایی یک حساب کاربری را ذخیره کنیم، تمام تراکنشها یا عملیات قبلی را نگه میداریم.
⬅️ بعداً میتوان وضعیت کنونی را از روی این رویدادها بازسازی کرد.
🔹 چرا مهمه؟
⬅️ قابلیت بازگردانی به گذشته (Undo / Audit)
⬅️ ردیابی کامل تاریخچه تغییرات
⬅️ امکان بازسازی وضعیت سیستم در صورت خرابی
✅ مثال ساده (Python)
📖 کاربردهای واقعی
⬅️ سیستمهای مالی و بانکی → ذخیره تراکنشها
⬅️ سیستمهای سفارش آنلاین → نگه داشتن تاریخچه تغییر وضعیت سفارش
⬅️ سیستمهای بازی → ذخیره اعمال بازیکن به صورت رویداد برای بازسازی و تحلیل
🛠️ مزایا
⬅️ تاریخچه کامل تغییرات
⬅️ قابلیت Undo / Replay
⬅️ تحلیل دقیق رفتار سیستم و کاربران
🎯 تشبیه ساده
Event Sourcing مثل فیلمبرداری از تمام مراحل آشپزی 🎥:
⬅️ اگر دوست دارید دوباره مرحلهای را تکرار کنید یا اشتباهی رخ داده → کافیست ویدئو را نگاه کنید و وضعیت را بازسازی کنید.
⬅️ فقط نگه داشتن نتیجه نهایی (غذا) این امکان را نمیدهد.
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
https://t.me/Tu_24
آدرس وبسایت:
https://Tutorial24.ir
🔵 نکات برنامهنویسی
📜 Event Sourcing
(منبعیابی رویدادها)
🔹 ایده اصلی
ذخیره تمام تغییرات (رویدادها) به جای فقط ذخیره وضعیت فعلی.
⬅️ به جای اینکه فقط نتیجه نهایی یک حساب کاربری را ذخیره کنیم، تمام تراکنشها یا عملیات قبلی را نگه میداریم.
⬅️ بعداً میتوان وضعیت کنونی را از روی این رویدادها بازسازی کرد.
🔹 چرا مهمه؟
⬅️ قابلیت بازگردانی به گذشته (Undo / Audit)
⬅️ ردیابی کامل تاریخچه تغییرات
⬅️ امکان بازسازی وضعیت سیستم در صورت خرابی
✅ مثال ساده (Python)
class EventStore:
def __init__(self):
self.events = []
def add_event(self, event):
self.events.append(event)
def get_balance(self):
balance = 0
for e in self.events:
if e['type'] == 'deposit':
balance += e['amount']
elif e['type'] == 'withdraw':
balance -= e['amount']
return balance
# استفاده
store = EventStore()
store.add_event({'type': 'deposit', 'amount': 100})
store.add_event({'type': 'withdraw', 'amount': 30})
store.add_event({'type': 'deposit', 'amount': 50})
print("💰 موجودی فعلی:", store.get_balance()) # خروجی: 120
📖 کاربردهای واقعی
⬅️ سیستمهای مالی و بانکی → ذخیره تراکنشها
⬅️ سیستمهای سفارش آنلاین → نگه داشتن تاریخچه تغییر وضعیت سفارش
⬅️ سیستمهای بازی → ذخیره اعمال بازیکن به صورت رویداد برای بازسازی و تحلیل
🛠️ مزایا
⬅️ تاریخچه کامل تغییرات
⬅️ قابلیت Undo / Replay
⬅️ تحلیل دقیق رفتار سیستم و کاربران
🎯 تشبیه ساده
Event Sourcing مثل فیلمبرداری از تمام مراحل آشپزی 🎥:
⬅️ اگر دوست دارید دوباره مرحلهای را تکرار کنید یا اشتباهی رخ داده → کافیست ویدئو را نگاه کنید و وضعیت را بازسازی کنید.
⬅️ فقط نگه داشتن نتیجه نهایی (غذا) این امکان را نمیدهد.
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
https://t.me/Tu_24
آدرس وبسایت:
https://Tutorial24.ir
Telegram
آموزش کامپیوتر و برنامه نویسی tu24
* برنامه نویسی
* علوم کامپیوتر
* ریاضیات مورد نیاز علوم کامپیوتر
* هوش مصنوعی
* علوم داده
* داده کاوی
* بیگ دیتا
* پیشنهادات، تبلیغات و تبادل و ... : @ma_limbs
* تعرفه تبلیغات:
https://t.me/+w-o6dHW5O31jMWNk
* علوم کامپیوتر
* ریاضیات مورد نیاز علوم کامپیوتر
* هوش مصنوعی
* علوم داده
* داده کاوی
* بیگ دیتا
* پیشنهادات، تبلیغات و تبادل و ... : @ma_limbs
* تعرفه تبلیغات:
https://t.me/+w-o6dHW5O31jMWNk
🔵 دوست داری برنامه نویس حرفه ای بشی یا مهارت های کامپیوتری خودت رو افزایش بدی؟ با عضویت در لیست تلگرامی زیر در بی نظیر ترین کانال های برنامه نویسی ما عضو شوید:
🟢 پایتون، هوش مصنوعی، یادگیری ماشین، سی ++، سی شارپ، دات نت، نود جی اس، جاوا اسکریپت، شبکه، علم داده، پایگاه داده، sql، nosql ، مهارت های ICDL، سیستم عامل، لینوکس، فتوشاپ، گرافیک، اندروید، جاوا، ساخت اپلیکیشن موبایل، ری اکت، جی کوئری، php و laravel، دروس رشته کامپیوتر، کنکور کامپیوتر و ...
عضو لیست جامع شوید:
https://t.me/addlist/_UjG99eD_E4zYzhk
https://t.me/addlist/_UjG99eD_E4zYzhk
https://t.me/addlist/_UjG99eD_E4zYzhk
🟢 پایتون، هوش مصنوعی، یادگیری ماشین، سی ++، سی شارپ، دات نت، نود جی اس، جاوا اسکریپت، شبکه، علم داده، پایگاه داده، sql، nosql ، مهارت های ICDL، سیستم عامل، لینوکس، فتوشاپ، گرافیک، اندروید، جاوا، ساخت اپلیکیشن موبایل، ری اکت، جی کوئری، php و laravel، دروس رشته کامپیوتر، کنکور کامپیوتر و ...
عضو لیست جامع شوید:
https://t.me/addlist/_UjG99eD_E4zYzhk
https://t.me/addlist/_UjG99eD_E4zYzhk
https://t.me/addlist/_UjG99eD_E4zYzhk
Telegram
برنامه نویسی
You’ve been invited to add the folder “برنامه نویسی”, which includes 55 chats.
🔵 نکته برنامه نویسی
یک نکته مهم دربارهی «بهینهسازی رو بذار برای آخر» اینه که:
🌿🌿 اولویت اول باید همیشه درستی و خوانایی کد باشه، چون کد درست و واضح راحتتر قابل توسعه و رفع اشکال است.
خیلی از برنامهنویسها وسوسه میشن زود برن سراغ بهینهسازی (مثلاً سرعت یا مصرف حافظه) و زمان زیادی صرف پیچیده کردن کد میکنن. اما این کار ممکنه باعث بشه:
⬅️ باگهای پنهان ایجاد بشه،
⬅️ کد سختخوان و غیرقابل نگهداری بشه،
⬅️ زمان توسعه خیلی بیشتر بشه.
✅ وقتی کد درست کار کرد و تست شد، اونوقت به سراغ بهینهسازی برو.
مثلاً اول کدی بنویس که قابل فهم باشه، بعد پروفایلینگ کن و ببین دقیقاً کدوم بخشها واقعا نیاز به بهینه شدن دارند.
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
https://t.me/Tu_24
آدرس وبسایت:
https://Tutorial24.ir
🔵 نکته برنامه نویسی
یک نکته مهم دربارهی «بهینهسازی رو بذار برای آخر» اینه که:
🌿🌿 اولویت اول باید همیشه درستی و خوانایی کد باشه، چون کد درست و واضح راحتتر قابل توسعه و رفع اشکال است.
خیلی از برنامهنویسها وسوسه میشن زود برن سراغ بهینهسازی (مثلاً سرعت یا مصرف حافظه) و زمان زیادی صرف پیچیده کردن کد میکنن. اما این کار ممکنه باعث بشه:
⬅️ باگهای پنهان ایجاد بشه،
⬅️ کد سختخوان و غیرقابل نگهداری بشه،
⬅️ زمان توسعه خیلی بیشتر بشه.
✅ وقتی کد درست کار کرد و تست شد، اونوقت به سراغ بهینهسازی برو.
مثلاً اول کدی بنویس که قابل فهم باشه، بعد پروفایلینگ کن و ببین دقیقاً کدوم بخشها واقعا نیاز به بهینه شدن دارند.
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
https://t.me/Tu_24
آدرس وبسایت:
https://Tutorial24.ir
Telegram
آموزش کامپیوتر و برنامه نویسی tu24
* برنامه نویسی
* علوم کامپیوتر
* ریاضیات مورد نیاز علوم کامپیوتر
* هوش مصنوعی
* علوم داده
* داده کاوی
* بیگ دیتا
* پیشنهادات، تبلیغات و تبادل و ... : @ma_limbs
* تعرفه تبلیغات:
https://t.me/+w-o6dHW5O31jMWNk
* علوم کامپیوتر
* ریاضیات مورد نیاز علوم کامپیوتر
* هوش مصنوعی
* علوم داده
* داده کاوی
* بیگ دیتا
* پیشنهادات، تبلیغات و تبادل و ... : @ma_limbs
* تعرفه تبلیغات:
https://t.me/+w-o6dHW5O31jMWNk
🔵 نکته یادگیری ماشین
برای بررسی Stationarity در سریهای زمانی از تستهای آماری مثل ADF و KPSS استفاده میکنیم.
🔹 ADF Test (Augmented Dickey-Fuller):
فرض صفر: سری غیرایستا (Non-Stationary) است.
اگر p-value کوچک باشه، فرض صفر رد میشه → سری ایستا است.
🔹 KPSS Test (Kwiatkowski-Phillips-Schmidt-Shin):
فرض صفر: سری ایستا است.
اگر p-value کوچک باشه، فرض صفر رد میشه → سری غیرایستا است.
🔹 نکته مهم: معمولاً از هر دو تست استفاده میکنن تا مطمئن بشن سری واقعاً ایستا یا غیرایستا است.
به زبان ساده: این تستها مثل “ترمومتر” هستن تا بفهمیم دادهها آرام و ثابت هستن یا نوسان زیادی دارن 🌡📊
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
https://t.me/Tu_24
آدرس وبسایت:
https://Tutorial24.ir
برای بررسی Stationarity در سریهای زمانی از تستهای آماری مثل ADF و KPSS استفاده میکنیم.
🔹 ADF Test (Augmented Dickey-Fuller):
فرض صفر: سری غیرایستا (Non-Stationary) است.
اگر p-value کوچک باشه، فرض صفر رد میشه → سری ایستا است.
🔹 KPSS Test (Kwiatkowski-Phillips-Schmidt-Shin):
فرض صفر: سری ایستا است.
اگر p-value کوچک باشه، فرض صفر رد میشه → سری غیرایستا است.
🔹 نکته مهم: معمولاً از هر دو تست استفاده میکنن تا مطمئن بشن سری واقعاً ایستا یا غیرایستا است.
به زبان ساده: این تستها مثل “ترمومتر” هستن تا بفهمیم دادهها آرام و ثابت هستن یا نوسان زیادی دارن 🌡📊
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
https://t.me/Tu_24
آدرس وبسایت:
https://Tutorial24.ir
Telegram
آموزش کامپیوتر و برنامه نویسی tu24
* برنامه نویسی
* علوم کامپیوتر
* ریاضیات مورد نیاز علوم کامپیوتر
* هوش مصنوعی
* علوم داده
* داده کاوی
* بیگ دیتا
* پیشنهادات، تبلیغات و تبادل و ... : @ma_limbs
* تعرفه تبلیغات:
https://t.me/+w-o6dHW5O31jMWNk
* علوم کامپیوتر
* ریاضیات مورد نیاز علوم کامپیوتر
* هوش مصنوعی
* علوم داده
* داده کاوی
* بیگ دیتا
* پیشنهادات، تبلیغات و تبادل و ... : @ma_limbs
* تعرفه تبلیغات:
https://t.me/+w-o6dHW5O31jMWNk
🔵 با عضویت در لیست تلگرامی جامع آموزش زبان زیر عضو بی نظیرترین و کامل ترین مجموعه آموزش زبان انگلیسی تلگرامی شوید:
🟢 پادکست، کوییز، گرامر، آیلتس، تافل، ویدیو، آموزش زبان به کودکان، اصطلاحات انگلیسی، زبان کنکور و ... :
https://t.me/addlist/hK74E7joz0ZiOGY0
https://t.me/addlist/hK74E7joz0ZiOGY0
https://t.me/addlist/hK74E7joz0ZiOGY0
🟢 پادکست، کوییز، گرامر، آیلتس، تافل، ویدیو، آموزش زبان به کودکان، اصطلاحات انگلیسی، زبان کنکور و ... :
https://t.me/addlist/hK74E7joz0ZiOGY0
https://t.me/addlist/hK74E7joz0ZiOGY0
https://t.me/addlist/hK74E7joz0ZiOGY0
Telegram
زبان
You’ve been invited to add the folder “زبان”, which includes 50 chats.
🔵 نکته برنامه نویسی
بریم سراغ CQRS (Command Query Responsibility Segregation) 📑
🎯 تعریف
در معماریهای معمول، هم خواندن (Query) و هم نوشتن/تغییر (Command) دادهها از یک مدل/دیتابیس استفاده میکنن.
اما وقتی سیستم بزرگ میشه، این کار باعث شلوغی و افت کارایی میشه.
اینجاست که CQRS وارد میشه:
* Command → تغییر وضعیت (Create, Update, Delete).
* Query → فقط خواندن داده (Read).
هرکدوم میتونن مدل یا حتی دیتابیس جدا داشته باشن.
✅ چرا خوبه؟
* خواندن (Query) میتونه خیلی سریع و بهینه باشه (حتی کش شده).
* نوشتن (Command) میتونه امنتر و دقیقتر باشه (ولیدیشن کامل).
* مقیاسپذیری راحتتر: دیتابیس خواندن میتونه Replication بشه.
🐍 مثال ساده در Python
💡 مزایا:
* خواندن و نوشتن جدا میشن → طراحی سادهتر.
* برای سیستمهای بزرگ مقیاس عالیه (مثلاً فروشگاه اینترنتی با میلیونها کاربر).
* میشه برای Query از دیتابیس سبک (مثل Elasticsearch یا Redis) و برای Command از دیتابیس امن (مثل PostgreSQL) استفاده کرد.
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
https://t.me/Tu_24
آدرس وبسایت:
https://Tutorial24.ir
🔵 نکته برنامه نویسی
بریم سراغ CQRS (Command Query Responsibility Segregation) 📑
🎯 تعریف
در معماریهای معمول، هم خواندن (Query) و هم نوشتن/تغییر (Command) دادهها از یک مدل/دیتابیس استفاده میکنن.
اما وقتی سیستم بزرگ میشه، این کار باعث شلوغی و افت کارایی میشه.
اینجاست که CQRS وارد میشه:
* Command → تغییر وضعیت (Create, Update, Delete).
* Query → فقط خواندن داده (Read).
هرکدوم میتونن مدل یا حتی دیتابیس جدا داشته باشن.
✅ چرا خوبه؟
* خواندن (Query) میتونه خیلی سریع و بهینه باشه (حتی کش شده).
* نوشتن (Command) میتونه امنتر و دقیقتر باشه (ولیدیشن کامل).
* مقیاسپذیری راحتتر: دیتابیس خواندن میتونه Replication بشه.
🐍 مثال ساده در Python
# Command Model (برای تغییر دادهها)
class UserCommandModel:
def __init__(self):
self.users = {}
def create_user(self, user_id, name):
self.users[user_id] = {"id": user_id, "name": name}
return f"User {name} created ✅"
def update_user(self, user_id, name):
if user_id in self.users:
self.users[user_id]["name"] = name
return f"User {user_id} updated ✅"
return "User not found ❌"
# Query Model (فقط برای خواندن)
class UserQueryModel:
def __init__(self, command_model):
self.command_model = command_model
def get_user(self, user_id):
return self.command_model.users.get(user_id, "Not found")
def list_users(self):
return list(self.command_model.users.values())
# استفاده
command = UserCommandModel()
query = UserQueryModel(command)
print(command.create_user(1, "Ali"))
print(command.create_user(2, "Sara"))
print(command.update_user(1, "Ali Reza"))
print(query.get_user(1))
print(query.list_users())
💡 مزایا:
* خواندن و نوشتن جدا میشن → طراحی سادهتر.
* برای سیستمهای بزرگ مقیاس عالیه (مثلاً فروشگاه اینترنتی با میلیونها کاربر).
* میشه برای Query از دیتابیس سبک (مثل Elasticsearch یا Redis) و برای Command از دیتابیس امن (مثل PostgreSQL) استفاده کرد.
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
https://t.me/Tu_24
آدرس وبسایت:
https://Tutorial24.ir
Telegram
آموزش کامپیوتر و برنامه نویسی tu24
* برنامه نویسی
* علوم کامپیوتر
* ریاضیات مورد نیاز علوم کامپیوتر
* هوش مصنوعی
* علوم داده
* داده کاوی
* بیگ دیتا
* پیشنهادات، تبلیغات و تبادل و ... : @ma_limbs
* تعرفه تبلیغات:
https://t.me/+w-o6dHW5O31jMWNk
* علوم کامپیوتر
* ریاضیات مورد نیاز علوم کامپیوتر
* هوش مصنوعی
* علوم داده
* داده کاوی
* بیگ دیتا
* پیشنهادات، تبلیغات و تبادل و ... : @ma_limbs
* تعرفه تبلیغات:
https://t.me/+w-o6dHW5O31jMWNk
💡 نکته #MySQL
🟣 موضوع : کار با انواع JOIN در MySQL به صورت عملی
📖 سرفصل : مثال عملی: یافتن مشتریانی که هرگز سفارشی ثبت نکردهاند
✨ سادهترین راه برای پیدا کردن مشتریهای بیسفارش، استفاده از LEFT JOIN بین جدول Customers و Orders هست. بعدش تو قسمت WHERE بگو اونایی رو میخوام که order_idشون IS NULL باشه! 🕵️♀️ خیلی کاربردیه!
✨ تصور کن دو تا دفتر داری، یکی برای مشتریها، یکی برای سفارشها. حالا میخوای بدونی کدوم مشتریها اسمشون تو دفتر سفارشها نیست. این دقیقا همون کاریه که این کوئری انجام میده! 💡
✨ یه روش دیگه که خیلی هم سریع عمل میکنه، استفاده از NOT EXISTS با یه سابکوئری (Subquery) هست. تو سابکوئری چک میکنی که آیا سفارشی برای اون مشتری وجود داره یا نه. اگه نبود، یعنی مشتری ماست! 🚀
✨ اگه دوست داری از NOT IN استفاده کنی، میتونی آیدی مشتریهایی که سفارش دادن رو تو یه سابکوئری لیست کنی و بعدش بگی اونایی رو بهم بده که آیدیشون تو اون لیست نیست. فقط مواظب NULL تو سابکوئری باش! 🚨
✨ یادت باشه که حتماً باید جدول مشتریها و سفارشها رو با ستون مشترک (معمولاً customer_id) به هم وصل کنی. این کلید ارتباطیه! 🔑 بدون اون گُم میشی!
✨ همیشه برای خوندایی بهتر، اسم جداولت رو معنیدار بذار. مثلاً customers و orders. اینجوری خودت یا هرکی دیگه بعداً کوئری رو میبینه، راحت متوجه میشه. 😉
✨ چرا این کوئری مهمه؟ چون باهاش میتونی کمپینهای بازاریابی هدفمند برای جذب دوباره این مشتریان راهاندازی کنی یا بهشون پیشنهادهای ویژه بدی! 🎁 خیلی بدردبخوره!
✨ اگه جدول سفارشاتت خیلی بزرگه، حتماً روی customer_id توی جدول Orders ایندکس (Index) بذار. این کار سرعت کوئریت رو حسابی بالا میبره! ⚡
✨ همیشه قبل از اجرای کوئری روی دادههای اصلی، با یه مقدار داده نمونه (Sample Data) تستش کن تا مطمئن بشی نتیجهای که میخوای رو بهت میده. اینجوری خیالت راحته! ✅
✨ فکر کن میخوای بدونی کدوم دانشجوها تو هیچ کلاسی ثبتنام نکردن. این کوئری دقیقاً همین کارو برای مشتریها و سفارشها انجام میده. جالبه نه؟ 🤔
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
https://t.me/Tu_24
آدرس وبسایت:
https://Tutorial24.ir
🟣 موضوع : کار با انواع JOIN در MySQL به صورت عملی
📖 سرفصل : مثال عملی: یافتن مشتریانی که هرگز سفارشی ثبت نکردهاند
✨ سادهترین راه برای پیدا کردن مشتریهای بیسفارش، استفاده از LEFT JOIN بین جدول Customers و Orders هست. بعدش تو قسمت WHERE بگو اونایی رو میخوام که order_idشون IS NULL باشه! 🕵️♀️ خیلی کاربردیه!
✨ تصور کن دو تا دفتر داری، یکی برای مشتریها، یکی برای سفارشها. حالا میخوای بدونی کدوم مشتریها اسمشون تو دفتر سفارشها نیست. این دقیقا همون کاریه که این کوئری انجام میده! 💡
✨ یه روش دیگه که خیلی هم سریع عمل میکنه، استفاده از NOT EXISTS با یه سابکوئری (Subquery) هست. تو سابکوئری چک میکنی که آیا سفارشی برای اون مشتری وجود داره یا نه. اگه نبود، یعنی مشتری ماست! 🚀
✨ اگه دوست داری از NOT IN استفاده کنی، میتونی آیدی مشتریهایی که سفارش دادن رو تو یه سابکوئری لیست کنی و بعدش بگی اونایی رو بهم بده که آیدیشون تو اون لیست نیست. فقط مواظب NULL تو سابکوئری باش! 🚨
✨ یادت باشه که حتماً باید جدول مشتریها و سفارشها رو با ستون مشترک (معمولاً customer_id) به هم وصل کنی. این کلید ارتباطیه! 🔑 بدون اون گُم میشی!
✨ همیشه برای خوندایی بهتر، اسم جداولت رو معنیدار بذار. مثلاً customers و orders. اینجوری خودت یا هرکی دیگه بعداً کوئری رو میبینه، راحت متوجه میشه. 😉
✨ چرا این کوئری مهمه؟ چون باهاش میتونی کمپینهای بازاریابی هدفمند برای جذب دوباره این مشتریان راهاندازی کنی یا بهشون پیشنهادهای ویژه بدی! 🎁 خیلی بدردبخوره!
✨ اگه جدول سفارشاتت خیلی بزرگه، حتماً روی customer_id توی جدول Orders ایندکس (Index) بذار. این کار سرعت کوئریت رو حسابی بالا میبره! ⚡
✨ همیشه قبل از اجرای کوئری روی دادههای اصلی، با یه مقدار داده نمونه (Sample Data) تستش کن تا مطمئن بشی نتیجهای که میخوای رو بهت میده. اینجوری خیالت راحته! ✅
✨ فکر کن میخوای بدونی کدوم دانشجوها تو هیچ کلاسی ثبتنام نکردن. این کوئری دقیقاً همین کارو برای مشتریها و سفارشها انجام میده. جالبه نه؟ 🤔
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
https://t.me/Tu_24
آدرس وبسایت:
https://Tutorial24.ir
Telegram
آموزش کامپیوتر و برنامه نویسی tu24
* برنامه نویسی
* علوم کامپیوتر
* ریاضیات مورد نیاز علوم کامپیوتر
* هوش مصنوعی
* علوم داده
* داده کاوی
* بیگ دیتا
* پیشنهادات، تبلیغات و تبادل و ... : @ma_limbs
* تعرفه تبلیغات:
https://t.me/+w-o6dHW5O31jMWNk
* علوم کامپیوتر
* ریاضیات مورد نیاز علوم کامپیوتر
* هوش مصنوعی
* علوم داده
* داده کاوی
* بیگ دیتا
* پیشنهادات، تبلیغات و تبادل و ... : @ma_limbs
* تعرفه تبلیغات:
https://t.me/+w-o6dHW5O31jMWNk
🔵 نکات برنامهنویسی
🚦 Rate Limiting
(محدودسازی نرخ درخواستها)
🔹 ایده اصلی
کنترل تعداد درخواستها یا عملیات در یک بازه زمانی مشخص.
مثلاً:
⬅️ یک کاربر فقط میتونه ۱۰ درخواست در دقیقه بفرسته.
⬅️ یا هر IP نهایتاً ۱۰۰۰ درخواست در روز داشته باشه.
🔹 چرا مهمه؟
⬅️ جلوگیری از سوءاستفاده (DoS, Brute Force, Spam)
⬅️ کنترل هزینههای سرور و API
⬅️ ایجاد عدالت بین کاربران (یکی همه منابع رو نبلعه 😅)
✅ مثال ساده (Python)
📖 کاربردهای واقعی
➡️ APIهای عمومی (مثل GitHub API → محدودیت درخواستها در ساعت)
⬅️ سیستم لاگین → جلوگیری از Brute Force (مثلاً نهایتاً ۵ بار تلاش در ۱ دقیقه)
⬅️ وبسایتها برای جلوگیری از اسپم در فرمها یا چتها
⬅️ پرداخت آنلاین → محدود کردن تعداد تراکنشهای یک کارت در روز
🛠️ مزایا
⬅️ افزایش امنیت
⬅️ بهبود پایداری سیستم در برابر ترافیک زیاد
⬅️ مدیریت منصفانه منابع
⚠️ چالشها
⬅️ پیادهسازی توزیعشده (در چند سرور مختلف) سختتره
⬅️ ممکنه باعث نارضایتی کاربران واقعی بشه (اگه بیش از حد سختگیرانه باشه)
🎯 تشبیه ساده
Rate Limiting مثل چراغ قرمز سر چهارراه 🚦 هست:
⬅️ حتی اگه همه بخوان رد شن، چراغ فقط به تعداد مشخصی اجازه میده.
⬅️ بقیه باید صبر کنن تا دوباره نوبتشون بشه.
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
https://t.me/Tu_24
آدرس وبسایت:
https://Tutorial24.ir
🔵 نکات برنامهنویسی
🚦 Rate Limiting
(محدودسازی نرخ درخواستها)
🔹 ایده اصلی
کنترل تعداد درخواستها یا عملیات در یک بازه زمانی مشخص.
مثلاً:
⬅️ یک کاربر فقط میتونه ۱۰ درخواست در دقیقه بفرسته.
⬅️ یا هر IP نهایتاً ۱۰۰۰ درخواست در روز داشته باشه.
🔹 چرا مهمه؟
⬅️ جلوگیری از سوءاستفاده (DoS, Brute Force, Spam)
⬅️ کنترل هزینههای سرور و API
⬅️ ایجاد عدالت بین کاربران (یکی همه منابع رو نبلعه 😅)
✅ مثال ساده (Python)
import time
class RateLimiter:
def __init__(self, max_calls, period):
self.max_calls = max_calls
self.period = period
self.calls = []
def allow(self):
now = time.time()
# پاک کردن درخواستهای قدیمیتر از period
self.calls = [t for t in self.calls if t > now - self.period]
if len(self.calls) < self.max_calls:
self.calls.append(now)
return True
return False
# مثال: حداکثر 3 درخواست در 10 ثانیه
limiter = RateLimiter(3, 10)
for i in range(5):
if limiter.allow():
print(f"✅ درخواست {i+1} پذیرفته شد")
else:
print(f"❌ درخواست {i+1} رد شد")
time.sleep(2)
📖 کاربردهای واقعی
➡️ APIهای عمومی (مثل GitHub API → محدودیت درخواستها در ساعت)
⬅️ سیستم لاگین → جلوگیری از Brute Force (مثلاً نهایتاً ۵ بار تلاش در ۱ دقیقه)
⬅️ وبسایتها برای جلوگیری از اسپم در فرمها یا چتها
⬅️ پرداخت آنلاین → محدود کردن تعداد تراکنشهای یک کارت در روز
🛠️ مزایا
⬅️ افزایش امنیت
⬅️ بهبود پایداری سیستم در برابر ترافیک زیاد
⬅️ مدیریت منصفانه منابع
⚠️ چالشها
⬅️ پیادهسازی توزیعشده (در چند سرور مختلف) سختتره
⬅️ ممکنه باعث نارضایتی کاربران واقعی بشه (اگه بیش از حد سختگیرانه باشه)
🎯 تشبیه ساده
Rate Limiting مثل چراغ قرمز سر چهارراه 🚦 هست:
⬅️ حتی اگه همه بخوان رد شن، چراغ فقط به تعداد مشخصی اجازه میده.
⬅️ بقیه باید صبر کنن تا دوباره نوبتشون بشه.
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
https://t.me/Tu_24
آدرس وبسایت:
https://Tutorial24.ir
Telegram
آموزش کامپیوتر و برنامه نویسی tu24
* برنامه نویسی
* علوم کامپیوتر
* ریاضیات مورد نیاز علوم کامپیوتر
* هوش مصنوعی
* علوم داده
* داده کاوی
* بیگ دیتا
* پیشنهادات، تبلیغات و تبادل و ... : @ma_limbs
* تعرفه تبلیغات:
https://t.me/+w-o6dHW5O31jMWNk
* علوم کامپیوتر
* ریاضیات مورد نیاز علوم کامپیوتر
* هوش مصنوعی
* علوم داده
* داده کاوی
* بیگ دیتا
* پیشنهادات، تبلیغات و تبادل و ... : @ma_limbs
* تعرفه تبلیغات:
https://t.me/+w-o6dHW5O31jMWNk
🔵 با عضویت در لیست تلگرامی جامع آموزش زبان زیر عضو بی نظیرترین و کامل ترین مجموعه آموزش زبان انگلیسی تلگرامی شوید:
🟢 پادکست، کوییز، گرامر، آیلتس، تافل، ویدیو، آموزش زبان به کودکان، اصطلاحات انگلیسی، زبان کنکور و ... :
https://t.me/addlist/hK74E7joz0ZiOGY0
https://t.me/addlist/hK74E7joz0ZiOGY0
https://t.me/addlist/hK74E7joz0ZiOGY0
🟢 پادکست، کوییز، گرامر، آیلتس، تافل، ویدیو، آموزش زبان به کودکان، اصطلاحات انگلیسی، زبان کنکور و ... :
https://t.me/addlist/hK74E7joz0ZiOGY0
https://t.me/addlist/hK74E7joz0ZiOGY0
https://t.me/addlist/hK74E7joz0ZiOGY0
Telegram
زبان
You’ve been invited to add the folder “زبان”, which includes 50 chats.
🔵 نکته یادگیری ماشین
مراقب Underfitting باش!
تعریف Underfitting یعنی مدل آنقدر ساده باشه که حتی روی دادههای آموزشی هم نتونه الگو رو درست یاد بگیره.
🔹 نشونهها:
دقت پایین هم روی داده آموزش و هم روی داده تست.
مدل خیلی ساده است (مثلاً یک خط مستقیم برای دادهای که به وضوح غیرخطی است).
🔹 راهکارها:
استفاده از مدل پیچیدهتر (مثلاً درخت عمیقتر، شبکهی عصبی با لایههای بیشتر).
اضافه کردن ویژگیهای جدید (Feature Engineering).
افزایش مدت زمان آموزش یا کاهش regularization شدید.
به زبان ساده: Underfitting یعنی مدل به اندازه کافی “باهوش” نیست.
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
https://t.me/Tu_24
آدرس وبسایت:
https://Tutorial24.ir
مراقب Underfitting باش!
تعریف Underfitting یعنی مدل آنقدر ساده باشه که حتی روی دادههای آموزشی هم نتونه الگو رو درست یاد بگیره.
🔹 نشونهها:
دقت پایین هم روی داده آموزش و هم روی داده تست.
مدل خیلی ساده است (مثلاً یک خط مستقیم برای دادهای که به وضوح غیرخطی است).
🔹 راهکارها:
استفاده از مدل پیچیدهتر (مثلاً درخت عمیقتر، شبکهی عصبی با لایههای بیشتر).
اضافه کردن ویژگیهای جدید (Feature Engineering).
افزایش مدت زمان آموزش یا کاهش regularization شدید.
به زبان ساده: Underfitting یعنی مدل به اندازه کافی “باهوش” نیست.
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
https://t.me/Tu_24
آدرس وبسایت:
https://Tutorial24.ir
Telegram
آموزش کامپیوتر و برنامه نویسی tu24
* برنامه نویسی
* علوم کامپیوتر
* ریاضیات مورد نیاز علوم کامپیوتر
* هوش مصنوعی
* علوم داده
* داده کاوی
* بیگ دیتا
* پیشنهادات، تبلیغات و تبادل و ... : @ma_limbs
* تعرفه تبلیغات:
https://t.me/+w-o6dHW5O31jMWNk
* علوم کامپیوتر
* ریاضیات مورد نیاز علوم کامپیوتر
* هوش مصنوعی
* علوم داده
* داده کاوی
* بیگ دیتا
* پیشنهادات، تبلیغات و تبادل و ... : @ma_limbs
* تعرفه تبلیغات:
https://t.me/+w-o6dHW5O31jMWNk
🔵 نکته برنامه نویسی
تو این پست چند تکنیک کمتر شنیدهشده ولی خیلی کاربردی در برنامهنویسی رو معرفی میکنم که میتونن هم سرعتت رو بالا ببرن هم کیفیت کدنویسی رو!
Code Smell Detection
این یعنی قبل از اینکه کد خراب بشه، بوی خراب شدنش رو حس کنی!
علائمش:
* توابعی که خیلی طولانی شدن
* تکرار زیاد یک منطق
* متغیرهایی با اسمهای مبهم
اگه این بوها رو حس کردی، سریع Refactor کن قبل از اینکه اوضاع به فاجعه برسه.
Boy Scout Rule 🏕
قانونش سادهست: *"کدی رو که لمس کردی، بهتر از قبل بذار."*
حتی اگه یه خط کوچیک رو تغییر بدی، فرصت رو غنیمت بدون و کد رو مرتبتر، تمیزتر یا خواناتر کن.
Timeboxing ⏳
یه تکنیک مدیریت زمان برای برنامهنویسی.
یک باگ رو فقط برای مدت مشخصی (مثلاً ۳۰ دقیقه) بررسی کن.
اگه در اون زمان حل نشد، یادداشتش کن و برو سراغ یه کار دیگه. اینطوری توی یک باگ گیر نمیکنی و کار پیش میره.
Premature Optimization is the Root of All Evil 🚫⚡
خیلی از تازهکارها میخوان از همون اول کد رو فوقبهینه بنویسن.
این باعث میشه پروژه دیرتر جلو بره و کد پیچیده بشه.
اول کاری کن که «کار کنه»، بعد کاری کن که «سریع کار کنه».
Grep-driven Development 🔍
وقتی با کدی بزرگ و غریبه طرفی، مستقیم برو سراغ جستجو (grep یا search).
اسم فانکشن، ارور یا حتی بخشی از متن رو بزن و ردش رو توی کل پروژه دنبال کن.
این روش باعث میشه سریع بفهمی چی به چیه، بدون اینکه ساعتها سورس رو بخونی.
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
https://t.me/Tu_24
آدرس وبسایت:
https://Tutorial24.ir
🔵 نکته برنامه نویسی
تو این پست چند تکنیک کمتر شنیدهشده ولی خیلی کاربردی در برنامهنویسی رو معرفی میکنم که میتونن هم سرعتت رو بالا ببرن هم کیفیت کدنویسی رو!
Code Smell Detection
این یعنی قبل از اینکه کد خراب بشه، بوی خراب شدنش رو حس کنی!
علائمش:
* توابعی که خیلی طولانی شدن
* تکرار زیاد یک منطق
* متغیرهایی با اسمهای مبهم
اگه این بوها رو حس کردی، سریع Refactor کن قبل از اینکه اوضاع به فاجعه برسه.
Boy Scout Rule 🏕
قانونش سادهست: *"کدی رو که لمس کردی، بهتر از قبل بذار."*
حتی اگه یه خط کوچیک رو تغییر بدی، فرصت رو غنیمت بدون و کد رو مرتبتر، تمیزتر یا خواناتر کن.
Timeboxing ⏳
یه تکنیک مدیریت زمان برای برنامهنویسی.
یک باگ رو فقط برای مدت مشخصی (مثلاً ۳۰ دقیقه) بررسی کن.
اگه در اون زمان حل نشد، یادداشتش کن و برو سراغ یه کار دیگه. اینطوری توی یک باگ گیر نمیکنی و کار پیش میره.
Premature Optimization is the Root of All Evil 🚫⚡
خیلی از تازهکارها میخوان از همون اول کد رو فوقبهینه بنویسن.
این باعث میشه پروژه دیرتر جلو بره و کد پیچیده بشه.
اول کاری کن که «کار کنه»، بعد کاری کن که «سریع کار کنه».
Grep-driven Development 🔍
وقتی با کدی بزرگ و غریبه طرفی، مستقیم برو سراغ جستجو (grep یا search).
اسم فانکشن، ارور یا حتی بخشی از متن رو بزن و ردش رو توی کل پروژه دنبال کن.
این روش باعث میشه سریع بفهمی چی به چیه، بدون اینکه ساعتها سورس رو بخونی.
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
https://t.me/Tu_24
آدرس وبسایت:
https://Tutorial24.ir
Telegram
آموزش کامپیوتر و برنامه نویسی tu24
* برنامه نویسی
* علوم کامپیوتر
* ریاضیات مورد نیاز علوم کامپیوتر
* هوش مصنوعی
* علوم داده
* داده کاوی
* بیگ دیتا
* پیشنهادات، تبلیغات و تبادل و ... : @ma_limbs
* تعرفه تبلیغات:
https://t.me/+w-o6dHW5O31jMWNk
* علوم کامپیوتر
* ریاضیات مورد نیاز علوم کامپیوتر
* هوش مصنوعی
* علوم داده
* داده کاوی
* بیگ دیتا
* پیشنهادات، تبلیغات و تبادل و ... : @ma_limbs
* تعرفه تبلیغات:
https://t.me/+w-o6dHW5O31jMWNk
🔵 نکته برنامه نویسی
یک تکنیک جالب در برنامهنویسی "Rubber Duck Debugging" هست 🦆
ایدهاش ساده است: وقتی کدتان درست کار نمیکند، یک عروسک (یا هر شیء بیجان، مثلا یک فنجان قهوه!) را مقابل خود میگذارید و خطبهخط برایش توضیح میدهید که کد چه میکند.
وقتی مجبور میشوید با صدای بلند توضیح دهید، معمولا خودتان متوجه اشتباهات منطقی یا خطاهای کوچک میشوید، حتی قبل از اینکه به “اردک” برسید!
این روش به طرز عجیبی جواب میدهد، چون ذهن شما از حالت «درگیر کد» به حالت «توضیح به یک موجود بیاطلاع» تغییر میکند.
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
https://t.me/Tu_24
آدرس وبسایت:
https://Tutorial24.ir
🔵 نکته برنامه نویسی
یک تکنیک جالب در برنامهنویسی "Rubber Duck Debugging" هست 🦆
ایدهاش ساده است: وقتی کدتان درست کار نمیکند، یک عروسک (یا هر شیء بیجان، مثلا یک فنجان قهوه!) را مقابل خود میگذارید و خطبهخط برایش توضیح میدهید که کد چه میکند.
وقتی مجبور میشوید با صدای بلند توضیح دهید، معمولا خودتان متوجه اشتباهات منطقی یا خطاهای کوچک میشوید، حتی قبل از اینکه به “اردک” برسید!
این روش به طرز عجیبی جواب میدهد، چون ذهن شما از حالت «درگیر کد» به حالت «توضیح به یک موجود بیاطلاع» تغییر میکند.
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
https://t.me/Tu_24
آدرس وبسایت:
https://Tutorial24.ir
Telegram
آموزش کامپیوتر و برنامه نویسی tu24
* برنامه نویسی
* علوم کامپیوتر
* ریاضیات مورد نیاز علوم کامپیوتر
* هوش مصنوعی
* علوم داده
* داده کاوی
* بیگ دیتا
* پیشنهادات، تبلیغات و تبادل و ... : @ma_limbs
* تعرفه تبلیغات:
https://t.me/+w-o6dHW5O31jMWNk
* علوم کامپیوتر
* ریاضیات مورد نیاز علوم کامپیوتر
* هوش مصنوعی
* علوم داده
* داده کاوی
* بیگ دیتا
* پیشنهادات، تبلیغات و تبادل و ... : @ma_limbs
* تعرفه تبلیغات:
https://t.me/+w-o6dHW5O31jMWNk
🔵 دوست داری برنامه نویس حرفه ای بشی یا مهارت های کامپیوتری خودت رو افزایش بدی؟ با عضویت در لیست تلگرامی زیر در بی نظیر ترین کانال های برنامه نویسی ما عضو شوید:
🟢 پایتون، هوش مصنوعی، یادگیری ماشین، سی ++، سی شارپ، دات نت، نود جی اس، جاوا اسکریپت، شبکه، علم داده، پایگاه داده، sql، nosql ، مهارت های ICDL، سیستم عامل، لینوکس، فتوشاپ، گرافیک، اندروید، جاوا، ساخت اپلیکیشن موبایل، ری اکت، جی کوئری، php و laravel، دروس رشته کامپیوتر، کنکور کامپیوتر و ...
عضو لیست جامع شوید:
https://t.me/addlist/_UjG99eD_E4zYzhk
https://t.me/addlist/_UjG99eD_E4zYzhk
https://t.me/addlist/_UjG99eD_E4zYzhk
🟢 پایتون، هوش مصنوعی، یادگیری ماشین، سی ++، سی شارپ، دات نت، نود جی اس، جاوا اسکریپت، شبکه، علم داده، پایگاه داده، sql، nosql ، مهارت های ICDL، سیستم عامل، لینوکس، فتوشاپ، گرافیک، اندروید، جاوا، ساخت اپلیکیشن موبایل، ری اکت، جی کوئری، php و laravel، دروس رشته کامپیوتر، کنکور کامپیوتر و ...
عضو لیست جامع شوید:
https://t.me/addlist/_UjG99eD_E4zYzhk
https://t.me/addlist/_UjG99eD_E4zYzhk
https://t.me/addlist/_UjG99eD_E4zYzhk
Telegram
برنامه نویسی
You’ve been invited to add the folder “برنامه نویسی”, which includes 55 chats.
🔵 کوییز #مفاهیم_کلی_برنامه_نویسی
🟣 موضوع : مبانی استفاده از کتابخانههای شخص ثالث: انتخاب و ادغام در پروژه
🟢 سوال :
چرا اجتناب از استفاده از تعداد زیادی کتابخانه شخص ثالث در یک پروژه توصیه میشود؟
گزینه ۱:
باعث افزایش حجم نهایی برنامه نمیشود
گزینه ۲:
مدیریت وابستگیها و تداخل احتمالی بین کتابخانهها را پیچیدهتر میکند
گزینه ۳:
عملکرد برنامه را بهبود میبخشد
گزینه ۴:
امنیت برنامه را تضمین میکند
🔵 گزینه صحیح:2
🟢 توضیح :
هرچه تعداد کتابخانههای استفاده شده بیشتر باشد، مدیریت وابستگیها، بهروزرسانیها و تداخلات احتمالی بین آنها دشوارتر میشود و احتمال بروز خطا افزایش مییابد. همچنین حجم نهایی برنامه ممکن است افزایش یابد.
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
https://t.me/Tu_24
آدرس وبسایت:
https://Tutorial24.ir
🟣 موضوع : مبانی استفاده از کتابخانههای شخص ثالث: انتخاب و ادغام در پروژه
🟢 سوال :
چرا اجتناب از استفاده از تعداد زیادی کتابخانه شخص ثالث در یک پروژه توصیه میشود؟
گزینه ۱:
باعث افزایش حجم نهایی برنامه نمیشود
گزینه ۲:
مدیریت وابستگیها و تداخل احتمالی بین کتابخانهها را پیچیدهتر میکند
گزینه ۳:
عملکرد برنامه را بهبود میبخشد
گزینه ۴:
امنیت برنامه را تضمین میکند
🔵 گزینه صحیح:
🟢 توضیح :
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
https://t.me/Tu_24
آدرس وبسایت:
https://Tutorial24.ir
Telegram
آموزش کامپیوتر و برنامه نویسی tu24
* برنامه نویسی
* علوم کامپیوتر
* ریاضیات مورد نیاز علوم کامپیوتر
* هوش مصنوعی
* علوم داده
* داده کاوی
* بیگ دیتا
* پیشنهادات، تبلیغات و تبادل و ... : @ma_limbs
* تعرفه تبلیغات:
https://t.me/+w-o6dHW5O31jMWNk
* علوم کامپیوتر
* ریاضیات مورد نیاز علوم کامپیوتر
* هوش مصنوعی
* علوم داده
* داده کاوی
* بیگ دیتا
* پیشنهادات، تبلیغات و تبادل و ... : @ma_limbs
* تعرفه تبلیغات:
https://t.me/+w-o6dHW5O31jMWNk
🔵 نکته یادگیری ماشین
مقیاسبندی ویژگیها یا Feature Scaling بخش مهمی از پیشپردازش دادههاست.
🔹 چرا مهمه؟
خیلی از الگوریتمها (مثل KNN، SVM، شبکههای عصبی) به فاصله یا مقدار وزن حساسن. اگه یه ویژگی مقیاس بزرگتری داشته باشه (مثلاً درآمد به میلیون در مقابل سن به سال)، مدل بیشتر به اون توجه میکنه.
🔹 روشهای رایج:
روش Min-Max Scaling: همه دادهها رو به بازه [0,1] یا [−1,1] میبره.
روش Standardization (Z-score): دادهها رو طوری تغییر میده که میانگین = 0 و واریانس = 1 بشه.
روش Robust Scaling: از میانه و چارکها استفاده میکنه → در برابر دادههای پرت مقاومتره.
به زبان ساده: Feature Scaling یعنی بذاری همه ویژگیها “با یک متر اندازهگیری بشن”.
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
https://t.me/Tu_24
آدرس وبسایت:
https://Tutorial24.ir
مقیاسبندی ویژگیها یا Feature Scaling بخش مهمی از پیشپردازش دادههاست.
🔹 چرا مهمه؟
خیلی از الگوریتمها (مثل KNN، SVM، شبکههای عصبی) به فاصله یا مقدار وزن حساسن. اگه یه ویژگی مقیاس بزرگتری داشته باشه (مثلاً درآمد به میلیون در مقابل سن به سال)، مدل بیشتر به اون توجه میکنه.
🔹 روشهای رایج:
روش Min-Max Scaling: همه دادهها رو به بازه [0,1] یا [−1,1] میبره.
روش Standardization (Z-score): دادهها رو طوری تغییر میده که میانگین = 0 و واریانس = 1 بشه.
روش Robust Scaling: از میانه و چارکها استفاده میکنه → در برابر دادههای پرت مقاومتره.
به زبان ساده: Feature Scaling یعنی بذاری همه ویژگیها “با یک متر اندازهگیری بشن”.
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
https://t.me/Tu_24
آدرس وبسایت:
https://Tutorial24.ir
Telegram
آموزش کامپیوتر و برنامه نویسی tu24
* برنامه نویسی
* علوم کامپیوتر
* ریاضیات مورد نیاز علوم کامپیوتر
* هوش مصنوعی
* علوم داده
* داده کاوی
* بیگ دیتا
* پیشنهادات، تبلیغات و تبادل و ... : @ma_limbs
* تعرفه تبلیغات:
https://t.me/+w-o6dHW5O31jMWNk
* علوم کامپیوتر
* ریاضیات مورد نیاز علوم کامپیوتر
* هوش مصنوعی
* علوم داده
* داده کاوی
* بیگ دیتا
* پیشنهادات، تبلیغات و تبادل و ... : @ma_limbs
* تعرفه تبلیغات:
https://t.me/+w-o6dHW5O31jMWNk
🔵 نکته یادگیری ماشین
بریم سراغ یه نکته اساسی در مورد ساختار مدلها که باعث میشه بعضی مدلها ساده و بعضی دیگه پیچیده باشن! 🧱
مدلهای خطی در مقابل غیرخطی 📏
تا الان اسم مدلهای زیادی رو شنیدی، اما یک فرق اساسی بین اونها وجود داره که عملکردشون رو تعیین میکنه: اینکه خطی (Linear) هستن یا غیرخطی (Non-linear).
این دو مفهوم رو با یک مثال ساده توضیح میدم: فرض کن میخوای دادهها رو در یک نمودار به دو گروه تقسیم کنی.
مدلهای خطی (Linear Models)
عملکرد: این مدلها برای تقسیم دادهها یا پیشبینی یک مقدار، از یک خط راست استفاده میکنن.
قدرت: قدرت کمتری دارن چون فقط میتونن الگوهایی که با یک خط مستقیم قابل نمایش هستن رو پیدا کنن. مثل این میمونه که بخوای با یه خطکش، اشکال هندسی پیچیده رو از هم جدا کنی.
مزایا: سریع، ساده و قابل تفسیر هستن.
مثال: رگرسیون خطی و رگرسیون لجستیک.
[تصور یک نمودار با دو گروه نقطه که با یک خط مستقیم از هم جدا شدهاند.]
مدلهای غیرخطی (Non-linear Models)
عملکرد: این مدلها میتونن از خطوط و منحنیهای پیچیده برای تقسیم دادهها یا پیشبینی مقادیر استفاده کنن.
قدرت: قدرت بیشتری دارن چون میتونن الگوهای پیچیدهتر و غیرمستقیمی که در دادهها وجود داره رو پیدا کنن.
مزایا: انعطافپذیر و قدرتمند هستن، اما ممکن است بیشتر به بیشبرازش (Overfitting) حساس باشند.
مثال: درخت تصمیم، جنگل تصادفی و شبکههای عصبی.
[تصور یک نمودار با دو گروه نقطه که با یک منحنی از هم جدا شدهاند.]
خلاصه:
اگر دادههات یک رابطه ساده دارن، یک مدل خطی خوب عمل میکنه.
اگر دادههات پیچیدهتر هستن، یک مدل غیرخطی میتونه الگوهای پنهان بیشتری رو کشف کنه.
انتخاب مدل درست به پیچیدگی دادههای تو بستگی داره. 😉
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
https://t.me/Tu_24
آدرس وبسایت:
https://Tutorial24.ir
بریم سراغ یه نکته اساسی در مورد ساختار مدلها که باعث میشه بعضی مدلها ساده و بعضی دیگه پیچیده باشن! 🧱
مدلهای خطی در مقابل غیرخطی 📏
تا الان اسم مدلهای زیادی رو شنیدی، اما یک فرق اساسی بین اونها وجود داره که عملکردشون رو تعیین میکنه: اینکه خطی (Linear) هستن یا غیرخطی (Non-linear).
این دو مفهوم رو با یک مثال ساده توضیح میدم: فرض کن میخوای دادهها رو در یک نمودار به دو گروه تقسیم کنی.
مدلهای خطی (Linear Models)
عملکرد: این مدلها برای تقسیم دادهها یا پیشبینی یک مقدار، از یک خط راست استفاده میکنن.
قدرت: قدرت کمتری دارن چون فقط میتونن الگوهایی که با یک خط مستقیم قابل نمایش هستن رو پیدا کنن. مثل این میمونه که بخوای با یه خطکش، اشکال هندسی پیچیده رو از هم جدا کنی.
مزایا: سریع، ساده و قابل تفسیر هستن.
مثال: رگرسیون خطی و رگرسیون لجستیک.
[تصور یک نمودار با دو گروه نقطه که با یک خط مستقیم از هم جدا شدهاند.]
مدلهای غیرخطی (Non-linear Models)
عملکرد: این مدلها میتونن از خطوط و منحنیهای پیچیده برای تقسیم دادهها یا پیشبینی مقادیر استفاده کنن.
قدرت: قدرت بیشتری دارن چون میتونن الگوهای پیچیدهتر و غیرمستقیمی که در دادهها وجود داره رو پیدا کنن.
مزایا: انعطافپذیر و قدرتمند هستن، اما ممکن است بیشتر به بیشبرازش (Overfitting) حساس باشند.
مثال: درخت تصمیم، جنگل تصادفی و شبکههای عصبی.
[تصور یک نمودار با دو گروه نقطه که با یک منحنی از هم جدا شدهاند.]
خلاصه:
اگر دادههات یک رابطه ساده دارن، یک مدل خطی خوب عمل میکنه.
اگر دادههات پیچیدهتر هستن، یک مدل غیرخطی میتونه الگوهای پنهان بیشتری رو کشف کنه.
انتخاب مدل درست به پیچیدگی دادههای تو بستگی داره. 😉
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
https://t.me/Tu_24
آدرس وبسایت:
https://Tutorial24.ir
Telegram
آموزش کامپیوتر و برنامه نویسی tu24
* برنامه نویسی
* علوم کامپیوتر
* ریاضیات مورد نیاز علوم کامپیوتر
* هوش مصنوعی
* علوم داده
* داده کاوی
* بیگ دیتا
* پیشنهادات، تبلیغات و تبادل و ... : @ma_limbs
* تعرفه تبلیغات:
https://t.me/+w-o6dHW5O31jMWNk
* علوم کامپیوتر
* ریاضیات مورد نیاز علوم کامپیوتر
* هوش مصنوعی
* علوم داده
* داده کاوی
* بیگ دیتا
* پیشنهادات، تبلیغات و تبادل و ... : @ma_limbs
* تعرفه تبلیغات:
https://t.me/+w-o6dHW5O31jMWNk
💠 عضو جامع ترین کانال های توسعه فردی، روانشناسی و موفقیت شوید:
➡️ https://t.me/addlist/AX8uaLK6gE1jNzg0
➡️ https://t.me/addlist/AX8uaLK6gE1jNzg0
شامل موضوعات آموزشی زیر:
توسعه و رشد فردی
افزایش ثروت
هدف گذاری و مدیریت زمان
مهارت های اجتماعی، ارتباطی و فن بیان
روانشناسی و خودیاری
موفقیت
عادات موثر
سلامت و تغذیه سالم
موفقیت شغلی
عبارات تاکیدی
مدیریت اضطراب و خشم
روان درمانی CBT و ACT
شخصیت شناسی و تحلیل روانشناسی
انگیزشی
کودک درون
تکنیک های NLP
یوگا
افزایش حافظه
مدیتیشن
موفقیت تحصیلی
مطالعه موثر
افزایش اعتماد به نفس
افزایش تمرکز
تفکر مثبت
افزایش خلاقیت
نقل قول های انگیزشی
با کلیک بر روی لینک زیر عضو تمامی این کانال ها شوید:
➡️ https://t.me/addlist/AX8uaLK6gE1jNzg0
➡️ https://t.me/addlist/AX8uaLK6gE1jNzg0
➡️ https://t.me/addlist/AX8uaLK6gE1jNzg0
➡️ https://t.me/addlist/AX8uaLK6gE1jNzg0
شامل موضوعات آموزشی زیر:
توسعه و رشد فردی
افزایش ثروت
هدف گذاری و مدیریت زمان
مهارت های اجتماعی، ارتباطی و فن بیان
روانشناسی و خودیاری
موفقیت
عادات موثر
سلامت و تغذیه سالم
موفقیت شغلی
عبارات تاکیدی
مدیریت اضطراب و خشم
روان درمانی CBT و ACT
شخصیت شناسی و تحلیل روانشناسی
انگیزشی
کودک درون
تکنیک های NLP
یوگا
افزایش حافظه
مدیتیشن
موفقیت تحصیلی
مطالعه موثر
افزایش اعتماد به نفس
افزایش تمرکز
تفکر مثبت
افزایش خلاقیت
نقل قول های انگیزشی
با کلیک بر روی لینک زیر عضو تمامی این کانال ها شوید:
➡️ https://t.me/addlist/AX8uaLK6gE1jNzg0
➡️ https://t.me/addlist/AX8uaLK6gE1jNzg0
Telegram
موفقیت
You’ve been invited to add the folder “موفقیت”, which includes 26 chats.
🔵 نکته برنامه نویسی
یک تکنیک جالب و نسبتاً کمحرفزده در برنامهنویسی، "Memoization" (ذخیرهسازی نتایج محاسبات) هست.
در این روش، وقتی یک تابع با ورودی مشخص محاسبه میشود، نتیجه آن در حافظه (مثل یک دیکشنری یا کش) ذخیره میشود. اگر دفعه بعد همان ورودی دوباره درخواست شود، به جای محاسبه دوباره، نتیجه ذخیرهشده برگردانده میشود.
این کار برای توابع سنگین محاسباتی (مثل محاسبه اعداد فیبوناچی یا الگوریتمهای بازگشتی) فوقالعاده مفید است و باعث میشود سرعت برنامه گاهی چندین برابر شود.
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
https://t.me/Tu_24
آدرس وبسایت:
https://Tutorial24.ir
یک تکنیک جالب و نسبتاً کمحرفزده در برنامهنویسی، "Memoization" (ذخیرهسازی نتایج محاسبات) هست.
در این روش، وقتی یک تابع با ورودی مشخص محاسبه میشود، نتیجه آن در حافظه (مثل یک دیکشنری یا کش) ذخیره میشود. اگر دفعه بعد همان ورودی دوباره درخواست شود، به جای محاسبه دوباره، نتیجه ذخیرهشده برگردانده میشود.
این کار برای توابع سنگین محاسباتی (مثل محاسبه اعداد فیبوناچی یا الگوریتمهای بازگشتی) فوقالعاده مفید است و باعث میشود سرعت برنامه گاهی چندین برابر شود.
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
https://t.me/Tu_24
آدرس وبسایت:
https://Tutorial24.ir
Telegram
آموزش کامپیوتر و برنامه نویسی tu24
* برنامه نویسی
* علوم کامپیوتر
* ریاضیات مورد نیاز علوم کامپیوتر
* هوش مصنوعی
* علوم داده
* داده کاوی
* بیگ دیتا
* پیشنهادات، تبلیغات و تبادل و ... : @ma_limbs
* تعرفه تبلیغات:
https://t.me/+w-o6dHW5O31jMWNk
* علوم کامپیوتر
* ریاضیات مورد نیاز علوم کامپیوتر
* هوش مصنوعی
* علوم داده
* داده کاوی
* بیگ دیتا
* پیشنهادات، تبلیغات و تبادل و ... : @ma_limbs
* تعرفه تبلیغات:
https://t.me/+w-o6dHW5O31jMWNk
🔵 نکته یادگیری ماشین
یادگیری بدوننظارت (Unsupervised Learning) برای کشف الگوها در دادههای بدون برچسب استفاده میشه.
🔹 این الگوریتمها نیازی به برچسب ندارن و هدفشون کشف ساختار داخلی دادههاست.
🔹 مثالها:
خوشهبندی Clustering : مثل K-Means، DBSCAN → گروهبندی مشتریان بر اساس رفتار.
الگوریتم های Dimensionality Reduction: مثل PCA، t-SNE → کاهش بعد داده و فهم ساختار.
الگوریتم های Association Rules: مثل Apriori → کشف قوانین پنهان بین ویژگیها (مثلاً بازارهای خرید).
مزایا:
وقتی برچسب نداری، باز میتونی الگو پیدا کنی.
کمک میکنه ویژگیهای مهم یا گروههای مشابه رو شناسایی کنی.
به زبان ساده: Unsupervised Learning مثل “دیدن نقشه بدون داشتن راهنماست” 🗺؛ خودت باید مسیرها و خوشهها رو پیدا کنی.
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
https://t.me/Tu_24
آدرس وبسایت:
https://Tutorial24.ir
یادگیری بدوننظارت (Unsupervised Learning) برای کشف الگوها در دادههای بدون برچسب استفاده میشه.
🔹 این الگوریتمها نیازی به برچسب ندارن و هدفشون کشف ساختار داخلی دادههاست.
🔹 مثالها:
خوشهبندی Clustering : مثل K-Means، DBSCAN → گروهبندی مشتریان بر اساس رفتار.
الگوریتم های Dimensionality Reduction: مثل PCA، t-SNE → کاهش بعد داده و فهم ساختار.
الگوریتم های Association Rules: مثل Apriori → کشف قوانین پنهان بین ویژگیها (مثلاً بازارهای خرید).
مزایا:
وقتی برچسب نداری، باز میتونی الگو پیدا کنی.
کمک میکنه ویژگیهای مهم یا گروههای مشابه رو شناسایی کنی.
به زبان ساده: Unsupervised Learning مثل “دیدن نقشه بدون داشتن راهنماست” 🗺؛ خودت باید مسیرها و خوشهها رو پیدا کنی.
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
https://t.me/Tu_24
آدرس وبسایت:
https://Tutorial24.ir
Telegram
آموزش کامپیوتر و برنامه نویسی tu24
* برنامه نویسی
* علوم کامپیوتر
* ریاضیات مورد نیاز علوم کامپیوتر
* هوش مصنوعی
* علوم داده
* داده کاوی
* بیگ دیتا
* پیشنهادات، تبلیغات و تبادل و ... : @ma_limbs
* تعرفه تبلیغات:
https://t.me/+w-o6dHW5O31jMWNk
* علوم کامپیوتر
* ریاضیات مورد نیاز علوم کامپیوتر
* هوش مصنوعی
* علوم داده
* داده کاوی
* بیگ دیتا
* پیشنهادات، تبلیغات و تبادل و ... : @ma_limbs
* تعرفه تبلیغات:
https://t.me/+w-o6dHW5O31jMWNk
🔵 نکته یادگیری ماشین
نکته: Prophet (فیسبوک) یک ابزار ساده و قوی برای مدلسازی سریهای زمانی است.
🔹 ویژگیها:
بهطور خودکار Trend و Seasonality را مدل میکنه
قابلیت افزودن تعطیلات و رویدادهای خاص رو داره
مناسب دادههای روزانه، هفتگی یا سالانه با روندهای پیچیده
🔹 مزایا:
نیاز به دانش پیچیده آماری نداره
سریع و قابل تفسیر برای کسبوکارها
انعطافپذیر برای دادههای واقعی و نویزی
به زبان ساده: Prophet مثل یک “دستیار پیشبینی سری زمانی” هست که همه الگوهای تکراری و رویدادهای ویژه رو خودش تشخیص میده 🔮
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
https://t.me/Tu_24
آدرس وبسایت:
https://Tutorial24.ir
نکته: Prophet (فیسبوک) یک ابزار ساده و قوی برای مدلسازی سریهای زمانی است.
🔹 ویژگیها:
بهطور خودکار Trend و Seasonality را مدل میکنه
قابلیت افزودن تعطیلات و رویدادهای خاص رو داره
مناسب دادههای روزانه، هفتگی یا سالانه با روندهای پیچیده
🔹 مزایا:
نیاز به دانش پیچیده آماری نداره
سریع و قابل تفسیر برای کسبوکارها
انعطافپذیر برای دادههای واقعی و نویزی
به زبان ساده: Prophet مثل یک “دستیار پیشبینی سری زمانی” هست که همه الگوهای تکراری و رویدادهای ویژه رو خودش تشخیص میده 🔮
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
https://t.me/Tu_24
آدرس وبسایت:
https://Tutorial24.ir
Telegram
آموزش کامپیوتر و برنامه نویسی tu24
* برنامه نویسی
* علوم کامپیوتر
* ریاضیات مورد نیاز علوم کامپیوتر
* هوش مصنوعی
* علوم داده
* داده کاوی
* بیگ دیتا
* پیشنهادات، تبلیغات و تبادل و ... : @ma_limbs
* تعرفه تبلیغات:
https://t.me/+w-o6dHW5O31jMWNk
* علوم کامپیوتر
* ریاضیات مورد نیاز علوم کامپیوتر
* هوش مصنوعی
* علوم داده
* داده کاوی
* بیگ دیتا
* پیشنهادات، تبلیغات و تبادل و ... : @ma_limbs
* تعرفه تبلیغات:
https://t.me/+w-o6dHW5O31jMWNk