مهندسی نرم‌افزار و معماری

معماری سیستم، الگوهای طراحی و اصول مهندسی نرم‌افزار

زیرمجموعه‌های مرتبط

تکامل بازبینی کد: از پَچ‌های ایمیلی تا جریان کاری یکپارچه
مهندسی نرم‌افزار و معماری

تکامل بازبینی کد: از پَچ‌های ایمیلی تا جریان کاری یکپارچه

بازبینی کد از تبادل پَچ‌های ایمیلی به فرایندهای یکپارچه و گاهی هوش‌یار تبدیل شده است؛ مطالعه‌ها نشان می‌دهند ابزار و فرهنگ تیمی هر دو برای کاهش سردرگمی و افزایش کیفیت حیاتی‌اند.

محمد ابراهیمی فر۱۵ مرداد ۱۴۰۵
تحول سامانه‌های ساخت: از Make و Ninja تا پلتفرم‌های هرمتیک و بازتولیدپذیری
مهندسی نرم‌افزار و معماری

تحول سامانه‌های ساخت: از Make و Ninja تا پلتفرم‌های هرمتیک و بازتولیدپذیری

نبرد بین ابزارهای سنتی اجرا و پلتفرم‌های هرمتیک حالا محور بحث بازتولیدپذیری و درست‌بودن ساخت در مقیاس است؛ چه زمانی مهاجرت منطقی است و چه راهکارهایی عملی‌اند؟

محمد ابراهیمی فر۱۵ مرداد ۱۴۰۵
معماری گیت و تأثیر آن بر شاخه‌بندی و همکاری تیمی
مهندسی نرم‌افزار و معماری

معماری گیت و تأثیر آن بر شاخه‌بندی و همکاری تیمی

نگاهی تحلیلی به نحوهٔ شکل‌گیری الگوهای شاخه‌بندی و جریان‌های کاری در گیت؛ از ذخیره‌سازی مبتنی بر هش تا پیامدهای عملی برای تیم‌ها.

محمد ابراهیمی فر۱۵ مرداد ۱۴۰۵
تحلیل ایستا، لینترها و اعتماد توسعه‌دهنده
مهندسی نرم‌افزار و معماری

تحلیل ایستا، لینترها و اعتماد توسعه‌دهنده

تحلیل ایستا بدون اجرای برنامه نقص‌ها و الگوهای ناایمن را از کد منبع بیرون می‌کشد؛ ترکیب آن با تحلیل پویا و روش‌های رسمی اعتماد و کیفیت نرم‌افزار را افزایش می‌دهد.

محمد ابراهیمی فر۱۵ مرداد ۱۴۰۵
زبان‌های خاص دامنه: تاریخچه، گونه‌ها و الگوهای مهندسی مدرن
مهندسی نرم‌افزار و معماری

زبان‌های خاص دامنه: تاریخچه، گونه‌ها و الگوهای مهندسی مدرن

زبان‌های خاص دامنه امکان بیان مستقیم‌تر مفاهیم یک حوزه را فراهم می‌کنند. این مقاله نمونه‌های تاریخی، شاخه‌ها و الگوهای مهندسی مدرن طراحی و نگهداری DSL را بررسی می‌کند.

محمد ابراهیمی فر۱۵ مرداد ۱۴۰۵
مقایسهٔ چهار الگوی همزمانی: CSP، مدل بازیگر، حافظهٔ مشترک و حافظهٔ تراکنشی
مهندسی نرم‌افزار و معماری

مقایسهٔ چهار الگوی همزمانی: CSP، مدل بازیگر، حافظهٔ مشترک و حافظهٔ تراکنشی

نگاهی فنی و مقایسه‌ای به چهار الگوی همزمانی پرکاربرد—CSP، مدل بازیگر، حافظهٔ مشترک و حافظهٔ تراکنشی—برای انتخاب مناسب‌ترین رویکرد در طراحی سامانه‌ها.

