<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های سروش مرادپور</title>
        <link>https://virgool.io/feed/@sorm1379</link>
        <description></description>
        <language>fa</language>
        <pubDate>2026-04-15 08:09:34</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/3601894/avatar/KRBpwJ.jpg?height=120&amp;width=120</url>
            <title>سروش مرادپور</title>
            <link>https://virgool.io/@sorm1379</link>
        </image>

                    <item>
                <title>تحلیل شخصی فضای آموزش برنامه نویسی ایران</title>
                <link>https://virgool.io/@sorm1379/%D8%AA%D8%AD%D9%84%DB%8C%D9%84-%D8%B4%D8%AE%D8%B5%DB%8C-%D9%81%D8%B6%D8%A7%DB%8C-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%A7%DB%8C%D8%B1%D8%A7%D9%86-joqn43iu7poe</link>
                <description>بخشی از گزارش ایران تلنتطبق این گزارشاگر شما برنامه نویسی باشید در حالت ماکسیمم، ششم برابر حالت ماکسیسمم یک مدرس برنامه نویسی درآمد دارید!با توجه به شناختی که از زمینه تدریس برنامه نویسی دارم، گفتم یک سری موارد رو با توجه به این اطلاعات باهاتون به اشتراک بذارم.اکثر مدرسین برنامه نویسی (از نظر درصد جمعیت) در بهترین حالت برنامه نویس های جونیور هستن.و در کنار این افراد اقلیتی وجود دارد که میدلول و سینیور و بالاتر محسوب میشن.معمولا افراد جونیور به دلیل پیدا نکردن شغل مناسب در زمینه فنی وارد آموزش میشن (این مورد قابل بحث است) و افراد با تجربه تر برای به اشتراک گذاری اطلاعات و علاقه به بحث آموزش وارد این شاخه میشن.این موضوع باعث شده که مبالغ پرداختی بابت هر ساعت آموزش - که نسبت به سطح اکثر مدرسین قیمت گذاری میشه - پایین بیاد.آیا این چیز خوبیه یا نه؟از دیدگاه من یک منتور و مدرس خوب می تونه چندین سال یک نفر رو جلو بندازه و از شاخه به شاخه شدن شخص جلوگیری کنه.پایین بودن مبالغ پرداختی باعث میشه افراد با سطح مناسب فقط و فقط به دلایل غیر مالی وارد بحث آموزش بشن و این موضوع دلسوزی مدرس و کیفیت تدریس رو به شدت افزایش میده.از طرفی دیگه افرادی که با قطعیت شاخه برنامه نویسی رو انتخاب نکردن برای سرک کشیدن و سنجش علاقه مندی با هزینه کمتری می تونن این تجربه رو داشته باشن.در صورتی که اگر نسبت سطوح مدرسین نزدیک تر بود به شرایط نرمال دنیا (1)، احتمالا هزینه پرداختی هر ساعت کلاس بالاتر میرفت (2).دلایل شخصی من برای موارد 1و2 که ممکن است اشتباه هم باشد:1- متاسفانه مهاجرت بخش زیادی از نیروهای فنی با تجربه ایران باعث این قضیه شده، میزان سردرگمی در مبحث یادگیری زیاد هستش و برنامه نویس های جونیور نیاز های شرکت ها رو نمی‌تونن برطرف کنن2- در صورتی که برنامه نویس ها نیازی به تدریس به عنوان شغل نداشتند، احتمالا افراد خبره تر (یا علاقه مند به تدریس) در این زمینه بیشتر می شدن و افراد خبره تر به دلیل میزان دریافتی بالاتر، هزینه هر ساعت کلاس رو افزایش می دادن (افراد علاقه مند احتمالا رایگان یا با هزینه کم کلاس ها رو تشکیل می‌دادن همچنان)خلاصه که به نظرم این قضیه ای که به اجبار شرایط در تدریس برنامه نویسی ایران دیده میشه میتونه جنبه های مثبتی هم داشته باشه. اما و اگر زیاد داره ولی در حالت کلی میتونه کیفیت آموزش &quot;حرفه ای&quot; رو ارتقا بده.و اما معایب این قضیه، برنامه نویس با تجربه - با فرض علاقه مند بودن به تدریس - درگیر کارشه و فرصت زیادی برای تبلیغ و صحبت کردن درباره دوره هاش نداره، چون قصد مالی خاصی برای انجام این کار نداره و شغل اصلیش محسوب نمیشه.واضحه که توی این شرایط پیدا کردن این نوع مدرسین سخت تر میشه.پیشنهاد می‌کنم توی همین پلتفرم برنامه نویس های شرکت های مطرح رو دنبال و پست هاشون رو بررسی کنید، اگر دوره آموزشی داشته باشن ممکنه اینجا هم پست هاش رو ببینید.به عزیزانی که علاقه زیادی به برنامه نویسی و شاخه های مرتبط ندارن هم یه پیشنهاد برادرانه میدم، اگر برای مبالغ درآمدی این شاخه می‌خوای برنامه نویسی یاد بگیری، وارد این شاخه نشو!یا اگر هم میشی با رویا فروش ها آموزشت رو پیش نبر!برای اینکه بشه به سطوح خوبی رسید (که عمده درآمد های بالا برای افراد با سطح بالا هستش) باید زمان زیادی گذاشته بشه و پشتکار بالایی داشته باشید.به نظرم تنها چیزی که می‌تونه انگیزه باشه براتون که این مسیر - که به نظر من واقعا سخت و طولانی هستش - رو برید، علاقه شخصی به زمینه کامپیوتر و چالش هاش هست.</description>
                <category>سروش مرادپور</category>
                <author>سروش مرادپور</author>
                <pubDate>Sat, 09 Nov 2024 13:11:49 +0330</pubDate>
            </item>
                    <item>
                <title>هر چقدر یاد بگیری کمه!</title>
                <link>https://virgool.io/codenevis/%D9%87%D8%B1-%DA%86%D9%82%D8%AF%D8%B1-%DB%8C%D8%A7%D8%AF-%D8%A8%DA%AF%DB%8C%D8%B1%DB%8C-%DA%A9%D9%85%D9%87-wtis8t9d6xjg</link>
                <description>چند روز پیش داشتم روی یه تیکه کد کار میکردم و به نظر میرسید که یک شرط در شرایطی درست کار نمیکنه.از اونجایی که دیوانه اینطور باگ ها هستم رفتم دو فصل از کتاب های fluent python و the python apprentice رو خوندم تا کامل برام واضح بشه.گفتم این موضوع رو با شما عزیزان هم به همون روشی که خودم یاد گرفتم به اشتراک بذارمموضوع از اینجا شروع شد که شرط زیر توی پروژه رو دیدم:if (django_model_instance.status is False):
    ...اولین سوالی که به ذهنم رسید این بود که چرا condition به صورت زیر نوشته نشده:(not django_model_instance.status)رفتم مدل هایی که تعریف شده بود رو نگاه کردم و به صورت Boolean تعریف شده بودن، موضوعی که وجود داشت مقدار دیفالت None در نظر گرفته شده بود و null True بود اون فیلد خاص!تا اینجا متوجه شدم که چرا از روش دوم استفاده نکردن قبلا(چون 3 حالت بود و فقط نیاز بود توی حالتی که False هستش اون تکه کد اجرا بشه)، ولی باز هم به نظر میرسید جاهایی که باید وارد شرط بشه، بعضی اوقات میشه و بعضی اوقات نمیشه!اینطوری بود که سرچ کردن من شروع شد.تا جایی که میدونستم توی پایتون وقتی مقادیری رو میخوایم به یک variable نسبت بدیم، مقدار به صورت instance ای از کلاس مد نظر ساخته میشه و reference اون instance توی متغیر ذخیره میشه.پس با استفاده از Terminal پایتون رو اجرا کردم تا با استفاده از REPL این موضوع رو بررسی کنم.False is False
