کانال مهرداد لینوکس
3.69K subscribers
761 photos
26 videos
9 files
583 links
لینوکس و اخبار فنی
تمام محتوای کانال تحت مجوز کرییتیو کامنز (Creative Commons license) CC BY قابل استفاده است

هشتگ:
#Linux
#AI
#Programming
#DevOps
#Utility
#database
#Engineering
#Security
#Hardware
Download Telegram
حجم در ایمیج داکر Docker images اهمیت زیادی داره،
با analyze بسته های داخلی یک ایمیج به وسیله docker-phobia و Visualize کردن آنها میتونیم راحتر بفهمیم هر بسته چقدر از حجم ایمیج را به خودش اختصاص داده
https://github.com/remorses/docker-phobia?tab=readme-ov-file
در عکس node و بعد Perl بیشترین حجم را گرفته
#devops #development #programming
👍7
کانال مهرداد لینوکس
انواع HTTP Request Types معنی Safe https://developer.mozilla.org/en-US/docs/Glossary/Safe/HTTP معنی idempotent https://developer.mozilla.org/en-US/docs/Glossary/Idempotent معنی Cacheable https://developer.mozilla.org/en-US/docs/Glossary/Cacheable
سرویس کاربردی httpstat برای تولید HTTP codes های مختلف

🔥برای تست نرم افزار که چطور پاسخ های مختلف HTTP را هندل میکنند

کد مورد نظرتون را انتهای httpstat.us/200 وارد کنید

🗓 کدهای وضعیت HTTP یا http status code
پاسخی است که سرور یک سایت برای مرورگر سیستم کاربر ارسال می‌کند.

کد سه رقمی که نشان میدهد شرایط دسترس به سایت کاملاً برقرار یا اینکه خطایی برای دسترسی رخ داده
✳️ مثل کد 404 برای خطای پیدا نشدن پیج مدنظر

💠 برای تست سرویس به طور مثال میتوانید از دستور زیر استفاده کنید
curl -v http://httpstat.us/404

⁉️ اگر سوالی داشتید در بخش کامنت ها بپرسید 😎
#programming #برنامه_نویسی
👍101🔥1
نرم‌افزار Dev Proxy یک API simulator که کمک می‌کند برنامه خودتان را فراتر از happy path یا happy flow، بدون دردسر آزمایش کنید.

🔥 با Dev Proxy:
برسی چگونگی پاسخ برنامه به خطاهای API
بررسی محدودیت‌های نرخ API
چگونه برنامه APIهای کند را مدیریت می کند
ساخت سریع APIهای mock
ایجاد OpenAPI برای API
شبیه سازی CRUD APIs برای توسعه

🗓 آموزش نصب برای لینوکس :
bash -c "$(curl -sL https://aka.ms/devproxy/setup.sh)"


💠 و راه اندازی
devproxy

لینک گیت هاب

⁉️ اگر سوالی داشتید در بخش کامنت ها بپرسید 😎

#programming #برنامه_نویسی
👍2🔥2
🚫 تا یک حدی بپرسید کدام توزیع لینوکس،IDE،زبان برنامه نویسی و ...
بچسب به اصل کار ، از حاشیه دوری کنید.

طرف توسعه دهنده کرنل لینوکس
بدون syntax highlighting
بدون LSP
فقط یک پنجره ترمینال، بدون tmux
فقط ترمینال خام و vi پایه
از ابتدا یک درایور USB کرنل را تو 3 ساعت مینویسه

https://www.youtube.com/watch?v=IXBC85SGC0Q
#Programming
👍13🔥63🤯3
🔥 پروژه ای جذاب Gitdiagram
هر مخزن GitHub را به یک نمودار تعاملی به صورت visualization تبدیل میکنه.
وارد سایت Gitdiagram شوید و لینک پروژه Github مورد نظر را وارد کنید با visualize سریع ساختار پروژه میتواند درک بهتری از ساختار پروژه داشته باشید.

نکات مهم :
🗓 روی بعضی پروژه ها مشکل API پیدا میکنه و لود نمیکنه چند روز بعد دوباره تست کنید
🗓 اگر فقط میخواهید نتیجه را ببینید گزینه های زیر که برای تست گذاشته cache شده از انها استفاده کنید
💠 همچنین می‌توانید «hub» را با «diagram» در هر URL Github جایگزین کنید
✳️مثلا
https://github.com/fastapi/fastapi

میشه این
https://gitdiagram.com/fastapi/fastapi

