#آموزش #گیت
⚡️ میدونستین کامیتی که با یک ریست اشتباه از تاریخچه پریده، هنوز توی گیت هست و برمیگرده؟
گیت هر جابهجایی
خروجی:
عبارت
💎
راه امنتر: اول یک برنچ نجات بسازید
اگه مطمئن نیستید کدوم خط درسته، بهجای ریست، اون نقطه رو توی یک برنچ جدا نگه دارید و با خیال راحت بررسیش کنید:
خروجی:
🔥 برنچی که پاک کردین هم برمیگرده
موقع پاک کردن برنچ، گیت هش آخرین کامیتش رو نشون میده:
خروجی:
اگه این پیام رو از دست دادین، هش رو از خروجی
خروجی:
⚠️ ریست با گزینهٔ
▫️ دفترچهٔ
▫️ ورودیها همیشگی نیستن: با تنظیمات پیشفرض، ورودیهایی که به کامیتهای بیرون از تاریخچهٔ برنچ فعلی اشاره دارن (مثل همین کامیت گمشده) بعد از ۳۰ روز و بقیه بعد از ۹۰ روز موقع پاکسازی خودکار گیت حذف میشن؛ پس نجات رو عقب نندازید.
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
گیت هر جابهجایی
HEAD رو توی یک دفترچهٔ محلی به اسم reflog ثبت میکنه. فرض کنید با ریست کردن به یک کامیت عقبتر، کامیت «add login page» غیب شده. با این دو دستور پیداش میکنیم و برش میگردونیم:
git reflog
git reset --hard HEAD@{1}
خروجی:
377ca14 HEAD@{0}: reset: moving to HEAD~1
73550dc HEAD@{1}: commit: add login page
377ca14 HEAD@{2}: commit (initial): initial commit
HEAD is now at 73550dc add login page
عبارت
HEAD@{1} یعنی «جایی که HEAD یک قدم قبل بود». همونطور که توی خط دوم خروجی میبینید، اون موقع روی کامیت گمشده بود؛ پس با ریست به همون نقطه، کامیت دوباره سر جاش برمیگرده.
💎
راه امنتر: اول یک برنچ نجات بسازید
اگه مطمئن نیستید کدوم خط درسته، بهجای ریست، اون نقطه رو توی یک برنچ جدا نگه دارید و با خیال راحت بررسیش کنید:
git branch rescue HEAD@{1}
git log --oneline rescue
خروجی:
73550dc add login page
377ca14 initial commit
موقع پاک کردن برنچ، گیت هش آخرین کامیتش رو نشون میده:
git branch -D feature
خروجی:
Deleted branch feature (was 94be905).
اگه این پیام رو از دست دادین، هش رو از خروجی
reflog پیدا کنید (خط «commit: add feature») و برنچ رو با همون هش دوباره بسازید:
git reflog -3
git branch feature 94be905
خروجی:
73550dc HEAD@{0}: checkout: moving from feature to main
94be905 HEAD@{1}: commit: add feature
73550dc HEAD@{2}: checkout: moving from main to feature
--hard تغییرات کامیتنشده رو پاک میکنه و reflog فقط کامیتها رو نگه میداره، نه تغییراتی که هیچوقت کامیت نشدن. پس قبلش با این دستور مطمئن بشید چیز کامیتنشدهای ندارید:
git status
▫️ دفترچهٔ
reflog فقط روی سیستم خودتونه و با push جایی نمیره؛ توی یک کلون تازه فقط یک خط «clone» داره.▫️ ورودیها همیشگی نیستن: با تنظیمات پیشفرض، ورودیهایی که به کامیتهای بیرون از تاریخچهٔ برنچ فعلی اشاره دارن (مثل همین کامیت گمشده) بعد از ۳۰ روز و بقیه بعد از ۹۰ روز موقع پاکسازی خودکار گیت حذف میشن؛ پس نجات رو عقب نندازید.
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
#خبر #هوش_مصنوعی #Canva
🎨 مدل تصویرساز Canva Craft معرفی شد
شرکت Canva اولین مدل تولید تصویر اختصاصی خودش رو با نام Canva Craft منتشر کرد. این مدل قبل از ساختن تصویر، اول چیدمان طرح رو برنامهریزی میکنه و برای همین متنهای داخل تصویر رو دقیقتر مینویسه و میشه بخشی از طرح رو بدون بههمریختن بقیهاش ویرایش کرد. خروجیها تا وضوح 2K و در بیش از ۳۰ نسبت تصویر ساخته میشن و توی رتبهبندی DesignArena هم به رتبهی چهارم رسیده.
این مدل از همین حالا برای همهی کاربران Canva از بخش Dream Lab و از طریق API در دسترسه و قراره بهزودی از طریق MCP به ChatGPT و Gemini هم وصل بشه.
🔗 منبع رسمی: معرفی Canva Craft
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
🎨 مدل تصویرساز Canva Craft معرفی شد
شرکت Canva اولین مدل تولید تصویر اختصاصی خودش رو با نام Canva Craft منتشر کرد. این مدل قبل از ساختن تصویر، اول چیدمان طرح رو برنامهریزی میکنه و برای همین متنهای داخل تصویر رو دقیقتر مینویسه و میشه بخشی از طرح رو بدون بههمریختن بقیهاش ویرایش کرد. خروجیها تا وضوح 2K و در بیش از ۳۰ نسبت تصویر ساخته میشن و توی رتبهبندی DesignArena هم به رتبهی چهارم رسیده.
این مدل از همین حالا برای همهی کاربران Canva از بخش Dream Lab و از طریق API در دسترسه و قراره بهزودی از طریق MCP به ChatGPT و Gemini هم وصل بشه.
🔗 منبع رسمی: معرفی Canva Craft
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
❤2🔥1
Please open Telegram to view this post
VIEW IN TELEGRAM
هوشمصنوعی🔥برنامهنویسی | کدینگیار
#کوئیز #پایتون پیشنیاز: دیکشنری (اضافه کردن و تغییر کلید) و حلقهٔ for روی دیکشنری ⏳ پاسخ کوییز ۲۴ ساعت دیگه توی همین کانال میاد. @codingyar
#پاسخ_کوییز #پایتون
🔔 پاسخ کوییز بالا (همین کوییزی که بهش ریپلای زدم) رو در زیر ببینید ⬇️
✅ جواب درست: «3 18»
توی دیکشنری هر کلید فقط یک بار وجود داره. وقتی به کلیدی که از قبل هست مقدار میدیم، فقط مقدارش عوض میشه؛ پس tea از ۵ میشه ۶ و تعداد کلیدها همون ۲ میمونه. ولی cake کلید جدیده و با مقدار ۴ اضافه میشه. حالا دیکشنری ۳ تا کلید داره و len عدد ۳ رو میده.
حلقهٔ for روی دیکشنری، کلیدها رو یکییکی میده و با prices[item] به مقدار هر کدوم میرسیم. پس جمع میشه ۶ + ۸ + ۴ = ۱۸.
اشتباه رایج: گزینهٔ «3 17» یعنی فکر کنیم مقدار قبلی tea (یعنی ۵) سر جاش میمونه. گزینهٔ «4 23» از اینجا میاد که فکر کنیم tea یک کلید تکراری دوم با مقدار ۶ میسازه (۵ + ۶ + ۸ + ۴). گزینهٔ «2 14» هم یعنی cake رو فراموش کنیم و فقط ۶ + ۸ رو حساب کنیم.
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
🔔 پاسخ کوییز بالا (همین کوییزی که بهش ریپلای زدم) رو در زیر ببینید ⬇️
توی دیکشنری هر کلید فقط یک بار وجود داره. وقتی به کلیدی که از قبل هست مقدار میدیم، فقط مقدارش عوض میشه؛ پس tea از ۵ میشه ۶ و تعداد کلیدها همون ۲ میمونه. ولی cake کلید جدیده و با مقدار ۴ اضافه میشه. حالا دیکشنری ۳ تا کلید داره و len عدد ۳ رو میده.
حلقهٔ for روی دیکشنری، کلیدها رو یکییکی میده و با prices[item] به مقدار هر کدوم میرسیم. پس جمع میشه ۶ + ۸ + ۴ = ۱۸.
اشتباه رایج: گزینهٔ «3 17» یعنی فکر کنیم مقدار قبلی tea (یعنی ۵) سر جاش میمونه. گزینهٔ «4 23» از اینجا میاد که فکر کنیم tea یک کلید تکراری دوم با مقدار ۶ میسازه (۵ + ۶ + ۸ + ۴). گزینهٔ «2 14» هم یعنی cake رو فراموش کنیم و فقط ۶ + ۸ رو حساب کنیم.
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
❤2👏1
#آموزش #گیت
⚡️ میدونستین اگه پیام آخرین کامیت رو اشتباه تایپ کردین یا یک فایل ازش جا موند، لازم نیست یک کامیت «fix» جدا بسازید؟
گزینهٔ
خروجی:
حالا بهجای دو کامیت، فقط یک کامیت تمیز با پیام درست داریم که هر دو فایل رو داره.
✔️ فقط فایل جاافتاده رو اضافه کنید و پیام دست نخوره
اگه پیام درسته و فقط یک تغییر کوچیک جا مونده، با
خروجی:
💎هش کامیت عوض میشه
گیت کامیت قبلی رو ویرایش نمیکنه؛ یک کامیت تازه میسازه و برنچ رو میبره روی اون. برای همین توی این مثال هش اول 5600caf شد و بعد a72abbd. کامیتهای قبلی هم هنوز توی
خروجی:
⚠️ اگه کامیت رو قبلاً push کردین
بعد از amend، تاریخچهٔ شما با سرور فرق میکنه و push معمولی رد میشه:
فقط روی برنچ شخصی خودتون و با این دستور push کنید. اگه برنچ روی سرور با آخرین چیزی که شما ازش دیدین فرق کرده باشه (مثلاً همتیمیتون چیز جدیدی فرستاده)، گیت push رو رد میکنه و کار اون پاک نمیشه:
▫️ روی برنچ مشترک مثل main، کامیتی رو که بقیه گرفتن amend نکنید؛ بهتره یک کامیت اصلاحی جدید بسازید.
▫️ گزینهٔ
▫️ اگه
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
گزینهٔ
--amend آخرین کامیت رو با یک نسخهٔ درستشده جایگزین میکنه. فرض کنید کامیت «add login pgae» رو با غلط تایپی ساختین و فایل settings.py هم توش نرفته:
git add settings.py
git commit --amend -m "add login page"
git log --oneline
خروجی:
[main 5600caf] add login page
Date: Mon Oct 26 10:00:00 2026 +0330
2 files changed, 2 insertions(+)
create mode 100644 login.py
create mode 100644 settings.py
5600caf add login page
513b5b1 initial commit
حالا بهجای دو کامیت، فقط یک کامیت تمیز با پیام درست داریم که هر دو فایل رو داره.
اگه پیام درسته و فقط یک تغییر کوچیک جا مونده، با
--no-edit همون پیام قبلی میمونه و ادیتور هم باز نمیشه:
git add login.py
git commit --amend --no-edit
خروجی:
[main a72abbd] add login page
Date: Mon Oct 26 10:00:00 2026 +0330
2 files changed, 3 insertions(+)
create mode 100644 login.py
create mode 100644 settings.py
💎هش کامیت عوض میشه
گیت کامیت قبلی رو ویرایش نمیکنه؛ یک کامیت تازه میسازه و برنچ رو میبره روی اون. برای همین توی این مثال هش اول 5600caf شد و بعد a72abbd. کامیتهای قبلی هم هنوز توی
reflog پیدا میشن:
git reflog -3
خروجی:
a72abbd HEAD@{0}: commit (amend): add login page
5600caf HEAD@{1}: commit (amend): add login page
0984448 HEAD@{2}: commit: add login pgae
بعد از amend، تاریخچهٔ شما با سرور فرق میکنه و push معمولی رد میشه:
! [rejected] main -> main (non-fast-forward)
فقط روی برنچ شخصی خودتون و با این دستور push کنید. اگه برنچ روی سرور با آخرین چیزی که شما ازش دیدین فرق کرده باشه (مثلاً همتیمیتون چیز جدیدی فرستاده)، گیت push رو رد میکنه و کار اون پاک نمیشه:
git push --force-with-lease
▫️ روی برنچ مشترک مثل main، کامیتی رو که بقیه گرفتن amend نکنید؛ بهتره یک کامیت اصلاحی جدید بسازید.
▫️ گزینهٔ
--amend فقط آخرین کامیت رو عوض میکنه؛ برای کامیتهای قدیمیتر باید سراغ rebase تعاملی برید.▫️ اگه
-m رو ننویسید، ادیتور با پیام قبلی باز میشه تا همونجا ویرایشش کنید.
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
هوشمصنوعی🔥برنامهنویسی | کدینگیار
#کوئیز #پایتون پیشنیاز: تعریف تابع، پارامتر و return ⏳ پاسخ کوییز ۲۴ ساعت دیگه توی همین کانال میاد. @codingyar
#پاسخ_کوییز #پایتون
🔔 پاسخ کوییز بالا (همین کوییزی که بهش ریپلای زدم) رو در زیر ببینید ⬇️
✅ جواب درست: «0 6»
وقتی داخل یک تابع به اسمی مقدار میدیم، پایتون اون اسم رو یک متغیر محلی (مخصوص همون تابع) در نظر میگیره. پس count داخل add یک متغیر جدیده که فقط تا پایان اجرای تابع وجود داره و هیچ ربطی به count بیرونی نداره، حتی با اینکه اسمشون یکیه.
تابع با n برابر ۳ صدا زده میشه، count محلی میشه ۳ × ۲ = ۶ و همین مقدار برگردونده میشه؛ پس result برابر ۶ هست. ولی count بیرونی هیچوقت تغییر نکرده و همون ۰ میمونه.
اشتباه رایج: گزینهٔ «6 6» یعنی فکر کنیم تابع، count بیرونی رو عوض کرده. برای این کار باید داخل تابع از global استفاده میکردیم (که معمولاً توصیه نمیشه و بهتره مقدار رو با return بگیریم، همون کاری که اینجا با result انجام شده). گزینهٔ «3 6» یعنی n رو با count بیرونی قاطی کنیم و گزینهٔ «0 0» یعنی فکر کنیم تابع، count بیرونی رو برمیگردونه.
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
🔔 پاسخ کوییز بالا (همین کوییزی که بهش ریپلای زدم) رو در زیر ببینید ⬇️
وقتی داخل یک تابع به اسمی مقدار میدیم، پایتون اون اسم رو یک متغیر محلی (مخصوص همون تابع) در نظر میگیره. پس count داخل add یک متغیر جدیده که فقط تا پایان اجرای تابع وجود داره و هیچ ربطی به count بیرونی نداره، حتی با اینکه اسمشون یکیه.
تابع با n برابر ۳ صدا زده میشه، count محلی میشه ۳ × ۲ = ۶ و همین مقدار برگردونده میشه؛ پس result برابر ۶ هست. ولی count بیرونی هیچوقت تغییر نکرده و همون ۰ میمونه.
اشتباه رایج: گزینهٔ «6 6» یعنی فکر کنیم تابع، count بیرونی رو عوض کرده. برای این کار باید داخل تابع از global استفاده میکردیم (که معمولاً توصیه نمیشه و بهتره مقدار رو با return بگیریم، همون کاری که اینجا با result انجام شده). گزینهٔ «3 6» یعنی n رو با count بیرونی قاطی کنیم و گزینهٔ «0 0» یعنی فکر کنیم تابع، count بیرونی رو برمیگردونه.
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#خبر #هوش_مصنوعی #OpenAI
🚀 مدل GPT-6.1 Terra از OpenAI منتشر شد
شرکت OpenAI مدل سریع و میانردهٔ GPT-6.1 Terra رو معرفی کرد؛ مدلی که روی درک تصویر، کار با کامپیوتر (دیدن صفحه و انجام کار توی اپها) و نوشتن طبیعیتر تمرکز داره. طبق اعلام OpenAI، توی آزمون Agents’ Last Exam همسطح GPT-6 Astra عمل میکنه، با یکدهم قیمت هر توکن، و کارها رو بهطور میانگین بیش از ۳ برابر سریعتر از Astra و GPT-6.1 Sol تموم میکنه.
این مدل برای کاربران Plus، Pro، Enterprise و Edu توی ChatGPT Work و Codex در حال عرضهست. برنامهنویسها هم با نام
🔗 اطلاعیهٔ رسمی OpenAI رو اینجا بخونید
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
🚀 مدل GPT-6.1 Terra از OpenAI منتشر شد
شرکت OpenAI مدل سریع و میانردهٔ GPT-6.1 Terra رو معرفی کرد؛ مدلی که روی درک تصویر، کار با کامپیوتر (دیدن صفحه و انجام کار توی اپها) و نوشتن طبیعیتر تمرکز داره. طبق اعلام OpenAI، توی آزمون Agents’ Last Exam همسطح GPT-6 Astra عمل میکنه، با یکدهم قیمت هر توکن، و کارها رو بهطور میانگین بیش از ۳ برابر سریعتر از Astra و GPT-6.1 Sol تموم میکنه.
این مدل برای کاربران Plus، Pro، Enterprise و Edu توی ChatGPT Work و Codex در حال عرضهست. برنامهنویسها هم با نام
gpt-6.1-terra از طریق API بهش دسترسی دارن، با قیمت ۱ دلار برای هر میلیون توکن ورودی و ۵ دلار برای هر میلیون توکن خروجی (۵۰٪ ارزونتر از GPT-5.6 Terra). توی VS Code هم از طریق GitHub Copilot در دسترسه.
🔗 اطلاعیهٔ رسمی OpenAI رو اینجا بخونید
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
❤1
#خبر #هوش_مصنوعی #Cursor
🤖 کیت Agent SDK کرسر منتشر شد
کرسر Agent SDK رو بهصورت عمومی منتشر کرد؛ همون فریمورکی که خودش برای ساخت ایجنتهایی مثل Bugbot و Security Review ازش استفاده میکنه. با این کیت، ایجنت مثل یک پروژهٔ نرمافزاری تعریف میشه: دستورالعملها توی فایلهای Markdown و ابزارها به شکل تابعهای TypeScript، که میشه مثل بقیهٔ کد نسخهبندی و ریویوشون کرد.
ایجنت ساختهشده رو میشه با یک دستور روی زیرساخت کرسر دیپلوی کرد یا روی سرور خودتون اجراش کرد. ابزار ارزیابی (eval) هم داخلش هست تا اثر هر تغییر روی رفتار ایجنت رو بسنجید. این ایجنتها میتونن توی اسلک، پولریکوئستها و ایشو ترکرها کار کنن.
🔗 معرفی رسمی Agent SDK رو اینجا بخونید
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
🤖 کیت Agent SDK کرسر منتشر شد
کرسر Agent SDK رو بهصورت عمومی منتشر کرد؛ همون فریمورکی که خودش برای ساخت ایجنتهایی مثل Bugbot و Security Review ازش استفاده میکنه. با این کیت، ایجنت مثل یک پروژهٔ نرمافزاری تعریف میشه: دستورالعملها توی فایلهای Markdown و ابزارها به شکل تابعهای TypeScript، که میشه مثل بقیهٔ کد نسخهبندی و ریویوشون کرد.
ایجنت ساختهشده رو میشه با یک دستور روی زیرساخت کرسر دیپلوی کرد یا روی سرور خودتون اجراش کرد. ابزار ارزیابی (eval) هم داخلش هست تا اثر هر تغییر روی رفتار ایجنت رو بسنجید. این ایجنتها میتونن توی اسلک، پولریکوئستها و ایشو ترکرها کار کنن.
🔗 معرفی رسمی Agent SDK رو اینجا بخونید
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
❤1
#آموزش #پایتون
⚡️ میدونستین برای یک کلاس که فقط داده نگه میداره، لازم نیست
دکوراتور
خروجی:
یعنی سازنده با مقدار پیشفرض، نمایش خوانا موقع print و مقایسه با == بر اساس مقدار فیلدها، همه بدون یک خط کد اضافه آمادهست.
✔️ لیست بهعنوان مقدار پیشفرض
اگه برای یک فیلد مستقیم لیست خالی [] بذارید، پایتون همون موقع تعریف کلاس خطا میده:
راه درست
خروجی:
💎 شیء فقطخواندنی با frozen
با
خروجی (خط آخر خطا):
یک مزیت دیگهش اینه که شیء frozen رو میشه توی set یا بهعنوان کلید دیکشنری استفاده کرد.
⚠️ نوع فیلدها چک نمیشه
نوعی که جلوی هر فیلد مینویسید فقط برای خوانایی و ابزارهایی مثل mypy هست؛ خود dataclass مقدار اشتباه رو رد نمیکنه:
خروجی:
اگه اعتبارسنجی ورودی لازم دارین، سراغ کتابخونهٔ Pydantic برید.
▫️ با تابع
خروجی:
▫️ فیلدی که مقدار پیشفرض نداره نباید بعد از فیلدی بیاد که پیشفرض داره؛ وگرنه موقع تعریف کلاس TypeError میگیرید.
▫️ با
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
__init__ و __repr__ و __eq__ رو دستی بنویسید؟
دکوراتور
@dataclass از ماژول استاندارد dataclasses (بدون نصب) این متدها رو از روی فیلدهایی که با نوعشون تعریف کردین خودش میسازه:
from dataclasses import dataclass
@dataclass
class User:
name: str
age: int = 18
u = User("Sara", 25)
print(u)
print(u == User("Sara", 25))
print(User("Ali"))
خروجی:
User(name='Sara', age=25)
True
User(name='Ali', age=18)
یعنی سازنده با مقدار پیشفرض، نمایش خوانا موقع print و مقایسه با == بر اساس مقدار فیلدها، همه بدون یک خط کد اضافه آمادهست.
اگه برای یک فیلد مستقیم لیست خالی [] بذارید، پایتون همون موقع تعریف کلاس خطا میده:
ValueError: mutable default <class 'list'> for field items is not allowed: use default_factory
راه درست
field(default_factory=list) هست تا هر شیء لیست جدای خودش رو بگیره:
from dataclasses import dataclass, field
@dataclass
class Cart:
items: list = field(default_factory=list)
a = Cart()
b = Cart()
a.items.append("book")
print(a, b)
خروجی:
Cart(items=['book']) Cart(items=[])
💎 شیء فقطخواندنی با frozen
با
frozen=True بعد از ساختن شیء دیگه نمیشه فیلدهاش رو عوض کرد:
from dataclasses import dataclass
@dataclass(frozen=True)
class Point:
x: int
y: int
p = Point(1, 2)
p.x = 5
خروجی (خط آخر خطا):
dataclasses.FrozenInstanceError: cannot assign to field 'x'
یک مزیت دیگهش اینه که شیء frozen رو میشه توی set یا بهعنوان کلید دیکشنری استفاده کرد.
نوعی که جلوی هر فیلد مینویسید فقط برای خوانایی و ابزارهایی مثل mypy هست؛ خود dataclass مقدار اشتباه رو رد نمیکنه:
from dataclasses import dataclass
@dataclass
class User:
name: str
age: int = 18
print(User("Sara", "twenty"))
خروجی:
User(name='Sara', age='twenty')
اگه اعتبارسنجی ورودی لازم دارین، سراغ کتابخونهٔ Pydantic برید.
▫️ با تابع
asdict شیء رو به dict تبدیل کنید (مثلاً برای ساختن JSON):
from dataclasses import dataclass, asdict
@dataclass
class User:
name: str
age: int = 18
print(asdict(User("Sara", 25)))
خروجی:
{'name': 'Sara', 'age': 25}
▫️ فیلدی که مقدار پیشفرض نداره نباید بعد از فیلدی بیاد که پیشفرض داره؛ وگرنه موقع تعریف کلاس TypeError میگیرید.
▫️ با
order=True مقایسههایی مثل < هم ساخته میشه و فیلدها به ترتیب تعریف مقایسه میشن.
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
#خبر #هوش_مصنوعی #Runway
🎬 ابزار App Studio به Runway اضافه شد
شرکت Runway ابزار تازهای به اسم App Studio معرفی کرد؛ کافیه با زبان ساده توضیح بدید چه ابزاری میخواید تا خودش یه اپ اختصاصی با رابط کاربری مخصوص بسازه که با مدلهای تصویر، ویدیو و صدای Runway کار میکنه، بدون نیاز به کدنویسی. چند اپ آماده هم داخلش هست، مثل عوض کردن بازیگر ویدیو، ساخت تصویر حرفهای از یه عکس محصول و ویرایش دقیق فقط یه بخش از تصویر.
ساخت اپ برای همهٔ پلنهای پولی فعاله و از کردیت حساب کم میکنه؛ کاربران رایگان فقط میتونن اپهای آماده یا اپهایی که باهاشون به اشتراک گذاشته شده رو اجرا کنن.
🔗 اطلاعیهٔ رسمی Runway رو اینجا بخونید
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
🎬 ابزار App Studio به Runway اضافه شد
شرکت Runway ابزار تازهای به اسم App Studio معرفی کرد؛ کافیه با زبان ساده توضیح بدید چه ابزاری میخواید تا خودش یه اپ اختصاصی با رابط کاربری مخصوص بسازه که با مدلهای تصویر، ویدیو و صدای Runway کار میکنه، بدون نیاز به کدنویسی. چند اپ آماده هم داخلش هست، مثل عوض کردن بازیگر ویدیو، ساخت تصویر حرفهای از یه عکس محصول و ویرایش دقیق فقط یه بخش از تصویر.
ساخت اپ برای همهٔ پلنهای پولی فعاله و از کردیت حساب کم میکنه؛ کاربران رایگان فقط میتونن اپهای آماده یا اپهایی که باهاشون به اشتراک گذاشته شده رو اجرا کنن.
🔗 اطلاعیهٔ رسمی Runway رو اینجا بخونید
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
❤3
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
هوشمصنوعی🔥برنامهنویسی | کدینگیار
#کوئیز #پایتون پیشنیاز: رشتهها و متدهای upper و capitalize ⏳ پاسخ کوییز ۲۴ ساعت دیگه توی همین کانال میاد. @codingyar
#پاسخ_کوییز #پایتون
🔔 پاسخ کوییز بالا (همین کوییزی که بهش ریپلای زدم) رو در زیر ببینید ⬇️
✅ جواب درست: «python Python»
رشتهها در پایتون تغییرناپذیرن (immutable)؛ یعنی هیچ متدی نمیتونه خود رشته رو عوض کنه. متدهایی مثل upper و capitalize همیشه یک رشتهٔ جدید میسازن و برمیگردونن.
توی خط دوم، upper رشتهٔ جدید PYTHON رو میسازه، ولی چون اون رو توی هیچ متغیری ذخیره نکردیم، دور ریخته میشه و name همون python میمونه. خط سوم، capitalize یک رشتهٔ جدید با حرف اول بزرگ میسازه و این بار نتیجه توی title ذخیره میشه؛ پس title برابر Python هست.
اشتباه رایج: گزینهٔ «PYTHON Python» یعنی فکر کنیم upper خود name رو بزرگ کرده. برای این کار باید نتیجهٔ upper رو دوباره توی خود name ذخیره کنیم. گزینهٔ «PYTHON PYTHON» علاوه بر همین اشتباه، فرض میکنه capitalize فقط حرف اول رو بزرگ میکنه و به بقیه دست نمیزنه؛ در حالی که capitalize بقیهٔ حروف رو کوچیک میکنه. گزینهٔ «python python» هم یعنی فکر کنیم نتیجهٔ capitalize ذخیره نشده، در حالی که title همون نتیجه رو گرفته.
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
🔔 پاسخ کوییز بالا (همین کوییزی که بهش ریپلای زدم) رو در زیر ببینید ⬇️
رشتهها در پایتون تغییرناپذیرن (immutable)؛ یعنی هیچ متدی نمیتونه خود رشته رو عوض کنه. متدهایی مثل upper و capitalize همیشه یک رشتهٔ جدید میسازن و برمیگردونن.
توی خط دوم، upper رشتهٔ جدید PYTHON رو میسازه، ولی چون اون رو توی هیچ متغیری ذخیره نکردیم، دور ریخته میشه و name همون python میمونه. خط سوم، capitalize یک رشتهٔ جدید با حرف اول بزرگ میسازه و این بار نتیجه توی title ذخیره میشه؛ پس title برابر Python هست.
اشتباه رایج: گزینهٔ «PYTHON Python» یعنی فکر کنیم upper خود name رو بزرگ کرده. برای این کار باید نتیجهٔ upper رو دوباره توی خود name ذخیره کنیم. گزینهٔ «PYTHON PYTHON» علاوه بر همین اشتباه، فرض میکنه capitalize فقط حرف اول رو بزرگ میکنه و به بقیه دست نمیزنه؛ در حالی که capitalize بقیهٔ حروف رو کوچیک میکنه. گزینهٔ «python python» هم یعنی فکر کنیم نتیجهٔ capitalize ذخیره نشده، در حالی که title همون نتیجه رو گرفته.
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
❤4👍1
#خبر #هوش_مصنوعی #Gemini
🧠 گوگل مدل Gemini 4 Carbon رو معرفی کرد
گوگل دیپمایند از Gemini 4 Carbon رونمایی کرد و اون رو قویترین مدل خودش میدونه؛ فقط دو هفته بعد از Gemini 4 Argon. طبق اعلام گوگل، این مدل توی شاخص Artificial Analysis با نمرهٔ ۵۹ رتبهٔ اول رو گرفته و توی کدنویسی، کارهای ایجنتی و طولانی، و مخصوصاً امنیت سایبری (پیدا کردن و پچ کردن آسیبپذیریها و نوشتن کد امنتر) پیشرفت زیادی داشته.
فعلاً فقط برای گروهی از متخصصهای امنیت سایبری در دسترسه و قراره بهزودی برای توسعهدهندهها، کسبوکارها و کاربرها هم بیاد. قیمت اولیهٔ API هم ۲ دلار برای هر میلیون توکن ورودی و ۱۰ دلار برای خروجی اعلام شده.
🔗 معرفی رسمی Gemini 4 Carbon رو اینجا بخونید
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
🧠 گوگل مدل Gemini 4 Carbon رو معرفی کرد
گوگل دیپمایند از Gemini 4 Carbon رونمایی کرد و اون رو قویترین مدل خودش میدونه؛ فقط دو هفته بعد از Gemini 4 Argon. طبق اعلام گوگل، این مدل توی شاخص Artificial Analysis با نمرهٔ ۵۹ رتبهٔ اول رو گرفته و توی کدنویسی، کارهای ایجنتی و طولانی، و مخصوصاً امنیت سایبری (پیدا کردن و پچ کردن آسیبپذیریها و نوشتن کد امنتر) پیشرفت زیادی داشته.
فعلاً فقط برای گروهی از متخصصهای امنیت سایبری در دسترسه و قراره بهزودی برای توسعهدهندهها، کسبوکارها و کاربرها هم بیاد. قیمت اولیهٔ API هم ۲ دلار برای هر میلیون توکن ورودی و ۱۰ دلار برای خروجی اعلام شده.
🔗 معرفی رسمی Gemini 4 Carbon رو اینجا بخونید
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
❤3
#خبر #هوش_مصنوعی #OpenAI
💳 اعتبار رایگان API برای مشترکهای ChatGPT Pro و Business
شرکت OpenAI اعلام کرد از این به بعد مشترکهای واجد شرایط ChatGPT Pro و Business میتونن هر ماه تا ۵۰۰ دلار اعتبار رایگان API بگیرن تا باهاش اپ و ایجنت بسازن. مقدارش به پلن بستگی داره: پلنهای Pro صد، دویست و پونصد دلاری به همون اندازه اعتبار ماهانه میگیرن و توی Business به ازای هر صندلی Standard بیست دلار و هر صندلی Premium صد دلار (حداکثر ۵۰۰ دلار برای کل ورکاسپیس) داده میشه.
برای فعالسازی، اشتراک باید حداقل ۷ روز فعال باشه و از بخش Billing تنظیمات ChatGPT به یک سازمان API که مالکش هستید وصلش کنید. اعتبار هر ماه آخر دورهٔ صورتحساب منقضی میشه و به ماه بعد نمیره.
🔗 راهنمای رسمی دریافت اعتبار API رو اینجا بخونید
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
💳 اعتبار رایگان API برای مشترکهای ChatGPT Pro و Business
شرکت OpenAI اعلام کرد از این به بعد مشترکهای واجد شرایط ChatGPT Pro و Business میتونن هر ماه تا ۵۰۰ دلار اعتبار رایگان API بگیرن تا باهاش اپ و ایجنت بسازن. مقدارش به پلن بستگی داره: پلنهای Pro صد، دویست و پونصد دلاری به همون اندازه اعتبار ماهانه میگیرن و توی Business به ازای هر صندلی Standard بیست دلار و هر صندلی Premium صد دلار (حداکثر ۵۰۰ دلار برای کل ورکاسپیس) داده میشه.
برای فعالسازی، اشتراک باید حداقل ۷ روز فعال باشه و از بخش Billing تنظیمات ChatGPT به یک سازمان API که مالکش هستید وصلش کنید. اعتبار هر ماه آخر دورهٔ صورتحساب منقضی میشه و به ماه بعد نمیره.
🔗 راهنمای رسمی دریافت اعتبار API رو اینجا بخونید
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
❤2
This media is not supported in your browser
VIEW IN TELEGRAM
#خبر #هوش_مصنوعی #ChatGPT
📧 پلاگینهای iCloud Mail و Calendar به ChatGPT اضافه شد
حالا میتونید ایمیل و تقویم iCloud اپل رو به ChatGPT وصل کنید و ازش بخواید یه ایمیل خاص رو پیدا کنه، خلاصهٔ صندوق ورودی رو بگه، برنامههای بعدیتون رو چک کنه یا یه رویداد تقویم رو ویرایش کنه.
این پلاگینها برای همهٔ پلنهای ChatGPT، روی وب، دسکتاپ و iOS در دسترسه.
🔗 اعلام رسمی ChatGPT رو اینجا ببینید
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
📧 پلاگینهای iCloud Mail و Calendar به ChatGPT اضافه شد
حالا میتونید ایمیل و تقویم iCloud اپل رو به ChatGPT وصل کنید و ازش بخواید یه ایمیل خاص رو پیدا کنه، خلاصهٔ صندوق ورودی رو بگه، برنامههای بعدیتون رو چک کنه یا یه رویداد تقویم رو ویرایش کنه.
این پلاگینها برای همهٔ پلنهای ChatGPT، روی وب، دسکتاپ و iOS در دسترسه.
🔗 اعلام رسمی ChatGPT رو اینجا ببینید
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
❤2
#خبر #هوش_مصنوعی #Gemini
📄 ساخت و ویرایش فایل PDF، اسلاید و اکسل مستقیم داخل Gemini
از امروز میتونید داخل خود Gemini سند، PDF، ارائه، جدول و فایلهای دیگه بسازید، پیشنمایش ببینید و ویرایش کنید. مثلاً یادداشتهای دستنویستون رو به یه جزوهٔ PDF تبدیل کنید، محتوا رو دستی تغییر بدید یا یه بخش رو هایلایت کنید تا Gemini فقط همون متن یا تصویر رو اصلاح کنه.
این قابلیت برای همهٔ کاربران و به همهٔ زبانهایی که Gemini پشتیبانی میکنه فعال شده و پیشنمایش و ویرایش PDF هم روی وب و هم موبایل کار میکنه.
🔗 اعلام رسمی Gemini رو اینجا ببینید
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
📄 ساخت و ویرایش فایل PDF، اسلاید و اکسل مستقیم داخل Gemini
از امروز میتونید داخل خود Gemini سند، PDF، ارائه، جدول و فایلهای دیگه بسازید، پیشنمایش ببینید و ویرایش کنید. مثلاً یادداشتهای دستنویستون رو به یه جزوهٔ PDF تبدیل کنید، محتوا رو دستی تغییر بدید یا یه بخش رو هایلایت کنید تا Gemini فقط همون متن یا تصویر رو اصلاح کنه.
این قابلیت برای همهٔ کاربران و به همهٔ زبانهایی که Gemini پشتیبانی میکنه فعال شده و پیشنمایش و ویرایش PDF هم روی وب و هم موبایل کار میکنه.
🔗 اعلام رسمی Gemini رو اینجا ببینید
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
❤5
#خبر #هوش_مصنوعی #ChatGPT
🔥 سقف مصرف پلنهای ChatGPT Pro و Business Premium دو برابر شد
مسئول Codex و ChatGPT در OpenAI اعلام کرد از امروز همهٔ محدودیتهای مصرف برای پلنهای Pro (۱۰۰، ۲۰۰ و ۵۰۰ دلاری) و Business Premium دو برابر شده.
طبق این اعلام، سقف مصرف پلن Pro 200 هم برخلاف برنامهٔ قبلی کم نمیشه و مصرف Work و Codex همونطور میمونه. سهمیهٔ اضافهٔ Dots هم فعلاً ادامه داره و مصرفش جدا از سهمیهٔ اصلی حساب میشه.
🔗 اعلام رسمی رو اینجا ببینید
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
🔥 سقف مصرف پلنهای ChatGPT Pro و Business Premium دو برابر شد
مسئول Codex و ChatGPT در OpenAI اعلام کرد از امروز همهٔ محدودیتهای مصرف برای پلنهای Pro (۱۰۰، ۲۰۰ و ۵۰۰ دلاری) و Business Premium دو برابر شده.
طبق این اعلام، سقف مصرف پلن Pro 200 هم برخلاف برنامهٔ قبلی کم نمیشه و مصرف Work و Codex همونطور میمونه. سهمیهٔ اضافهٔ Dots هم فعلاً ادامه داره و مصرفش جدا از سهمیهٔ اصلی حساب میشه.
🔗 اعلام رسمی رو اینجا ببینید
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
❤1
#خبر #هوش_مصنوعی #Claude
📦 سقف حجم درخواست در Claude API چهار برابر شد
شرکت Anthropic حداکثر حجم هر درخواست به Messages API و Token Counting API رو از ۳۲ مگابایت به ۱۲۸ مگابایت رسوند. تا الان درخواستهای پر از تصویر، مثل جلسههای طولانی Computer Use یا فایلهای PDF بزرگ، با اینکه هنوز جای خالی زیادی توی کانتکست داشتن به سقف ۳۲ مگابایت میخوردن و خطا میدادن.
حالا حدود چهار برابر جای بیشتری برای فرستادن تصویر و سند توی یک درخواست دارید و لازم نیست برای این حد، ورودی رو تکهتکه کنید.
🔗 محدودیتهای رسمی Claude API رو اینجا ببینید
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
📦 سقف حجم درخواست در Claude API چهار برابر شد
شرکت Anthropic حداکثر حجم هر درخواست به Messages API و Token Counting API رو از ۳۲ مگابایت به ۱۲۸ مگابایت رسوند. تا الان درخواستهای پر از تصویر، مثل جلسههای طولانی Computer Use یا فایلهای PDF بزرگ، با اینکه هنوز جای خالی زیادی توی کانتکست داشتن به سقف ۳۲ مگابایت میخوردن و خطا میدادن.
حالا حدود چهار برابر جای بیشتری برای فرستادن تصویر و سند توی یک درخواست دارید و لازم نیست برای این حد، ورودی رو تکهتکه کنید.
🔗 محدودیتهای رسمی Claude API رو اینجا ببینید
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
❤2🔥1
#خبر #هوش_مصنوعی #Cursor #امنیت
⚠️ نسخهٔ آلوده افزونهٔ Claude Code در مارکتپلیس Cursor پیدا شد
شرکت Cursor اعلام کرد یک نسخهٔ دستکاریشده از افزونهٔ Claude Code (نسخهٔ 2.1.313) چند ساعت در مارکتپلیس افزونههای Cursor در دسترس بوده. این نسخه رو Anthropic نساخته بود و سعی میکرد اطلاعات سیستم رو جمع کنه و یک درِ پشتی SSH روی سیستم نصب کنه. طبق اعلام Cursor حداکثر ۵۰۰۰ کاربر درگیر شدن.
مارکتپلیس موقتاً از دسترس خارج شد و حالا دوباره برگشته. اگه روز ۲۹ اکتبر این افزونه رو در Cursor نصب یا آپدیت کردید، افزونه رو به نسخهٔ 2.1.314 بهروز کنید و مراحل بررسی و پاکسازی رو از اطلاعیهٔ رسمی دنبال کنید.
🔗 اطلاعیهٔ امنیتی Cursor رو اینجا بخونید
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
⚠️ نسخهٔ آلوده افزونهٔ Claude Code در مارکتپلیس Cursor پیدا شد
شرکت Cursor اعلام کرد یک نسخهٔ دستکاریشده از افزونهٔ Claude Code (نسخهٔ 2.1.313) چند ساعت در مارکتپلیس افزونههای Cursor در دسترس بوده. این نسخه رو Anthropic نساخته بود و سعی میکرد اطلاعات سیستم رو جمع کنه و یک درِ پشتی SSH روی سیستم نصب کنه. طبق اعلام Cursor حداکثر ۵۰۰۰ کاربر درگیر شدن.
مارکتپلیس موقتاً از دسترس خارج شد و حالا دوباره برگشته. اگه روز ۲۹ اکتبر این افزونه رو در Cursor نصب یا آپدیت کردید، افزونه رو به نسخهٔ 2.1.314 بهروز کنید و مراحل بررسی و پاکسازی رو از اطلاعیهٔ رسمی دنبال کنید.
🔗 اطلاعیهٔ امنیتی Cursor رو اینجا بخونید
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
❤1
#خبر #هوش_مصنوعی #Gemini
🎭 حالا میتونید در Gemini آواتار شخصی خودتون رو بسازید
قابلیت تازهای به اپ Gemini اضافه شد که باهاش میتونید آواتار خودتون رو بسازید و توی عکسها و ویدیوهای ساختهشده با هوش مصنوعی حضور داشته باشید.
میتونید آواتارتون رو با دوستاتون به اشتراک بذارید، همدیگه رو توی پرامپتها تگ کنید و چهره و صدای شخصیتها در همهٔ تصاویر و ویدیوها ثابت بمونه. دسترسی دیگران به آواتارتون هم هر وقت بخواید قابل حذفه.
🔗 راهنمای رسمی ساخت آواتار رو اینجا ببینید
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
🎭 حالا میتونید در Gemini آواتار شخصی خودتون رو بسازید
قابلیت تازهای به اپ Gemini اضافه شد که باهاش میتونید آواتار خودتون رو بسازید و توی عکسها و ویدیوهای ساختهشده با هوش مصنوعی حضور داشته باشید.
میتونید آواتارتون رو با دوستاتون به اشتراک بذارید، همدیگه رو توی پرامپتها تگ کنید و چهره و صدای شخصیتها در همهٔ تصاویر و ویدیوها ثابت بمونه. دسترسی دیگران به آواتارتون هم هر وقت بخواید قابل حذفه.
🔗 راهنمای رسمی ساخت آواتار رو اینجا ببینید
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
❤1👏1