TGViewer
Channel Public Channel
Software Philosophy

Software Philosophy

@softwarephilosophy

چکیده‌ای از مفاهیم به روز مهندسی نرم افزار برای مهندسین نرم‌افزار.
معماری نوین نرم‌افزار، تکنولوژی‌های برنامه نویسی جدید
Subscribers
3.48K
Photos
162
Videos
42
Links
1.6K

Showing posts older than #2228 · Back to latest

Older Posts 20 shown
Post #2227 2.94K
🚀 جلسه بعدی مایکروسافت فارسی یکشنبه ۲۶ آذر رو از دست ندید - در مورد Azure DevOps ، Azure Pipeline و Sonar Cloud صحبت خواهد شد و اینکه چگونه می‌توانیم با استفاده از این موارد کدهای با کیفیت‌تری داشته باشم!

📢 MSFarsi Talk- Flawless code with Azure Pipeline and Sonar Cloud 📢

📢This session will be in Farsi

📢 ثبت نام رایگان:

🔗 https://events.teams.microsoft.com/event/399a7ee0-7ebd-41c0-b7e6-9051e4e6c8f3@b4c9f32e-da17-4ded-9c95-ce9da38f25d9

#محمدرضا_پازوکی
  • 👍 16
  • ❤ 2
  • 🔥 2
Post #2226 3.17K
حفاظت در برابر مقادیر null!

در حوزه برنامه نویسی، مقادیر null مانند مین‌های پنهانی هستند که منتظر انفجار می‌باشند و باعث خطاهای غیرمنتظره در زمان اجرا می‌شوند، منجر به منطق نادرست می‌شوند و اشکال زدایی را سخت‌تر می‌کنند. این یکی از رایج‌ترین مشکلاتی است که توسعه‌دهندگان با آن مواجه هستند، NullReferenceException مخوف است. به همین دلیل مهم است که قبل از استفاده از یک object reference در کد، مقادیر null را بررسی کنید.


بررسی null بطور سنتی با == اپراتور


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

var product = GetProduct();
if (product == null) {
// Do something if the object is null.
}


این رویکرد دارای معایبی است. عملگر == می‌تواند توسط یک کلاس overload شود، به این معنی که ممکن است هنگام مقایسه یک شی با null، آنطور که انتظار دارید رفتار نکند. برای مثال، اگر کلاس یک عملگر برابری سفارشی را تعریف کند که همیشه true را برمی‌گرداند، آنگاه بررسی null همیشه ناموفق خواهد بود.

استفاده از عملگر is

برای جلوگیری از این مشکلات، سی شارپ راه بهتری برای بررسی مقادیر null ارائه می دهد: عملگر is.
عملگر is یک عملیات pattern-matching را روی یک عبارت انجام می‌دهد و اگر با یک الگوی مشخص مطابقت داشته باشد، مقدار true را برمی‌گرداند.

var product = GetProduct();
if (product is null) {
// Do something if the object is null.
}

این روش چند مزیت دارد:
- اولاً، عملگر is نمی‌تواند توسط یک کلاس overload شود، بنابراین هنگام بررسی مقادیر تهی، همیشه به طور مداوم رفتار می‌کند.
- دوم، عملگر is خواناتر و رساتر از عملگر == است، زیرا به وضوح بیان می‌کند که چه چیزی را بررسی می‌کنید.
- سوم، عملگر is از negation patterns پشتیبانی می‌کند که به شما امکان می‌دهد مقادیر غیر تهی را نیز بررسی کنید.

🔗 نسخه کامل مقاله به همراه نمونه کد را می‌توانید در اینجا مطالعه نمایید.

⁉️ برای بحث و تبادل نظر فنی در مورد این پست، نظرات خود را با ما در قسمت کامنت‌ها به اشتراک بگذارید.

#محمدرضا_پازوکی (لینکدین)

کانال تلگرام:
@SoftwarePhilosophy

______
DEV Community Guard against null values In the realm of programming, null values are like hidden landmines waiting to explode and cause...
  • 👍 35
  • 👏 2
Post #2225 4.37K
از Angular به Blazor: آزاد کردن جادوی C#!

