<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های محمد</title>
        <link>https://virgool.io/feed/@mohammad1377m</link>
        <description>برنامه نویس و طراح وب</description>
        <language>fa</language>
        <pubDate>2026-06-10 12:53:04</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/3930815/avatar/1nTSbz.png?height=120&amp;width=120</url>
            <title>محمد</title>
            <link>https://virgool.io/@mohammad1377m</link>
        </image>

                    <item>
                <title>آموزش ساخت ربات تلگرام با پایتون؛ شروع گام‌به‌گام برای همه</title>
                <link>https://virgool.io/technologyasd/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%AC%D8%A7%D9%85%D8%B9-%D8%B1%D8%A8%D8%A7%D8%AA-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%AA%D9%84%DA%AF%D8%B1%D8%A7%D9%85-%D8%A8%D8%A7-%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86-%D8%A7%D9%88%D9%84%DB%8C%D9%86-%D8%B1%D8%A8%D8%A7%D8%AA-%D8%AE%D9%88%D8%AF%D8%AA-%D8%B1%D8%A7-%D8%A7%D9%85%D8%B1%D9%88%D8%B2-%D8%A8%D8%B3%D8%A7%D8%B2-fl1obelwq1ra</link>
                <description>چرا باید ربات تلگرام بسازیم؟ربات تلگرام می‌تونه ارتباط با کاربرها رو راحت‌تر کنه، کارها رو اتوماسیون کنه یا حتی یک کسب‌وکار راه بندازی.ساخت ربات با پایتون خیلی ساده‌ست و تجربه برنامه‌نویسی خوبی هم بهت می‌ده.پیش‌نیازهانصب پایتون ۳.۷ یا بالاترحساب تلگرامنصب کتابخانه python-telegram-botpip install python-telegram-botیک ویرایشگر کد مثل VS Code یا حتی نوت‌پددریافت توکن ربات از BotFatherتوی تلگرام، به ربات @BotFather پیام بده.دستور /newbot رو تایپ کن، اسم و یوزرنیم دلخواه انتخاب کن (یوزرنیم باید به bot ختم شه).بعد از ساخت، BotFather یک توکن بهت می‌ده که باید نگهش داری.ساخت اولین ربات تلگرام با پایتوندر یک فایل با نام مثلاً bot.py کد زیر رو قرار بده و توکن جایگزین کن:from telegram.ext import Updater, CommandHandler

TOKEN = &quot;توکن_خودت&quot;

def start(update, context):
    update.message.reply_text(&quot;سلام! من ربات تلگرام شما هستم 😃&quot;)

if __name__ == &quot;__main__&quot;:
    updater = Updater(TOKEN, use_context=True)
    dp = updater.dispatcher

    dp.add_handler(CommandHandler(&quot;start&quot;, start))

    updater.start_polling()
    updater.idle()فایل رو ذخیره کن. بعد در ترمینال دستور زیر رو اجرا کن:python bot.pyبه رباتت در تلگرام برو و /start رو تایپ کن. باید پیام خوش‌آمدگویی رو دریافت کنی.اضافه کردن دستور جدیدبرای اضافه کردن دستور مثلاً /about این کد رو هم به فایل اضافه کن:def about(update, context):
    update.message.reply_text(&quot;این ربات برای آموزش ساخته شده!&quot;)
