3119
آموزش برنامه نویسی | اجرای پروژه | نیک آموز Site: www.NikAmooz.com Tel: 021 - 91070017
چه زمانی دیتابیس 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
🚨 آیا هوش مصنوعی قرار است مهندسها را جایگزین کند؟ یا فقط مهندسهای بهتر را بسازد؟
این روزها با چند خط دستور میشود کد تولید کرد، اما آیا خروجی همیشه قابل اعتماد است؟
آیا میشود به یک هوش مصنوعی گفت «بساز» و بدون بررسی، نتیجه را وارد یک پروژه واقعی کرد؟ 🤔
اینجا مرز مهمی وجود دارد:
🔹 وایب کدینگ (Vibe Coding) یعنی تمرکز روی سرعت، تجربه و ساخت سریع نمونه اولیه با کمک هوش مصنوعی.
🔹 مهندسی حرفهای یعنی ترکیب سرعت هوش مصنوعی با تحلیل، تست، اعتبارسنجی و مسئولیتپذیری مهندسی.
آینده متعلق به کسانی نیست که فقط سریعتر کد میزنند؛
متعلق به کسانی است که میدانند چه چیزی را بسازند، چگونه بررسی کنند و چطور از هوش مصنوعی بهعنوان یک ابزار مهندسی استفاده کنند. 🧠⚙️
در این مقاله بررسی کردهایم:
✅ تفاوت وایب کدینگ و مهندسی حرفهای
✅ نقش مهندس در عصر هوش مصنوعی
✅ مسیر تبدیل یک ایده خام به محصول قابل اعتماد
✅ ریسکها و خطاهایی که باید مراقبشان بود
تا همین یکی دو سال پیش، دانستن برنامهنویسی یک مزیت رقابتی بود.
امروز، مزیت واقعی این است که بدانی چطور با AI محصول بسازی.
تفاوت آدمهایی که این روزها رشد میکنند با بقیه، فقط در استفاده از ChatGPT یا چند ابزار AI نیست؛ آنها یاد گرفتهاند چطور GenAI را وارد فرآیند توسعه، اتوماسیون و حل مسئلههای واقعی کنند.
بازار منتظر کسی نمیماند. هر هفته تیمها و شرکتهای بیشتری به سمت توسعه مبتنی بر هوش مصنوعی میروند و هر بار که یادگیری را به «بعداً» موکول میکنیم، فاصلهمان با این تغییر بیشتر میشود.
اگر از وبینار جا موندی ما هنوز کنارتیم😎
🎯 در این وبینار یاد میگیری:
✅ تفاوت «وایبکدینگ» با مهندسی نرمافزار واقعی
✅ نقش GenAI در چرخه توسعه نرمافزار
✅ اشتباهات رایج استفاده از AI در برنامهنویسی
✅ روشهای افزایش سرعت توسعه بدون قربانی کردن کیفیت
✅ مهارتهایی که برای آینده توسعه نرمافزار به آنها نیاز دارید
چهار تغییر 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
✅ اصول و مهارتهایی که هر برنامهنویس در عصر هوش مصنوعی باید بداند
🎙️امروز بعد مدت ها با پادکست های خفنمون برگشتیم🤩
SDD-Based Expansion 📌
چیست و چرا میتواند آینده توسعه مدلهای هوش مصنوعی را تغییر دهد؟
🔗تو این قسمت از پادکست، با مفهوم SDD-Based Expansion آشنا میشیم؛ رویکردی که به مدلهای هوش
مصنوعی اجازه میده بدون نیاز به آموزش مجدد، دانش و قابلیتهای جدیدی به دست بیارن و با هزینه و پیچیدگی کمتر، بهروز بمونن.
⏳مدت پادکست: ۳۰ دقیقه
🚀 آینده مهندسی نرمافزار با Gen AI شروع شده است
دوره Gen AI نیکآموز به شما یاد میدهد چگونه از AI در تمام مراحل توسعه نرمافزار، از Prompt تا Production استفاده کنید.
💎 در دوره Gen AI | مهندسی
نرمافزار در عصر هوش مصنوعی یاد میگیرید:
✅ استفاده حرفهای از ابزارهای هوش مصنوعی در توسعه نرمافزار
✅ تبدیل ایده به محصول (Prompt to Production)
✅ افزایش سرعت کدنویسی، تست، مستندسازی و دیباگ با AI
✅ اصول و مهارتهایی که هر برنامهنویس در عصر هوش مصنوعی باید بداند
🚀 از وایبکدینگ تا مهندسی نرمافزار قابل اعتماد با هوش مصنوعی
اگر میخوای بدونی چطور میشه از کدنویسی صرفاً احساسی و سریع، به یک Workflow حرفهای و قابل اعتماد با AI رسید، این وبینار رو از دست نده
در این وبینار دربارهی این موارد صحبت میکنیم:
nkmz.ir/genai-pdf
📅 زمان برگزاری: امروز، ساعت ۱۷
🎓 مدرسین| علیرضا ارومند و فرید طاهری
📌 لینک مشاهده و ثبت نام وبینار
🌐 https://nikamooz.com
👤@NikamoozSupport
@nikamooz