The Commit
Kanalga Telegram’da o‘tish
توسعه میدیم و توی راه توسعه چالش ها و مشکلات رو به اشتراک میزاریم (: @TheLinuxGP
Ko'proq ko'rsatish428
Obunachilar
Ma'lumot yo'q24 soatlar
+57 kunlar
+2030 kunlar
Postlar arxiv
428
یکی از چیزایی که توی کار با Docker خیلی اذیتم میکنه وضعیت اینترنت و دردسر Pull کردن Imageهاست
برای همین یک Registry داخلی با Nexus و Caddy راه انداختم که Imageها رو Cache میکنه
یعنی یه Image رو یک بار میگیریم، بعدش Pullهای بعدی از همون Registry داخلی انجام میشن و دیگه لازم نیست هر بار به Docker Hub وصل بشیم
آدرس مخزن گیتهاب
https://github.com/irvaniamirali/docker-registry-cache
428
roast me, no filter, no mercy
اینو بدین ChatGPT خروجی باحاله😂😂
اونجا که ازش کامند نصب x-ui رو میخواستم چون گیت هاب بالا نمیومد و این ساده ترین راه بود برای گرفتنش😂
428
یه برنامهی اوپن سورس و کراس پلتفرم که میتونه شمارو از دست شیریت یا اینجور اپها خلاص کنه...
https://github.com/localsend/localsend
428
Repost from sohrab::stdout
سینا بهم پیشنهاد کرد که کامیتمسیج هایی که میزنم رو به صورت استاندارد Conventional بنویسم که خواناتر باشه.
حالا این چی هستش؟
یعنی بجای اینکه پیام کامیت رو هرجور که به ذهنمون رسید بنویسیم، با یه ساختار ثابت و قابل پیشبینی بنویسیمش:
نوع(محدوده): توضیح کوتاه
نوع مشخص میکنه این کامیت اصلاً چهکاری کرده. رایجترینهاش اینان: feat برای قابلیت جدید، fix برای رفع باگ، docs برای مستندات، style برای تغییراتی که به منطق کد کاری ندارن، refactor برای بازنویسی بدون تغییر رفتار، test برای تستها، و chore برای کارهای نگهداری.
محدوده اختیاریه و نشون میده تغییر مربوط به کدوم بخشه، مثلاً auth یا ui. مثال:
fix(auth): validate password length before submit
یا:
refactor(installer): simplify driver detection logic
اگه توضیح بیشتری لازم باشه، بعد از خط اول یه خط خالی میذاریم و بدنه کامیت رو مینویسیم. برای breaking change هم یا بعد از نوع علامت تعجب میذاریم مثل feat!: یا توی فوتر مینویسیم BREAKING CHANGE.
فایدهش اینه که تاریخچه پروژه خواناتر میشه و ابزارهایی مثل changelogسازها و semantic versioning هم مستقیم از همین ساختار استفاده میکنن.
من از این به بعد سعی میکنم همینجوری کامیت بزنم، پیشنهاد میکنم شما هم امتحانش کنید.
اطلاعات بیشتر:
https://www.conventionalcommits.org/en/v1.0.0/
@SohrabContents428
اگه دنبال یه راه خوب برای تمرین واقعی Linux و DevOps هستین، SadServers رو ببینین.
ایدهش سادست: بهتون یه سرور میده که یه مشکلی داره و باید خودتون بفهمین مشکل چیه و حلش کنین.
مثلا فقط میگه:
The server is slow.
از اینجا به بعد دیگه خبری از آموزش قدمبهقدم نیست. باید خودتون دنبال سرنخ بگردین، فرضیه بسازین و به Root Cause برسین. آخرش هم سیستم بررسی میکنه که واقعا مشکل رو حل کردین یا نه.
به نظرم برای تمرین Troubleshooting خیلی جذابه. مخصوصا چون توی دنیای واقعی معمولا کسی بهتون نمیگه دقیقا چه دستوری بزنین.
https://sadservers.com/
428
با دیدن این تمام خاطرات خودم زنده شد
۵ یا ۶ سالگی به شدت پای کامپیوتر و گیم بودم جوری که هنوز تاثیراتش روم مونده
428
بازم اختلال بازم اختلال
و هیچ کدومشون هم نمیدونن مشکل چیه و میگن برطرف میشه
یه هفته ست اختلال نزاشته درست کارارو انجام بدیم.
428
مدل های مختلف دارن این قسمت پلاگین رو اضافه میکنن و حالا این چجوریه؟
شما به مدل هوش مصنوعی یا همون llm ای که دارین دسترسی های مختلف میدین مثل جمیل، گوگل درایو، گیتهاب و غیره...
که توضیح کوچیکی زیرشون داده که چه کاری میکنه.
مثلا برای جمیل دسترسی read, manage رو داره که میتونه جمیل هایی که دریافت میکنین رو بخونه و خلاصه بده بهتون.
و قسمت جالبش اینه وقتی ai بتونه به برنامه هاتون دسترسی داشته باشه مثل یه دستیار هوشمند هستش که کارهارو براتون خیلی راحت تر میکنه.
428
پست جدید پاول دروف توی چنل تلگرامش
عکس خودشو گذاشته نوشته روسیه به من میگه تروریست.
بعد به طالبان میگه شرکای تجاری
428
فیبر مخابرات از شنبه به طور عجیب غریبی اختلال داره و خودم همین مشکلو داشتم که سرورم بهم پینگ icmp میداد ولی دسترسی tcp قطع بود.
428
Repost from 🪷 My Safe Aquarium ✨
از همون روزی که تلگرام فیچر ریچ تکست و قابلیت استفاده از لاتکس(فرمولای ریاضی) رو توی تلگرام اضافه کرد با رها صحبت کردم و این پروژه رو استارت زدیم.
شما بدون اکانت پرمیوم نمیتونی از این فیچر تلگرام استفاده کنی ولی ربات ها میتونن بدون پرمیوم اینکارو کنن، ماهم خب یه رباتی طراحی کردیم که بتونه از طرف شما براتون ریچ مسیج بسازه و خب اینطور دیگه میتونید بدون خریدن اکانت پرمیوم هم از این قابلیت تلگرام استفاده کنید :)))
@LatexRM_bot
امروز نشستم سورسشو ریفکتور و اوپن کردم:
github.com/hctilg/TelegramLaTeXBot
#myproject@xAquarium
428
یه همچین صفحه ای کمک میکنه راحت تر به اون پست تمیزی که میخوای برسی و محتوات هم منظم تر میبینی
428
آپدیت جدید تلگرام
استفاده از ادیتور تلگرام که این دفعه کار ما رو خیلی ساده و تمیز تر کرده حلالش باشه
برای اضافه کردن عکس هم باید پریمیوم باشی و خیلی از قابلیت های دیگه
428
این روز ها مردم جنوب به شدت تحت فشار هستند, به یاد تمام عزیزانی که برای کشورمون جونشون رو فدا کردند 💙
اگر بخوام یکی از بهترین قابلیت های گیت هاب رو بگم صد در صد Github Action's هستش حالا چرا این قابلیت:
خیلی باحال میشه اگر یه اتوماسیون درست کنیم که خودکار بعد از یه اتفاق بیلد بگیره یا release منتشر کنه کاری که گیت هاب اکشنز به خوبی اونو برامون انجام میده !
به زبون خیلی ساده تر:
هر وقت یک اتفاقی در ریپازیتوری افتاد، یک یا چند دستور به صورت خودکار اجرا کن.خب حالا برای اینکار ما نیازمند فایل yaml هستیم که باید توی یه همچین ساختاری باشه
.github/ └── workflows/ └── test.ymlو حالا محتویات این فایل چی میتونه باشه و چه ساختاری باید داشته باشه؟؟
name: Hello World on: push: jobs: hello: runs-on: ubuntu-latest steps: - run: echo "Hello GitHub Actions!"این ساده ترین ساختاری هستش که میتونیم مثال بزنیم. حالا تفسیر کد بالا رو پایین میتونید بخونید حتی اضافه تر هم توضیح داده شده !
name نام Workflow که در بخش Actions گیتهاب نمایش داده میشود. on مشخص میکند Workflow در چه رویدادی اجرا شود؛ مانند push، pull_request، workflow_dispatch یا اجرای زمانبندیشده با cron. jobs مجموعهای از Jobها که قرار است اجرا شوند. هر Workflow میتواند یک یا چند Job داشته باشد. runs-on سیستمعاملی که Job روی آن اجرا میشود؛ مانند ubuntu-latest، windows-latest یا macos-latest. steps لیست مراحل اجرایی داخل هر Job. هر Step میتواند یک دستور (run) اجرا کند یا از یک Action آماده (uses) استفاده کند. run برای اجرای مستقیم دستورات Shell، مانند اجرای اسکریپت، نصب پکیج یا بیلد پروژه. uses برای استفاده از Actionهای آماده GitHub یا Actionهای ساختهشده توسط دیگران، مانند actions/checkout یا actions/setup-python. with ارسال تنظیمات و پارامترها به یک Action. env تعریف متغیرهای محیطی که در Workflow، Job یا Step قابل استفاده هستند. secrets دسترسی امن به اطلاعات حساس مانند Tokenها، API Keyها و رمزهای عبور بدون قرار دادن آنها در کد. needs مشخص میکند یک Job پس از پایان موفق Job دیگری اجرا شود. if اجرای شرطی یک Job یا Step بر اساس یک شرط مشخص. strategy تعریف استراتژی اجرای Jobها. matrix اجرای همزمان یک Job با نسخهها یا تنظیمات مختلف، مثلاً تست روی چند نسخه Python یا چند سیستمعامل. permissions تعیین سطح دسترسی Workflow به Repository و سایر منابع GitHub. timeout-minutes حداکثر زمان مجاز برای اجرای یک Job پیش از توقف خودکار. defaults تعیین تنظیمات پیشفرض مانند Shell یا working-directory برای مراحل اجرا.توی دوران قطعی وقتی دسترسی به یوتیوب نبود و گیت هاب رو میشد اورد بالا این بهترین راه بود برای یه دانلودر خیلی باکیفیت اما چجوری؟؟ github.com/MamdMehrabi/YouTubeDownloader این فورکی هستش که از پروژهی اون دوستمون گرفتم که الان کلا اکانت گیت هابش رو گیر نیوردم متاسفانه قسمت README پروژه کامل توضیح داده که باید چیکار کنید. اینو بهتون پیشنهاد میدم چون توی دوران قطعی خودم تونستم با این روش متدهارو گیر بیارم و وصل بشم. و حالا میخوام امروز براش یه لینک مستقیم بزنم که لینک مستقیم بدید بهش و براتون توی ریپازیتوری اپلود کنه ( البته این برای سایت های ایران اکسس نیست چون سرور مجازی که بهمون میده خارج محسوب میشه )