محمد ابراهیمی فر۱۵ مرداد ۱۴۰۵
زیست‌بوم زبانی و مدیریت بسته‌ها: نقش اجتماع و انگیزه‌های اقتصادی در پذیرش
مهندسی نرم‌افزار و معماری

زیست‌بوم زبانی و مدیریت بسته‌ها: نقش اجتماع و انگیزه‌های اقتصادی در پذیرش

پذیرش زبان‌ها و مدیر بسته‌ها بیشتر از پیاده‌سازی فنی تابع شبکه‌های اجتماعی، ابزارهای آموزشی و انگیزه‌های اقتصادی است؛ ترکیب درست این سه عامل پایداری و رشد را رقم می‌زند.

محمد ابراهیمی فر۱۵ مرداد ۱۴۰۵
سه الگوی حکمرانی زبان: BDFL، حکمرانی باز و استانداردهای جامعه‌محور — مقایسه و راهبردها
مهندسی نرم‌افزار و معماری

سه الگوی حکمرانی زبان: BDFL، حکمرانی باز و استانداردهای جامعه‌محور — مقایسه و راهبردها

سه مدل اصلی حکمرانی زبان—BDFL متمرکز، حکمرانی باز فرآیندمحور و استانداردهای جامعه‌محور—چه مزایا و محدودیت‌هایی دارند و چگونه در عمل ترکیب می‌شوند؟

محمد ابراهیمی فر۱۵ مرداد ۱۴۰۵
چگونه میکروسرویس‌ها انتزاعات سیستم‌عامل را بازتعریف می‌کنند: کانتینرها، ارکستراسیون و انتخاب پلتفرم
مهندسی نرم‌افزار و معماری

چگونه میکروسرویس‌ها انتزاعات سیستم‌عامل را بازتعریف می‌کنند: کانتینرها، ارکستراسیون و انتخاب پلتفرم

میکروسرویس‌ها نه فقط معماری کد را تغییر می‌دهند، بلکه انتزاعات سیستم‌عامل، ایزولاسیون منابع و نحوه طراحی پلتفرم را نیز بازتعریف می‌کنند؛ از cgroups تا ارکستراسیون و سیاست‌های شبکه.

محمد ابراهیمی فر۱۵ مرداد ۱۴۰۵
پارادایم‌های ارتباط بین‌فرآیندی: از پایپ و سوکت تا باس پیام
مهندسی نرم‌افزار و معماری

پارادایم‌های ارتباط بین‌فرآیندی: از پایپ و سوکت تا باس پیام

چهار خانواده اصلی IPC — پایپ، سوکت، آرپی‌سی و باس پیام — و نحوه انتخاب هر کدام بر اساس تاخیر، مقیاس‌پذیری و پیچیدگی عملیاتی.

محمد ابراهیمی فر۱۵ مرداد ۱۴۰۵
چرا انتقال macOS از PowerPC به اینتل نقطه‌عطف بود
مهندسی نرم‌افزار و معماری

چرا انتقال macOS از PowerPC به اینتل نقطه‌عطف بود

تصمیم 2005 اپل برای مهاجرت macOS از PowerPC به اینتل پیامدهای عمیقی برای ISA، کرنل، ابزار توسعه و مدل کسب‌وکار پلتفرم داشت؛ راهکارهایی مثل باینری یونیورسال و Rosetta این گذار را ممکن کردند.

محمد ابراهیمی فر۱۴ مرداد ۱۴۰۵
DSL داخلی: سود فوری و هزینه‌های نگهداری بلندمدت
مهندسی نرم‌افزار و معماری

DSL داخلی: سود فوری و هزینه‌های نگهداری بلندمدت

زبان‌های خاص دامنه داخلی توسعه را تسریع می‌کنند اما بدون مدیریت نسخه، ابزار مهاجرت و مستندسازی، هزینه‌های نگهداری‌شان پروژه را سنگین می‌کند.

محمد ابراهیمی فر۱۴ مرداد ۱۴۰۵