teachify | Unsorted

Telegram-канал teachify - برنامه نویسی | Teachify

10327

برای موفق شدن 🌱 با این عبارت خداحافظی کن: "باشه فردا"🍃 💻 برای دسترسی راحت تر به مطالب به "لیست پین شده" برو🙃 👩‍💻 Support: @narges_madhi 🪧 ads: @teachifyads 💁‍♀️ instagram : instagram.com/teachify_ir

Subscribe to a channel

برنامه نویسی | Teachify

✔️ برنامه‌نویس‌ها روزمون مبارک

امسال هم تبریک می‌گیم؛ سال دیگه شاید AI خودش این پست رو گذاشت:)) 🤖

پ.ن: تصویر گویای همه چیز هست.

سمت چپ دومی خودمم🙂
@Teachify | برنامه نویسی

Читать полностью…

برنامه نویسی | Teachify

✔️ ایدِمپوتِنسی (Idempotency) یعنی چی و چرا مهمه؟

فرض کن کاربر روی دکمه‌ی «پرداخت» می‌زنه، ولی به‌خاطر کندی شبکه پاسخی دریافت نمی‌کنه و دوباره درخواست رو ارسال می‌کنه.
اگر سیستم درست طراحی نشده باشه، ممکنه پرداخت دو بار انجام بشه!
اینجاست که مفهوم ایدِمپوتِنسی اهمیت پیدا می‌کنه.
به زبان ساده:
اگر یک عملیات را چند بار با ورودی یکسان اجرا کنیم، نتیجه‌ی نهایی باید مثل یک بار اجرا شدن آن باشد.

مثلاً فرض کن درخواست زیر می‌گه نام کاربر شماره‌ی ۴۲ را به «یوسف» تغییر بده:
PUT /users/42
اگر این درخواست حتی ۱۰ بار هم ارسال بشه، نتیجه تغییری نمی‌کنه:
نام کاربر همچنان «یوسف» خواهد بود.

اما حالا این درخواست رو در نظر بگیر:
POST /payments
یعنی:
«یک پرداخت جدید ایجاد کن.»
اگر این درخواست دوبار اجرا بشه، ممکنه دو پرداخت جداگانه ساخته بشه.
برای جلوگیری از این اتفاق، معمولاً از چیزی به اسم کلید ایدمپوتنسی (Idempotency Key) استفاده می‌کنیم.
مثلاً:
Idempotency-Key: 8f3a...
سرور این کلید رو نگه می‌داره.
اگر همان درخواست دوباره با همان کلید ارسال بشه، سرور عملیات رو دوباره انجام نمی‌ده و نتیجه‌ی قبلی رو برمی‌گردونه.

ایدمپوتنسی مخصوصاً در این موارد خیلی مهمه:
• سیستم‌های پرداخت
• طراحی API
• تلاش مجدد یا Retry
• صف پیام‌ها
• میکروسرویس‌ها
• سیستم‌های توزیع‌شده
در سیستم‌های واقعی باید همیشه این احتمال رو در نظر بگیریم که:
یک درخواست ممکنه بیشتر از یک بار به سرور برسه.
طراحی خوب یعنی تکرار یک درخواست، باعث خراب شدن داده‌ها یا انجام چندباره‌ی یک عملیات حساس نشه.

@Teachify | برنامه نویسی

Читать полностью…

برنامه نویسی | Teachify

✔️ بازسازی Claude Code با پایتون و هزینه بسیار کمتر

پروژه متن‌باز ClawCodex یک بازسازی Python-native از Claude Code است که با تمرکز ویژه روی کاهش هزینه اجرای Agentهای کدنویسی توسعه داده شده.

نکته مهم این پروژه، استفاده بهینه از Prompt Caching است. ClawCodex پیشوند درخواست‌ها را در سطح بایت ثابت نگه می‌دارد تا System Prompt، ابزارها و تاریخچه گفتگو در درخواست‌های بعدی تا حد زیادی مستقیماً از کش خوانده شوند.

طبق اطلاعات منتشرشده توسط پروژه، استفاده از Cached Input در DeepSeek می‌تواند هزینه پردازش Context را در برخی شرایط صدها برابر کمتر از Claude Fable 5 کند. این مزیت در جلسات طولانی کدنویسی، با بزرگ‌تر شدن تاریخچه و Context، بیشتر خودش را نشان می‌دهد.

پروژه ClawCodex همچنین از بیش از ۲۵ ارائه‌دهنده و مدل از جمله Claude، GPT، DeepSeek و GLM و مدل‌های لوکال از طریق Ollama پشتیبانی می‌کند.

🔗 GitHub: github.com/agentforce314/clawcodex

@kaliboys | کالی بویز