در سفری از Angular به کامپوننت Blazor، یک ماجراجویی هیجان‌انگیز، جادوی C# را آزاد کنید! این سفر نه تنها یک تغییر در نحوه نوشتاری را به همراه دارد بلکه یک شیفت تحولی در رویکرد شما نسبت به توسعه وب را به ارمغان می‌آورد. وقتی که به دنیای Blazor وارد می‌شوید، قدرتمندی C# و اکوسیستم گسترده .NET نه تنها کد را انتقال می‌دهید بلکه به دنیای امکاناتی وارد می‌شوید که به طور سحرآمیز منطبق بر منطق کاربری است و سمت سرور به یکدیگر می‌پیوندد.

هیجان ترجمه شاهکار Angular خود را به یک جواهر Blazor تصور کنید، جایی که آشنایی با نوآوری همراه می‌شود و دقت C# سمفونی وب‌اپلیکیشن شما را ارجاع می‌دهد. این مهاجرت تنها یک گذار فنی نیست؛ بلکه فرصتی است برای بهره‌مندی از طیف کامل قابلیت‌های .NET، از دیتابایندینگ دقیق تا زیبایی پردازش رویدادها با C#.

پس کمربند خود را ببندید و آماده شوید تا ادغام پویایی Angular با استعداد C# Blazor را شاهد شوید. در این راهنمای هیجان‌انگیز، از هر مرحله‌ای از فرآیند مهاجرت عبور خواهیم کرد و جادویی را که هنگام ادغام بهترین‌های دو دنیا اتفاق می‌افتد، برملا خواهیم کرد. برای یک ماجرای کدزنی آماده شوید که نه تنها مهارت‌های شما را ارتقا می‌دهد، بلکه شور و هیجان به سفر توسعه شما تزریق می‌کند. اجازه دهید مهاجرت آغاز شود!

🔗 نسخه کامل مقاله به همراه نمونه کد را میتوانید در اینجا مطالعه نمایید.

___________

⁉️ برای بحث و تبادل نظر فنی در مورد این پست، نظرات خود را با ما در قسمت کامنت‌ها به اشتراک بگذارید.

#هوتن_همتی (لینکدین)

کانال تلگرام:
@SoftwarePhilosophy

_____
DEV Community From Angular to Blazor: Unleashing the C# Magic! Embarking on the journey of migrating an Angular component to a Blazor component is an exhilarating...
  • 🔥 11
  • 👍 10
  • ❤ 4
Post #2224 2.46K
مقایسه 🚀Azure Functions vs. Azure Durable Functions🔄

سرویس Azure Function یک سرویس محاسباتی بدون سرور است که به شما امکان می دهد بدون مدیریت زیرساخت سرور یا سیستم عامل کد را اجرا کنید.

از طرف دیگر، Azure Durable Function یک برنامه افزودنی از Azure Function است که به شما امکان می‌دهد توابع stateful را در محیط بدون سرور بنویسید.
توابع Stateful می‌توانند حالت را در چندین اجرا حفظ کنند و با استفاده از durable tasks، گردش‌های کاری پیچیده را هماهنگ کنند. durable tasks، عملکردهایی هستند که می توانند توسط عملکرد orchestrator function، منتظر و دوباره اجرا شوند.


زمان استفاده از Azure Function:
- سناریوهای Event-Driven
- زمانی که بخواهیم بخش کوچکی از Units of Code را اجرا کنیم.
- زمانی که Cost-Efficient Scaling مد نظر باشد.

زمان استفاده از Azure Durable Function:
- زمانی که پردازهای Long-Running داریم.
- زمانی که به Stateful Orchestration نیازمندیم.
- زمانی که Monitoring and Debugging مدنظر باشد.

🔗 نسخه کامل مقاله به همراه نمونه کد را میتوانید در اینجا مطالعه نمایید.

⁉️ برای بحث و تبادل نظر فنی در مورد این پست، نظرات خود را با ما در قسمت کامنت‌ها به اشتراک بگذارید.

#محمدرضا_پازوکی (لینکدین)

کانال تلگرام:
@SoftwarePhilosophy

______
DEV Community Choosing the Right Azure Function In my previous blog post, I discussed Azure Functions and demonstrated how to create and trigger them...
  • 👍 8
  • ❤ 1
Post #2223 2.64K
کاوش در مزایای Azure Key Vault

