fork
ایجاد مسیری تازه از وضعیت موجود، برای ادامهٔ جداگانهٔ توسعه، اجرا یا تاریخچه است؛ معنای دقیقش به زمینه بستگی دارد.
توضیح
در توسعهٔ نرمافزار، fork نسخهای مستقل از یک پروژه است که تغییراتش جدا از مسیر اصلی ادامه پیدا میکند. در سیستمعامل، یک process فرزند از process موجود ساخته میشود که با نسخهای از وضعیت حافظهٔ والد شروع میکند؛ اما threadها و اتصالها لزوماً بهشکل مستقل در اختیارش قرار نمیگیرند. در blockchain، این اصطلاح به تغییر مسیر قواعد یا تاریخچه اشاره دارد که بسته به نوع تغییر و پذیرش آن، ممکن است به ادامه با قواعد تازه یا شکلگیری مسیرهای جدا منجر شود. در گفتوگوها هم میتواند به شروع مسیری جدا از نقطهای مشخص در تاریخچه اشاره کند.
مثال
فرض کن از یادداشتهای فعلی یک داستان نسخهای برمیداری و ادامهٔ متفاوتی برایش مینویسی. گذشتهٔ مشترک، نقطهٔ شروع مسیر تازه است؛ اما اینکه کدام بخشها واقعاً مستقل باشند، به سازوکار نسخهبرداری بستگی دارد.
چرا مهم است
هنگام توسعهٔ جداگانهٔ پروژه، ساخت process، تغییر قواعد blockchain یا جدا کردن مسیر گفتوگو با آن روبهرو میشی؛ شناخت زمینه کمک میکند بفهمی چه چیزی جدا میشود و چه منابعی ممکن است همچنان مشترک باشند.
مفهومهای مرتبط
این کارت را هوش مصنوعی نوشته و دو بار با هوش مصنوعی بررسی شده است.
مطالبی با این مفهوم
- Muru

Muru؛ یکبار import و چندین fork، با بررسی ایمنی برنامه
Muru برنامه را یکبار در host بارگذاری میکند و workerها را از آن fork میکند. اگر هنگام import منابع ناسازگار با این روش ساخته شده باشند، به import جداگانه در هر worker برمیگردد.
- Muru

معماری Muru؛ جداسازی ارتباط با client از اجرای Python
Graham Dumpleton نقش edge، host، worker و controller را در Muru توضیح میدهد؛ معماریای که اجازه میدهد نسخههای برنامه مستقل از بخش پذیرش اتصالها جایگزین شوند.
- Research & Development

تعویق fork در Hoodi پس از شناسایی خطرهای EIP-8037 و EIP-8038 برای برخی پروژهها
آزمایشهای Glamsterdam نشان داده تغییر شیوه محاسبه gas میتواند برخی پروژههای Ethereum را آسیبپذیر کند. ACD تصمیم گرفته تا رفع مشکلات، Hoodi را fork نکند و از توسعهدهندگان خواسته وابستگی پروژههایشان به هشت invariant را بررسی کنند.
- Hermes Agent
Hermes Agent v0.23.0؛ محیط Desktop در مرورگر و یک gateway برای هر گفتوگو
نسخه The Hearth Release محیط Desktop را از طریق gateway خود کاربر در مرورگر ارائه میکند. مدیریت مشترک گفتوگوها، سقف هزینه برای toolهای پولی MCP و تغییرات مهم هنگام ارتقا هم بخشی از این نسخهاند.
- Int8-vllm
Int8-vllm با پشتیبانی از Nemotron 3.5 Bolt 74B بهروز شد
سازندهٔ Int8-vllm از اجرای checkpointهای اصلی Nvidia Bolt، افزودن cache برای وزنهای int8 و پشتیبانی از AMD Infinity Storage خبر داده است.
- Muru

نگاهی به Muru؛ اجرای برنامههای Python با مدل مشترک توسعه و production
Graham Dumpleton در معرفی عملی Muru، نصب و اجرای یک برنامه WSGI را نشان میدهد؛ از تفکیک زمان انتظار درخواست و اجرای برنامه تا reload با آمادهسازی worker جدید.