Читать полностью…

برنامه نویسی | Teachify

✔️ تغییر بزرگ در انتشار نسخه‌های Django از سال 2028!

تیم Django رسماً اعلام کرده که از ژانویه ۲۰۲۸ چرخه انتشار این فریم‌ورک تغییر می‌کند.
تا امروز نسخه‌های Feature تقریباً هر ۸ ماه منتشر می‌شدند، اما از ۲۰۲۸ به بعد:
■ هر سال فقط یک Feature Release خواهیم داشت
■ شماره نسخه بر اساس سال انتشار خواهد بود:
Django 2028
Django 2029
Django 2030
و ...
■ هر نسخه جدید ۳ سال پشتیبانی دریافت می‌کند: یک سال Bug Fix و دو سال آپدیت‌های امنیتی و Data Loss.
در نتیجه مفهوم نسخه‌های جداگانه‌ی LTS هم عملاً کنار گذاشته می‌شود؛ چون همه نسخه‌های سالانه از چرخه پشتیبانی سه‌ساله برخوردار خواهند بود.

آخرین نسخه با مدل قدیمی، Django 6.2 LTS است که برای آوریل ۲۰۲۷ برنامه‌ریزی شده.
این تغییر می‌تواند برنامه‌ریزی برای Upgrade پروژه‌ها، پشتیبانی پکیج‌های جانبی و نگهداری پروژه‌های بلندمدت را خیلی قابل‌پیش‌بینی‌تر کند.

@Teachify | برنامه نویسی

Читать полностью…

برنامه نویسی | Teachify

✔️ یه نکته مهم که خیلی از برنامه‌نویس‌ها دیر متوجهش می‌شن!

برنامه‌نویس خوب کسی نیست که همه‌چی رو حفظ باشه!
برنامه‌نویس خوب کسیه که بلد باشه مسئله رو حل کنه.

مثلاً به‌جای اینکه صدها متد و دستور رو حفظ کنی، روی اینا تمرکز کن:

■ مسئله رو به بخش‌های کوچیک‌تر تقسیم کن
■ خطاها رو درست بخون و تحلیل کن
■ سرچ کردن حرفه‌ای رو یاد بگیر
■ مستندات (Documentation) رو بخون
■ پروژه بساز، حتی پروژه‌های خیلی کوچیک
■ کد بقیه رو بخون و ازش ایده بگیر
■ از هوش مصنوعی به عنوان یک منتور استفاده کن

واقعیت اینه که حتی برنامه‌نویس‌های حرفه‌ای هم خیلی چیزها رو سرچ می‌کنن.

مهارت اصلی تو «حفظ کردن کد» نیست؛
«پیدا کردن راه‌حل»ـه.

@Teachify | برنامه نویسی

Читать полностью…

برنامه نویسی | Teachify

✔️ این ابزارم جدیدا ترند شده 50 هزار ستاره گیتهاب گرفته، Strix یه Pentester مبتنی بر AI هستش.

یعنی به‌جای اینکه خودت بشینی مرحله‌به‌مرحله یه اپلیکیشن رو تست امنیتی کنی، چندتا Agent هوش مصنوعی بهش میدی که سعی کنن مثل یه هکر واقعی با اپلیکیشن کار کنن، باگ پیدا کنن و بعد مهم‌تر از اون، بررسی کنن که آیا واقعاً قابل Exploit شدن هست یا نه

نکته‌ی مهمش اینه که فقط نمیگه:  اینجا SQL Injection وجود داره.

بلکه سعی می‌کنه واقعاً Exploit رو اجرا و Validate کنه و برای Finding، Proof-of-Concept و مراحل بازتولید ارائه بده. این یکی از تفاوت‌های اصلیش با خیلی از Static Scannerها هستش.


https://github.com/usestrix/strix


@Teachify | برنامه نویسی

Читать полностью…

برنامه نویسی | Teachify

✔️ گیت‌هاب قابلیت Stacked Pull Requests را منتشر کرد

گیت‌هاب قابلیت جدید Stacked Pull Requests را به‌صورت Public Preview در دسترس توسعه‌دهندگان قرار داده است.
با این قابلیت، به‌جای ساخت یک Pull Request بزرگ و شلوغ، می‌توانید تغییرات پروژه را به چند Pull Request کوچک و وابسته تقسیم کنید. هر PR به‌صورت مستقل بررسی می‌شود و پس از تأیید، کل استک به‌ترتیب یا حتی با یک کلیک Merge خواهد شد.