سرویس Azure Key Vault سرویسی ابری است که ذخیره و مدیریت امن secrets، keys و certificates ها را فراهم می‌کند. این به شما امکان می‌دهد با استفاده از کلیدها و الگوریتم‌های رمزنگاری، داده‌ها را رمزگذاری، رمزگشایی، امضا و تأیید کنید. Azure Key Vault همچنین به شما امکان می‌دهد تا گواهی‌ها را برای برنامه‌ها و خدمات خود ایجاد، وارد، rotate و لغو کنید.

- یکی از مزایای استفاده از Azure Key Vault این است که خطر افشای داده‌های حساس در کد یا فایل‌های پیکربندی شما را کاهش می‌دهد.

- یکی دیگر از مزایای استفاده از Azure Key Vault این است که مدیریت گواهی‌ها و کلیدهای شما را ساده می‌کند. می‌توانید تمدید و ابطال گواهینامه‌های خود را به طور خودکار انجام دهید و همچنین بر انقضا و استفاده از آن‌ها را نظارت کنید.


برای ایجاد key vault با استفاده از Azure CLI، ابتدا باید Azure CLI را نصب کرده و به حساب Azure خود وارد شوید. سپس، می‌توانید از دستور az keyvault create برای ایجاد یک صندوق کلید با نام و یک گروه منبع استفاده کنید.
مثال:

az group create --name MyResourceGroup --location uksouth
az keyvault create --name MyKeyVault --resource-group MyResourceGroup


و برای ذخیره برخی از secrets و keys در صندوق کلید، می‌توانید از دستورات az keyvault secret set و az keyvault key create استفاده کنید.
مثال:

az keyvault secret set --name MySecret --value "Hello World" --vault-name MyKeyVault
az keyvault key create --name MyKey --vault-name MyKeyVault


🔗 نسخه کامل مقاله به همراه نمونه کد را میتوانید در اینجا مطالعه نمایید.

⁉️ برای بحث و تبادل نظر فنی در مورد این پست، نظرات خود را با ما در قسمت کامنت‌ها به اشتراک بگذارید.

#محمدرضا_پازوکی (لینکدین)

کانال تلگرام:
@SoftwarePhilosophy

______
DEV Community Exploring the Benefits of Azure Key Vault Azure Key Vault is a cloud service that provides secure storage and management of secrets, keys, and...
  • 👍 5
Post #2222 3.9K
نگاهی عمیق‌تر به جادوی async و پشت صحنه‌ی آن در سی‌شارپ

کلمات کلیدی async و  await از نسخه C# 5.0 اضافه شدند.
شما می‌توانید با اضافه کردن کلمه کلیدی async، یک متد را Asynchronous کنید و در آن از await استفاده کنید.
این عبارت به کامپایلر می‌گوید صبر کند تا عملیات ناهمگام به پایان برسد ولی در این حین اگر به thread نیازی نبود آزاد شود و به کارهای دیگر بپردازد. اضافه کردن چنین فیچری به یک زبان در پشت صحنه اصلا کار ساده‌ای نیست.

در این ورک‌شاپ کمی بیشتر به اعماق دات‌نت می‌رویم و می‌بینیم که با async کردن یک متد چه اتفاقاتی در پشت صحنه می‌افتد و چطور عملا آن متد جراحی می‌شود!

"Deep Dive into async/await: How to Unlock the Full Potential of C# Concurrency"

اسم کارگاهی است که «مهران داودی» با هدف آموزش مفاهیم همزمانی به صورت عمیق برگذار می‌کند.

تا کنون سه جلسه از این کارگاه برگزار شده است:
🔗 لینک ویدیوی جلسه اول
🔗 لینک ویدیوی جلسه دوم
🔗 لینک ویدیوی جلسه سوم

⁉️ برای بحث و تبادل نظر فنی در مورد این پست، نظرات خود را با ما در قسمت کامنت‌ها به اشتراک بگذارید.

#نگار_قاسمی (لینکدین)

کانال تلگرام:
@SoftwarePhilosophy

______
YouTube Concurrency in C# - Session 1 در این سری ورک‌شاپ‌ها مهران داودی در مورد مفاهیم Concurrency, Parallel Programming و Asynchronous Programming به صورت بنیادین صحبت می‌کند. در این ویدئو با مفهوم Thread آشنا می‌شویم و سپس در مورد Shared Memory و چالش‌های آن صحبت می‌کنیم. مهران داودی http…
  • 👍 28
  • ❤ 6
  • 🔥 3
