برنامه نویسی | Teachify
11.9K subscribers
1.02K photos
420 videos
231 files
652 links
برای موفق شدن 🌱 با این عبارت خداحافظی کن: "باشه فردا"🍃


Admin: @Yousef_Vafaei
Download Telegram
✔️ دوره رایگان مهندسی هوش مصنوعی از صفر
شامل 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 | برنامه نویسی
4
✔️ معرفی «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 | برنامه نویسی
13
اینو دیدم، گفتم با شما هم به اشتراک بذارم :))

@Teachify | برنامه نویسی
🤣37❤‍🔥5👍2
✔️ تب 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 | برنامه نویسی
👍41
✔️ 15 زبان برنامه‌نویسی عجیب که شاید حتی اسمشان را هم نشنیده باشید!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@Teachify | برنامه نویسی
👍73
✔️ تایپ‌اسکریپت 7 منتشر شد

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

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

@Teachify | برنامه نویسی
6🔥2
✔️ بالاخره بعد از سال‌ها، HTTP یک متد جدید به نام QUERY دارد!

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

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

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

@kaliboys | کالی بویز
👍3
✔️ کاهش مصرف حافظه با 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 | برنامه نویسی
👍2
پاول دوروف: خرید دامنه‌ی جدید تا مشکل به «ما» مربوط شود

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

او همچنین حل مشکل دامنه‌ی t.me را نیز اعلام کرده است و‌حالا با me و you شوخی کرده. دو روز پیش دامنه‌ t.me تلگرام از دسترس خارج شده بود.
@Teachify | برنامه نویسی
7
✔️ مدل GPT-5.6 Sol وارد شد... و ظاهراً دکمه Delete رو زیادی دوست داره! 😅

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

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

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

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


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

در روش قدیمی:

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

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

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

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

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

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

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

@Teachify | برنامه نویسی
6❤‍🔥2👍2
✔️ یک گنجینه رایگان برای برنامه‌نویس‌ها!

اگر از 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 | برنامه نویسی
3💯1
✔️ چرا گوگل دسترسی به قوی‌ترین هوش مصنوعی امنیتی خود را محدود کرد؟

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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