مزایای این قابلیت:
• کدها سریع‌تر و دقیق‌تر Review می‌شوند.
• هر Pull Request کوچک‌تر و خواناتر است.
• مدیریت تغییرات بزرگ ساده‌تر می‌شود.
• احتمال بروز Conflict بین تغییرات کاهش پیدا می‌کند.
اگر روی پروژه‌های بزرگ یا تیمی کار می‌کنید، این قابلیت می‌تواند تجربه Code Review را به‌مراتب بهتر و سریع‌تر کند.

@Teachify | برنامه نویسی

Читать полностью…

برنامه نویسی | Teachify

✔️ نتفلیکس چطور همزمان به بیش از ۲۶۰ میلیون کاربر و ده‌ها میلیون استریم را بدون بافر مدیریت می‌کند؟

راز ماجرا فقط قدرت سرورها نیست؛ بیشتر کار قبل از اینکه شما روی دکمه Play بزنید انجام شده است.

چند نکته جالب از معماری Netflix:

🔹 ویدیو از Cloud پخش نمی‌شود.
احراز هویت، پیشنهاد فیلم، DRM و APIها روی AWS اجرا می‌شوند، اما خود فایل ویدیو از سرورهای اختصاصی Open Connect که داخل شبکه ISPها قرار دارند ارسال می‌شود؛ یعنی فیلم از نزدیک‌ترین نقطه ممکن به کاربر تحویل داده می‌شود.

🔹 محتوا از قبل روی سرورهای نزدیک کاربران قرار می‌گیرد.
نتفلیکس با پیش‌بینی رفتار کاربران، شب قبل فیلم‌ها و سریال‌های پربازدید را روی سرورهای هر منطقه کپی می‌کند. به همین دلیل هنگام انتشار یک فصل جدید، میلیون‌ها درخواست به سرور مرکزی هجوم نمی‌آورند.

🔹 کیفیت ویدیو دائماً با سرعت اینترنت شما تنظیم می‌شود.
ویدیو به قطعات چندثانیه‌ای تقسیم شده است. پلیر بعد از هر قطعه سرعت اینترنت و میزان بافر را بررسی می‌کند و کیفیت قطعه بعدی را انتخاب می‌کند. اگر سرعت اینترنت افت کند، کیفیت تصویر موقتاً کاهش پیدا می‌کند تا پخش متوقف نشود.

🔹 هر فیلم تنظیمات فشرده‌سازی مخصوص خودش را دارد.
یک انیمیشن ساده و یک فیلم اکشن پرجزئیات به بیت‌ریت یکسان نیاز ندارند؛ به همین دلیل نتفلیکس برای هر محتوا نسخه‌های مختلفی با کیفیت‌ها و حجم‌های متفاوت آماده می‌کند.

▪️ درس مهم برای برنامه‌نویس‌ها:

اگر سیستم شما تازه بعد از رسیدن درخواست کارهای سنگین را شروع می‌کند، احتمالاً دیر اقدام کرده‌اید.

به‌جای واکنش لحظه‌ای:

□ داده‌های پرمصرف را از قبل داخل Cache قرار دهید.
□ پردازش‌های سنگین را قبل از نیاز کاربران انجام دهید.
□ محتوا را تا جای ممکن به کاربران نزدیک کنید (Edge/CDN).
□ اجازه دهید Client خودش با شرایط شبکه سازگار شود.

💡 اصل طلایی معماری در مقیاس بزرگ:
Predict → Pre-position → Adapt
یعنی پیش‌بینی کن، از قبل آماده کن و در نهایت با شرایط لحظه‌ای سازگار شو.
@Teachify | برنامه‌نویسی

Читать полностью…

برنامه نویسی | Teachify

✔️ چرا گوگل دسترسی به قوی‌ترین هوش مصنوعی امنیتی خود را محدود کرد؟

🔹گوگل با معرفی سه مدل جدید از خانواده جِمینای (Gemini)، گام بلندی در بازتعریف رقابت هوش مصنوعی برداشت.

🔹مدل Flash Cyber بر پایه نسخه استاندارد Flash آموزش دیده و به‌طور ویژه برای مرور، تحلیل و وصله‌کردن خودکار کدهای نرم‌افزاری بهینه‌سازی شده است.

🔹این مدل درون عامل امنیتی گوگل به نام CodeMender یکپارچه شده و قادر به تحلیل کدهای پیچیده است.

🔹در آزمون‌های اولیه روی موتور مرورگر کروم (V۸ JavaScript Engine)، این مدل هوش مصنوعی موفق به شناسایی ۵۵ اختلال امنیتی شد که ۱۰ مورد از آن‌ها پیش‌تر توسط هیچ مدل دیگری کشف نشده بود.

@Teachify | برنامه نویسی

Читать полностью…

برنامه نویسی | Teachify