dp.add_handler(CommandHandler(&quot;about&quot;, about))نکات سریعهمیشه توکن رو مخفی نگه دار.با همین روش می‌تونی امکانات بیشتری مثل ارسال عکس، فایل یا ورودی کاربر اضافه کنی.برای آنلاین بودن دائم ربات می‌تونی از سرور یا خدماتی مثل PythonAnywhere یا Heroku بهره بگیری.سوالات متداولچطور ربات رو همیشه آنلاین نگه دارم؟کافیه روی سرور مجازی یا سایت‌هایی مثل Heroku کدت رو اجرا کنی تا ربات همیشه فعال بمونه.برای ربات حرفه‌ای‌تر چه کار کنم؟با امکانات library، اضافه کردن دستورات مختلف و تعامل بیشتر با کاربر رباتتو ارتقا بده.آیا میشه از ربات تلگرام کسب درآمد کرد؟بله! با ساخت ربات برای فروشگاه‌ها، خدمات یا تبلیغات می‌تونی درآمدزایی کنی.مسیر حرفه‌ای شدنمسیر یادگیری‌ت به همین‌جا ختم نمی‌شه. آموزش‌های حرفه‌ای‌تر، پروژه‌های کاربردی و نکات طلایی ساخت ربات‌های جذاب‌تر رو توی سایت ما پیدا می‌کنی. برای رشد بیشتر، همراه ما باش! لطفا تشریف بیارین به سایت https://technology12.ir/کلیدواژه‌ها برای جستجو:ربات تلگرام، آموزش ربات‌نویسی، پایتون، ساخت ربات تلگرام، py telegram bot، پروژه ربات تلگرام</description>
                <category>محمد</category>
                <author>محمد</author>
                <pubDate>Sat, 05 Jul 2025 17:05:29 +0330</pubDate>
            </item>
                    <item>
                <title>آموزش گام‌به‌گام پایتون برای مبتدیان</title>
                <link>https://virgool.io/technologyasd/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%DA%AF%D8%A7%D9%85-%D8%A8%D9%87-%DA%AF%D8%A7%D9%85-%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86-%D8%A8%D8%B1%D8%A7%DB%8C-%D9%85%D8%A8%D8%AA%D8%AF%DB%8C%D8%A7%D9%86-zeb0oiamc6d5</link>
                <description>قسمت ۱: پایتون چیست و چرا باید یادش بگیریم؟پایتون چیست؟پایتون یک زبان برنامه‌نویسی ساده و قدرتمند است که یادگیری آن برای تازه‌کارها بسیار آسان است.این زبان شبیه به زبان انگلیسی نوشته می‌شود و پیچیدگی‌های کم‌تری دارد.با پایتون می‌توانید کارهای مختلفی انجام دهید، مثل ساخت وب‌سایت‌ها، نرم‌افزارها، بازی‌ها یا حتی تجزیه‌وتحلیل داده‌ها.چرا باید یادش بگیریم؟آسانی: پایتون یکی از راحت‌ترین زبان‌های برنامه‌نویسی دنیاست. اگر تازه‌کار هستید، بهترین انتخاب است.محبوبیت: شرکت‌های بزرگی مثل گوگل و فیسبوک از پایتون استفاده می‌کنند.کاربرد گسترده: پایتون تقریباً در هر زمینه‌ای از فناوری و کارهای روزمره خود را جا کرده‌است.تمرین فکری:با خود فکر کنید چرا یادگیری برنامه‌نویسی می‌تواند مسیر زندگی شما را تغییر دهد؟قسمت ۲: نصب و راه‌اندازی پایتونمرحله ۱: دانلود پایتونبه وب‌سایت رسمی پایتون بروید: Python.orgنسخه‌ای که با سیستم‌عامل شما هماهنگ است (Windows، Mac یا Linux) را پیدا کنید (معمولاً گزینه &quot;Download Python&quot; را ببینید).روی دکمه‌ی دانلود کلیک کنید.مرحله ۲: نصب پایتونفایل دانلود‌شده را باز کنید.در پنجره‌ی نصب، مطمئن شوید گزینه‌ی &quot;Add Python to PATH&quot; فعال شده است (این گزینه بسیار مهم است).روی Install کلیک کنید.بعد از نصب، یک برنامه مخصوص به نام IDLE به شما داده می‌شود که از آن برای نوشتن کدهای پایتونی استفاده خواهید کرد.مرحله ۳: اولین تست اجرای پایتونپس از نصب، برای اینکه مطمئن شوید همه چیز درست انجام شده، مراحل زیر را انجام دهید:IDLE (نرم‌افزار پایتون) را باز کنید.در آن، این خط کد را تایپ کنید و دکمه Enter را بزنید:print(&amp;quotHello, Python!&amp;quot)اگر همه چیز درست باشد، شما باید کلمه‌ی Hello, Python! را روی صفحه ببینید.توضیحات خط‌به‌خط:print: این دستور به کامپیوتر می‌گوید چیزی را روی صفحه نمایش نشان بده.&quot;Hello, Python!&quot;: متن داخل گیومه چیزی است که نمایش داده می‌شود.تمرین ساده:متنی مثل &quot;من تازه شروع کردم!&quot; را با دستور print روی صفحه نمایش بدهید.عدد یا جمع دو عدد مثل 5 + 3 را چاپ کنید.قسمت ۳: متغیرها و انواع داده‌ها (Variables and Data Types)متغیر چیست؟در دنیای برنامه‌نویسی، متغیرها مثل جعبه‌هایی هستند که اطلاعات (مثل اعداد یا متن‌ها) را ذخیره می‌کنند.برای مثال، اگر می‌خواهید نام یک فرد را ذخیره کنید، می‌توانید از یک متغیر به نام name استفاده کنید.ایجاد یک متغیرمی‌توانید متغیرها را به روش زیر ایجاد کنید:name = &amp;quotAli&amp;quot
age = 25توضیحات خط‌به‌خط:name و age: نام‌هایی که برای متغیر انتخاب می‌کنید (می‌توانید هر نامی انتخاب کنید، فقط نباید با قوانین زبان پایتون تناقض داشته باشد).&quot;Ali&quot;: این متن (داخل گیومه) به متغیر name اختصاص داده می‌شود.25: این عدد به متغیر age اختصاص داده می‌شود.چگونه از متغیر استفاده کنیم؟بعد از اینکه متغیر را ساختید، می‌توانید از آن در کدهای خودتان استفاده کنید:print(&amp;quotنام من:&amp;quot, name)
print(&amp;quotسن من:&amp;quot, age)انواع داده‌ها چیست؟هر متغیر می‌تواند نوع خاصی از داده‌ها را ذخیره کند. چند نوع داده‌ی رایج در پایتون:اعداد (Integer/Float): برای ذخیره اعداد کامل (مثلاً 10) یا اعداد اعشاری (مثلاً 10.5).متن‌ها (String): برای ذخیره متن‌ها (مثل &quot;سلام&quot;).منطق‌ها (Boolean): برای ذخیره جواب‌های منطقی (True یا False).مثال برای هر نوع دادهnumber = 10        # عدد کامل
pi = 3.14          # عدد اعشاری
greeting = &amp;quotسلام&amp;quot  # متن
is_active = True   # مقدار منطقی (درست یا نادرست)تمرین ساده:متغیری به نام city ایجاد کرده و اسم شهری را در آن ذخیره کنید.متغیری به نام grade ایجاد کرده و یک عدد اعشاری وارد کنید (مثلاً 85.4).عبارت &quot;من در [city] زندگی می‌کنم و معدل من [grade] است.&quot; را چاپ کنید.قسمت ۴: دستور ورودی و خروجی (Input and Output)دستور ورودی چیست؟گاهی لازم است کدی بنویسید که اطلاعاتی از کاربر دریافت کند. برای دریافت اطلاعات از کاربر از دستور input استفاده می‌شود.مثال سادهname = input(&amp;quotلطفاً نام خود را وارد کنید: &amp;quot)
print(&amp;quotسلام،&amp;quot, name, &amp;quotخوش آمدید!&amp;quot)توضیحات خط‌به‌خط:input: این دستور از کاربر می‌خواهد مقداری وارد کند.&quot;لطفاً نام خود را وارد کنید: &quot;: این متن جلوی کاربر نمایش داده می‌شود تا او را راهنمایی کند.print: اطلاعات وارد‌شده توسط کاربر را روی صفحه نمایش می‌دهد.تمرین ساده:برنامه‌ای بنویسید که از کاربر سوال کند &quot;عدد موردنظر خود را وارد کنید:&quot;. عدد وارد‌شده را چاپ کنید.بخشی اضافه کنید که دو عدد از کاربر بگیرد و جمع آنها را نمایش دهد.قسمت ۵: دستورات شرطی (if/else)دستورات شرطی چیست؟گاهی وقت‌ها نیاز دارید تصمیم بگیرید که کدی اجرا شود یا نشود، بر اساس یک شرط خاص. برای این کار در پایتون از دستورات شرطی استفاده می‌کنیم.ساختار یک دستور شرطی در پایتوناین دستور به شکل زیر است:if شرط:
    کاری که باید انجام شودمثال سادهage = 18

