This media is not supported in your browser
VIEW IN TELEGRAM
چند روز دیگه قراره یه حرکت خفن برای کامیونیتی اوپن سورس بزنیم🙌
از لینک پایین میتونی تو رویداد شرکت ( attend ) کنی. (کارگاه رایگان هست)
https://lnkd.in/e3QsZRAF
اطلاع رسانی ها و ویدیو ضبط شده کارگاه رو توی این کانال تلگرامی میذاریم :
@hacktoberfest_fa
از لینک پایین میتونی تو رویداد شرکت ( attend ) کنی. (کارگاه رایگان هست)
https://lnkd.in/e3QsZRAF
اطلاع رسانی ها و ویدیو ضبط شده کارگاه رو توی این کانال تلگرامی میذاریم :
@hacktoberfest_fa
🔥4❤1👏1
Forwarded from Hacktoberfest_fa (Arfa Md)
Media is too big
VIEW IN TELEGRAM
بچه ها
ویدیو ضبط شده کارگاه خدمت شما ✌️🤗
( همچنان از داخل لینکدین هم امکان تماشای کارگاه رو دارین )
ویدیو ضبط شده کارگاه خدمت شما ✌️🤗
( همچنان از داخل لینکدین هم امکان تماشای کارگاه رو دارین )
❤2
Forwarded from DevTwitter | توییت برنامه نویسی
آرشیو تمام منابع رایگان آموزش برنامه نویسی به زبان فارسی
برای اینکه هیچکس به خاطر نداشتن پول از آموزش عقب نمونه
https://github.com/barnamenevisi/free-resources
@DevTwitter | <MehrdadLinux/>
برای اینکه هیچکس به خاطر نداشتن پول از آموزش عقب نمونه
https://github.com/barnamenevisi/free-resources
@DevTwitter | <MehrdadLinux/>
👍6❤1👏1
#اطلاع_رسانی🔔
➡️ Deep Dive into async/await: How to Unlock the Full Potential of C# Concurrency👈
اسم ورکشاپی هست که مهران داودی با هدف آموزش مفاهیم همزمانی برگزار می کنه.
در این ورکشاپ در مورد مفاهیم Threading و Concurrency صحبت میشه.
⬅️ لینک اولین جلسه
⬅️ لینک دومین جلسه
⬅️ جلسه سوم این ورکشاپ در تاریخ ۲۱ آبان ماه ساعت ۱۷ برگزار میشه. از همهی دوستان دعوت میکنم همراه ما باشند.
😀 نکته: برای اینکه به خوبی بتونین از این ورکشاپ استفاده کنین لطفا ویدیوی جلسات قبل رو مشاهده کنین.
اسم ورکشاپی هست که مهران داودی با هدف آموزش مفاهیم همزمانی برگزار می کنه.
در این ورکشاپ در مورد مفاهیم Threading و Concurrency صحبت میشه.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
سلام.
خیلی ممنون که چند دقیقه از وقت باارزشت رو به ما اختصاص میدی.
بینهایت سپاسگزاریم.
ما یک گروه از دانشآموختههای کوچینگ هستیم که برای یک پروژه کلاسی تصمیم گرفتیم از شما یک سری سوال بپرسیم و درباره نتایج اون تحقیقات انجام بدیم. ما نتیجه این تحقیقات رو به شما برمیگردونیم و خوشحال میشیم اگه حتی کمی بهتون کمکی کرده باشه یا دریچه جدیدی براتون باز کنه.
https://survey.porsline.ir/s/WTLZEnBf
خیلی ممنون که چند دقیقه از وقت باارزشت رو به ما اختصاص میدی.
بینهایت سپاسگزاریم.
ما یک گروه از دانشآموختههای کوچینگ هستیم که برای یک پروژه کلاسی تصمیم گرفتیم از شما یک سری سوال بپرسیم و درباره نتایج اون تحقیقات انجام بدیم. ما نتیجه این تحقیقات رو به شما برمیگردونیم و خوشحال میشیم اگه حتی کمی بهتون کمکی کرده باشه یا دریچه جدیدی براتون باز کنه.
https://survey.porsline.ir/s/WTLZEnBf
Porsline
Personal Development Research
با پُرسلاین به راحتی پرسشنامه خود را طراحی و ارسال کنید و با گزارشهای لحظهای آن به سرعت تصمیم بگیرید.
👍1
Forwarded from Software Philosophy
EXACT INSTRUCTIONS
پیشنهاد میکنم اول فیلم رو ببنید بعد بقیه مطلب رو بخونید.
https://www.youtube.com/watch?reload=9&v=Ct-lOOUqmyY
خیلی جالب بود و در نگاه اول هیچ ربطی به نرمافزار و دنیای نرمافزار نداره. ولی وقتی یه خورده عمیق بشیم خیلی جالب میشه.
یکی از مهمترین کارهایی که باید توی شرکتهای نرمافزاری به درستی انجام بشه، داکیومنت کردن است. (داکیومنت به معنی کامنت گذاشتن داخل کد اصلا منظورم نیست، کد باید خودش به قدری خوانا باشه که نیاز به کامنت نداشته باشه یا به اصطلاح Self-Document باشه.)
داکیومنت کردن رو نباید به عنوان یه کار اضافه دید و سرسری انجامش داد.
تمام مراحل انتقال دانش باید به وسیله داکیومنت انجام بشه. نه به صورت نقل قول و سینه به سینه.
اتفاقی که برای خودم افتاد رو براتون تعریف میکنم:
در شرکت کرانه ادمین TFS بودم، و یکی از کارهایی که باید انجام میدادم و داکیومنت میکردم Disaster Recovery خود TFSبود. ۱ روز کامل وقت گذاشتم و Recovery رو انجام دادم و داکیومنتش رو نوشتم، کاری که مدیرمون کرد خیلی خوب بود. داکیومنت رو داد به یکی دیگه گفت TFS رو بیار بالا. حدس میزنید چی شد؟ نتونست، چون داکیومنتی که نوشته بودم به درد خودم میخورد.
و حرفی که به من زد این بود «داکیومنت باید طوری باشه که اگه دست یه نفر رو از توی خیابون گرفتم و این داکیومنت رو بهش دادم بتونه TFS رو بیاره بالا». بعد از ۳ بار داکیومنت نوشتن بالاخره موفق شدم داکیومنتی بنویستم که به هر کی بدمش فقط با Back up دیتا بیس بتونه TFS رو بالا بیاره.
به نظر من داکیومنت باید طوری باشه تا تمام کسانی که میخوننش، همشون یک برداشت رو داشته باشن، داکیومنت نباید وابسته به Context ذهن ما باشه.
خوشحال میشم نظر شما رو هم بدونم.
#افشین_علیزاده (https://ow.ly/l7cA30m3OQ9)
کانال تلگرام:
@SoftwarePhilosophy
___
پیشنهاد میکنم اول فیلم رو ببنید بعد بقیه مطلب رو بخونید.
https://www.youtube.com/watch?reload=9&v=Ct-lOOUqmyY
خیلی جالب بود و در نگاه اول هیچ ربطی به نرمافزار و دنیای نرمافزار نداره. ولی وقتی یه خورده عمیق بشیم خیلی جالب میشه.
یکی از مهمترین کارهایی که باید توی شرکتهای نرمافزاری به درستی انجام بشه، داکیومنت کردن است. (داکیومنت به معنی کامنت گذاشتن داخل کد اصلا منظورم نیست، کد باید خودش به قدری خوانا باشه که نیاز به کامنت نداشته باشه یا به اصطلاح Self-Document باشه.)
داکیومنت کردن رو نباید به عنوان یه کار اضافه دید و سرسری انجامش داد.
تمام مراحل انتقال دانش باید به وسیله داکیومنت انجام بشه. نه به صورت نقل قول و سینه به سینه.
اتفاقی که برای خودم افتاد رو براتون تعریف میکنم:
در شرکت کرانه ادمین TFS بودم، و یکی از کارهایی که باید انجام میدادم و داکیومنت میکردم Disaster Recovery خود TFSبود. ۱ روز کامل وقت گذاشتم و Recovery رو انجام دادم و داکیومنتش رو نوشتم، کاری که مدیرمون کرد خیلی خوب بود. داکیومنت رو داد به یکی دیگه گفت TFS رو بیار بالا. حدس میزنید چی شد؟ نتونست، چون داکیومنتی که نوشته بودم به درد خودم میخورد.
و حرفی که به من زد این بود «داکیومنت باید طوری باشه که اگه دست یه نفر رو از توی خیابون گرفتم و این داکیومنت رو بهش دادم بتونه TFS رو بیاره بالا». بعد از ۳ بار داکیومنت نوشتن بالاخره موفق شدم داکیومنتی بنویستم که به هر کی بدمش فقط با Back up دیتا بیس بتونه TFS رو بالا بیاره.
به نظر من داکیومنت باید طوری باشه تا تمام کسانی که میخوننش، همشون یک برداشت رو داشته باشن، داکیومنت نباید وابسته به Context ذهن ما باشه.
خوشحال میشم نظر شما رو هم بدونم.
#افشین_علیزاده (https://ow.ly/l7cA30m3OQ9)
کانال تلگرام:
@SoftwarePhilosophy
___
👍7
Forwarded from 🛑 Iranian Experts 🛑 (𝓓𝓪𝓻𝓲𝓾𝓼𝓱 𝓣𝓪𝓼𝓭𝓲𝓰𝓱𝓲)
Media is too big
VIEW IN TELEGRAM
Persian Anti Malware
Cheat Sheet:
- آموزش نکاتی در خصوص امنیت، برای کاربران، شرکتها و سازمانها
- Site:
https://PersianAntiMalware.ir
- Source Code:
https://github.com/Dariush-Tasdighi/Persian-Anti-Malware
#ANTI_VIRUS #ANTI_MALWARE #ANTI_MALWARE_001 #WINDOWS_FORMS
🆔 @Dariush_Tasdighi
🆔 @IranianExperts
🆔 @DT_PYTHON_LEARNING
.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Software Philosophy
از Angular به Blazor: آزاد کردن جادوی C#!
در سفری از Angular به کامپوننت Blazor، یک ماجراجویی هیجانانگیز، جادوی C# را آزاد کنید! این سفر نه تنها یک تغییر در نحوه نوشتاری را به همراه دارد بلکه یک شیفت تحولی در رویکرد شما نسبت به توسعه وب را به ارمغان میآورد. وقتی که به دنیای Blazor وارد میشوید، قدرتمندی C# و اکوسیستم گسترده .NET نه تنها کد را انتقال میدهید بلکه به دنیای امکاناتی وارد میشوید که به طور سحرآمیز منطبق بر منطق کاربری است و سمت سرور به یکدیگر میپیوندد.
هیجان ترجمه شاهکار Angular خود را به یک جواهر Blazor تصور کنید، جایی که آشنایی با نوآوری همراه میشود و دقت C# سمفونی وباپلیکیشن شما را ارجاع میدهد. این مهاجرت تنها یک گذار فنی نیست؛ بلکه فرصتی است برای بهرهمندی از طیف کامل قابلیتهای .NET، از دیتابایندینگ دقیق تا زیبایی پردازش رویدادها با C#.
پس کمربند خود را ببندید و آماده شوید تا ادغام پویایی Angular با استعداد C# Blazor را شاهد شوید. در این راهنمای هیجانانگیز، از هر مرحلهای از فرآیند مهاجرت عبور خواهیم کرد و جادویی را که هنگام ادغام بهترینهای دو دنیا اتفاق میافتد، برملا خواهیم کرد. برای یک ماجرای کدزنی آماده شوید که نه تنها مهارتهای شما را ارتقا میدهد، بلکه شور و هیجان به سفر توسعه شما تزریق میکند. اجازه دهید مهاجرت آغاز شود!
🔗 نسخه کامل مقاله به همراه نمونه کد را میتوانید در اینجا مطالعه نمایید.
___________
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، نظرات خود را با ما در قسمت کامنتها به اشتراک بگذارید.
#هوتن_همتی (لینکدین)
کانال تلگرام:
@SoftwarePhilosophy
_____
در سفری از 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...
❤2
Forwarded from 🛑 Iranian Experts 🛑 (𝓓𝓪𝓻𝓲𝓾𝓼𝓱 𝓣𝓪𝓼𝓭𝓲𝓰𝓱𝓲)
Media is too big
VIEW IN TELEGRAM
Persian Anti Malware
Cheat Sheet:
- فعلا کمتر قصه تعریف میکنم و به سلامتی، توی این قسمت وارد برنامه و سورسکد میشویم!
- Site:
https://PersianAntiMalware.ir
- Source Code:
https://github.com/Dariush-Tasdighi/Persian-Anti-Malware
#ANTI_VIRUS #ANTI_MALWARE #ANTI_MALWARE_002 #WINDOWS_FORMS
🆔 @Dariush_Tasdighi
🆔 @IranianExperts
🆔 @DT_PYTHON_LEARNING
.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Forwarded from Software Philosophy
بروزرسانی ReSharper 2023.3: انقلابی در کدنویسی داتنت
ابزار ReSharper، ابزاری قدرتمند برای توسعهدهندگان داتنت است که با ارائه طیف گستردهای از ویژگیها و قابلیتها، به توسعهدهندگان کمک میکند تا کد خود را با کیفیت بالاتر و سرعت بیشتری تولید کنند. نسخه 2023.3 ReSharper، با ویژگیهای جدید و بهبودیافته خود، تجربه کدنویسی داتنت را به طور اساسی تغییر میدهد.
ویژگیهای جدید و بهبودیافته:
🟣قابلیت Code Analysis:
🟣شناسایی مشکلات جدیدی مانند استفاده از کدهای ناکارآمد، احتمال حملات امنیتی، و مشکلات عملکردی
🟣بهبود دقت شناسایی مشکلات
🟣ارائه پیشنهادات عملی برای رفع مشکلات
مثال عملی: فرض کنید کد زیر را مینویسیم:
با استفاده از Code Analysis ReSharper 2023.3، میتوان این خطا را شناسایی کرد:
🟢قابلیت Code Completion:
🟢ارائه پیشنهادات دقیقتر و مرتبطتر با context کد
🟢جلوگیری از تکمیل کدهای ناامن
🟢پشتیبانی از کدنویسی با استفاده از زبانهای طبیعی
مثال عملی: فرض کنید کد زیر را مینویسیم:
با استفاده از Code Completion ReSharper 2023.3، میتوان این خطا را شناسایی کرد:
🟣قابلیت Refactoring:
🔵پشتیبانی از تغییرات پیچیدهتر مانند تغییر ساختار کد
🔵جلوگیری از بروز خطاهای احتمالی در هنگام انجام تغییرات
🔵ارائه گزارشهای دقیقتر از تغییرات انجامشده
مثال عملی: فرض کنید کد زیر را مینویسیم:
با استفاده از Refactoring ReSharper 2023.3، میتوان این کد را بهینه کرد:
🟢قابلیت جدید در Entity Framework:
در ReSharper 2023.3، بهروزرسانیهایی در Entity Framework ارائه شده است که به توسعهدهندگان کمک میکند تا کد Entity Framework خود را با کیفیت بالاتر و سرعت بیشتری تولید کنند.
ویژگیهای جدید و بهبودیافته:
🟢مشاهده روابط Entity Framework (ERD): ReSharper 2023.3، ابزار جدیدی برای ویرایش و مشاهده Entity Relationship Diagrams (ERDs) ارائه میدهد. این ابزار به توسعهدهندگان کمک میکند تا روابط بین جدولهای Entity Framework را بهطور واضحتری درک کنند.
🟢تجزیه و تحلیل و بازرسی کوئریهای Entity Framework: ReSharper 2023.3، قابلیتهای جدیدی برای تجزیه و تحلیل و بازرسی کوئریهای Entity Framework ارائه میدهد. این قابلیتها میتوانند به توسعهدهندگان در شناسایی و رفع مشکلات احتمالی در کوئریهای خود کمک کنند.
مثالهایی از نحوه استفاده از ویژگیهای جدید:
🟢مشاهده روابط Entity Framework (ERD): فرض کنید یک پروژه Entity Framework داریم که شامل دو جدول به نامهای Customer و Order است. با استفاده از ابزار Visualize Entity Framework Relationships ReSharper 2023.3، میتوانیم ERD زیر را ایجاد کنیم:
🟢تجزیه و تحلیل و بازرسی کوئریهای Entity Framework: فرض کنید یک کوئری Entity Framework داریم که به صورت زیر است:
با استفاده از قابلیتهای جدید ReSharper 2023.3، میتوانیم مشکلات احتمالی در این کوئری را شناسایی کنیم. به عنوان مثال، ReSharper میتواند به ما هشدار دهد که این کوئری ممکن است کند باشد.
🔗 نسخه کامل مقاله به همراه نمونه کد را میتوانید در اینجا مطالعه نمایید.
___________
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، نظرات خود را با ما در قسمت کامنتها به اشتراک بگذارید.
#هوتن_همتی (لینکدین)
کانال تلگرام:
@SoftwarePhilosophy
_____
ابزار ReSharper، ابزاری قدرتمند برای توسعهدهندگان داتنت است که با ارائه طیف گستردهای از ویژگیها و قابلیتها، به توسعهدهندگان کمک میکند تا کد خود را با کیفیت بالاتر و سرعت بیشتری تولید کنند. نسخه 2023.3 ReSharper، با ویژگیهای جدید و بهبودیافته خود، تجربه کدنویسی داتنت را به طور اساسی تغییر میدهد.
ویژگیهای جدید و بهبودیافته:
🟣قابلیت Code Analysis:
🟣شناسایی مشکلات جدیدی مانند استفاده از کدهای ناکارآمد، احتمال حملات امنیتی، و مشکلات عملکردی
🟣بهبود دقت شناسایی مشکلات
🟣ارائه پیشنهادات عملی برای رفع مشکلات
مثال عملی: فرض کنید کد زیر را مینویسیم:
public class MyClass
{
public void MyMethod()
{
// این کد ناکارآمد است
for (int i = 0; i < 1000000; i++)
{
Console.WriteLine("i = " + i);
}
}
}
با استفاده از Code Analysis ReSharper 2023.3، میتوان این خطا را شناسایی کرد:
[ReSharper] 'MyClass.MyMethod()' is inefficient: it uses a for loop with a large number of iterations.
🟢قابلیت Code Completion:
🟢ارائه پیشنهادات دقیقتر و مرتبطتر با context کد
🟢جلوگیری از تکمیل کدهای ناامن
🟢پشتیبانی از کدنویسی با استفاده از زبانهای طبیعی
مثال عملی: فرض کنید کد زیر را مینویسیم:
public class MyClass
{
public void MyMethod()
{
// این کد ناامن است
var password = "my-password";
// ...
}
}
با استفاده از Code Completion ReSharper 2023.3، میتوان این خطا را شناسایی کرد:
[ReSharper] 'password' is a hard-coded password. This can lead to security vulnerabilities.
🟣قابلیت Refactoring:
🔵پشتیبانی از تغییرات پیچیدهتر مانند تغییر ساختار کد
🔵جلوگیری از بروز خطاهای احتمالی در هنگام انجام تغییرات
🔵ارائه گزارشهای دقیقتر از تغییرات انجامشده
مثال عملی: فرض کنید کد زیر را مینویسیم:
public class MyClass
{
public void MyMethod()
{
// این کد میتواند با استفاده از refactoring بهینه شود
var list = new List<int>();
for (int i = 0; i < 100; i++)
{
list.Add(i);
}
// ...
}
}
با استفاده از Refactoring ReSharper 2023.3، میتوان این کد را بهینه کرد:
public class MyClass
{
public void MyMethod()
{
var list = new List<int>(Enumerable.Range(0, 100));
// ...
}
}
🟢قابلیت جدید در Entity Framework:
در ReSharper 2023.3، بهروزرسانیهایی در Entity Framework ارائه شده است که به توسعهدهندگان کمک میکند تا کد Entity Framework خود را با کیفیت بالاتر و سرعت بیشتری تولید کنند.
ویژگیهای جدید و بهبودیافته:
🟢مشاهده روابط Entity Framework (ERD): ReSharper 2023.3، ابزار جدیدی برای ویرایش و مشاهده Entity Relationship Diagrams (ERDs) ارائه میدهد. این ابزار به توسعهدهندگان کمک میکند تا روابط بین جدولهای Entity Framework را بهطور واضحتری درک کنند.
🟢تجزیه و تحلیل و بازرسی کوئریهای Entity Framework: ReSharper 2023.3، قابلیتهای جدیدی برای تجزیه و تحلیل و بازرسی کوئریهای Entity Framework ارائه میدهد. این قابلیتها میتوانند به توسعهدهندگان در شناسایی و رفع مشکلات احتمالی در کوئریهای خود کمک کنند.
مثالهایی از نحوه استفاده از ویژگیهای جدید:
🟢مشاهده روابط Entity Framework (ERD): فرض کنید یک پروژه Entity Framework داریم که شامل دو جدول به نامهای Customer و Order است. با استفاده از ابزار Visualize Entity Framework Relationships ReSharper 2023.3، میتوانیم ERD زیر را ایجاد کنیم:
Customer
|
|_ Order
🟢تجزیه و تحلیل و بازرسی کوئریهای Entity Framework: فرض کنید یک کوئری Entity Framework داریم که به صورت زیر است:
var customers = context.Customers.Where(c => c.Name.Contains("John"));
با استفاده از قابلیتهای جدید ReSharper 2023.3، میتوانیم مشکلات احتمالی در این کوئری را شناسایی کنیم. به عنوان مثال، ReSharper میتواند به ما هشدار دهد که این کوئری ممکن است کند باشد.
🔗 نسخه کامل مقاله به همراه نمونه کد را میتوانید در اینجا مطالعه نمایید.
___________
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، نظرات خود را با ما در قسمت کامنتها به اشتراک بگذارید.
#هوتن_همتی (لینکدین)
کانال تلگرام:
@SoftwarePhilosophy
_____
The JetBrains Blog
ReSharper 2023.3: Support For C# 12, Performance Enhancements, and More AI-Powered Features | The .NET Tools Blog
ReSharper 2023.3 and new versions of other JetBrains .NET tools have just been released. This version brings support for the latest C# 12 features, optimized background code analysis, and the ability
🔥3👍2❤1
Forwarded from DTX_LEARNING_EF_CORE (𝓓𝓪𝓻𝓲𝓾𝓼𝓱 𝓣𝓪𝓼𝓭𝓲𝓰𝓱𝓲)
Media is too big
VIEW IN TELEGRAM
جلسه چهارم
به بهانه برگزاری این دوره، اجازه میخواهم که کمی درد و دل و نصیحت / وصیت کنم...
تقاضا میکنم که با هر سطح دانشی که در حوزه برنامهنویسی دارید، این فیلم را مشاهده نمایید...
✅ انتشار این فیلم، با ذکر منبع، بلامانع میباشد ✅
☘️ سورسکد پروژه:
https://github.com/Dariush-Tasdighi/Learning-EF-Core-8
#EFCore #EF_CORE #NEW_LEARNING_EF_CORE_004
🆔 @Dariush_Tasdighi
🆔 @IranianExperts
🆔 @DT_PYTHON_LEARNING
.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1😱1
شرکت TwoX.ir در حال جذب Senior Backend Developer با شرایط زیر هست:
حوزه کاری شرکت: ارز دیجیتال
محل شرکت: محدوده غرب تهران (پیامبر شرقی)
نحوه همکاری: تمام وقت و حضوری (امکان یک روز دورکاری وجود داره)
• Over 3 years of in-depth development experience with C#/.NET
• Work experience with ASP.NET (WebApi, MVC), ASP.NET Core
• Deep understanding of OOP
• Good knowledge of enterprise applications Design patterns
• Experience with Elastic Search
• Working experience with databases in both RDBMSs (MSSQL) and NoSQL
• Experience in developing multi-threaded applications with an understanding of concepts such as threads, concurrency and locking
• Experience in Blockchain development is a big plus!
• Working with DevOps and CI/CD tools is a plus!
اگر خودتون تمایل به بررسی این فرصت شغلی رو دارید، خوشحال میشم رزومه ها رو از طریق آدرس ایمیل زیر دریافت کنم [email protected]
حوزه کاری شرکت: ارز دیجیتال
محل شرکت: محدوده غرب تهران (پیامبر شرقی)
نحوه همکاری: تمام وقت و حضوری (امکان یک روز دورکاری وجود داره)
• Over 3 years of in-depth development experience with C#/.NET
• Work experience with ASP.NET (WebApi, MVC), ASP.NET Core
• Deep understanding of OOP
• Good knowledge of enterprise applications Design patterns
• Experience with Elastic Search
• Working experience with databases in both RDBMSs (MSSQL) and NoSQL
• Experience in developing multi-threaded applications with an understanding of concepts such as threads, concurrency and locking
• Experience in Blockchain development is a big plus!
• Working with DevOps and CI/CD tools is a plus!
اگر خودتون تمایل به بررسی این فرصت شغلی رو دارید، خوشحال میشم رزومه ها رو از طریق آدرس ایمیل زیر دریافت کنم [email protected]
شرکت TwoX.ir در حال جذب Technical Leafd با شرایط زیر هست:
حوزه کاری شرکت: ارز دیجیتال
محل شرکت: محدوده غرب تهران (پیامبر شرقی)
نحوه همکاری: تمام وقت و حضوری (امکان یک روز دورکاری وجود داره)
Job Responsibilities:
• Leading a cross-functional technology team including backend, frontend and QA engineers.
• Owning software delivery of TwoX products
• Owning performance management cycle for team members
• Taking responsibility for incoming tasks based on the comprehensiveness of the tasks and business needs
• Making effective communication with the product, business and infrastructure stakeholders
• Committed to software quality and improving software quality attributes
• Leading to attaining the best software design and architecture emergent in the team
• Making sure their team is aligned with the technology chapter vision
• Having a high capability to maintain a feedback loop in the team
• Contributing to the hiring procedure
• Being responsible for the development of people in their team
• Holding 1:1 session with their team members
• In the case of technical dependency, Tech Lead needs to look for a long-term solution in order to unblock the team.
• Contributing to the business strategy, roadmap and staff planning for the team
Requirements
• Deep knowledge and experience in .Net Core
• Experience in Microservices Architecture and Distributed System Technologies
• Experience in leading technical teams
• Business Orientation
• Familiarity with Kubernetes
• Having design thinking, problem solving and critical thinking skills
• Conflict management skills
• Agile Mindset
اگر تمایل به بررسی این فرصت شغلی رو دارید، خوشحال میشم رزومه تون رو از طریق آدرس ایمیل زیر دریافت کنم [email protected]
حوزه کاری شرکت: ارز دیجیتال
محل شرکت: محدوده غرب تهران (پیامبر شرقی)
نحوه همکاری: تمام وقت و حضوری (امکان یک روز دورکاری وجود داره)
Job Responsibilities:
• Leading a cross-functional technology team including backend, frontend and QA engineers.
• Owning software delivery of TwoX products
• Owning performance management cycle for team members
• Taking responsibility for incoming tasks based on the comprehensiveness of the tasks and business needs
• Making effective communication with the product, business and infrastructure stakeholders
• Committed to software quality and improving software quality attributes
• Leading to attaining the best software design and architecture emergent in the team
• Making sure their team is aligned with the technology chapter vision
• Having a high capability to maintain a feedback loop in the team
• Contributing to the hiring procedure
• Being responsible for the development of people in their team
• Holding 1:1 session with their team members
• In the case of technical dependency, Tech Lead needs to look for a long-term solution in order to unblock the team.
• Contributing to the business strategy, roadmap and staff planning for the team
Requirements
• Deep knowledge and experience in .Net Core
• Experience in Microservices Architecture and Distributed System Technologies
• Experience in leading technical teams
• Business Orientation
• Familiarity with Kubernetes
• Having design thinking, problem solving and critical thinking skills
• Conflict management skills
• Agile Mindset
اگر تمایل به بررسی این فرصت شغلی رو دارید، خوشحال میشم رزومه تون رو از طریق آدرس ایمیل زیر دریافت کنم [email protected]
👍1
Forwarded from Software Philosophy
انتقال Git Stashes بین دستگاهها
ابزار Git stashes ابزاری قدرتمند برای ذخیره موقت تغییرات است. اما اگر نیاز دارید این stashes را به دستگاه دیگری منتقل کنید، چطور؟ در این پست، نحوه انتقال Git stashes را باهم برسی میکنیم تا هیچ کدام از تغییرات در حال انجام را از دست ندهید.
پیشنیازها :
ابتدا Git را طوری تنظیم کنیم که شامل فایلهای غیر ردیابی (Untracked) شده را هم در stashهایمان نیز باشد:
این تنظیمات تضمین میکند که وقتی یک stash میسازیم، تمام تغییرات از جمله فایلهای غیر ردیابی شده شامل شوند.
گام 1: ایجاد یک Stash
روی دستگاه فعلی خود، تغییرات را stash کنید:
پارامتر
گام 2: ایجاد یک فایل Patch
حالا یک فایل patch از stash ایجاد کنید:
این فرمان یک فایل با نام
گام 3: انتقال فایل Patch
فایل
گام 4: اعمال Patch در دستگاه جدید
روی دستگاه جدید، به مخزن Git خود بروید و patch را اعمال کنید:
این فرمان تغییرات را از فایل patch به پوشه کاری شما اعمال میکند.
نکته : میتوانید برای stashهای مختلف، فایلهای patch مجزا ایجاد کنید (مثلاً
با دنبال کردن این مراحل، میتوانید بدون توجه به جایی که در حال کار هستید به راحتی Git stashes خود را بین دستگاهها منتقل کنید و پیوستگی جریان کاری خود را حفظ کنید.
🔗 نسخه کامل مقاله را میتوانید در اینجا مطالعه نمایید.
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، نظرات خود را با ما در قسمت کامنتها به اشتراک بگذارید.
#هوتن_همتی (لینکدین)
کانال تلگرام:
@SoftwarePhilosophy
______
ابزار Git stashes ابزاری قدرتمند برای ذخیره موقت تغییرات است. اما اگر نیاز دارید این stashes را به دستگاه دیگری منتقل کنید، چطور؟ در این پست، نحوه انتقال Git stashes را باهم برسی میکنیم تا هیچ کدام از تغییرات در حال انجام را از دست ندهید.
پیشنیازها :
ابتدا Git را طوری تنظیم کنیم که شامل فایلهای غیر ردیابی (Untracked) شده را هم در stashهایمان نیز باشد:
git config stash.showIncludeUntracked true
این تنظیمات تضمین میکند که وقتی یک stash میسازیم، تمام تغییرات از جمله فایلهای غیر ردیابی شده شامل شوند.
گام 1: ایجاد یک Stash
روی دستگاه فعلی خود، تغییرات را stash کنید:
git stash push -u
پارامتر
-u
فایلهای غیر ردیابی شده را هم در stash شامل میشود.گام 2: ایجاد یک فایل Patch
حالا یک فایل patch از stash ایجاد کنید:
git stash show "stash@{0}" -p > changes.patch
این فرمان یک فایل با نام
changes.patch
ایجاد میکند که شامل تمام تغییرات در آخرین stash شماست.گام 3: انتقال فایل Patch
فایل
changes.patch
را به دستگاه دیگر خود منتقل کنید.گام 4: اعمال Patch در دستگاه جدید
روی دستگاه جدید، به مخزن Git خود بروید و patch را اعمال کنید:
git apply changes.patch
این فرمان تغییرات را از فایل patch به پوشه کاری شما اعمال میکند.
نکته : میتوانید برای stashهای مختلف، فایلهای patch مجزا ایجاد کنید (مثلاً
stash@{1}
, stash@{2}
).با دنبال کردن این مراحل، میتوانید بدون توجه به جایی که در حال کار هستید به راحتی Git stashes خود را بین دستگاهها منتقل کنید و پیوستگی جریان کاری خود را حفظ کنید.
🔗 نسخه کامل مقاله را میتوانید در اینجا مطالعه نمایید.
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، نظرات خود را با ما در قسمت کامنتها به اشتراک بگذارید.
#هوتن_همتی (لینکدین)
کانال تلگرام:
@SoftwarePhilosophy
______
DEV Community
Moving Git Stashes Between Devices: A Step-by-Step Guide
Git stashes are a powerful feature that allows developers to temporarily store uncommitted changes....
👍4🔥3❤1
Forwarded from CodeLodge
✅دومین دورهمی CodeLodge
همین سه شنبه 1 آبان پذیرای شما عزیزان در دومین دورهمی حضوری مون خواهیم بود.
میهمان این هفته ی ما #احمد_اقبال عزیز خواهد بود، کوفاندر Finca.ir و با هم در باره مسیرش از توسعه دهنده ارشد نرم افزار به توسعه ی بیزنس خودش و مسیر کارآفرینیش حرف خواهیم زد.
برای خیلی از ما، کارآفرینی ممکنه یک آپشن، هدف یا آرزو باشه، تجربه ی موفق احمد میتونه برای ما خیلی ارزشمند باشه، به خصوص که بعد از صحبت هاش، فرصت پرسش و پاسخ رو هم با احمد عزیز خواهیم داشت.
نکته : در زمان ثبت نام یک پکیج پذیرایی انتخاب میکنید، که هزینه ای هم که در ایوند پرداخت میکنید، مستقیم به کافه بابت خدمات و سفارش های انتخابی شما پرداخت خواهد شد.
نکته ی سوم : احتمالا از چندتا ایونت جلوتر، ما ثبت نام عادی نخواهیم داشت و فقط با معرفی نامه شرکت کننده های قبلی امکان ثبت نام فراهم خواهد بود. پس این یکی دو ایونت اول رو جدی بگیرید برای باقی ایونت ها :)
تاریخ : 1 آبان ماه ساعت 19 تا 21
مکان : سال کافه
لینک ثبت نام : https://evand.com/events/code-lobby-2
همین سه شنبه 1 آبان پذیرای شما عزیزان در دومین دورهمی حضوری مون خواهیم بود.
میهمان این هفته ی ما #احمد_اقبال عزیز خواهد بود، کوفاندر Finca.ir و با هم در باره مسیرش از توسعه دهنده ارشد نرم افزار به توسعه ی بیزنس خودش و مسیر کارآفرینیش حرف خواهیم زد.
برای خیلی از ما، کارآفرینی ممکنه یک آپشن، هدف یا آرزو باشه، تجربه ی موفق احمد میتونه برای ما خیلی ارزشمند باشه، به خصوص که بعد از صحبت هاش، فرصت پرسش و پاسخ رو هم با احمد عزیز خواهیم داشت.
نکته : در زمان ثبت نام یک پکیج پذیرایی انتخاب میکنید، که هزینه ای هم که در ایوند پرداخت میکنید، مستقیم به کافه بابت خدمات و سفارش های انتخابی شما پرداخت خواهد شد.
نکته ی سوم : احتمالا از چندتا ایونت جلوتر، ما ثبت نام عادی نخواهیم داشت و فقط با معرفی نامه شرکت کننده های قبلی امکان ثبت نام فراهم خواهد بود. پس این یکی دو ایونت اول رو جدی بگیرید برای باقی ایونت ها :)
تاریخ : 1 آبان ماه ساعت 19 تا 21
مکان : سال کافه
لینک ثبت نام : https://evand.com/events/code-lobby-2
🔥2👍1
Forwarded from Software Philosophy
چگونه با Scrutor و Autofac تزریق وابستگی را در .NET به سطح بعدی ببریم؟
در توسعه پروژههای بزرگ .NET، مدیریت تزریق وابستگی (Dependency Injection) به یکی از مهمترین بخشهای معماری نرمافزار تبدیل میشود. هنگامی که تعداد سرویسها و ریپازیتوریها افزایش پیدا میکند، ثبت دستی هر یک از آنها میتواند نه تنها زمانبر، بلکه منجر به بروز اشتباهات و پیچیدگیهای غیرضروری شود. اینجاست که ابزارهای قدرتمندی مثل Scrutor و Autofac به کمک ما میآیند.
ابزار Scrutor یک کتابخانه سبک برای DI پیشفرض .NET است که امکان اسکن خودکار اسمبلیها و ثبت سرویسها را با چند خط کد فراهم میکند. شما میتوانید کلاسها و اینترفیسها را به سادگی بر اساس namespace یا الگوهای دیگر شناسایی و به عنوان وابستگیها در پروژه تزریق کنید. این روش نه تنها کد شما را تمیزتر و منظمتر میکند، بلکه از بروز مشکلات ناشی از ثبت دستی جلوگیری میکند.
از طرف دیگر، Autofac یک کانتینر IoC بسیار قدرتمند است که کنترل و انعطاف بیشتری در تزریق وابستگیها به شما میدهد. با استفاده از Autofac، شما میتوانید وابستگیها را به صورت ماژولار مدیریت کنید، لایفتایم دقیق هر سرویس را تنظیم کرده و حتی از امکانات پیشرفتهای مانند AOP (Aspect-Oriented Programming) بهرهمند شوید. با این ابزارها، شما نه تنها کارهای تکراری را حذف میکنید، بلکه معماری پروژه خود را حرفهایتر و مقیاسپذیرتر میسازید.
🔗 نسخه کامل مقاله را میتوانید در اینجا مطالعه نمایید.
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، نظرات خود را با ما در قسمت کامنتها به اشتراک بگذارید.
#هوتن_همتی (لینکدین)
کانال تلگرام:
@SoftwarePhilosophy
______
در توسعه پروژههای بزرگ .NET، مدیریت تزریق وابستگی (Dependency Injection) به یکی از مهمترین بخشهای معماری نرمافزار تبدیل میشود. هنگامی که تعداد سرویسها و ریپازیتوریها افزایش پیدا میکند، ثبت دستی هر یک از آنها میتواند نه تنها زمانبر، بلکه منجر به بروز اشتباهات و پیچیدگیهای غیرضروری شود. اینجاست که ابزارهای قدرتمندی مثل Scrutor و Autofac به کمک ما میآیند.
ابزار Scrutor یک کتابخانه سبک برای DI پیشفرض .NET است که امکان اسکن خودکار اسمبلیها و ثبت سرویسها را با چند خط کد فراهم میکند. شما میتوانید کلاسها و اینترفیسها را به سادگی بر اساس namespace یا الگوهای دیگر شناسایی و به عنوان وابستگیها در پروژه تزریق کنید. این روش نه تنها کد شما را تمیزتر و منظمتر میکند، بلکه از بروز مشکلات ناشی از ثبت دستی جلوگیری میکند.
از طرف دیگر، Autofac یک کانتینر IoC بسیار قدرتمند است که کنترل و انعطاف بیشتری در تزریق وابستگیها به شما میدهد. با استفاده از Autofac، شما میتوانید وابستگیها را به صورت ماژولار مدیریت کنید، لایفتایم دقیق هر سرویس را تنظیم کرده و حتی از امکانات پیشرفتهای مانند AOP (Aspect-Oriented Programming) بهرهمند شوید. با این ابزارها، شما نه تنها کارهای تکراری را حذف میکنید، بلکه معماری پروژه خود را حرفهایتر و مقیاسپذیرتر میسازید.
🔗 نسخه کامل مقاله را میتوانید در اینجا مطالعه نمایید.
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، نظرات خود را با ما در قسمت کامنتها به اشتراک بگذارید.
#هوتن_همتی (لینکدین)
کانال تلگرام:
@SoftwarePhilosophy
______
DEV Community
Elevating Dependency Injection in .NET with Scrutor and Autofac
As .NET developers, we're all familiar with the challenges of managing dependency injection (DI) in...
🔥3👏2❤1🤩1
Forwarded from Software Philosophy
شمشیر دو لبه IEnumerable و yield return در C# : راهکارهایی برای بهینهسازی و جلوگیری از افت عملکرد
در زبان C#، وقتی میخواهیم با مجموعهای از دادهها یا توالیها کار کنیم، معمولاً از ساختارهای دادهای مثل لیستها یا آرایهها استفاده میکنیم. اما گاهی نیاز داریم دادهها را به صورت تنبل (Lazy) پردازش کنیم، یعنی فقط زمانی دادهها تولید شوند که واقعاً به آنها نیاز داریم. اینجاست که IEnumerable و yield return وارد میدان میشوند و میتوانند کار ما را بسیار سادهتر و بهینهتر کنند.
ابزار IEnumerable این امکان را به ما میدهد که به طور مؤثر بر روی مجموعهای از دادهها پیمایش کنیم، بدون اینکه نیاز باشد تمام دادهها را یکجا در حافظه بارگذاری کنیم. از طرف دیگر، yield return به ما اجازه میدهد که یک توالی از دادهها را مرحله به مرحله و در طول زمان تولید کنیم، به جای اینکه همهچیز یکجا آماده شود.
اما مشکل از آنجا شروع میشود که استفاده نادرست از این قابلیتها میتواند منجر به کاهش کارایی برنامه شود. مثلاً فرض کنید در حال استفاده از yield return هستید و هر بار که از دادههای تولید شده استفاده میکنید، محاسبات سنگینی برای تولید آن دادهها انجام میشود. اگر این محاسبات هر بار تکرار شوند، زمان اجرای برنامه افزایش مییابد و منابع سیستم بیمورد مصرف میشوند. یا در مواقعی که منابعی مثل فایلها یا دیتابیس را در دسترس داریم، استفاده نادرست از IEnumerable و اجرای به تعویق افتاده (Deferred Execution) ممکن است باعث خطاهایی در مدیریت منابع شود.
در این پست، ما دقیقاً به این مشکلات میپردازیم و نشان میدهیم که چطور میتوانیم با آگاهی و استفاده صحیح از IEnumerable و yield return هم از مزایای آنها بهرهمند شویم و هم از بروز مشکلات و افت عملکرد جلوگیری کنیم. همچنین چند مثال عملی از جمله کار با دیتابیس، فایلها، و لیستهای داده ارائه میدهیم که به شما کمک میکند این ابزارها را به درستی به کار بگیرید.
🔗 نسخه کامل مقاله را میتوانید اینجا مطالعه کنید.
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، نظرات خود را با ما در قسمت کامنتها به اشتراک بگذارید.
#هوتن_همتی (لینکدین)
کانال تلگرام:
@SoftwarePhilosophy
_______
در زبان C#، وقتی میخواهیم با مجموعهای از دادهها یا توالیها کار کنیم، معمولاً از ساختارهای دادهای مثل لیستها یا آرایهها استفاده میکنیم. اما گاهی نیاز داریم دادهها را به صورت تنبل (Lazy) پردازش کنیم، یعنی فقط زمانی دادهها تولید شوند که واقعاً به آنها نیاز داریم. اینجاست که IEnumerable و yield return وارد میدان میشوند و میتوانند کار ما را بسیار سادهتر و بهینهتر کنند.
ابزار IEnumerable این امکان را به ما میدهد که به طور مؤثر بر روی مجموعهای از دادهها پیمایش کنیم، بدون اینکه نیاز باشد تمام دادهها را یکجا در حافظه بارگذاری کنیم. از طرف دیگر، yield return به ما اجازه میدهد که یک توالی از دادهها را مرحله به مرحله و در طول زمان تولید کنیم، به جای اینکه همهچیز یکجا آماده شود.
اما مشکل از آنجا شروع میشود که استفاده نادرست از این قابلیتها میتواند منجر به کاهش کارایی برنامه شود. مثلاً فرض کنید در حال استفاده از yield return هستید و هر بار که از دادههای تولید شده استفاده میکنید، محاسبات سنگینی برای تولید آن دادهها انجام میشود. اگر این محاسبات هر بار تکرار شوند، زمان اجرای برنامه افزایش مییابد و منابع سیستم بیمورد مصرف میشوند. یا در مواقعی که منابعی مثل فایلها یا دیتابیس را در دسترس داریم، استفاده نادرست از IEnumerable و اجرای به تعویق افتاده (Deferred Execution) ممکن است باعث خطاهایی در مدیریت منابع شود.
در این پست، ما دقیقاً به این مشکلات میپردازیم و نشان میدهیم که چطور میتوانیم با آگاهی و استفاده صحیح از IEnumerable و yield return هم از مزایای آنها بهرهمند شویم و هم از بروز مشکلات و افت عملکرد جلوگیری کنیم. همچنین چند مثال عملی از جمله کار با دیتابیس، فایلها، و لیستهای داده ارائه میدهیم که به شما کمک میکند این ابزارها را به درستی به کار بگیرید.
🔗 نسخه کامل مقاله را میتوانید اینجا مطالعه کنید.
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، نظرات خود را با ما در قسمت کامنتها به اشتراک بگذارید.
#هوتن_همتی (لینکدین)
کانال تلگرام:
@SoftwarePhilosophy
_______
DEV Community
The Double-Edged Sword of IEnumerable and yield return in C#
IEnumerable and yield return are powerful features in C# that enable developers to create lazy...
👍2
یه تشکر ویژه از مسعود عزیز، Co-Founder پلتفرم Refhub بابت ارسال کتاب فوقالعاده "Design Driven Domain Learning." کتاب خیلی خوبی است و مفاهیم DDD را خیلی روان و ساده توضیح میدهد.
خوشحالم که Refhub همچین پلتفرمی را ساخته که میتوانیم هم کتابها را دانلود کنیم و هم خلاصهشان را بگیریم.
بزن بریم برای شروع یه کتاب خوب و تجربه یه چیز جدید! اگر دنبال منابع خوب هستید، حتماً به Refhub سر بزنید و با کد تخفیف "welcome" از تخفیف هم بهرهمند شوید.
کد تخفیف: welcome
https://refhub.ir/fa/
خوشحالم که Refhub همچین پلتفرمی را ساخته که میتوانیم هم کتابها را دانلود کنیم و هم خلاصهشان را بگیریم.
بزن بریم برای شروع یه کتاب خوب و تجربه یه چیز جدید! اگر دنبال منابع خوب هستید، حتماً به Refhub سر بزنید و با کد تخفیف "welcome" از تخفیف هم بهرهمند شوید.
کد تخفیف: welcome
https://refhub.ir/fa/
❤2🤯1