کانال مهرداد لینوکس – Telegram
کانال مهرداد لینوکس
3.51K subscribers
713 photos
24 videos
8 files
550 links
لینوکس حرفه ای و اخبار فنی به زبان ساده
تمام محتوای کانال تحت مجوز کرییتیو کامنز (Creative Commons license) CC BY قابل استفاده است

هشتگ:
#Linux
#AI
#Python
#Programming
#DevOps
#دیوار_لینوکس
#Utility
Download Telegram
کانال مهرداد لینوکس
#آیا_میدانستید؟ با Profile ها در Vs codeمیتوانید کانفیگ اختصاصی داشته باشید و وقتی تعداد اکستنشن های VS Code زیاد میشود. برای تخصص های مختلف مثلا جاوااسکریپت، پایتون یا ... پروفایل درست کنید و بین آنها سویچ کنید؟ https://code.visualstudio.com/docs/editor/profiles…
قبلا توضیح دادم که در VScode میتوانید پروفایل داشته باشید و کانفیگ های جداگانه مدیریت کنید

⁉️دنبال یک راهکار مدیریت profile برای Shell لینوکس میگشتم ، من environment variables های زیادی را مدیریت میکنم از جمله proxy های مختلف که برای درخواست ها مدیریت میکنم

🗓ترمینال gnome یک بخش Manage profiles داره ولی محدود است

فعلا رسیدم به
https://github.com/direnv/direnv
🔥اکستنشن direnv نسبت به دایرکتوری جاری که shell دران است environment variables جدید را لود میکنه

🗓کاربرد :
💠بارگذاری secrets های پروژه در هر فولدر

توضیح و بحث و پروژه های دیگر

پروژه bash-profile-switcher حدودا این کار را انجام میده ولی دنبال zsh هستم
https://github.com/gianluca-mascolo/bash-profile-switcher

اگر فقط میخواهید overlays کنید و تغییرات را دوباره مقدار دهی کنید میشود
 
alias env1='/home/user/.bashrc1'
. $HOME/.bashrc

در Vscode میتوانید برای terminal یک Profile تعریف کنید
https://code.visualstudio.com/docs/terminal/profiles

🔥 پیشنهاد شما برای مدیریت Profile های Shell چیست ؟
#لینوکس
🔥5👍1
روی پاکت سیگار نوشته : "No Smoking"
روی بدنه موشک هم نوشته :"No War"
کی به کیه؟
یکی هم با گوشی اندرویدیش اینجا کامنت میزاره
نه به لينوکس
#linux #لینوکس
😁13🤣4👍2
This media is not supported in your browser
VIEW IN TELEGRAM
یک محتوا را در گوگل سرچ میکنید ،
سایت هایی با محتوای تقلبی که با SEO سیاه امدن بالا سرچ را گرفتن

قبلا گوگل اجازه ریپورت میداد ،الان نه راه حل⁉️
https://github.com/iorate/ublacklist
اکستنشن ublacklist را نصب میکنی و لیست بلاک خودت را تشکیل بده
Chrome Web Store / Firefox Add-ons / App Store
توضیحات فنی بیشتر :
✳️ میتوانید لیست خودتان را با دیگران به اشتراک بگذارید نمونه را اینجا ببینید
✳️ مستندات خوبی هم داره
https://iorate.github.io/ublacklist/docs
✳️ برای اکثر موتور های جستجو کار میکنه
Google ، Bing ، DuckDuckGo ,....
✳️ میتوانید با google Drive و dropbox سینک کنید
👍4🔥2
کانال مهرداد لینوکس
قبلا توضیح دادم که در VScode میتوانید پروفایل داشته باشید و کانفیگ های جداگانه مدیریت کنید ⁉️دنبال یک راهکار مدیریت profile برای Shell لینوکس میگشتم ، من environment variables های زیادی را مدیریت میکنم از جمله proxy های مختلف که برای درخواست ها مدیریت…
🗓 در ادامه مدیریت environment variables در لینوکس
نرم افزار envelope با ساخت یک دیتابیس Sqlite یک رویکرد مدرن در مدیریت environment variables ارائه میکنه
🔥 مقادیر فایل .env را وارد دیتابیس میکنه و هرجا نیاز باشه فراخوانی میکنه
https://github.com/mattrighetti/envelope
💠 توضیحات فنی بیشتر

