Forwarded from Software Philosophy
سرنخهای شرطی
در قسمت دوم چگونه کارآگاه کدهایمان باشیم، یاد میگیریم باتوجه به قابلیتهایی که ابزار Visual Studio به ما میدهد بتوانیم از سرنخهایمان بهتر استفاده کنیم.
در این مقاله یاد میگیریم که، زمانی که سرنخی را پیدا کردیم، آیا میخواهیم تا انتهای سرنخ را برسی کنیم یا برایمان همین اطلاعات که از این قسمت از سرنخ به دستآوردهایم کافی است؟ در واقع در این قسمت انواع Step ها را در زمان دیباگ کردن که به یک Breakpoint میرسیم را بررسی میکنیم.
برای این کار از ابزار View Result استفاده میکنیم تا بتوانیم در هر مرحله از برسیهایمان، نگاهی به مقادیری که قبلا داشتهایم هم داشتهباشیم.
هر کارآگاهی روش مختص به خودش را دارد مثلا، یک نفر ترجیح میدهد که اگر یک سرنخ شرایط خاصی را داشت بررسی کند، یک نفر دیگر اگر آن سرنخ چند بار تکرار شود! این امکانات در محیط Visual Studio تعبیه شده که آنها را با اسم Condition Breakpoint تعریف کردهاند.
همچنین ما به عنوان یک کارآگاه حرفهای گاهی اوقات نیاز به کمک داریم و انتظار داریم کارآگاهی هم که به ما کمک میکند دقیقا در همان قسمتهایی که ما مشخص کردهایم دنبال سرنخ باشد، این امکان در محیط توسعه ما وجود دارد و به اسم Export Breakpoint میشناسیمش و میتوانیم آن را با دیگران به اشتراک بگذاریم. این قابلیت دقیقا مکانهایی که ما مشخص کردهایم را برای Breakpoint هایمان در محیط توسعه شخص کمکدهنده نشان میدهد.
برای خواندن قدم دوم میتوانید از این لینک استفاده کنید.
قسمت اول را میتوانید اینجا بخوانید.
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، نظرات خود را با ما در قسمت کامنتها به اشتراک بگذارید.
#هوتن_همتی (لینکدین)
کانال تلگرام:
@SoftwarePhilosophy
________
در قسمت دوم چگونه کارآگاه کدهایمان باشیم، یاد میگیریم باتوجه به قابلیتهایی که ابزار Visual Studio به ما میدهد بتوانیم از سرنخهایمان بهتر استفاده کنیم.
در این مقاله یاد میگیریم که، زمانی که سرنخی را پیدا کردیم، آیا میخواهیم تا انتهای سرنخ را برسی کنیم یا برایمان همین اطلاعات که از این قسمت از سرنخ به دستآوردهایم کافی است؟ در واقع در این قسمت انواع Step ها را در زمان دیباگ کردن که به یک Breakpoint میرسیم را بررسی میکنیم.
برای این کار از ابزار View Result استفاده میکنیم تا بتوانیم در هر مرحله از برسیهایمان، نگاهی به مقادیری که قبلا داشتهایم هم داشتهباشیم.
هر کارآگاهی روش مختص به خودش را دارد مثلا، یک نفر ترجیح میدهد که اگر یک سرنخ شرایط خاصی را داشت بررسی کند، یک نفر دیگر اگر آن سرنخ چند بار تکرار شود! این امکانات در محیط Visual Studio تعبیه شده که آنها را با اسم Condition Breakpoint تعریف کردهاند.
همچنین ما به عنوان یک کارآگاه حرفهای گاهی اوقات نیاز به کمک داریم و انتظار داریم کارآگاهی هم که به ما کمک میکند دقیقا در همان قسمتهایی که ما مشخص کردهایم دنبال سرنخ باشد، این امکان در محیط توسعه ما وجود دارد و به اسم Export Breakpoint میشناسیمش و میتوانیم آن را با دیگران به اشتراک بگذاریم. این قابلیت دقیقا مکانهایی که ما مشخص کردهایم را برای Breakpoint هایمان در محیط توسعه شخص کمکدهنده نشان میدهد.
برای خواندن قدم دوم میتوانید از این لینک استفاده کنید.
قسمت اول را میتوانید اینجا بخوانید.
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، نظرات خود را با ما در قسمت کامنتها به اشتراک بگذارید.
#هوتن_همتی (لینکدین)
کانال تلگرام:
@SoftwarePhilosophy
________
DEV Community
Debugging in .NET apps using Visual Studio Part 2
After fantastic snow in Tehran on the 12 February morning I'm writing my second part of Debugging in...
❤1👍1
🤝 دعوت به همکاری تمام وقت
برنامه نویس مسلط به Blazor و آشنا به NET MAUI .
ارسال رزومه به همراه نمونه پروژه:
[email protected]
یا آیدی تلگرام
@NavidTavakoli_i
برنامه نویس مسلط به Blazor و آشنا به NET MAUI .
ارسال رزومه به همراه نمونه پروژه:
[email protected]
یا آیدی تلگرام
@NavidTavakoli_i
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