if age &gt;= 18:
    print(&amp;quotشما مجاز به رانندگی هستید.&amp;quot)توضیحات خط‌به‌خط:if: به معنی &quot;اگر&quot; است. یعنی اگر شرطی که بعد از آن نوشته شده درست باشد، کاری را انجام بده.شرط (age &gt;= 18): بررسی می‌کند آیا سن بیشتر یا مساوی ۱۸ است.کاری که باید انجام شود: اگر شرط درست باشد، متن &quot;شما مجاز به رانندگی هستید.&quot; چاپ می‌شود.حالت &quot;در غیر این صورت&quot; (else)اگر بخواهید زمانی که شرط درست نیست کدی دیگر اجرا شود، از else استفاده می‌کنیم:age = 16

if age &gt;= 18:
    print(&amp;quotشما مجاز به رانندگی هستید.&amp;quot)
else:
    print(&amp;quotاز حداقل سن مجاز برای رانندگی کمتر هستید.&amp;quot)تابع‌های شرطی پیشرفته‌تر (elif)اگر بیش از یک شرط داشته باشید، می‌توانید از elif (مخفف else if) استفاده کنید:grade = 85

if grade &gt;= 90:
    print(&amp;quotعالی&amp;quot)
elif grade &gt;= 75:
    print(&amp;quotخوب&amp;quot)
else:
    print(&amp;quotنیاز به بهبود داری&amp;quot)تمرین ساده:برنامه‌ای بنویسید که سن کاربر را بپرسد و پیامی مناسب درباره مجوز رانندگی چاپ کند (مثل مثال‌های بالا).برنامه‌ای که معدل کاربر را بگیرد و یکی از پیام‌های &quot;قبول شدی!&quot; یا &quot;نیاز به تلاش بیشتر داری&quot; را چاپ کند.قسمت ۶: حلقه‌ها (Loops)چرا حلقه‌ها مفید هستند؟وقتی بخواهید کاری را چندین بار تکرار کنید، استفاده از حلقه‌ها بهتر است. به جای اینکه کارها را دستی چند بار بنویسید، می‌توانید از حلقه‌ها برای تکرار خودکار استفاده کنید.حلقه forاین حلقه برای تکرار روی یک مجموعه (مثل لیست) استفاده می‌شود.مثال سادهfruits = [&amp;quotسیب&amp;quot, &amp;quotموز&amp;quot, &amp;quotپرتقال&amp;quot]

for fruit in fruits:
    print(fruit)توضیحات خط‌به‌خط:fruits: یک لیست که شامل چند میوه است.for fruit in fruits: این دستور می‌گوید که هر بار یک میوه از لیست بردار.print(fruit): اسم میوه‌های یکی‌یکی چاپ می‌شود.تمرین ساده:یک لیست از ۳ عدد موردعلاقه‌تان بسازید و سپس با استفاده از حلقه for آنها را چاپ کنید.حلقه whileاین حلقه برای شرایطی استفاده می‌شود که نمی‌دانید چند بار باید تکرار کنید، اما می‌خواهید تا زمانی که یک شرط درست باشد ادامه یابد.مثال سادهcount = 0

while count &lt; 5:
    print(count)
    count += 1  # عدد ۱ به متغیر اضافه می‌شودتوضیحات خط‌به‌خط:count = 0: متغیری که شمارش را نگه‌ می‌دارد.while count &lt; 5: شرط می‌گوید تا زمانی که count کمتر از ۵ است حلقه ادامه یابد.count += 1: در هر بار اجرای حلقه، ۱ به شمارش اضافه می‌شود.قسمت ۷: معرفی توابع (Functions)چرا از توابع استفاده کنیم؟گاهی اوقات ممکن است کاری را چندین بار انجام دهید. به جای اینکه هر بار همان کد را بنویسید، می‌توانید یک بار آن را در یک تابع بنویسید و هر بار که نیاز داشتید از آن استفاده کنید.ساختار ساده یک تابعdef greet(name):
    print(f&amp;quotسلام، {name}!&amp;quot)توضیحات خط‌به‌خط:def: کلمه کلیدی برای تعریف یک تابع است.greet: نام تابعی است که تعریف می‌کنیم.(name): این قسمت متغیری است که به تابع فرستاده می‌شود.print: کاری که تابع انجام می‌دهد؛ در اینجا چاپ یک پیام است.مثال استفاده از تابعgreet(&amp;quotعلی&amp;quot)