میتوانید مقادیر داخل .env را وارد envelope کنید
envelope import dev .env

دیدن لیست متغییر ها
envelope list dev

اضافه کردن متغییر
envelope add local db_connection https://example.com

حذف یک متغییر
envelope delete dev

⁉️ شما environment variables را چطور مدیریت میکنید؟
👍4
پلتفرم Fusio یک API management متن باز و آزاد است که به شما کمک میکند API solutions های خلاقانه داشته باشید
https://github.com/apioo/fusio
🔥 دمو برای تست سه بخش :
API ، Backend ، Developer Portal
https://www.fusio-project.org/demo
🔥حتما مقایسه های آن را با دیگر محصولات مشابه بخوانید
https://www.fusio-project.org/comparison
مستندات :
https://docs.fusio-project.org/

🗓 توضیحات فنی بیشتر :
✳️ کاربرد های fusio در :
API Product
API Gateway
SPA Backend
API Builder
API Framework
اکوسیسم fusio شامل :
SDKgen
APIgen
APImon
TypeSchema
TypeAPI
TypeHub
Fusio
PSX

#API #Devops #Backend
🔥3
🤓 انتقال مغز انسان به کامپیوتر را از کجا شروع کنیم؟
از الگانس😎از نوع کرمش،فقط 302 نورون و 95 سلول عضلانیه
نخستین پرسلولی که نقشه ژنی آن به درستی و کاملاً بی‌عیب و نقص در سال ۲۰۰۲ رسم شد

✳️با شبیه‌سازی، سیستم عصبی کرم اطلاعات محیطی را با سنسور ها دریافت و به مغز کرم روی ربات خودمون بااطلاعات پروژه OpenWorm انتقال میدهیم حالا این ربات فکر می‌کند یک کرم کوچیکه! 😁
برای تست و کار میتوانید روی Docker هم اجرا کنید و ببییند
https://openworm.org/downloads.html#docker
اطلاعات بیشتر :
🔥 این ربات، وقتی با بینی به چیزی برخورد می‌کنه می ایسته وقتی بوی غذا را می‌شوند حرکت میکنه و دیگر یک کرم روانی با حرکات عصبی‌وار و تصادفی نیست. در واقع او به کنش‌های محیطی واکنش طبیعی نشان می‌ده

🔥 این پروژه آزاد است و شما میتوانید به جمع توسعه دهنده های آن بپیوندید
https://github.com/OpenWorm

یک سر به یوتیوب این کرم هم بزنید خروجی ها ببنیید
https://www.youtube.com/@OpenWormOrg
🔥4😁1
تولید باتری جامد با عملکردی ۱۰۰ برابر بهتر از قبل 😍
هورا

شرکت TDK، بزرگترین سازنده باتری گوشی های هوشمند در جهان و هچنین تامین کننده باتری اپل

گفته باتری جدیدش چگالی انرژی 1000 وات ساعت در liter داره که تقریباً 100 برابر بیشتر از باتری حالت جامد معمولی

🔥آیا نسل جدید از باتری های که اینقدر نزنیم تو شارژ را میبینیم؟
⁉️یا واردات محصولات IT را چون ارز بری زیادی داره جلوش گرفته میشه و ما با همین ها که هست باید سر کنیم ؟
آقای Dave Johnston طراح بیس های de_dust و de_dust2 در بازی Counter-Strike تولد 25 سالگی Counter-Strike تبریک
گفته
گرچه نسخه نهایی Counter-Strike آبان ۱۳۷۹ امد ، خوب نسخه بتا را تبریک گفته
ملت چه خاطراتی دارند
سی اس سورس باحاله!! 😍
https://www.johnsto.co.uk/blog/25-years/
✳️ تفاوت میان URI، URL و URN
به طور خلاصه:
کلمه URI: شناسایی کننده یک منبع
کلمه URL: آدرس و نحوه دسترسی به یک منبع
کلمه URN: فقط نام یک منبع
توضیح فنی بیشتر

