SCACHE: post #90 — TG.ME

توی این چند روز، یه نیازی در یکی از پروژه‌ها به وجود اومد. ما یه سری فایل استاتیک داشتیم که هم باید توسط nginx در دسترس قرار می‌گرفتن، و هم در حین جنریت شدن یه سری صفحه‌ی html، توسط یه برنامه‌ی جاوایی استفاده می‌شدن. این فایل‌ها توی پروژه‌ی جاوا بودن و بعد از بالا رفتن اون پروژه، پیدا کردن این فایل‌های استاتیک از توی فایل jar پروژه و گذاشتنشون توی جایی که در دسترس باشه، کار خیلی سخت و پیچیده‌ای بود. راه‌حل ساده و سریع؟ git submodule! گیت یه مفهومی داره به اسم submodule، که توسط اون می‌تونید توی یه پروژه‌ای که توسط گیت مدیریت میشه، یه پروژه‌ی دیگه رو clone کنید، از فایل‌هاش استفاده کنید و اونها رو تغییر بدید،‌ بدون این که توی پروژه‌ی اصلی‌تون تغییر اساسی‌ای ایجاد بشه! یکی از فلسفه‌های پشت این قابلیت، می‌تونه نبود یک package manager درست و حسابی توی زبان‌هایی مثل C و C++ باشه. اگر می‌خواید بیشتر راجع به نحوه‌ی کار با submoduleها آشنا بشین، این صفحه توضیحات کاملی داده. درسته یکم دردسر داره برای استفاده، ولی فوایدش خیلی زیادتره 😁. گیت همیشه آدم رو با featureهاش سوپرایز می‌کنه. این نشون میده چقدر git بر حول کاربرانش یعنی توسعه‌دهندگان طراحی و توسعه داده شده.

January 21, 2025 611 4