greet(&amp;quotنگار&amp;quot)تمرین ساده:تابعی بنویسید که نام کاربر را گرفته و پیامی خوش‌آمدگویی چاپ کند.تابعی بنویسید که دو عدد گرفته و جمع آنها را چاپ کند.شی‌گرایی چیست؟تعریف ساده:شی‌گرایی یک روش خاص برای برنامه‌نویسی است که در آن کد را به صورت &quot;شیءها&quot; سازمان‌دهی می‌کنیم. شیءها چیزهایی هستند که ویژگی‌ها (Attributes) و رفتارها (Methods) دارند.مثال روزمره:فکر کنید به یک خودروی واقعی نگاه می‌کنید:ویژگی‌ها: رنگ خودرو، برند، مدل، سال ساخت.رفتارها (کارهایی که انجام می‌دهد): سرعت گرفتن، ترمز کردن، روشن و خاموش شدن.در شی‌گرایی، ما این ویژگی‌ها و رفتارها را در قالب کلاس‌ها و اشیاء تعریف می‌کنیم.مرحله ۱: کلاس‌ها چیستند؟تعریف کلاس:کلاس یک &quot;طرح کلی&quot; یا قالب است که ویژگی‌ها و رفتارهای یک شیء را تعریف می‌کند.چطور کلاس بسازیم؟برای ساخت یک کلاس در پایتون از دستور class استفاده می‌کنیم.مثال ساختن کلاس سادهclass Car:
    pass  # اینجا فعلاً چیزی تعریف نمی‌کنیمتوضیح خط‌به‌خط:class: کلمه کلیدی برای تعریف یک کلاس است.Car: اسم کلاس (در اینجا ماشین است، می‌توانید هر اسم مناسبی انتخاب کنید).pass: این کلمه یعنی فعلاً هیچ کاری داخل کلاس انجام نشده.مرحله ۲: اشیاء چیستند؟تعریف شیء:شیء نمونه‌ای از یک کلاس است. برای ایجاد شیء از یک کلاس، کلاس را مثل یک قالب یا طرح استفاده می‌کنیم.مثال ایجاد شیء از کلاسmy_car = Car()
print(my_car)توضیح خط‌به‌خط:my_car: یک شیء جدید از کلاس Car.Car(): این دستور یک نمونه از کلاس Car می‌سازد.مرحله ۳: اضافه کردن ویژگی‌ها به کلاسویژگی‌ها چیستند؟ویژگی‌ها داده‌هایی هستند که به هر شیء مربوط می‌شوند. مثلاً در مثال ماشین، رنگ و مدل ویژگی‌هایی هستند.مثال اضافه کردن ویژگی‌هاclass Car:
    def __init__(self, color, model):
        self.color = color
        self.model = modelتوضیح خط‌به‌خط:__init__: یک متد خاص است که به طور خودکار هنگام ایجاد یک شیء اجرا می‌شود.self: به شیء فعلی اشاره می‌کند.color و model: پارامترهایی هستند که هنگام ساخت شیء باید مشخص شوند.ایجاد شیء با ویژگی‌هاcar1 = Car(&amp;quotقرمز&amp;quot, &amp;quotپژو&amp;quot)
print(car1.color)  # خروجی: قرمز
print(car1.model)  # خروجی: پژومرحله ۴: رفتارها (متدها) چیستند؟تعریف متد:متدها کارهایی هستند که یک شیء می‌تواند انجام دهد. مثلاً ماشین می‌تواند روشن شود یا حرکت کند.اضافه کردن متد به کلاسclass Car:
    def __init__(self, color, model):
        self.color = color
        self.model = model

    def drive(self):
        print(f&amp;quotماشین {self.model} در حال حرکت است.&amp;quot)ایجاد و استفاده از شیء با متدcar2 = Car(&amp;quotآبی&amp;quot, &amp;quotسمند&amp;quot)
car2.drive()  # خروجی: ماشین سمند در حال حرکت است.توضیح خط‌به‌خط:def drive: تعریف یک متد جدید به نام drive.self.model: از self استفاده می‌کنیم تا به ویژگی‌های شیء دسترسی پیدا کنیم.مرحله ۵: کلاس‌های پیشرفته‌تر با ارث‌بری (Inheritance)ارث‌بری چیست؟وقتی یک کلاس ویژگی‌ها و رفتارهای کلاس دیگری را به ارث می‌برد.مثال ارث‌بریclass Vehicle:
    def __init__(self, type):
        self.type = type

    def info(self):
        print(f&amp;quotاین وسیله نقلیه از نوع {self.type} است.&amp;quot)

class Car(Vehicle):
    def __init__(self, color, model):
        super().__init__(&amp;quotماشین&amp;quot)  # استفاده از ویژگی‌های کلاس والد
        self.color = color
        self.model = modelایجاد شیء با کلاس وراثتیcar3 = Car(&amp;quotمشکی&amp;quot, &amp;quotBMW&amp;quot)
car3.info()  # خروجی: این وسیله نقلیه از نوع ماشین است.تمرین‌ها برای شی‌گراییکلاسی به نام Person بسازید که ویژگی‌های name و age را داشته باشد. متدی اضافه کنید که سلام و نام شخص را چاپ کند.کلاسی به نام MobilePhone بسازید که ویژگی‌هایی مثل model و brand داشته باشد، و متدی برای چاپ اطلاعات گوشی اضافه کنید.چند برنامه ساده.برنامه ۱: ساخت یک کلاس ساده برای &quot;شخص&quot; (Person)توضیح برنامهاین برنامه یک کلاس به نام Person ایجاد می‌کند که شامل ویژگی‌هایی مثل name و age است. سپس با استفاده از این کلاس، چند شیء ساخته و اطلاعات آنها نمایش داده می‌شود.کد برنامهclass Person:
    def __init__(self, name, age):
        self.name = name  # ذخیره نام
        self.age = age  # ذخیره سن

    def introduce(self):
        print(f&amp;quotسلام! من {self.name} هستم و {self.age} سال دارم.&amp;quot)

# ساخت اشیاء از کلاس
person1 = Person(&amp;quotعلی&amp;quot, 25)
person2 = Person(&amp;quotنگار&amp;quot, 18)

