آموزش برنامه نویسی پایتون و Django
2.87K subscribers
261 photos
542 videos
52 files
2.14K links
* پیشنهادات، تبلیغات و تبادل و ... : @ma_limbs

* تعرفه تبلیغات:
https://t.me/+w-o6dHW5O31jMWNk
Download Telegram


🔵 نکات برنامه‌نویسی



Circuit Breaker Pattern
(فیوز یا قطع‌کننده مدار)


🔹 ایده اصلی

در معماری توزیع‌شده (مثلاً Microservices)، ممکنه یک سرویس خراب بشه یا خیلی کند جواب بده.
اگر بقیه سرویس‌ها مدام به اون درخواست بفرستن، کل سیستم از کار میفته.

Circuit Breaker مثل فیوز عمل می‌کنه:

⬅️ اگر تعداد زیادی خطا رخ بده → مدار قطع میشه → درخواست‌های بعدی سریعاً Fail میشن (به جای صبر کردن بی‌پایان).
⬅️ بعد از یه مدت → فیوز "نیمه‌باز" میشه و اجازه تست مجدد میده.
⬅️ اگر دوباره درست بود → مدار می‌بنده و همه‌چیز عادی میشه.



🔹 سه حالت اصلی

1. Closed (بسته): همه درخواست‌ها ارسال میشن.
2. Open (باز): خطا زیاد شده → درخواست‌ها بلاک میشن.
3. Half-Open (نیمه‌باز): بعضی درخواست‌های تستی فرستاده میشن تا ببینیم سرویس برگشته یا نه.



مثال ساده (Python شبیه‌سازی)

import random
import time

class CircuitBreaker:
def __init__(self, failure_threshold=3, recovery_time=5):
self.failure_threshold = failure_threshold
self.recovery_time = recovery_time
self.failures = 0
self.state = "CLOSED"
self.last_failure_time = None

def call(self, func, *args):
if self.state == "OPEN":
if time.time() - self.last_failure_time > self.recovery_time:
self.state = "HALF-OPEN"
else:
return "Circuit Open: Request Blocked "

try:
result = func(*args)
self.failures = 0
self.state = "CLOSED"
return result
except Exception as e:
self.failures += 1
self.last_failure_time = time.time()
if self.failures >= self.failure_threshold:
self.state = "OPEN"
return f"Error: {e}"

# تابعی که بعضی وقتا Fail میشه
def unreliable_service(x):
if random.random() < 0.5:
raise Exception("Service Down")
return f"Success with {x}"

breaker = CircuitBreaker()

for i in range(10):
print(breaker.call(unreliable_service, i))
time.sleep(1)


📖 کاربردهای واقعی

➡️ Microservices Communication (مثلاً Netflix OSS Hystrix معروفه)
➡️ API Gateway برای جلوگیری از Down شدن کل سیستم
⬅️ سیستم‌های Cloud برای مدیریت سرویس‌های ناپایدار



🛠️ مزایا

⬅️ جلوگیری از Snowball Effect (گسترش خرابی یک سرویس به کل سیستم)
⬅️ بهبود پایداری و مقیاس‌پذیری
⬅️ پاسخ سریع‌تر به کاربر (به جای Timeout طولانی)



🎯 تشبیه ساده

Circuit Breaker مثل فیوز برق خونهه:

⬅️ اگر یک وسیله خراب بشه و برق زیادی بکشه → فیوز می‌پره.
⬅️ اینطوری کل سیستم برق نمی‌سوزه.
⬅️ بعد از مدتی می‌تونی دوباره امتحان کنی ببینی وسیله درست شده یا نه.


ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

لطفا ما رو به دیگران هم معرفی کنید...

آدرس کانال اصلی :
https://t.me/Tu_24

آدرس وبسایت:
https://Tutorial24.ir
🔵 نکته یادگیری ماشین


یک نکته ساده و مهم دیگه در یادگیری ماشین:

ویژگی‌های غیر مرتبط یا نویزی می‌تونن مدل رو بدتر کنن، پس Feature Selection مهمه.

* وقتی داده‌ها شامل ویژگی‌های زیادی هستن، بعضی‌ها ممکنه کمکی به پیش‌بینی نکنن یا حتی باعث overfitting بشن.
* روش‌هایی مثل انتخاب ویژگی مبتنی بر اهمیت (feature importance)،PCA یا حذف ویژگی‌های هم‌بسته زیاد می‌تونن کمک کنن.

به زبان ساده: گاهی کمتر، بهتره! انتخاب ویژگی‌های درست باعث می‌شه مدل سبک‌تر، سریع‌تر و دقیق‌تر باشه.




ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ


لطفا ما رو به دیگران هم معرفی کنید...

آدرس کانال اصلی :
https://t.me/Tu_24

