<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های ali mohammadzadeh</title>
        <link>https://virgool.io/feed/@alimohammadzadeh</link>
        <description></description>
        <language>fa</language>
        <pubDate>2026-06-10 14:18:55</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/83043/avatar/NSCMBC.jpeg?height=120&amp;width=120</url>
            <title>ali mohammadzadeh</title>
            <link>https://virgool.io/@alimohammadzadeh</link>
        </image>

                    <item>
                <title>گرسنگی درخواست(Starvation) در سیستم‌های نرم‌افزاری</title>
                <link>https://virgool.io/@alimohammadzadeh/%DA%AF%D8%B1%D8%B3%D9%86%DA%AF%DB%8C-%D8%AF%D8%B1%D8%AE%D9%88%D8%A7%D8%B3%D8%AAstarvation-%D8%AF%D8%B1-%D8%B3%DB%8C%D8%B3%D8%AA%D9%85-%D9%87%D8%A7%DB%8C-%D9%86%D8%B1%D9%85-%D8%A7%D9%81%D8%B2%D8%A7%D8%B1%DB%8C-b5inbcrxnz5w</link>
                <description>گاهی مشکل سیستم این نیست که کند شده ، مشکل اینه که بعضی درخواست‌ها بخاطر اولویت پایینی که دارن، هیچ‌ وقت سرویس داده نمی‌شن ، یعنی عملا گم میشن . به این حالت می‌گیم: Starvation یا &quot;گرسنگی درخواست&quot; .این مشکل بیشتر وقتی دیده میشه که:یک Request/Thread همیشه پشت سر درخواست‌های “با اولویت بالاتر” گیر می‌کنهلاک ها  درست مدیریت نشدنلود روی سیستم نامتعادل توزیع شدهارکستریشن فقط به throughput فکر کرده، نه fairnessدر عمل سیستم ظاهراً آپ هست… ولی بعضی از تسک ها انگار برای همیشه فراموش شده‌اند. سیستم خوب فقط سریع نیست. سیستمی هست که بتونه عادلانه رفتار کنه.هر Request باید شانس رسیدن به Resource داشته باشه — حتی اگه آخر صف باشه.</description>
                <category>ali mohammadzadeh</category>
                <author>ali mohammadzadeh</author>
                <pubDate>Fri, 05 Dec 2025 18:30:50 +0330</pubDate>
            </item>
                    <item>
                <title>سَندرُم فضانورد معماری</title>
                <link>https://virgool.io/@alimohammadzadeh/architecture-astronaut-syndrome-v6uzk7dyhsl9</link>
                <description>سَندرُم  Architecture Astronaut  به وضعیتی اشاره دارد که در آن معماران و برنامه نویسان سیستم، به جای رفع مشکلات و نیازهای واقعی، به پیچیدگی‌ها و جزئیات فنی می‌پردازند. این افراد بیشتر به دنبال استفاده از فناوری‌های جدید، الگوهای طراحی و ایده‌های پیچیده هستند . زمانی که یک تیم توسعه نرم‌افزار برای حل یک مشکل به دنبال  راه‌حل‌های ساده و عملی است، ممکن است یکی از اعضای تیم بر روی معماری و ساختار سیستم تمرکز کند و به دنبال ایده‌های پیچیده باشد. اما این ایده‌ها ممکن است در واقع مشکلات و پیچیدگی بیشتری را به وجود آورد و پروژه را به سمت شکست هدایت کند.در این سَندرُم  معماران و  برنامه نویسان سیستم، به جای رفع مشکلات و نیازهای واقعی، به پیچیدگی‌ها و جزئیات فنی می‌پردازند که برای رسیدن به یک سیستم کامل و بزرگ موردنیاز هستند. این پروژه ها ممکن است به دلیل اینکه تمرکز بر روی جزئیات فنی زیادی قرار گرفته و نیازهای اساسی کاربران و مشتریان نادیده گرفته میشود  با معضلات زیادی همراه باشند و  ممکن است به جای حل مشکلات، مشکلات بیشتری به وجود آید که می‌تواند باعث عقب ماندن پروژه و  هزینه‌های زیاد شود.به عنوان مثال، یک معمار فضایی ممکن است بخواهد از الگوهای مشابه شرکت‌های بزرگی مثل Amazon و Google استفاده کند، اما این الگوها به دلیل محدودیت‌های موجود در سازمان و منابع مالی قابل اجرا نباشند. در نتیجه، پروژه به تعویق می‌افتد و هزینه‌های اضافی برای توسعه بیشتر صرف می‌شود.علائمی که بیشترین شیوع در افرادی دارند که درگیر این سَندرُم هستند عبارتند از:۱) نادیده گرفتن واقعیت‌های فنی: به جای پذیرفتن واقعیات فنی و ساختارهای موجود در سیستم، به دنبال راه‌حل‌های تئوریک و عمومی هستند.۲) زیاده روی در استفاده از الگوها و الهام‌گرفتن از سایر پروژه‌ها:  بعضی معماران علاقه زیادی به استفاده از الگوهای آماده دارند و با دغدغه ایجاد تطابق با سایر پروژه‌ها، از ذهنیت خلاق خود دور می‌شوند.۳) عدم توجه به نیازهای کاربران: معمارانی که درگیر این سَندرُم هستند، بیشتر به ساختار فنی توجه دارند و از نیازهای کاربران غافل می‌شوند.۴) عدم توجه به محدودیت ها : عدم توجه به محدودیت‌های زمانی و بودجه، و تمایل به تلاش برای حل تمامی مشکلات فنی در یک پروژه.۴)پیچیدگی زیاد:  این افراد، به دلیل اینکه به راه‌حل‌های تئوریک و فرضی بیشتر از واقعیت‌های سیستم توجه دارند، ممکن است پیچیدگی بیشتری در طراحی سیستم ایجاد کنند. برای جلوگیری از این سَندرُم در پروژه‌های نرم‌افزاری، می‌توان از راهکارهای زیر استفاده کرد:۱) تمرکز بر نیازهای کاربران: به جای تمرکز بر روی جزئیات فنی و علت‌های فنی، باید تلاش کرد تا به نیازهای کاربران و مشتریان توجه شود و دغدغه های آنها را در نظر گرفت.۲) استفاده از راه‌حل‌های ساده: استفاده از راه‌حل‌های ساده و منطقی در طراحی سیستم، باعث کاهش پیچیدگی و افزایش قابلیت اجرا می‌شود.۳) حفظ تعادل بین جزئیات فنی و نیازهای کاربران: برای جلوگیری از این سَندرُم باید تلاش کرد تا تعادلی بین جزئیات فنی و نیازهای کاربران حفظ شود و در طراحی سیستم به هر دو مورد توجه شود.۴) انتخاب راه حل‌های مناسب: در طراحی سیستم باید از الگوها و فریم‌ورک‌های مناسب استفاده شود و باید به دنبال یافتن راه‌حل‌های ساده و قابل اجرا باشیم.در کل، جلوگیری از این سَندرُم به معنی تلاش برای توازن میان جزئیات فنی و نیازهای کاربران و طراحی راه‌حل‌های ساده و قابل اجرا در پروژه‌های نرم‌افزاری است.</description>
                <category>ali mohammadzadeh</category>
                <author>ali mohammadzadeh</author>
                <pubDate>Thu, 13 Apr 2023 02:03:14 +0330</pubDate>
            </item>
            </channel>
</rss>