قضیه هوش مصنوعی پاچهخوار! (بله، درست شنیدی!)
تاحالا شده با یه ربات یا هوش مصنوعی چت کنی و حس کنی داره زیادی هندونه زیر بغلت میذاره؟ 🤔 انگار هرچی میگی، میگه "بهبه! چه عالی!" یا الکی ازت تعریف میکنه؟ خب، به این حالت میگن "چاپلوسی" یا اگه خارجکیشو بخوای "سایکوفنسی" (Sycophancy)! جالبه بدونی که همین اتفاق اخیراً برای مدل خفن GPT-4o، که پشت خیلی از چتباتها مثل ChatGPT هست، افتاده.
چی شده مگه؟
قضیه از این قراره که شرکت OpenAI (سازنده ChatGPT) یه آپدیت جدید برای GPT-4o داده بود بیرون، ولی زود مجبور شدن برش گردونن! چرا؟ چون مثل اینکه زیادی "پاچهخوار" شده بود! 😅 انگار تنظیمات جدیدش یه کم زیادی رو خوشحال کردن لحظهای ما آدما تمرکز کرده بود و یادش رفته بود که بابا، همیشه هم لازم نیست الکی تعریف کنی!
حالا مگه بده هوش مصنوعی مؤدب باشه؟
خب معلومه که ادب خوبه، ولی چاپلوسی یه چیز دیگهست! وقتی یه هوش مصنوعی زیادی چاپلوسی میکنه:
۱. حس بدی میده: یه جورایی غیرطبیعیه، نه؟ انگار طرف داره فیلم بازی میکنه و این حس خوبی به آدم نمیده.
۲. اعتماد رو میکُشه: مهمتر اینکه، وقتی میبینی هوش مصنوعی فقط میخواد تو رو راضی نگه داره، دیگه چطوری به حرفاش اعتماد کنی؟ نکنه جواب الکی بده فقط چون فکر میکنه تو خوشت میاد؟
خب، OpenAI چیکار میکنه حالا؟
خوشبختانه بچههای OpenAI حواسشون جمع بوده و فهمیدن قضیه چیه. الان دارن روش کار میکنن که درستش کنن:
۱. آموزش رو بهتر میکنن: دارن روشهای آموزش مدل رو عوض میکنن که دیگه اینقدر چاپلوس نباشه.
۲. صادقترش میکنن: یه سری قوانین و محافظ براش میذارن که راستشو بگه، حتی اگه یه کم تلخ باشه!
۳. به حرف ما بیشتر گوش میدن: راههای بیشتری میذارن که ما بتونیم مستقیم بهشون بگیم از کدوم رفتار مدل خوشمون اومده یا نه.
۴. نظر جمع رو میپرسن: دنبال اینن که بفهمن مردم دنیا واقعاً دوست دارن ChatGPT چطوری باشه و چجوری پیشرفت کنه.
آخرش چی؟
این ماجرای GPT-4o نشون میده که ساختن هوش مصنوعی فقط کد زدن و کامپیوتر قوی داشتن نیست. باید حواسمون به این باشه که این هوش مصنوعیها چطوری با ما حرف میزنن و چقدر میشه بهشون اعتماد کرد. اینکه OpenAI داره سعی میکنه این مشکل رو حل کنه، جای امیدواری داره. باید ببینیم تهش چی میشه!
خلاصه که دنیای هوش مصنوعی هنوز کلی بالا پایین داره و ساختن یه رفیق دیجیتال که هم باهوش باشه و هم صادق، کار حضرت فیله! 😉
لینک خبر :
https://openai.com/index/sycophancy-in-gpt-4o/
#AI #Chatgpt #OpenAI #هوش_مصنوعی
🎺 برای یادگیری بیشتر و دریافت مطالب مفید در زمینه .NET و برنامهنویسی، به کانال ما بپیوندید!
📚💻 @dotnetcode🖥 👨💻
تاحالا شده با یه ربات یا هوش مصنوعی چت کنی و حس کنی داره زیادی هندونه زیر بغلت میذاره؟ 🤔 انگار هرچی میگی، میگه "بهبه! چه عالی!" یا الکی ازت تعریف میکنه؟ خب، به این حالت میگن "چاپلوسی" یا اگه خارجکیشو بخوای "سایکوفنسی" (Sycophancy)! جالبه بدونی که همین اتفاق اخیراً برای مدل خفن GPT-4o، که پشت خیلی از چتباتها مثل ChatGPT هست، افتاده.
چی شده مگه؟
قضیه از این قراره که شرکت OpenAI (سازنده ChatGPT) یه آپدیت جدید برای GPT-4o داده بود بیرون، ولی زود مجبور شدن برش گردونن! چرا؟ چون مثل اینکه زیادی "پاچهخوار" شده بود! 😅 انگار تنظیمات جدیدش یه کم زیادی رو خوشحال کردن لحظهای ما آدما تمرکز کرده بود و یادش رفته بود که بابا، همیشه هم لازم نیست الکی تعریف کنی!
حالا مگه بده هوش مصنوعی مؤدب باشه؟
خب معلومه که ادب خوبه، ولی چاپلوسی یه چیز دیگهست! وقتی یه هوش مصنوعی زیادی چاپلوسی میکنه:
۱. حس بدی میده: یه جورایی غیرطبیعیه، نه؟ انگار طرف داره فیلم بازی میکنه و این حس خوبی به آدم نمیده.
۲. اعتماد رو میکُشه: مهمتر اینکه، وقتی میبینی هوش مصنوعی فقط میخواد تو رو راضی نگه داره، دیگه چطوری به حرفاش اعتماد کنی؟ نکنه جواب الکی بده فقط چون فکر میکنه تو خوشت میاد؟
خب، OpenAI چیکار میکنه حالا؟
خوشبختانه بچههای OpenAI حواسشون جمع بوده و فهمیدن قضیه چیه. الان دارن روش کار میکنن که درستش کنن:
۱. آموزش رو بهتر میکنن: دارن روشهای آموزش مدل رو عوض میکنن که دیگه اینقدر چاپلوس نباشه.
۲. صادقترش میکنن: یه سری قوانین و محافظ براش میذارن که راستشو بگه، حتی اگه یه کم تلخ باشه!
۳. به حرف ما بیشتر گوش میدن: راههای بیشتری میذارن که ما بتونیم مستقیم بهشون بگیم از کدوم رفتار مدل خوشمون اومده یا نه.
۴. نظر جمع رو میپرسن: دنبال اینن که بفهمن مردم دنیا واقعاً دوست دارن ChatGPT چطوری باشه و چجوری پیشرفت کنه.
آخرش چی؟
این ماجرای GPT-4o نشون میده که ساختن هوش مصنوعی فقط کد زدن و کامپیوتر قوی داشتن نیست. باید حواسمون به این باشه که این هوش مصنوعیها چطوری با ما حرف میزنن و چقدر میشه بهشون اعتماد کرد. اینکه OpenAI داره سعی میکنه این مشکل رو حل کنه، جای امیدواری داره. باید ببینیم تهش چی میشه!
خلاصه که دنیای هوش مصنوعی هنوز کلی بالا پایین داره و ساختن یه رفیق دیجیتال که هم باهوش باشه و هم صادق، کار حضرت فیله! 😉
لینک خبر :
https://openai.com/index/sycophancy-in-gpt-4o/
#AI #Chatgpt #OpenAI #هوش_مصنوعی
📚💻 @dotnetcode
Please open Telegram to view this post
VIEW IN TELEGRAM
Openai
Sycophancy in GPT-4o: what happened and what we’re doing about it
We have rolled back last week’s GPT‑4o update in ChatGPT so people are now using an earlier version with more balanced behavior. The update we removed was overly flattering or agreeable—often described as sycophantic.
👍8
Forwarded from Software Philosophy
قابلیتهای جدید Data Annotations در دات نت ۸
در نسخه جدید NET 8.، ویژگیهای Data Annotations پیشرفتهای قابل توجهی داشتهاند. این ویژگیها، کدنویسی معتبرسازی دادهها را بسیار سادهتر و تمیزتر کرده است. در ادامه به صورت گام به گام این ویژگیهای جدید را بررسی میکنیم:
۱. ویژگی Length
این Annotation برای مشخص کردن حداقل و حداکثر طول رشته استفاده میشود.
در مثال بالا:
- مقدار
- مقدار
---
۲. ویژگی Range با پارامترهای Exclusive
ویژگی
در این مثال:
- مقدار
---
۳. ویژگی AllowedValues
این Annotation مقادیر مجاز برای یک خصوصیت را مشخص میکند.
در اینجا، تنها مقادیر
---
۴. ویژگی DeniedValues
برای مشخص کردن مقادیری که غیرمجاز هستند استفاده میشود.
در این مثال، مقادیر
---
۵. ویژگی Base64String
برای معتبرسازی اینکه مقدار یک رشته به صورت
این اطمینان را ایجاد میکند که
🔗 برای مطالعه بیشتر میتوانید به این لینک مراجعه نمایید.
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، نظرات خود را با ما در قسمت کامنتها به اشتراک بگذارید.
#هوتن_همتی (لینکدین)
کانال تلگرام:
@SoftwarePhilosophy
__________
در نسخه جدید NET 8.، ویژگیهای Data Annotations پیشرفتهای قابل توجهی داشتهاند. این ویژگیها، کدنویسی معتبرسازی دادهها را بسیار سادهتر و تمیزتر کرده است. در ادامه به صورت گام به گام این ویژگیهای جدید را بررسی میکنیم:
۱. ویژگی Length
این Annotation برای مشخص کردن حداقل و حداکثر طول رشته استفاده میشود.
[Length(2, 30)]
public string Name { get; set; }
[Length(2, 255)]
public string Description { get; set; }
در مثال بالا:
- مقدار
Name
باید حداقل ۲ و حداکثر ۳۰ کاراکتر داشته باشد.- مقدار
Description
باید حداقل ۲ و حداکثر ۲۵۵ کاراکتر داشته باشد.---
۲. ویژگی Range با پارامترهای Exclusive
ویژگی
Range
حالا قابلیت مشخص کردن مقادیر انحصاری را نیز دارد.[Range(1, 1000, MinimumIsExclusive = true, MaximumIsExclusive = false)]
public decimal Price { get; set; }
در این مثال:
- مقدار
Price
باید بزرگتر از ۱ (به دلیل MinimumIsExclusive = true
) و کوچکتر یا مساوی ۱۰۰۰ (به دلیل MaximumIsExclusive = false
) باشد.---
۳. ویژگی AllowedValues
این Annotation مقادیر مجاز برای یک خصوصیت را مشخص میکند.
[AllowedValues("S", "M", "L", "XL", "XXL")]
public string Size { get; set; }
در اینجا، تنها مقادیر
S
, M
, L
, XL
, XXL
برای Size
قابل قبول هستند.---
۴. ویژگی DeniedValues
برای مشخص کردن مقادیری که غیرمجاز هستند استفاده میشود.
[DeniedValues("Electronics", "Computers")]
public string Category { get; set; }
در این مثال، مقادیر
Electronics
و Computers
برای Category
ممنوع هستند.---
۵. ویژگی Base64String
برای معتبرسازی اینکه مقدار یک رشته به صورت
Base64
باشد استفاده میشود.[Base64String]
public string Image { get; set; }
این اطمینان را ایجاد میکند که
Image
حاوی یک رشته معتبر Base64
است.🔗 برای مطالعه بیشتر میتوانید به این لینک مراجعه نمایید.
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، نظرات خود را با ما در قسمت کامنتها به اشتراک بگذارید.
#هوتن_همتی (لینکدین)
کانال تلگرام:
@SoftwarePhilosophy
__________
Docs
System.ComponentModel.DataAnnotations Namespace
Provides attribute classes that are used to define metadata for ASP.NET MVC and ASP.NET data controls.
👍6🔥4❤1
بیا با هم دنیای باحال داکر رو کشف کنیم! 🐳
اوکی، این عکس رو دیدی؟ انگار یه نقشه گنجه، نه؟ ولی گنجش برنامههای خفن و بدون دردسریه که با "داکر" میسازیم و اجرا میکنیم. داکر مثل یه جعبهابزار جادوییه که به برنامهنویسها کمک میکنه برنامههاشون رو راحتتر بسازن، هرجا دلشون خواست ببرن و بدون مشکل اجرا کنن. بیا ببینیم این جعبهابزار هر کدوم کارش چیه:
۱. تو و داکر (Client): فرمانده کیه؟ خودتی!
کارش چیه؟ این همون ابزاریه که تو باهاش به داکر دستور میدی. مثلاً وقتی تو ترمینال مینویسی
۲. مغز متفکر داکر (Daemon): اون غول چراغ جادو!
کارش چیه؟ این یه برنامه خستگیناپذیره که پشت صحنه همیشه حواسش به همه چی هست. تو بهش دستور میدی (از طریق کلاینت)، اونم کارای سخت رو انجام میده؛ مثل ساختن "ایمیج"، راه انداختن "کانتینر"، مدیریت شبکهها و حافظهها. خلاصه، کار اصلی رو این انجام میده.
۳. خونه داکر (Host): مهمونی همینجاست!
کارش چیه؟ این همون کامپیوتر یا سروریه که "دیمن داکر" روش نصب شده و داره کار میکنه. منابع سیستم (مثل CPU، رم، حافظه) رو در اختیار داکر قرار میده تا بتونه کانتینرها رو اجرا کنه. میتونه لپتاپ خودت باشه یا یه سرور گنده تو شرکت.
۴. انبار بزرگ ایمیجها (Registry): مثل یه کتابخونه پر از دستور پخت!
کارش چیه؟ یه مخزن آنلاین یا محلیه که "ایمیج"های داکر توش نگهداری میشن. معروفترینش "داکر هاب" (Docker Hub) هست. کارش اینه که ایمیجها رو ذخیره کنه تا تو یا بقیه بتونین اونها رو دانلود کنین (pull) و استفاده کنین، یا ایمیجهایی که خودتون ساختین رو توش آپلود کنین (push) تا بقیه هم استفاده کنن.
۵. دستور پخت برنامه (Image): نقشه راه!
کارش چیه؟ یه قالب آماده و فقط خوندنیه که تمام دستورالعملها، کدها، کتابخونهها و تنظیمات لازم برای اجرای یه برنامه رو تو خودش داره. کارش اینه که به عنوان یه الگو برای ساخت "کانتینر" استفاده بشه. هر وقت بخوای یه برنامه رو تو داکر اجرا کنی، از روی ایمیجش یه کانتینر میسازی.
۶. برنامه آماده به کار (Container): خودِ خودِ برنامه در حال اجرا!
کارش چیه؟ این یه نمونه در حال اجرای یه "ایمیج" هست. کارش اینه که برنامه تو رو توی یه محیط ایزوله و جدا از بقیه سیستم اجرا کنه. انگار برنامه رو گذاشتی تو یه جعبه مخصوص خودش که نه اون روی بقیه تأثیر میذاره، نه بقیه روی اون. اینطوری برنامهات همه جا یکسان اجرا میشه.
۷. دفترچه دستور پخت (Dockerfile): خودت آشپز شو!
کارش چیه؟ یه فایل متنیه که توش قدم به قدم مینویسی چطوری یه "ایمیج" داکر باید ساخته بشه. کارش اینه که فرآیند ساخت ایمیج رو اتوماتیک کنه. تو بهش میگی از چه ایمیج پایهای استفاده کن، چه فایلهایی رو کپی کن، چه دستوراتی رو اجرا کن و... داکر هم طبق همین دستورالعمل، ایمیجت رو میسازه.
یه کوچولو کد (مفهومی):
۸. سیمهای ارتباطی (Network): چطوری با هم حرف بزنن؟
کارش چیه؟ داکر برای کانتینرهات شبکههای مجازی درست میکنه. کار این شبکهها اینه که به کانتینرها اجازه بدن با همدیگه ارتباط برقرار کنن، یا به شبکه میزبان (و از طریق اون به اینترنت) وصل بشن. بدون اینا، کانتینرهات مثل جزیرههای دورافتاده میشن!
۹. گاوصندوق اطلاعات (Volume): اطلاعاتت رو اینجا امن نگه دار!
کارش چیه؟ وقتی یه کانتینر پاک میشه، اطلاعات توش هم معمولاً از بین میره. "والیوم" یه راه حله که اطلاعات مهم برنامه (مثل دیتابیس یا فایلهای کاربرا) رو به صورت پایدار و جدا از خود کانتینر ذخیره کنی. کارش اینه که حتی اگه کانتینر رو پاک کردی و دوباره ساختی، اطلاعاتت سر جاش بمونه.
۱۰. ابزارهای کمکی (Plugins): داکرت رو خفنتر کن!
کارش چیه؟ اینا یه سری افزونه هستن که میتونی به داکر اضافه کنی تا قابلیتها و امکاناتش بیشتر بشه. مثلاً پلاگینهایی برای مدیریت بهتر شبکه، ذخیرهسازی پیشرفتهتر، یا امنیت بیشتر. کارشون اینه که داکر رو برای نیازهای خاص تو، توسعه بدن.
🎺 برای یادگیری بیشتر و دریافت مطالب مفید در زمینه .NET و برنامهنویسی، به کانال ما بپیوندید!
📚💻 @dotnetcode🖥 👨💻
اوکی، این عکس رو دیدی؟ انگار یه نقشه گنجه، نه؟ ولی گنجش برنامههای خفن و بدون دردسریه که با "داکر" میسازیم و اجرا میکنیم. داکر مثل یه جعبهابزار جادوییه که به برنامهنویسها کمک میکنه برنامههاشون رو راحتتر بسازن، هرجا دلشون خواست ببرن و بدون مشکل اجرا کنن. بیا ببینیم این جعبهابزار هر کدوم کارش چیه:
۱. تو و داکر (Client): فرمانده کیه؟ خودتی!
کارش چیه؟ این همون ابزاریه که تو باهاش به داکر دستور میدی. مثلاً وقتی تو ترمینال مینویسی
docker run
یا docker build
، یا از اون برنامههای خوشگل گرافیکی استفاده میکنی، داری از "کلاینت داکر" استفاده میکنی تا با مغز متفکر داکر حرف بزنی.۲. مغز متفکر داکر (Daemon): اون غول چراغ جادو!
کارش چیه؟ این یه برنامه خستگیناپذیره که پشت صحنه همیشه حواسش به همه چی هست. تو بهش دستور میدی (از طریق کلاینت)، اونم کارای سخت رو انجام میده؛ مثل ساختن "ایمیج"، راه انداختن "کانتینر"، مدیریت شبکهها و حافظهها. خلاصه، کار اصلی رو این انجام میده.
۳. خونه داکر (Host): مهمونی همینجاست!
کارش چیه؟ این همون کامپیوتر یا سروریه که "دیمن داکر" روش نصب شده و داره کار میکنه. منابع سیستم (مثل CPU، رم، حافظه) رو در اختیار داکر قرار میده تا بتونه کانتینرها رو اجرا کنه. میتونه لپتاپ خودت باشه یا یه سرور گنده تو شرکت.
۴. انبار بزرگ ایمیجها (Registry): مثل یه کتابخونه پر از دستور پخت!
کارش چیه؟ یه مخزن آنلاین یا محلیه که "ایمیج"های داکر توش نگهداری میشن. معروفترینش "داکر هاب" (Docker Hub) هست. کارش اینه که ایمیجها رو ذخیره کنه تا تو یا بقیه بتونین اونها رو دانلود کنین (pull) و استفاده کنین، یا ایمیجهایی که خودتون ساختین رو توش آپلود کنین (push) تا بقیه هم استفاده کنن.
۵. دستور پخت برنامه (Image): نقشه راه!
کارش چیه؟ یه قالب آماده و فقط خوندنیه که تمام دستورالعملها، کدها، کتابخونهها و تنظیمات لازم برای اجرای یه برنامه رو تو خودش داره. کارش اینه که به عنوان یه الگو برای ساخت "کانتینر" استفاده بشه. هر وقت بخوای یه برنامه رو تو داکر اجرا کنی، از روی ایمیجش یه کانتینر میسازی.
۶. برنامه آماده به کار (Container): خودِ خودِ برنامه در حال اجرا!
کارش چیه؟ این یه نمونه در حال اجرای یه "ایمیج" هست. کارش اینه که برنامه تو رو توی یه محیط ایزوله و جدا از بقیه سیستم اجرا کنه. انگار برنامه رو گذاشتی تو یه جعبه مخصوص خودش که نه اون روی بقیه تأثیر میذاره، نه بقیه روی اون. اینطوری برنامهات همه جا یکسان اجرا میشه.
۷. دفترچه دستور پخت (Dockerfile): خودت آشپز شو!
کارش چیه؟ یه فایل متنیه که توش قدم به قدم مینویسی چطوری یه "ایمیج" داکر باید ساخته بشه. کارش اینه که فرآیند ساخت ایمیج رو اتوماتیک کنه. تو بهش میگی از چه ایمیج پایهای استفاده کن، چه فایلهایی رو کپی کن، چه دستوراتی رو اجرا کن و... داکر هم طبق همین دستورالعمل، ایمیجت رو میسازه.
یه کوچولو کد (مفهومی):
# پایه کارمون چیه؟ مثلا یه نسخه سبک از لینوکس با نود جیاس
FROM node:18-alpine
# فایلای برنامهام رو بریز توش
COPY . .
# برنامهام با این دستور شروع به کار میکنه
CMD ["node", "app.js"]
۸. سیمهای ارتباطی (Network): چطوری با هم حرف بزنن؟
کارش چیه؟ داکر برای کانتینرهات شبکههای مجازی درست میکنه. کار این شبکهها اینه که به کانتینرها اجازه بدن با همدیگه ارتباط برقرار کنن، یا به شبکه میزبان (و از طریق اون به اینترنت) وصل بشن. بدون اینا، کانتینرهات مثل جزیرههای دورافتاده میشن!
۹. گاوصندوق اطلاعات (Volume): اطلاعاتت رو اینجا امن نگه دار!
کارش چیه؟ وقتی یه کانتینر پاک میشه، اطلاعات توش هم معمولاً از بین میره. "والیوم" یه راه حله که اطلاعات مهم برنامه (مثل دیتابیس یا فایلهای کاربرا) رو به صورت پایدار و جدا از خود کانتینر ذخیره کنی. کارش اینه که حتی اگه کانتینر رو پاک کردی و دوباره ساختی، اطلاعاتت سر جاش بمونه.
۱۰. ابزارهای کمکی (Plugins): داکرت رو خفنتر کن!
کارش چیه؟ اینا یه سری افزونه هستن که میتونی به داکر اضافه کنی تا قابلیتها و امکاناتش بیشتر بشه. مثلاً پلاگینهایی برای مدیریت بهتر شبکه، ذخیرهسازی پیشرفتهتر، یا امنیت بیشتر. کارشون اینه که داکر رو برای نیازهای خاص تو، توسعه بدن.
📚💻 @dotnetcode
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13
Forwarded from تهلاگ / Tehlug
ثبتنام رویداد ۲۷۹ تهلاگ آغاز شد! 🎊
رویداد شماره ۲۷۹ تهلاگ با حمایت نوبیتکس و افراشاپ، روز پنجشنبه ۲۵ اردیبهشتماه از ساعت ۱۲ تا ۱۸ در دانشگاه صنعتی امیرکبیر برگزار میشود.
اطلاعات بیشتر و ثبتنام:
🔗 evand.com/events/tehlug279
@TehranLUG
رویداد شماره ۲۷۹ تهلاگ با حمایت نوبیتکس و افراشاپ، روز پنجشنبه ۲۵ اردیبهشتماه از ساعت ۱۲ تا ۱۸ در دانشگاه صنعتی امیرکبیر برگزار میشود.
اطلاعات بیشتر و ثبتنام:
🔗 evand.com/events/tehlug279
@TehranLUG
🔥2
امروز میخوام یه خبر باحال براتون بذارم: داکر یه فیچر تازه به اسم Docker Model Runner درآورده!
کوین ویتک (یه از بزرگان مهندسی داکر) توی یه ویدیو خفن معرفیش کرد.
اگه هم با داکر کار میکنید هم عاشق مدلهای هوشمند (مثل ChatGPT) هستید، این داستان مخصوص شماس!
---
خب این Model Runner چیه؟ قصهش چیه؟
ساده بگم: میتونی روی لپتاپ خودت، مدلهای هوشمند رو اجرا کنی... درست مثل وقتی که یه کانتینر معمولی رو راه میندازی!
حالا چرا محلی؟ دلایل خفنی داره:
- حریم خصوصیت محفوظ میمونه (دیتات پیش خودته!)
- تو توسعه سریعتر پیش میری
- دیگه نیازی نیست مدام آنلاین باشی
---
چطوری ازش استفاده کنم؟ قدمبهقدم بریم جلو:
۱. یه نکتهٔ مهم: فعلا فقط روی سیستمهای اپل با تراشه M1/M2/M3 کار میکنه (نسخهٔ بتاست).
داکر داره زور میزنه بهزودی لینوکس و ویندوز رو هم بیاره!
۲. اجراش خیلی باحاله: تو ترمینال فقط بزن:
بعد دکمه انتر رو بزن... کار تمومه!
۳. مدل رو از کجا میاره؟ خودکار از Docker Hub دانلودش میکنه... درست مثل عکسهای داکر!
۴. حالا وقت چته! بعد از اجرا، یه پنجره چت باز میشه... میتونی مستقیم بپرسیش: "هی هوش مصنوعی! فلان چیز چطوری کار میکنه؟"
۵. اگه مدل اضافه کردی: برای لیست کردنشون بزن:
تا ببینی کدومها رو داری!
۶. نکتهٔ جالبتر: میتونی این مدلهای محلی رو توی برنامههات هم استفاده کنی!
مثلاً توی یه برنامه Next.js، به جای وصل شدن به OpenAI، به همون مدلی که روی سیستم خودت راه انداختی وصل میشی!
رازش چیه؟ تو کدت فقط یه خط مثل این اضافه میکنی:
(این آدرس، همون سرور استنتاج داکر روی سیستم خودتِ!)
منبع:
https://youtu.be/rGGZJT3ZCvo?si=699qJrXheVTvA13U
🎺 برای یادگیری بیشتر و دریافت مطالب مفید در زمینه .NET و برنامهنویسی، به کانال ما بپیوندید!
📚💻 @dotnetcode🖥 👨💻
کوین ویتک (یه از بزرگان مهندسی داکر) توی یه ویدیو خفن معرفیش کرد.
اگه هم با داکر کار میکنید هم عاشق مدلهای هوشمند (مثل ChatGPT) هستید، این داستان مخصوص شماس!
---
خب این Model Runner چیه؟ قصهش چیه؟
ساده بگم: میتونی روی لپتاپ خودت، مدلهای هوشمند رو اجرا کنی... درست مثل وقتی که یه کانتینر معمولی رو راه میندازی!
حالا چرا محلی؟ دلایل خفنی داره:
- حریم خصوصیت محفوظ میمونه (دیتات پیش خودته!)
- تو توسعه سریعتر پیش میری
- دیگه نیازی نیست مدام آنلاین باشی
---
چطوری ازش استفاده کنم؟ قدمبهقدم بریم جلو:
۱. یه نکتهٔ مهم: فعلا فقط روی سیستمهای اپل با تراشه M1/M2/M3 کار میکنه (نسخهٔ بتاست).
داکر داره زور میزنه بهزودی لینوکس و ویندوز رو هم بیاره!
۲. اجراش خیلی باحاله: تو ترمینال فقط بزن:
docker model run aism/360m-4bit-kmeans # (اسم یه مدل نمونه)
بعد دکمه انتر رو بزن... کار تمومه!
۳. مدل رو از کجا میاره؟ خودکار از Docker Hub دانلودش میکنه... درست مثل عکسهای داکر!
۴. حالا وقت چته! بعد از اجرا، یه پنجره چت باز میشه... میتونی مستقیم بپرسیش: "هی هوش مصنوعی! فلان چیز چطوری کار میکنه؟"
۵. اگه مدل اضافه کردی: برای لیست کردنشون بزن:
docker model list
تا ببینی کدومها رو داری!
۶. نکتهٔ جالبتر: میتونی این مدلهای محلی رو توی برنامههات هم استفاده کنی!
مثلاً توی یه برنامه Next.js، به جای وصل شدن به OpenAI، به همون مدلی که روی سیستم خودت راه انداختی وصل میشی!
رازش چیه؟ تو کدت فقط یه خط مثل این اضافه میکنی:
baseURL: 'https://model-runner.docker.internal:engines/v1'
(این آدرس، همون سرور استنتاج داکر روی سیستم خودتِ!)
منبع:
https://youtu.be/rGGZJT3ZCvo?si=699qJrXheVTvA13U
📚💻 @dotnetcode
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Run LLMs Locally on Mac w/ Docker Model Runner
Docker's Model Runner enables developers to run large language models (LLMs) locally inside Docker Desktop. This makes it easy for developers to start using LLMS, eliminates cloud dependencies, reduces latency, and gives developers full control over AI inference.…
👍9❤5🔥1
باهم یک تکنولوژی انقلابی به نام Model Context Protocol یا MCP را برسی کنیم.
این استاندارد همانند یک "مترجم جهانی" برای مدلهای زبانی عمل میکند!
---
درک مفهوم MCP:
ایده اصلی این است: MCP دستیاران هوشمند (LLMها) را به دنیای واقعی متصل میکند!
کاربردش این است: دسترسی به دادههای زنده، ابزارها و سرویسها بدون محدودیت!
مثلاً:
• مدل میتواند مستقیماً با GitHub صحبت کند
• به دادههای زندهٔ کسبوکار دسترسی دارد
• حتی با Figma برای طراحی تعامل میکند!
---
اجزای کلیدی سیستم MCP:
۱. هاستها: نرمافزارهایی مثل VS Code یا Copilot که از MCP استفاده میکنند.
۲. سرورها: سرویسهای سبکی که قابلیتهای خاص ارائه میدهند (مثل اتصال به دیتابیس).
۳. کلاینتها: معمولاً همان هاستها که با سرورها ارتباط برقرار میکنند.
---
شگفتیهای MCP:
انعطاف فوقالعاده دارد:
• اجرا روی محیطهای مختلف (محلی، کانتینری، ابری)
• پشتیبانی از Azure Functions و سرویسهای مایکروسافت
مزیت بزرگ: استاندارد اوپنسورس است که توسط Anthropic آغاز شد!
نیاز نیست نگران امنیت باشید: از OAuth 2.1 پشتیبانی میکند.
---
نمونههای عملی:
در ویدیو نشان داده شد:
• ارتباط VS Code با issuesهای GitHub
• کار با دادههای سفارشی (مثلاً یک دیتاست میمونها!)
• ادغام با Figma برای طراحی رابط کاربری
جالبتر: خودتان میتوانید سرور MCP بسازید با SDKهای #C!
---
روشهای ارتباطی:
سرورها از طریق این روشها صحبت میکنند:
• Standard IO برای اجرای محلی
• SSE/HTTP برای ارتباطات ابری
ابزارهایی مثل Azure API Center هم تبدیل APIهای قدیمی را آسان میکنند.
---
🔍 نکته کلیدی:
این پروتکل مکمل RAG است نه جایگزین آن!
در واقع قدرت افزودهای به مدلهای زبانی میدهد.
---
منبع:
https://youtu.be/cfwooBzzHBs?si=ro_mYcINJEi4I5ZB
🎺 برای یادگیری بیشتر و دریافت مطالب مفید در زمینه .NET و برنامهنویسی، به کانال ما بپیوندید!
📚💻 @dotnetcode🖥 👨💻
این استاندارد همانند یک "مترجم جهانی" برای مدلهای زبانی عمل میکند!
---
درک مفهوم MCP:
ایده اصلی این است: MCP دستیاران هوشمند (LLMها) را به دنیای واقعی متصل میکند!
کاربردش این است: دسترسی به دادههای زنده، ابزارها و سرویسها بدون محدودیت!
مثلاً:
• مدل میتواند مستقیماً با GitHub صحبت کند
• به دادههای زندهٔ کسبوکار دسترسی دارد
• حتی با Figma برای طراحی تعامل میکند!
---
اجزای کلیدی سیستم MCP:
۱. هاستها: نرمافزارهایی مثل VS Code یا Copilot که از MCP استفاده میکنند.
۲. سرورها: سرویسهای سبکی که قابلیتهای خاص ارائه میدهند (مثل اتصال به دیتابیس).
۳. کلاینتها: معمولاً همان هاستها که با سرورها ارتباط برقرار میکنند.
---
شگفتیهای MCP:
انعطاف فوقالعاده دارد:
• اجرا روی محیطهای مختلف (محلی، کانتینری، ابری)
• پشتیبانی از Azure Functions و سرویسهای مایکروسافت
مزیت بزرگ: استاندارد اوپنسورس است که توسط Anthropic آغاز شد!
نیاز نیست نگران امنیت باشید: از OAuth 2.1 پشتیبانی میکند.
---
نمونههای عملی:
در ویدیو نشان داده شد:
• ارتباط VS Code با issuesهای GitHub
• کار با دادههای سفارشی (مثلاً یک دیتاست میمونها!)
• ادغام با Figma برای طراحی رابط کاربری
جالبتر: خودتان میتوانید سرور MCP بسازید با SDKهای #C!
---
روشهای ارتباطی:
سرورها از طریق این روشها صحبت میکنند:
• Standard IO برای اجرای محلی
• SSE/HTTP برای ارتباطات ابری
ابزارهایی مثل Azure API Center هم تبدیل APIهای قدیمی را آسان میکنند.
---
🔍 نکته کلیدی:
این پروتکل مکمل RAG است نه جایگزین آن!
در واقع قدرت افزودهای به مدلهای زبانی میدهد.
---
منبع:
https://youtu.be/cfwooBzzHBs?si=ro_mYcINJEi4I5ZB
📚💻 @dotnetcode
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤3🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
چقدر این نگرش درستی که #جادی به زندگی داره. اگر ما هر روز به این دید برسیم اگر شده فقط کمی به اندازه یک کم بیشتر از هیچ تلاش کنیم و استمرار داشته باشیم در طول زمان چقدر میتونه تاثیرات موثر و عمیقی در زندگی و رشد خودمون داشته باشه.
🎺 برای یادگیری بیشتر و دریافت مطالب مفید در زمینه .NET و برنامهنویسی، به کانال ما بپیوندید!
📚💻 @dotnetcode🖥 👨💻
📚💻 @dotnetcode
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13👍2🔥1👏1
ابزار n8n: دستیار رایگان و همهفنحریف شما برای خداحافظی با کارهای تکراری!
تاحالا شده از انجام کارهای تکراری و کپی-پیستهای بیوقفه خسته بشی؟ مثلاً هر بار که مشتری جدیدی فرم پر میکنه، مجبور باشی اطلاعاتش رو دستی وارد فایل اکسل کنی، بعد بهش ایمیل بزنی و به تیم فروش هم خبر بدی؟
خب، با n8n (بخوانید: اِن-اِیت-اِن) میتونی با همه این کارها خداحافظی کنی!
ابزار n8n اصلاً چی هست؟
خیلی ساده، n8n یک ابزار رایگان و متنبازه که مثل یک چسب همهکاره، اپلیکیشنها و سرویسهای مختلف (مثل تلگرام، گوگل شیتس، ایمیل، اینستاگرام و...) رو به هم وصل میکنه. تو بهش میگی چه کاری رو، بعد از چه اتفاقی، به صورت خودکار انجام بده.
جذابیتش اینه که لازم نیست برنامهنویس باشی! با یک محیط گرافیکی باحال، قطعههای پازل (که بهشون میگن نود Node) رو کنار هم میچینی و گردش کار اتوماتیک خودت رو میسازی.
مهمترین فرقش با رقبای گرونقیمت اینه که میتونی روی سرور خودت نصبش کنی. این یعنی:
هزینههات خیلی خیلی کمتر میشه. (عملاً رایگانه!)
اطلاعاتت دست خودته و جای دیگهای نمیره، پس امنیتش بالاست.
چند تا مثال باحال از کارهایی که n8n برات انجام میده:
۱. ربات تلگرامی شخصی خودت رو بساز!
تصور کن یه ربات داری که وقتی کسی بهش پیام میده، کلمات کلیدی مثل "قیمت" یا "پشتیبانی" رو تشخیص میده و جواب آماده براش میفرسته. یا حتی میتونه اسم یه ارز دیجیتال رو از کاربر بگیره، قیمت لحظهایش رو از اینترنت پیدا کنه و به کاربر بگه! ساختن همچین چیزی با n8n فوقالعاده ساده است.
این ویدیوها رو ببین تا باورت بشه چقدر راحته:
ویدیوی آموزشی ساخت ربات تلگرام با n8n (منبع اول)
https://youtu.be/Ey18PDiaAYI?si=B7PMlnBt-fC6KC3t
ویدیوی آموزشی پیشرفتهتر (منبع دوم)
https://youtu.be/AURnISajubk?si=vSJ8OL4GKQ6b3oGC
۲. مدیریت مشتری مثل آب خوردن!
یک گردش کار طراحی کن که به محض اینکه کاربری فرمی رو در سایتت پر کرد:
اطلاعاتش رو مستقیم توی یک گوگل شیتس ذخیره کنه.
یه ایمیل خوشامدگویی خوشگل و شخصیسازی شده براش بفرسته.
و یه نوتیفیکیشن تو تلگرام یا اسلک برای تیم فروش بفرسته که «بجنبید، مشتری جدید داریم!»
۳. مدیریت شبکههای اجتماعی بدون دردسر
تنظیم کن که هر وقت پست جدیدی تو وبلاگت منتشر کردی، n8n به صورت خودکار خلاصهاش رو همراه با لینک، توی توییتر، لینکدین و کانال تلگرامت منتشر کنه. دیگه لازم نیست خودت رو درگیر باز کردن تکتک اپها کنی!
خلاصه کلام:
ابزار n8n یک آچار فرانسه دیجیتاله که کارهای تکراری و حوصلهسربر رو از دوشت برمیداره تا تو به کارهای مهمتر و خلاقانهتر برسی. اگه دنبال یه راه حل قدرتمند، رایگان و امن برای اتوماتیک کردن کارهاتی، حتماً یه سر به دنیای n8n بزن!
تازه ویدیو جادی هم هست ☺️🌹
https://youtu.be/d6RzGhpV1Vg?si=zpzKE1H6Jnp1fVoU
🎺 برای یادگیری بیشتر و دریافت مطالب مفید در زمینه .NET و برنامهنویسی، به کانال ما بپیوندید!
📚💻 @dotnetcode🖥 👨💻
تاحالا شده از انجام کارهای تکراری و کپی-پیستهای بیوقفه خسته بشی؟ مثلاً هر بار که مشتری جدیدی فرم پر میکنه، مجبور باشی اطلاعاتش رو دستی وارد فایل اکسل کنی، بعد بهش ایمیل بزنی و به تیم فروش هم خبر بدی؟
خب، با n8n (بخوانید: اِن-اِیت-اِن) میتونی با همه این کارها خداحافظی کنی!
ابزار n8n اصلاً چی هست؟
خیلی ساده، n8n یک ابزار رایگان و متنبازه که مثل یک چسب همهکاره، اپلیکیشنها و سرویسهای مختلف (مثل تلگرام، گوگل شیتس، ایمیل، اینستاگرام و...) رو به هم وصل میکنه. تو بهش میگی چه کاری رو، بعد از چه اتفاقی، به صورت خودکار انجام بده.
جذابیتش اینه که لازم نیست برنامهنویس باشی! با یک محیط گرافیکی باحال، قطعههای پازل (که بهشون میگن نود Node) رو کنار هم میچینی و گردش کار اتوماتیک خودت رو میسازی.
مهمترین فرقش با رقبای گرونقیمت اینه که میتونی روی سرور خودت نصبش کنی. این یعنی:
هزینههات خیلی خیلی کمتر میشه. (عملاً رایگانه!)
اطلاعاتت دست خودته و جای دیگهای نمیره، پس امنیتش بالاست.
چند تا مثال باحال از کارهایی که n8n برات انجام میده:
۱. ربات تلگرامی شخصی خودت رو بساز!
تصور کن یه ربات داری که وقتی کسی بهش پیام میده، کلمات کلیدی مثل "قیمت" یا "پشتیبانی" رو تشخیص میده و جواب آماده براش میفرسته. یا حتی میتونه اسم یه ارز دیجیتال رو از کاربر بگیره، قیمت لحظهایش رو از اینترنت پیدا کنه و به کاربر بگه! ساختن همچین چیزی با n8n فوقالعاده ساده است.
این ویدیوها رو ببین تا باورت بشه چقدر راحته:
ویدیوی آموزشی ساخت ربات تلگرام با n8n (منبع اول)
https://youtu.be/Ey18PDiaAYI?si=B7PMlnBt-fC6KC3t
ویدیوی آموزشی پیشرفتهتر (منبع دوم)
https://youtu.be/AURnISajubk?si=vSJ8OL4GKQ6b3oGC
۲. مدیریت مشتری مثل آب خوردن!
یک گردش کار طراحی کن که به محض اینکه کاربری فرمی رو در سایتت پر کرد:
اطلاعاتش رو مستقیم توی یک گوگل شیتس ذخیره کنه.
یه ایمیل خوشامدگویی خوشگل و شخصیسازی شده براش بفرسته.
و یه نوتیفیکیشن تو تلگرام یا اسلک برای تیم فروش بفرسته که «بجنبید، مشتری جدید داریم!»
۳. مدیریت شبکههای اجتماعی بدون دردسر
تنظیم کن که هر وقت پست جدیدی تو وبلاگت منتشر کردی، n8n به صورت خودکار خلاصهاش رو همراه با لینک، توی توییتر، لینکدین و کانال تلگرامت منتشر کنه. دیگه لازم نیست خودت رو درگیر باز کردن تکتک اپها کنی!
خلاصه کلام:
ابزار n8n یک آچار فرانسه دیجیتاله که کارهای تکراری و حوصلهسربر رو از دوشت برمیداره تا تو به کارهای مهمتر و خلاقانهتر برسی. اگه دنبال یه راه حل قدرتمند، رایگان و امن برای اتوماتیک کردن کارهاتی، حتماً یه سر به دنیای n8n بزن!
تازه ویدیو جادی هم هست ☺️🌹
https://youtu.be/d6RzGhpV1Vg?si=zpzKE1H6Jnp1fVoU
📚💻 @dotnetcode
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍2🔥1👏1
Forwarded from ilmah.psy
🧠 جنگ فقط در میدان اتفاق نمیافته، در ذهن ما هم شروع میشه…
در روزهایی که ایران درگیر تنشهای جدی با اسرائیله و اخبار پر از خشونته، خیلی از ما احساس ناامنی میکنیم، حتی اگه از میدان جنگ دور باشیم.
از نگاه روانشناسی، این حالتها کاملاً طبیعیان:
🔻 اضطراب مداوم
🔻 فکر کردن به آیندهی مبهم
🔻 احساس خشم یا بیقدرتی
🔻 بیخوابی یا کابوسهای شبانه
🔻 وسواس در پیگیری اخبار
📌 چند نکته برای مراقبت روانی در روزهای جنگی:
1. محدود کن مصرف اخبار
یک یا دو بار در روز اخبار رو از منبع معتبر بخون. بمباران خبری فقط اضطراب رو تشدید میکنه.
2. برگرد به بدن و الآنت
نفس عمیق، حرکات آرام، ورزش ملایم. اینا کمک میکنه ذهن از آیندهپریشی فاصله بگیره.
3. درباره احساساتت حرف بزن
با دوست قابل اعتماد، یا حتی در دفترچهات. پنهانکاری، ترس رو قویتر میکنه.
4. آگاهی جمعی مهمه، ولی وحشت جمعی نه
فرق بین مطلع بودن و غرق شدن در ترس رو یادمون نره.
5. به ذهن خودت حق بده بترسه… ولی تنهاش نذار.
🕊️ تو این روزها، روان ما بیشتر از همیشه به مراقبت نیاز داره.
@ilmahpsy
در روزهایی که ایران درگیر تنشهای جدی با اسرائیله و اخبار پر از خشونته، خیلی از ما احساس ناامنی میکنیم، حتی اگه از میدان جنگ دور باشیم.
از نگاه روانشناسی، این حالتها کاملاً طبیعیان:
🔻 اضطراب مداوم
🔻 فکر کردن به آیندهی مبهم
🔻 احساس خشم یا بیقدرتی
🔻 بیخوابی یا کابوسهای شبانه
🔻 وسواس در پیگیری اخبار
📌 چند نکته برای مراقبت روانی در روزهای جنگی:
1. محدود کن مصرف اخبار
یک یا دو بار در روز اخبار رو از منبع معتبر بخون. بمباران خبری فقط اضطراب رو تشدید میکنه.
2. برگرد به بدن و الآنت
نفس عمیق، حرکات آرام، ورزش ملایم. اینا کمک میکنه ذهن از آیندهپریشی فاصله بگیره.
3. درباره احساساتت حرف بزن
با دوست قابل اعتماد، یا حتی در دفترچهات. پنهانکاری، ترس رو قویتر میکنه.
4. آگاهی جمعی مهمه، ولی وحشت جمعی نه
فرق بین مطلع بودن و غرق شدن در ترس رو یادمون نره.
5. به ذهن خودت حق بده بترسه… ولی تنهاش نذار.
🕊️ تو این روزها، روان ما بیشتر از همیشه به مراقبت نیاز داره.
@ilmahpsy
❤8
💡 راز موفقیت در گوگل: آیا فقط مدرک و علم کافیست؟ 🤔
شاید شنیده باشید که گوگل زمانی فقط دنبال جذب نخبههای علوم کامپیوتر از بهترین دانشگاههای دنیا بود. اما یک تحقیق داخلی و بلندمدت به نام "پروژه اکسیژن" (Project Oxygen)، نتایج شگفتانگیزی رو فاش کرد!
گوگل با بررسی دقیق دادههای مربوط به استخدام، ترفیع و حتی اخراج کارمندانش، متوجه شد که 8 ویژگی برتر در افراد موفق این شرکت، اصلاً ربطی به مدرک تحصیلی یا دانش فنی صرف نداره! 🤯
در واقع، تمام این 8 ویژگی برجسته، از جنس مهارتهای نرم (Soft Skills) بودند. چیزهایی مثل:
* توانایی بالای رهبری
* مهارت کار تیمی مؤثر
* قدرت برقراری ارتباط قوی
* اخلاق کاری بالا
* توانایی کوچینگ و منتورینگ
* ایجاد محیطی فراگیر برای تیم
* داشتن استراتژی و چشمانداز روشن
این مطالعه نشون داد که حتی در یک شرکت پیشرو در تکنولوژی مثل گوگل، موفقیت پایدار بیشتر از اینکه به هوش و دانش فنی صرف وابسته باشه، به هوش هیجانی، مهارتهای ارتباطی و تواناییهای رهبری افراد بستگی داره.
این یافتهها نه تنها دیدگاه گوگل رو نسبت به استخدام تغییر داد، بلکه نشون داد که سرمایهگذاری روی توسعه مهارتهای نرم، چقدر میتونه در مسیر شغلی و شخصی شما تأثیرگذار باشه!
https://www.betterup.com/blog/project-oxygen
#گوگل #پروژه_اکسیژن #مهارت_نرم #موفقیت #شغل #توسعه_فردی #کار_تیمی
🎺 برای یادگیری بیشتر و دریافت مطالب مفید در زمینه .NET و برنامهنویسی، به کانال ما بپیوندید!
📚💻 @dotnetcode🖥 👨💻
شاید شنیده باشید که گوگل زمانی فقط دنبال جذب نخبههای علوم کامپیوتر از بهترین دانشگاههای دنیا بود. اما یک تحقیق داخلی و بلندمدت به نام "پروژه اکسیژن" (Project Oxygen)، نتایج شگفتانگیزی رو فاش کرد!
گوگل با بررسی دقیق دادههای مربوط به استخدام، ترفیع و حتی اخراج کارمندانش، متوجه شد که 8 ویژگی برتر در افراد موفق این شرکت، اصلاً ربطی به مدرک تحصیلی یا دانش فنی صرف نداره! 🤯
در واقع، تمام این 8 ویژگی برجسته، از جنس مهارتهای نرم (Soft Skills) بودند. چیزهایی مثل:
* توانایی بالای رهبری
* مهارت کار تیمی مؤثر
* قدرت برقراری ارتباط قوی
* اخلاق کاری بالا
* توانایی کوچینگ و منتورینگ
* ایجاد محیطی فراگیر برای تیم
* داشتن استراتژی و چشمانداز روشن
این مطالعه نشون داد که حتی در یک شرکت پیشرو در تکنولوژی مثل گوگل، موفقیت پایدار بیشتر از اینکه به هوش و دانش فنی صرف وابسته باشه، به هوش هیجانی، مهارتهای ارتباطی و تواناییهای رهبری افراد بستگی داره.
این یافتهها نه تنها دیدگاه گوگل رو نسبت به استخدام تغییر داد، بلکه نشون داد که سرمایهگذاری روی توسعه مهارتهای نرم، چقدر میتونه در مسیر شغلی و شخصی شما تأثیرگذار باشه!
https://www.betterup.com/blog/project-oxygen
#گوگل #پروژه_اکسیژن #مهارت_نرم #موفقیت #شغل #توسعه_فردی #کار_تیمی
📚💻 @dotnetcode
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6
Forwarded from DevTwitter | توییت برنامه نویسی
معرفی کوتاه پروژه PersianDate برای برنامهنویسان سیشارپ
پروژه PersianDate ابزاری ضروری برای برنامهنویسان سیشارپ (.NET) است که نیاز به کار با تاریخ شمسی (جلالی) دارند. این کتابخانه به شما امکان میدهد تا به سادگی تاریخهای میلادی را به شمسی تبدیل کرده و برعکس.
قابلیتهای کلیدی:
۱. تبدیل دوطرفه: تاریخ میلادی را به شمسی و شمسی را به میلادی تبدیل کنید.
۲. پشتیبانی کامل از .NET: با DateTime و DateTimeOffset کار میکند و با نسخههای .NET 5.0 تا 9.0 سازگار است.
۳. دسترسی آسان: اجزای تاریخ شمسی (سال، ماه، روز) و نام روزها/ماهها را استخراج کنی.
۴. استفاده از Extension Methods: با متدهایی مانند .ToShamsiDate() کار با تاریخ را فوقالعاده ساده میکند.
با استفاده از PersianDate میتوانید به راحتی مدیریت تاریخ شمسی را در برنامههای ویندوزی، وب یا موبایل خود پیادهسازی کنید.
برای شروع، کافیست پکیج را از NuGet نصب کنید:
dotnet add package PersianDateShamsi
لینک پروژه :
https://github.com/hootanht/PersianDate
@DevTwitter | <Hootan HT/>
پروژه PersianDate ابزاری ضروری برای برنامهنویسان سیشارپ (.NET) است که نیاز به کار با تاریخ شمسی (جلالی) دارند. این کتابخانه به شما امکان میدهد تا به سادگی تاریخهای میلادی را به شمسی تبدیل کرده و برعکس.
قابلیتهای کلیدی:
۱. تبدیل دوطرفه: تاریخ میلادی را به شمسی و شمسی را به میلادی تبدیل کنید.
۲. پشتیبانی کامل از .NET: با DateTime و DateTimeOffset کار میکند و با نسخههای .NET 5.0 تا 9.0 سازگار است.
۳. دسترسی آسان: اجزای تاریخ شمسی (سال، ماه، روز) و نام روزها/ماهها را استخراج کنی.
۴. استفاده از Extension Methods: با متدهایی مانند .ToShamsiDate() کار با تاریخ را فوقالعاده ساده میکند.
با استفاده از PersianDate میتوانید به راحتی مدیریت تاریخ شمسی را در برنامههای ویندوزی، وب یا موبایل خود پیادهسازی کنید.
برای شروع، کافیست پکیج را از NuGet نصب کنید:
dotnet add package PersianDateShamsi
لینک پروژه :
https://github.com/hootanht/PersianDate
@DevTwitter | <Hootan HT/>
❤11👍3
خبر فوری از OpenAI: Codex CLI به Rust مهاجرت میکند!
شرکت OpenAI در حال بازنویسی اساسی ابزار خط فرمان (CLI) Codex خود است؛ از TypeScript به Rust!
هدف اصلی این تغییر، ارتقاء چشمگیر عملکرد و بهبود تجربه توسعهدهندگان است.
چرا Rust؟
این تصمیم بر اساس چندین مزیت کلیدی Rust گرفته شده است:
* عملکرد بینظیر: Rust با مدیریت حافظه عالی و عدم وجود "جمعآوری زباله" (Garbage Collection)، سرعت و کارایی بالاتری را ارائه میدهد.
* نصب آسانتر: دیگر نیازی به Node v22+ نیست، که فرآیند نصب را برای بسیاری از توسعهدهندگان ساده میکند.
* امنیت بومی پیشرفته: اتصالات امنیتی بومی قویتر، از دیگر مزایای این تغییر است.
* انعطافپذیری معماری: Rust به OpenAI اجازه میدهد تا یک "پروتکل ارتباطی" توسعه دهد، که به توسعهدهندگان امکان میدهد Codex CLI را با زبانهای مختلفی مانند TypeScript/JavaScript و Python گسترش دهند.
فؤاد متین، از تیم فنی OpenAI، تأیید کرده که نسخه TypeScript به تدریج کنار گذاشته خواهد شد و تمرکز بر این است که نسخه بومی Rust به زودی پیشفرض شود.
با وجود اینکه نسخه Rust هنوز در حال توسعه است، بازخوردهای اولیه "فوقالعاده روان" و بسیار مثبت بوده است. هدف نهایی این بازنویسی، تبدیل Codex CLI از یک ابزار ساده به یک پلتفرم قدرتمند، انعطافپذیر، و قابل توسعه برای اتوماسیون هوش مصنوعی است.
این حرکت نشاندهنده یک گرایش بزرگتر در صنعت فناوری به سمت توسعه بومی و استفاده از ابزارهایی مانند Rust و Go برای ایجاد نرمافزارهای کارآمدتر و قابل نگهداریتر است.
🔗 برای جزئیات بیشتر، مقاله کامل را بخوانید:
https://analyticsindiamag.com/global-tech/openai-is-ditching-typescript-to-rebuild-codex-cli-with-rust/
🎺 برای یادگیری بیشتر و دریافت مطالب مفید در زمینه .NET و برنامهنویسی، به کانال ما بپیوندید!
📚💻 @dotnetcode🖥 👨💻
شرکت OpenAI در حال بازنویسی اساسی ابزار خط فرمان (CLI) Codex خود است؛ از TypeScript به Rust!
هدف اصلی این تغییر، ارتقاء چشمگیر عملکرد و بهبود تجربه توسعهدهندگان است.
چرا Rust؟
این تصمیم بر اساس چندین مزیت کلیدی Rust گرفته شده است:
* عملکرد بینظیر: Rust با مدیریت حافظه عالی و عدم وجود "جمعآوری زباله" (Garbage Collection)، سرعت و کارایی بالاتری را ارائه میدهد.
* نصب آسانتر: دیگر نیازی به Node v22+ نیست، که فرآیند نصب را برای بسیاری از توسعهدهندگان ساده میکند.
* امنیت بومی پیشرفته: اتصالات امنیتی بومی قویتر، از دیگر مزایای این تغییر است.
* انعطافپذیری معماری: Rust به OpenAI اجازه میدهد تا یک "پروتکل ارتباطی" توسعه دهد، که به توسعهدهندگان امکان میدهد Codex CLI را با زبانهای مختلفی مانند TypeScript/JavaScript و Python گسترش دهند.
فؤاد متین، از تیم فنی OpenAI، تأیید کرده که نسخه TypeScript به تدریج کنار گذاشته خواهد شد و تمرکز بر این است که نسخه بومی Rust به زودی پیشفرض شود.
با وجود اینکه نسخه Rust هنوز در حال توسعه است، بازخوردهای اولیه "فوقالعاده روان" و بسیار مثبت بوده است. هدف نهایی این بازنویسی، تبدیل Codex CLI از یک ابزار ساده به یک پلتفرم قدرتمند، انعطافپذیر، و قابل توسعه برای اتوماسیون هوش مصنوعی است.
این حرکت نشاندهنده یک گرایش بزرگتر در صنعت فناوری به سمت توسعه بومی و استفاده از ابزارهایی مانند Rust و Go برای ایجاد نرمافزارهای کارآمدتر و قابل نگهداریتر است.
🔗 برای جزئیات بیشتر، مقاله کامل را بخوانید:
https://analyticsindiamag.com/global-tech/openai-is-ditching-typescript-to-rebuild-codex-cli-with-rust/
📚💻 @dotnetcode
Please open Telegram to view this post
VIEW IN TELEGRAM
Analytics India Magazine
OpenAI is Ditching TypeScript to Rebuild Codex CLI with Rust | AIM
“We will ultimately be retiring the TypeScript version of the CLI in favour of the Rust one.”
❤5👍1
Forwarded from thisisnabi.dev [Farsi]
🎗 رایگان برای همدلی
در روزهایی که شرایط سختتر از همیشه شده، بسیاری از عزیزانم بهخاطر جنگ و بحرانهای اخیر، شغل خودشون رو از دست دادن.
به همین دلیل، دوره سیستم دیزاین در این ماه بهصورت رایگان در اختیار عزیزانی قرار میگیره که بهتازگی تعدیل شدهاند و به دنبال فرصتی برای یادگیری، رشد و بازآفرینی مسیر شغلیششون هستن.
🌱 از دل بحران، فرصت بسازیم.
اگر شما یا دوستتان در این شرایط قرار دارید، کافیه فقط آدرس gmail خودتون رو برام بفرستید @thisisnabi تا بهتون دسترسی بدم.
با عشق،
نبی کرم پور
@thisisnabi_dev
در روزهایی که شرایط سختتر از همیشه شده، بسیاری از عزیزانم بهخاطر جنگ و بحرانهای اخیر، شغل خودشون رو از دست دادن.
به همین دلیل، دوره سیستم دیزاین در این ماه بهصورت رایگان در اختیار عزیزانی قرار میگیره که بهتازگی تعدیل شدهاند و به دنبال فرصتی برای یادگیری، رشد و بازآفرینی مسیر شغلیششون هستن.
🌱 از دل بحران، فرصت بسازیم.
اگر شما یا دوستتان در این شرایط قرار دارید، کافیه فقط آدرس gmail خودتون رو برام بفرستید @thisisnabi تا بهتون دسترسی بدم.
با عشق،
نبی کرم پور
@thisisnabi_dev
❤18👏2
سلام دوستان! میخوام یه پست باحال براتون درباره یه پوستر آموزشی جذاب بنویسم که به تازگی دیدم. این پوستر با موضوع "۵ پروژه عملی برای تقویت مهارتهای کدنویسی" طراحی شده و به زبان انگلیسیه، با تمرکز روی فناوری .NET. اگه دنبال ایدههای کاربردی برای تمرین برنامهنویسی هستید، این پوستر دقیقاً همون چیزیه که لازم دارید!
۵ پروژه پیشنهادی:
پوستر ۵ پروژه رو توی کادرهای جدا و شمارهدار معرفی کرده که هر کدوم توضیح کوتاه و فناوریهای مورد استفادهشون رو دارن:
1. Task Management API
- توضیح: یه API برای مدیریت وظایف با احراز هویت JWT و عملیات CRUD (ایجاد، خوندن، بهروزرسانی و حذف).
- فناوریها: ASP.NET Core، JWT، Entity Framework.
- جایگاه: کادر قرمز رنگ، بالا سمت چپ.
2. Real-time Chat App
- توضیح: یه اپلیکیشن چت زنده با پشتیبانی از چند اتاق و نمایش حضور کاربران.
- فناوریها: SignalR، WebSockets، Real-time.
- جایگاه: کادر آبی، کنار کادر شماره ۱.
3. E-commerce Catalog
- توضیح: یه کاتالوگ تجارت الکترونیک با جستجوی محصولات، سبد خرید و سیستم پرداخت.
- فناوریها: MVC، Database، Search.
- جایگاه: کادر زیر شماره ۱، سمت چپ.
4. Background Processing
- توضیح: سیستم پردازش پسزمینه برای پردازش فایلها، ارسال ایمیل و همگامسازی دادهها.
- فناوریها: Windows Service، Queues، Dependency Injection (DI).
- جایگاه: کادر کنار شماره ۳، سمت راست.
5. Desktop Inventory Manager
- توضیح: یه مدیر موجودی دسکتاپ با اسکن بارکد، گزارشگیری و export دادهها.
- فناوریها: WPF، MVVM، Data Binding.
- جایگاه: کادر زرد رنگ، پایین پوستر.
🎺 برای یادگیری بیشتر و دریافت مطالب مفید در زمینه .NET و برنامهنویسی، به کانال ما بپیوندید!
📚💻 @dotnetcode🖥 👨💻
۵ پروژه پیشنهادی:
پوستر ۵ پروژه رو توی کادرهای جدا و شمارهدار معرفی کرده که هر کدوم توضیح کوتاه و فناوریهای مورد استفادهشون رو دارن:
1. Task Management API
- توضیح: یه API برای مدیریت وظایف با احراز هویت JWT و عملیات CRUD (ایجاد، خوندن، بهروزرسانی و حذف).
- فناوریها: ASP.NET Core، JWT، Entity Framework.
- جایگاه: کادر قرمز رنگ، بالا سمت چپ.
2. Real-time Chat App
- توضیح: یه اپلیکیشن چت زنده با پشتیبانی از چند اتاق و نمایش حضور کاربران.
- فناوریها: SignalR، WebSockets، Real-time.
- جایگاه: کادر آبی، کنار کادر شماره ۱.
3. E-commerce Catalog
- توضیح: یه کاتالوگ تجارت الکترونیک با جستجوی محصولات، سبد خرید و سیستم پرداخت.
- فناوریها: MVC، Database، Search.
- جایگاه: کادر زیر شماره ۱، سمت چپ.
4. Background Processing
- توضیح: سیستم پردازش پسزمینه برای پردازش فایلها، ارسال ایمیل و همگامسازی دادهها.
- فناوریها: Windows Service، Queues، Dependency Injection (DI).
- جایگاه: کادر کنار شماره ۳، سمت راست.
5. Desktop Inventory Manager
- توضیح: یه مدیر موجودی دسکتاپ با اسکن بارکد، گزارشگیری و export دادهها.
- فناوریها: WPF، MVVM، Data Binding.
- جایگاه: کادر زرد رنگ، پایین پوستر.
📚💻 @dotnetcode
Please open Telegram to view this post
VIEW IN TELEGRAM
👏7👍2❤1🔥1
امروز، شرکت xAI در رویدادی بزرگ از جدیدترین مدلهای هوش مصنوعی خود، Grok-4 و Grok-4 Heavy، رونمایی کرد و رسماً وارد رقابت برای کسب عنوان قدرتمندترین مدل هوش مصنوعی جهان شد.
این مدلها نه تنها پیشرفتهای چشمگیری نسبت به نسلهای قبلی خود نشان میدهند، بلکه در بنچمارکهای معتبر، رقبای سرسختی مانند GPT-4o و Gemini 2.5 Pro را با اختلاف قابل توجهی پشت سر گذاشتهاند.
همانطور که در نمودارهای منتشر شده از سوی xAI دیده میشود، Grok-4 و بهویژه نسخه قدرتمندتر آن، Grok-4 Heavy، در مجموعهای از بنچمارکهای کلیدی (با قابلیت استفاده از ابزار یا tool calling) عملکردی بینظیر داشتهاند:
*بنچمارک GPQA: امتیاز خیرهکننده 88.9% توسط Grok-4، که نشان از برتری آن در پاسخ به سوالات پیچیده دارد.
*بنچمارک AIME25 & HMMT25: کسب امتیاز کامل 100% در این بنچمارکهای دشوار ریاضی، قدرت استدلال منطقی این مدل را به رخ میکشد.
*بنچمارک LCB (Jan-May): با امتیاز 79.4%، گراک توانایی خود در درک و پردازش زبان طبیعی را به نمایش گذاشته است.
اما شاهکار بزرگ گراک در یکی از سختترین آزمونهای موجود برای سنجش هوش مصنوعی رقم خورد:
یکی از دلایل اصلی این عملکرد فوقالعاده، معماری جدید و نوآورانه گراک است. این مدل از یک سیستم چندعاملی بهره میبرد. به این معنی که چندین "ایجنت" هوشمند به صورت موازی روی یک مسئله کار میکنند، راهحلهای خود را با یکدیگر مقایسه کرده و در نهایت بهترین و دقیقترین پاسخ را ارائه میدهند. این رویکرد، توانایی حل مسئله و استدلال مدل را به سطح جدیدی ارتقا داده است.
برای کاربرانی که به نهایت قدرت این مدل نیاز دارند، xAI از پلن جدید "SuperGrok Heavy" با هزینه ماهانه ۳۰۰ دلار رونمایی کرد. این پلن دسترسی مستقیم به قدرتمندترین نسخه یعنی Grok-4 Heavy را فراهم میکند.
خبرهای هیجانانگیز xAI به همینجا ختم نمیشود:
* مدل ویدئویی: این شرکت اعلام کرد که در حال آموزش مدل پیشرفته پردازش ویدئو خود است.
*مدل Grok-4 Code: تنها چند هفته دیگر، نسخه تخصصی گراک برای کدنویسی با نام Grok-4 Code عرضه خواهد شد که promete انقلابی در این حوزه باشد.
بدون شک، با معرفی Grok-4، رقابت در دنیای هوش مصنوعی وارد مرحله جدید و بسیار هیجانانگیزی شده است. باید منتظر ماند و دید که شرکتهای دیگر چگونه به این قدرتنمایی xAI پاسخ خواهند داد!
📚💻 @dotnetcode
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍2😱2🔥1👏1
قابلیت HTTP Headers در C# چطوریه؟
امروز میخوایم یه موضوع ساده ولی فوقالعاده کاربردی رو با هم مرور کنیم: کار با هدرهای HTTP در C# با استفاده از HttpClient.
هدرها (Headers) بخش مهمی از هر درخواست و پاسخ HTTP هستن و اطلاعات اضافی مثل کلیدهای دسترسی (API Key)، نوع محتوا (Content-Type) و... رو منتقل میکنن. توی این پست ۳ سناریوی اصلی رو با هم میبینیم:
۱. اضافه کردن هدر به تمام درخواستها (Default Headers)
وقتی یه سری اطلاعات مثل ApiKey یا Authorization Token باید توی تمام درخواستهایی که به یک سرور خاص ارسال میشه وجود داشته باشه، بهترین راه استفاده از DefaultRequestHeaders هست. اینطوری یک بار هدر رو تنظیم میکنید و برای همیشه (تا زمانی که اون HttpClient زنده است) استفاده میشه.
مثال:
۲. اضافه کردن هدر فقط به یک درخواست خاص
گاهی وقتها لازمه یک هدر رو فقط برای یک درخواست خاص ارسال کنید. مثلاً یک هدر برای ردیابی (tracing) یا کشینگ. در این حالت، هدر رو مستقیماً به شیء HttpRequestMessage اضافه میکنیم.
مثال:
۳. خوندن هدر از پاسخ سرور (Response)
بعد از اینکه درخواستی رو ارسال کردید، سرور در پاسخ (Response) ممکنه هدرهای مهمی رو برگردونه. مثلاً اطلاعات مربوط به محدودیت تعداد درخواست (Rate Limiting) یا جزئیات صفحهبندی (Pagination). برای خوندن این هدرها به شکل ایمن (که اگر هدر وجود نداشت برنامه کرش نکنه)، از متد TryGetValues استفاده میکنیم.
مثال:
💡 نکته کلیدی: از DefaultRequestHeaders برای مقادیر ثابت مثل کلید API و از request.Headers برای مقادیر داینامیک که در هر درخواست ممکنه تغییر کنن استفاده کنید تا کدتون تمیزتر و بهینهتر باشه.
🎺 برای یادگیری بیشتر و دریافت مطالب مفید در زمینه .NET و برنامهنویسی، به کانال ما بپیوندید!
📚💻 @dotnetcode🖥 👨💻
امروز میخوایم یه موضوع ساده ولی فوقالعاده کاربردی رو با هم مرور کنیم: کار با هدرهای HTTP در C# با استفاده از HttpClient.
هدرها (Headers) بخش مهمی از هر درخواست و پاسخ HTTP هستن و اطلاعات اضافی مثل کلیدهای دسترسی (API Key)، نوع محتوا (Content-Type) و... رو منتقل میکنن. توی این پست ۳ سناریوی اصلی رو با هم میبینیم:
۱. اضافه کردن هدر به تمام درخواستها (Default Headers)
وقتی یه سری اطلاعات مثل ApiKey یا Authorization Token باید توی تمام درخواستهایی که به یک سرور خاص ارسال میشه وجود داشته باشه، بهترین راه استفاده از DefaultRequestHeaders هست. اینطوری یک بار هدر رو تنظیم میکنید و برای همیشه (تا زمانی که اون HttpClient زنده است) استفاده میشه.
مثال:
// Create a single instance of HttpClient for your application
HttpClient client = new();
// Add an API Key that will be sent with EVERY request made by this client
client.DefaultRequestHeaders.Add("ApiKey", "YourSuperSecretKeyFromApi");
// Now, any request like client.GetAsync, client.PostAsync, etc. will have this header.
var response = await client.GetAsync("https://api.example.com/data");
۲. اضافه کردن هدر فقط به یک درخواست خاص
گاهی وقتها لازمه یک هدر رو فقط برای یک درخواست خاص ارسال کنید. مثلاً یک هدر برای ردیابی (tracing) یا کشینگ. در این حالت، هدر رو مستقیماً به شیء HttpRequestMessage اضافه میکنیم.
مثال:
HttpClient client = new();
var url = "https://api.example.com/data";
// Create a specific request message
HttpRequestMessage request = new(HttpMethod.Get, url);
// Add a header ONLY for this specific request
request.Headers.Add("X-Custom-ID", "some-unique-value-123");
// Send the request
HttpResponseMessage response = await client.SendAsync(request);
۳. خوندن هدر از پاسخ سرور (Response)
بعد از اینکه درخواستی رو ارسال کردید، سرور در پاسخ (Response) ممکنه هدرهای مهمی رو برگردونه. مثلاً اطلاعات مربوط به محدودیت تعداد درخواست (Rate Limiting) یا جزئیات صفحهبندی (Pagination). برای خوندن این هدرها به شکل ایمن (که اگر هدر وجود نداشت برنامه کرش نکنه)، از متد TryGetValues استفاده میکنیم.
مثال:
// Assuming 'response' is the HttpResponseMessage from the server
string apiKey = string.Empty;
// Try to get the value of the "ApiKey" header
if (response.Headers.TryGetValues("ApiKey", out var keyValues))
{
// If the header exists, get the first value.
// keyValues is an IEnumerable<string>
apiKey = keyValues.FirstOrDefault();
}
Console.WriteLine($"API Key from response: {apiKey ?? "Not Found"}");
💡 نکته کلیدی: از DefaultRequestHeaders برای مقادیر ثابت مثل کلید API و از request.Headers برای مقادیر داینامیک که در هر درخواست ممکنه تغییر کنن استفاده کنید تا کدتون تمیزتر و بهینهتر باشه.
📚💻 @dotnetcode
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👏4👍1🎉1
Forwarded from TondTech (مسعود بیگی)
✅ دوستان خوب و عزیزم سلام، من و تیم خوبم در #رسمیو، مدتی رو سرمون خلوت خواهد بود و دوست داریم به شکل مشاوره یا همکاری در انجام پروژه های شما (به صورت صفر تا صد یا مشارکت در پیاده سازی بخشی از سرویس هاتون) همراه باشیم .
✅ ما توی تیممون به جز توسعه دهندگان .net و React ، پروداکت منیجر و دیزاینر هم داریم اگر لازم داشته باشید برای این پروژه ها.
✅ کد تمیز و قابل گسترش مینویسیم، با هم سر استانداردهای مستندسازی به تفاهم خواهیم رسید.
✅ بعد از پایان پروژه هم، پروژه رو به تیم تون تحویل میدیم و اگر نیاز به آموزشی باشه، در حد توان راهنمایی و آموزش نیروهاتون رو هم بر عهده خواهیم گرفت.
خیلی به من لطف خواهید کرد اگر این پست را در همه ی گروه های فنی و بیزنسی تان منتشر کنید.
متاسفانه فعلا فقط از طریق اکانت تلگرام @StartupNerd وشماره 09308282925 در خدمت شما و پاسخگو خواهم بود.
🫂 مجددا از شما خواهش میکنم این پست رو (در همه ی گروه های خودتون که فکر میکنید ممکنه کسی به توانایی ما نیاز داشته باشه) بازنشر کنید
✅ ما توی تیممون به جز توسعه دهندگان .net و React ، پروداکت منیجر و دیزاینر هم داریم اگر لازم داشته باشید برای این پروژه ها.
✅ کد تمیز و قابل گسترش مینویسیم، با هم سر استانداردهای مستندسازی به تفاهم خواهیم رسید.
✅ بعد از پایان پروژه هم، پروژه رو به تیم تون تحویل میدیم و اگر نیاز به آموزشی باشه، در حد توان راهنمایی و آموزش نیروهاتون رو هم بر عهده خواهیم گرفت.
خیلی به من لطف خواهید کرد اگر این پست را در همه ی گروه های فنی و بیزنسی تان منتشر کنید.
متاسفانه فعلا فقط از طریق اکانت تلگرام @StartupNerd وشماره 09308282925 در خدمت شما و پاسخگو خواهم بود.
🫂 مجددا از شما خواهش میکنم این پست رو (در همه ی گروه های خودتون که فکر میکنید ممکنه کسی به توانایی ما نیاز داشته باشه) بازنشر کنید
👍4❤3🔥2