آدرس وبسایت:
https://Tutorial24.ir
🔵 دوست داری برنامه نویس حرفه ای بشی یا مهارت های کامپیوتری خودت رو افزایش بدی؟ با عضویت در لیست تلگرامی زیر در بی نظیر ترین کانال های برنامه نویسی ما عضو شوید:

🟢 پایتون، هوش مصنوعی، یادگیری ماشین، سی ++، سی شارپ، دات نت، نود جی اس، جاوا اسکریپت، شبکه، علم داده، پایگاه داده، sql، nosql ، مهارت های ICDL، سیستم عامل، لینوکس، فتوشاپ، گرافیک، اندروید، جاوا، ساخت اپلیکیشن موبایل، ری اکت، جی کوئری، php و laravel، دروس رشته کامپیوتر، کنکور کامپیوتر و ...

عضو لیست جامع شوید:

https://t.me/addlist/_UjG99eD_E4zYzhk
https://t.me/addlist/_UjG99eD_E4zYzhk
https://t.me/addlist/_UjG99eD_E4zYzhk




خبر داغ: رونمایی احتمالی از سیستم‌عامل HomeOS اپل در WWDC 2025!




🌿🌿 دنیای فناوری در تب و تاب کنفرانس WWDC 2025 اپل است و یکی از داغ‌ترین شایعات، معرفی یک سیستم‌عامل کاملاً جدید به نام homeOS است. گزارش‌های اخیر حاکی از آن است که اپل احتمالاً هفته آینده از این پلتفرم نرم‌افزاری رونمایی خواهد کرد. شایعه شده که homeOS می‌تواند همراه با یک نمایشگر هوشمند خانگی جدید معرفی شود.


🟣 سیستم عامل HomeOS: نامی آشنا، کارکردی نو!

تاکنون بارها صحبت از احتمال معرفی homeOS توسط اپل به میان آمده بود، اما حالا با نزدیک شدن به WWDC، این گمانه‌زنی‌ها قوت گرفته‌اند. نام homeOS به وضوح به اکوسیستم خانه هوشمند اپل اشاره دارد و انتظار می‌رود این سیستم‌عامل، مرکز کنترل و هماهنگ‌کننده تمامی دستگاه‌های هوشمند خانگی اپل باشد. این می‌تواند گام بزرگی برای اپل در رقابت با سایر بازیگران حوزه خانه هوشمند باشد.


🔴 علامت تجاری مرموز و ردپای اپل!

موضوعی که این شایعات را جدی‌تر می‌کند، ثبت یک علامت تجاری جدید با عنوان "HOMEOS" است. اگرچه این علامت تجاری ظاهراً توسط شرکتی به نام "Home Operations Suite LLC" ثبت شده، اما بررسی سوابق نشان می‌دهد که مسئول اصلی و پنهان پشت این شرکت، خود اپل است. این روشی رایج برای شرکت‌های بزرگ است که پیش از معرفی رسمی محصولات یا سرویس‌های جدید، علامت‌های تجاری را به صورت غیرمستقیم ثبت کنند تا از افشای زودهنگام برنامه‌هایشان جلوگیری شود.


🔵 گام بعدی اپل در اکوسیستم خانه هوشمند؟

اگر این شایعات به حقیقت بپیوندند، homeOS می‌تواند تجربه کاربری در خانه هوشمند را به سطح جدیدی ارتقا دهد. تصور کنید که تمامی دستگاه‌های HomeKit شما، از لامپ‌های هوشمند گرفته تا ترموستات‌ها و دوربین‌های امنیتی، تحت یک پلتفرم یکپارچه و قدرتمند مدیریت شوند. این سیستم‌عامل می‌تواند توسعه‌دهندگان را نیز ترغیب کند تا اپلیکیشن‌ها و خدمات جدیدی برای اکوسیستم خانه هوشمند اپل طراحی کنند و نوآوری‌ها را در این حوزه سرعت بخشد.


🔴 کنفرانس WWDC 2025: کنفرانس پیش رو، پر از شگفتی؟

همه نگاه‌ها به کنفرانس WWDC 2025 است که هفته آینده برگزار می‌شود. باید دید آیا اپل با معرفی homeOS و شاید یک دستگاه خانگی جدید، واقعاً دنیای خانه هوشمند را متحول خواهد کرد یا خیر. این رویداد، فرصتی عالی برای آشنایی با جدیدترین نوآوری‌های نرم‌افزاری اپل خواهد بود.


#اپل #homeOS #WWDC2025 #خانه_هوشمند #سیستم_عامل_جدید


ــــــــــــــــــــــــــــــــــــــــــــــــــ

لطفا ما رو به دیگران هم معرفی کنید...

آدرس کانال اصلی:
https://t.me/Tu_24

آدرس وبسایت:
https://Tutorial24.ir


🔵 نکته برنامه نویسی



🧩 Dependency Injection (DI)



یک الگوی طراحی نرم‌افزار برای مدیریت وابستگی‌ها بین کلاس‌ها و کامپوننت‌ها، که باعث کاهش coupling و افزایش انعطاف‌پذیری میشه.




📌 ایده اصلی

* کلاس‌ها نباید خودشون وابستگی‌هاشون رو بسازن یا مدیریت کنن.
* وابستگی‌ها از بیرون بهشون داده میشه (Inject).
* این کار باعث میشه تست واحد، تغییر و نگهداری کد راحت‌تر بشه.



### مثال ساده (جاوا)

// سرویس وابسته
class EmailService {
void sendEmail(String message) {
System.out.println("Sending email: " + message);
}
}

// کلاس اصلی که وابستگی رو دریافت می‌کنه
class UserController {
private EmailService emailService;

// تزریق وابستگی از طریق Constructor
public UserController(EmailService emailService) {
this.emailService = emailService;
}

void notifyUser() {
emailService.sendEmail("Welcome!");
}
}

// استفاده
EmailService emailService = new EmailService();
UserController controller = new UserController(emailService);
controller.notifyUser();
اینجا UserController نیازی به ساختن EmailService نداره، بلکه از بیرون دریافت می‌کنه.



📖 جاهای کاربردی

* معماری Clean Architecture / Hexagonal Architecture
* فریم‌ورک‌هایی مثل Spring, Angular, .NET Core
* هر جایی که بخوای تست‌پذیری و انعطاف‌پذیری بالا داشته باشی



🛠️ مزایا

* کاهش coupling بین کامپوننت‌ها
* تست واحد راحت‌تر (می‌تونی Mock یا Stub بدهی)
* تغییر و جایگزینی وابستگی‌ها بدون تغییر کد اصلی



⚠️ معایب / چالش‌ها

* اگر Overuse بشه، ممکنه کد پیچیده و سخت دنبال‌شدنی بشه
* نیاز به درک اولیه از IoC / DI Containers
* ممکنه منابع زیادی مصرف کنه در صورت مدیریت نادرست



👉 تشبیه ساده

Dependency Injection مثل دادن ابزار به یک کارگر 🛠️

* کارگر (کلاس) لازم نیست خودش ابزار بسازه
* فقط ابزار رو از بیرون می‌گیره و کارش رو انجام میده
* وقتی ابزار تغییر کرد، کارگر بدون مشکل ادامه میده



ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

لطفا ما رو به دیگران هم معرفی کنید...

آدرس کانال اصلی :
https://t.me/Tu_24

آدرس وبسایت:
https://Tutorial24.ir

طراح سابق اپل، طرح مفهومی شیشه‌ای خیره‌کننده‌ای برای iOS ۲۶ منتشر کرد!



🌿🌿 در آستانه کنفرانس WWDC ۲۰۲۵، یکی از طراحان سابق اپل، «سباستین دِ ویت»، ایده‌هایی جذاب برای طراحی احتمالی iOS ۲۶ را با نام "Living Glass" منتشر کرده است. این طرح مفهومی، تمرکز ویژه‌ای بر بازطراحی رابط کاربری با الهام از جنس شیشه دارد و می‌تواند آینده تجربه کاربری آیفون را متحول کند.



🟣 وقتی شیشه زنده می‌شود: الهام از visionOS

دِ ویت، هم‌بنیان‌گذار اپلیکیشن عکاسی Lux و طراح سابق اپل، در این مجموعه طرح‌های مفهومی، رویکردی کاملاً نوین را به نمایش گذاشته است. به گفته او، هدف این طراحی، بازتاب دادن مواد و بافت‌های فیزیکی شیشه در رابط کاربری سیستم‌عامل است. اما این فقط یک تغییر ظاهری نیست!


🔴 با الهام از visionOS (سیستم‌عامل هدست ویژن پرو)، این طرح‌ها به گونه‌ای هستند که عناصر رابط کاربری مانند مواد فیزیکی واقعی واکنش نشان می‌دهند و به نور محیطی، تغییرات فضا و حتی حرکات کاربر پاسخ می‌دهند. این یعنی یک تجربه کاربری بسیار غوطه‌ورکننده و پویا که می‌تواند تعامل ما با آیفون را به سطح جدیدی ببرد.


🔵 این طرح مفهومی نشان می‌دهد که اپل و طراحانش چطور به دنبال مرزهای جدید در طراحی رابط کاربری هستند و چگونه می‌توانند از قابلیت‌های سخت‌افزاری جدید برای خلق تجربه‌های بصری و تعاملی بی‌نظیر استفاده کنند. باید منتظر ماند و دید که آیا این ایده‌ها در iOS ۲۶ یا نسخه‌های آینده به واقعیت می‌پیوندند!



#iOS26 #AppleDesign #UIUX #VisionOS #LivingGlass


ــــــــــــــــــــــــــــــــــــــــــــــــــــــ

لطفا ما رو به دیگران هم معرفی کنید...

آدرس کانال اصلی:
https://t.me/Tu_24

آدرس وبسایت:
https://Tutorial24.ir