پرش به محتوای اصلی

جعل کد فدرال

هکرنیوز۱۴۰۵ آبان ۸, جمعه، ساعت ۱۹:۱۴حدود 5 دقیقه مطالعه

آدرس مقاله: https://tangled.org/blog/forge/ آدرس نظرات: https://news.ycombinator.com/item?id=50305573 امتیاز: 276 # نظرات: 84

در بیشتر دو دهه گذشته، جعل کد محل زندگی پروژه‌ها بوده است: جایی که کد میزبانی می‌شود، تغییرات بررسی می‌شوند و مشارکت‌کنندگان یکدیگر را پیدا می‌کنند. فورج ها در ازای تمرکز، راحتی را ارائه می دهند.

اما فورج متمرکز در حال فروپاشی است. اتکا به شخص دیگری برای آپتایم، ویژگی‌ها، و مباشر خوبی برای کد شما خوب عمل نکرده است. چیزی که در آزمون زمان ایستاده است ایمیل است: Git برای انتقال کد و ایمیل - یک پروتکل باز - برای صحبت در مورد آن. اما به قیمت تجربه کاربر.

Tangled قصد دارد بهترین هر دو را به شما ارائه دهد: طول عمر یک پروتکل باز، با راحتی و صیقل دادن به یک فورج مناسب.

این اولین جعل کد واقعا فدرال است - شما می توانید کد را روی سرورهای خود میزبانی کنید و همچنان به طور یکپارچه با دیگران همکاری کنید. رویکرد ما عملی است: فقط بخش‌هایی را که می‌خواهید، مانند میزبانی Git یا CI runners، یا همه آن‌ها، از جمله سرور API و UI، خود میزبانی کنید. هر چیزی که انتخاب کنید، همچنان می توانید با بقیه صحبت کنید.

داشتن زیرساخت های خود به این معنی است که می توانید فورج خود را هک کنید، آن را گسترش دهید و آنطور که می خواهید سفارشی کنید. از آنجایی که Tangled بر اساس پروتکل AT ساخته شده است، می‌توانید افزونه‌های خود را بسازید، در firehose مشترک شوید یا حتی گره‌های کاملا سفارشی بنویسید، مانند این که روی Cloudflare Workers اجرا می‌شود و از محصول Artifacts آنها برای ذخیره‌سازی git استفاده می‌کند. یا یک اسپیندل کاملا سفارشی مانند mitchellh.com/tack. حتی فراتر بروید و سرور API فوق سبک ما را میزبانی کنید و فورج سفارشی خود را بسازید.

عوامل ساخت چنین نرم افزارهای فوق شخصی سازی شده را بی اهمیت جلوه داده اند، مخصوصا زمانی که نرم افزار از همان ابتدا با قابلیت هک طراحی شده باشد. Tangled فوق العاده عامل پسند است.

آینده مهندسی نرم‌افزار ممکن است یک هدف متحرک باشد، اما شرط‌بندی‌های ما بر روی پروتکل‌های باز و آژانس توسعه‌دهنده به ما این چابکی را می‌دهد که با آن حرکت کنیم، و تبدیل به فردی شویم.

نکته بزرگ واضح: با این نسخه، Tangled ظاهر کاملا جدیدی دارد. ما UI را در بالای معماری جدید خود (که در ادامه توضیح داده شده است) در Svelte دوباره انجام داده ایم. همه چیز اکنون باید سریعتر، از نظر بصری سازگارتر و زیباتر باشد! ممکن است چشمان شما نیز متوجه شده باشد که ما اینتر را با Timeless Sans عوض کرده ایم.

تا پیش از این، رابط کاربری وب و باطن Tangled یک Go monolith به نام appview بودند. سرویس appview نمایه سازی پروتکل AT، کش کردن، داده های خارج از پروتکل و رندر رابط کاربری را با استفاده از html/template + htmx مدیریت می کرد. این بر روی یک پایگاه داده SQLite در یک سرور متوسط ​​در سوئد اجرا شد.

تا زمانی که 50 تا 100 میلی‌ثانیه از سوئد فاصله داشتید، عالی بود، اما اکثر کاربران ما اینطور نیستند! ما دوباره معماری کردیم: یک برنامه frontend مستقل جدید در Svelte ساختیم که در لبه مستقر شده است. این توسط سرویس نمایه ساز جدید بدون دیسک و کاملا در حافظه ما که با Rust نوشته شده است پر شده است: bobbin. Bobbins به صورت جهانی در بیش از 11 منطقه مستقر شده اند و اطمینان حاصل می کنند که کاربران در سراسر جهان بهترین عملکرد API و UI را دریافت می کنند.

