بازارسال شده از شبکه نخبگان ایران
۱
۱۵:۴۱
وقتی برای کشتن پشه از آرپیجی استفاده میکنیم! 🦟
یکی از بزرگترین تلههایی که برنامهنویسان (بهویژه در سطح Mid-Level) در آن گرفتار میشوند، «مهندسی بیشازحد» (Over-engineering) است.
ما برنامهنویسها عاشق حل مسائل پیچیده هستیم؛اما گاهی این عشق باعث میشود برای یک مشکل ساده، راهحلی خلق کنیم که نگهداری آن از خود مشکل، فاجعهبارتر است!️
۱. تلهی بهینهسازی زودرس (Premature Optimization)
فرض کنید در حال نوشتن تابعی هستید که روی لیستی از کاربران جستجو میکند
اما واقعیت؟ کل کاربران سیستم شما قرار است حداکثر ۵۰۰ نفر باشند! در این مقیاس، تفاوت زمانی بین O(N) و O(logN) در پردازندههای امروزی، کسری از میکروثانیه است. شما سه روز زمان توسعه و هزینه نگهداری کد را فدای هیچ کردید. «بهینهسازی زودرس، ریشه تمام شرارتها در برنامهنویسی است.»
۲. سندروم «شاید بعداً لازم شد» (The “What If” Trap)مشتری از شما یک وبسایت ساده برای نمایش مقالات میخواهد. شما چه میکنید؟ یک معماری Microservices روی Kubernetes طراحی میکنید، از Kafka برای پیامرسانی استفاده میکنید و دیتابیس را به صورت توزیعشده بالا میآورید. چرا؟ «چون شاید فردا ترافیک سایت میلیونی شد!»
این یعنی تحمیل پیچیدگی سنگین به سیستمی که هنوز اثبات نکرده اصلاً کاربری دارد.
#over_engineering
| @Programming_Association |
۱.۸K
۱۴:۳۴
| @Programming_Association |
۱.۵K
۱۲:۲۰
بعد از تعیین نیازمندیها، نوبت به طراحی کلان سیستم میرسد. کتاب Beginning Software Engineering این مرحله را به معماری خانه تشبیه میکند؛ قبل از انتخاب دستگیره درها (کدنویسی جزئیات)، باید جای اتاقها و لولهکشی اصلی (ساختار کلی) مشخص شود.
اگر High-Level_Design اشتباه باشد، سیستم در آینده انعطافپذیر نخواهد بود و با یک تغییر کوچک، کل پروژه فرو میریزد.
مثال کتاب: تفکیک بخش «احراز هویت»، «سبد خرید» و «درگاه پرداخت» در یک فروشگاه، تا تغییر در یکی باعث خرابی دیگری نشود.
۱.۴K
۱۶:۱۳
Scaling_Instagram.pdf
۱۰.۷۶ مگابایت
اینستاگرام امروز یک پلتفرم میلیاردی است؛ اما مسیر رسیدن به این مقیاس، با صدها سرویس و معماری پیچیده شروع نشد.
در این PDF بررسی میکنیم:
🧩 معماری اولیه Instagram
این فقط داستان Instagram نیست؛یک درس واقعی از مهندسی سیستمهای بزرگ است.
| @Programming_Association |
۱.۲K
۱۴:۰۶
رکت IBM
۹۲۲
۹:۲۵
| @Programming_Association |
۸.۴K
۹:۳۸
#claude_code
۶۶۳
۹:۳۵
#معرفی_بزار #ابزار_کاربردی
۸۰۷
۸:۳۲
beyond_coding_01.pdf
۴۸۸.۵۵ کیلوبایت
۱۰۹
۱۳:۴۶