# True

a = False
b = False
a is b
# Trueاینجا بود که فهمیدم قضیه جذابی داره اتفاق می افته.گفتم بذار ببینم برای int چه اتفاقی می افته؟2 is 2
# True

a = 2
b = 2
a is b
# Trueاینجا بود که دیگه مغزم نکشید، سرچ من از همین نقطه شروع شد.با توجه به سرچ هایی که کردم، متوجه شدم مقادیر bool در پایتون به صورت singleton در نظر گرفته میشن و پایتون این رو تضمین میکنه که هرجایی که این داده وجود داره رفرنس به یک instance خاص هستش. پس id یا همون identifier اون رفرنس همیشه ثابته.گفتم خب اوکی، برای int چطور؟ آیا برای int هم به صورت singleton عمل میکنه؟توی کد های بالا 2 رو تست کرده بودم و به نظر میرسید که رفرنس ها یکی هستند، با تابع id رفرنس ها رو در آوردم و دیدم بله!باز سوال شد که خب اوکی، چرا؟!با خوندن کتاب ها و سرچ کردن به این جواب رسیدم که مقادیر -5 تا 256 در پایتون به صورت small int در نظر گرفته میشن و هرجا که قرار باشه از اینها استفاده بشه، به یک instance خاص اشاره میشه (گویا به علت پر استفاده بودن، برای بهبود پرفورمنس اینکار رو میکنه)پس این کد رو تست کردم:257 is 257
# True

a = 257
b = 257
a is b
# Falseو اینجا بود که دوزاریم تا حدودی افتاد، توی این سرچ کردن ها با اصطلاحات جالبی مثل falsy آشنا شدم و همینطور بیشتر از قبل در مورد تفاوت های is و == اطلاعات به دست آوردم.flasy: به مقادیری که False نیستن ولی بعد از cast شدن به bool مقدار False پیدا میکنن میگن، 0, &quot;&quot;, [], ...توی شرط ها اگر مقدار غیر bool رو به صورت مستقیم استفاده کنیم، اول به bool cast میشه بعد بررسی مقدار اتفاق می افتهif 1:
    print(11)
# 11تفاوت is و ==:is در واقع داره identifier رفرنس ها رو با هم مقایسه می کنهولی == داره مقادیر رو با هم مقایسه میکنهیه جورایی میشه گفت:a = 265
b = 265
a is b
# id(a) == id(b)
# False

a == b
# 1 == 1
# Trueدر نهایت باگ روی مقادیر None در اون attribute خاص بود گویا و ربطی به False is False نداشت!😂ولی کاوش جالبی بود.به خودم میگم چرا بعد از این همه سال کار کردن، موارد ساده ای مثل این رو هنوز بلد نیستم؟به نظرم مهم ترین دلیلش اینه که رفرنس نمی‌خوندم، سرچ می کردم فقط و اون کاری که می‌خواستم رو انجام می‌دادم.مورد بعدی اینه که عمیق یاد نمی گرفتم و به پشت صحنه اتفاقاتی که می افتاد دقت نمی کردم.الان نزدیک به 3 سال شده که دارم رفرنس می‌خونم، ولی هنوز هم خیلی چیزای ابتدایی متعجبم می کنن!</description>
                <category>سروش مرادپور</category>
                <author>سروش مرادپور</author>
                <pubDate>Wed, 30 Oct 2024 18:36:29 +0330</pubDate>
            </item>
            </channel>
</rss>