.
✔️ خداحافظی با SMS OTP؟ Firebase یک قدم بزرگ برداشت!
گوگل در Firebase قابلیتی جدید به نام Firebase Phone Number Verification (PNV) معرفی کرده که می‌تواند روش تأیید شماره موبایل را تغییر دهد.

در روش قدیمی:

□ کاربر شماره را وارد می‌کند
□ یک پیامک حاوی کد OTP ارسال می‌شود
□ کاربر کد را وارد می‌کند
□ شماره تأیید می‌شود

اما مشکلاتی مثل تأخیر یا نرسیدن پیامک، هزینه ارسال SMS، حملات فیشینگ و سرقت کد OTP همیشه وجود داشته است.

حالا با Firebase PNV روند متفاوت است:

□ کاربر روی گزینه تأیید شماره می‌زند
□ فایربیس بررسی می‌کند آیا دستگاه و اپراتور پشتیبانی می‌شوند یا نه
□ اپراتور، شماره متصل به سیم‌کارت را تأیید می‌کند
□ شماره بدون وارد کردن هیچ کدی به اپلیکیشن برمی‌گردد.

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

اما هنوز محدودیت هایی وجود دارد:

- همه اپراتورها و کشورها پشتیبانی نمی‌شوند
- مخصوص اپلیکیشن‌های موبایل است، نه وب
- در صورت عدم پشتیبانی، باید از روش‌هایی مثل SMS استفاده شود

@Teachify | برنامه نویسی

Читать полностью…

برنامه نویسی | Teachify

پاول دوروف: خرید دامنه‌ی جدید تا مشکل به «ما» مربوط شود

پاول دوروف، بنیان‌گذار تلگرام، از خرید دامنه‌ی اینترنتی جدید t.you خبر داد.

او همچنین حل مشکل دامنه‌ی t.me را نیز اعلام کرده است و‌حالا با me و you شوخی کرده. دو روز پیش دامنه‌ t.me تلگرام از دسترس خارج شده بود.
@Teachify | برنامه نویسی

Читать полностью…

برنامه نویسی | Teachify

✔️ بالاخره بعد از سال‌ها، HTTP یک متد جدید به نام QUERY دارد!

اگر تا امروز برای جستجوهای پیچیده در APIها مجبور بودید از POST استفاده کنید یا با محدودیت‌های GET کنار بیایید، وقت آن رسیده با HTTP QUERY آشنا شوید.

▪️ متد QUERY چیست؟
▪️ چه تفاوتی با GET و POST دارد؟
▪️ چرا به وجود آمد؟
▪️ مزایا و کاربردهای آن در طراحی REST API
▪️ مثال‌های عملی و وضعیت پشتیبانی فریم‌ورک‌ها

🔗 لینک مقاله:
متد HTTP QUERY چیست؟ معرفی کامل متد جدید HTTP

@kaliboys | کالی بویز

Читать полностью…

برنامه نویسی | Teachify

✔️ 15 زبان برنامه‌نویسی عجیب که شاید حتی اسمشان را هم نشنیده باشید!

Whitespace
کدهای این زبان فقط از فاصله، تب و خط جدید تشکیل شده‌اند؛ یعنی تقریباً هیچ چیز قابل مشاهده‌ای روی صفحه وجود ندارد!'

Chef
برنامه‌نویسی به سبک آشپزی! متغیرها مواد اولیه هستند و کدها شبیه دستور پخت غذا نوشته می‌شوند.

LOLCODE
الهام‌گرفته از میم‌های معروف LOLcats؛ سینتکس آن پر از عبارت‌های طنز و غلط‌های املایی عمدی است.

Malbolge
یکی از سخت‌ترین زبان‌های برنامه‌نویسی جهان که عمداً برای به چالش کشیدن و آزار برنامه‌نویس‌ها طراحی شده است.

Velato
در این زبان به جای متن، از نت‌های موسیقی برای نوشتن برنامه استفاده می‌شود.

Funciton
کدهای این زبان به جای متن، به شکل فلوچارت و نمودارهای ساخته‌شده با کاراکترهای یونیکد نمایش داده می‌شوند.

Brainfuck
فقط ۸ دستور دارد، اما نوشتن ساده‌ترین برنامه‌ها در آن می‌تواند ساعت‌ها زمان ببرد!

Piet
در این زبان، برنامه‌ها با مربع‌های رنگی نوشته می‌شوند و بیشتر شبیه یک اثر هنری هستند تا کد.

Befunge
برخلاف زبان‌های معمول، جریان اجرای برنامه می‌تواند در چهار جهت حرکت کند.

INTERCAL
زبانی که برای شوخی با زبان‌های برنامه‌نویسی رایج ساخته شده و پر از قوانین و پیام‌های خطای عجیب است.

