LinAcademy
رفتن به کانال در Telegram
LinAcademy Team Contact us : @Pakrohk Support : https://daramet.com/pakrohk
نمایش بیشتر634
مشترکین
اطلاعاتی وجود ندارد24 ساعت
+37 روز
-330 روز
آرشیو پست ها
635
Repost from Techism / تکیسم
هایپرلند 0.57 منتشر شد 🔥
و خبر خوب اینه که تغییراتی نداشته که مجبور بشید مثل همیشه دست به کانفیگ بشید :) تغییراتش به طور کلی زیاد نیستند , دوتا مدل جدید بلر آورده ولی تغییر جذابش افکت wobbly روی پنجره هاست اگر یادتون باشه قدیما با مدیرپنجره ی compiz این افکت رو داشتیم ( از روی مک او اس الگو برداری شده)تغییرات کامل رو میتونید توی خود سایت هایپرلند بخونید
فعال سازی wobbly windows :
hl.config({
decoration = {
wobble = {
enabled=true,
},
},
})
@TheTechism - #Hyprland #Linux
635
خب این بحثی که مهدی توی گروه شروع کرد، بهم بهانه داد که پست دوم رو بنویسم :)
الگوهای طراحی (Design Patterns)
توی پست قبلی یک ریپازیتوری گیتهاب درباره دیزاینپترنها معرفی کردم. انتخاب زبان برنامهنویسی مستقیماً به الگوی طراحی ما ربط داره؛ فعلاً همین رو در نظر داشته باشید تا در پستهای بعدی تخصصیتر بازش کنم و توضیح بدم.ابزار ما چیه؟ (نوشتن Spec) قبل از کدنویسی باید با جواب دادن به چند سوال، Spec پروژه رو بنویسیم (کاری که از قدیم اولین قدم توسعه اصولی بوده و امروزه توی کار با AI هم زیاد میشنوید؛ چه توی Notion بنویسیدش چه هر ابزار دیگهای):
۱. ابزار ما چیه ؟ پسورد منیجر CLI
۲. قرار چیکار کنه ؟ در سریعترین زمان پسورد ها رو ذخیره و بازیابی کنه.
۳. چطوری این کار رو انجام میده ؟ نام نرم افزار یا یوزرنیم کاربر رو میگیره و پسورد مناسب رو تولید میکنه یا از کاربر میگیره و ذخیره می کنه.
۴. آیا GUI داره ؟ اگه CLI اصولی نوشته بشه، در هر بستری (حتی به عنوان هسته یک GUI) قابل استفادست.
۵. چه ویژگی هایی داره ؟ باید ویژگیهای یک CLI استاندارد رو داشته باشه.
۶. قابلیت های مورد انتظارمون چیه ؟ دستوری برای ذخیره، واکشی و امنیت مناسب داشته باشه و بدون کوچکترین لگ توی شل اجرا بشه.خصوصیات یک نرمافزار CLI خوب چیه؟
سرعت بالا: باید زیر ۳ تا ۱۰ میلیثانیه جواب بده این بیشتر از هر چیزی برای کاربرنهایی به چشم میاد.
ساختار درختی: دستورات باید یکپارچه باشن؛ مثلاً اگه pass print داریم، دستور بعدی نباید passctl get key باشه، بلکه باید pass get key باشه.
تفکیک اجزا (استاندارد POSIX و Unix): طبق پازیکس برای api ها و یونیکس برای فایل ها، هر بخش فقط باید یک کار رو درست انجام بده و همهچیز فایلمحور مدیریت بشه. یعنی اگر با زدن pass get، وارد کلاسی بشه که به ۲۳ فایل دیگه وصل میشه، هم اجرای ۳ تا ۱۰ میلیثانیه غیرممکن میشه و هم برای خوندن یک دیتابیس کوچیک، به اندازه یک نرمافزار بزرگ رم اشغال میکنیم! از سمتی درصورت وجود مشکل یا باگ باید کل این ساخت دار رو برسی بکنیم، در صورتی که در معماری درست، pass get فقط فایل get رو اجرا میکنه، دیتابیس رو با کلیدش میخونه و خروجی میده.خب حالا میریم سر خونه اول! پس زبان مناسب چیه؟ حالا که فهمیدیم ابزاری که نیاز داریم چیه، قراره چیکار کنه و دیزاینِ سیستم پیادهسازیش چیه (توی این نرمافزارهای ترمینالی معمولاً از Command Pattern استفاده میکنیم)، وقت انتخاب زبانه. که این با چند تا سوال راحت جواب داده میشه:
کدوم زبان رم کمی مصرف میکنه یا خودش همیشه توی رم حضور داره؟
کدوم زبان کمتر از ۱۰ میلیثانیه به ما جواب میده؟
و در نهایت کدوم زبان در اجرای اولیه حجم زیادی برای فایلهاش لازم نداره و اجازه میده هر دستور رو به یه فایل اجرایی یا اسکریپتِ کاملاً مستقل تبدیل کنیم؟این ۳ مورد توی گزینه های ما هستن که این شرایط رو دارن: ۱. C ۲. Rust ۳. Python
زبان C: همون زبونیه که قدیم و حتی همین الان بیشتر ابزارهای استاندارد شل رو با همین فلسفه باهاش نوشتن (مثل ساختار اصلی Git). دلیلش هم مشخصه؛ فوقالعاده کمحجمه، در کمتر از ۳ میلیثانیه از روی دیسک اجرا میشه و اجازه میده به جای لود کردن کدهای اضافه، چندین مینیباینریِ مجزا که از طریق یک باینری واحد فراخوانی میشن داشته باشید.
زبان Rust: دقیقاً همون سرعت و معماریِ مینیباینریهای C رو میده، اما با این تفاوت که از نظر ردپای حافظه (Memory Safety) بسیار ایمنتر شده (که برای ابزاری مثل پسورد منیجر حیاتیه)، کتابخونههاش هر روز در حال رشده و کدنویسی و مدیریت این مینیباینریها توی اون از C سادهتره (حداقل برای من).
زبان Python: توی لینوکسها مدرن پایتون خودش همیشه با سیستمعامل بالا میاد و از قبل توی رم هست (و فقط در صورتی دوباره فراخوانی میشه که دستور رو بهجای Shell Integration مستقیم با python ران کنی). پس اجرای یه دستور با پایتون، اجرای یه باینری از روی دیسک نیست؛ اینجا NO fork/exec اتفاق میفته! یعنی هر فایلِ دستور به صورت مستقیم با یک شل تعاملی اجرا میشه؛ درست انگار یه فایل رو توی برنامهت ایمپورت کردی یا یه فانکشن داخلی رو صدا زدی که در کمتر از چند میکروثانیه (طبق بنچمارک من ۰.۰۷ میلیثانیه) دستور شما جواب میده.⚜️ نکته طلایی : وقتی میخواید با C یا Rust ابزار شل بنویسید، بهترین روش برای تفکیک وظایف اینه که قید یک برنامه غولپیکر و یکپارچه رو بزنید و سراغ ساخت مینیباینریها (Mini-binaries) برید؛ یعنی برنامههای کوچیک و مستقلی که هر کدوم فقط و فقط یک کار رو به بهترین شکل انجام میدن. توی این معماری، دستور اصلی شما (مثلاً
pass) فقط یه هدایتگر سبکه که مینیباینریِ مربوط به همون دستور (مثل pass-get یا pass-insert) رو صدا میزنه
@LinAcademy635
به چها این ریپو از گیت هاب برای توسعه نرم افزار بشدت مهم، دوستان ازم درخواست کردن که آموزش بزارم درمورد معماری نرم افزار
شروع درک معماری نرم افزار درک مهم بودن دیزاین پترن هاست
لینک زیر رو مطالعه کنید.
https://github.com/3lf/design-patterns-for-humans
@LinAcademy
635
Repost from Techism / تکیسم
با توجه به شرایط فعلی , احتمال قطعی اینترنت به شدت بالاست! , یه لیست از چیزهای لازم رو اماده کردم , اگر چیز دیگه ای به ذهنتون میرسه اضافه کنید :
- برنامه ی MHRV که با وصل شدن google میتونید باهاش به اینترنت تاحدودی دسترسی داشته باشید - وایت دی ان اس - اگر گوشی دارید که روش کاستوم رام زدید حتما فایل رام اصلی و فایل های انبریک کردنش رو داشته باشید که اگر چیزی شد نابود نشید! - اگر سخت افزارش رو دارید (حداقل ۸ گیگ وی رم ) یه LLM معقولی مثل Bonsai 2 رو داشته باشید! , حتی اگر مشخصات کمتری دارید میتونید سراغ مدل های سبکتر برید - اگر روی گنو/لینوکس هستید پروتون و یه لانچر برای گیم داشته باشید که به مشکل نخورید برای گیم - برنامه ها و همه چیتون رو اپدیت کنید - پیام رسان غیرمتمرکزی مثل ماتریکس رو داشته باشید - اگربرنامه نویس هستید کتابخانه ها و برنامه های موردنظرتون رو دانلود کنید - بازی , انیمه و فیلم و سریال و هرچیزی که سرگرمتون میکنه رو دانلود کنیدهرجا که میتونید نشر بدید , لیست بروزرسانی میشه
@TheTechism - #Info #Internet
635
خب بالاخره لینوکس ۷.۳ منتشر شد ، چه تغییراتی داشته؟
#Linux #GNU_Linux #FOSS
۷.۳ بروزرسانی بزرگی بوده ، با تغییرات زمان بند(scheduler) شروع میکنم
ز
مان بند eevdf روی ۷.۳ بهبود هایی داشته ، عملکرد روی پردازنده ها با معماری هسته های هیبرید بهتر شده ، تاخیر تسک ها با اسلایس کم هم بهبود یافته زمانبند تغییرات دیگه ای داشته که باعث بهبود عملکرد روی سیستم های قدیمی میشه مدیریت vRam بهبود خیلی زیادی داشته که روی عملکرد میتونه واقعا اثر داشته باشه ، این بهبود رو کاربرانی که ۸ گیگ حافظه ی vRam یا پایین تر دارند حس خواهند کردبه درایور جدید و مدرن NTFS پشتیبانی خواندن اطلاعات برای فایل Windows System Compression ، همچنین عملکرد درایور btrfs هم بهبود یافته
پشتیبانی های سخت افزاری هم به شدت بهبود یافته : - پشتیبانی از Steam Controller - پشتیبانی اولیه از پردازنده های m3 (در مراحل اولیه است و حتی ساپورت از گرافیکشون رو هم نداره) - اضافه شدن پشتیبانی Adreno 704 و 722❗️تغییرات این نسخه واقعا زیاد بوده , میتونید لیست کامل تغییرات + جزئیاتشون رو از اینجا بخونید #LinNews@LinAcademy
635
دسترسی بدون محدودیت به Gemini و ابزارهای تحریمشده!
#VPN #Ad #اینترنت_آزاد
دور زدن کامل تحریمهای ابزارهای هوش مصنوعی (Gemini, ChatGPT و...) رفع تحریم سایتها و سرویسهای توسعهدهندگان و بینالمللی آیپای ثابت و بدون قطعی مناسب ترید و برنامهنویسی اتصال سریع و آسان روی تمامی دستگاههاجهت دریافت اکانت تست و مشاوره خرید پیام بدید. @qentrixShop_bot
635
Repost from کانال اطلاعرسانی توزیع پارچ
نگارش آزمایشی پارچ هایپرلند عرضه شد 🥳
این نسخه آزمایشی نیازمند تست و آزمایش افراد بوده و بعد از اطمینان از کارکرد صحیح در رلیزهای آتی از RC در آمده و در سایت قرار میگیرد.
این نسخه توسط تیم پارچ نگهداری میشود.
دریافت این نسخه
@ParchLinux | پارچ لینوکس
635
Repost from کانال اطلاعرسانی توزیع پارچ
پیشنمایش نسخهی لایت پارچ
تیم پارچ مفتخر است که پیشنمایش نسخهای سبکتر را برای سامانههای با منابع محدودتر معرفی کند.
این نسخه بر پایهی Labwc توسعه یافته است؛ کامپوزیتوری برای Wayland که مصرف حافظهی بسیار پایینی دارد و تجربهای مینیمال ارائه میدهد. پیکربندی و تمهای آن شباهت نزدیکی به Openbox دارد و کاربران سابق این محیط بهسرعت با آن آشنا خواهند شد.
شل مورد استفاده در این نسخه Noctalia است که پشتیبانی کامل از Labwc را دارا هستش و ظاهری بهتر را به شما ارائه میدهد.
نسخهی لایت بهزودی، بهصورت آزمایشی و در کنار نسخهی XFCE عرضه میشود. ادامهی توسعه یا توقف آن، منوط به بازخورد کاربران خواهد بود. در صورت آزمایش این نسخه که بهزودی عرضه میشود، نظرات خود را با ما در میان بگذارید.
@ParchLinux | پارچ لینوکس
635
آهنگ های منتخب هفته
هر هفته شنبه ، ۳ آهنگی که بیشترین ری اکشن رو در لینچت دارند ، در کانال قرار میگیرند@LinAcademy | @LinChat
635
زمان بند (Scheduler) در لینوکس چیه؟
#Linux #FAQ
زمان بند مشخصه میکنه که هر پروسه چه زمانی و روی کدام هسته ی CPU اجرا بشه صورت تنظیم بهینه این بخش توی کار های سنگین تقسیم کار بین هسته های CPU رو بهتر انجام میشه و هیچ هسته ای بیکار نمی مونه. علاوه بر این در یک توزیع لینوکس مدرن نیز بخش های دیگری مانند تنظیم فرکانس CPU هم به وضعیت Scheduler وابسته است. امروزه اکثر توزیع های لینوکسی از زمانبند پیشفرض EEVDF استفاده می کنن که برای سناریو های کلی عملکرد خیلی خوبی داره , ولی بعضی از توزیع ها زمانبند دیگه ای رو به نام BORE ارائه میدن که برای کار های خاصی خصوصا بازی کردن میتونه تاخیر کمتری ارائه بده. یا به عنوان مثال زمان بند BMQ که هدف بر ساده سازی انتخاب پروسه دارهزمانبند لینوکس ۷.۳ قراره در EEVDF کمی تغییرات بده که در نهایت باعث کمتر شدن تاخیر میشه #LinFAQ@LinAcademy
635
Repost from کانال اطلاعرسانی توزیع پارچ
دسترسی به مستندات و راهنماهای آزاد به زبان فارسی، یکی از گامهای مهم برای رشد جامعه کاربری گنو/لینوکسه. خوشحالیم اعلام کنیم که با تلاش جمعی از بچههای کامیونیتی، صفحات man page گنو/لینوکس به فارسی ترجمه شده و هماکنون از طریق آدرس زیر در دسترسه:
🌐 man.parchlinux.com
این پروژه بدون وقت و انرژی بچهها به نتیجه نمیرسید؛ یک تشکر ویژه و صمیمانه از همراهان این مسیر:
🔹 مهدی • اهورا • پرویز • امیر
اگر شما هم تمایل دارین در ترجمه صفحات بیشتر، ویرایش یا تکمیل مستندات مشارکت کنید، درهای جامعه پارچ همیشه به روی همه بازه.
@ParchLinux | پارچ لینوکس
635
+4
فورک و بازطراحی Kde connect android دردسترس قرار گرفت
#Plasma #KDE #Android
برنامه ی Kde connect android امکانات خیلی زیادی داره ولی شاید طراحی انچنان جذابی نداشته باشه , حالا فردی اومده و این برنامه رو فورک کرده و از صفر بازطراحی کرده! تنها تغییری که این فورک داره طراحیه و امکانات خاصی بهش اضافه نشده لینک گیت هاب#LinApps@LinAcademy
635
آهنگ های منتخب هفته
هر هفته شنبه ، ۳ آهنگی که بیشترین ری اکشن رو در لینچت دارند ، در کانال قرار میگیرند@LinAcademy | @LinChat