Post #2221 2.17K
Software Philosophy امشب ساعت t=2^3 یه اکانت تلگرام پرمیوم به صورت رندوم به یکی از اعضای کانال اهدا می‌شه. 🕺
اگه براتون سوال پیش اومده که برنده اکانت #تلگرام_پرمیوم کدوم برناما‌نویس بوده؟ ایشون بودن:
@meisamdev

مبارکت باشه آقا میثم خوش‌شانس... 😊
  • 🔥 18
  • 👏 14
  • ❤ 6
  • 🎉 3
  • 👍 1
  • 😢 1
Post #2219 2.58K
Software Philosophy
امشب ساعت t=2^3 یه اکانت تلگرام پرمیوم به صورت رندوم به یکی از اعضای کانال اهدا می‌شه. 🕺
  • ❤ 35
  • 🔥 10
  • 👏 5
  • 🥰 4
  • 🤔 3
  • 🎉 1
Post #2218 2.79K

Forwarded from فلسفه دیزاین

هنرمندی که جهان ما را زیباتر کرد، از میان ما رفت.

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

نام و یادش گرامی.

۲۳ آبان ۱۴۰۲
  • ❤ 78
  • 😢 20
  • 👍 6
  • 🔥 1
Post #2217 2.5K

This post (sticker, poll or similar) has no web preview. Open in Telegram

  • ❤ 60
  • 👍 11
  • 🔥 9
  • 🤩 6
  • 🎉 3
Post #2215 2.58K
مقایسه Azure Event Grid و Event Hub

سرویس Azure Event Grid سرویسی است که به شما امکان می‌دهد رویدادها را از هر منبعی به هر مقصدی هدایت کنید. می‌توانید از آن برای واکنش به تغییرات منابع Azure خود مانند storage blobs، resource groups یا subscriptions استفاده کنید. همچنین می‌توانید از آن برای ادغام با سرویس‌های third-party مانند GitHub، Twilio یا SendGrid استفاده کنید.

سرویس Azure Event Hub سرویسی است که به شما امکان می‌دهد حجم زیادی از داده‌های streaming را دریافت و پردازش کنید. می‌توانید از آن برای گرفتن داده‌ها از دستگاه‌ها، حسگرها، برنامه‌ها یا گزارش‌ها استفاده کنید. Azure Event Hub می‌تواند میلیون‌ها رویداد در ثانیه را با تأخیر کم و قابلیت اطمینان بالا مدیریت کند. همچنین می‌توانید از آن برای تجزیه و تحلیل و تبدیل داده‌ها با استفاده از تحلیل جریان Azure، Azure Functions یا Spark استفاده کنید.

تفاورت Azure Event Grid و Azure Event Hub
تفاوت اصلی بین Azure Event Grid و Azure Event Hub در نوع رویدادهایی است که آن‌ها مدیریت می‌کنند. Azure Event Grid رویدادهای گسسته را کنترل می‌کند، که رخدادهایی منفرد هستند و نشان دهنده یک تغییر حالت یا یک عمل هستند. به عنوان مثال، یک فایل در حال ایجاد، یک منبع در حال به روز رسانی، یا یک پیام در حال ارسال است. Azure Event Hub رویدادهای telemetry را مدیریت می‌کند، که جریان‌های پیوسته‌ای از داده‌ها هستند که اندازه گیری‌ها یا مشاهدات را نشان می‌دهند. برای مثال، خواندن دما، به‌روزرسانی‌های مکان یا رویدادهای کلیک.

🔗 نسخه کامل مقاله به همراه نمونه کد را میتوانید در اینجا مطالعه نمایید.

⁉️ برای بحث و تبادل نظر فنی در مورد این پست، نظرات خود را با ما در قسمت کامنت‌ها به اشتراک بگذارید.

#محمدرضا_پازوکی (لینکدین)

کانال تلگرام:
@SoftwarePhilosophy

______
DEV Community Azure Event Grid vs Event Hub Azure Event Grid and Azure Event Hub are two services that enable you to build event-driven...
  • 👍 6
  • ❤ 1
  • 🔥 1
Post #2214 2.23K
سرویس Azure pipeline

یک Pipeline دنباله‌ای از مراحل است که نحوه ساخت، آزمایش و استقرار برنامه را مشخص می‌کند. شما می‌توانید یک pipeline را با استفاده از YAML یا یک رابط کاربری گرافیکی بنویسید. YAML یک قالب داده قابل خواندن برای انسان است که به شما امکان می‌دهد وظایف و تنظیمات pipeline خود را در یک فایل متنی مشخص کنید.