نتیجه را بیینید
❤️ ممنون از حمایت هاتون 💐🌺
#programming
👍11🔥1
👴🏻 اینقدر پیر شدین که Clippy را یادتون بیاد ؟ 😍
🔥اگر دوست دارید یک محیط مدیریت SQLite تحت وب شبیه ویندوز 2000 و خاطره Clippy را زنده کنه sqlook
تجربه خوبی است
برای ساخت این ابزار از SQL.js استفاده شده
اگر محیط کاری را دوست داشتید میتوانید نسخه Desktp را استفاده کنید (در زمان نوشتن این پست امکان دانلود نبود)

❤️ تعطیلات خوش گذشت؟ ممنون از حمایت هاتون 💐🌺
#Programming
14👍3🔥3
کانال مهرداد لینوکس
تست های API خودتان را با چه ابزاری انجام میدید ؟ ابزار postman یا insomnia براتون سنگینه ؟ Bruno - Opensource IDE for exploring and testing APIs را یک تست بزنید https://github.com/usebruno/bruno
🔥 ابزار Yaak یک API client برای توسعه دهنده‌های مدرن 😎
ابزار Yaak API Client به صورت Offline کار میکنه با Git سازگاره و برای HTTP ,GraphQL ,WebSockets ,SSE و gRPC استفاده میشه

برای ساخت این ابزار از Tauri همچنین Rust و ReactJS استفاده شده

امکانات خوبی داره مثل :
💠 وارد کردن دیتا از Postman, Insomnia, OpenAPI, Swagger یا Curl.
💠 احراز هویت با OAuth 2.0, JWT tokens, Basic Auth , ...
💠 فیلتر کردن پاسخ ها با JSONPath یا XPath queries
💠زنجیره سازی ، دسته بندی تو در تو متغییر های محیطی درخواست ها

قبلا ابزار Bruno را در این زمینه معرفی کرده بودم که در پست که منشن شده یا اینجا میتوانید ببینید
این Awesome API Clients هم مفیده
ابزار مشابه دیگر
HTTPie for Web & Desktop
HTTPie CLI
insomnia
Restfox
ezy
Kreya
API Dash
vscode-restclient
xh
NativeRest
yaade
firecamp
thunderclient
Hoppscotch

❤️ ممنون از حمایت هاتون 💐🌺
#devops #programming
8👍4
🎯 CodeCafé برای وقتیه که با دوستت یا یک تیم می‌خواهید با هم کد بزنید،
🚀 با CodeCafé آنلاین و لایو، همه‌چی تو مرورگر اتفاق می‌افته:
🧠 ویرایشگر مثل VS Code
👥 همکاری لحظه‌ای واقعی،
👁 پیش‌نمایش زنده از HTML/CSS/JS
📦 اوپن‌سورس و بدون نیاز به نصب

⛅️ خلاصه، مثل Google Docs ولی برای برنامه‌نویس‌ها

📎 آنلاین تستش کن اینجا و لینک Share بالا سمت راست را به دوستت بده
برای نصب خانه یا شرکت فقط clone و بعد بزن docker-compose up
برای توضیحات بیشتر گیت هاب
#programming
@MehrdadLinuxchannel
🔥9👍6
قدرتمند و ساده مثل API Blueprint

زبان طراحی و توضیح (description language) ساده API Blueprint یک زبان سطح بالا برای APIهای وبه که با استفاده از قالب Markdown نوشته میشه. این زبان برای طراحی اولیه (design-first) API، مستندسازی، نمونه‌سازی، و تست API استفاده می‌شه.

هدفش اینه که:
🔹زبان ساده و قابل فهمی داشته باشه؛
🔸تعامل و همکاری بین تیم‌ها، توسعه‌دهندگان و
🔹حتی مشتریان رو تسهیل کنه؛
🔸با ابزارهای مختلف سازگار باشه؛

ا گرچه Swagger / OpenAPI استاندارد غالب اند
اگر دنبال جایگزین سبک‌تر و ساده‌تر برای Swagger اید
اگر خوانایی برای افراد غیرتکنیکی براتون خیلی مهمه API Blueprint
را بررسی کنید

سطح پست : #متوسط
#برنامه_نویسی
#programming
@MehrdadLinuxchannel
👍10🔥1
استفاده از Command Menu در Chrome DevTools
یک قابلیت کاربردی در DevTools هست به نام Command Menu که سرعت کار را میبره بالا
برای باز کردنش:
🔹 یک راه DevTools را با F12 باز کنید. بعد کلیدهای زیر
Ctrl + Shift + P