# استفاده از متد
person1.introduce()
person2.introduce()خروجی برنامهسلام! من علی هستم و 25 سال دارم.
سلام! من نگار هستم و 18 سال دارم.توضیحات:کلاس Person تعریف شده است که name و age را ذخیره می‌کند.هر شیء که ایجاد می‌شود یک فرد را نشان می‌دهد.متد introduce اطلاعات نام و سن فرد را چاپ می‌کند.برنامه ۲: ماشین‌حساب ساده با استفاده از کلاستوضیح برنامهیک کلاس به نام Calculator تعریف می‌کنیم که می‌تواند عملیات ریاضی ساده مثل جمع، تفریق، ضرب و تقسیم را انجام دهد.کد برنامهclass Calculator:
    def add(self, a, b):
        return a + b

    def subtract(self, a, b):
        return a - b

    def multiply(self, a, b):
        return a * b

    def divide(self, a, b):
        if b != 0:
            return a / b
        else:
            return &amp;quotتقسیم بر صفر ممکن نیست!&amp;quot

# ساخت اشیاء و استفاده از کلاس
calc = Calculator()

print(&amp;quotجمع:&amp;quot, calc.add(10, 5))
print(&amp;quotتفریق:&amp;quot, calc.subtract(10, 5))
print(&amp;quotضرب:&amp;quot, calc.multiply(10, 5))
print(&amp;quotتقسیم:&amp;quot, calc.divide(10, 5))
print(&amp;quotتقسیم نامعتبر:&amp;quot, calc.divide(10, 0))خروجی برنامهجمع: 15
تفریق: 5
ضرب: 50
تقسیم: 2.0
تقسیم نامعتبر: تقسیم بر صفر ممکن نیست!توضیحات:کلاس Calculator شامل متدهایی برای عملیات ریاضی است.هر متد یک عملیات خاص را انجام می‌دهد (مثلاً add برای جمع).برنامه ۳: مدیریت کتابخانه کوچکتوضیح برنامهیک کلاس به نام Book تعریف می‌کنیم که شامل ویژگی‌هایی مثل عنوان (title) و نویسنده (author) است. سپس چند کتاب به لیست اضافه کرده و تمام کتاب‌ها را نمایش می‌دهیم.کد برنامهclass Book:
    def __init__(self, title, author):
        self.title = title
        self.author = author

    def display_info(self):
        print(f&amp;quotعنوان: {self.title}, نویسنده: {self.author}&amp;quot)

# لیست کتاب‌ها
library = []

# اضافه کردن کتاب‌ها
book1 = Book(&amp;quotقهرمان کوچک&amp;quot, &amp;quotعلی احمدی&amp;quot)
book2 = Book(&amp;quotراز موفقیت&amp;quot, &amp;quotنگار جوادی&amp;quot)

library.append(book1)
library.append(book2)

# نمایش تمام کتاب‌ها
for book in library:
    book.display_info()خروجی برنامهعنوان: قهرمان کوچک, نویسنده: علی احمدی