تفاوت URI، URL و URN:
کلمه URI (Uniform Resource Identifier) معرف یک منبع است، به گونه‌ای که آن را از سایر منابع متمایز می‌کند. مانند یک آدرس پستی برای منابع آنلاین.
کلمه URL (Uniform Resource Locator) زیرمجموعه‌ای از URI است که آدرس و نحوه دسترسی به یک منبع را مشخص می‌کند. مانند آدرس یک وب‌سایت.
کلمهURN (Uniform Resource Name) زیرمجموعه‌ای دیگر از URI است که فقط نام منبع را مشخص می‌کند و نه محل آن را. مانند ISBN کتاب.
🔥 معرفی Nano DIP کوچکترین برد کامل آردوینو فقط 33 در 10mm هم اندازه چیپ ATmega328P-PU
💠مزایا : جمع و جور بودن بی نظیر، امکان ادغام آسان در پروژه هایی با محدودیت فضایی
💠عملکرد بیشتری نسبت به آردوینو Uno دارد.
توضیحات فنی بیشتر کانال :

✳️ ویژگی های اضافی در مقایسه با Arduino Uno
امکان 1 x سریع 350 کیلو بر ثانیه DAC واقعی 8 بیتی
پایه تغذیه USB توسط یک دیود ایده آل محافظت می شود که افت ولتاژ 0.7 ولت ندارد.
یک هدر 2 قطبی که به D2 متصل است می تواند به عنوان جامپر استفاده شود. استفاده از حالت پین (INPUT_PULLUP)
و LED در D0 را می توان با یک جامپر غیرفعال کرد
👍4
🔥 یک query engine برای Apache Kvrocks هست، که هم از SQL پشتیبانی میکنه هم RediSearch queries به نام
KQIR
خیلی باحاله نه😍
حالا این Apache Kvrocks چیه ؟
یک Redis-compatible دیتابیس روی RocksDB. که RESP protocol و کلی از کامند های Redis و ساختاری های داده اصلی مثل Strings, Sets, Hashes, Sorted Sets, Stream, GEO و Functions حتیBloomFilter, JSON از Redis Stack ... پشتیبانی میکنه

بر خلاف Redis روی memory ذخیره نمیشه
ما میدونیم NOSQL چقدر خوبه مثلا تراکنش‌های ACID، قابلیت‌های expressive query capabilities inherent در SQL، و همچنین بهینه‌سازی و امکانات انتزاعی ارائه شده توسط داده‌های ساختاریافته و جبر رابطه‌ای است.
حالا با KQIR هر دو را داریم

🔥 ماژول Redis module
🔥پشتیبانی intermediate language (IR)
https://kvrocks.apache.org/
👍3🔥1
🧐 تراشه های کامپیوتر چگونه کار می کنند؟
🥰 اگر به حفظ، مطالعه و مستندسازی کامپیوترهای تاریخی علاقه دارید
سایت
http://visual6502.org/
عالیه مثلا زد۸۰ (Zilog Z80) ریزپردازندهٔ ۸ بیتی باش شبیه سازی کردند هلو
https://floooh.github.io/visualz80remix/
توضیحات فنی بیشتر :
سه پروژه مهم شبیه سازی شده
💠 ARM1
💠 6502
💠 6800

