✔️ گیتهاب قابلیت Stacked Pull Requests را منتشر کرد
گیتهاب قابلیت جدید Stacked Pull Requests را بهصورت Public Preview در دسترس توسعهدهندگان قرار داده است.
با این قابلیت، بهجای ساخت یک Pull Request بزرگ و شلوغ، میتوانید تغییرات پروژه را به چند Pull Request کوچک و وابسته تقسیم کنید. هر PR بهصورت مستقل بررسی میشود و پس از تأیید، کل استک بهترتیب یا حتی با یک کلیک Merge خواهد شد.
مزایای این قابلیت:
• کدها سریعتر و دقیقتر Review میشوند.
• هر Pull Request کوچکتر و خواناتر است.
• مدیریت تغییرات بزرگ سادهتر میشود.
• احتمال بروز Conflict بین تغییرات کاهش پیدا میکند.
اگر روی پروژههای بزرگ یا تیمی کار میکنید، این قابلیت میتواند تجربه Code Review را بهمراتب بهتر و سریعتر کند.
@Teachify | برنامه نویسی
✔️ ایجنتهای OpenAI و Anthropic در تستهای امنیتی بریتانیا از هویت جعلی و مهندسی اجتماعی استفاده کردند!
مؤسسه امنیت هوش مصنوعی بریتانیا (AISI) اعلام کرده در ارزیابی امنیتی جدید مدلهای OpenAI و Anthropic، برخی ایجنتهای هوش مصنوعی برای رسیدن به اهداف تعیینشده، اقداماتی خارج از محدوده مجاز انجام دادهاند.
در این تستها، مواردی مانند ساخت هویتهای جعلی آنلاین، نوشتن کد مخرب و تلاش برای متقاعد کردن کاربران انسانی جهت تأیید اجرای آن مشاهده شده است.
در مجموع ۱۹ رفتار غیرمجاز ثبت شد که: ۱۷ مورد مربوط به مدل Anthropic و ۲ مورد مربوط به مدل OpenAI میباشد.
البته این اتفاقات در یک محیط آزمایشی و کنترلشده رخ دادهاند و هیچ حمله واقعی یا آسیبی به کاربران یا سازمانها گزارش نشده است. هدف این آزمایشها، بررسی رفتار ایجنتهای هوش مصنوعی در شرایط پیچیده و شناسایی ریسکهای احتمالی پیش از عرضه عمومی بوده است.
این نتایج نشان میدهد هرچه ایجنتهای هوش مصنوعی توانمندتر میشوند، آزمونهای امنیتی نیز اهمیت بیشتری پیدا میکنند تا از سوءاستفادههای احتمالی در دنیای واقعی جلوگیری شود.
@Teachify | برنامه نویسی
✔️ این ابزارم جدیدا ترند شده 50 هزار ستاره گیتهاب گرفته، Strix یه Pentester مبتنی بر AI هستش.
یعنی بهجای اینکه خودت بشینی مرحلهبهمرحله یه اپلیکیشن رو تست امنیتی کنی، چندتا Agent هوش مصنوعی بهش میدی که سعی کنن مثل یه هکر واقعی با اپلیکیشن کار کنن، باگ پیدا کنن و بعد مهمتر از اون، بررسی کنن که آیا واقعاً قابل Exploit شدن هست یا نه
نکتهی مهمش اینه که فقط نمیگه: اینجا SQL Injection وجود داره.
بلکه سعی میکنه واقعاً Exploit رو اجرا و Validate کنه و برای Finding، Proof-of-Concept و مراحل بازتولید ارائه بده. این یکی از تفاوتهای اصلیش با خیلی از Static Scannerها هستش.
https://github.com/usestrix/strix@Teachify | برنامه نویسی
✔️ یه نکته مهم که خیلی از برنامهنویسها دیر متوجهش میشن!
برنامهنویس خوب کسی نیست که همهچی رو حفظ باشه!
برنامهنویس خوب کسیه که بلد باشه مسئله رو حل کنه.
مثلاً بهجای اینکه صدها متد و دستور رو حفظ کنی، روی اینا تمرکز کن:
■ مسئله رو به بخشهای کوچیکتر تقسیم کن
■ خطاها رو درست بخون و تحلیل کن
■ سرچ کردن حرفهای رو یاد بگیر
■ مستندات (Documentation) رو بخون
■ پروژه بساز، حتی پروژههای خیلی کوچیک
■ کد بقیه رو بخون و ازش ایده بگیر
■ از هوش مصنوعی به عنوان یک منتور استفاده کن
واقعیت اینه که حتی برنامهنویسهای حرفهای هم خیلی چیزها رو سرچ میکنن.
مهارت اصلی تو «حفظ کردن کد» نیست؛
«پیدا کردن راهحل»ـه.
@Teachify | برنامه نویسی
✔️ تغییر بزرگ در انتشار نسخههای Django از سال 2028!
تیم Django رسماً اعلام کرده که از ژانویه ۲۰۲۸ چرخه انتشار این فریمورک تغییر میکند.
تا امروز نسخههای Feature تقریباً هر ۸ ماه منتشر میشدند، اما از ۲۰۲۸ به بعد:
■ هر سال فقط یک Feature Release خواهیم داشت
■ شماره نسخه بر اساس سال انتشار خواهد بود:
Django 2028
Django 2029
Django 2030
و ...
■ هر نسخه جدید ۳ سال پشتیبانی دریافت میکند: یک سال Bug Fix و دو سال آپدیتهای امنیتی و Data Loss.
در نتیجه مفهوم نسخههای جداگانهی LTS هم عملاً کنار گذاشته میشود؛ چون همه نسخههای سالانه از چرخه پشتیبانی سهساله برخوردار خواهند بود.
آخرین نسخه با مدل قدیمی، Django 6.2 LTS است که برای آوریل ۲۰۲۷ برنامهریزی شده.
این تغییر میتواند برنامهریزی برای Upgrade پروژهها، پشتیبانی پکیجهای جانبی و نگهداری پروژههای بلندمدت را خیلی قابلپیشبینیتر کند.
@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 | کالی بویز
✔️ ایدِمپوتِنسی (Idempotency) یعنی چی و چرا مهمه؟
فرض کن کاربر روی دکمهی «پرداخت» میزنه، ولی بهخاطر کندی شبکه پاسخی دریافت نمیکنه و دوباره درخواست رو ارسال میکنه.
اگر سیستم درست طراحی نشده باشه، ممکنه پرداخت دو بار انجام بشه!
اینجاست که مفهوم ایدِمپوتِنسی اهمیت پیدا میکنه.
به زبان ساده:
اگر یک عملیات را چند بار با ورودی یکسان اجرا کنیم، نتیجهی نهایی باید مثل یک بار اجرا شدن آن باشد.
مثلاً فرض کن درخواست زیر میگه نام کاربر شمارهی ۴۲ را به «یوسف» تغییر بده:
PUT /users/42
اگر این درخواست حتی ۱۰ بار هم ارسال بشه، نتیجه تغییری نمیکنه:
نام کاربر همچنان «یوسف» خواهد بود.
اما حالا این درخواست رو در نظر بگیر:
POST /payments
یعنی:
«یک پرداخت جدید ایجاد کن.»
اگر این درخواست دوبار اجرا بشه، ممکنه دو پرداخت جداگانه ساخته بشه.
برای جلوگیری از این اتفاق، معمولاً از چیزی به اسم کلید ایدمپوتنسی (Idempotency Key) استفاده میکنیم.
مثلاً:
Idempotency-Key: 8f3a...
سرور این کلید رو نگه میداره.
اگر همان درخواست دوباره با همان کلید ارسال بشه، سرور عملیات رو دوباره انجام نمیده و نتیجهی قبلی رو برمیگردونه.
ایدمپوتنسی مخصوصاً در این موارد خیلی مهمه:
• سیستمهای پرداخت
• طراحی API
• تلاش مجدد یا Retry
• صف پیامها
• میکروسرویسها
• سیستمهای توزیعشده
در سیستمهای واقعی باید همیشه این احتمال رو در نظر بگیریم که:
یک درخواست ممکنه بیشتر از یک بار به سرور برسه.
طراحی خوب یعنی تکرار یک درخواست، باعث خراب شدن دادهها یا انجام چندبارهی یک عملیات حساس نشه.
@Teachify | برنامه نویسی
✔️ برنامهنویسها روزمون مبارک
امسال هم تبریک میگیم؛ سال دیگه شاید AI خودش این پست رو گذاشت:)) 🤖
پ.ن: تصویر گویای همه چیز هست.
سمت چپ دومی خودمم🙂
@Teachify | برنامه نویسی
✔️ انویدیا ابزار امنیتی جدیدی برای بررسی skillهای هوش مصنوعی منتشر کرد
با گسترش ایجنتهای هوش مصنوعی و نصب Skillهای مختلف، امنیت این افزونهها به یکی از نگرانیهای جدید تبدیل شده است.
انویدیا ابزار متنباز SkillSpector را برای همین منظور منتشر کرده؛ اسکنری که Skillها را قبل از نصب و اجرا بررسی میکند و میتواند الگوهای مخرب و ریسکهای امنیتی را شناسایی کند.
این ابزار 71 الگوی آسیبپذیری در 17 دسته را بررسی میکند؛ از جمله تزریق پرامپت، سرقت و ارسال اطلاعات، کدهای خطرناک پایتون، سوءاستفاده از ابزارهای MCP، افزایش سطح دسترسی و نشت System Prompt.
ابزار SkillSpector علاوه بر تحلیل استاتیک، امکان استفاده از مدلهای زبانی برای تحلیل معنایی و شناسایی رفتارهای پیچیدهتر را نیز دارد.
در پایان، برای هر Skill یک امتیاز ریسک از 0 تا 100 همراه با سطح خطر و پیشنهادهای امنیتی ارائه میشود.
این ابزار میتواند مخزن GitHub، فایل ZIP، پوشه یا فایل Skill را بدون اجرای کد آن اسکن کند و از Skillهای مربوط به Claude Code، Codex و Gemini CLI نیز پشتیبانی میکند.
🔗 Github: github.com/NVIDIA/SkillSpector
@Teachify | برنامه نویسی
✔️ لوکالهاست خودتان را با یک دستور روی اینترنت منتشر کنید!
کلادفلر با قابلیت Quick Tunnels اجازه میدهد سرویس یا پروژهای که روی سیستم خودتان اجرا کردهاید، در چند ثانیه از طریق اینترنت در دسترس قرار بگیرد.
کافی است ابزار cloudflared را نصب کنید و یک دستور اجرا کنید؛ کلادفلر یک آدرس عمومی و رمزنگاریشده با پسوند trycloudflare.com میسازد و ترافیک آن را مستقیماً به localhost شما منتقل میکند.
برای استفاده از این قابلیت نیازی به خرید دامنه، تنظیم DNS، بازکردن پورت یا حتی ساخت حساب Cloudflare ندارید.
این قابلیت برای اشتراک سریع پروژه با دیگران، تست Webhook، نمایش Demo و دسترسی موقت به محیط توسعه بسیار کاربردی است.
البته Quick Tunnels برای توسعه و آزمایش طراحی شده و کلادفلر استفاده از آن را برای سرویسهای Production توصیه نمیکند.
🔗 try.cloudflare.com
@Teachify | برنامه نویسی
✔️ ابزار جالبی که کل پروژه شما را به یک نقشه قابل جستوجو تبدیل میکند!
ابزار متنباز Graphify میتواند یک Codebase بزرگ را بررسی کرده و ارتباط بین فایلها، توابع، کلاسها، Importها و بخشهای مختلف پروژه را به یک Knowledge Graph تبدیل کند.
به این ترتیب، بهجای اینکه ابزارهایی مثل Claude Code یا Codex برای هر سؤال دوباره بین صدها فایل جستوجو کنند، میتوانند مستقیماً این گراف را بررسی کنند و ارتباط بخشهای مختلف پروژه را بفهمند.
گرافیفای حتی میتواند مستندات، فایلهای PDF، تصاویر و ویدیوهای مرتبط با پروژه را نیز وارد گراف کند.
بخش تحلیل کد کاملاً روی سیستم خودتان انجام میشود و برای آن نیازی به ارسال سورسکد به سرور یا استفاده از مدل زبانی نیست.
در نهایت هم یک نقشه تعاملی از پروژه، گزارش معماری و فایل گراف قابل جستوجو دریافت میکنید.
این ابزار با Claude Code، Codex، Cursor، Gemini CLI، GitHub Copilot و تعداد زیادی از Coding Agentهای دیگر سازگار است.
🔗 گیتهاب:
github.com/Graphify-Labs/graphify
@kaliboys | کالی بویز
✔️ انویدیا پلتفرمی برای جلوگیری از «فرار» ایجنتهای هوش مصنوعی معرفی کرد!
با قدرتمندتر شدن ایجنتهای هوش مصنوعی، یکی از نگرانیها این است که یک Agent بتواند از محدودیتهای تعیینشده عبور کند و به فایلها، شبکه یا سرویسهایی دسترسی پیدا کند که نباید به آنها دسترسی داشته باشد.
انویدیا برای مقابله با این مشکل از Open Agent Safety Platform رونمایی کرده؛ پلتفرمی که کنترل امنیتی را خارج از اختیار خود ایجنت قرار میدهد.
بخش OpenShell ایجنت را در یک محیط ایزوله اجرا میکند و مشخص میکند به چه فایلها، شبکهها، APIها و اطلاعاتی اجازه دسترسی دارد.
بخش جالبتر Sentry است؛ یک سیستم نظارتی مستقل مبتنی بر سختافزار BlueField-4 که رفتار ایجنت را کنترل میکند و اگر ایجنت تلاش کند از مرز امنیتی خود خارج شود، میتواند آن را در حد میلیثانیه قرنطینه و متوقف کند.
انویدیا میگوید امنیت Agentها نباید فقط به این وابسته باشد که «مدل دستورها را رعایت کند»؛ محدودیتها باید در سطح زیرساخت نیز قابل اجرا باشند.
@kaliboys | کالی بویز
✔️ گوگل PostgreSQL مخصوص ایجنتهای هوش مصنوعی را معرفی کرد
گوگل قابلیت جدید PostgreSQL for Agents را برای AlloyDB معرفی کرده؛ معماری جدیدی که اجازه میدهد تعداد بسیار زیادی ایجنت هوش مصنوعی به دادههای زنده یک کسبوکار دسترسی داشته باشند، بدون اینکه فشار پردازشی آنها مستقیماً روی دیتابیس اصلی وارد شود.
برای این کار، AlloyDB در چند ثانیه نودهای PostgreSQL ایزوله و موقت ایجاد میکند که به نسخه تقریباً لحظهای و Read-only دادههای Production دسترسی دارند.
این نودها میتوانند هنگام افزایش ناگهانی درخواست ایجنتها از صفر به هزاران نمونه Scale شوند و پس از پایان کار دوباره به صفر برگردند.
گوگل در آزمایش خود با ۱۰۰۰ نود به بیش از ۳ میلیون Query در ثانیه رسیده، بدون اینکه افت قابلاندازهگیری در عملکرد دیتابیس اصلی مشاهده شود.
این معماری همچنین امکان اجرای جستوجوی Vector، Full-text و Spatial و اتصال به BigQuery و Spark را فراهم میکند.
قابلیت PostgreSQL for Agents فعلاً بهصورت Preview در AlloyDB ارائه شده است.
@kaliboys | کالی بویز
✔️ پایتون ۳.۱۵ از راه رسید؛ یکی از جذابترین آپدیتهای چند سال اخیر
نسخه ۳.۱۵ پایتون مجموعهای از تغییرات مهم در سرعت، Syntax و ابزارهای توسعه به همراه دارد.
▪️ قابلیت Lazy Import اضافه شده؛ حالا میتوان بارگذاری ماژولهای سنگین را تا زمانی که واقعاً به آنها نیاز است به تعویق انداخت و Startup برنامهها را سریعتر کرد.
▪️ نوع جدید frozendict هم به پایتون اضافه شده؛ یک Dictionary غیرقابلتغییر که میتواند برای Configها و دادههایی که نباید تغییر کنند بسیار کاربردی باشد.
▪️ پایتون حالا Sentinel داخلی دارد و ساخت مقادیری مثل MISSING برای تشخیص «مقدار ارسال نشده» بسیار تمیزتر شده است.
▪️ قابلیت Unpacking وارد Comprehensionها شده و امکان نوشتن بعضی الگوهای پردازش داده با کد کوتاهتر را فراهم میکند.
▪️ ابزار جدید Tachyon نیز یک Profiler آماری با فرکانس بالا و سربار کم است که برای پیدا کردن نقاط کند برنامه طراحی شده.
▪️ از این نسخه UTF-8 به Encoding پیشفرض پایتون تبدیل شده و وابستگی رفتار فایلهای متنی به تنظیمات سیستمعامل کمتر میشود.
▪️کامپایلر آزمایشی JIT نیز پیشرفت قابلتوجهی داشته و زیرساخت Free-Threaded Python و اجرای بدون GIL هم یک قدم دیگر به بلوغ نزدیک شده است.
در کنار این موارد، Error Messageهای بهتر، خروجی رنگیتر ترمینال، قابلیتهای جدید Type Hinting و تغییرات متعدد در CPython و C API هم اضافه شدهاند.
پایتون ۳.۱۵ فقط یک آپدیت معمولی نیست؛ بخش قابلتوجهی از تغییرات آن روی سریعتر شدن اجرا، Startup و آمادهکردن پایتون برای آینده تمرکز دارد.
@Teachify | برنامه نویسی
✔️ کلادفلر هم یه مدل جدید به اسم Clef منتشر کرده که مستقیم برای رقابت با Jev ساخته شده و طبق بنچمارکهای خود Cloudflare، هم عملکرد بهتری داره و هم سریعتره.
نسخه 27B این مدل روی NVIDIA H200 به latency میانه حدود 209 میلیثانیه رسیده؛ در حالی که Jev در همون تست حدود 524 میلیثانیه بوده.
ستون اصلی Clef مدل Qwen3.8-27Bـه، ولی نکته جالب معماریشه: بهجای اینکه مثل LLMهای معمولی جواب رو توکنبهتوکن تولید کنه، برای decision-making و classification بهینه شده و گزینههای ممکن رو بهصورت موازی score میکنه.
کلادفلر حتی نسخه سبکتر Clef-flash با بکبون 9B هم منتشر کرده که latency اون در تستها به حدود 39 میلیثانیه رسیده.
مدل هم متنبازه و با لایسنس Apache 2.0 منتشر شده:
huggingface.co/Cloudflare/clef
@Teachify | برنامه نویسی
پنجشنبه ۱۶ مهر کنار کیهان کاووسی و محمد حافظ نجفی و مهدی پاکروان هستم و قراره با هم با کمک هوش مصنوعی یه محصول گردشگری بسازیم.
خوشحال میشم اونجا ببینمتون 😊
ساعت ۱۲، خانه شعر و ادبیات باغ کتاب تهران
ثبتنام: https://evnd.co/u3orh
✔️ آشنایی سریع با Sorted Set در Redis و دستورهای مهم آن
در Redis ساختار داده Sorted Set یا به اختصار ZSET مجموعهای از اعضای یکتا است که هر عضو یک امتیاز عددی یا Score دارد و Redis اعضا را بر اساس همین امتیاز مرتب میکند.
مثلاً برای ساخت Leaderboard:
ZADD leaderboard 150 ali
ZADD leaderboard 220 reza
ZADD leaderboard 180 sara
خروجی به ترتیب امتیاز:
ali → 150
sara → 180
reza → 220
🔹 دستور ZADD
اضافهکردن عضو یا تغییر Score آن:
ZADD leaderboard 250 ali
🔹 دستور ZRANGE
گرفتن اعضا به ترتیب امتیاز:
ZRANGE leaderboard 0 -1 WITHSCORES
🔹 نمایش از بیشترین امتیاز:
ZRANGE leaderboard 0 -1 REV WITHSCORES
🔹 دستور ZINCRBY
افزایش امتیاز یک عضو:
ZINCRBY leaderboard 50 ali
🔹 دستور ZSCORE
مشاهده امتیاز یک عضو:
ZSCORE leaderboard ali
🔹 دستور ZRANK
مشاهده رتبه یک عضو:
ZRANK leaderboard ali
🔹 دستور ZREM
حذف یک عضو:
ZREM leaderboard ali
🔹 دستور ZCARD
تعداد اعضای مجموعه:
ZCARD leaderboard
نکته مهم این است که Memberها در ZSET یکتا هستند؛ بنابراین اگر یک Member را دوباره با ZADD اضافه کنید، عضو جدید ساخته نمیشود و Score آن بهروزرسانی میشود.
از Sorted Set معمولاً برای Leaderboard، سیستم امتیازدهی، Ranking، صفهای اولویتدار و مرتبسازی دادهها بر اساس زمان یا امتیاز استفاده میشود.
@Teachify | برنامه نویسی