Shakespeare
برنامه‌ها به شکل نمایشنامه‌های شکسپیر نوشته می‌شوند؛ شخصیت‌ها متغیرها هستند و دیالوگ‌ها دستورات برنامه.

ArnoldC
سینتکس این زبان از دیالوگ‌های معروف آرنولد شوارتزنگر الهام گرفته شده است.

Rockstar
در این زبان، کدها شبیه ترانه‌های موسیقی راک نوشته می‌شوند.

Cow
تقریباً تمام دستورات آن از ترکیب‌های مختلف کلمه "moo" تشکیل شده است!

Unlambda
یک زبان فوق‌العاده مینیمال که بر پایه مفاهیم ریاضی و Lambda Calculus ساخته شده و برای اکثر برنامه‌نویس‌ها به‌شدت گیج‌کننده است!

▪️اگر قرار باشد فقط یکی از این زبان‌ها را امتحان کنید، کدام را انتخاب می‌کنید)))

@Teachify | برنامه نویسی

Читать полностью…

برنامه نویسی | Teachify

اینو دیدم، گفتم با شما هم به اشتراک بذارم :))

@Teachify | برنامه نویسی

Читать полностью…

برنامه نویسی | Teachify

✔️ دوره رایگان مهندسی هوش مصنوعی از صفر
شامل 503 درس، 20 فاز و 320 ساعت


00: Setup & Tooling
01: Math Foundations
02: ML Fundamentals
03: Deep Learning Core
04: Computer Vision
05: NLP
06: Speech & Audio
07: Transformers Deep Dive
08: Generative AI
09: Reinforcement Learning
10: LLMs from Scratch
11: LLM Engineering
12: Multimodal AI
13: Tools & Protocols
14: Agent Engineering
15: Autonomous Systems
16: Multi-Agent & Swarms
17: Infrastructure & Production
18: Ethics, Safety & Alignment
19: Capstone Projects (85 lessons)

github.com/rohitg00/ai-engineering-from-scratch

@Teachify | برنامه نویسی

Читать полностью…

برنامه نویسی | Teachify

😂😂
@Teachify | برنامه نویسی

Читать полностью…

برنامه نویسی | Teachify

😂😂
@Teachify | برنامه نویسی

Читать полностью…

برنامه نویسی | Teachify

این عالی بود😂😂

@Teachify | برنامه نویسی

Читать полностью…

برنامه نویسی | Teachify

✔️ همینطوره :))

@Teachify | برنامه نویسی

Читать полностью…

برنامه نویسی | Teachify

#جواب:

استفاده از Idempotency Key در سمت client + ذخیره نتیجه و unique constraint/atomic operation در سمت server.

@Teachify | برنامه نویسی

Читать полностью…

برنامه نویسی | Teachify

✔️ ایجنت‌های OpenAI و Anthropic در تست‌های امنیتی بریتانیا از هویت جعلی و مهندسی اجتماعی استفاده کردند!

مؤسسه امنیت هوش مصنوعی بریتانیا (AISI) اعلام کرده در ارزیابی امنیتی جدید مدل‌های OpenAI و Anthropic، برخی ایجنت‌های هوش مصنوعی برای رسیدن به اهداف تعیین‌شده، اقداماتی خارج از محدوده مجاز انجام داده‌اند.
در این تست‌ها، مواردی مانند ساخت هویت‌های جعلی آنلاین، نوشتن کد مخرب و تلاش برای متقاعد کردن کاربران انسانی جهت تأیید اجرای آن مشاهده شده است.

در مجموع ۱۹ رفتار غیرمجاز ثبت شد که: ۱۷ مورد مربوط به مدل Anthropic و ۲ مورد مربوط به مدل OpenAI میباشد.

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

این نتایج نشان می‌دهد هرچه ایجنت‌های هوش مصنوعی توانمندتر می‌شوند، آزمون‌های امنیتی نیز اهمیت بیشتری پیدا می‌کنند تا از سوءاستفاده‌های احتمالی در دنیای واقعی جلوگیری شود.

@Teachify | برنامه نویسی

Читать полностью…

برنامه نویسی | Teachify

✔️ مدل Mythos آنتروپیک نقص‌های اساسی در استانداردهای رمزنگاری کشف کرد

آنتروپیک اعلام کرد که مدل هوش مصنوعی Claude Mythos Preview موفق به شناسایی نقاط ضعف ریاضیاتی در دو الگوریتم رمزنگاری شده است. اولین نقص، امنیت امضای دیجیتال رمزنگاری پساکوانتومی HAWK را که در مرحله ارزیابی نهایی سازمان NIST قرار دارد، به نصف کاهش می‌دهد.

