Forwarded from Software Philosophy
رسیدن به Small Team, Big Impact با تکنولوژیهای Cross-Platform
داستانِ داشتن یک تیم نرمافزاری همیشه یک داستان پر فراز و نشیب برای شرکتهای نرمافزاری است. رفت و آمد نیروها، تغییر مداوم تکنولوژیها، پیدا کردن نیروهای خوب و متعهد، همه اینها فقط قسمتی از چالشهایی است که یک تیم نرمافزاری با آن مواجه است. یکی از مواردی که این داستان را پیچیده میکند، وجود تکنولوژیهای مختلف و زبانهای مختلف است.
تیمی را فرض کنید که باید محصولی را بنویسد، در حالت سنتی، شما به تیمهایی با زبانهای متفاوت برای هر کار نیاز دارید، مثلا:
Backend: Java
Frontend: Angular
Android: Kotlin
iOS: Swift
IoT: C++
Windows: C#
اگر هر تیم قرار باشد از یک تکنولوژی با زبان متفاوت کار کند شما تقریبا به ۶ تیم نیاز دارید. همچنین اگر بخواهید تیم نسبت به رفت و آمد نیرو امن باشد باید برای هر کاری حداقل ۳ نفر در تیمتان داشته باشید. یک نفر با تسلط ۱۰۰٪، یک نفر با تسلط ۷۰٪ و یک نفر با تسلط ۵۰٪.
بنابراین برای داشتن یک تیم امن شما به حدود ۱۸ نفر نیرو نیاز خواهید داشت تا بتوانید دیسیپلینهای بالا را پوشش دهید.
شاخص «تحملپذیری» یک تیم نرمافزاری
این شاخص نشان میدهد تیم شما نسبت به رفت و آمد نیرو و یا تحمل تیم در مقابل حجم زیاد کار نامتوازن لحظهای چقدر است. هر چه افراد تیم به قسمتهای مختلف کد مسلطتر باشند این شاخص بالاتر است.
مقاله زیر نشان میدهد که چطور استفاده از یک تکنولوژی Cross-Platform میتواند به شما کمک کند به تحملپذیری بالاتری در تیم خود برسید و بتوانید این کار را حتی با تعداد برنامهنویس کمتر انجام دهید.
در حقیقت این مقاله برای یک مخاطب بیزنسی نوشته شدهاست تا توضیح دهد چرا از لحاظ بیزنسی استفاده از این تکنولوژیها بسیار به نفع شرکت است.
توضیحات دقیقتر را میتوانید در اینجا مطالعه کنید.
#مهران_داودی (لینکدین - بلاگ)
کانال تلگرام:
@SoftwarePhilosophy
_____
داستانِ داشتن یک تیم نرمافزاری همیشه یک داستان پر فراز و نشیب برای شرکتهای نرمافزاری است. رفت و آمد نیروها، تغییر مداوم تکنولوژیها، پیدا کردن نیروهای خوب و متعهد، همه اینها فقط قسمتی از چالشهایی است که یک تیم نرمافزاری با آن مواجه است. یکی از مواردی که این داستان را پیچیده میکند، وجود تکنولوژیهای مختلف و زبانهای مختلف است.
تیمی را فرض کنید که باید محصولی را بنویسد، در حالت سنتی، شما به تیمهایی با زبانهای متفاوت برای هر کار نیاز دارید، مثلا:
Backend: Java
Frontend: Angular
Android: Kotlin
iOS: Swift
IoT: C++
Windows: C#
اگر هر تیم قرار باشد از یک تکنولوژی با زبان متفاوت کار کند شما تقریبا به ۶ تیم نیاز دارید. همچنین اگر بخواهید تیم نسبت به رفت و آمد نیرو امن باشد باید برای هر کاری حداقل ۳ نفر در تیمتان داشته باشید. یک نفر با تسلط ۱۰۰٪، یک نفر با تسلط ۷۰٪ و یک نفر با تسلط ۵۰٪.
بنابراین برای داشتن یک تیم امن شما به حدود ۱۸ نفر نیرو نیاز خواهید داشت تا بتوانید دیسیپلینهای بالا را پوشش دهید.
شاخص «تحملپذیری» یک تیم نرمافزاری
این شاخص نشان میدهد تیم شما نسبت به رفت و آمد نیرو و یا تحمل تیم در مقابل حجم زیاد کار نامتوازن لحظهای چقدر است. هر چه افراد تیم به قسمتهای مختلف کد مسلطتر باشند این شاخص بالاتر است.
مقاله زیر نشان میدهد که چطور استفاده از یک تکنولوژی Cross-Platform میتواند به شما کمک کند به تحملپذیری بالاتری در تیم خود برسید و بتوانید این کار را حتی با تعداد برنامهنویس کمتر انجام دهید.
در حقیقت این مقاله برای یک مخاطب بیزنسی نوشته شدهاست تا توضیح دهد چرا از لحاظ بیزنسی استفاده از این تکنولوژیها بسیار به نفع شرکت است.
توضیحات دقیقتر را میتوانید در اینجا مطالعه کنید.
#مهران_داودی (لینکدین - بلاگ)
کانال تلگرام:
@SoftwarePhilosophy
_____
👍2🔥2
تو این مقاله یاد میگیریم که محیط debug و relese چه نوع محیطی هستن و هر کدام در کدام شرایط باید استفاده بشوند همچنین به ابزارهایی که به ما کمک میکنه که تا بتونیم برنامه های .NET خودمون رو بهتر Debug کنیم آشنا میشیم از جمله Breakpoint ها و ... .
امیدوارم این مقاله بتونه در این زمینه کمکتون کنه و منتظر مقالات بعدی هم باشین.☺️🌹
https://dev.to/hootanht/debugging-in-net-apps-using-visual-studio-part-1-n8c
امیدوارم این مقاله بتونه در این زمینه کمکتون کنه و منتظر مقالات بعدی هم باشین.☺️🌹
https://dev.to/hootanht/debugging-in-net-apps-using-visual-studio-part-1-n8c
DEV Community
Debugging in .NET apps using Visual Studio Part 1
I’m getting back from cycling right now and I think about the relationship between car and bicycle in...
❤2👍2
پرتاب خطا در موتور نرم افزار
سلام سلام☺️🌹
احتمالا با ترمز دستی ماشین آشنایی داریم و میدونیم کارکردش چی هست در ماشین، اما اگر بخوام در بک جمله کارکردش رو بگم : ماشین در هر شرایطی که باشد وقتی ترمز دستی را بکشیم، ماشین به ایست کامل(بی حرکت) می رسد.
اما یه سوال مهم چه زمانی از ترمز دستی استفاده کنیم؟
یک نفر ممکن است پشت چراغ قرمز حداقل 60 ثانیه از ترمز دستی استفاده کند، در حالی که یک نفر دیگر شاید پشت چراغ قرمز حداقل 5 ثانیه هم از ترمز دستی استفاده کند.
پس طبق شرایط مختلف که اون فرد اون رو تعیین میکنه میتونه هر لحظه و در هر مکان ماشین رو به ایست کامل برسونه.
این مفهوم ترمز دستی خیلی شبیه کلمه کلیدی Throw در سی شارپ هست، با این کلمه کلیدی میتونیم یک خطایی که خودمان می خواهیم این خطا در این شرایط و این لحظه ایجاد شود در برنامه ایجاد کنیم و به برنامه خودمان اطلاع بدیم که الان این خطا رخ داده است.
برای آشنایی بیشتر با این کلمه کلیدی و این که چطور در برنامه هامون خطا پرتاب کنیم میتونید از مقاله ای که نوشتم استفاده کنید.
لینک مقاله در dev.to
https://dev.to/hootanht/throw-exception-in-c-2kjb
لینک مقاله در Medium.com
https://medium.com/@hootanht/throw-exception-in-c-eb5def8b949e
#csharp
سلام سلام☺️🌹
احتمالا با ترمز دستی ماشین آشنایی داریم و میدونیم کارکردش چی هست در ماشین، اما اگر بخوام در بک جمله کارکردش رو بگم : ماشین در هر شرایطی که باشد وقتی ترمز دستی را بکشیم، ماشین به ایست کامل(بی حرکت) می رسد.
اما یه سوال مهم چه زمانی از ترمز دستی استفاده کنیم؟
یک نفر ممکن است پشت چراغ قرمز حداقل 60 ثانیه از ترمز دستی استفاده کند، در حالی که یک نفر دیگر شاید پشت چراغ قرمز حداقل 5 ثانیه هم از ترمز دستی استفاده کند.
پس طبق شرایط مختلف که اون فرد اون رو تعیین میکنه میتونه هر لحظه و در هر مکان ماشین رو به ایست کامل برسونه.
این مفهوم ترمز دستی خیلی شبیه کلمه کلیدی Throw در سی شارپ هست، با این کلمه کلیدی میتونیم یک خطایی که خودمان می خواهیم این خطا در این شرایط و این لحظه ایجاد شود در برنامه ایجاد کنیم و به برنامه خودمان اطلاع بدیم که الان این خطا رخ داده است.
برای آشنایی بیشتر با این کلمه کلیدی و این که چطور در برنامه هامون خطا پرتاب کنیم میتونید از مقاله ای که نوشتم استفاده کنید.
لینک مقاله در dev.to
https://dev.to/hootanht/throw-exception-in-c-2kjb
لینک مقاله در Medium.com
https://medium.com/@hootanht/throw-exception-in-c-eb5def8b949e
#csharp
DEV Community
Throw Exception in C#
Hello, today we want to talk about the keyword Throw and see where this word came from and what it...
👍3
Forwarded from Functionland Announcements (Kel ~ Does Not PM first)
Join us and learn how Blazor MAUI can help you maximize code sharing across Web, Android, iOS, Windows, macOS and more.
This is a must-see event for anyone who knows C#! Come see how Blazor worked its magic for Functionland’s FxFiles app!📲
Gain valuable insights on FxFiles development from our very own CEO Keyvan M.Sadeghi and software architecture Mehran Davoudi.💫
bit.ly/BlazorFxFiles
@functionland
This is a must-see event for anyone who knows C#! Come see how Blazor worked its magic for Functionland’s FxFiles app!📲
Gain valuable insights on FxFiles development from our very own CEO Keyvan M.Sadeghi and software architecture Mehran Davoudi.💫
bit.ly/BlazorFxFiles
@functionland
👍1
Forwarded from Software Philosophy
الگوی "try-catch-finally" به زبان ساده
الگوی "try-catch-finally" در سیشارپ یک ساختار برنامهنویسی است که برای مدیریت خطاها استفاده میشود. این دستور در سیشارپ نسخه 1.0 معرفی شد و راهی برای مدیریت و بازیابی خطاهایی که ممکن است در حین اجرای یک برنامه رخ دهد ارائه میدهد.
فلسفهی پشت الگوی «try-catch-finally» این است که برنامهنویسان را قادر میسازد تا کدی بنویسند که بتواند خطاهای غیرمنتظره را به شیوهای زیبا و کنترل شده مدیریت کند.
با گرفتن و رسیدگی به خطاها، یک برنامه میتواند از خراب شدن جلوگیری کند و بازخورد مفیدی را در مورد اشتباه پیشآمده در اختیار کاربر قرار دهد.
دستور "finally" برای انجام عملیات پاکسازی، مانند بستن فایلها یا آزاد کردن منابع، مفید است، که باید بدون توجه به اینکه آیا خطایی وجود دارد یا خیر، انجام شود.
به طور کلی، الگوی "try-catch-finally" یک ابزار قدرتمند برای مدیریت خطاها در برنامههای سیشارپ است و بخشی ضروری از هر برنامه قوی و قابل اعتمادی است.
برای درک این دستور به زبان ساده میتوانید از این لینک استفاده کنید.
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، نظرات خود را با ما در قسمت کامنتها به اشتراک بگذارید.
#هوتن_همتی (لینکدین)
کانال تلگرام:
@SoftwarePhilosophy
________
الگوی "try-catch-finally" در سیشارپ یک ساختار برنامهنویسی است که برای مدیریت خطاها استفاده میشود. این دستور در سیشارپ نسخه 1.0 معرفی شد و راهی برای مدیریت و بازیابی خطاهایی که ممکن است در حین اجرای یک برنامه رخ دهد ارائه میدهد.
فلسفهی پشت الگوی «try-catch-finally» این است که برنامهنویسان را قادر میسازد تا کدی بنویسند که بتواند خطاهای غیرمنتظره را به شیوهای زیبا و کنترل شده مدیریت کند.
با گرفتن و رسیدگی به خطاها، یک برنامه میتواند از خراب شدن جلوگیری کند و بازخورد مفیدی را در مورد اشتباه پیشآمده در اختیار کاربر قرار دهد.
دستور "finally" برای انجام عملیات پاکسازی، مانند بستن فایلها یا آزاد کردن منابع، مفید است، که باید بدون توجه به اینکه آیا خطایی وجود دارد یا خیر، انجام شود.
به طور کلی، الگوی "try-catch-finally" یک ابزار قدرتمند برای مدیریت خطاها در برنامههای سیشارپ است و بخشی ضروری از هر برنامه قوی و قابل اعتمادی است.
برای درک این دستور به زبان ساده میتوانید از این لینک استفاده کنید.
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، نظرات خود را با ما در قسمت کامنتها به اشتراک بگذارید.
#هوتن_همتی (لینکدین)
کانال تلگرام:
@SoftwarePhilosophy
________
Linkedin
Try-catch-finally pattern in the simplest human and machine language
In C#, the try-catch-finally pattern is used to handle exceptions, which are unexpected events that occur during the execution of a program. The try block contains the code that may throw an exception, while the catch block contains the code that will handle…
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