🔥 تاریخچه:
🗓 زد۸۰ (Zilog Z80) یک ریزپردازندهٔ ۸ بیتی است که توسط زایلوگ (Zilog) طراحی شد و از ۱۹۷۶ به فروش رسید.
بعد از اینکه زایلوک موفق شد تا بکمک طراحانی که 8084 را برای اینتل طراحی کرده میکرو پروسسور Z80 را به بازار ارایه کند و در پی استقبال چشمگیر دانشجویان و برنامه نویسان اسمبلی که بدلیل ساختار ساده و در عین حال قدرتمند آن ، این میکرو جایگاه ویژه ای در بازار صنعت کامپیوتر های کوچک دهه 70 میلادی را بدست آورد ، اینتل بر آن شد تا به رقابت با این میکرو که طرح اولیه اش را از خودش میدانست بپردازد

🗓 اولین ریزپردازنده تک تراشه‌ای، ریزپردازنده Intel 4004 بود که توانست دو عدد چهاربیتی دودویی را جمع کرده و اعمال متعددی را انجام دهد. امکانات ریزپردازنده ۴۰۰۴ بسیار محدود بود به همین علت ریزپردازنده ۸ بیتی (۸۰۰۰) تولید شد.

🗓 و به همین سبب و در همان راستای سابق در ساختار برنامه نویسی اسمبلی 8084 میکرو 8085 و سپس میکرو جدید 8086 را به بازار فرستاد و منتهی با یک پرش در خط ( باس ) آدرس و دیتا چرا که خط اطلاعات را بجای 8 بیت 16 بیت و آدرس را بجای 16 ، 20 خطی کرد ونحوه پردازش لوله ای که مختص رایانه های عظیم و چند پروسسوری بود که این یک انقلاب در آن زمان بحساب میامد .

🗓 ولی این جهش با کمال ناباوری با شکست سختی مواجه شد چرا که تمامی جانبی ها 8 بیتی بوده و برنامه نویس ها نه حوصله و نه انگیزه ای برای انطباق دادن آنها به 16 بیت داشتند ، و باز زایلوگ بود که بدون هیچ زحمتی تلاش رقیب را به ناکامی کشاند !

🗓 اما اینتل در کمال ناامیدی و با توسل به شیوه شورا کردن حتی با پائین ترین رده های کارمندان خود توانست از این بحران بطور معجزه آسایی نجات پیدا کند و با یک پیشنهاد یک کارمند ساده اوضاع 180 درجه بسود اینتل چرخید و آن این بود که میکرو در داخل 16 بیتی بماند اما از خارج 8 بیتی شود ! ! وبدین سان بود که محصول جدید وارد بازار شد و آن 8088 بود !
از این ببعد بود که رایانه های اداری IBM نیز با بهره گیری از میکرو پروسسور 8086 وارد بازار شدند .

🗓 اما میکرو پروسسورها هیچگاه برای صنعت جالب نبودند و اینتل برای مقرون بصرفه سازی آن برای مصارف صنعتی مداری مجتمع ساخت با حداقل وسایل جانبی که در درون خود میکرو قرار داشته باشد و دیگر تولید کنندگان ناچار به تحمل هزینه برای یک سری وسائل جانبی نباشند و بدین سان بود که میکرو کنترل های سری 51 وارد بازار شدند . و اینتل توانست حضور همیشگی خود را به بازار تحمیل کند چرا که دیگر تولید کنندگان حتی بجای استفاده از آی سی تایمر 555 نیز از این میکرو استفاده میکردند ! !
👍4
💠در متدولوژی توسعه نرم‌افزارXP مخفف( extreme programming) که هدفش افزایش کیفیت نرم‌افزار و پاسخ‌گویی به نیازمندی‌های در حال تغییر کاربره
یک اصلی هست به اسم You aren't gonna need it (YAGNI)
به عنوان یک #برنامه_نویس تا به یک قابلیت در نرم افزار نیاز ندارید آن را اضافه نکنید