🔹 یا مثل عکس از منو انتخاب کنید
ویژگی Command Menu شبیه یک Command Palette در ویرایشگرهایی مثل VS Code است.
به جای اینکه بین تب‌ها و منوهای مختلف DevTools جستجو کنید، نام دستور موردنظر را تایپ و همان لحظه اجرا
چند دستور کاربردی
📸 گرفتن اسکرین‌شات از صفحه بدون Capture screenshot
📱 حالت Responsive برای شبیه‌سازی موبایل Show Device Toolbar
🚫 غیرفعال کردن JavaScript برای تست رفتار سایت. Disable JavaScript
🌐نمایش و بررسی درخواست‌های شبکه. Show Network Requests
🧹پاک کردن داده‌های ذخیره‌شده سایت برای تست مجدد. Clear Site Data
🎨 ابزارهای مرتبط با رندرینگ و عملکرد صفحه Show Rendering

لینک های کاربردی :
سایت Chrome
#Chrome #DevTools #WebDevelopment #Frontend #Programming @MehrdadLinuxchannel
7
نگاهی به تایپ‌اسکریپت به مناسبت انتشار نسخه ۷
‏TypeScript همان JavaScript است که "کمربند ایمنی" داره.😁

تایپ‌اسکریپت، سال گذشته با عبور از پایتون به محبوب‌ترین زبان برنامه‌نویسی در گیت‌هاب تبدیل شد

ویژگی های نسخه ۷ :
🔹بازنویسی هسته این زبان برنامه‌نویسی با Go
🔹 بهبود چشمگیری در عملکرد
🔹سرعت کامپایل ( در بسیاری از سناریوها بین ۸ تا ۱۲ برابر افزایش یافته)
🔹 پشتیبانی از پردازش چندرشته‌ای (Multithreading)
🔹باز شدن پروژه، نمایش خطا، تکمیل خودکار کد، جست‌وجوی ارجاعات و اجرای دستور tsc با سرعت بسیار بیشتر
🔹 نسخه جدید توانسته تعداد خطاهای Language Server را بیش از ۸۰ درصد و میزان کرش‌های آن را بیش از ۶۰ درصد کاهش دهد.
@MehrdadLinuxchannel
#Programming
🔥11
تلگرام و قابلیت جدید serverless bot
درد و بلاش بخوره تو سر whatsapp

تلگرام اجازه میده بات ها و Mini App ها رو روی زیرساخت تلگرام بالا اورد.🤯

🔥 یعنی دیگه نیاز به سرور جدا برای بات ها نیست.

⚡️ ظاهرا فعلا محدودیتی نداره، رایگانه و درکنارش دیتابیس هم میده (SQLite)
فعلا برای گروه محدودی باز شده (برنده/شرکت کننده های مسابقه ها)

دیگه کم مونده بره برامون نون بگیره 😂
@MehrdadLinuxchannel
#Utility #Programming
🔥10🤯3👍2
پایتون ۳.۱۵ و tag های کمتر روی فایل wheel

پایتون و چالش های GIL (free-threaded) در نسخه ۳.۱۴
در ABI پایتون در نسخه های جدید برای مدیریت همزمانی،ساختار PyObject تغییر کرده و فیلدهایی مثل قفل شیء، شمارنده ارجاع محلی و اشتراکی و... اضافه شده چون در نسخه های قدیمی مثلا ۳.۱۲ نسخه ABI متفاوته extension ها کرش میکردند

در پایتون ۳.۱۵ و ABI جدید بخشی داره به نام abi3t (که 't' مخفف free-threaded) که میاد ساختار PyObject را مبهم (opaque) میکنه، برنامه‌نویس دیگه اجازه نداره مستقیماً به فیلدهای PyObject دسترسی داشته باشه

🔥مزیت این روش اینه که افزونه‌هایی که با هدف abi3t ساخته میشن، هم روی نسخهٔ معمولی (با GIL) و هم روی نسخهٔ بدون GIL (از پایتون ۳.۱۵ به بعد) کار میکنند و دیگر نیازی به ساخت دو فایل wheel جداگانه نیست.

یعنی شما در نسخه مثلاً ۳.۱۴ اگر با GIL بود برچسب Wheel را cp314-cp314 میزدید بدون GIL بود cp314-cp314t و برای نسخه پایدار cp311-abi3
ولی در نسخه پایتون ۳.۱۵ این cp315-abi3.abi3t کار را در میاره

@MehrdadLinuxchannel
#Programming
👍4