<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های رضا قادریان</title>
        <link>https://virgool.io/feed/@sr.ghaderian</link>
        <description>از بس که خراب تو شدم، آبادم.</description>
        <language>fa</language>
        <pubDate>2026-06-16 08:19:32</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/1173426/avatar/eaceaY.jpg?height=120&amp;width=120</url>
            <title>رضا قادریان</title>
            <link>https://virgool.io/@sr.ghaderian</link>
        </image>

                    <item>
                <title>ریسک ، شروع ، شکست و ادامه</title>
                <link>https://virgool.io/@sr.ghaderian/%D8%B1%DB%8C%D8%B3%DA%A9-%D8%B4%D8%B1%D9%88%D8%B9-%D8%B4%DA%A9%D8%B3%D8%AA-%D9%88-%D8%A7%D8%AF%D8%A7%D9%85%D9%87-rd467ypovoog</link>
                <description>استارت هر کاری شاید یکی از سخت ترین مراحلش باشه.اینکه تصمیم بگیری ، عزمتو جزم کنی ، ریسکشو به جون بخری و شروع کنی. اگه این مراحلو انجام دادی یعنی شاخشو شکستی ولی یه غولی هم سر راهت هست.دلسرد نشی و ادامه بدی.از یه بنده خدایی پرسیدن شما که به این موفقیت ورزشی رسیدی، سخت ترین کار برات کجا بوده؟گفته: سخت ترین کار این بود که هر روز از خونه بیام بیرون و تاکسی بگیرم و برم باشگاه!دلیل موفقیتش به باشگاه رفتن نبود، تا باشگاه رفتن بود.آره . همه از انجام کارشون خسته میشن و یکی از فرقای بین اونایی که موفق میشن و موفق نمیشن اینه که به کاری که انجام میدن در هر شرایطی ادامه میدن. خسته میشن، مثل همه، ولی ادامه میدن. ادامه بده. حتی به غلط! اما ادامه بده.تا اینجا که دیدم خیلی از کسایی که موفقیت رسیدن یک شبه نبوده. تلاش کردن، شکست خوردن، پا شدن، شکست خوردن، بازم پا شدن و باز هم ادامه دادن و در نهایت راهشونو پیدا کردن و موفق شدن.شایدم تو مسیرت شکست بخوری. که احتمالشم زیاده. ولی برنده کسیه که دلسرد نشه و ادامه بده.به نظرم یکی از چیزهایی که باید روش زیاد کار کرد، مفهوم شکسته.اینکه شکست پایان کار نیست. اره . خیلی سخته ولی پایان کار نیست.هر شکست ، اگر درست بهش نگاه کرد، یه درس بزرگی توش هست که موفقیت تو اون کار همچین درسی به آدم نمیده. میشه از شکست درس گرفت، اصلاحش کرد، بهبودش داد و به نتیجه رسید.الان تو دوران المپیک هستیم. یه ورزشکاریو دیدم که همیشه برنده میشده، تو این دوره از یکی شکست خورد. آنچنان گریه میکرد که انگار دنیا به آخر رسیده. آره. برای کسی که موفقیت و برنده شدن جزو لاینفک زندگیش بوده و زندگیش آمیخته با برنده شدن بوده و غرور ورش داشته، شکست، این چنین غیر قابل تحمله و مایوس کننده. ولی کسی که با مفهوم شکست آشناس، توی اون شکست دنبال دلیل و اصلاح و بهبوده در حقیقت داره با شکست آموزش می بینه.</description>
                <category>رضا قادریان</category>
                <author>رضا قادریان</author>
                <pubDate>Tue, 06 Aug 2024 18:52:27 +0330</pubDate>
            </item>
                    <item>
                <title>دنیای موازی</title>
                <link>https://virgool.io/@sr.ghaderian/%D8%AF%D9%86%DB%8C%D8%A7%DB%8C-%D9%85%D9%88%D8%A7%D8%B2%DB%8C-qyuibaocdfah</link>
                <description>دنیای موازیچند وقت پیش بود با یه فرد مبتلا به آلزایمر برخورد داشتم. تو رفتارش متوجه شدم تو یه عالم دیگه سیر میکنه. تو عالمی که افرادی وجود دارن که خیلی وقته از دنیا رفتن. انگاری تو یه زمان و مکان دیگه فریز شده.اونم داره تو این دنیا زندگی میکنه ولی عالم دیگه ای داره. انگار من و اون دو تا دنیا داریم زندگی میکنیم ولی به موازات هم. چی این دنیاها رو میسازه، تصورات خودمون!!!!نگاهمو بردم به دوستا و اطرافیان. حس کردم انگاری از این دنیاها زیاد هست. هر کسی برای خودش تو یه عالم دیگه و یه فاز دیگس که با بقیه فرق داره.تصورات و بینش ما دنیایی که توش هستیمو میسازه. شاید دنیایی که برای من مثل بهشت میمونه برای یکی دیگه جهنمه.تصوراتی که یک بچه داره با تصورات ما متفاوته و شاید بچه ها درک دیگه ای از زندگی دارن که با ما متفاوته. برای اونا دنیایی وجود داره که تو شبش پر هیولاس و هراس آوره ولی برای خیلی از ماها شب دوست داشتنیه.شاید بخاطر همینه که قبول کردن خیلی چیزا برای کسی که بینش و نگرش شکل گرفته یا به عبارتی دنیایی که توش زندگی میکنه رو ساخته، سخته.یکی بود که میگفت تو این دنیا چیز real وجود نداره! خب نور حدود 8 دقیقه طول میکشه که از خورشید به ما برسه. شاید تو این 8 دقیقه خورشید نابود شده باشه، پس این لحظه ای که من دارم نور و گرمای خورشیدو حس میکنم شاید اصلا خورشیدی وجود نداشته باشه. یا اون ستاره ای که تو آسمون دارم میبینم تصویری از میلیون ها سال پیششه که تازه الان داره به ما میرسه، شاید اون ستاره الان اصلا وجود نداشته باشه.صوت هر چقدر با سرعت برسه و نور هر چه سریع باشه ، وقتی دو نفر دارن با هم حرف میزنن یک مکث در حد اپسیلون داره که داره ازش به ما میرسه پس ما در ذهنمون یه تصور داریم که real time نیست. یه روز برای یه پروانه یه عمره که باید توش رشد کنه و جفتشو پیدا کنه و برای ما چند ساعته.خلاصه هر چیزی نسبت به اون چیز دیگه یه قانون نسبیتی برای خودش دارم و همه داریم با تصوراتمون توی یه دنیای پر وقایع نسبی زندگی میکنم و چیزی که میتونه ما رو کنار هم قرار بده تصورات و ادراک و تفاهمه.تفاهم. بله درک صحیح تفاوتها و نگرشها و احترام به اونها</description>
                <category>رضا قادریان</category>
                <author>رضا قادریان</author>
                <pubDate>Fri, 14 Jul 2023 18:03:53 +0330</pubDate>
            </item>
                    <item>
                <title>Take a nap</title>
                <link>https://virgool.io/@sr.ghaderian/take-a-nap-cf3sg93n1y9a</link>
                <description>چرتآخ که خواب بعد از ظهر میچسبه. شما هم موافقید؟آره واقعا مچسبه. ولی زیادش باعث از دست رفتن زمان میشه، زمانی که میشه خیلی از کارا رو انجام داد.خود منم جزء اون دسته افرادی هستم که حتما باید بعد از ظهر یه خوابی بزنم.یه زمانی حداقل یه ساعت میخابیدم و به زور بیدار میشدم تازه بعدشم نمیدونم چرا اصلا حال نداشتم و اگه یه وقتی زودتر از یه ساعت از خواب بیدار میشدم سردرد میشدم و اعصابم خورد که چرا کم خوابیدم. ولی از یه جایی به بعد(بعد از رفتن سرکار )فهمیدم، باید یه جوری این عادتو از خودم دور کنم.یه بنده خدایی از همکارام میگفت اصلا نباید ظهر خوابید یا یه چرت کوتاه کافیه، و یکی دیگه از دوستام میگفت: این طرز خوابیدن عمیق سر ظهر بیشتر عادت ما ایرانیاس وگرنه خارجیا اینجوری نیستن نهایتا یه چرتی میزنن یا همون Take a nap.برای من که کمتر از یه ساعت سر ظهر نمیخابیدم عجیب بود.القصه تصمیم گرفتن برم تو کارش ببینم میشه یا نه.اولا خیلی برام سخت بود ولی خودمو مکلف کردم خوابمو کم کنم.به طور اتفاقی کتاب &quot;عادت های اتمی&quot; رو برای اینجور عادت های ریز خوندم و دیدم واقعا میشه با انجام یه سری کارای ریزی که اصلا به چشم نمیان و تکرار مقرر اونا به یه سری نتایج بزرگ رسید.برای من در حد همین تغییر زمان خواب جواب داده و میدونم هر تغییر بزرگی رو میشه با تغییر همین چیزای کوچیک و تکرار اونا و موظف کردن خودمون بهشون، انجام داد.خب این کارو انجام دادم و کم کم خوابم کم شد تا حدی که اکثر اوقات یه چرت برام کافیه . هرچند باید چرته رو بزنم تا انرژی داشته باشم، و ظاهرا یه خواب کوتاه دو طول روز و مخصوصا قیلوله توصیه هم شده که میتونه تو سلامت و شادابی هم تاثیر مثبت داشته باشد ولی زیادشم بده و اثرات منفی داره.</description>
                <category>رضا قادریان</category>
                <author>رضا قادریان</author>
                <pubDate>Sat, 20 May 2023 21:31:18 +0330</pubDate>
            </item>
                    <item>
                <title>برنامه نویسی اندروید و دسکتاپ با پایتون</title>
                <link>https://virgool.io/@sr.ghaderian/%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%A7%D9%86%D8%AF%D8%B1%D9%88%DB%8C%D8%AF-%D9%88-%D8%AF%D8%B3%DA%A9%D8%AA%D8%A7%D9%BE-%D8%A8%D8%A7-%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86-aku1zwvd7kwg</link>
                <description>kivy vs pyqtپایتون یه زبان برنامه نویسی بسیار قدرتمنده که توانایی های بالایی برای پردازش داده، داره.مفسری بودن این زبان این قدرت رو ایجاد کرده که با اون بشه برای پلتفرمهای مختلف مثل اندروید، ای او ای، لینوکس و ویندوز برناه نوشت و خروجی گرفت که به خاطر همین یک زبان برنامه نویسی مالتی پلتفرم شناخته میشه.برای نوشتن برنامه برای سیستم عامل های مختلف ابزارهای مختلفی برای پایتون هست که مشهورترینشون Kivy  , QT هست.خب توی این پست نمیخام خیلی وارد جزئیات قضیه بشم، ولی به عنوان یه مختصر تجربیاتی که با این دو تا ابزار داشتم ، خواستم یه اطلاعات جزئی بدم.خب QT یا بهتر بگم ابزار پایتونش به نام PyQT و Kivy یه سری مزایا و معایب دارن.به نظر من اولاگه میخاید با پایتون برای اندروید برنامه نویسی کنید  kivy میتونه بهتر باشه و بهتره توی از سیستم عامل لینوکس برنامه نویسی کنید.ابزار kivy و kivyMD ( برای متریال دیزاین) رو به راحتی میتونید به یه جستجو ساده توی اینترنت نصب کنید. kivy برای طراحی اینترفیس از یه زبان kv استفاده میکنه که قابلیت  های خوبی داره اما جای یک ابزار دیزاینر گرافیکی برای اون واقعا خالیه. هرچند الان یه پروژه برای این کار در حال انجام و خروجی دادنه ولی تا این لحظه فعلا رلیز رسمی نداده. در نبود چنین ابزاری باید دستی کار طراحی باهاش رو انجام بدین که یه مقدار کارو سخت میکنه. البته توی VS code میتونید یه پلاگین برای این کار نصب کنید ولی بازم جای ضعف داره. بنابراین فعلا باید در نبود یه code highliter و ابزار مناسب به صورت کاملا بصری و با روش اجرا و تصحیح کار طراحیتونو انجام بدین.کیوی هر چند مالتی پلتفرمه ولی خروجیایی که میده و ابزارایی که داره معلومه که نگاه طراحاش بیشتر روی اندروید بوده و خروجی دلچسب دسکتاپ نمیده.برای ایجاد فایل apk هم باشد از ابزار Builozer استفاده کنید که فعلا روی ویندوز اجرا نمیشه. برای همین بهتره از لینوکس استفاده کنید یا توی ویندوز کد بزنید و برای گرفتن خروجی مناسب اندروید برید سراغ لینوکس.اما اگه هدفتون نوشتن برنامه مناسب ویندوزه پیشنهاد من QT هست. برخلاف کیوی، کیوت به ابزار دیزاینر داره به صورت گرافیکی میتونید طراحیتونو انجام بدین و بعد با یه دستور ساده خروجی مناسب پایتونشو ایجاد کنید. البته ابزار QT نسخه های دیگه هم داره که بعضا پولی هستند و مانند اون چیزی که توی دمو های دیدم میشه طراحی های بسیار شکیلی باهاش انجام داد که مناسب هر سیستم عاملی میتونه باشه.البته یکی از تجربه های من با QT ، نحوه فایر کردن event ها یه Signal , slot ها توی اونه که باید خیلی دقت کنید اونم به خاطر اینه که اگه حواستون نباشه و تغییر توی دیزاین بدین و خروجی بگیرید اگه چیزی به صورت دستی توی فایل قبلیتون  نوشته باشید، مثلا یه فانکشن، پاک میشه.</description>
                <category>رضا قادریان</category>
                <author>رضا قادریان</author>
                <pubDate>Tue, 09 May 2023 18:01:26 +0330</pubDate>
            </item>
                    <item>
                <title>نصب پایتون روی هاست</title>
                <link>https://virgool.io/hamyarai/%D9%86%D8%B5%D8%A8-%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86-%D8%B1%D9%88%DB%8C-%D9%87%D8%A7%D8%B3%D8%AA-wnhtsexxb2nm</link>
                <description>پایتون و سی پنلقابلیت ها و قدرت بالای پردازشی پایتون اونو یکی از محبوبترین زبان های برنامه نویسی تبدیل کرده و پلتفرم های محبوب مبتنی بر پایتون مثل جنگو و فلسک و علاوه بر اون وجود کتابخانه های فراوان در زمینه های مختلف از جمله کتابخانه های هوش مصنوعی این زبان برنامه نویسی رو به یکی از محبوبترین ها تبدیل کرده.نصب و استفاده از پایتون روی سیستم شخصی بسیار راحت است اما وقتی صحبت از هاست میشه قضیه یکم فرق میکنه.اگه برای پیاده سازی پایتون از سرور اختصاصی استفاده میکنید که دستتون بازه اما در مورد هاست های اشتراکی قضیه فرق میکنه.بسیاز از افرادی که در ابتدای کارن و هنوز مشغول به توسعه و تست هستند ، به جهت هزینه های بالای هاست های اختصاصی و مجازی ، در ابتدا تمایل به استفاده از هاست های اشتراکی هستند. پس قبل از خرید هاست به قابلیت های اون دقت کنید که حتما از پایتون پشتیبانی می کند ، در غیر این صورت چنانچه سرویس دهنده شما از این قابلیت پشتیبانی نمیکند قادر به پیاده سازی و اجرای برنامه مبتنی بر پایتون خود نخواهید بود.توصیه میشه از هاستی استفاده کنید که قابلیت ترمینال نیز داشته باشه هرچند از ssh هم میتونید استفاده کنید. حالا اگر هاست شما از پایتون پشتبانی میکند میتونید با خیال راحت به پیاده سازی و اجرای برنامه خود بپردازید.اگر سرویس دهنده شما از سیپنل به عنوان کنترل پنل استفاده می کند میتوانید نسبت به نصب پایتون روی هاست اقدام کنید.نحوه نصب پایتون روی هاست چند قدم کوتاه داره که به راحتی میتونین این کار رو انجام بدید.در اینجا نصب پایتون رو هاست اشتراکی با سی پنل به صورت کامل توضیح داده شده است که میتونید ازش استفاده کنید.</description>
                <category>رضا قادریان</category>
                <author>رضا قادریان</author>
                <pubDate>Sat, 14 Jan 2023 10:22:34 +0330</pubDate>
            </item>
                    <item>
                <title>این هسته اون هسته نیست</title>
                <link>https://virgool.io/hamyarai/%D8%A7%DB%8C%D9%86-%D9%87%D8%B3%D8%AA%D9%87-%D8%A7%D9%88%D9%86-%D9%87%D8%B3%D8%AA%D9%87-%D9%86%DB%8C%D8%B3%D8%AA-yyrt05sdrhwv</link>
                <description>cuda coresاگر با کارت گرافیک GeForce کار کرده باشید احتمالا عبارت CUDA به چشمتون خورده . اما مفهوم اون چیه؟هسته های CUDA چی هستن؟ِکودا مخفف  Compute Unified Device Architecture هست. این هسته‌های پردازنده‌های گرافیکی انویدیا معادل  با هسته‌های CPU هستند که برای انجام محاسبات همزمان طراحی شده‌اند، که وقتی یک بازی گرافیکی یا برنامه پردازشی سنگین مانند برنامه های پردازش تصویر را انجام می‌دهید بسیار مهم است.یک CUDA Core بسیار شبیه به یک CPU Core است.هرچند یک هسته کودا به اندازه یه هسته cpu توسعه نیافته است اما به تعداد بالا قابل پیاده سازی هستند.برای انجام یک بازی با CPU استاندارد از حداکثر 16 هسته میتوانید استفاده کنید، در حالی که هسته‌های CUDA به راحتی می‌توانند به صدها هسته مورد استفاده قرار گیرند.هسته های CUDA میتوانند به هزاران عدد برسند که هدف انها انجام محاسبات موازی کارآمد و سریع است  که به این معنی است که داده‌های بیشتری را می‌توان به صورت موازی پردازش کرد.هسته‌های CUDA فقط در پردازنده‌های گرافیکی Nvidia از سری G8X به بعد، از جمله GeForce، Quadro و Telsa یافت می‌شوند. با اکثر سیستم عامل ها سازگار است.قابل ذکر است که AMD نیز فناوری خاص خود را دارد، یعنی پردازنده های جریانی (Stream Processor). در حالی که از نظر معماری و طراحی متفاوت هستند اما هر دو CUDA و Stream Processor به یک چیز دست می یابند، و هیچ مزیت بزرگی برای هر دو فناوری در مورد عملکرد یا کیفیت گرافیک وجود ندارد.اهمیت CUDAمی دانیم که CPU مغز رایانه است، کل رایانه را کنترل می کند و طبق دستورالعمل های نرم افزاری که روی رایانه اجرا می شود به اجزای رایانه می گوید که چه کاری انجام دهند.به همین صورت GPU در رایانه شخصی برای ایجاد تصاویر روی صفحه، از منوی شروع به کار گرفته تا صحنه نهایی در یک بازی استفاده می شود. پردازش گرافیکی به محاسبات پیچیده زیادی نیاز دارد، به همین دلیل است که بسیاری از هسته‌های CUDA در پردازنده‌های گرافیکی تعبیه می‌شوند، زیرا به اجرای روان همه چیز کمک می‌کنند.بعلاوه، هسته‌های CUDA می‌توانند در اندازه‌های بسیار کوچک‌تری نسبت به هسته‌های CPU عرضه شوند، زیرا آنها به‌طور خاص برای این منظور بهینه‌سازی شده‌اند، که اجازه می‌دهد حتی تعداد بیشتری را در رایانه شخصی قرار دهید.به چه تعداد هسته CUDA نیاز دارید؟پیش بینی نوع عملکردی که از یک قطعه سخت افزاری به دست می آورید دشوار است حتی اگر مشخصات دقیق آن را بدانید، به همین دلیل است که توصیه تعداد مجموعه ای از هسته های CUDA دشوار است. سایر اجزای رایانه نیز بر عملکرد تأثیر می گذارند، مانند ظرفیت VRAM و نوع CPU رایانه شما.با این وجود benchmark هایی وجود دارند که میتوانند راهنمایی های لازم را برای شما انجام دهند و با توجه به نیاز پردازشی و بودجه مالی بهترین پیشنهادات را برای شما فراهم آورند.</description>
                <category>رضا قادریان</category>
                <author>رضا قادریان</author>
                <pubDate>Mon, 12 Dec 2022 21:22:29 +0330</pubDate>
            </item>
                    <item>
                <title>پای پای</title>
                <link>https://virgool.io/hamyarai/%D9%BE%D8%A7%DB%8C-%D9%BE%D8%A7%DB%8C-nczlldjnsmhb</link>
                <description>پای پایپای پای جایگزینی برای مفسر پایتون است که چندین برابر سریع‌تر است.پایتون قدرتمند، منعطف بوده و کار کردن با آن آسان است، به همین دلیل در طیف گسترده ای از برنامه ها و کاربردها از تجاری تا مسائل پیشرفته هوش مصنوعی مورد استفاده قرار گرفته و این روند رو به رشد است. اما ماهیت طراحی این زبان به دلیل مفسری بودن و دینامیک زمان اجرا موجب شده پایتون همیشه نسبت به زبان‌های بومی ماشین مانند C یا C++ کندتر باشد.در طول سال‌ها، توسعه‌دهندگان راه‌حل‌های مختلفی را برای محدودیت‌های سرعت پایتون ارائه کرده‌اند. به عنوان مثال، می توانید وظایف پرفورمنس را در C بنویسید و آن را با پایتون اجرا کنید. بسیاری از کتابخانه های یادگیری ماشین دقیقاً این کار را انجام می دهند. یا می‌توانید از Cython استفاده کنید، پروژه‌ای که به شما امکان می‌دهد اطلاعات زمان اجرا را به کد پایتون اضافه کرده و آن را در C کامپایل کنید.اما همه راه‌حل‌ها همیشه ایده‌آل نیستند. آیا عالی نیست اگر بتوانیم یک برنامه پایتون موجود را همانطور که هست بگیریم و آن را به طرز چشمگیری سریعتر اجرا کنیم؟ این دقیقاً همان چیزی است که PyPy به شما اجازه می دهد.pypyپای پای چگونه کار میکند؟پای پای از تکنیک های بهینه سازی موجود در سایر کامپایلرها استفاده می کند. برنامه‌های در حال اجرا پایتون را تجزیه و تحلیل می‌کند تا نوع اطلاعات اشیاء را هنگام ایجاد و استفاده در برنامه‌ها مشخص کند، سپس از آن اطلاعات  به عنوان راهنمایی برای سرعت بخشیدن استفاده می‌کند. به عنوان مثال، اگر یک تابع پایتون تنها با یک یا دو نوع شی متفاوت کار کند، پای پای کد ماشین را برای رسیدگی به آن موارد خاص تولید می کند.بهینه سازی های پای پای به طور خودکار در زمان اجرا انجام می شود، بنابراین شما معمولاً نیازی به تغییر عملکرد آن ندارید. یک کاربر حرفه ای ممکن است گزینه‌های خط فرمان پای پای را برای تولید کد سریع‌تر برای موارد خاص آزمایش کند، اما به ندرت این امر ضروری است.به دلیل نوع مدیریت حافظه متفاوتی که پای پای نسبت به سایتون دارد نیاز به فضای حافظه بیشتری داشته باشد اما همچنان می‌توانید از کنترل‌های سطح بالای جمع‌آوری زباله پایتون که از طریق ماژول gc در دسترس قرار گرفته‌اند، مانند gc.enable، gc.disable و gc.collect استفاده کنید</description>
                <category>رضا قادریان</category>
                <author>رضا قادریان</author>
                <pubDate>Mon, 28 Nov 2022 20:23:03 +0330</pubDate>
            </item>
                    <item>
                <title>اندر خم join زدن با پایتون</title>
                <link>https://virgool.io/hamyarai/%D8%A7%D9%86%D8%AF%D8%B1-%D8%AE%D9%85-join-%D8%B2%D8%AF%D9%86-%D8%A8%D8%A7-%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86-gzv9ajkxx5pg</link>
                <description>بی شک پایتون یک زبان برنامه نویسی بسیار قدرتمند در زمینه کار با داده و پردازش است. اما در زمینه کار با دیتابیس چه طور؟بعضیا میگن پایتون یا بهتر بگیم فریمورک جنگو تو زمینه کار با دیتابیس یا همون پایگاه داده ها یه ضعفایی داره یا مثل بقیه فریمورکا مثل لاراول نیست. قضیه اینه که توی join زدن جداول با ORM  جنگو شاید یه چیزایی رو احساس کنید.وقتی با جنگو بخاید بین جداول join  بزنید برای اینکه کارتون راحت باشه باید حتما relation های جداول رو توی مدل خودتون معرفی و پیاده سازی کرده باشید. در این صورت کار خیلی راحته و با یک سری جادو!! خود ORM بین جداول join  میزنه و به راحتی میتونین فیلدای مورد نظرتونو انتخاب کنید.اما  اگه ارتباطات رو تعریف نکرده باشید کار یه خورده سخت میشه.برای حل این مشکل باید به روشهای دیگه متوسل بشین. مثل استفاده از دستورexcecut در connection.cursor  برای نوشتن کوئری خام یا دستور objects.extra استفاده کنید.اما یه راه دیگم هست و اون استفاده از کتابخانه pandas هست.میتونید کوئری های مختلفتون رو به صورت انفرادی  اجرا کنید و دادهایی رو که به صورت queryset  به دست میارید رو به dataframe تبدیل کنید. حالا میتونید از امکانات merge ،  join  ، concat و ... که در کتابخانه قدرتمند pandas وجود داره استفاده کنید و به ساختار و خروجی مورد نظرتون برسید.</description>
                <category>رضا قادریان</category>
                <author>رضا قادریان</author>
                <pubDate>Sun, 20 Nov 2022 22:42:49 +0330</pubDate>
            </item>
                    <item>
                <title>دستور with  در پایتون</title>
                <link>https://virgool.io/hamyarai/%D8%AF%D8%B3%D8%AA%D9%88%D8%B1-with-%D8%AF%D8%B1-%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86-n2ubmfjhqaqr</link>
                <description>دستور with در پایتون یک ابزار کاملا مفید برای مدیریت صحیح منابع خارجی در برنامه هاست و به شما این امکان را فراهم می آورد که به راحتی بتوانید منابع خارجی مانند فایل ها را مدیریت کنید.مدیریت صحیح منابع اغلب یک مشکل پیچیده است. هم به مرحله راه اندازی و هم به مرحله حذف نیاز دارد. مرحله آخر شما را ملزم به انجام برخی اقدامات پاکسازی می‌کند، مانند بستن یک فایل، آزاد کردن قفل یا بستن اتصال شبکه. اگر فراموش کردید که این اقدامات پاکسازی را انجام دهید، برنامه شما منبع را زنده نگه می دارد. این ممکن است منابع ارزشمند سیستم مانند حافظه و پهنای باند شبکه را به خطر بیندازد.به عنوان مثال، یک مشکل رایج که می تواند هنگام کار توسعه دهندگان با پایگاه های داده ایجاد شود، زمانی است که یک برنامه به ایجاد اتصالات جدید بدون انتشار یا استفاده مجدد از آنها ادامه می دهد. در این صورت، پایگاه داده پشتیبان می‌تواند پذیرش اتصالات جدید را متوقف کند. این ممکن است نیاز به یک ادمین داشته باشد که وارد سیستم شود و به صورت دستی آن اتصالات قدیمی را از بین ببرد تا پایگاه داده دوباره قابل استفاده باشد.یکی دیگر از مشکلات رایج زمانی که توسعه دهندگان با فایل ها کار می کنند ظاهر می شود. نوشتن متن روی فایل ها معمولاً یک عملیات بافر است. این بدان معنی است که فراخوانی write روی یک فایل بلافاصله منجر به نوشتن متن در فایل فیزیکی نمی شود، بلکه به یک بافر موقت منجر می شود. گاهی اوقات، زمانی که بافر پر نیست و توسعه دهندگان فراموش می کنند که close را فراخوانی کنند، بخشی از داده ها برای همیشه از بین می روند.file = open(&amp;quothello.txt&amp;quot, &amp;quotw&amp;quot)file.write(&amp;quotHello, World!&amp;quot)file.close()دستور with در پایتون این امکان را فراهم می آورد که به راحتی بتوانید گروهی از منابع مورد نیاز خود را به یک کنترل کننده منابع سپرده و آن ها را مدیریت کنید. در مقایسه با ساختارهای سنتی try … finally، دستور with می تواند کد شما را واضح تر، ایمن تر و قابل استفاده مجدد کند. بسیاری از کلاس ها در کتابخانه استاندارد از دستور with پشتیبانی می کنند. یک نمونه از آن open() است که به شما امکان می دهد بتوانید با فایل ها کار کنید. و ساختار آن به صورت زیر است:with expression as target_var:do_something(target_var)احتمال دیگر این است که برنامه شما با خطاها یا استثناهایی مواجه شود که باعث می شود جریان کنترل از کدی که مسئول انتشار منبع موجود است دور بزند. در اینجا مثالی وجود دارد که در آن از open() برای نوشتن متنی در یک فایل استفاده می‌کنید:with open(&#039;hello.txt&#039;, &#039;w&#039;) as f:f.write(&#039;hello, world!&#039;استفاده از دستور with تضمین می‌کند که توصیف‌کننده‌های فایلی که باز شده است به‌طور خودکار پس از خروج برنامه از متن دستور with بسته شوند.به مثال زیر توجه کنید:with open(&amp;quothello.txt&amp;quot, mode=&amp;quotw&amp;quot) as file:file.write(&amp;quotHello, World!&amp;quot)دستور with می تواند کدی را که با منابع سیستم سروکار دارد خواناتر کند. همچنین به شما کمک می‌کند تا از اشکالات یا باگ جلوگیری کنید، زیرا فراموش کردن پاکسازی یا بستن یک منبع در زمانی که دیگر به آن نیازی نیست، غیرممکن می‌شود.</description>
                <category>رضا قادریان</category>
                <author>رضا قادریان</author>
                <pubDate>Mon, 07 Nov 2022 19:31:35 +0330</pubDate>
            </item>
                    <item>
                <title>کاربرد Assert در پایتون</title>
                <link>https://virgool.io/hamyarai/%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D8%AF-assert-%D8%AF%D8%B1-%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86-npikcux5azgn</link>
                <description>استفاده از دستور Assert باعث میشود کدها دقیقتری بزنید. به این قبیل از بررسی ها assertion میگویند، و با استفاده از آن میتوانید مطمئن باشید که فرضیه یا شرایطی که در نظر گرفته اید تا زمانیکه در حال توسعه کدهای خود هستید همواره برقرار است، اگر یک از این فرضیه های نقض شود میتوانید مطمئن باشید که کدهای شما دارای باگ است.Assert ابزاری مناسب برای مستندسازی، اشکال زدایی و آزمایش کد در طول توسعه هستند. هنگامی که کد خود را با کمک Assert اشکال زدایی و آزمایش کردید، می توانید آنها را خاموش کنید تا کد را بهینه کنید. Assertion به شما کمک می کند کد خود را کارآمدتر، قوی تر و قابل اعتمادتر کنید.ساختار Assert به صورت زیر است:assertexpression[,assertion_message]استفاده از Assert عمدتا برای زمان دیباگ است تا بتوانید با استفاده از آن باگ های برنامه را شناسایی و رفع کنید.زمانیکه باگی در برنامه به وقوع می پیوندد میتوان به وسیله هشداری وقوع آن را اطلاع داد.در چه موقعی نباید از Assert استفاده کرد؟به طور کلی، شما نباید از Assert , وبرای پردازش داده یا اعتبارسنجی داده استفاده کنید، زیرا می توانید آنها را در کد نهایی خود غیرفعال کنید، که در نهایت تمام کد پردازش و اعتبارسنجی مبتنی بر Assert ,شما حذف می شود. استفاده از Assert برای پردازش و اعتبار سنجی داده ها یک دام رایج است.از طرفی Assert جایگزینی برای try… catch و خطایابی نیست. هدف از آنها کنترل خطا در هنگام اجرای برنامه نیست بلکه هدف اصلی آنها اطلاع رسانی به شما جهت رفع خطا در هنگام توسعه برنامه است.</description>
                <category>رضا قادریان</category>
                <author>رضا قادریان</author>
                <pubDate>Mon, 10 Oct 2022 21:38:27 +0330</pubDate>
            </item>
            </channel>
</rss>