Developer Advocate
رفتن به کانال در Telegram
1 035
مشترکین
اطلاعاتی وجود ندارد24 ساعت
اطلاعاتی وجود ندارد7 روز
-130 روز
آرشیو پست ها
1 035
به دنیای سیستمها خوش اومدی! جایی که حرفهایهای نرمافزار دیگه فقط نرمافزار نمیسازن، بلکه سیستمهایی از نرمافزار میسازن. توی این دنیا که تغییرات بهصورت مستمر توی اکوسیستمهای نرمافزاری پیادهسازی میشه و زیرساختهای واکنشگرا هماهنگش میکنن، نیاز داریم که متفاوت فکر کنیم. خیلی از چالشهامون ماهیت سیستمی دارن. این کتاب نشون میده که چطور تفکر سیستمی میتونه ما رو توی پیچیدگی سیستمهای مدرن هدایت کنه. به جای تکیه بر رویکردهای سنتی و تحلیلی، دیانا مونتالیون بهت یاد میده که مهارتهات رو گسترش بدی تا بتونی مثل یه سیستم سالم فکر کنی، ارتباط برقرار کنی، و عمل کنی.
تفکر سیستمی یه تمرینیه که اثربخشی تو رو بهبود میده و توانایی ایجاد تغییرات موثر رو بهت میده. با مجموعهای از تمرینها و سناریوهای واقعی، یاد میگیری که دیدگاهت رو تغییر بدی تا بتونی نتایج بهتری طراحی، توسعه، و ارائه کنی.
از این کتاب یاد میگیری:
چطور تفکر خطی تواناییت رو برای حل چالشهای سیستمی محدود میکنه
موانع رایج در مسیر تفکر سیستمی و راههای عبور از اونا
مهارتها و تمرینهای جدیدی که نحوهی فکر کردن، یاد گرفتن، و رهبری کردنت رو متحول میکنه
روشهایی برای همفکری با دیگران و ارائه پیشنهادات قابل اعتماد
چطور موفقیت رو وسط پیچیدگی و عدمقطعیت اندازهگیری کنی
@DeveloperAdvocate 🥑
1 035
کتاب "Lead Developer Career Guide" یکی از بهترین منابعی هست که میتونید به عنوان یک توسعهدهنده بخونید، مخصوصاً اگه دنبال این هستید که قدم به قدم به سمت لید توسعهدهنده شدن پیش برید. این کتاب یه جورایی راهنمای شما توی دنیای تکنولوژی و نرمافزار هست و کلی نکته و تجربه به شما میگه که چطور میتونید توی این مسیر موفق بشید.
چطور لید توسعهدهنده بشیم؟
این کتاب به شما یاد میده که برای تبدیل شدن به یه لید توسعهدهنده، چه مهارتهایی لازم دارید. فکر نکنید فقط باید با زبانهای برنامهنویسی مثل جاوا یا پایتون آشنا باشید! مهارتهای نرم هم به همون اندازه مهم هستن. ارتباط برقرار کردن با اعضای تیم، حل تعارضات و ایجاد یه جو مثبت توی تیم، همگی از جمله مهارتهایی هستن که بهشون پرداخته میشه.
مدیریت تیم به سبک خودت
اگه شما بخواهید تیمی رو مدیریت کنید، باید بدونید که چطور میتونید افراد رو به بهترین نحو رهبری کنید. این کتاب بهتون میگه چطور میتونید انگیزه اعضای تیم رو بالا ببرید، چطور کارها رو اولویتبندی کنید و چطور پروژهها رو به موفقیت برسونید. در واقع، شما یاد میگیرید که چطور از تواناییهای هر عضو تیم به خوبی استفاده کنید و این خیلی مهمه!
چالشهای روزمره
یکی از قسمتهای جالب کتاب، بررسی چالشهای روزمرهای هست که ممکنه توی این مسیر باهاشون مواجه بشید. به عنوان مثال، ممکنه بعضی وقتها با تغییرات ناگهانی در پروژهها یا مشکلات ارتباطی بین اعضای تیم روبرو بشید. این کتاب به شما کمک میکنه تا این چالشها رو بشناسید و راهحلهایی برای مدیریت این شرایط پیدا کنید.
یادگیری و رشد حرفهای
در نهایت، کتاب به شما انگیزه میده که همیشه در حال یادگیری باشید و به فکر رشد خودتون باشید. در دنیای تکنولوژی که هر روز داره تغییر میکنه، مهمه که همیشه به روز باشید. این کتاب منابع و راهکارهایی رو معرفی میکنه که به شما کمک میکنه بهروز بمونید و همزمان مهارتهای جدید یاد بگیرید.
@DeveloperAdvocate 🥑
1 035
سلام به همه عزیزان!
اخیراً درگیر پروژهای شدم که با .NET Core 2.2 توسعه داده شده بود و آن را به .NET 8 آپدیت کردم.
و بوم!
سرور اول که روی .NET 8 است، مصرف رمش نصف شد! 😎
خیلی نکات پرفومنسی دیگه ای هست که
از این هم میتونه بهتر بشه.
1 035
Repost from Galaxy Ai
Checking Json Schema in .NET
It is often useful to validate JSON documents against a schema. A JSON schema is a dictionary that can be used for annotating and validating JSON documents. For example, you can validate a JSON document received from a REST API or a user-written configuration file. Today let's see how to validate JSON data against a schema in .NET.
💡 In PowerShell, you can use the Test-Json cmdlet to validate JSON data against a JSON schema.
.NET does not natively support JSON schema validation. However, there are several third-party libraries that can be used for validating JSON data against a schema. Here we use the JsonSchema.Net library at https://www.nuget.org/packages/JsonSchema.Net.
Let's create a project:
dotnet new console
dotnet add package JsonSchema.Net
The following code demonstrates how to validate JSON data against a schema:
using System.Text.Json.Nodes;
using Json.Schema;
var schema = @"
{
""$schema"": ""https://json-schema.org/draft/2020-12/schema"",
""$id"": ""https://example.com/product.schema.json"",
""title"": ""Product"",
""description"": ""A product from Acme's catalog"",
""type"": ""object"",
""properties"": {
""productName"": {
""description"": ""Name of the product"",
""type"": ""string""
},
""price"": {
""description"": ""The price of the product"",
""type"": ""number"",
""exclusiveMinimum"": 0
}
},
""required"": [ ""productName"", ""price"" ]
}
";
var json = @"
{
""productName"": ""test"",
""price"": -1
}
";
var jsonSchema = JsonSchema.FromText(schema);
var result = jsonSchema.Evaluate(JsonNode.Parse(json));
if (!result.IsValid)
{
Console.WriteLine("Invalid document");
if (result.HasErrors)
{
foreach (var error in result.Errors)
Console.WriteLine(error.Key + " : " + error.Value);
}
}
- Galaxy - < #NET > 🇹🇷1 035
کتاب "Fundamentals of Enterprise Architecture: Proven Frameworks for Effective Architecture Decisions" نوشته Tanu McCabe، یک منبع عالی برای هر کسی است که به دنبال درک عمیقتری از معماری سازمانی و چالشهای مربوط به آن است. Tanu با تجربهاش در Capital One، چارچوبها و شیوههای عملی را ارائه میدهد که به شما کمک میکند استراتژیهای معماری مؤثری بسازید و پیادهسازی کنید.
چه چیزهایی در این کتاب یاد میگیرید؟
معماری سازمانی را به طور کامل درک خواهید کرد و میفهمید که چرا داشتن یک برنامه مؤثر در این زمینه مهم است.
میآموزید که چه افرادی باید در تعیین و اجرای استراتژیهای معماری نقش داشته باشند.
چالشهای رایج را شناسایی میکنید که ممکن است مانع از موفقیت استراتژیهای شما شوند.
با ارزیابی وضعیت کنونی معماری سازمان خود، فرصتهای بهبودی را شناسایی میکنید.
میتوانید استراتژی معماری خود را در سطوح مختلف (سازمانی و شخصی) تعریف کنید و از چارچوبهای کتاب استفاده کنید.
با استفاده از درسهای ارائهشده، تصمیمگیریهای بهتری در زمینه معماری خواهید داشت.
Tanu McCabe با تجربهاش به عنوان یک مهندس برجسته در استراتژی ابر عمومی، این کتاب را به شکلی نوشته که نهتنها اطلاعات مفیدی را ارائه میدهد، بلکه به شما انگیزه میدهد تا به سمت بهبود و موفقیت در معماری سازمانی گام بردارید. اگر به این موضوع علاقه دارید، حتما این کتاب را مطالعه کنید!
@DeveloperAdvocate 🥑
1 035
Fundamentals of Enterprise Architecture: Proven Frameworks for Effective Architecture Decisions 1st Edition
@DeveloperAdvocate 🥑
1 035
اخیراً یه سایت جالب به اسم
https://freedium.cfd
پیدا کردم که خواستم با شما هم به اشتراک بذارم! 😍 این سایت به شما امکان میده مقاله های پولی Medium رو رایگان ببینید !😎
@DeveloperAdvocate 🥑
1 035
https://github.com/MeladKamari/Kavenegar.Core
سلام به همه! 🌟
دوستان پکیج Kavenegar رو تغییراتی دادم
میتونیم از Dependency Injection استفاده کنیم ، بجای "Newtonsoft.Json" از "System.Text.Json" استفاده کنیم
برای پرفورمنس بهتر!
اگر موردی هست حتما PR بزنید تا بهترش کنیم
از اینجا میتونید نصبش کنید🥳
https://www.nuget.org/packages/KaveNegarDotNet
1 035
دوبله دوره ریکت رایگان شد و از dubdev.ir میتونید دسترسی داشته باشید...
نه ریسپانسیوه نه هیچی صرفا لینک فصل ها هستش، با سیستم برید راحت تر میتونید استفاده کنید
1 035
اگر دوست دارید بدونید چطوری میتونید عملکرد اپلیکیشنهای خودتون رو به بهترین شکل ممکن مانیتور کنید، حتما این ویدئو رو ببینید! 🚀
در این ویدئو، به شما نشون میدم چطور با استفاده از Elastic APM به سادگی مشکلات عملکردی اپلیکیشنها رو پیدا و رفع کنید. از نکات اولیه شروع میکنیم و قدم به قدم پیش میریم تا به شما کمک کنیم عملکرد برنامههای خودتون رو بهبود بدید و تجربه کاربری بهتری رو فراهم کنید.
https://youtu.be/5AhZOI5Udc4
گیت هاب پروژه : github.com/MeladKamari/EK-APM-Monitoring
#dotnet #dotnetcore #elasticapm #apm #elasticsearch #kibana #elasticstack
@DeveloperAdvocate 🥑
1 035
APM چیه اصلاً؟ 🤔
APM مخفف Application Performance Monitoring هست که به زبون ساده یعنی یه ابزار خفن برای مانیتور کردن عملکرد اپلیکیشنها. با APM میتونید همه جنبههای عملکرد اپلیکیشنتون رو تو لحظه بررسی کنید؛ از زمان پاسخدهی گرفته تا خطاها و عملکرد کلی سیستم. یعنی اگه اپلیکیشنتون کند شد یا اروری پیش اومد، سریعاً باخبر میشید و میتونید دست به کار بشید! ⏰🔍
چرا Elasticsearch رو انتخاب کنیم؟ 🤩
Elasticsearch یه موتور جستجو و تحلیل داده خیلی قدرتمنده که امکانات فوقالعادهای برای مدیریت و تحلیل دادههای بزرگ داره. حالا فکر کنید این قدرت رو با APM ترکیب کنیم! نتیجه چی میشه؟ یه ابزار فوقالعاده برای مانیتورینگ و تحلیل عملکرد اپلیکیشنها! 😍 با Elasticsearch، میتونید دادههای مربوط به عملکرد اپلیکیشن رو جمعآوری و به سرعت جستجو کنید، الگوهای رفتاری رو پیدا کنید و بهترین گزارشها رو بگیرید. 📊💡
چرا باید از APM در Elasticsearch استفاده کنیم؟ 🌈
همیشه در جریان باش! 🕒: با APM، میتونید همه تراکنشها و فعالیتهای اپلیکیشنتون رو در لحظه بررسی کنید. این یعنی همیشه از وضعیت اپلیکیشنهاتون باخبر هستید و میتونید به سرعت به مشکلات واکنش نشون بدید. 🚦
مشکلات رو سریع پیدا کن و رفع کن! 🛠: وقتی مشکلی پیش میاد، اولین کاری که باید بکنید پیدا کردن علتشه. APM بهتون کمک میکنه دقیقاً بفهمید مشکل کجا و چرا پیش اومده. اینجوری میتونید سریعاً مشکل رو حل کنید و نذارید دوباره تکرار بشه. 🔧
تحلیلهای دقیق و پیشرفته! 📈: با قابلیتهای تحلیلی پیشرفته Elasticsearch، میتونید دادههای عملکردی اپلیکیشنتون رو به شکل عمیقتر و دقیقتر بررسی کنید. این کمک میکنه تصمیمات بهتری برای بهینهسازی اپلیکیشنهاتون بگیرید. 🔍
ادغام راحت و بیدردسر! 🤖: یکی از بهترین ویژگیهای APM در Elasticsearch اینه که میتونید خیلی راحت اونو با ساختارهای موجودتون ادغام کنید. این یعنی بدون دردسر و پیچیدگیهای زیاد، میتونید از امکانات این ابزار بهرهمند بشید. 🔌
#ElasticSearch #APM
@DeveloperAdvocate 🥑
1 035
🌟 آشنایی با APM در Elasticsearch: راهی برای بهبود عملکرد اپلیکیشنهای شما! 🌟
🌟 امروز با یه ابزار فوقالعاده جذاب اومدیم که اگه ازش استفاده کنین، عاشقش میشین! میدونم که همه شما دنبال این هستین که اپلیکیشنهاتون رو بهتر و سریعتر کنید، و برای همین میخوام APM در Elasticsearch رو بهتون معرفی کنم! 😍
#ElasticSearch #APM
@DeveloperAdvocate 🥑
1 035
توی این ویدیو میخوایم با هم بریم سراغ Serilog و Elasticsearch و ببینیم چطور میتونیم لاگهای برنامهمون رو بهتر مدیریت کنیم. بهتون یاد میدم که چجوری Serilog رو راهاندازی کنید و لاگها رو توی Elasticsearch ذخیره کنید و بعدش با Kibana کلی تجزیه و تحلیل باحال انجام بدیم. پس اگه دوست داری به برنامههات نظم بدی و از کار با لاگها لذت ببری، این ویدیو مخصوص توئه! حتماً تا آخر باهامون باش! 🤩
لایک و کامنت و ساب یادتون نره که حسابی بهم انرژی میده و بتونم ویدیوهای بیشتری براتون بسازم! ❤️👇
https://youtu.be/NHdwxgmMl3s
#Serilog #ElasticSearch #dotnetcore #dotnet
@DeveloperAdvocate 🥑
1 035
به اشتراکگذاری تجربهتون خیلی جالب بود و به تیم و تلاششون واقعاً افتخار میکنم. این که تونستید در چنین مدت کوتاهی با هم همکاری کنید و محصول رو تحویل بدید، قطعاً نشوندهنده توانایی و انعطافپذیری بالای تیم شماست.
اما دوست دارم یه نکته رو روشن کنم: اجایل بودن فقط به معنی سریع کار کردن یا کار کردن در روزهای آخر هفته نیست. اجایل یک چارچوب ذهنی و مجموعهای از اصول و ارزشهاست که هدفش افزایش انعطافپذیری و پاسخگویی به تغییرات در طول پروژه است.
تجربهای که شما به اشتراک گذاشتید، بیشتر روی سرعت و تحویل سریع تمرکز داره که میتونه در شرایط خاص مناسب باشه، اما اجایل بودن به این معنی نیست که تیمها باید همیشه در فشار زمانی باشند. برعکس، هدف اجایل ایجاد محیطی است که در آن تیمها بتوانند به صورت مداوم و با کیفیت بالا کار کنند و به تغییرات پاسخ دهند، بدون این که نیاز به کار تحت فشار و در روزهای آخر هفته داشته باشند.
به هر حال، خوشحالم که این تجربه برای تیم شما چالشبرانگیز و موفقیتآمیز بود. امیدوارم بتونید ارزشهای اصلی اجایل رو هم در تیمتون بیشتر پیاده کنید.
#Agile
1 035
امیدوارم که حال همگیتون عالی باشه! 🙌
خیلی خوشحالم که شما رو در کانال Developer Advocate داریم و از حمایتهاتون بسیار ممنونم. 💖
برای اینکه بتونیم ارتباطاتمون رو بیشتر کنیم و از محتوای آموزشی و بهروزرسانیهای جذاب بیشتری بهرهمند بشیم، یه صفحه جدید توی لینکدین ساختیم! 📈
ازتون دعوت میکنم که حتماً بیاید و صفحه لینکدین ما رو فالو کنید تا بتونیم در یک جامعه حرفهایتر و پویا با هم تعامل کنیم. 🔗👇
https://www.linkedin.com/feed/update/urn:li:activity:7233764319555969025
1 035
1. BufferBaseFilename
این تنظیم مشخص میکنه که لاگها به صورت موقت کجا ذخیره بشن. توی این مثال، لاگها داخل فایلی به اسم serilog-buffer توی پوشهی logs ذخیره میشن. این کار باعث میشه که لاگها قبل از ارسال به Elasticsearch، یه جا جمع بشن و کلی از بار شبکه کم بشه. اینجوری همه چیز سریعتر و بهینهتر انجام میشه! 💾✨
2. BufferFileCountLimit
این پارامتر مشخص میکنه که چندتا فایل موقت میتونیم برای ذخیرهی لاگها داشته باشیم. اینجا تنظیم شده که حداکثر 20 تا فایل موقت باشه. یعنی اگه تعداد فایلها به 20 تا برسه، فایلهای قدیمیتر پاک میشن تا جا برای فایلهای جدید باز بشه. با این روش، دیگه نگران پر شدن دیسک نباشید و همیشه نظم لاگهاتون حفظ میشه! 🗂🔄
3. BufferFileSizeLimitBytes
با این تنظیم، میتونیم حداکثر اندازه هر فایل موقت رو مشخص کنیم. اینجا گفته شده که هر فایل حداکثر 100 مگابایت باشه. اگه یه فایل به این اندازه برسه، به طور خودکار یه فایل جدید ساخته میشه. اینطوری همیشه مطمئن هستیم که فضای کافی داریم و هیچ لاگی از دست نمیره! 🥳📏
4. BufferFileRollingInterval
این تنظیم تعیین میکنه که فایلهای موقت هر چند وقت یکبار تغییر کنن. در این مثال، فایلها هر روز تغییر میکنن (RollingInterval.Day). این یعنی هر روز یه فایل جدید برای ذخیره لاگها داریم و فایلهای قدیمیتر بهروز میشن. این روش کمک میکنه که همه چیز مرتب و آماده برای ارسال به Elasticsearch باشه! 🌞📅
5. BufferLogShippingInterval
و در نهایت، این تنظیم زمانبندی ارسال لاگها از حافظهی موقت به Elasticsearch رو تعیین میکنه. توی اینجا، تنظیم شده که هر 2 ثانیه یک بار لاگها ارسال بشن. این یعنی لاگها همیشه به موقع به Elasticsearch میرسن و میتونیم تحلیلهای دقیقی از اونها داشته باشیم
#Serilog #ElasticSearch #Part1 #Tips
@DeveloperAdvocate