استفاده از Microsoft Hosted Agent
یک Microsoft Hosted Agent ماشین مجازی از پیش پیکربندی شده‌ای است که توسط مایکروسافت مدیریت می‌شود و در Azure اجرا می‌گردد. بسته به پلتفرم برنامه خود، می‌توانید از میان انواع مختلفی از hosted agents ها مانند ویندوز، لینوکس یا macOS انتخاب کنید. کار با یک Microsoft Hosted Agent بسیار راحت است زیرا نیازی به نگهداری یا به روز رسانی آن ندارید، اما دارای محدودیت‌هایی است، مانند:

- شما فقط می‌توانید یک کار را در یک زمان در یک hosted agent اجرا کنید.
- شما حداکثر ۱۸۰ دقیقه برای هر کار در یک hosted agent زمان دارید.
- شما فضای دیسک و حافظه محدودی در یک hosted agent دارید.
- شما نمی‌توانید نرم افزار یا ابزارهای سفارشی را روی یک hosted agent نصب کنید.

استفاده از Self-Hosted Agent
یک Self-Hosted Agent ماشینی است که شما مالک و مدیر آن هستید و در Azure DevOps ثبت نام می‌کنید. می‌توانید از هر دستگاهی که حداقل شرایط لازم را دارد، مانند ویندوز، لینوکس یا macOS استفاده کنید. یک Self-Hosted Agent کنترل و انعطاف پذیری بیشتری را بر روی pipeline خود به شما می‌دهد، اما به نگهداری و امنیت بیشتری نیز نیاز دارد. برخی از مزایای استفاده از یک عامل خود میزبان عبارتند از:

- شما می‌توانید چندین کار را به طور همزمان در یک نماینده خود میزبان اجرا کنید.
- شما هیچ محدودیت زمانی برای هر شغل در یک نماینده خود میزبان ندارید.
- شما فضای دیسک و حافظه بیشتری در یک عامل خود میزبان دارید.
- می‌توانید نرم‌افزار یا ابزارهای سفارشی را روی یک عامل خود میزبان نصب کنید.

استفاده از Microsoft Hosted Agent یا Self-Hosted Agent
برای تصمیم گیری در مورد استفاده از یک Microsoft Hosted Agent یا یک Self-Hosted Agent برای pipeline خود، باید موارد زیر را در نظر بگیرید:

- پیچیدگی و الزامات برنامه شما.
- فرکانس و مدت اجرای خط لوله شما.
- هزینه و در دسترس بودن منابع

به طور کلی، اگر برنامه شما ساده است و به نرم افزار یا ابزار خاصی نیاز ندارد، و اگر pipeline خود را گهگاهی و برای مدت زمان کوتاهی اجرا می‌کنید، می توانید از یک Microsoft Hosted Agent استفاده کنید. اگر برنامه شما پیچیده است و به نرم افزار یا ابزار سفارشی نیاز دارد، و اگر خط لوله خود را به طور مکرر و برای مدت طولانی اجرا می‌کنید، ممکن است بخواهید از یک Self-Hosted Agent استفاده کنید.

🔗 نسخه کامل مقاله به همراه نمونه کد را میتوانید در اینجا مطالعه نمایید.

⁉️ برای بحث و تبادل نظر فنی در مورد این پست، نظرات خود را با ما در قسمت کامنت‌ها به اشتراک بگذارید.

#محمدرضا_پازوکی (لینکدین)

کانال تلگرام:
@SoftwarePhilosophy

______
DEV Community Azure pipeline Azure pipeline is a cloud-based service that allows you to automate the build, test and deployment of...
  • 👍 9
  • ❤ 1
Post #2213 2.29K
سرویس‌های Azure Container:
راهنمای میزبانی Docker Images

اگر با docker کار می‌کنید و می‌خواهید آنها را در Azure مستقر کنید، ممکن است تعجب کنید که از کدام سرویس استفاده کنید. Azure چندین گزینه برای میزبانی docker images ارائه می‌دهد، مانند Container Registry، Container Instance، Container App و Web App for Containers.

