Forwarded from کدنویس یکروزه (پدرام رحیمی)
This media is not supported in your browser
VIEW IN TELEGRAM
Forwarded from کانال اطلاعرسانی توزیع پارچ (Sohrab)
صفحه نحوه نصب پارچ در ویکی پارچ نوشته شد.
https://wiki.parchlinux.com/fa/installation
این صفحه به مرور بهبود خواهد یافت، ایرادات این صفحه را میتوانید در زیر همین پست اعلام کنید.
@ParchLinux
https://wiki.parchlinux.com/fa/installation
این صفحه به مرور بهبود خواهد یافت، ایرادات این صفحه را میتوانید در زیر همین پست اعلام کنید.
@ParchLinux
Forwarded from فروشگاه اکانت های پرمیوم | خرید هوش مصنوعی
🔥 تخفیف ویژه اشتراکهای دانشجویی هوش مصنوعی به مدت محدود!
💯 اشتراک بهترین سرویس های هوش مصنوعی جهان، ویژه برنامهنویسی، پژوهش، مقاله نویسی، تجزیه و تحلیل مقالات، PDF و... با بهترین قیمت
🛍 جهت مشاوره و خرید:
💬 t.iss.one/PremiumAIs
⚡️اطلاع از سایر پیشنهادات ویژه:
📣 t.iss.one/BEST4PREMIUMS
💯 اشتراک بهترین سرویس های هوش مصنوعی جهان، ویژه برنامهنویسی، پژوهش، مقاله نویسی، تجزیه و تحلیل مقالات، PDF و... با بهترین قیمت
➕ ChatGPT Plus (یکماهه ۱،۵۴۹)✨ اختصاصی روی ایمیل شخصی شما با پشتیبانی تا آخرین روز اشتراک
➕ Perplexity Pro (شش ماهه ۲,۱۹۰)
➕ Gemini Advanced (پانزده ماهه ۳،۹۰۰)
➕ Super Grok (یکماهه ۱,۷۹۰)
➕ You.com Pro (دوازده ماهه ۳,۹۰۰)
🛍 جهت مشاوره و خرید:
💬 t.iss.one/PremiumAIs
⚡️اطلاع از سایر پیشنهادات ویژه:
📣 t.iss.one/BEST4PREMIUMS
Forwarded from SoniaCircuit (Sony)
https://trackingai.org/home
این سایت میاد تست IQ مدل های هوش مصنوعی رو به صورت هفتگی میذاره و test score هایی که گذاشته آمار جالبی نشون میده که میتونه به کارتون بیاد از کدوم llm استفاده کنید.
#llm #ai
این سایت میاد تست IQ مدل های هوش مصنوعی رو به صورت هفتگی میذاره و test score هایی که گذاشته آمار جالبی نشون میده که میتونه به کارتون بیاد از کدوم llm استفاده کنید.
#llm #ai
Forwarded from DevTwitter | توییت برنامه نویسی
اینجا میتونید بیش از ۴۳ میلیون کتاب و ۹۸ میلیون مقاله رو رایگان مطالعه یا دانلود کنید.
welib.org
@DevTwitter | <Ayub Kokabi/>
welib.org
@DevTwitter | <Ayub Kokabi/>
Forwarded from Seyed Mahdi Notes (Seyed Mahdi)
Forwarded from Linuxor ?
Media is too big
VIEW IN TELEGRAM
آیا فقط کلیک کردن روی لینک های ناشناس خطری هم داره؟ آیا الکی بولدش کردن که روی لینک ها کلیک نکنیم؟
@Linuxor
@Linuxor
Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
🔰نقطهضعف امنیتی خطرناک در io_uring لینوکس، حملات مخفی روتکیت را ممکن میکند
🔹یک ضعف امنیتی مهم در سیستمعامل لینوکس، مربوط به رابطی به نام io_uring، باعث شده است که روتکیتها (نرمافزارهای مخرب با دسترسی سطح بالا) بتوانند بدون شناسایی توسط نرمافزارهای امنیتی پیشرفته در سطح سازمانی، فعالیت کنند.
🔹این مشکل را پژوهشگران شرکت امنیتی ARMO کشف کردهاند. آنها برای نشان دادن جدیت این تهدید، یک روتکیت آزمایشی به نام Curing طراحی کردند تا نشان دهند که حمله از این مسیر نهتنها ممکن، بلکه عملی و خطرناک است.
🔹رابط io_uring یک رابط در هسته لینوکس است که از سال ۲۰۱۹ در نسخه ۵.۱ معرفی شد و هدف آن انجام عملیات ورودی/خروجی بهشکل کارآمد و غیرهمزمان است. این سیستم به جای استفاده از فراخوانیهای سیستمی (syscalls) که معمولاً باعث کندی و توقف برنامهها میشوند، از ساختارهایی به نام حلقههای اشتراکی (ring buffers) استفاده میکند تا درخواستهای I/O را در صف بگذارد و آنها را بدون توقف برنامه انجام دهد.
🔹رابط io_uring توانایی انجام بیش از ۶۰ نوع عملیات مختلف را دارد، از جمله خواندن و نوشتن فایل، ایجاد و قبول ارتباطات شبکهای، اجرای فرایندهای جدید، تغییر مجوز فایلها، و خواندن محتوای پوشهها؛ که همه اینها ابزارهای قدرتمندی برای ساخت روتکیت محسوب میشوند.
📍بهدلیل همین خطرات، گوگل تصمیم گرفته که io_uring را بهطور پیشفرض در اندروید و ChromeOS (که هر دو از هسته لینوکس استفاده میکنند) غیرفعال کند.
شرکت امنیتی ARMO پیشنهاد میکند که برای رفع این مشکل، باید از تکنولوژی KRSI (Kernel Runtime Security Instrumentation) استفاده شود که امکان اتصال برنامههای eBPF به رویدادهای امنیتی در سطح هسته را فراهم میکند.
📌نویسنده: حسین سیلانی
📌منبع : آکادمی کندوی دانش
https://learninghive.ir
🔹یک ضعف امنیتی مهم در سیستمعامل لینوکس، مربوط به رابطی به نام io_uring، باعث شده است که روتکیتها (نرمافزارهای مخرب با دسترسی سطح بالا) بتوانند بدون شناسایی توسط نرمافزارهای امنیتی پیشرفته در سطح سازمانی، فعالیت کنند.
🔹این مشکل را پژوهشگران شرکت امنیتی ARMO کشف کردهاند. آنها برای نشان دادن جدیت این تهدید، یک روتکیت آزمایشی به نام Curing طراحی کردند تا نشان دهند که حمله از این مسیر نهتنها ممکن، بلکه عملی و خطرناک است.
🔹رابط io_uring یک رابط در هسته لینوکس است که از سال ۲۰۱۹ در نسخه ۵.۱ معرفی شد و هدف آن انجام عملیات ورودی/خروجی بهشکل کارآمد و غیرهمزمان است. این سیستم به جای استفاده از فراخوانیهای سیستمی (syscalls) که معمولاً باعث کندی و توقف برنامهها میشوند، از ساختارهایی به نام حلقههای اشتراکی (ring buffers) استفاده میکند تا درخواستهای I/O را در صف بگذارد و آنها را بدون توقف برنامه انجام دهد.
🔹رابط io_uring توانایی انجام بیش از ۶۰ نوع عملیات مختلف را دارد، از جمله خواندن و نوشتن فایل، ایجاد و قبول ارتباطات شبکهای، اجرای فرایندهای جدید، تغییر مجوز فایلها، و خواندن محتوای پوشهها؛ که همه اینها ابزارهای قدرتمندی برای ساخت روتکیت محسوب میشوند.
📍بهدلیل همین خطرات، گوگل تصمیم گرفته که io_uring را بهطور پیشفرض در اندروید و ChromeOS (که هر دو از هسته لینوکس استفاده میکنند) غیرفعال کند.
شرکت امنیتی ARMO پیشنهاد میکند که برای رفع این مشکل، باید از تکنولوژی KRSI (Kernel Runtime Security Instrumentation) استفاده شود که امکان اتصال برنامههای eBPF به رویدادهای امنیتی در سطح هسته را فراهم میکند.
📌نویسنده: حسین سیلانی
📌منبع : آکادمی کندوی دانش
https://learninghive.ir
Forwarded from گنوم فارسی
مشکل استفادهٔ زیاد حافظه در افزایهٔ فلتپک نرمافزارهای گنوم که باعث میشد این برنامه در حالت پسزمینه تا چند صد مگابایت رم اشغال کنه شناسایی و رفع شد و اوایل خرداد ماه در انتشار ۴۸٫۲ گنوم منتشر خواهد شد 🎉
این مشکل به دست یک تازهکار به نام اوون چیاونتون شناسایی، بررسی و رفع شد. شما هم برای مشارکت در گنوم و نرمافزارهای آزاد نیازی به دانش و تجربهٔ فوقالعاده ندارید و فقط علاقه و پشتکار برای پیشرفتتون کافیه.
https://gitlab.gnome.org/GNOME/gnome-software/-/issues/941#note_2417546
این مشکل به دست یک تازهکار به نام اوون چیاونتون شناسایی، بررسی و رفع شد. شما هم برای مشارکت در گنوم و نرمافزارهای آزاد نیازی به دانش و تجربهٔ فوقالعاده ندارید و فقط علاقه و پشتکار برای پیشرفتتون کافیه.
https://gitlab.gnome.org/GNOME/gnome-software/-/issues/941#note_2417546
Forwarded from Code Module | کد ماژول
چطور اکانت گیتهابم رو حفظ کنم؟ مروری بر 2FA و اهمیت مدیریت دسترسیها 🔥
چند روز پیش یک مشکلی با سیستم 2FA داشتم که خیلی به موقع خودش رو نشون داد. به اپ 2FA در گوشیم دسترسی نداشتم و از اون بدتر، ریکاوری کدهایی که باید ذخیره میکردم رو اصلاً نداشتم! (که خب معمولاً خیلیا همینطوری هستن). این شد که یک وضعیت بحرانی پیش اومد و من به از تمام اکانتهای گیتهابم اومده بودم بیرون. تنها راه دسترسی به اکانتم هم یه PAT یا (Personal Access Token) بود که به سختی ساعتها گشتم تا پیداش کنم و در نهایت تونستم وارد بشم. ولی این اتفاق به من یادآوری کرد که چقدر مهمه چند تا نکته امنیتی ساده رو برای اکانت گیتهابمون فعال کنیم تا مثل من یهو از زندگی ناامید نشین!
1- سیو کردن ریکاوری کدها
اولین و مهمترین چیزی که باید انجام بدید اینه که ریکاوری کدها رو دانلود کنید و حتما یه جایی ذخیره کنید. نوشتن اونا توی جایی که به راحتی بهش دسترسی داشته باشید (مثلاً یه فایل امن یا یه اپ مخصوص ذخیرهسازی پسورد) خیلی میتونه کمککننده باشه. این کار رو حتما انجام بدید که اگر روزی روزگاری به اپ 2FA دسترسی نداشتید، راحت بتونید وارد بشید.
2- فعال کردن SSH
یکی دیگه از کارهایی که به شدت توصیه میکنم، فعال کردن SSH برای اکانت گیتهاب هست. این کار کمک میکنه که بدون نیاز به وارد کردن پسورد یا توکن، بتونید به راحتی به گیتهاب دسترسی پیدا کنید.
نحوه فعال سازی SSH:
- ابتدا باید یک کلید SSH بسازید (با استفاده از
- بعد از ساخت کلید، باید اون رو به گیتهاب اضافه کنید از طریق تنظیمات SSH Keys در گیتهاب.
3- اکسس توکن (PAT)
همچنین به جای استفاده از پسورد برای احراز هویت، میتونید از اکسس توکنها (PAT) استفاده کنید. این توکنها برای ارتباط امنتر با گیتهاب خیلی مفید هستند.
نحوه فعال سازی PAT:
- به تنظیمات اکانت گیتهاب برید.
- در قسمت Developer Settings، گزینه Personal Access Tokens رو پیدا کنید.
- توکن جدید بسازید و سطوح دسترسی مورد نظر رو انتخاب کنید.
مهم:
اگر هیچ کدوم از این روشها رو برای اکانتتون فعال نکردید، گیتهاب هیچ تضمینی نمیده که بتونید اکانتتون رو بازیابی کنید. نهایتاً ممکنه مجبور میشید ایمیل رو unlink کنید و یه اکانت جدید بسازید، ولی حتی در این صورت هم تاریخچه کامیتها و اطلاعات دیگه رو ممکنه از دست بدید.
#github
@CodeModule
چند روز پیش یک مشکلی با سیستم 2FA داشتم که خیلی به موقع خودش رو نشون داد. به اپ 2FA در گوشیم دسترسی نداشتم و از اون بدتر، ریکاوری کدهایی که باید ذخیره میکردم رو اصلاً نداشتم! (که خب معمولاً خیلیا همینطوری هستن). این شد که یک وضعیت بحرانی پیش اومد و من به از تمام اکانتهای گیتهابم اومده بودم بیرون. تنها راه دسترسی به اکانتم هم یه PAT یا (Personal Access Token) بود که به سختی ساعتها گشتم تا پیداش کنم و در نهایت تونستم وارد بشم. ولی این اتفاق به من یادآوری کرد که چقدر مهمه چند تا نکته امنیتی ساده رو برای اکانت گیتهابمون فعال کنیم تا مثل من یهو از زندگی ناامید نشین!
1- سیو کردن ریکاوری کدها
اولین و مهمترین چیزی که باید انجام بدید اینه که ریکاوری کدها رو دانلود کنید و حتما یه جایی ذخیره کنید. نوشتن اونا توی جایی که به راحتی بهش دسترسی داشته باشید (مثلاً یه فایل امن یا یه اپ مخصوص ذخیرهسازی پسورد) خیلی میتونه کمککننده باشه. این کار رو حتما انجام بدید که اگر روزی روزگاری به اپ 2FA دسترسی نداشتید، راحت بتونید وارد بشید.
2- فعال کردن SSH
یکی دیگه از کارهایی که به شدت توصیه میکنم، فعال کردن SSH برای اکانت گیتهاب هست. این کار کمک میکنه که بدون نیاز به وارد کردن پسورد یا توکن، بتونید به راحتی به گیتهاب دسترسی پیدا کنید.
نحوه فعال سازی SSH:
- ابتدا باید یک کلید SSH بسازید (با استفاده از
ssh-keygen در ترمینال).- بعد از ساخت کلید، باید اون رو به گیتهاب اضافه کنید از طریق تنظیمات SSH Keys در گیتهاب.
3- اکسس توکن (PAT)
همچنین به جای استفاده از پسورد برای احراز هویت، میتونید از اکسس توکنها (PAT) استفاده کنید. این توکنها برای ارتباط امنتر با گیتهاب خیلی مفید هستند.
نحوه فعال سازی PAT:
- به تنظیمات اکانت گیتهاب برید.
- در قسمت Developer Settings، گزینه Personal Access Tokens رو پیدا کنید.
- توکن جدید بسازید و سطوح دسترسی مورد نظر رو انتخاب کنید.
مهم:
اگر هیچ کدوم از این روشها رو برای اکانتتون فعال نکردید، گیتهاب هیچ تضمینی نمیده که بتونید اکانتتون رو بازیابی کنید. نهایتاً ممکنه مجبور میشید ایمیل رو unlink کنید و یه اکانت جدید بسازید، ولی حتی در این صورت هم تاریخچه کامیتها و اطلاعات دیگه رو ممکنه از دست بدید.
#github
@CodeModule
Forwarded from محتوای آزاد سهراب
امشب شب پرباری توی این هفته در کیدیای بودش، چون تعداد پیاما توی کانال زیاد شده فوروارد نمیکنم.
از این لینک میتونید برید بخونید تغییرات رو:
🔗 https://t.iss.one/kde_fa/31
@SohrabContents
از این لینک میتونید برید بخونید تغییرات رو:
🔗 https://t.iss.one/kde_fa/31
@SohrabContents
Forwarded from Gopher Academy
🔵 عنوان مقاله
🖼️ ImageProxy 0.12: A Caching Proxy Server and Transformer for Image Files
🟢 خلاصه مقاله:
مقالهای در مورد پروژهای طولانیمدت که راهکاری برای میزبانی کارآمد فایلهای تصویری فراهم میکند، علاوه بر این، امکان تغییرات ابتدایی مانند تغییر اندازه، برش دادن و چرخاندن تصاویر را نیز میدهد صحبت میکند. نسخه 0.12 که نخستین انتشار پس از چندین سال است، بهروزرسانی وابستگیها و افزودن یک ماژول برای Caddy را به همراه دارد.
🟣لینک مقاله:
https://golangweekly.com/link/168372/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
🖼️ ImageProxy 0.12: A Caching Proxy Server and Transformer for Image Files
🟢 خلاصه مقاله:
مقالهای در مورد پروژهای طولانیمدت که راهکاری برای میزبانی کارآمد فایلهای تصویری فراهم میکند، علاوه بر این، امکان تغییرات ابتدایی مانند تغییر اندازه، برش دادن و چرخاندن تصاویر را نیز میدهد صحبت میکند. نسخه 0.12 که نخستین انتشار پس از چندین سال است، بهروزرسانی وابستگیها و افزودن یک ماژول برای Caddy را به همراه دارد.
🟣لینک مقاله:
https://golangweekly.com/link/168372/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
Release v0.12.0 · willnorris/imageproxy
This is the first release in over three years, though honestly not too much has changed. A lot of updates over the year in Go and dependencies. A few new options that folks have added, and a new ...
Forwarded from DevTwitter | توییت برنامه نویسی
ابزار dia یک مدلِ جدیدِ tts ـه که فقط طیِ ۴ روز 11k ستاره خورده. صداش خیلی طبیعیه. نمونههاش رو اینجا ببینید.
yummy-fir-7a4.notion.site/dia
@DevTwitter | <Ayub Kokabi/>
yummy-fir-7a4.notion.site/dia
@DevTwitter | <Ayub Kokabi/>
Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
🔰کشف روشهای جدید دور زدن امنیت در اوبونتو – نیازمند اقدام دستی برای مقابله
سه روش جدید برای دور زدن محدودیتهای امنیتی «فضای نام کاربر بدون دسترسی ریشه» (unprivileged user namespaces) در لینوکس اوبونتو کشف شده که به مهاجم محلی این امکان را میدهد تا آسیبپذیریهای هسته سیستم (Kernel) را مورد سوءاستفاده قرار دهد.
🔹این آسیبپذیریها به کاربران عادی (بدون دسترسی مدیریتی) اجازه میدهند تا فضاهای نامی ایجاد کنند که در آنها سطح دسترسی کامل مدیریتی داشته باشند. این مشکل نسخههای اوبونتو 23.10 (که در آن محدودیتهای فضای نامی فعال شده) و نسخه 24.04 (که این محدودیتها به صورت پیشفرض فعال هستند) را تحت تأثیر قرار میدهد.
🔹شرکت Canonical اعلام کرد که یافتههای Qualys را تأیید کرده و در حال کار روی تقویت محافظتهای AppArmor است.
با این حال، این شرکت گفته است که این موارد را آسیبپذیری امنیتی جدی در نظر نمیگیرد، بلکه آنها را محدودیتهایی در یک لایهی امنیتی اضافی میداند.
🔹خلاصه روشهای دور زدن کشفشده:
🔸. سوءاستفاده از ابزار aa-exec:
ابزار aa-exec به کاربران اجازه میدهد برنامهها را تحت پروفایلهای خاص AppArmor اجرا کنند. برخی از این پروفایلها (مثل trinity، chrome یا flatpak) به کاربران اجازه میدهند فضای نامی با دسترسی کامل ایجاد کنند. با استفاده از دستور unshare از طریق aa-exec، کاربر میتواند محدودیتهای امنیتی را دور بزند.
🔸. استفاده از busybox:
برنامه busybox که بهطور پیشفرض در نسخههای دسکتاپ و سرور اوبونتو نصب شده، دارای پروفایلی است که اجازه ایجاد فضای نامی بدون محدودیت را میدهد. مهاجم میتواند از طریق شل busybox این کار را انجام دهد و به دسترسی کامل در یک فضای جداشده برسد.
🔸. تکنیک LD_PRELOAD:
در این روش، مهاجم با استفاده از متغیر محیطی LD_PRELOAD، یک کتابخانهی سفارشی را به درون برنامهای قابل اعتماد (مثل Nautilus) تزریق میکند. از آنجا که این برنامهها دارای پروفایل AppArmor نسبتاً باز هستند، مهاجم میتواند فضای نامی با دسترسی بالا را از درون این فرآیند اجرا کند.
📌نویسنده: حسین سیلانی
📌منبع : آکادمی کندوی دانش
https://learninghive.ir
سه روش جدید برای دور زدن محدودیتهای امنیتی «فضای نام کاربر بدون دسترسی ریشه» (unprivileged user namespaces) در لینوکس اوبونتو کشف شده که به مهاجم محلی این امکان را میدهد تا آسیبپذیریهای هسته سیستم (Kernel) را مورد سوءاستفاده قرار دهد.
🔹این آسیبپذیریها به کاربران عادی (بدون دسترسی مدیریتی) اجازه میدهند تا فضاهای نامی ایجاد کنند که در آنها سطح دسترسی کامل مدیریتی داشته باشند. این مشکل نسخههای اوبونتو 23.10 (که در آن محدودیتهای فضای نامی فعال شده) و نسخه 24.04 (که این محدودیتها به صورت پیشفرض فعال هستند) را تحت تأثیر قرار میدهد.
🔹شرکت Canonical اعلام کرد که یافتههای Qualys را تأیید کرده و در حال کار روی تقویت محافظتهای AppArmor است.
با این حال، این شرکت گفته است که این موارد را آسیبپذیری امنیتی جدی در نظر نمیگیرد، بلکه آنها را محدودیتهایی در یک لایهی امنیتی اضافی میداند.
🔹خلاصه روشهای دور زدن کشفشده:
🔸. سوءاستفاده از ابزار aa-exec:
ابزار aa-exec به کاربران اجازه میدهد برنامهها را تحت پروفایلهای خاص AppArmor اجرا کنند. برخی از این پروفایلها (مثل trinity، chrome یا flatpak) به کاربران اجازه میدهند فضای نامی با دسترسی کامل ایجاد کنند. با استفاده از دستور unshare از طریق aa-exec، کاربر میتواند محدودیتهای امنیتی را دور بزند.
🔸. استفاده از busybox:
برنامه busybox که بهطور پیشفرض در نسخههای دسکتاپ و سرور اوبونتو نصب شده، دارای پروفایلی است که اجازه ایجاد فضای نامی بدون محدودیت را میدهد. مهاجم میتواند از طریق شل busybox این کار را انجام دهد و به دسترسی کامل در یک فضای جداشده برسد.
🔸. تکنیک LD_PRELOAD:
در این روش، مهاجم با استفاده از متغیر محیطی LD_PRELOAD، یک کتابخانهی سفارشی را به درون برنامهای قابل اعتماد (مثل Nautilus) تزریق میکند. از آنجا که این برنامهها دارای پروفایل AppArmor نسبتاً باز هستند، مهاجم میتواند فضای نامی با دسترسی بالا را از درون این فرآیند اجرا کند.
📌نویسنده: حسین سیلانی
📌منبع : آکادمی کندوی دانش
https://learninghive.ir
Forwarded from Ninja Learn | نینجا لرن (Denver)
خب خب خب، تفاوت Entrypoint و CMD توی داکر🐳
اگه با Dockerfile یا docker compose کار کرده باشین، احتمالا دوتا دستور CMD و Entrypoint برخورد کردین ولی تاحالا به تفاوتشون فکر کردین؟ اینکه هرکدوم چه کاری انجام میدن و کجا کاربرد دارن؟
✅CMD
برای مشخص کردن دستور پیشفرضی استفاده میشه که اگه هنگام اجرای کانتینر هیچ آرگومانی ندیم اجرا بشه. CMD باعث میشه که با خیلی راحت بتونین فقط با
توی این حالت، دستور نهایی ای که با
ولی اگه بنویسین
✅Entrypoint
برای تعیین دستور اصلی کانتیر استفاده میشه. یه جورایی میشه گفت دستور غیرقابل تغییر کانتینر رو میشه باهاش تعیین کرد. حتی اگه موقع اجرای کانتینر بیایم از آرگومان ها استفاده کنیم اون آرگومان ها به عنوان ورودی به Entrypoint پاس داده میشن. در نتیجه Entrypoint رفتار اصلی کانتینر رو تعیین میکنه.
حالا میتونین با
دستور
شما حتی میتونید همزمان ازشون استفاده کنید و با CMD آرگومان های مختلفی به دستور اصلیتون بفرستین. اینجوری دستتون برای اجرای کانتینر خیلی باز میشه.
و حالا اگه بخواین آرگومان های دستور رو تغییر بدین فقط کافیه اونهارو توی
جمع بندی✍️
از CMD برای تنظیم پیش فرض ها و حالت های مختلف استفاده کنید.
از Entrypoint برای تعیین رفتار اصلی و ثابت کانتینر استفاده کنید.
و البته که میتونین با ترکیبشون و استفاده ی درست از هردوتاشون کارای خفنی انجام بدین.
➖➖➖➖➖➖➖➖➖➖
اگه با Dockerfile یا docker compose کار کرده باشین، احتمالا دوتا دستور CMD و Entrypoint برخورد کردین ولی تاحالا به تفاوتشون فکر کردین؟ اینکه هرکدوم چه کاری انجام میدن و کجا کاربرد دارن؟
✅CMD
برای مشخص کردن دستور پیشفرضی استفاده میشه که اگه هنگام اجرای کانتینر هیچ آرگومانی ندیم اجرا بشه. CMD باعث میشه که با خیلی راحت بتونین فقط با
docker run image_name کاری که میخواین رو انجام بدین(فقط وقتی که Entrypoint وجود نداشته باشه). ولی اگه توی docker run آرگومان بدین اون آرگومان های جدید جای CMD توی Dockerfile رو میگیرن.CMD ["python3", "app.py"]
توی این حالت، دستور نهایی ای که با
docker run اجرا میشه این شکلیه:python3 app.py
ولی اگه بنویسین
docker run image_name echo hello دستور نهایی این شکلی میشه:echo hello
✅Entrypoint
برای تعیین دستور اصلی کانتیر استفاده میشه. یه جورایی میشه گفت دستور غیرقابل تغییر کانتینر رو میشه باهاش تعیین کرد. حتی اگه موقع اجرای کانتینر بیایم از آرگومان ها استفاده کنیم اون آرگومان ها به عنوان ورودی به Entrypoint پاس داده میشن. در نتیجه Entrypoint رفتار اصلی کانتینر رو تعیین میکنه.
ENTRYPOINT ["python3", "app.py"]
حالا میتونین با
docker run اجراش کنید و البته که میتونین با پاس دادن آرگومان به docker run اونهارو به Entrypoint اضافه کنید. دستور
docker run image_name --option باعث میشه که دستور نهایی ای که برای اجرا کانتینر استفاده بشه این شکلی بشه:python3 app.py --option
شما حتی میتونید همزمان ازشون استفاده کنید و با CMD آرگومان های مختلفی به دستور اصلیتون بفرستین. اینجوری دستتون برای اجرای کانتینر خیلی باز میشه.
ENTRYPOINT ["python3", "app.py"]
CMD ["--option"]
و حالا اگه بخواین آرگومان های دستور رو تغییر بدین فقط کافیه اونهارو توی
docker run به کانتینر پاس بدین.جمع بندی✍️
از CMD برای تنظیم پیش فرض ها و حالت های مختلف استفاده کنید.
از Entrypoint برای تعیین رفتار اصلی و ثابت کانتینر استفاده کنید.
و البته که میتونین با ترکیبشون و استفاده ی درست از هردوتاشون کارای خفنی انجام بدین.
#️⃣ #programming #devops
➖➖➖➖➖➖➖➖➖➖
🥷🏻 CHANNEL | GROUP
Forwarded from DevTwitter | توییت برنامه نویسی
دیگه لازم نیست برای وصل کردن فرانتاند به مدلهای هوش مصنوعی کلی وقت بذاری...
Vercel AI SDK اومده بازی رو عوض کنه!
با چند خط کد ساده، میتونی مستقیماً از فرانتاند درخواست به LLM بدی، بدون نیاز به کلی بکاند اضافه.
• پشتیبانی از React, Next.js, Svelte و...
• هندل خودکار Streaming Responseها
• آماده برای استفاده در پروژههای واقعی
مثلا با چند خط ساده میتونی یه Chatbot React درست کنی که مستقیماً با GPT-4 حرف میزنه!
@DevTwitter | <amirhossein gholampour/>
Vercel AI SDK اومده بازی رو عوض کنه!
با چند خط کد ساده، میتونی مستقیماً از فرانتاند درخواست به LLM بدی، بدون نیاز به کلی بکاند اضافه.
• پشتیبانی از React, Next.js, Svelte و...
• هندل خودکار Streaming Responseها
• آماده برای استفاده در پروژههای واقعی
مثلا با چند خط ساده میتونی یه Chatbot React درست کنی که مستقیماً با GPT-4 حرف میزنه!
@DevTwitter | <amirhossein gholampour/>
Forwarded from DevTwitter | توییت برنامه نویسی
اگر در زمینه تولید تصویر بصورت جدی کار میکنید پیشنهاد میشه از پلتفرم OpenAI استفاده کنید. همون GPT 4o است اما با دقت و کیفیت بهتر که از طریق ایپیآی در سایر اپلیکیشن ها هم در دسترس است.
https://platform.openai.com/
@DevTwitter | <Setareh/>
https://platform.openai.com/
@DevTwitter | <Setareh/>
Forwarded from Gopher Academy
🔵 عنوان مقاله
🤖 MCP Go: A Go Implementation of the Model Context Protocol
🟢 خلاصه مقاله:
پروتکل مدل کانتکست (MCP)، روشی نوظهور در زمینه هوش مصنوعی و یادگیری ماشین است که به مدلهای زبان بزرگ و ابزارهای توسعه مبتنی بر AI امکان دسترسی به خدمات خارجی را میدهد. در حالی که استفاده از زبان برنامهنویسی پایتون در این زمینه غالب بوده، استفاده از زبان Go برای توسعه سرورهای MCP نیز مورد توجه قرار گرفته است. Go به دلیل کارایی بالا و قابلیت توسعهپذیری خود، گزینه مطلوبی برای توسعه سرورهای MCP محسوب میشود و این تغییر، امکان مشارکت بیشتر توسعهدهندگان مسلط به این زبان را فراهم میآورد.
🟣لینک مقاله:
https://golangweekly.com/link/168374/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
🤖 MCP Go: A Go Implementation of the Model Context Protocol
🟢 خلاصه مقاله:
پروتکل مدل کانتکست (MCP)، روشی نوظهور در زمینه هوش مصنوعی و یادگیری ماشین است که به مدلهای زبان بزرگ و ابزارهای توسعه مبتنی بر AI امکان دسترسی به خدمات خارجی را میدهد. در حالی که استفاده از زبان برنامهنویسی پایتون در این زمینه غالب بوده، استفاده از زبان Go برای توسعه سرورهای MCP نیز مورد توجه قرار گرفته است. Go به دلیل کارایی بالا و قابلیت توسعهپذیری خود، گزینه مطلوبی برای توسعه سرورهای MCP محسوب میشود و این تغییر، امکان مشارکت بیشتر توسعهدهندگان مسلط به این زبان را فراهم میآورد.
🟣لینک مقاله:
https://golangweekly.com/link/168374/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - mark3labs/mcp-go: A Go implementation of the Model Context Protocol (MCP), enabling seamless integration between LLM applications…
A Go implementation of the Model Context Protocol (MCP), enabling seamless integration between LLM applications and external data sources and tools. - mark3labs/mcp-go