خواننده زیرک ممکن است متوجه شده باشد: bobbin صرفا فقط خواندنی است و فقط با داده‌های پروتکل AT سروکار دارد. بقیه چی؟ این عملکرد (و بیشتر) به مجموعه جدیدی از خدمات پشتیبانی واگذار شده است.

اول، خود مدل داده: ما مجموعه جدیدی از واژگان داریم، و همه چیز اکنون تحت org.tangled.*، جایگزین رکوردهای قدیمی sh.tangled.* است.

Knot2 دومین اجرای سرور گره ما با نام مناسب است که این بار در Rust بازنویسی شده است. Knot2 یک سرور Git کاملا سفارشی ایجاد می کند و همچنین در یک سرور SSH در همان باینری بسته می شود.

با knot2، محل زندگی برخی از داده‌ها را نیز تغییر داده‌ایم. مسائل، درخواست‌های کشش، نظرات، واکنش‌ها و برچسب‌ها اکنون روی گره، درست در کنار کد، به‌عنوان اشیاء مشارکتی (COB) ذخیره می‌شوند. COB فقط یک زنجیره از اشیاء Git در خود مخزن است. همکاران، اعضای گره و فهرست بلاک نیز به همین ترتیب ذخیره می شوند.

از این نظر، گره‌ها در حال حاضر بسیار شبیه به PDS رفتار می‌کنند: آنها رکوردهای امضا شده، شامل تاریخچه کامل، برای هر چیزی که متعلق به یک مخزن است و بسیار شبیه یک PDS هستند، نگه می‌دارند، این رکوردها از طریق firehose استاندارد AT Protocol همگام‌سازی می‌شوند.

اما چرا؟ مسائل و درخواست‌های کشش پروژه به همان اندازه که کد آن بخشی از آن است، بنابراین باید در هر کجا که می‌خواهید میزبان آن باشید، با آن زندگی کنند. این به پروژه شما حداکثر قابلیت حمل را می دهد.

اگر گره مسائل و نظرات شما را می نویسد، چه چیزی مانع از قرار دادن کلمات در دهان شما می شود؟ گواهینامه ها هر بار که رکوردی را روی گره ایجاد یا ویرایش می‌کنید، برنامه وب همچنین یک رکورد org.tangled.graph.attestation را در PDS خود می‌نویسد و به آن نسخه دقیق رکورد و تغییر COB در پشت آن اشاره می‌کند. تایید دو طرفه!

میزبانان خود باید با پیروی از راهنمای ارتقا، گره های خود را به نسخه 1.20.0 ارتقا دهند.

حساب های سازمان اینجا هستند! An Organization on Tangled یک حساب پروتکل AT واقعی است که DID و دسته مخصوص به خود را دارد و بر روی نمونه Tranquil PDS میزبانی می شود. آن‌ها حساب‌های بدون رمز عبور و تفویض شده هستند: شما یکی از صفحه سازمان جدید ایجاد می‌کنید و <name>.tngl.sh را با خودتان به عنوان مالک آن دریافت می‌کنید. مالکان می‌توانند اعضا را دعوت کنند، و هر کسی در سازمان می‌تواند هنگام ایجاد یا جدا کردن مخازن به عنوان آن عمل کند. مانند هر حساب دیگری، می‌توانید دسته را با دامنه‌ای که مالک آن هستید، تعویض کنید.

اگر یک حساب معمولی را به‌عنوان یک «سازمان» مستقل اجرا می‌کردید، کمی صبر کنید – ما در حال کار بر روی راهی برای جابه‌جایی آن‌ها هستیم. در اسناد بیشتر بخوانید.

جریان روابط عمومی ما بازنگری شده است. جریان جدید به همه، صرف نظر از اینکه از جوجوتسو استفاده می‌کنید یا فقط وانیلی گیت، این امکان را می‌دهد که PRهای انباشته شده را ارسال و بررسی کنند. اگر از Git استفاده می‌کنید، اکنون می‌توانید بین نسخه‌ها (که قبلا راند نامیده می‌شد) تفاوت ایجاد کنید. کاربران JJ نیز بین تغییرات فردی تفاوت دارند.

این همه نیست ما این راه‌اندازی را در چند هفته آینده شگفت‌انگیز می‌کنیم. در مرحله بعدی مخازن خصوصی، یک CLI، SDK برای زبان های مختلف و مهارت های نماینده شما قرار دارند.

تا آن زمان، از هر بخش از این راه اندازی به طور یکسان لذت ببرید.

کد شما، شبکه شما. بیا با ما در Tangled بسازیم.

خواندن متن کامل در هکرنیوزبه زبان اصلی، در سایت ناشر باز می‌شود
متن اصلی (انگلیسی)

The federated code forge

Article URL: https://tangled.org/blog/forge/ Comments URL: https://news.ycombinator.com/item?id=50305573 Points: 276 # Comments: 84

همه‌ی اخبار اقتصاد