سرویس Container Registry
سرویس Container Registry یک سرویس رجیستری خصوصی است که به شما امکان می‌دهد docker images های خود را در Azure ذخیره و مدیریت کنید. می‌توانید از آن برای push و pull کردن image ها از هر کلاینت داکر استفاده کنید یا آن را با سایر سرویس‌های Azure مانند Azure DevOps، Azure Kubernetes Service یا Azure Functions ادغام کنید.


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

سرویس Container App
سرویس Container App سرویس جدیدی است که به شما امکان می‌دهد برنامه های کانتینری را در Azure با حداقل پیکربندی و مدیریت اجرا کنید. می‌توانید docker های خود را در یک محیط بدون سرور مستقر کنید که به‌طور خودکار بر اساس تقاضا کاهش یا افزایش می‌یابد.

سرویس Web App for Containers
سرویس Web App for Containers سرویسی است که به شما امکان می‌دهد برنامه های وب را در Azure با استفاده از docker image اجرا کنید. می‌توانید image های خود را از Container Registry یا هر رجیستری دیگر deploy کنید و از ویژگی‌ها و ابزارهای مشابه برنامه‌های وب معمولی مانند دامنه‌های سفارشی، گواهی‌های SSL، اسلات‌های استقرار، پشتیبان‌گیری و تشخیص استفاده کنید.

🔗 نسخه کامل مقاله به همراه نمونه کد را میتوانید در اینجا مطالعه نمایید.

⁉️ برای بحث و تبادل نظر فنی در مورد این پست، نظرات خود را با ما در قسمت کامنت‌ها به اشتراک بگذارید.

#محمدرضا_پازوکی (لینکدین)

کانال تلگرام:
@SoftwarePhilosophy

______
DEV Community Azure Container Services: A Guide to Hosting Docker Images If you are working with docker images and want to deploy them to Azure, you might be wondering which...
  • 👍 7
Post #2212 2.52K
دستیار شخصی شما در پیش برد کارهای پس زمینه!

آیا تا به حال برایتان پیش آمده است که نیاز داشته باشید یک سری کارهای پس زمینه را در .Net هندل کنید؟
احتمالا نیاز داشته‌اید یک سری جاب را Schedule کنید تا در زمان‌های مشخصی کارهای مشخصی انجام دهند.

برای هندل کردن این کارها راه کار ساده و مفیدی وجود دارد به نام Hangfire. Hangfire فریم‌ورکی open-source است که به توسعه‌دهندگان در اجرای، تنظیم و مدیریت background tasks در هر برنامه‌ای .NET کمک می‌کند. Hangfire همچنین امکان پشتیبانی از هر دو ساختار .NET Framework و .NET Core را دارد.

جاب‌ها در Hangfire نسخه‌بندی می‌شوند، مجددا امتحان می‌شوند، در صف قرار می‌گیرند و بینworker های موجود توزیع می‌شوند. 

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

علاوه بر سادگی کانفیگ و استفاده از Hangfire، داشتن یک دشبورد عالی برای مدیریت Job  ها نکته‌ای است که Hangfire را از ابزارهای مشابه دیگر متمایز می‌کند. داشبورد Hangfire مانند یک اتاق کنترل است که به تمام نیازهای شما برای نظارت و اعمال قدرت بر روی  Job های خود مجهز است.

🔗 نسخه کامل این مقاله را ‌می‌توانید در اینجا مطالعه کنید.

🔗 لینک مقاله در ویرگول

⁉️ برای بحث و تبادل نظر فنی در مورد این پست، نظرات خود را با ما در قسمت کامنت‌ها به اشتراک بگذارید.

#نگار_قاسمی (لینکدین)

کانال تلگرام:
@SoftwarePhilosophy

______
DEV Community Background Tasks and Scheduled Jobs in .NET? Meet Hangfire🔥 Do you often find yourself grappling with managing background tasks and scheduled jobs in your .NET...
  • 👍 11
  • 🔥 5
  • ❤ 4
Post #2211 3.81K

Forwarded from Arfa

به قول جادی : " Git خیییییلی بزرگه، من شک دارم خود توروالدز هم همه اش رو یادش باشه همیشه "

ولی دونستنش خیلی مهمه چون Git ابزاریه که به ما کمک میکنه بتونیم مثل چرخ دنده های ساعت خیلی روون و تمیز کنار هم کد بزنیم

این به کنار، وقتی میخوایم روی یه پروژه اوپن سورس مشارکت کنیم هم نیازه به Git مسلط باشیم

