<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های Rooholah Maleki</title>
        <link>https://virgool.io/feed/@rmaleki</link>
        <description>Python Developer</description>
        <language>fa</language>
        <pubDate>2026-06-17 11:40:30</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/147057/avatar/avatar.png?height=120&amp;width=120</url>
            <title>Rooholah Maleki</title>
            <link>https://virgool.io/@rmaleki</link>
        </image>

                    <item>
                <title>پایتون زبانی تفسیری یا کامپایلی</title>
                <link>https://virgool.io/@rmaleki/%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86-%D8%B2%D8%A8%D8%A7%D9%86%DB%8C-%D8%AA%D9%81%D8%B3%DB%8C%D8%B1%DB%8C-%DB%8C%D8%A7-%DA%A9%D8%A7%D9%85%D9%BE%D8%A7%DB%8C%D9%84%DB%8C-ldsiizl7sce6</link>
                <description>یه مشکل گیج کننده ای وجود داره برای کسایی که کار با پایتون رو شروع می کنن. آیا پایتون یک زبان کامپایلری هست یا تفسیری. من می خوام جواب این سوال رو اینحا براتون توضیح بدم.زمانی که فایل پایتونمون رو می خوایم اجرا کنیم دو تا اتفاق رخ می ده:۱- کدها به بایت کد (bytecode) تبدیل می شن.(compile)۲- بعد از تبدیل برای اجرا به ماشین مجازی پایتون (python virtual machine) ارسال می شن.(interpreter)۱-توضیحات قسمت اول:نکته قبل از شروع توضیحات این که بایت کد: یک زبان سطح پایین هست (platform-independent). حواستون باشه بایت کد، کد باینری نیست..زمانی که کدهای پایتون رو می خواهیم اجرا کنیم به ram فرستاده می شن و توی اون محیط به بایت کدتبدیل می شن و داخل فایل هایی با پسوند pyc ذخیره می شن. قبل از ذخیره شدن در فایل pyc، پایتون برای هر ماژولی که داخل برنامه استفاده شده اول از همه نگاه می کنه که ورژن اون فایل بایت کد داخل pyc یا pyo چی هست.(ورژن یه timestamp هست که با فایل اصلی پایتون مطابقت داره) اگر جدید بود قبلی حذف و فایل جدید ایجاد می شه. به عبارت دیگه کدهای پایتون کامپایل می شن و در فایل با پسوند pyc ذخیره می شن. سرعت اجرای بایت کد هاخیلی سریع تر از کد اصلی پایتون هست.این تبدیل یه بار انجام می شه و وقتی دفعه بعدی پایتون می خواد کد رو اجرا کنه می ره سراغ pyc ها و کاری به فایل اصلی نداره یعنی مرحله کامپایل رو نادیده می گیره(به شرطی که فایل های اصلی تغییری نکرده باشن). اگر هم پایتون نتونه کد ها رو به  بایت کد تبدیل کنه یعنی فایل pyc ایجاد نشه (دسترسی نداشته باشه یا هر چیز دیگه … )برنامه دوباره کار می کنه و ران میشه و همون فایل اصلی اجرا می شه. برعکس این موضوع هم وجود داره اگه کد اصلی هم نباشه فقط pyc باشه باز هم کد ها اجرا میشه.۲-توضیحات قسمت دوم:وقتی کد ها به بایت کد تبدیل شدن برای اجرا به ماشین مجازی فرستاده می شن. ماشین مجازی پایتون یه برنامه جداگانه یا مستقل نیست. لازم هم نیست که به صورت جداگانه نصب بشه. در حقیقت pvm یه لوپ خیلی بزرگ هست که دستورالعمل های بایت کد ها رو خط به خط، دونه دونه اجرا می کنه. این اخرین مرحله اجرای کدها هست که python interpreter گفته میشه.امیدوارم خوب توضیح داده باشم.</description>
                <category>Rooholah Maleki</category>
                <author>Rooholah Maleki</author>
                <pubDate>Sat, 25 Apr 2020 10:11:19 +0430</pubDate>
            </item>
                    <item>
                <title>نقشه راه برنامه نویسی</title>
                <link>https://virgool.io/@rmaleki/%D9%86%D9%82%D8%B4%D9%87-%D8%B1%D8%A7%D9%87-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-vkw4nduw9eli</link>
                <description>چند وقت بود بعضی از دوستان بهم می گفتن که اگه بخوایم یه برنامه نویس backend خوب بشیم چه چیزایی باید یاد بگیریم یا چی چیزایی خیلی مهم هستن. منم طبق تجربم بهشون می گفتم که فلان زبان یا فلان دیتابیس ها رو یا ... رو باید بلد باشی اما نمی تونستم مسیر بدم و بگم از کجا باید شروع کنن تا این که این  https://github.com/kamranahmedse/developer-roadmap  رو دیدم خیلی عالی همه چیز رو گفته بود. دوست داشتم که برای شما هم به اشتراک بزارمش.اینجا roadmap هایی عالی برای backend کارها برای frontend کارها و devops کارها هست.</description>
                <category>Rooholah Maleki</category>
                <author>Rooholah Maleki</author>
                <pubDate>Thu, 12 Mar 2020 13:37:06 +0330</pubDate>
            </item>
            </channel>
</rss>