دومین نقص می‌تواند حمله به نسخه‌ای از استاندارد رمزنگاری AES را بین ۲۰۰ تا ۸۰۰ برابر قدرتمندتر کند. با این حال، هیچ‌یک از این دو مورد، سیستم‌های عملیاتی فعلی را تهدید نمی‌کنند؛ زیرا الگوریتم HAWK هنوز به‌طور گسترده مستقر نشده و حمله دوم نیز نسخه تقلیل‌یافته AES را هدف قرار داده است.

@Teachify | برنامه نویسی

Читать полностью…

برنامه نویسی | Teachify

◀️ شروع قطعی دوره SOC Tier 1
◀️ شروع دوره: شنبه، 3 مرداد 1405 - تخفیف 15%: lianads-15

☺️ مشاهده جزئیات دوره و خرید:
https://lian.ac/soc1

🔽 اطلاع از شرایط اقساط: @liantrain

🔸 اطلاعات بیشتر:
☺️ 02191004151 | 😎 WhatsApp | 😎 Telegram

💻
گروه لیان
☺️ https://liangroup.net/
☺️ @AcademyLian

Читать полностью…

برنامه نویسی | Teachify

✔️ یک گنجینه رایگان برای برنامه‌نویس‌ها!

اگر از Claude Code استفاده می‌کنید، حتماً Prompt Library جدید Anthropic را ببینید.

داخل این صفحه ده‌ها پرامپت آماده (Copy & Paste) برای کارهای مختلف توسعه نرم‌افزار قرار گرفته است؛ از جمله:

🔹 Code Review
🔹 Debugging
🔹 Refactoring
🔹 Security Audit
🔹 نوشتن تست
🔹 طراحی معماری
🔹 مستندسازی پروژه
🔹 و ده‌ها سناریوی کاربردی دیگر

اما جذاب‌ترین بخش ماجرا اینجاست که Anthropic فقط پرامپت‌ها را منتشر نکرده؛ زیر هر کدام توضیح داده چرا این پرامپت مؤثر است و از چه الگوی Prompt Engineering استفاده می‌کند تا بهترین خروجی را از Claude بگیرد.

اگر با هوش مصنوعی کدنویسی می‌کنید، مطالعه این صفحه می‌تواند به همان اندازه که یادگیری یک ابزار جدید مفید است، کیفیت پرامپت‌های شما را هم ارتقا دهد.

🔗 لینک:
https://code.claude.com/docs/en/prompt-library

@Teachify | برنامه نویسی

Читать полностью…

برنامه نویسی | Teachify

✔️ مدل GPT-5.6 Sol وارد شد... و ظاهراً دکمه Delete رو زیادی دوست داره! 😅

تعدادی از برنامه‌نویس‌ها گزارش دادن که GPT-5.6 Sol بدون اینکه ازش بخوان، شروع کرده به حذف فایل‌های پروژه، پوشه‌ها و حتی دیتابیس‌ها!

جالب‌تر اینکه OpenAI هم این رفتار رو تأیید کرده و گفته این مدل در بعضی سناریوها ممکنه بیش از حد «خودمختار» عمل کنه و کارهایی انجام بده که اصلاً ازش خواسته نشده!

پس اگه قصد داری با GPT-5.6 Sol کد بزنی:
✅ اول git commit
✅ بعد Backup
✅ و لطفاً مستقیم به سرور Production وصلش نکن! :))
فعلاً این هوش مصنوعی بیشتر از اینکه بگه:

«مشکل رو حل کردم»

ممکنه بگه:
«مشکل رو... کلاً حذف کردم!» 💀😂


@Teachify | برنامه نویسی

Читать полностью…

برنامه نویسی | Teachify

✔️ کاهش مصرف حافظه با slots در پایتون

اگر تعداد زیادی از یک کلاس می‌سازید (مثلاً میلیون‌ها آبجکت)، استفاده از slots می‌تواند مصرف حافظه را به شکل قابل‌توجهی کاهش دهد.
به‌صورت پیش‌فرض، هر شیء در پایتون یک dict دارد که تمام ویژگی‌ها را داخل آن نگه می‌دارد. این انعطاف‌پذیر است، اما حافظه بیشتری مصرف می‌کند.
بدون slots:

    def init(self, name, age):
        self.name = name
        self.age = age

با slots:

    slots = ("name", "age")

    def init(self, name, age):
        self.name = name
        self.age = age

مزایا:
• کاهش مصرف حافظه (گاهی بین ۳۰ تا ۶۰ درصد)
• ایجاد آبجکت‌ها با سربار کمتر
• جلوگیری از اضافه شدن ویژگی‌های جدید به‌صورت تصادفی
مثلاً این کد خطا می‌دهد:

user.email = "ali@example.com"
# AttributeError


در پروژه‌های پردازش داده، بازی‌سازی، شبیه‌سازی و سرویس‌هایی که میلیون‌ها آبجکت می‌سازند، slots می‌تواند صرفه‌جویی قابل‌توجهی در حافظه ایجاد کند.
@Teachify | برنامه نویسی

Читать полностью…

برنامه نویسی | Teachify

✔️ تایپ‌اسکریپت 7 منتشر شد

🔹مایکروسافت نسخه نهایی TypeScript ۷ را با بازنویسی هسته اصلی در زبان Go منتشر کرد. این به‌روزرسانی بزرگ، سرعت کامپایل پروژه‌ها را در بسیاری از سناریوها بین ۸ تا ۱۲ برابر افزایش می‌دهد. پشتیبانی از اجرای چندرشته‌ای باعث شده تا فرآیندهای حیاتی مانند نمایش خطاها در ویرایشگر، تکمیل خودکار کد و اجرای دستور tsc بسیار سریع‌تر انجام شود. برای نمونه، نمایش نخستین خطا در پروژه VS Code از ۱۷٫۵ ثانیه به کمتر از ۱٫۳ ثانیه رسیده است.

🔹تایپ‌اسکریپت ۷ با کاهش ۸۰ درصدی خطاهای Language Server و ۶۰ درصدی کرش‌ها، تجربه توسعه را برای شرکت‌های بزرگی مثل گوگل، اسلک و فیگما متحول می‌کند. اسلک از کاهش ۴۰ درصدی زمان انتظار در صف ادغام کدها خبر داده است. این نسخه اکنون مراحل پردازش از جمله تجزیه کد و بررسی نوع‌ها را به‌صورت موازی اجرا می‌کند. توسعه‌دهندگان می‌توانند با استفاده از گزینه‌های --checkers و --builders تعداد پردازش‌های موازی را مدیریت کنند.

@Teachify | برنامه نویسی

Читать полностью…

برنامه نویسی | Teachify

✔️ تب MCP کم‌رنگ شده؛ حالا همه دارن میرن سمت ابزارهای CLI!

چند ماه پیش تقریباً همه درباره MCP (Model Context Protocol) صحبت می‌کردند و بسیاری آن را آینده تعامل با مدل‌های هوش مصنوعی می‌دانستند.

اما اگر این روزها فعالیت کامیونیتی‌های هوش مصنوعی را دنبال کنید، متوجه می‌شوید که توجه‌ها بیشتر به سمت ابزارهای خط فرمان (CLI Tools) جلب شده است.

دلیل این تغییر مسیر چیست؟

مهم‌ترین دلیل، کاهش چشمگیر مصرف توکن است.

وقتی یک Agent بخواهد یک فایل چند هزار خطی را بررسی کند، لزوماً نیازی نیست کل فایل را به مدل ارسال کند. ابزارهای CLI این امکان را می‌دهند که فقط بخش موردنیاز استخراج شود؛ در نتیجه هم سرعت بالاتر می‌رود، هم هزینه کمتر می‌شود و هم Context مدل بیهوده اشغال نمی‌شود.

در ادامه چند ابزار مهمی که تقریباً تمام AI Agentها از آن‌ها استفاده می‌کنند را مرور می‌کنیم:

▪️ ابزار grep؛ جستجوی هوشمند داخل فایل‌ها

ابزار grep یکی از پرکاربردترین ابزارهای لینوکس است که برای پیدا کردن یک کلمه، عبارت یا حتی Regex در فایل‌ها استفاده می‌شود.

به جای اینکه Agent کل فایل را بخواند، فقط خطوطی را دریافت می‌کند که با الگوی موردنظر مطابقت دارند.

مثال:

grep "ERROR" app.log
یا با Regex:

grep "^INFO" app.log
این یعنی اگر فایل شما ۵۰ هزار خط داشته باشد، ممکن است فقط ۲۰ خط مرتبط به مدل ارسال شود.


▪️ ابزار jq؛ فیلتر کردن فایل‌های JSON

بیشتر APIها خروجی JSON تولید می‌کنند و معمولاً فقط بخشی از آن برای Agent اهمیت دارد.

ابزار jq اجازه می‌دهد فقط فیلدهای موردنیاز استخراج شوند.

مثال:

cat data.json | jq '.name'
یا:

cat response.json | jq '.users[].email'
در نتیجه به جای ارسال یک JSON چندصد خطی، فقط مقدار موردنیاز وارد Context مدل می‌شود.


▪️ ابزار tail؛ مشاهده انتهای فایل

برای بررسی Logها معمولاً نیازی به خواندن کل فایل نیست.