برای همن ما تصمیم گرفتیم تمام فرایند های اصلی‌ای که Git درش استفاده میشه رو در یه کارگاه عملی و رایگان مرور کنیم:

از 0 تا 100 توسعه یه فیچر یا رفع یه باگ
ریو کردنش
تستش
در نهایت بردنش رو پروداکشن

از طرفی برای 40 نفر از کسایی که دوس دارن اولین ( یا چندمین ) مشارکتشون در دنیای اوپن سورس رو انجام بدن یه تعداد تسک خیلی ساده ( در حد اصلاح یه کلمه ) آماده کردیم تا خیلی راحت اولین contribute شون رو انجام بدن

که فرصت خیلی خوبی برای hacktoberfest هم هست !

از همین پایین میتونی تو رویداد شرکت ( attend ) کنی. (کارگاه رایگان هست)
https://www.linkedin.com/events/gitworkshop7118506016878510080/theater/

اطلاع رسانی ها و ویدیو ضبط شده دوره رو توی این کانال تلگرامی میذاریم :
https://t.me/hacktoberfest_fa
  • 👍 11
  • ❤ 9
  • 🔥 1
Post #2210 2.27K
تعریف Azure Function

تابع Azure، یک راه حل بدون سرور است که به شما امکان می‌دهد تا کد کمتری بنویسید، زیرساخت کمتری را مصرف کنید و در هزینه‌ها صرفه جویی کنید. تابع Azure قطعه‌ای از کد است که در پاسخ به رویدادهای مختلف مانند درخواست‌های HTTP، تایمرها، صف‌ها، blobs و غیره اجرا می‌شود. شما می‌توانید توابع Azure را در چندین زبان مانند C#، Java، JavaScript، PowerShell، Python و غیره بنویسید. همچنین می‌توانید از ابزارهای مختلفی برای توسعه و اشکال زدایی توابع Azure استفاده کنید.

چه زمانی می‌توانیم از تابع Azure استفاده کنیم؟
می‌توانید از تابع Azure برای بسیاری از سناریوهایی که به event-driven logic و ادغام با سایر سرویس‌ها نیاز دارند، استفاده کنید. به عنوان مثال، می‌توانید از تابع Azure برای موارد زیر استفاده کنید:

- فرآیند آپلود فایل
- پردازش داده‌ها در زمان واقعی
- استنتاج بر روی مدل‌های داده
- کارهای برنامه ریزی شده را اجرا کنید
- یک وب API مقیاس پذیر بسازید
- گردش کاری بدون سرور بسازید
- به تغییرات پایگاه داده پاسخ دهید


چگونه با درخواست HTTP یک تابع Azure ایجاد و راه اندازی کنیم؟
برای ایجاد یک تابع Azure با یک تریگر HTTP، باید این مراحل را دنبال کنید:

- یک function app در پورتال Azure یا با استفاده از Azure CLI ایجاد کنید. function app ظرفی است که میزبان یک یا چند عملکرد است.

- با استفاده از HTTP trigger template، یک تابع جدید در برنامه تابع ایجاد کنید. شما می‌توانید C# را به عنوان زبان کد تابع خود انتخاب کنید.

- کد مورد نظر خود را در ویرایشگر کد بنویسید. می‌توانید از کلاس‌های HttpRequestData و HttpResponseData برای دسترسی به اشیاء درخواست و پاسخ HTTP استفاده کنید.

- با استفاده از پنل Test/Run یا با استفاده از curl یا Postman عملکرد خود را ذخیره و آزمایش کنید. می‌توانید URL تابع خود را از قسمت Function URL کپی کنید.

🔗 نسخه کامل مقاله به همراه نمونه کد را اینجا مطالعه نمایید.

⁉️ برای بحث و تبادل نظر فنی در مورد این پست، نظرات خود را با ما در قسمت کامنت‌ها به اشتراک بگذارید.

#محمدرضا_پازوکی (لینکدین)

کانال تلگرام:
@SoftwarePhilosophy

______
DEV Community What is Azure Function? In this blog post, I will write about the Azure function, a serverless computing service that allows...
  • 👍 6
  • ❤ 4
Post #2209 2.49K
تعریف اتمام کار چیست ( DoD - Definition of Done)؟

