3119
آموزش برنامه نویسی | اجرای پروژه | نیک آموز Site: www.NikAmooz.com Tel: 021 - 91070017
این هفته در هوش مصنوعی: Agentها و ابزارهای کدنویسی
🤖 شرکت DeepSeek نمونه پژوهشی متنباز Super-Agent را برای کدنویسی منتشر کرده است. این ابزار با رصد چتهای تیم و مخازن GitHub، مشکلات کد را شناسایی و راهحل پیشنهاد میکند. هنوز نباید آن را محصول آماده استقرار دانست.
⚙️ شرکت AWS الگوی عملی یک دستیار مهندسی چندعاملی را ارائه کرده است: یک Agent برنامهریز، Agentهای تخصصی و ارزیابی مستمر خروجی با AgentCore Evaluations.
🔹 شرکت Anthropic قابلیت Message Threads را در بتای عمومی عرضه کرده است. در نشستهای بسیار طولانی، زمان میانه رسیدن به اولین توکن حدود ۳۵٪ کمتر میشود، اما هزینه تغییری نمیکند. انقضای پنجدقیقهای Thread هم نگهداری مکالمه در سمت کلاینت را ضروری میکند.
📌 اهمیت این خبرها برای تیمهای فنی، فراتر رفتن از تولید کد است: کمک پیشدستانه، تقسیم کار و ارزیابی خروجی. در پایلوت بعدی، این معیارها را کنار سرعت پاسخ و هزینه بسنجید.
چه زمانی بهجای Prompt از Tool Calling استفاده کنیم؟
🔹 اگر پاسخ فقط به اطلاعات موجود در Prompt نیاز دارد، مثل خلاصهکردن یک گزارش، معمولاً یک Prompt ساده کافی است.
⚙️ وقتی پاسخ به داده بهروز یا عملی در یک سیستم دیگر نیاز دارد، Tool Calling مناسبتر است. مثلاً Agent میتواند با فراخوانی ابزار مجاز، وضعیت سفارش را از سیستم سفارشها دریافت کند، بهجای اینکه پاسخ را حدس بزند.
📌 فراخوانی ابزار بهتنهایی صحت پاسخ را تضمین نمیکند. دسترسی ابزار را محدود کنید و برای اقداماتی مثل لغو سفارش، تأیید کاربر را در نظر بگیرید.
نقش Context Engineering در کیفیت Agent
🔹 کیفیت تصمیم Agent فقط به مدل وابسته نیست. Context Engineering یعنی انتخاب و تنظیم اطلاعاتی که در هر مرحله در اختیار Agent قرار میگیرد، از هدف و محدودیتها تا خروجی ابزارها و اطلاعات مرتبط.
⚙️ برای نمونه، هنگام بررسی یک خطا، بهجای ارسال کل لاگ، پیام خطا، بازه زمانی مرتبط و نسخه سرویس را در اختیار Agent بگذارید. این کار کمک میکند Agent سرنخهای مهم را میان دادههای نامرتبط گم نکند.
📌 خروجی ابزارها را هم پیش از افزودن به Context فیلتر کنید. اطلاعات کم میتواند تصمیم را ناقص کند و اطلاعات زیاد و نامرتبط هم میتواند Agent را از مسئله اصلی دور کند.
چه زمانی دیتابیس Document انتخاب مناسبی است؟
🔹 معیار اصلی، الگوی خواندن و نوشتن داده است. اگر دادههای مرتبط معمولاً با هم خوانده و بهروزرسانی میشوند، نگهداری آنها در یک Document میتواند مناسب باشد.
⚙️ مثال: در کاتالوگ فروشگاه، ویژگیهای لپتاپ با کفش متفاوت است. در MongoDB میتوانید مشخصات هر محصول را در یک Document نگه دارید و برای نمایش صفحه محصول، همان سند را بخوانید.
📌 انعطاف ساختار به معنی بینیازی از طراحی Schema نیست. اگر مدام به ارتباطهای پیچیده، JOIN یا تراکنش بین چند موجودیت نیاز دارید، انتخاب Document Database را دوباره بررسی کنید.
✅ پیش از انتخاب، سه عملیات پرتکرار سیستم را بنویسید. اگر بیشترشان با یک Document انجام میشوند، این مدل ارزش بررسی دارد.
چه زمانی به Outbox Pattern نیاز داریم؟
وقتی ثبت داده در دیتابیس باید با ارسال پیام به یک Message Broker مثل RabbitMQ همراه شود، دو عملیات مستقل دارید. مثلاً سفارش در SQL Server ثبت میشود، اما ارسال پیام بهدلیل قطعی شبکه شکست میخورد. نتیجه: سفارش موجود است، ولی سرویس انبار از آن خبر ندارد.
با Outbox Pattern، سفارش و پیامِ آماده ارسال را در یک تراکنش، در همان دیتابیس ذخیره میکنید. سپس یک Worker پیامهای جدول Outbox را به Broker میفرستد و وضعیت ارسال را ثبت میکند.
نکته مهم: اگر ارسال موفق شود اما ثبت وضعیت شکست بخورد، پیام دوباره ارسال میشود. پس مصرفکننده باید با شناسه پیام، پردازش تکراری را تشخیص دهد و اثر تکراری ایجاد نکند.
اگر ازدسترفتن پیام پس از ثبت داده قابل قبول نیست، Outbox گزینه مناسبی است. این الگو شکاف بین ثبت داده و ارسال پیام را پوشش میدهد، نه تضمین «دقیقاً یکبار» پردازش را.
مدیریت منابع در Python با Context Manager
در پردازش فایلهای CSV یا اجرای چندباره یک Notebook، باز ماندن فایل میتواند باعث مصرف منابع یا مشکل در دسترسی دوباره به آن شود. اگر بستن فایل را به آخر کار موکول کنید، وقوع خطا ممکن است نگذارد آن مرحله اجرا شود.
راهحل، استفاده از Context Manager است، یعنی سازوکاری که ورود و خروج از محدوده استفاده از یک منبع را مدیریت میکند. برای فایلهایی که با open و ساختار with باز میشوند، هنگام خروج از بلوک، حتی در صورت وقوع خطا، فایل بسته میشود.
نکته مهم: رفتار خروج برای هر ابزار متفاوت است. در یک ابزار ممکن است فایل بسته شود و در دیگری تراکنش Commit یا Rollback شود. برای اتصالهای دیتابیس، فرض نکنید خروج از with حتماً اتصال را میبندد. رفتار همان Library را بررسی کنید.
👨💻 آخرین رکورد هر گروه را دقیق انتخاب کنید
برای گرفتن تازهترین سفارش هر مشتری، فقط استفاده از MAX(OrderDate) کافی نیست؛ چون هنوز باید سایر ستونهای همان ردیف را پیدا کنید و زمانهای مساوی هم میتوانند نتیجه را مبهم کنند.
یک الگوی روشن، رتبهدادن داخل هر گروه است:
WITH ranked AS (
SELECT *,
ROW_NUMBER() OVER (
PARTITION BY CustomerId
ORDER BY OrderDate DESC, OrderId DESC
) AS rn
FROM Sales.Orders
)
SELECT *
FROM ranked
WHERE rn = 1;
PARTITION BY شمارهگذاری را برای هر مشتری جدا میکند. ترتیب نزولی تاریخ، تازهترین سفارش را اول میآورد و OrderId تکلیف زمانهای برابر را روشن میکند.ORDER BY باید ترتیب یکتایی بسازند؛ وگرنه انتخاب ردیف اول میتواند پایدار نباشد.
Читать полностью…
📚 کتابخانه نیکآموز: Clean Architecture
اگر در توسعه نرمافزار با معماری، مرزبندی ماژولها و مدیریت وابستگیها درگیر هستید، این کتاب یکی از منابع مهم برای منظمتر فکرکردن درباره ساختار سیستم است.
در این کتاب، Robert C. Martin روی این ایده تأکید میکند که معماری خوب باید تصمیمهای پرهزینه را تا جای ممکن عقب بیندازد و وابستگیها را بهسمت سیاستهای پایدارتر هدایت کند.
ارزش اصلی کتاب در این است که Framework، Database و Web را «جزئیات» میبیند. یعنی ابزارهایی که نباید منطق اصلی کسبوکار را اسیر خود کنند.
برای شروع مطالعه، بخشهای مربوط به Boundaries، Dependency Rule و فصل Clean Architecture نقطه شروع خوبی هستند.
این کتاب بیشتر از اینکه مجموعهای از الگوها باشد، یک چارچوب فکری برای تصمیمهای معماری است.
برای همراهان نیک آموزی که هنوز فرصت نکردهاند از پیشنهادهای کمپین روز برنامهنویسی استفاده کنند
در طول کمپین روز برنامهنویسی، بعضی از شما هنوز فرصت نکردهاید آموزش موردنظرتان را انتخاب کنید.
به همین دلیل تصمیم گرفتیم پیشنهادهای ویژه کمپین را تا پایان امروز فعال نگه داریم.🔥
اگر آموزشهایی را برای یادگیری یا ارتقای مهارتهایتان در نظر گرفتهاید، امروز آخرین فرصت استفاده از پیشنهادهای این کمپین است. 🎁
👇 پیشنهادهای کمپین
🔗 https://nkmz.ir/prgdy
⏰ امروز آخرین فرصته؛ پس همین حالا وارد شو!
🌐 https://nikamooz.com
👤 @NikamoozSupport
@nikamooz
👨💻 برنامهنویسا، این چند روز برای شماست! 👩💻
به مناسبت روز برنامهنویس قراره توی نیکآموز یه کمپین ویژه داشته باشیم؛
برای اونایی که میخوان از نوشتن کد، یک قدم جلوتر برن و مسیر حرفهای خودشون رو جدیتر بسازن. 🚀
از کد تا پروداکشن، وقتشه مسیر تخصصت رو کامپایل کنی! ⚡️
🎁 کمپین و پیشنهادهای ویژه رو از لینک زیر ببینید:
🔗 https://nkmz.ir/prgdy
تازه شروع کردیم... 👀
🌐 https://nikamooz.com
👤@NikamoozSupport
@nikamooz
🎥 «وبینار از شناخت تیم محصول تا ورود به مسیر اسکرام مستری»
🤩 اگر به وبینار نرسیدی از لینک زیر از دستش نده👇🏼
فیلم ضبط شده وبینار
🌐 https://nikamooz.com
👤@NikamoozSupport
@nikamooz
🔥ساعت ۱۲ یادت نره 🔥
🎥 وبینار رایگان از شناخت تیم محصول تا ورود به مسیر اسکرام مستری
📌لینک ورود به وبینار
🌐 https://nikamooz.com
👤@NikamoozSupport
@nikamooz
🚀 از تیم محصول تا Scrum Master؛ مسیرش چطوره؟
اگر تجربه کار در تیم محصول داری و به مسیر Agile و Scrum علاقهمندی، این وبینار برای توئه.
قراره مسیر Scrum Master شدن رو از مهارتهای کلیدی تا تجربه واقعی این نقش بررسی کنیم.
🎥 وبینار «از تیم محصول تا Scrum Master»
🎙با گفتوگوی| فرید طاهری و محمدرضا خلوصی
⏰4 شهریور | ساعت 12
📌 ثبتنام رایگان وبینار
🌐 https://nikamooz.com
👤@NikamoozSupport
@nikamooz
🤖 ۳ سطح کاربر هوش مصنوعی؛ تو چطوری استفاده میکنی؟
۱. مبتدی | AI برای کارهای روزمره
✍️ ChatGPT → نوشتن و ایدهپردازی
🔎 Perplexity → تحقیق
🎨 Canva / Midjourney → تصویر
۲. متوسط | AI بهعنوان ابزار تخصصی
💻 ChatGPT / Claude → کدنویسی
🎙️ ElevenLabs → صدا
🎬 Runway → ویدیو
🧠 ابزارهای تخصصی برای تحقیق، محتوا و برنامهنویسی
۳. پیشرفته | AI برای ساخت سیستم
⚙️ n8n → اتوماسیون
🤖 AI Agents → اجرای وظایف
🔗 MCP → اتصال AI به ابزارها
💻 Python / API → ساخت راهحلهای اختصاصی
🌐 https://nikamooz.com
👤@NikamoozSupport
@nikamooz
😱 دوره «GenAI» رو از دست دادی؟!!!
🎥 برای تماشا رایگان جلسه اول کلیک کن
🌐 https://nikamooz.com
👤@NikamoozSupport
@nikamooz
تقسیم Bronze، Silver و Gold در Data Lakehouse
این سه لایه را بر اساس میزان آمادهبودن داده برای مصرف جدا کنید، نه صرفاً نام پوشهها. برای داده سفارشها، این تقسیم کاربردی است:
🔹 در لایه Bronze، داده دریافتی را با زمان دریافت و مشخصات منبع نگه دارید تا امکان پردازش مجدد داشته باشید.
🔹 در لایه Silver، نوع دادهها را یکدست کنید، رکوردهای تکراری را طبق کلید معتبر حذف کنید و سفارشها را به مشتریان مرتبط کنید.
🔹 در لایه Gold، خروجی مصرفی مثل فروش روزانه هر شعبه را برای داشبورد Power BI آماده کنید.
📌 نکته عملی: اگر منطق محاسبه فروش تغییر کرد، Gold را از Silver بازسازی کنید. اگر پاکسازی اشتباه بود، به Bronze برگردید. نگهداری داده خام باید با سیاست مشخص حفظ داده همراه باشد، وگرنه این مسیر بازگشت قابل اتکا نیست.
تفاوت Timeout و Retry در API
⏱️ با Timeout مشخص میکنید کلاینت چهقدر منتظر پاسخ بماند. تمامشدن این زمان لزوماً یعنی عملیات روی سرور شکست خورده نیست، ممکن است عملیات انجام شده باشد اما پاسخ بهموقع نرسیده باشد.
🔄 با Retry، درخواست را پس از خطایی احتمالاً موقت دوباره میفرستید. پس Timeout محدودیت انتظار است و Retry تصمیم برای تلاش مجدد.
⚠️ مثال: اگر درخواست پرداخت Timeout شود، تکرار بدون محافظت ممکن است پرداخت دوم ایجاد کند. برای چنین عملیاتی، API باید از Idempotency Key پشتیبانی کند و کلاینت در تلاشهای مجدد همان کلید را بفرستد تا اثر تکراری ایجاد نشود.
📌 در تنظیم کلاینت، Retry را محدود و با فاصلههای افزایشی انجام دهید. برای مجموع تلاشها هم سقف زمانی بگذارید تا چند Retry، انتظار کاربر را بیش از حد طولانی نکند.
چه زمانی Circuit Breaker از Retry بهتر است؟
🔹 الگوی Circuit Breaker وقتی تعداد خطاهای یک سرویس از آستانه مشخصی عبور کند، موقتاً درخواستهای جدید به آن سرویس را متوقف میکند. پس از مدتی، با عبور دادن تعداد محدودی درخواست، بازگشت سرویس را بررسی میکند.
⚙️ در مقابل، Retry برای خطاهای گذرا مناسب است. اما اگر سرویس مقصد برای مدتی از دسترس خارج باشد، تلاشهای مکرر میتوانند بار اضافی ایجاد کنند و پاسخگویی را کندتر کنند.
📌 برای مثال، اگر سرویس پرداخت بهطور مداوم خطا میدهد، Circuit Breaker میتواند از ارسال درخواستهای بیشتر جلوگیری کند و به سیستم اجازه دهد سریعتر خطا یا پاسخ جایگزین بدهد. این دو الگو قابل ترکیباند، اما تعداد تلاشهای Retry و فاصله بین آنها باید محدود باشد.
چهار تغییر AI که برای توسعهدهندهها مهم است
🤖 اوپنایآی: GPT‑6.1 Terra برای Computer Use، تحلیل بصری و اتوماسیون کار با نرمافزارها منتشر شده و نسبت به نسل قبلی ارزانتر است.
⚙️ گوگل: Gemini 4 Argon برای Workflowهای پیچیده، کدنویسی، مهاجرت کد و کارهای چندمرحلهای طولانی در دسترس توسعهدهندگان قرار گرفته است.
🧩 آنتروپیک: Claude Haiku 5.5 یک مدل کوچک، سریع و کمهزینه برای کارهای پرتعداد، Subagentها و Browser Use است.
🛠 در Cursor هم Agent SDK آمده است. میتوانید Agent را مثل یک پروژه کدنویسی تعریف کنید، Tool و Skill بسازید، Eval بنویسید و آن را روی زیرساخت خودتان یا Cursor اجرا کنید.
📌 جمعبندی: رقابت AI فقط بر سر مدل قویتر نیست. مدلهای کمهزینهتر و Agentهای قابلبرنامهریزی دارند به ابزار واقعی تیمهای توسعه تبدیل میشوند.
استخدام کارشناس SQL Server Admin بصورت حضوری در نیک آموز
https://jobvision.ir/jobs/1580495
لطفا رزومه خود را برای ما ارسال کنید
شرایط احراز:
تسلط نسبی به اصول کوئرینویسی در SQL Server
تسلط نسبی به اصول نصب و راهاندازی SQL Server
تسلط نسبی به روشهای Backup & Restore بانک اطلاعاتی
تسلط نسبی به مبانی امنیت در SQL Server
تسلط نسبی به HA در SQL Server
آشنایی با مباحث Performance & Tuning در SQL Server
مدرک تحصیلی: حداقل کاردانی
حداقل 3 سال سابقه کار با SQL Server Admin الزامی است.
منظم و مسئولیتپذیر
https://jobvision.ir/jobs/1580495
.
معرفی کتاب: از طراحی الگوریتم تا کد با کمک AI
کتاب «Algorithms and Programs: An AI-Assisted Approach» نوشته Eric Braude، رویکردی عملی با کمک AI برای پیوند طراحی الگوریتم با کدنویسی در دنیای واقعی ارائه میکند و برای توسعهدهندگان مناسب است.
این کتاب نشان میدهد چطور هدف یک الگوریتم را روشن تعریف کنید، طرحی ساختاریافته برای آن بسازید، آن را به کدی قابلاعتماد تبدیل کنید و درباره کارایی و پیچیدگی آن استدلال کنید.
در توضیح رسمی کتاب، کاربرد الگوریتمها در سیستمهای کنترل پرواز، رباتیک، موتورهای پیشنهاددهنده و برنامههای AI مطرح شده است.
🐍 یک اشتباه رایج: نصب وابستگی همه پروژههای Python در یک محیط
اگر دو پروژه به نسخههای متفاوت یک Package نیاز داشته باشند، نصب همه وابستگیها در یک محیط مشترک میتواند باعث تداخل شود.
برای هر پروژه یک virtual environment مستقل بسازید:
python -m venv .venv
python -m pip freeze > requirements.txt
python -m pip install -r requirements.txt
📚 کتابخانه نیکآموز: AI Engineering
اگر میخواهید از «استفاده از مدلهای آماده» عبور کنید و واقعاً یک محصول مبتنی بر AI بسازید، این کتاب انتخاب بسیار خوبی است.
کتاب AI Engineering نوشته Chip Huyen روی مهندسی اپلیکیشنهای مبتنی بر Foundation Modelها تمرکز دارد؛ از ارزیابی مدل و Prompt Engineering تا RAG، Agentها، Finetuning، Dataset Engineering و بهینهسازی Inference.
نکته جذاب کتاب این است که بحث را فقط روی مدل نگه نمیدارد؛ معماری، هزینه، latency، guardrail، monitoring و بازخورد کاربر را هم وارد طراحی سیستم میکند.
اگر برنامهنویس، مهندس داده یا توسعهدهنده محصولات AI هستید، این کتاب کمک میکند از «دموی جذاب» به سمت «سیستم قابلاتکا در Production» حرکت کنید.
🚨 برنامهنویسا، فرصت داره تموم میشه! 👨💻👩💻
⏳ امروز آخرین روز کمپین روز برنامهنویسه!
اگه مدتهاست میخوای یه مهارت جدید یاد بگیری، توی مسیر تخصصت حرفهایتر بشی یا بالاخره آموزش موردنظرت رو شروع کنی، امروز بهترین فرصته که دستبهکار بشی. 🚀
🎁 پیشنهادهای ویژه نیکآموز فقط تا پایان امروز در دسترس هستن؛ بعد از اون، این کمپین به پایان میرسه.
از کد تا پروداکشن، وقتشه مسیر تخصصت رو کامپایل کنی! ⚡️
👇 قبل از اینکه فرصت رو از دست بدی، پیشنهادهای کمپین رو ببین:
🔗 https://nkmz.ir/prgdy
⏰ امروز آخرین فرصته؛ همین حالا وارد شو!
🌐 https://nikamooz.com
👤 @NikamoozSupport
@nikamooz
دوستان سلام
فردا در الکامپ هستم
خوشحال می شوم شما عزیزان را ببینم
🔥claude,chat gpt, gemini🔥
کدومشون بهتره؟
اگه هنوز برای انتخاب AI مناسب سردرگمی، این مقایسه رو ببین 👇
💻 برای کدنویسی و Code Review:
Claude انتخاب قدرتمندیه؛ مخصوصاً برای کدبیسهای بزرگ و Context طولانی.
🔎 برای Research و اطلاعات جدید:
Gemini میتونه انتخاب جذابی باشه؛ بهخصوص اگر با ابزارهای Google کار میکنی.
⚡ برای استفاده همهکاره:
ChatGPT انتخاب متعادلتریه؛ از تحقیق و تولید محتوا تا کدنویسی.
📌 این پست رو هم Save کن.
🌐 https://nikamooz.com
👤@NikamoozSupport
@nikamooz
⭕️همراه همیشگی نیک آموز
🤩برای اینکه بتونیم وبینار با کیفیتتری داشته باشیم دوست داریم از شما هم کمک بگیریم
خوشحال میشیم این پرسشنامه رو تا سهشنبه پر کنید 🙏🏼
🌐 https://nikamooz.com
👤@NikamoozSupport
@nikamooz
👑 پادشاهی اتوماسیون
n8n یا Python⁉️
🤯 اگه کارت پیچیدهست و نیاز به منطق اختصاصی یا کتابخونههای ML داری، پایتون رو به n8n وصل کن و بذار بقیهاش رو خودش انجام بده. دیگه نیازی نیست برای هر کار ساده، کد بزنی!
🧠 وقتی chat gpt کد میزنه ، چرا هنوز باید developer باشی؟
💻 چون developer بودن فقط کد نوشتن نیست
هوش مصنوعی میتونه کد تولید کنه، اما هنوز باید کسی:
مسئله رو تحلیل کنه، معماری رو انتخاب کنه، خطا رو پیدا کنه و راهحل درست رو بسازه.
🚀 آینده مهندسی نرمافزار با Gen AI شروع شده است
دوره Gen AI نیکآموز به شما یاد میدهد چگونه از AI در تمام مراحل توسعه نرمافزار، از Prompt تا Production استفاده کنید.
💎 در دوره Gen AI | مهندسی
نرمافزار در عصر هوش مصنوعی یاد میگیرید:
✅ استفاده حرفهای از ابزارهای هوش مصنوعی در توسعه نرمافزار
✅ تبدیل ایده به محصول (Prompt to Production)
✅ افزایش سرعت کدنویسی، تست، مستندسازی و دیباگ با AI
✅ اصول و مهارتهایی که هر برنامهنویس در عصر هوش مصنوعی باید بداند