fork

ایجاد مسیری تازه از وضعیت موجود، برای ادامهٔ جداگانهٔ توسعه، اجرا یا تاریخچه است؛ معنای دقیقش به زمینه بستگی دارد.

توضیح

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

مثال

فرض کن از یادداشت‌های فعلی یک داستان نسخه‌ای برمی‌داری و ادامهٔ متفاوتی برایش می‌نویسی. گذشتهٔ مشترک، نقطهٔ شروع مسیر تازه است؛ اما این‌که کدام بخش‌ها واقعاً مستقل باشند، به سازوکار نسخه‌برداری بستگی دارد.

چرا مهم است

هنگام توسعهٔ جداگانهٔ پروژه، ساخت process،؜ تغییر قواعد blockchain یا جدا کردن مسیر گفت‌وگو با آن روبه‌رو می‌شی؛ شناخت زمینه کمک می‌کند بفهمی چه چیزی جدا می‌شود و چه منابعی ممکن است همچنان مشترک باشند.

این کارت را هوش مصنوعی نوشته و دو بار با هوش مصنوعی بررسی شده است.

مطالبی با این مفهوم

  1. Muru

    Muru؛ یک‌بار import و چندین fork،؜ با بررسی ایمنی برنامه

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

    یادگیری: ۳ مفهومافزوده‌شده grahamdumpleton.me

  2. Muru

    معماری Muru؛ جداسازی ارتباط با client از اجرای Python

    Graham Dumpleton نقش edge،؜ host،؜ worker و controller را در Muru توضیح می‌دهد؛ معماری‌ای که اجازه می‌دهد نسخه‌های برنامه مستقل از بخش پذیرش اتصال‌ها جایگزین شوند.

    یادگیری: ۵ مفهومافزوده‌شده grahamdumpleton.me

  3. Research & Development

    تعویق fork در Hoodi پس از شناسایی خطرهای EIP-8037 و EIP-8038 برای برخی پروژه‌ها

    آزمایش‌های Glamsterdam نشان داده تغییر شیوه محاسبه gas می‌تواند برخی پروژه‌های Ethereum را آسیب‌پذیر کند. ACD تصمیم گرفته تا رفع مشکلات، Hoodi را fork نکند و از توسعه‌دهندگان خواسته وابستگی پروژه‌هایشان به هشت invariant را بررسی کنند.

    یادگیری: ۴ مفهومافزوده‌شده blog.ethereum.org

  4. Hermes Agent

    Hermes Agent v0.23.0؛ محیط Desktop در مرورگر و یک gateway برای هر گفت‌وگو

    نسخه The Hearth Release محیط Desktop را از طریق gateway خود کاربر در مرورگر ارائه می‌کند. مدیریت مشترک گفت‌وگوها، سقف هزینه برای tool‌های پولی MCP و تغییرات مهم هنگام ارتقا هم بخشی از این نسخه‌اند.

    یادگیری: ۳ مفهومافزوده‌شده github.com

  5. Int8-vllm

    Int8-vllm با پشتیبانی از Nemotron 3.5 Bolt 74B به‌روز شد

    سازندهٔ Int8-vllm از اجرای checkpoint‌های اصلی Nvidia Bolt،؜ افزودن cache برای وزن‌های int8 و پشتیبانی از AMD Infinity Storage خبر داده است.

    یادگیری: ۳ مفهومافزوده‌شده reddit.com

  6. Muru

    نگاهی به Muru؛ اجرای برنامه‌های Python با مدل مشترک توسعه و production

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

    یادگیری: ۴ مفهومافزوده‌شده grahamdumpleton.me