یکی از مفاهیم کلیدی در توسعه نرم افزار چابک، تعریف اتمام کار (DoD) است. DoD مجموعه‌ای از معیارهایی است که یک User Story یا یک ویژگی قبل از اینکه کامل شده و آماده تولید در نظر گرفته شود باید آن‌ها را رعایت کند. DoD کمک می کند تا اطمینان حاصل شود که کیفیت و عملکرد محصول با انتظارات ذینفعان سازگار و همسو است.

تعریف DoD بسته به زمینه و محدوده پروژه می تواند متفاوت باشد. با این حال، همیشه باید توسط همه اعضای تیم درگیر در فرآیند توسعه، مانند صاحبان محصول، مدیران پروژه، توسعه دهندگان و اعضای تیم QA، به صورت واضح مورد توافق قرار گیرد.

تعریف DoD ابزار قدرتمندی است که می‌تواند به بهبود کیفیت، کارایی و همکاری تیم‌های توسعه نرم افزار چابک کمک کند. با داشتن یک DoD درست و ایده‌آل، می‌توانیم اطمینان حاصل کنیم که محصولات ارزشمندی را ارائه می‌دهیم که نیازها و انتظارات مشتریان ما را برآورده می‌کند.


🔗 نسخه کامل مقاله به همراه نمونه کد را میتوانید در اینجا مطالعه نمایید.

⁉️ برای بحث و تبادل نظر فنی در مورد این پست، نظرات خود را با ما در قسمت کامنت‌ها به اشتراک بگذارید.

#محمدرضا_پازوکی (لینکدین)

کانال تلگرام:
@SoftwarePhilosophy

______
DEV Community What is the definition of done (DoD) One of the key concepts in agile software development is the definition of done (DoD). The DoD is a...
  • 👍 3
  • ❤ 2
Post #2208 2.64K
ابهام زدایی از Concurrency و Racing Conditions

تعریف Concurrency:
همزمانی
به توانایی یک سیستم کامپیوتری برای اجرای چندین کار یا فرآیند به طور همزمان اشاره دارد که ظاهراً در زمان همپوشانی دارند. همزمانی مفهوم گسترده‌تری است که موازی‌سازی را در بر می‌گیرد اما لزوماً نیازی به اجرای همزمان وظایف بر روی چندین هسته CPU ندارد. این در مورد مدیریت و زمان بندی وظایف متعدد به گونه ای است که بیشترین استفاده را از منابع موجود داشته باشد.

تعریف Racing Conditions:
یک Racing Conditions نوعی باگ مربوط به همزمانی است و زمانی رخ می‌دهد که چندین رشته یا پردازش به داده‌ها یا منابع مشترک دسترسی داشته باشند و نتیجه نهایی به زمان بندی یا ترتیب اجرا بستگی دارد. به عبارت دیگر، این یک "مسابقه" بین رشته‌ها برای دسترسی و اصلاح داده‌های مشترک است و نتیجه می‌تواند غیرقابل پیش بینی و نادرست باشد.

روش های جلوگیری از Racing Conditions:
در .Net برای جلوگیری از شرایط مسابقه بین Thread ها می‌توانید از lock , Semaphores, Mutexes یا Monitors استفاده کنید. در عمل، انتخاب بهترین گزینه به نیازهای خاص برنامه شما بستگی دارد. lock اغلب ساده‌ترین و رایج‌ترین مکانیسم همگام سازی برای مدیریت همزمانی در یک فرآیند واحد است. Mutexes و Semaphores برای سناریوهای همگام سازی پیچیده‌تر شامل ارتباطات بین فرآیندی یا مدیریت منابع استفاده می‌شود. Monitors یک رویکرد شی‌گرا برای همگام سازی ارائه می‌دهند و مدیریت همگام سازی را در زمینه اشیا و روش‌ها آسان‌تر می‌کند.

🔗 نسخه کامل مقاله به همراه نمونه کد را میتوانید در اینجا مطالعه نمایید.

⁉️ برای بحث و تبادل نظر فنی در مورد این پست، نظرات خود را با ما در قسمت کامنت‌ها به اشتراک بگذارید.

#محمدرضا_پازوکی (لینکدین)

کانال تلگرام:
@SoftwarePhilosophy

______
DEV Community Demystifying Concurrency and Racing Conditions Concurrency and Racing Conditions are two important concepts in .NET programming, especially when...
  • 👍 13
  • ❤ 2
  • 🔥 1
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →