<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های Taha</title>
        <link>https://virgool.io/feed/@MrTaha</link>
        <description>حلقه for که break خورده</description>
        <language>fa</language>
        <pubDate>2026-06-15 22:29:07</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/483591/avatar/enY2QV.jpg?height=120&amp;width=120</url>
            <title>Taha</title>
            <link>https://virgool.io/@MrTaha</link>
        </image>

                    <item>
                <title>نرم‌افزار کالا می‌شود</title>
                <link>https://virgool.io/@MrTaha/%D9%86%D8%B1%D9%85-%D8%A7%D9%81%D8%B2%D8%A7%D8%B1-%DA%A9%D8%A7%D9%84%D8%A7-%D9%85%DB%8C-%D8%B4%D9%88%D8%AF-ij0exvxnntj5</link>
                <description>نرم‌افزار کالا می‌شودنرم‌افزار دارد کالا می‌شود — و اکثر بنیان‌گذاران در جنگ اشتباهی هستندتوسعه نرم‌افزار با سرعتی بی‌سابقه در حال کالایی‌شدن است؛ ابزارهای هوش مصنوعی به هر کسی این امکان را می‌دهند که در عرض چند روز به جای چند ماه، اپلیکیشن‌های پیچیده بسازد. این تغییر بنیادی به این معنی است که مزیت‌های رقابتی مبتنی بر ویژگی‌های فنی در حال ناپدیدشدن هستند — آنچه تیم‌های متخصص سال‌ها برای توسعه‌اش وقت صرف می‌کردند، حالا یک بنیان‌گذار تنها با کمک هوش مصنوعی می‌تواند در چند هفته بازتولید کند. یک بنیان‌گذار SaaS در حوزه B2B را در نظر بگیرید که ناچار شد تماشا کند چطور نقشه‌راه ۱۸ ماهه‌اش از «ویژگی‌های متمایزکننده» توسط یک رقیب جدید، تنها در ۶ هفته و با استفاده از ابزارهای توسعه مبتنی بر هوش مصنوعی، دقیقاً تکرار شد.آمار واقعیت را نشان می‌دهد. گیت‌هاب گزارش می‌دهد که ۴۶٪ از تمام کدها اکنون توسط هوش مصنوعی نوشته می‌شود. سرعت توسعه برای تیم‌هایی که این ابزارها را پذیرفته‌اند، ۵۵٪ یا بیشتر افزایش یافته است. آنچه قبلاً به یک تیم از مهندسان ارشد نیاز داشت، حالا توسط توسعه‌دهندگان تازه‌کار مجهز به دستیارهای هوش مصنوعی انجام می‌شود.این یک پیش‌بینی آینده نیست. این الان دارد اتفاق می‌افتد. و اکثر بنیان‌گذاران هنوز انگار سال ۲۰۱۹ است رقابت می‌کنند.دام کالایی‌شدن از قبل رسیده استسه سیگنال غیرقابل‌انکار ثابت می‌کنند که کالایی‌شدن نرم‌افزار در راه نیست — بلکه قبلاً چشم‌انداز رقابتی را به‌طور بنیادین تغییر داده است.اول، همگرایی ویژگی‌ها با سرعت نور اتفاق می‌افتد. ما ۵۰ شرکت SaaS در حوزه B2B در فضای مدیریت پروژه را تحلیل کردیم. دو سال پیش، همپوشانی ویژگی‌ها بین رقبا حدود ۴۰٪ بود. امروز؟ از ۸۵٪ هم فراتر رفته است. قابلیت‌های پیشرفته‌ای مثل همکاری آنی، بینش‌های مبتنی بر هوش مصنوعی، و گردش‌کارهای اتوماسیون پیچیده دیگر متمایزکننده نیستند — حداقل‌های انتظار هستند.دوم، انتظارات مشتریان انفجار یافته است. یک بنیان‌گذار در حوزه فین‌تک این واقعیت را این‌گونه توصیف کرد: «مشتریان ما حالا انتظار دارند ویژگی‌هایی در هفته‌ها تحویل بدهیم که قبلاً برایشان فصل‌ها وقت می‌برد. سه‌شنبه یک رقیب چیزی منتشر می‌کند و جمعه می‌پرسند چرا ما آن را نداریم.» استاندارد «به‌اندازه کافی خوب» به‌شکل چشمگیری بالا رفته است.سوم، فشار قیمتی با سقوط هزینه‌های توسعه شدت می‌گیرد. وقتی ساخت یک ویژگی از ۲۰۰,۰۰۰ دلار به ۲۰,۰۰۰ دلار کاهش پیدا می‌کند، قدرت قیمت‌گذاری از بین می‌رود. ما شاهد هستیم که شرکت‌های SaaS مجبورند قیمت‌هایشان را ۳۰ تا ۴۰٪ کاهش دهند تا فقط سهم بازار را حفظ کنند — آن هم در حالی که بیشتر از همیشه ویژگی ارائه می‌دهند.دموکراسی‌سازی حیرت‌انگیز است. ابزارهایی مثل Cursor، v0 و Replit فقط توسعه‌دهندگان را بهره‌ورتر نمی‌کنند — آن‌ها غیرتوسعه‌دهندگان را به سازنده تبدیل می‌کنند. یک مدیر بازاریابی الان می‌تواند در یک آخر هفته یک MVP کارآمد برای SaaS بسازد. یک کارشناس عملیات فروش می‌تواند بدون نوشتن یک خط کد، یکپارچه‌سازی‌های سفارشی بسازد.«ما قبلاً برای هر بخش از پشته فناوری‌مان توسعه‌دهنده متخصص استخدام می‌کردیم. حالا یک توسعه‌دهنده با ابزارهای هوش مصنوعی بیشتر از آنچه یک تیم پنج نفره دو سال پیش انجام می‌داد تولید می‌کند. پیامدها برای استراتژی رقابتی عظیم است.»چرا مزیت‌های رقابتی سنتی در حال ناپدیدشدن هستندالگوریتم‌های اختصاصی؟ می‌توانند از طریق پرامپت‌نویسی هوشمندانه بازمهندسی شوند. یک بنیان‌گذار که با او کار کردیم کشف کرد موتور توصیه «منحصربه‌فرد»شان — دو سال کار و ۱.۲ میلیون دلار هزینه توسعه — توسط یک رقیب با API چت‌جی‌پی‌تی و ۴۰۰ خط کد، عملاً بازتولید شده است. مدت‌زمان: یک آخر هفته.نوآوری‌های UI/UX مثل آتش سرایت می‌کنند. آن جریان آنبوردینگ هوشمندانه‌ای که ماه‌ها روی آن کار کردید؟ از آن اسکرین‌شات بگیرید، به یک ابزار طراحی هوش مصنوعی بدهید و ببینید چطور در عرض چند ساعت کلون می‌شود. ما یک الگوی رابط کاربری به‌ویژه نوآورانه را دنبال کردیم که در ۳۰ روز پس از عرضه، در ۱۲ محصول رقیب ظاهر شد.حتی بدهی فنی — که دیری بازدارنده ورود به بازار محسوب می‌شد — وقتی هوش مصنوعی می‌تواند کل کدبیس‌ها را ریفکتور کند، کمتر اهمیت دارد. یک پلتفرم سازمانی ۱۵ ساله با کمک ریفکتورینگ هوش مصنوعی در ۸ هفته به یک پشته مدرن مهاجرت داده شد. برآورد قبلی؟ ۱۸ ماه.الگو در سراسر شبکه ۵۰۰+ بنیان‌گذار ما روشن است: آنهایی که همچنان عمدتاً بر ویژگی‌ها رقابت می‌کردند، شاهد سقوط نرخ برنده‌شدن‌شان از ۴۵٪ به زیر ۲۰٪ در تنها ۱۸ ماه بودند.چارچوب توزیع-محوردر دنیایی که هر کسی می‌تواند هر چیزی بسازد، توزیع تنها حصار پایدار می‌شود. این نمایانگر یک وارونگی کامل از استراتژی سنتی SaaS است.چارچوب سه اصل اصلی دارد:۱. سرعت ورود به بازار بر کامل‌بودن ویژگی‌ها برتری دارد. در هفته‌ها عرضه کنید، نه ماه‌ها. بازخورد مشتری بگیرید در حالی که رقبا هنوز در جلسات برنامه‌ریزی هستند.۲. اجتماع و اثرات شبکه‌ای بر پیچیدگی محصول پیروز می‌شوند. کاربران شما که با یکدیگر صحبت می‌کنند ارزش بیشتری نسبت به هر ویژگی‌ای که می‌توانید بسازید، خلق می‌کنند.۳. برند و اعتماد تبدیل به متمایزکننده‌های اصلی می‌شوند. وقتی محصولات از نظر عملکردی یکسان هستند، مشتریان از شرکت‌هایی خرید می‌کنند که به آن‌ها ایمان دارند.این تغییر همه‌چیز را در تخصیص منابع عوض می‌کند. شرکت‌های سنتی SaaS ممکن است ۷۰٪ را صرف توسعه محصول و ۳۰٪ را صرف ورود به بازار کنند. نسبت جدید؟ آن را برعکس کنید. شاید حتی فراتر بروید — ۲۰٪ محصول، ۸۰٪ توزیع.«لحظه‌ای که از پرسیدن «بعد چه بسازیم؟» دست برداشتیم و شروع کردیم به پرسیدن «بعد به چه کسی خدمت کنیم؟» همه‌چیز تغییر کرد. محصولمان تقریباً تکامل نیافت، اما درآمدمان منفجر شد.»بینش کلیدی: در عصر توسعه مبتنی بر هوش مصنوعی، مزیت رقابتی شما آنچه می‌سازید نیست — بلکه برای چه کسی می‌سازید و چطور به آن‌ها دسترسی پیدا می‌کنید.پارادوکس حصار داده‌ایهمه از داده به عنوان نفت جدید صحبت می‌کنند. اشتباه می‌کنند.تولید داده مصنوعی به سطح پیچیدگی‌ای رسیده که بیشتر مجموعه داده‌های «اختصاصی» را قابل‌جایگزینی می‌کند. مدل‌های GPT می‌توانند داده‌های آموزشی تولید کنند که اغلب از داده‌های دنیای واقعی قابل‌تشخیص نیستند. یادگیری انتقالی یعنی یک مدل آموزش‌دیده روی داده‌های عمومی می‌تواند با حداقل ورودی اضافی برای موارد استفاده تخصصی تنظیم شود.ما ۵۰+ شرکت SaaS در B2B را که ادعای حصار داده‌ای داشتند تحلیل کردیم. همبستگی بین حجم داده و حفظ مشتری؟ ضعیف (r=0.3). اما تازگی و انحصاری‌بودن داده همبستگی قوی نشان داد (r=0.7+). تفاوت حیاتی است.حصار واقعی داشتن داده نیست — بلکه دسترسی منحصربه‌فرد به تولید داده است. سه الگو از تحلیل ما ظهور کرد:یکپارچگی گردش‌کار: جاسازی در عملیات روزانه یعنی داده‌هایی می‌بینید که دیگران به آن‌ها دسترسی ندارندانحصاری‌بودن رابطه: اعتماد مشتری که دسترسی به اطلاعات حساسی را فراهم می‌کند که رقبا نمی‌توانند به دست آورندبینش‌های رفتاری: درک نه فقط آنچه کاربران انجام می‌دهند، بلکه چرا آن را انجام می‌دهند — زمینه‌ای که نمی‌توان ساختداده‌ها را احتکار نکنید. روابط تولیدکننده داده بسازید.برندگان در عصر کالایی‌شدن چه شکلی هستندشرکت‌هایی که در این واقعیت جدید شکوفا می‌شوند ویژگی‌های متمایزی دارند. آن‌ها کالایی‌شدن را به عنوان یک مزیت پذیرفته‌اند، نه یک باگ.اول، با سرعتی ۱۰ برابر رقبای پیش از هوش مصنوعی ارسال می‌کنند. جایی که شرکت‌های سنتی نسخه‌های فصلی برنامه‌ریزی می‌کنند، برندگان عصر کالایی‌شدن هفتگی یا حتی روزانه به‌روزرسانی ارائه می‌دهند.دوم، تخصیص منابع را به‌طور رادیکال تغییر داده‌اند. تیم‌های مهندسی کوچک می‌شوند در حالی که تیم‌های ورود به بازار گسترش می‌یابند. نه به این خاطر که محصول اهمیتی ندارد — بلکه چون محصول حالا حداقل انتظار است.سوم، موفقیت را متفاوت اندازه می‌گیرند. زمان تا ارزش جایگزین تعداد ویژگی‌ها می‌شود. سرعت فعال‌سازی مشتری بیشتر از پیچیدگی فنی اهمیت دارد.تغییر ذهنیت عمیق است: آن‌ها محصول «به‌اندازه کافی خوب» با ورود به بازار استثنایی را پذیرفته‌اند.نکات کلیدیکالایی‌شدن نرم‌افزار از قبل رسیده — ۴۶٪ کد توسط هوش مصنوعی نوشته می‌شود و این رقم در حال افزایش استمزیت‌های رقابتی سنتی (ویژگی‌ها، UI/UX، الگوریتم‌ها) می‌توانند در روزها، نه سال‌ها، بازتولید شوندحصار جدید توزیع است، نه محصول — شرکت‌های موفق ۷۰٪+ منابع را به ورود به بازار منتقل می‌کنندحجم داده کمتر از دسترسی به داده اهمیت دارد — بر روابط منحصربه‌فردی تمرکز کنید که بینش‌های انحصاری تولید می‌کنندبرندگان ۱۰ برابر سریع‌تر ارسال می‌کنند و برای زمان تا ارزش به جای کامل‌بودن ویژگی‌ها بهینه‌سازی می‌کنندکالایی‌شدن نرم‌افزار یک تهدید نیست — یک نیروی الزام‌آور است که بنیان‌گذارانی که تطبیق می‌یابند را از کسانی که نمی‌یابند جدا می‌کند. برندگان در برابر این تغییر نمی‌جنگند. آن‌ها از آن به عنوان اهرم استفاده می‌کنند تا روی آنچه واقعاً رشد را هدایت می‌کند تمرکز کنند.</description>
                <category>Taha</category>
                <author>Taha</author>
                <pubDate>Thu, 11 Jun 2026 14:00:48 +0330</pubDate>
            </item>
                    <item>
                <title>صرفه جویی توکن Claude Code</title>
                <link>https://virgool.io/@MrTaha/%D8%B5%D8%B1%D9%81%D9%87-%D8%AC%D9%88%DB%8C%DB%8C-%D8%AA%D9%88%DA%A9%D9%86-claude-code-dlw67jbeonwi</link>
                <description>صرفه جویی توکن Claude Codeبا سه تا حرکت می‌تونید معجزه ای در مصرف توکن هاتون داشته باشید.وقتی Claude Code یک کدبیس را بررسی می‌کند، عامل‌های Explore را راه‌اندازی می‌کند که با ابزارهای grep، glob و Read فایل‌ها را اسکن می‌کنند — و در هر فراخوانی ابزار، توکن مصرف می‌کنند. CodeGraph به این عامل‌ها یک گراف دانش از پیش ایندکس‌شده می‌دهد — شامل روابط نمادها، گراف‌های فراخوانی، و ساختار کد. عامل‌ها به جای اسکن فایل‌ها، به‌صورت آنی گراف را جستجو می‌کنند.نتیجه :نتیجه codegraphنحوه نصب : ریپو گیت هابcolbymchenry/codegraphحرکت دوم صرفه جویی در توکن های ورودی هست کلاد وقتی یک کامند اجرا می‌کند خروجی اون کامند میتونی خیلی زیاد باشه و بلند باشه ( این خروجی در اصل همون ورودی ایجنت ما میشه اونو میخونه با بفهمه چه خبره )ابزار rtk میاد و این خروجی فشرده میکنه و فقط در حدی که لازمه به ایجنت میده اینجوری صرجویی زیادی در مصرف توکن ورودی میشه rtk خروجی دستورات را قبل از اینکه به context مدل زبانی شما برسند، فیلتر و فشرده‌سازی می‌کند. یک باینری تکی نوشته‌شده با Rust، پشتیبانی از ۱۰۰+ دستور، و سربار کمتر از ۱۰ میلی‌ثانیه.نتیجه :نتیجه rtkنحوه نصب : ریپو گیت هابrtk-ai/rtkمرحله سوم بهینه کردن توکن خروجی هست Cavemanیک اسکیل/پلاگین برای Claude Code (و همچنین Codex، Gemini، Cursor، Windsurf، Cline، Copilot و بیش از ۳۰ ابزار دیگر) که باعث می‌شود عامل هوش مصنوعی مثل انسان غارنشین حرف بزند — خروجی را کوتاه و فشرده می‌کند، اما هیچ‌چیزی از دقت فنی کم نمی‌شود.به جای اینکه مدل جواب‌های طولانی و پر از توضیحات اضافه بدهد، فقط چیزی می‌گوید که واقعاً مهم است. حدود ۷۵٪ از توکن‌های خروجی کاهش پیدا می‌کنند — یعنی هزینه کمتر، سرعت بیشتر، و context window بازتر. مغز همچنان بزرگ است. فقط دهان کوچک‌تر شده.مثال :مثال cavemanنتیجهنتیجه cavemanنحوه نصب : ریپو گیت هابJuliusBrussee/caveman</description>
                <category>Taha</category>
                <author>Taha</author>
                <pubDate>Mon, 25 May 2026 09:50:37 +0330</pubDate>
            </item>
                    <item>
                <title>Geo Dns چیست ؟‌ (راه نجات SEO)</title>
                <link>https://virgool.io/@MrTaha/geo-dns-%DA%86%DB%8C%D8%B3%D8%AA-%D8%B1%D8%A7%D9%87-%D9%86%D8%AC%D8%A7%D8%AA-seo-jmbtezj1z33g</link>
                <description>Geo DNS چیست و چطور می‌تواند سئوی سایت شما را در شرایط اینترانت نجات دهد؟وقتی اینترنت ایران قطع یا محدود می‌شود، گوگل دیگر به سایت شما دسترسی ندارد. اما با یک معماری هوشمند، می‌توانید هم کاربر ایرانی را راضی نگه دارید، هم ربات گوگل را.🌍 اول بفهمیم مشکل چیهتصور کنید سایت شما روی سرور داخل ایران میزبانی می‌شود. وقتی اینترنت ایران محدود می‌شود یا به حالت اینترانت درمی‌آید، ربات گوگل که از آمریکا کار می‌کند، دیگر نمی‌تواند به سایت شما برسد. نتیجه؟ ایندکس نمی‌شوید، رتبه‌تان می‌افتد، و ماه‌ها تلاش سئویی دود می‌شود هوا.گوگل اگر چند بار نتواند سایت شما را بخزد، ممکن است آن را از ایندکس حذف کند یا رتبه آن را کاهش دهد. این اتفاق در قطعی‌های اینترنت ایران بارها رخ داده.📡 Geo DNS چیست؟DNS در ساده‌ترین شکل، مثل دفترچه تلفن اینترنت است؛ اسم سایت را می‌گیرد و آدرس IP می‌دهد. Geo DNS یک لایه هوشمند به این سیستم اضافه می‌کند: بسته به اینکه درخواست از کجای دنیا آمده، آدرس IP متفاوتی برمی‌گرداند.با این روش، گوگل همیشه به سرور خارج از کشور وصل می‌شود که در دسترس است، و کاربر ایرانی به سرور داخلی که سرعت بهتری دارد.🏗️ معماری کلی راه‌حل۱. یک نسخه کامل از سایت روی سرور خارجاول از همه، باید یک نسخه کاملاً یکسان از سایت‌تان را روی یک سرور خارج از ایران (مثلاً آلمان، هلند یا فرانکفورت) بالا بیاورید. این سرور باید همیشه روشن، در دسترس، و محتوایش به‌روز باشد.۲. تنظیم Geo DNSدر پنل DNS خود (مثلاً Cloudflare، AWS Route 53، یا هر سرویس Geo DNS دیگری) قانون می‌گذارید:درخواست از ایران → IP سرور داخلی | درخواست از بقیه دنیا → IP سرور خارجی۳. سینک و به‌روزرسانی دو سرورمهم‌ترین و حساس‌ترین بخش این معماری، هماهنگ نگه داشتن دو سرور است. محتوای سایت باید در هر دو سرور یکسان باشد.🔄Rsync دوره‌ایسینک فایل‌ها و تصاویر با cron job🗄️Database ReplicationMySQL/PG Master-Slave☁️Object StorageS3 مشترک برای فایل‌ها🪝Webhook/API Pushهر تغییر → push به سرور دوم📦CI/CD Pipelineدیپلوی همزمان هر دو سرور🖼️CDN مشترکفایل استاتیک از یک CDN🤔 چرا این برای سئو مهم است؟گوگل همیشه در دسترس داریدربات GoogleBot از آمریکا یا اروپا کار می‌کند. وقتی به سرور خارجی شما وصل می‌شود، هیچ‌وقت با قطعی یا محدودیت اینترنت ایران مواجه نمی‌شود. کرال و ایندکس بدون وقفه ادامه دارد.سرعت برای کاربر ایرانی بهتر می‌شودکاربر ایرانی به سرور داخلی وصل می‌شود که پینگ کمتری دارد. Core Web Vitals بهتر، تجربه کاربری بهتر، و در نتیجه سیگنال مثبت‌تر برای گوگل.Canonical و محتوا یکسان می‌ماندچون محتوای هر دو سرور یکسان است، مشکل محتوای تکراری یا Canonical اشتباه نخواهید داشت. گوگل یک سایت می‌بیند، نه دو سایت مجزا.نکته مهم: حتماً در هر دو سرور هدرهای canonical، robots.txt و sitemap یکسان باشد. هر تفاوتی در این فایل‌ها می‌تواند مشکل‌ساز شود.⚠️ چالش‌هایی که باید آماده باشیدتاخیر در سینکاگر مقاله‌ای منتشر کنید و سینک با تاخیر انجام شود، ربات گوگل ممکن است برای چند دقیقه محتوای متفاوتی ببیند. راه‌حل: سینک real-time یا حداکثر ۵ دقیقه‌ای.هزینه دو سرورنگهداری دو سرور طبیعتاً هزینه بیشتری دارد. برای سایت‌های کوچک می‌توان از یک VPS ارزان خارج به عنوان سرور آینه استفاده کرد.پیچیدگی دیپلویهر بار که سایت را آپدیت می‌کنید باید مطمئن شوید هر دو سرور به‌روز شده‌اند. یک CI/CD Pipeline درست این را خودکار می‌کند.🎯 جمع‌بندیGeo DNS یک راه‌حل هوشمند برای یک مشکل واقعی است. نه یک ترفند، بلکه یک معماری زیرساختی است که هم سئو را حفظ می‌کند، هم تجربه کاربر ایرانی را بهتر می‌کند. در دنیایی که اینترنت ایران گاه قابل پیش‌بینی نیست، این روش می‌تواند تفاوت بین سایتی که می‌ماند و سایتی که از ایندکس حذف می‌شود را رقم بزند.</description>
                <category>Taha</category>
                <author>Taha</author>
                <pubDate>Tue, 28 Apr 2026 17:12:05 +0330</pubDate>
            </item>
                    <item>
                <title>نصب داکر ( Docker ) در نت ملی روی سرور</title>
                <link>https://virgool.io/@MrTaha/%D9%86%D8%B5%D8%A8-%D8%AF%D8%A7%DA%A9%D8%B1-docker-%D8%AF%D8%B1-%D9%86%D8%AA-%D9%85%D9%84%DB%8C-%D8%B1%D9%88%DB%8C-%D8%B3%D8%B1%D9%88%D8%B1-dvpmqynfcz6d</link>
                <description>سلام دوستان برای نصب داکر خیلی راحت میتونید با سه تا کامند زیر داکر رو روی سرور ubuntu خودتون نصب کنید با تشکر از تیم رانفلر آروانsudo sed -i &#039;s|^URIs: .*|URIs: https://mirror.arvancloud.ir/ubuntu/|&#039; \  /etc/apt/sources.list.d/ubuntu.sources
sudo apt update
sudo apt install docker.io docker-compose-v2
</description>
                <category>Taha</category>
                <author>Taha</author>
                <pubDate>Tue, 28 Apr 2026 14:00:16 +0330</pubDate>
            </item>
                    <item>
                <title>پایتون با چاشنی سرعت</title>
                <link>https://virgool.io/cheyab-blog/httpsvirgooliomrtaha%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86-%D8%A8%D8%A7-%DA%86%D8%A7%D8%B4%D9%86%DB%8C-%D8%B3%D8%B1%D8%B9%D8%AA-yhna9ngbxiyi</link>
                <description>در این پست به 6 نکته می پردازیم که باعث افزایش سرعت کد های پایتون می شودFast &amp; Python1. ماژول هارا به صورت کامل اضافه نکنیماضافه کردن ماژول ها در برنامه نویسی به خصوص با زبان پایتون چیزی اجتناب ناپذیر است اما در خیلی از مواقع ما به یک تابع یا چند کلاس خاص از آن ماژول احتیاج داریم . در چنین مواردی سعی کنید فقط آن توابع و کلاس هارا به برنامه خود اضافه کنید.برای مثال برنامه محاسبه جذر اعداد:import math
math.sqrt(100)کندfrom math import sqrt
sqrt(100)سریع2.عدم استفاده از زنجیره . ها (dot)در پایتون استفاده (dot) و فراخوانی توابع به صورت متوالی بسیار مورد استفاده قرار میگیرد . به صورت کلی مشکلی وجود ندارد اما اگر سعی کنیم از این کار تا حد امکان اجتناب کنیم عملکرد بهتری را مشاهده خواهیم کرد.نوشتن کد به این روش مرسوم نیست ولی به عنوان یک برنامه نویس پایتون خوب است بدانیم راه سریع تری هم وجود داردبرای مثال اضافه کردن یک عدد به لیست و سپس حذف آن :my_list = [1, 2, 3]
my_list.append(4)
my_list.remove(4)کندmy_list = [1, 2, 3]
append = my_list.append
remove = my_list.remove
append(4)
remove(4)سریع3. از + برای چسباندن رشته ها به یکدیگر استفاده نکنیداز آنجا که رشته ها در پایتون تغییر ناپذیر (immutable) هستند اینکار بسیار عملکرد برنامه را کاهش میدهدممکن است در خیلی از مواقع ما فقط قصد اضافه کردن دو رشته را به هم داشته باشیم در این موارد استفاده از + طول کد را کمتر و خوانایی آن را بیشتر می کندبرای مثال:strs = [&#039;Life&#039;, &#039;is&#039;, &#039;short,&#039;, &#039;I&#039;, &#039;use&#039;, &#039;Python&#039;]
def join_strs(strs):
    result = &#039;&#039;
    for s in strs:
        result += s + &#039; &#039;
    return resultکندdef join_strs_better(strs):
    return &#039; &#039;.join(strs)join_strs_better(strs)سریع4. استفاده نکردن از متغیر اضافه (temp) برای تبادل مقادیردر بسیاری از زبان ها ما برای عوض کردن مقدار دو متغییر از یک متغییر واسط استفاده میکنیمولی پایتون به ما این امکان را میدهد که بدون متغییر اضافی این کار را انجام دهیمa = 1
b = 2
temp = a
a = b
b = temp کندa = 1
b = 2
a, b = b, aسریع5. استفاده درست چند شرط در if این مورد در اکثر زبان های برنامه نویسی کاربرد دارد و بهتر است آنرا با یک مثال توضیح دهیم :فرض کنید لیستی از اسامی و  سن آنها داریم و قصد داریم افرادی که سن آنها بزرگتر مساوی 30 و اسمشان با حرف &#x27;C&#x27; شروع میشود را جدا کنیم my_dict = [    {        &#x27;name&#x27;: &#x27;Alice&#x27;,        &#x27;age&#x27;: 28    },    {        &#x27;name&#x27;: &#x27;Bob&#x27;,        &#x27;age&#x27;: 23    },    {        &#x27;name&#x27;: &#x27;Chris&#x27;,        &#x27;age&#x27;: 33    },    {        &#x27;name&#x27;: &#x27;Chelsea&#x27;,        &#x27;age&#x27;: 2    },    {        &#x27;name&#x27;: &#x27;Carol&#x27;,        &#x27;age&#x27;: 24    }]در نتیجه ما در اینجا دو شرط داریم  سن مساوی یا بالای 30شروع اسم با حرف &#x27;C&#x27;به دو صورت میتوانیم if مورد نظر را بنویسیم:در حالت اول ابتدا اسم را چک کرده و سپس سن را . در این حالت در شرط اول که چک کردن اسامی است سه اسم True میشوند و شرط دوم که چک کردن سن است برای هر سه اسم تکرار خواهد شددر حالت دوم اول سن را چک می کنیم که تنها یک نفر True میشود و سپس اسم آن فرد هم چک میشودبه داخل کد برویم:filtered_list = []
for person in my_dict:
    if person[&#039;name&#039;].startswith(&#039;C&#039;) and person[&#039;age&#039;] &gt;= 30:
        filtered_list.append(person)کندسریع6. از حلقه while استفاده نکنساختار زبان پایتون به صورتی پیاده سازی شده است که حلقه for عملکرد بهتری داردپس در مواردی که میتوان از حلقه for استفاده کرد  از حلقه while استفاده نکنید حلقه for علاوه بر عملکرد بهتر زیبایی و خوانایی بیشتری نیز داردمثالی برای مورد آخر :result = 0
max_number = 10
i = 0
while i &lt; 10:
    result += i
    i +=1کندresult = 0max_number = 10for i in range(max_number):    result += iسریعممنون از همراهیت ❤️اگر علاقه دارید این مقاله را به زبان اصلی مطالعه کنید میتوانید از لینک زیر استفاده کنید: https://towardsdatascience.com/6-bad-manners-makes-your-python-program-slower-15b6fce62927 </description>
                <category>Taha</category>
                <author>Taha</author>
                <pubDate>Wed, 15 Sep 2021 14:25:19 +0430</pubDate>
            </item>
            </channel>
</rss>