Azad's Programmers
Open in Telegram
کانال آموزش برنامه نویسی دانشگاه آزاد گروه چت پرسش و پاسخ: https://t.me/azad_program
Show more2 105
Subscribers
No data24 hours
-67 days
+430 days
Posts Archive
2 105
💻 کپسولهسازی (Encapsulation) در شیگرایی به زبان ساده
کپسولهسازی یکی از اصول مهم شیگرایی است که به شما امکان میدهد دادهها و متدها را درون یک کلاس مخفی کنید تا فقط از طریق روشهای مشخصی به آنها دسترسی داشته باشید. این ویژگی کمک میکند تا کد شما ایمنتر و ساختاریافتهتر باشد. 🎯
🔍 کپسولهسازی چیست؟
در کپسولهسازی، دادههای حساس یک شیء با قرار دادن آنها درون کلاس مخفی میشوند و تنها از طریق متدهای مشخصی میتوان به آنها دسترسی پیدا کرد. این ویژگی به شما امکان میدهد تا کنترل بهتری بر روی دادهها داشته باشید و از تغییرات غیرمجاز جلوگیری کنید.
🔑 مزایای کپسولهسازی:
- ایمنی بیشتر: از تغییرات و دسترسیهای غیرمجاز به دادهها جلوگیری میکند.
- سادگی در استفاده: کاربران کلاس فقط با متدهای عمومی (public methods) تعامل دارند و نیازی به دانستن جزئیات داخلی ندارند.
📌 مثال ساده با پایتون:
class BankAccount:
def __init__(self, balance):
self.__balance = balance # متغیر خصوصی
def deposit(self, amount):
if amount > 0:
self.__balance += amount
print(f"{amount} تومان به حساب اضافه شد.")
def withdraw(self, amount):
if 0 < amount <= self.__balance:
self.__balance -= amount
print(f"{amount} تومان از حساب برداشت شد.")
else:
print("موجودی کافی نیست.")
def get_balance(self):
return self.__balance
در اینجا، balance به عنوان یک متغیر خصوصی تعریف شده و تنها از طریق متدهای deposit()، withdraw() و get_balance() قابل دسترسی است.
account = BankAccount(1000)
account.deposit(500) # اضافه کردن موجودی
account.withdraw(200) # برداشت از حساب
print(account.get_balance()) # نمایش موجودی حساب
🔒 با استفاده از کپسولهسازی، میتوانید مطمئن باشید که متغیر balance تنها از طریق متدهای خاص قابل تغییر است و از دسترسی غیرمجاز محافظت میشود.
#OOP #شی_گرایی #کپسوله_سازی #Encapsulation #پایتون #برنامه_نویسی
Group: @azad_program
Channel: @kiau_program2 105
📌 پلیمورفیسم (Polymorphism)در برنامهنویسی شیگرا
پلیمورفیسم (چندریختی) یکی از مفاهیم مهم در برنامهنویسی شیگرا است که به ما امکان میدهد یک متد با نام یکسان در کلاسهای مختلف رفتار متفاوتی داشته باشد. این ویژگی کد ما را انعطافپذیرتر و قابل توسعهتر میکند. 🎯
📍 مثال ساده از پلیمورفیسم در پایتون:
فرض کنید دو کلاس Dog و Cat داریم که هر کدام متد sound() دارند:
class Dog:
def sound(self):
print("Woof Woof!")
class Cat:
def sound(self):
print("Meow Meow!")
با استفاده از پلیمورفیسم، میتوانیم از متد sound() بدون توجه به نوع حیوان استفاده کنیم:
def make_sound(animal):
animal.sound()
dog = Dog()
cat = Cat()
make_sound(dog) # خروجی: Woof Woof!
make_sound(cat) # خروجی: Meow Meow!
🔹 در اینجا، با صدا زدن make_sound()، بسته به نوع شیء (سگ یا گربه)، صدای مناسب آن تولید میشود. این ویژگی قدرت پلیمورفیسم را نشان میدهد و به ما کمک میکند کدی سادهتر و انعطافپذیرتر داشته باشیم! 🚀
#برنامه_نویسی #شی_گرایی #پلی_مورفیسم #programmin #Polymorphism #object_oriented
Group: @azad_program
Channel: @kiau_program2 105
تکنیک بخاطرسپاری یا Memoization توابع بازگشتی در پایتون
برای افزایش سرعت توابع بازگشتی
#پایتون #python
Group: @azad_program
Channel: @kiau_program
2 105
سلام دوستان😎
📌 امیدوارم حالتون خوب باشه ، حامدکیانی هستم یکی از ادمینان همین گروه و کانال ، تصمیم گرفتم آنچه که طی سالیان سال از سایت های معتبر مثل یودمی و دوره هایی که با عنوان مستر کلاس هوش مصنوعی در خارج از کشور دیدم رو با شما به زبان فارسی به اشتراک بگذارم ، مواردی از قبیل RL که خیلی خیلی تو دانشگاه یاد دادنش رو پیچیده میکنن ، و همچنین مواردی مثل مبانی هوش مصنوعی و کاربرد اون تو زندگی روزمره و یاد گیری ماشین و مقاله نویسی(مخصوص دانشجویان ارشد و دکترا ) و... که تو دانشگاه اصلا بهش پرداخته نشده ، وهمچنین یادگیری ماشین میتونه خیلی کاربردی باشه ...
✅ همه این هارو من با انیمیشن و فیلم و آهنگ بهتون یاد میدم که یادگیری براتون آسونتر باشه ... امیدوارم همراه من تو این سفر ماجراجویی ورود به دنیای هوش مصنوعی باشید ...
📌لینک پلی لیست با افتخار تقدیم شما میگردد :
https://www.aparat.com/playlist/11152513
این دوره به صورت کامل در هفته های آتی تکمیل میگردد ...
🆔هر سوالی ، ایرادی و نکته ای بود میتونید در گروه مطرح کنید ...
2 105
سلام خدمت دوستان عزیز , من مهدی هستم از ادمین های azad programmers , پلی لیستی از مطالبی که اموزش میدم رو داخل یوتیوب میزارم , لینک ویدیو هارو هم به مرور زمان اینجا قرار میدم , امیدوارم براتون مفید واقع باشه . 🩵 هر گونه سوالی بود در خدمتم . ممنونم از حمایت هاتون 🙏🫶
2 105
مجموعه ای دسته بندی شده از راه حل های برتر در مسابقات سایت Kaggle
https://github.com/faridrashidi/kaggle-solutions
Group: @azad_program
Channel: @kiau_program
2 105
⭕️ تفاوت و اهمیت Soft Skills و Hard Skills
✍🏼 مهارت های نرم یا Soft Skills
مهارت های نرم به قابلیت ها و ویژگی های فردی اشاره داره که به نحوه تعامل و ارتباط شما با افراد دیگه تاثیر میذاره. این مهارت ها معمولا غیر فنی هستن و به طور غریزی در اکثر افراد وجود دارن و منبع مشخصی برای یادگیری اونها وجود نداره اما به مرور میشه تقویتشون کرد.
توانایی هایی مثل:
ارتباطات و فن بیان - همکاری و کار تیمی - حل مسئله - مدیریت زمان - رهبری - انطباق پذیری - انعطاف پذیری - انتقاد پذیری - مذاکره - خلاقیت - اعتماد به نفس - هوش هیجانی - مدیریت استرس و ...
💻 مهارت های سخت یا Hard Skills
مهارت های سخت به توانایی ها و دانش فنی اشاره داره که قابل اندازه گیری و آموزش هستن. این مهارت ها معمولا از طریق دوره های آموزشی مختلف، تجربه، مطالعه و در یک بازه زمانی مشخص به دست میان.
مهارت هایی مثل:
تمامی حوزه های برنامه نویسی - تحلیل داده - مدیریت پروژه - طراحی گرافیک - مهارت های فنی - زبان های خارجی - تحلیل مالی - رانندگی - نواختن ساز و ...
⁉️ مهارت های نرم و مهارت های سخت مکمل همدیگه هستن و برای موفقیت در هر زمینه ای ضروری هستن. مهارت های سخت به شما اجازه میدن تا وظایف فنی و تخصصی خودتون رو به خوبی انجام بدین درحالی که مهارت های نرم به شما کمک میکنن تا در محیط کار به خوبی با بقیه ارتباط برقرار کنید و همکاری کنید، نسبت به شرایط مختلف انعطاف پذیر باشین، توانایی جذب کارفرما و مذاکره در پروژه های مختلف رو داشته باشین و ... .
مطالعه و تحقیق، شرکت در بحث های مختلف، ارتباط با دیگران، حضور در اجتماع، شرکت در دوره ها و کارگاه ها، سمینار ها و ... به تقویت مهارت های نرم کمک زیادی میکنن.
Group: @azad_program
Channel: @kiau_program
2 105
🌐 آشنایی با Node.js
نود جی اس یا (Node.js) یک پلتفرم و ران تایم (Runtime) یا محیط اجرای جاوااسکریپت مبتنی به موتور جاوااسکریپت گوگل کروم (V8 Engine) که به توسعه دهندگان اجازه میده تا یک برنامه جاوااسکریپتی رو سمت سرور اجرا کنن. در سال 2009 بود که فردی به نام Ryan Dahl نود جی اس رو معرفی کرد و کاربرد های زبان جاوااسکریپت گسترش پیدا کرد. ابتدا زبان جاوااسکریپت به عنوان زبان برنامه نویسی تحت وب سمت کاربر (Client side) شناخته میشد که برای پویاسازی صفحات وب در Front-End استفاده میشد. با معرفی Node.js امکان اجرای کدهای جاوااسکریپت سمت سرور (Back-End) فراهم شد.
🔹 مدیر پکیج نود (npm) یا Node Package Manager یک مدیر پکیج مخصوص جاوااسکریپته که همراه Node.js ارائه میشه و به توسعه دهندگان اجازه مدیریت وابستگی ها در پروژه، نصب و مدیریت پکیج ها و کتابخانه ها و همینطور ایجاد و انتشار پکیج های مختلف رو میده.
🔸 از فریمورک های شناخته شده و محبوب Node.js میشه به Express.js و Nest.js اشاره کرد.
Group: @azad_program
Channel: @kiau_program
2 105
💻 وراثت و ترکیب در شیگرایی (Inheritance vs Composition) به زبان ساده
در برنامهنویسی شیگرا، دو روش اصلی برای ارتباط بین کلاسها وجود دارد: وراثت و ترکیب. هر کدام از این روشها برای ایجاد رابطه بین کلاسها کاربرد دارند، اما در شرایط متفاوت استفاده میشوند.
🔍 وراثت (Inheritance) چیست؟
وراثت یعنی یک کلاس از یک کلاس دیگر خصوصیات و رفتارهایش را به ارث ببرد. مثلاً اگر یک کلاس پایه به نام
ماشین داریم، میتوانیم از آن یک کلاس فرزند به نام ماشین ورزشی بسازیم که تمام ویژگیهای ماشین را داشته باشد و ویژگیهای جدیدی هم اضافه کند.
🔑 مزایا:
- کد تکراری کمتر: کلاس فرزند میتواند ویژگیهای کلاس والد را به ارث ببرد، بنابراین نیازی نیست که همه چیز دوباره تعریف شود.
- سازماندهی بهتر: به راحتی میتوانیم ساختار سلسلهمراتبی برای اشیاء ایجاد کنیم.
📌 مثال ساده با پایتون:
class Car:
def __init__(self, brand, model):
self.brand = brand
self.model = model
def start(self):
print(f"{self.brand} {self.model} is starting...")
class SportsCar(Car): # وراثت از کلاس Car
def turbo_boost(self):
print(f"{self.brand} {self.model} is boosting with turbo!")
# ایجاد اشیاء
car = Car("Toyota", "Corolla")
sports_car = SportsCar("Ferrari", "488")
car.start()
sports_car.start() # از کلاس والد به ارث برده
sports_car.turbo_boost() # تابع اختصاصی کلاس فرزند
🔍 ترکیب (Composition) چیست؟
ترکیب یعنی کلاسها به جای به ارث بردن از یکدیگر، از اشیاء سایر کلاسها استفاده کنند. این روش به شما امکان میدهد تا به جای ایجاد سلسلهمراتب پیچیده، اشیاء را به صورت ماژولار و مستقل از هم نگه دارید و آنها را با هم ترکیب کنید.
🔑 مزایا:
- انعطافپذیری بیشتر: تغییرات در یک کلاس تأثیر مستقیم کمتری روی کلاسهای دیگر دارد.
- قابلیت استفاده مجدد بالا: میتوانید کلاسها را به صورت مستقل از هم استفاده کنید.
📌 مثال ساده با پایتون:
class Engine:
def start(self):
print("Engine is starting...")
class Car:
def __init__(self, brand, model, engine):
self.brand = brand
self.model = model
self.engine = engine # ترکیب یک شیء از کلاس Engine
def start(self):
print(f"{self.brand} {self.model} is starting...")
self.engine.start() # استفاده از شیء Engine
# ایجاد اشیاء
engine = Engine()
car = Car("Toyota", "Corolla", engine)
car.start()
🎯 تفاوت بین وراثت و ترکیب:
- وراثت: وقتی میخواهید کلاس فرزند تمام ویژگیهای کلاس والد را به ارث ببرد و یا آنها را تغییر دهد.
- ترکیب: وقتی میخواهید کلاسی را با استفاده از چندین شیء دیگر بسازید و نیازی به رابطه قوی بین کلاسها ندارید.
در نهایت، انتخاب بین وراثت و ترکیب به نیازهای پروژه و طراحی شما بستگی دارد. ترکیب معمولاً انعطافپذیری بیشتری به شما میدهد، اما وراثت در مواردی که رابطه طبیعی بین کلاسها وجود دارد (مثل حیوانات یا وسایل نقلیه) مفید است.
#OOP #شی_گرایی #وراثت #ترکیب #Inheritance #Composition #پایتون #برنامه_نویسی
Group: @azad_program
Channel: @kiau_program2 105
💻 برنامهنویسی شیگرایی (Object-Oriented Programming - OOP) به زبان ساده
شیگرایی یکی از مفاهیم اساسی در دنیای برنامهنویسی است که به شما کمک میکند تا کدهایی سادهتر، قابل فهمتر و قابل نگهداریتر بنویسید. به زبان ساده، در شیگرایی همه چیز به صورت "شیء" در نظر گرفته میشود.
🔍 شیء (Object) چیست؟
یک "شیء" ترکیبی از دادهها (خصوصیات یا ویژگیها) و کارهایی که میتواند انجام دهد (توابع یا رفتارها) است. برای مثال، یک ماشین را تصور کنید:
- خصوصیات ماشین: رنگ، مدل، سرعت
- رفتار ماشین: حرکت کردن، توقف، تغییر دنده
در برنامهنویسی شیگرا، شما این "اشیاء" را میسازید و از آنها برای مدیریت دادهها و عملیاتهای مختلف استفاده میکنید.
---
🏗️ چهار مفهوم اصلی در برنامهنویسی شیگرایی:
1. کلاس (Class): نقشه یا قالبی که برای ساختن اشیاء استفاده میشود. کلاس تعریف میکند که شیء چه خصوصیاتی و چه رفتارهایی دارد.
2. شیء (Object): نمونهای از کلاس است. مثلاً "ماشین قرمز" یک شیء است که از کلاس "ماشین" ساخته شده.
3. وراثت (Inheritance): وقتی یک کلاس میتواند خصوصیات و رفتارهای یک کلاس دیگر را به ارث ببرد. برای مثال، یک کلاس "ماشین" میتواند به کلاس "ماشین ورزشی" به ارث برسد و ویژگیهای جدیدی اضافه کند.
4. پلیمورفیسم (Polymorphism): توانایی یک شیء برای داشتن چندین شکل مختلف از یک عملکرد. برای مثال، یک "حیوان" ممکن است "صدا" بدهد، اما هر حیوان به روش خود (سگ پارس میکند، گربه میو میکند).
5. کپسولهسازی (Encapsulation): یعنی مخفی کردن جزئیات پیادهسازی یک شیء و فقط ارائهی رابطهای مشخص به کاربر. این کار به سازماندهی بهتر و محافظت از دادهها کمک میکند.
---
📌 مزایای شیگرایی:
- کد قابل استفاده مجدد: میتوانید از کلاسها و اشیاء در پروژههای مختلف استفاده کنید.
- قابلیت نگهداری: کدهای شیگرا مرتبتر و خواناتر هستند.
- مدیریت بهتر پیچیدگی: با استفاده از اشیاء و کلاسها، میتوانید پروژههای پیچیده را به بخشهای کوچکتر و قابل فهم تقسیم کنید.
---
👨💻 به طور خلاصه، برنامهنویسی شیگرا به شما کمک میکند تا ساختار نرمافزارهای پیچیده را سادهتر کنید و بهجای تمرکز روی توابع و روشهای جداگانه، روی اشیاء و تعاملات آنها تمرکز کنید.
🌟 شروع کنید به ساختن اشیاء خود و دنیای برنامهنویسی را بهتر درک کنید!
#OOP #شی_گرایی #برنامه_نویسی #برنامه_نویسی_شی_گرا #ObjectOrientedProgramming #کلاس #وراثت #پلی_مورفیسم
Group: @azad_program
Channel: @kiau_program
2 105
پیکربندی اجزای مختلف شبکه که برای انتقال دادهها و ایجاد اتصالات بین گرهها و لینکها به کار میرود، به عنوان توپولوژی شبکه شناخته میشود
و این انواع توپولوژی های شبکه است + (توپولوژی پوینت تو پوینت )که در شبکه ها و vlan های مجزا از آن ها استفاده میکنند
Group: @azad_program
Channel: @kiau_program
2 105
فرق بین بازار جهانی یا همون مارکت بین الملل با پلتفرم بین المللی یا جهانی تو این هست که :
تو مارکت جهانی یا بین المللی ما درمورد فروش یک خدمت یا محصول به صورت ارزی (دلار ، یورو ، پوند) حرف میزنیم و با فریلنسری کاری نداریم (دنبال استخدام دائم ویا پروژه ای نیستیم) ولی داخل پلتفرم جهانی همه جهان درمورد freelancer و پرداخت امن داخل یک پلتفرم حرف میزنند
Group: @azad_program
Channel: @kiau_program