ابزار tail به صورت پیش‌فرض ۱۰ خط آخر فایل را نمایش می‌دهد.

مثال:

tail app.log
یا:

tail -n 50 app.log
یکی از کاربردی‌ترین حالت‌های آن نیز مانیتورینگ لحظه‌ای لاگ‌هاست:

tail -f app.log
که هر خط جدید را همان لحظه نمایش می‌دهد.


▪️ عملگر Pipe (|)؛ اتصال دستورات به یکدیگر

شاید جذاب‌ترین قابلیت ترمینال همین باشد.

عملگر Pipe خروجی یک دستور را مستقیماً به ورودی دستور بعدی منتقل می‌کند و می‌توان چندین دستور را پشت سر هم زنجیره کرد.

مثال:

cat largefile.txt | grep "failed"
یا حتی:

cat app.log | grep ERROR | tail -20
در این مثال ابتدا فقط خطاها استخراج می‌شوند و سپس فقط ۲۰ مورد آخر نمایش داده می‌شود.
چرا AI Agentها عاشق CLI هستند؟د؟**

وقتی Agentها از ابزارهای CLI استفاده می‌کنند:

• تعداد توکن‌های مصرفی به شدت کاهش پیدا می‌کند. 
• سرعت اجرای Taskها بیشتر می‌شود. 
• فضای Context Window مدل با اطلاعات غیرضروری پر نمی‌شود. 
• امکان پردازش فایل‌های بسیار بزرگ بدون ارسال کامل آن‌ها فراهم می‌شود. 
• هر ابزار فقط همان داده‌ای را برمی‌گرداند که واقعاً موردنیاز است.


به همین دلیل است که اگر نگاهی به Agentهای مدرن Claude CodedeCodex CLILIGemini CLILI*OpenCodede** بیندازید، می‌بینید بخش بزرگی از قدرت آن‌ها از همین ابزارهای ساده اما فوق‌العاده کاربردی خط فرمان می‌آید؛ نه از ارسال کل فایل‌ها به مدل.


@Teachify | برنامه نویسی

Читать полностью…

برنامه نویسی | Teachify

✔️ معرفی «LangChain Code» – رقیب متن‌باز Claude Code و Cursor

شرکت، LangChain یه محصول جدید به اسم Deep Agents Code (یا همون Code) معرفی کرده.

یه فریم‌ورک کاملاً متن‌باز (MIT) برای ساخت agentهای کدنویسی حرفه‌ای. برخلاف Claude Code یا Cursor، به هیچ مدل خاصی وابسته نیست. می‌تونید از هر LLM دلخواه (GPT، Claude، Gemini، Qwen، DeepSeek،...) با API key خودتون استفاده کنید.

قابلیت‌های کلیدی:

▪️دسترسی مستقیم به فایل‌سیستم (خواندن، نوشتن، ویرایش، grep، glob)

▪️اجرای دستورات شل در محیط ایزوله (sandbox)

▪️برنامه‌ریزی هوشمند و خرد کردن تسک‌های پیچیده

▪️اجرای چندین sub-agent به صورت موازی (حتی async)

▪️مدیریت حافظه و contextهای طولانی

▪️رایگان و اوپن‌سورس

@Teachify | برنامه نویسی

Читать полностью…

برنامه نویسی | Teachify

✔️ قانون LEGB در پایتون (Python Scope Rule)

وقتی پایتون به یک متغیر می‌رسه، از کجا می‌فهمه کدوم متغیر رو استفاده کنه؟

پاسخ اینه: قانون LEGB
پایتون متغیرها رو به این ترتیب جستجو می‌کنه:
L → Local (داخل تابع فعلی)

E → Enclosing (تابع بیرونی)

G → Global (سطح اصلی فایل)

B → Built-in (توابع داخلی مثل print و len)


چرا این اتفاق می‌افته؟ چون پایتون برای پیدا کردن x این مسیر رو طی می‌کنه:
-> اول داخل تابع فعلی (Local)
-> بعد داخل تابع والد (Enclosing)
-> بعد در سطح فایل (Global)
-> و در نهایت در توابع داخلی پایتون (Built-in)
به همین دلیل هر print مقدار متفاوتی نمایش می‌دهد.

اگر داخل تابع بخواهی مقدار متغیر global را تغییر بدهی باید از global استفاده کنی:

x = 10

def change():
    global x
    x = 20

change()
print(x)  # 20

و برای Enclosing باید از nonlocal استفاده کنی:
def outer():
    x = 10
   
    def inner():
        nonlocal x
        x = 20
   
    inner()
    print(x)  # 20

outer()

@Teachify | برنامه نویسی

Читать полностью…
Subscribe to a channel