عنوان: راز موفقیت, نویسنده: نگار جوادیتوضیحات:کلاس Book شامل ویژگی‌های title و author است.لیست library برای ذخیره کتاب‌ها استفاده شده است.با استفاده از یک حلقه for تمام کتاب‌ها نمایش داده می‌شوند.</description>
                <category>محمد</category>
                <author>محمد</author>
                <pubDate>Mon, 05 May 2025 23:29:18 +0330</pubDate>
            </item>
                    <item>
                <title>50 دستور کاربردی لینوکس که زندگیتان را تغییر می‌دهد! 🔥</title>
                <link>https://virgool.io/technologyasd/50-%D8%AF%D8%B3%D8%AA%D9%88%D8%B1-%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D8%AF%DB%8C-%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3-%DA%A9%D9%87-%D8%B2%D9%86%D8%AF%DA%AF%DB%8C%D8%AA%D8%A7%D9%86-%D8%B1%D8%A7-%D8%AA%D8%BA%DB%8C%DB%8C%D8%B1-%D9%85%DB%8C-%D8%AF%D9%87%D8%AF-htlrg4yhdba7</link>
                <description>مقدمه:آیا تازه وارد دنیای لینوکس شده‌اید؟ یا شاید کمی تجربه دارید، اما همیشه دنبال میانبرها و دستورهای مفید می‌گردید؟ خب، این مقاله دقیقاً همان چیزی است که نیاز دارید! 🌟لینوکس پر از دستورات قدرتمند است که می‌تواند بهره‌وری شما را از “عادی” به “حرفه‌ای” ارتقا دهد. در اینجا، لیستی از 50 دستور کاربردی و منتخب را با شما به اشتراک می‌گذاریم که برای هر کاربر لینوکس لازم هستند. پیشنهاد می‌کنم همین الان دستورات را امتحان کنید و تأثیر آن بر کار روزانه‌تان را ببینید!لیست دستورات حرفه‌ای لینوکس (چکیده):1. lsلیست کردن فایل‌ها و پوشه‌های موجود در دایرکتوری. خیلی کاربردی!ls -lacontent_copybash2. cdجابجایی بین پوشه‌ها.cd /home/user/content_copybash3. pwdمشاهده مسیر جاری.pwdcontent_copybash4. mkdirایجاد یک پوشه جدید.mkdir my_foldercontent_copybash5. rmحذف فایل‌ها یا فولدرها (با احتیاط استفاده شود!).rm -rf my_foldercontent_copybash6. cpکپی کردن فایل.cp file1.txt file2.txtcontent_copybash7. mvجابجا کردن یا تغییر نام فایل‌ها.mv oldname.txt newname.txtcontent_copybash8. nanoویرایش فایل‌ها به صورت ساده.nano my_file.txtcontent_copybash9. topمشاهده پردازش‌های در حال اجرا در سیستم به صورت زنده.topcontent_copybash10. wgetدریافت فایل‌ها از اینترنت.wget https://example.com/file.zipcontent_copybashچرا این دستورات مهم هستند؟این دستورات پایه‌ای لینوکس نه‌تنها عملکرد شما را سریع‌تر می‌کنند، بلکه در مواقع ضروری مثل عیب‌یابی یا مدیریت فایل‌ها، به شما کمک بزرگی خواهند کرد.نتیجه‌گیری:لینوکس مثل یک جعبه ابزار قدرتمند است؛ هرچه دستورهای بیشتری را بشناسید، استفاده بهتری خواهید داشت. این 10 دستور مهم نقطه شروع خوبی هستند، اما دنیای لینوکس به اینجا ختم نمی‌شود! لیست کامل شامل 50 دستور ضروری، با مثال‌های کامل، در سایت ما منتظر شماست. 🌟با کلیک روی این لینک، وارد دنیای حرفه‌ای لینوکس شوید! 👍نظر شما چیه؟آیا تا حالا یکی از این دستورات را امتحان کرده‌اید؟ منتظر نظرات جذاب شما هستم! 😊</description>
                <category>محمد</category>
                <author>محمد</author>
                <pubDate>Mon, 05 May 2025 00:02:05 +0330</pubDate>
            </item>
                    <item>
                <title>مفاهیم اولیه شبکه که هر مبتدی باید بفهمد (به زبان ساده)</title>
                <link>https://virgool.io/technologyasd/10-%D9%85%D9%81%D8%A7%D9%87%DB%8C%D9%85-%D9%BE%D8%A7%DB%8C%D9%87-%D8%B4%D8%A8%DA%A9%D9%87-%DA%A9%D8%A7%D9%85%D9%BE%DB%8C%D9%88%D8%AA%D8%B1%DB%8C-%DA%A9%D9%87-%D9%87%D8%B1-%D9%85%D8%A8%D8%AA%D8%AF%DB%8C-%D8%A8%D8%A7%DB%8C%D8%AF-%D8%A8%D8%AF%D8%A7%D9%86%D8%AF-tcv0hyvsmdew</link>
                <description>شبکه‌های کامپیوتری یکی از مهم‌ترین ستون‌های دنیای دیجیتال امروز هستند. از ارسال یک ایمیل ساده گرفته تا مدیریت سرورها در بزرگ‌ترین کسب‌وکارهای جهان، همه به نوعی به شبکه متصل هستند. اما شبکه چیست؟ و چه مفاهیمی در پس این فناوری جذاب وجود دارد؟در این مطلب، شما را با ۱۰ مفهوم پایه شبکه کامپیوتری آشنا می‌کنیم. این مفاهیم برای هر کسی که قصد یادگیری درباره این فناوری دارد، ضروری هستند!۱. شبکه چیست؟شبکه مجموعه‌ای از دستگاه‌های متصل به یکدیگر است که برای تبادل اطلاعات یا منابع همکاری می‌کنند. این دستگاه‌ها شامل کامپیوترها، گوشی‌های هوشمند، سرورها، روترها و حتی چاپگرها می‌شوند. شبکه‌ها به دو دسته اصلی تقسیم می‌شوند:شبکه‌های محلی (LAN): شبکه‌ای که در یک فضای محدود مانند خانه یا اداره وجود دارد.شبکه‌های گسترده (WAN): شبکه‌هایی که فضاهای وسیع‌تری را پوشش می‌دهند، مانند اینترنت.۲. آدرس IP چیست؟آدرس IP شناسنامه‌ای است که به هر دستگاه در شبکه اختصاص داده می‌شود. این آدرس بیانگر موقعیت دستگاه در شبکه است و به دو نوع تقسیم می‌شود:IPv4: نسخه قدیمی‌تر که از آدرس‌های عددی مانند 192.168.1.1 استفاده می‌کند.IPv6: نسخه جدید با ظرفیت بیشتر که دسترسی به تعداد زیادی از دستگاه‌ها را ممکن می‌کند.۳. پروتکل‌ها و نقش آن‌ها در ارتباطات شبکه‌ایپروتکل‌ها قوانینی هستند که تعیین می‌کنند چگونه دستگاه‌ها در شبکه با یکدیگر ارتباط برقرار کنند. برخی از مهم‌ترین پروتکل‌ها عبارتند از:TCP/IP: پروتکلی که ستون ارتباطی اینترنت است.UDP: برای ارتباطات سریع مانند استریمینگ آنلاین.HTTP/HTTPS: پروتکل استاندارد برای دسترسی و مرور وب.۴. DNS چیست؟DNS (Domain Name System) یا سامانه نام دامنه، مانند دفترچه تلفن اینترنت است. این سامانه نام دامنه‌هایی مثل google.com را به آدرس IP تبدیل می‌کند تا مرورگر شما بتواند به سرور صحیح وصل شود، بدون اینکه لازم باشد آدرس‌های عددی طولانی را بدانید.۵. Subnet چیست؟Subnet یا زیرشبکه بخشی از یک شبکه بزرگ‌تر است که برای بهینه‌سازی مدیریت و تقسیم بار شبکه استفاده می‌شود. Subnet Mask یک عدد است که نشان می‌دهد بخش آدرس IP مربوط به شبکه و بخش مربوط به دستگاه چیست.۶. تفاوت بین LAN، WAN، و WLAN چیست؟LAN: شبکه‌های محلی که معمولا در خانه‌ها و دفاتر کار استفاده می‌شوند.WAN: شبکه‌های گسترده برای اتصال بین مناطق جغرافیایی بزرگتر، مثل اینترنت.WLAN: شبکه‌های محلی بی‌سیم که به شما امکان اتصال بدون کابل می‌دهند.۷. فایروال چیست و چرا ضروری است؟فایروال‌ها دیوارهای حفاظتی هستند که بین شبکه و دنیای بیرونی قرار می‌گیرند. آن‌ها ترافیک ورودی و خروجی را کنترل می‌کنند تا هکرها یا تهدیدات دیگر به شبکه دسترسی نداشته باشند.۸. مودم، روتر و سوئیچ چه تفاوتی دارند؟مودم: دستگاهی که اینترنت را از ارائه‌دهنده سرویس به خانه یا اداره شما می‌آورد.روتر: دستگاهی که ترافیک اینترنت را مدیریت می‌کند.سوئیچ: برای مدیریت ترافیک داخلی در شبکه استفاده می‌شود.۹. ابزارهای یادگیری شبکه برای مبتدیان:اگر به شبکه علاقه‌مندید، ابزارهای زیر به شما کمک می‌کنند بیشتر بیاموزید:Cisco Packet Tracer: شبیه‌سازی شبکه و آموزش اصولی.Wireshark: بررسی ترافیک شبکه و تحلیل داده‌ها.Coursera: دوره‌های آنلاین برای یادگیری شبکه از ابتدا.۱۰. چرا باید درباره شبکه بیاموزیم؟شبکه‌ها قلب فناوری اطلاعات هستند و یادگیری اصول آن‌ها یکی از گام‌های اساسی برای ورود به دنیای تکنولوژی است.مطالعه محتوای کاملبرای مطالعه توضیحات مفصل‌تر درباره این مفاهیم، به سایت ما مراجعه کنید:مطالعه محتوای کامل در سایت</description>
                <category>محمد</category>
                <author>محمد</author>
                <pubDate>Sat, 26 Apr 2025 03:14:33 +0330</pubDate>
            </item>
                    <item>
                <title>🌐 ۷ لایه شبکه: آشنایی با مدل OSI به زبان ساده</title>
                <link>https://virgool.io/technologyasd/%DB%B7-%D9%84%D8%A7%DB%8C%D9%87-%D8%B4%D8%A8%DA%A9%D9%87-%D8%A2%D8%B4%D9%86%D8%A7%DB%8C%DB%8C-%D8%A8%D8%A7-%D9%85%D8%AF%D9%84-osi-%D8%A8%D9%87-%D8%B2%D8%A8%D8%A7%D9%86-%D8%B3%D8%A7%D8%AF%D9%87-ovh4ifcyszf2</link>
                <description>مدل OSI (Open Systems Interconnection Model) یکی از بنیادی‌ترین مفاهیم در دنیای شبکه‌های کامپیوتری است. این مدل شامل ۷ لایه مختلف است که هر یک وظیفه خاصی برای انتقال داده‌ها دارند. با درک این ۷ لایه، می‌توانید بهتر بفهمید چطور اطلاعات از یک دستگاه به دستگاه دیگر منتقل می‌شوند.مدل OSI چیست؟مدل OSI یک چارچوب نظری است که توضیح می‌دهد چگونه سیستم‌های متفاوت می‌توانند با یکدیگر ارتباط برقرار کنند. این لایه‌ها به وضوح کارها و فعالیت‌های مختلف را در شبکه تعریف می‌کنند. در ادامه به تشریح هر یک از این لایه‌ها می‌پردازیم.۱. لایه فیزیکی (Physical Layer)این پایین‌ترین لایه‌ است که مسئول انتقال بیت‌ها (۰ و ۱) از طریق کابل، سیگنال‌های بی‌سیم و … می‌باشد.مثال: کابل‌های شبکه، فیبر نوری.در زندگی واقعی: مانند سیم تلفن یا کابل USB.۲. لایه پیوند داده (Data Link Layer)این لایه دیتا را به فریم‌هایی تقسیم می‌کند و اطمینان حاصل می‌کند که بدون خطا ارسال شوند.مثال: کارت شبکه (NIC)، MAC Address.در زندگی واقعی: مودم‌ها و سوئیچ‌ها.۳. لایه شبکه (Network Layer)این لایه وظیفه پیدا کردن بهترین مسیر برای رسیدن داده‌ها به مقصد را بر عهده دارد.مثال: IP Address و روترها.در زندگی واقعی: گوگل‌مپ که بهترین مسیر را نشان می‌دهد.۴. لایه انتقال (Transport Layer)این لایه اصلی‌ترین وظیفه‌اش تقسیم داده به قطعات کوچک‌تر و اطمینان از سالم رسیدن آن‌ها به مقصد است. معمولا از دو پروتکل مهم، TCP و UDP استفاده می‌کند:TCP: قابل اطمینان و تضمین می‌کند که همه داده‌ها به درستی و با ترتیب مناسب به مقصد برسند.UDP: سریع‌تر است و بدون تضمین رسیدن داده‌ها فرستاده می‌شود، مناسب برای کاربردهایی که سرعت مهم‌تر از دقت است، مانند پخش زنده یا بازی‌های آنلاین.در زندگی واقعی: تصور کنید می‌خواهید یک فیلم را از طریق اینترنت به دوستتان بفرستید. لایه انتقال این فیلم را به تعدادی تکه کوچک تقسیم می‌کند و اطمینان می‌یابد که همه این تکه‌ها بدون نقص به دست دوستتان می‌رسد.۵. لایه جلسه (Session Layer)این لایه مسئول مدیریت ارتباطات و جلسات بین دو دستگاه است.مثال: برقراری جلسات چت یا تماس‌های ویدیویی.در زندگی واقعی: زمانی که تا خروج از یک سایت، جلسه‌تان باقی بماند.۶. لایه ارائه (Presentation Layer)این لایه کار آماده‌سازی و فرمت کردن داده‌ها را انجام می‌دهد.مثال: رمزنگاری و فرمت داده‌ها برای فرستادن.در زندگی واقعی: تبدیل عکس‌ها به فرمت فشرده برای ارسال.۷. لایه کاربرد (Application Layer)این بالاترین لایه است که کاربران می‌توانند با آن تعامل داشته باشند.مثال: مرورگرهای وب، اپلیکیشن‌های ایمیل.در زندگی واقعی: وقتی به یک وب‌سایت وارد می‌شوید یا یک اپلیکیشن چت را باز می‌کنید.جمع‌بندیمدل OSI کمک می‌کند تا مفاهیم پیچیده شبکه را بهتر درک کنیم و بفهمیم هر بخش از شبکه چه وظیفه‌ای دارد. این دانایی پایه‌ای برای بسیاری از افراد در حوزه فناوری اطلاعات و شبکه است.اگر به یادگیری بیشتر درباره پایتون و دیگر مفاهیم تکنولوژی علاقه‌مندید، به وب‌سایت ما مراجعه کنید: سایت ما. اگر دوست داری این مقاله رو با جزئیات و مثال‌های بیشتر بخونی، حتماً به لینک زیر سر بزن: آموزش ۷ لایه شبکه یا OSI به زبان ساده و با مثال در 20 دقیقهبا این ساختار و لینک، مقاله برای قرار دادن در سایت ویرگول آماده است. مطمئن شوید که آدرس سایتتان را جایگزین your_website_link کنید. اگر اصلاح دیگری مدنظرت هست، بگو تا انجام بدهم! 😊</description>
                <category>محمد</category>
                <author>محمد</author>
                <pubDate>Tue, 22 Apr 2025 23:38:43 +0330</pubDate>
            </item>
                    <item>
                <title>چگونه با بهینه‌سازی عکس‌ها سرعت سایتتان را چند برابر کنید؟</title>
                <link>https://virgool.io/technologyasd/%D9%86%DA%A9%D8%A7%D8%AA-%D8%B7%D9%84%D8%A7%DB%8C%DB%8C-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%A8%D9%87%DB%8C%D9%86%D9%87-%D8%B3%D8%A7%D8%B2%DB%8C-%D8%B9%DA%A9%D8%B3-%D8%AF%D8%B1-%D9%88%D8%A8-%D9%88-%D8%B4%D8%A8%DA%A9%D9%87-%D9%87%D8%A7%DB%8C-%D8%A7%D8%AC%D8%AA%D9%85%D8%A7%D8%B9%DB%8C-wqdx7icdn5jp</link>
                <description>سلام رفیق تکنولوژی‌باز!حتماً برات پیش اومده که بخوای یه عکس رو در سایت یا شبکه اجتماعی بذاری، ولی با حجم بالا یا افت کیفیت روبه‌رو بشی!خوشبختانه، با چند ترفند خیلی ساده می‌تونی هم کیفیت رو حفظ کنی، هم سرعت سایت و پیجت رو بالا ببری. آماده‌ای؟ بزن بریم👇📌 چرا بهینه‌سازی عکس مهمه؟سایت و شبکه اجتماعی سریع‌تر لود میشهمصرف اینترنت کاربر کمتر میشهرتبه گوگل و سئو سایتت خیلی بهتر میشهمطالب زودتر تو الگوریتم‌های اینستا و گوگل دیده میشن🔻 مهم‌ترین نکات و ترفندها:۱. انتخاب فرمت درست عکسعکس معمولی: JPG یا WebP (اگه می‌تونی WebP بذار عالیه)لوگو و آیکن: PNG یا SVGگیف یا انیمیشن: WebP (حجم خیلی کم، کیفیت بالا)۲. سایز واقعی عکس رو انتخاب کنعکس سایزش هر چقدر نیاز داری باشه؛ نه بیشتر نه کمترابزار پیشنهادی: resizeimage.net – iloveimg.com۳. حجم عکس رو با ابزار آنلاین کم کن!tinypng.com – compressjpeg.comاگه با نرم‌افزار کار می‌کنی: Photoshop یا GIMP (مجانی)۴. کوالیتی عکس رو ۶۰ تا ۸۰ درصد بذاربالاتر کیفیت کمی بیشتره ولی حجم زیادی هم داره. تعادل رو نگه دار!۵. Lazy load رو فعال کنبا ویژگی loading=“lazy” عکس‌ها فقط موقع لازم لود میشن، سرعت فوق‌العاده میره بالا!۶. عکس رسپانسیو بزاریبرای موبایل و دسکتاپ، سایز جدا قرار بده تا هر دستگاه بهترین کیفیت رو ببینه.۷. اسم عکس و alt رو مرتبط بذار!به سئو سایتت کمک فوق‌العاده میکنه. مثلا: gol-bahar.jpg با alt=“گل بهاری”۸. متادیتا رو حذف کنexif.tools کمک میکنه اطلاعات اضافی عکس‌ها رو حذف کنی و حجم‌شون کمتر شه.۹. گیف متحرک رو به mp4 یا WebP تبدیل کنحجم بشدت پایین‌تر، کیفیت حفظ میشه.🛠 ابزارهای پیشنهادی (امتحانش کن!)TinyPNGILoveIMGPhotoshop و GIMP (نرم‌افزاری)افزونه وردپرس: Smush✅ نتیجه‌گیری سریعپس هر بار که می‌خوای عکس بذاری، این نکته‌ها رو یادت باشه تا:سایت یا پیجت پرسرعت بمونهکاربر لذت ببرهو سئوی سایتت تقویت بشه!اگر دوست داری آموزش کامل و قدم به قدم بهینه‌سازی عکس رو بخونی و ابزارهای حرفه‌ای بیشتری یاد بگیری، مقاله کامل رو تو سایت خودم گذاشتم: 🔗خواندن مقاله کامل نکات و ترفندهای بهینه‌سازی عکس برای وب و شبکه‌های اجتماعی🏷️ #بهینه‌سازی_عکس #سئو #وب #شبکه_اجتماعی #افزایش_سرعت</description>
                <category>محمد</category>
                <author>محمد</author>
                <pubDate>Tue, 22 Apr 2025 12:52:20 +0330</pubDate>
            </item>
            </channel>
</rss>