The Commit
الذهاب إلى القناة على Telegram
توسعه میدیم و توی راه توسعه چالش ها و مشکلات رو به اشتراک میزاریم (: @TheLinuxGP
إظهار المزيد451
المشتركون
+324 ساعات
+107 أيام
+2230 أيام
أرشيف المشاركات
451
یکی از چیزایی که توی یادگیری DevOps سخته اینه که بین این همه ابزار و تکنولوژی بدونی چی رو باید یاد بگیری و از کجا شروع کنی.
این مخزن یه مسیر ۹۰ روزه برای یادگیری Cloud Engineering داره؛ از Linux و Networking گرفته تا AWS، Docker، Kubernetes، Terraform و CI/CD.
در کنارش تمرین و پروژه هم داره تا فقط درگیر خوندن مطالب و دیدن آموزشها نباشین.
داشتن یه مسیر مشخص خیلی بهتر از اینه که هر روز سراغ یه ابزار جدید بریم و ندونیم چطور باید چیزهایی که یاد گرفتیم رو کنار هم قرار بدیم. لینک مخزن گیتهاب:
https://github.com/ahmadjawad533/90-days-of-cloud-engineering
451
حتماً براتون پیش اومده که بعد از نصب ویندوز کنار لینوکس، ویندوز میاد اولویت بوت رو میدزده و دیگه خبری از منوی GRUB نیست! یا برعکس، میخواید یه توزیع خاص مثل ParchLinux همیشه اولویت اول باشه.
امروز یه چالش کوچیک ولی خیلی کاربردی رو با efibootmgr حل کردیم.
فرض کنید توی ترمینال این دستور رو میزنید تا ببینیم وضعیت چیه:
sudo efibootmgr
توی خروجی یه چیزی شبیه به این میبینیم:
BootCurrent: 0005 (یعنی الان از ParchLinux بالا اومدیم) BootOrder: 0002,0005,0001,0000 (ترتیب فعلی بوت) Boot0001: مربوط به GRUB اصلیه. Boot0000: مربوط به Windows Boot Manager.خب، اینجا ویندوز اولویت آخر رو داره، ولی ما میخوایم GRUB (یعنی همون 0001) همیشه اول لیست باشه تا منوی بوت لینوکس بیاد. راهحل چیه؟ کافیه توی ترمینال این دستور رو بزنید:
sudo efibootmgr -o 0001,0002,0005,0000این دستور دقیقا چیکار میکنه؟ سوییچ -o مخفف --bootorder هست و به سیستم میگه لیست جدید بوت رو با این ترتیب تنظیم کن. ما عدد 0001 (GRUB) رو بردیم اول لیست، بعد بقیه رو چیدیم و ویندوز (0000) رو گذاشتیم آخر. نکته مهم: اعداد Boot روی هر سیستمی ممکنه فرق داشته باشه، پس حتماً از خروجی efibootmgr خودتون اعداد رو بردارید! یه ترفند باحال دیگه: اگه نمیخواید اولویت همیشگی رو عوض کنید و فقط میخواید فقط برای بوت بعدی GRUB بیاد بالا، از این دستور استفاده کنید: sudo efibootmgr -n 0001 (برای وقتی که فقط یه بار میخواید وارد لینوکس بشید و بعدش برگرده به حالت قبل، عالیه!) بعد از اجرای دستور، یه بار دیگه sudo efibootmgr رو بزنید تا مطمئن بشید BootOrder به درستی تغییر کرده.
451
اگر شما هم دوس دارین دسترسی برای قابلیت Serverless تلگرام رو بگیرین کافیه از طریق بات @BotFather یه بات بسازین و بعدش مینی اپ بات فادرو بیارین و باتی که ساختین رو انتخاب کنین و گزینه serverless رو فعال کنین تا برین توی لیست انتظار که بعدا تایید کنه دسترسیتونو
451
و اینکه یه پروژه باحال داریم میزنیم😂
استارتش از ۳ مهر ( ۲۵ سپتامبر ) زده شده به مناسبت تولد ۲۰ سالگیم قرار بود ایدشو بزارم که نشد و قرار شده بیشتر روش کار کنیم تا به نسخهی خوبی برسیم.
451
از ساعت ۳ یا ۴ ظهر هستش که اینترنت فیبر نوری مخابرات قطع شده و همراه اول هم کلا پکت لاس شده جوری که ترافیکم با همراه تموم میشه اصن غیرقابل توصیف هستش.
و از صبح من میخواستم روی پروژه ای کار کنم اینترنت استیبل نداشتم بنازم بنازم.
زنگ هم زدیم پشتیبانی ۲۰۰ نفر تو صف بودن و هنوز که هنوزه قطع مونده.
451
+1
تلگرام یه قابلیت باحال به اسم Welcome Message اضافه کرده که از اسمش مشخصه چیکار میکنه
خوشآمد گویی به نیوممبرای چنل که قابلیت باحالیه و البته برای چنل هم فعالش کردم ((:
451
فقط منم احساس میکنم سیستم فیلترینگ عجیب غریب قوی تر شده؟
این چند مدت کانکشن هارو راحت شناسایی کرده و بسته.
کانفیگ های مختلفم زدم ولی نتیجه یکی بوده ( فیلتر شده )
الان فقط ایدم این بود برگردم به پنل مرزبان و یه کانفیگ برای هسته بنویسم تا الان که جواب بوده خداروشکر
451
+3
تنها قسمتی که از مراسم اپل خوشم اومد رو خواستم بزارم
و حالا از چیش خوشم اومد؟
طراحی بدون مشکل مثل زد فولدا ( البته جوری که مشخص بود تا حدود زیادی مشکل تاشدگی بدون نقص در اومده )
و اینکه os رو براش کامل کاستوم کردن جوری که شما وقتی دارین فیلم تملشا میکنین میخواید ببندید یا بازش کنید هم انیمیشن خاص خودشو داره...
و اپلیکیشن ها هم کامل ریسپانسیو شدن که خیلی مچ شدنش جذابه
451
چند وقت بود روی یه موزیک پلیر دسکتاپ به اسم Donya کار میکردم و بالاخره نسخهی اولش آماده شد
دنیا با Tauri و React ساخته شده و فعلا تمرکزش روی یه تجربهی ساده و جمعوجور برای گوش دادن به موسیقیه.
نسخهی اولش منتشر شده و خوشحال میشم نظرتون رو دربارهش بدونم
https://github.com/irvaniamirali/donya
451
احتمالا از اینجور ویدیوها دیدین که کد تبدیل به موزیک میشه، خیلی باحاله حالا قضیه چیه؟
سایت Strudel یه محیط آنلاین برای ساخت موسیقی به روش Live Coding هست. یعنی بهجای اینکه مثل نرمافزارهای معمولی نتها و درامها رو با موس داخل یک Timeline بچینی، با کد به کامپیوتر میگی چه صدایی، با چه ریتمی و چه الگویی پخش بشه.
مثلاً با یه خط کد میتونی یه ریتم بسازی:
s("bd*4")یا نتهای مختلف رو تعریف کنی:
note("c4 eb4 g4 bb4")و بعد همون لحظه نتیجه رو بشنوی و کدت رو تغییر بدی؛ به همین دلیل بهش Live Coding میگن. جالبتر اینکه میتونی درام، Bass، ملودی، افکت و چندین لایه مختلف رو با هم ترکیب کنی و با تغییر کد، موزیک همون لحظه تغییر کنه. Strudel بر پایهی JavaScript ساخته شده و از ایدهها و سینتکس TidalCycles الهام گرفته. برای شروع هم لازم نیست نرمافزار خاصی نصب کنی؛ مستقیماً داخل مرورگر اجرا میشه. 🌐 https://strudel.cc/
451
یکی از چیزایی که توی کار با Docker خیلی اذیتم میکنه وضعیت اینترنت و دردسر Pull کردن Imageهاست
برای همین یک Registry داخلی با Nexus و Caddy راه انداختم که Imageها رو Cache میکنه
یعنی یه Image رو یک بار میگیریم، بعدش Pullهای بعدی از همون Registry داخلی انجام میشن و دیگه لازم نیست هر بار به Docker Hub وصل بشیم
آدرس مخزن گیتهاب
https://github.com/irvaniamirali/docker-registry-cache
451
roast me, no filter, no mercy
اینو بدین ChatGPT خروجی باحاله😂😂
اونجا که ازش کامند نصب x-ui رو میخواستم چون گیت هاب بالا نمیومد و این ساده ترین راه بود برای گرفتنش😂
451
یه برنامهی اوپن سورس و کراس پلتفرم که میتونه شمارو از دست شیریت یا اینجور اپها خلاص کنه...
https://github.com/localsend/localsend
451
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/
@SohrabContents