🗓 توضیحات بیشتر :
فقط کدی را بنویسید که در حال حاضر به آن نیاز دارید و از نوشتن کدهایی که احتمالاً در آینده ممکن است به کارمان بیایند، خودداری کنید چرا ؟
کاهش پیچیدگی: نوشتن کدهای اضافی، برنامه را پیچیده‌تر می‌کند و خوانایی، نگهداری و توسعه آن را دشوارتر می‌سازد
صرفه‌جویی در زمان: نوشتن کدهایی که به آنها نیاز نداریم، اتلاف وقت و انرژی است.
افزایش انعطاف‌پذیری: با تمرکز بر نیازهای فعلی، می‌توانیم کد را به گونه‌ای طراحی کنیم که به راحتی در آینده قابل تغییر و گسترش باشد
کاهش خطا: کدهای کمتر، به معنای اشکالات کمتر است
سادگی: کد شما تمیزتر و خواناتر خواهد بود.
نگهداری آسان: به‌روزرسانی و اصلاح کد آسان‌تر خواهد بود.
قابلیت تست: تست کد شما آسان‌تر خواهد بود.
انعطاف‌پذیری: می‌توانید به راحتی در آینده ویژگی‌های جدید را اضافه کنید.

🔥چطور این کار را انجام بدیم ؛
✳️بر نیازهای فعلی تمرکز کنید فقط کدی را بنویسید که برای حل مشکلات موجود ضروری است
✳️از حدس و گمان پرهیز کنید اگر مطمئن نیستید که در آینده به یک ویژگی نیاز خواهید داشت، آن را ننویسید
✳️طراحی برای تغییر کدی بنویسید که به راحتی قابل گسترش و تغییر باشد
✳️از تست به عنوان راهنما استفاده کنید فقط کدهایی را تست کنید که واقعاً به آنها نیاز دارید
👍6
دنبال یک IDE جدید به جای Vscode هستید ؟
https://theia-ide.org/
میخواهید IDE خودتان را کمتر از چند دقیقه بسازید ؟
https://theia-ide.org/docs/composing_applications/
میخواهید یک IDE جدید داشته باشید از یک Source هم روی مرورگر هم native desktop هم آنلاین اجرا شود ؟
https://github.com/eclipse-theia/theia
👍8🤨2
تکنولوژی UWB مخفف Ultra Wideband مشابه بلوتوث و وای‌فای یک پروتوکل انتقال اطلاعات بی‌سیم، که امکان موقعیت‌یابی اجسام با دقت بسیار بالا را فراهم می‌کند.
به لطف عرضه Tag های ردیابی، UWB به خوبی گسترش یافته و معروف شده

💠توضیحات فنی:
ویژگی‌ها و مشخصات UWB
می‌تواند با دقت خوبی یک جسم مجهز به UWB را تا محدوده 10 تا 200 متر موقعیت‌یابی کند
محدوده فرکانس: 3.1 تا 10.6 گیگاهرتز
سرعت: سرعت نور
رنج: 10 تا 200 متر
امنیت بالا و آسیب‌پذیری بسیار کم
سال ساخت: از دهه 60 میلادی
در ابتدا فقط به استفاده‌های نظامی و دولتی در آمریکا استفاده می‌شد

🗓 تکنولوژی UWB تداخلی با بلوتوث و وای‌فای ندارد

✳️کاربردهای UWB
قفل‌های امنیتی بدون کلید فیزیک
رانندگی خودکار خودرو
ورزش‌
خانه‌های هوشمند
کارخانه‌‌ها و خط تولیدها

⁉️چگونه UWB در گوشی‌ها به کار می‌رود؟
گوشی های جدید همه UWB دارند و در فرآیندهای انتقال اطلاعات مانند Airdrop و Nearby-Share از UWB استفاده می‌شود.

تفاوت‌های UWB با بلوتوث و NFC
باند و رنج کاری متفاوت، هزینه‌ها و سابقه کاری‌

🔥برتری‌های UWB
نیاز به سرعت بالای انتقال اطلاعات، موقعیت‌یابی سریع و دقیق یا امنیت بالاتر
👍5