مفهوم Technical Debt یا «بدهی فنی» مفهومی است که اخیرا زیاد از آن در پروژههای نرمافزاری استفاده میشود. وقتی شما کدی مینویسید که کار میکند ولی نیاز به بازنویسی و Refactoring دارد و فعلا آن را کامیت میکنید، کار خود را انجام دادهاید و تسک شما تمام شدهاست. ولی در حقیقت یک بدهی به نام شما به سیستم به وجود آمده است و باید در وقت مناسب بدهی خود را صاف کنید! شما باید در اولین فرصتی که میتوانید با انجام بازنویسی و Refactoring بدهی خود را به سیستم بپردازید. همچنین، همیشه باید حواستان باشد که بدهیهایتان به اندازهای زیاد نشود که از پس آن بر نیایید.
پست زیر روشی را در TFS ارائه داده است که بتوانید مفهوم Technical Debt و چرخه کاری آن را در فرایند توسعه نرمافزار خود بگنجانید.
https://www.c-sharpcorner.com/article/managing-technical-debt-using-vsts
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
پست زیر روشی را در TFS ارائه داده است که بتوانید مفهوم Technical Debt و چرخه کاری آن را در فرایند توسعه نرمافزار خود بگنجانید.
https://www.c-sharpcorner.com/article/managing-technical-debt-using-vsts
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
C-Sharpcorner
Managing Technical Debt Using VSTS
In this article, you will learn all about Technical Debt and how to manage it using VSTS.
#پست_مجدد این پست تا به حال بیش از ۳۱۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
اتفاقی که باید در وب میافتاد بالاخره افتاد! گوگل، مایکروسافت و موزیلا در یک تیم مشترک تصمیم گرفتهاند تا بر روی یک باینری فرمت جدید برای وب کار کنند. این فرمت WebAssembly نام داره و تکنولوژی آن بر بستر C++ سوار شده همچنین گفته شده سرعت Decode در آن ۲۳ برابر سریعتر است.
https://techcrunch.com/2015/06/17/google-microsoft-mozilla-and-others-team-up-to-launch-webassembly-a-new-binary-format-for-the-web/
@SoftwarePhilosophy
___
https://techcrunch.com/2015/06/17/google-microsoft-mozilla-and-others-team-up-to-launch-webassembly-a-new-binary-format-for-the-web/
@SoftwarePhilosophy
___
TechCrunch
Google, Microsoft, Mozilla And Others Team Up To Launch WebAssembly, A New Binary Format For The Web
Google, Microsoft, Mozilla and some of the engineers on the WebKit project today announced that they have teamed up to launch WebAssembly, a new binary format for compiling applications for the web.
زبان C++ کماکان یکی از قویترین زبانهایی است که تا به امروز ساخته شده است. خالق این زبان Bjarne Stroustrup اخیرا یک پیشنویس ارائه داده است که در آن در مورد اهداف نسخه بعدی یعنی C++ 17 صبحت کردهاست. مهمترین اهداف طراحی در این نسخه عبارتند از:
• بهبود پشتیبانی از large-scale dependable software
• بهرهمند شدن از ماژولهای سطح بالاتر برای concurrency
• ساده سازی هسته زبان
لینک زیر مصاحبهای است که با Stroustrup در مورد این پیشنویس انجام شده است.
https://www.infoq.com/news/2015/04/stroustrup-cpp17-interview
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
• بهبود پشتیبانی از large-scale dependable software
• بهرهمند شدن از ماژولهای سطح بالاتر برای concurrency
• ساده سازی هسته زبان
لینک زیر مصاحبهای است که با Stroustrup در مورد این پیشنویس انجام شده است.
https://www.infoq.com/news/2015/04/stroustrup-cpp17-interview
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
InfoQ
Stroustrup: Thoughts on C++17 - An Interview
Bjarne Stroustrup, designer and original implementor of C++, has recently circulated a draft aimed at “stimulating a discussion” about C++17 design goals and possible new features,. such as modules, concepts, and ranges. InfoQ has taken the opportunity to…
Forwarded from Software Philosophy
اگر دوستانی دارید که نه تنها برنامه نویس هستند، بلکه اعتقاد دارند «مهندس نرمافزار» هم هستند، آنها را به کانال @SoftwarePhilosophy دعوت کنید و این پیغام را برای آنها Forward کنید.
پیاده سازی Multi-Tenant Application و مدیریت دادههای مشتریان مختلف در یک بانک اطلاعاتی، پیچیدگیهای فراوانی دارد. در نسخه SQL Server 2016 امکانی به نام RLS (Row-Level Security) اضافه شده که این موضوع را بسیار سادهتر کرده است. لینک زیر توضیح میدهد که چگونه با استفاده از این امکان میتوان امنیت دادهها را در سطح رکورد فراهم کرد. با استفاده از این قابلیت میتوان برنامههایی برای چندین مشتری که اطلاعات آنها در یک بانک اطلاعاتی نگهداری می شوند، تولید کرد.
https://www.mssqltips.com/sqlservertip/4004/sql-server-2016-row-level-security-introduction
#محمدمحبتی
لینکدین :
https://www.linkedin.com/in/mohabbati
کانال تلگرام:
@SoftwarePhilosophy
___
https://www.mssqltips.com/sqlservertip/4004/sql-server-2016-row-level-security-introduction
#محمدمحبتی
لینکدین :
https://www.linkedin.com/in/mohabbati
کانال تلگرام:
@SoftwarePhilosophy
___
Mssqltips
SQL Server 2016 Row Level Security Introduction
Learn how to use the new feature Row Level Security in SQL Server 2016.
فلسفه Spacive Design جایگزینی برای Responsive Design
چند سالی است که طراحی Responsive به عنوان یکی از مهمترین فلسفههای طراحی برنامههای جدید شناخته میشود. اگر به علت ظهور این مدل تفکر در طراحی فکر کنید ظهور دستگاههایی با اندازههای مختلف و با امکانات شبیه هم باعث خلق چنین تفکری شده، نوعی طراحی که بتوان کاربری مناسبی روی دستگاههای با اندازه مختلف داشته باشد.
بنابراین ظهور یک دستگاه میتواند باعث ایجاد فلسفههای جدید طراحی شود. در یک سال اخیر به نظر میرسد یک مدیای جدید در راه است. دستگاههایی که امکان ایجاد واقعیت مجازی دارند. شرکتهای بزرگی مانند گوگل، سونی و مایکروسافت در حال هدایت این بازار هستند. به نظر من ورود این دستگاهها به بازار باعث ایجاد فلسفههای جدیدی در طراحی میشود.
هنوز خیلی زود است که بتوان در مورد آینده طراحی UI/UX اظهار نظر کرد. ولی به نظر من یکی از آینده های محتمل برای طراحی UI/UX نسل آینده نرمافزارها طراحی «فضاگرا» است. طراحی فضاگرا نوعی طراحی نرمافزار است که به آن این امکان را میدهد تا قسمتهای مختلف خود را در فضای اطراف کاربر پخش کند. برای مثال فرض کنید هنگام کار با فیسبوک، تایملاین را روی دیوار روبروی خود ببینید و نوتیفیکیشنها رو روی ساعد خود ببینید. به این ترتیب نرمافزار فیسبوک توانسته در فضای اطراف شما مستقر شود.
https://mehrandvd.me/2016/07/12/hololens-spacive-design-new-era-uiux/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
چند سالی است که طراحی Responsive به عنوان یکی از مهمترین فلسفههای طراحی برنامههای جدید شناخته میشود. اگر به علت ظهور این مدل تفکر در طراحی فکر کنید ظهور دستگاههایی با اندازههای مختلف و با امکانات شبیه هم باعث خلق چنین تفکری شده، نوعی طراحی که بتوان کاربری مناسبی روی دستگاههای با اندازه مختلف داشته باشد.
بنابراین ظهور یک دستگاه میتواند باعث ایجاد فلسفههای جدید طراحی شود. در یک سال اخیر به نظر میرسد یک مدیای جدید در راه است. دستگاههایی که امکان ایجاد واقعیت مجازی دارند. شرکتهای بزرگی مانند گوگل، سونی و مایکروسافت در حال هدایت این بازار هستند. به نظر من ورود این دستگاهها به بازار باعث ایجاد فلسفههای جدیدی در طراحی میشود.
هنوز خیلی زود است که بتوان در مورد آینده طراحی UI/UX اظهار نظر کرد. ولی به نظر من یکی از آینده های محتمل برای طراحی UI/UX نسل آینده نرمافزارها طراحی «فضاگرا» است. طراحی فضاگرا نوعی طراحی نرمافزار است که به آن این امکان را میدهد تا قسمتهای مختلف خود را در فضای اطراف کاربر پخش کند. برای مثال فرض کنید هنگام کار با فیسبوک، تایملاین را روی دیوار روبروی خود ببینید و نوتیفیکیشنها رو روی ساعد خود ببینید. به این ترتیب نرمافزار فیسبوک توانسته در فضای اطراف شما مستقر شود.
https://mehrandvd.me/2016/07/12/hololens-spacive-design-new-era-uiux/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
مفهوم Tow way bindig یکی از مهمترین امکاناتی است که فریم ورک AngularJS در اختیار برنامهنویسان قرار میدهد. این امکان به این صورت است که با تغییر view model، scope model نیز تغییر میکند و بلعکس. کاری که این فریم ورک برای ایجاد ارتباط بین view و scope model انجام میدهد به این صورت است که زمانیکه scop model تغییر می کند، به صورت خودکار $scope.$apply() صدا زده می شود که متعاقب آن $rootScope.$digest() فراخوانی میشود. با فراخوانی این سرویس، سیکل digest روی $scopeRoot شروع به کار کرده و تمام سرویسهای $watch را اجرا می کند. سرویس $watch مقدار view Model را با scope model مقایسه و مقادیر جدید را جایگزین میکند.
مقاله زیر توضیحات کاملی درباره سرویس های $apply و $digest داده و چرخه وصل کردن view به scope را به طور کامل شرح داده است.
https://www.sitepoint.com/understanding-angulars-apply-digest
#مریم_داودی
لینکدین:
https://www.linkedin.com/in/maryam-davoudi-7913565a
کانال تلگرام:
@SoftwarePhilosophy
___
مقاله زیر توضیحات کاملی درباره سرویس های $apply و $digest داده و چرخه وصل کردن view به scope را به طور کامل شرح داده است.
https://www.sitepoint.com/understanding-angulars-apply-digest
#مریم_داودی
لینکدین:
https://www.linkedin.com/in/maryam-davoudi-7913565a
کانال تلگرام:
@SoftwarePhilosophy
___
Sitepoint
Understanding Angular's $apply() and $digest() - SitePoint
This article explores Angular's $apply() function and the $digest cycle. The reader will learn when $apply() must be called manually.
کپی کردن کامل یک object معمولا یا از طریق Serialization انجام میشود یا از طریق Reflection. همیشه Serialization محدودیتهای خاص خود را دارد. برای مثال در XmlSerialization ارجاعات حلقهای (Circular References) باعث مشکل میشوند. همچنین سرعت کپی از طریق سریالایزیشن نسبت به Reflection بسیار کمتر است. از طرفی سرعت کپی شدن از طریق Reflection هنوز نسبت به کپی دستی (manually copy functions) کمتر است.
مقاله جدید روش جدیدی را برای کپی اشیا از طریق Expression Trees در زبان C# ارائه دادهاست که هم قدرت Reflection را دارد و سرعت آن تقریبا برابر با روش «کپی دستی» است. خواندن این مقاله روشی که Expression Tree از آن استفاده میکند را بسیار خوب توضیح داده است و در مثالهای عملی قدرت این ساختار را نمایش داده است.
https://www.codeproject.com/Articles/1111658/Fast-Deep-Copy-of-Objects-by-Expression-Trees-Csha
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
مقاله جدید روش جدیدی را برای کپی اشیا از طریق Expression Trees در زبان C# ارائه دادهاست که هم قدرت Reflection را دارد و سرعت آن تقریبا برابر با روش «کپی دستی» است. خواندن این مقاله روشی که Expression Tree از آن استفاده میکند را بسیار خوب توضیح داده است و در مثالهای عملی قدرت این ساختار را نمایش داده است.
https://www.codeproject.com/Articles/1111658/Fast-Deep-Copy-of-Objects-by-Expression-Trees-Csha
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
Codeproject
Fast Deep Copy by Expression Trees (C#)
Deep cloning code made with Linq.Expressions. Tests and test classes are enclosed.
#پست_مجدد این پست تا به حال بیش از ۴۳۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
یک پروژه برای تحلیل جهان هستی!
در حال حاضر ۱۲ ترابایت اطلاعات در یک دیتابیس به نام SkyServer ذخیره شده است که اطلاعات وضعیت کهشکانها رو با جزئیات بالا نگه میداره و به روز میشه. این مقاله نشون میده که چطور اطلاعات کهکشانها در این دیتابیس ذخیره شده و معماری فیزیکی دیتابیسها و سختافزار آنها چطور طراحی شده.
https://blogs.technet.microsoft.com/dataplatforminsider/2016/03/10/mapping-the-universe-with-sql-server/
@SoftwarePhilosophy
___
در حال حاضر ۱۲ ترابایت اطلاعات در یک دیتابیس به نام SkyServer ذخیره شده است که اطلاعات وضعیت کهشکانها رو با جزئیات بالا نگه میداره و به روز میشه. این مقاله نشون میده که چطور اطلاعات کهکشانها در این دیتابیس ذخیره شده و معماری فیزیکی دیتابیسها و سختافزار آنها چطور طراحی شده.
https://blogs.technet.microsoft.com/dataplatforminsider/2016/03/10/mapping-the-universe-with-sql-server/
@SoftwarePhilosophy
___
Microsoft SQL Server Blog
Mapping the Universe with SQL Server - Microsoft SQL Server Blog
This blog post was co-authored by Joseph Sirosh, Corporate Vice President, and Rimma V. Nehme, Principal Software Engineer, at the Data Group at Microsoft. Figure 1: Visible objects of the Sloan Digital Sky Survey (SDSS) DR7 dataset. Over the last 15 years…
عبارت Transpiler این روزها در دنیای مدرن برنامهنویسی زیاد استفاده میشود. عمل Transpiling در حقیقت تبدیل یک کد از یک زبان به یک زبان هم سطح دیگر است.
این در حالی است که مفهوم Compiling یک مفهوم کلیتر است و به معنی تبدیل یک زبان به هر چیز دیگری (مثل یک زبان نزدیک به ماشین یا زبان همسطح) است. برای مثال عمل تبدیل یک کد TypeScript به JavaScript توسط یک Transpiler انجام میشود. زیرا این دو زبان از لحاظ سطح انتزاع شبیه هم هستند. ولی عمل تبدیل کد C# به IL یا تبدیل کد C++ به binary code و یا تبدیل Java به byte code یک کامپایل محسوب میشود. زیرا این تبدیل به یک زبان نزدیک به ماشین است.
در لینک زیر میتوانید این مفاهیم را با جزئیات بیشتری مطالعه کنید.
https://www.stevefenton.co.uk/2012/11/compiling-vs-transpiling
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
این در حالی است که مفهوم Compiling یک مفهوم کلیتر است و به معنی تبدیل یک زبان به هر چیز دیگری (مثل یک زبان نزدیک به ماشین یا زبان همسطح) است. برای مثال عمل تبدیل یک کد TypeScript به JavaScript توسط یک Transpiler انجام میشود. زیرا این دو زبان از لحاظ سطح انتزاع شبیه هم هستند. ولی عمل تبدیل کد C# به IL یا تبدیل کد C++ به binary code و یا تبدیل Java به byte code یک کامپایل محسوب میشود. زیرا این تبدیل به یک زبان نزدیک به ماشین است.
در لینک زیر میتوانید این مفاهیم را با جزئیات بیشتری مطالعه کنید.
https://www.stevefenton.co.uk/2012/11/compiling-vs-transpiling
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
Forwarded from Iran .Net
"به خومان اهمیت بدهیم"
کسانی که در حوزه توسعه نرم افزار کار می کنند عموما از سبک زندگی مناسبی برخوردار نیستند. فشار کاری زیاد، انتظارات بالای سایرین از ما، رقابت شدید، نیاز به یادگیری مداوم و به روز ماندن، ساعت ها خیره شدن به مانیتور و فعالیت فیزیکی بسیار پایین، عدم تعامل موثر با سایرین و ... از ویژگی های "حرفه" ماست. این ها در کنار مشکلات جدی تر زندگی مانند مسائل مالی، رابطه و دغدغه های زندگی بسیار سنگین تر هم خواهند شد.
اسکات هنسلمن در وبلاگ اش راهکار هایی را که خودش برای حل این مسائل به کار بسته را به اشتراک گذاشته است.
https://www.hanselman.com/blog/SelfcareMattersPayYourselfFirst.aspx
کسانی که در حوزه توسعه نرم افزار کار می کنند عموما از سبک زندگی مناسبی برخوردار نیستند. فشار کاری زیاد، انتظارات بالای سایرین از ما، رقابت شدید، نیاز به یادگیری مداوم و به روز ماندن، ساعت ها خیره شدن به مانیتور و فعالیت فیزیکی بسیار پایین، عدم تعامل موثر با سایرین و ... از ویژگی های "حرفه" ماست. این ها در کنار مشکلات جدی تر زندگی مانند مسائل مالی، رابطه و دغدغه های زندگی بسیار سنگین تر هم خواهند شد.
اسکات هنسلمن در وبلاگ اش راهکار هایی را که خودش برای حل این مسائل به کار بسته را به اشتراک گذاشته است.
https://www.hanselman.com/blog/SelfcareMattersPayYourselfFirst.aspx
Hanselman
Self-care matters: Pay yourself first
I was meeting with a mentee today and she was commenting how stressed out she ...
عملگرهای null-conditional یکی از جذابترین امکاناتی است که به C# 6.0 اضافه شدهاند. برای همه برنامهنویسان همیشه چک کردن مقدار null بسیار زمانگیر است و عموما خوانایی کد را نیز کم میکند. مخصوصا اگر قرار باشد برای عبارتی مانند
person.Children[2].FavoriteSinger.SendMessage("Hello")
بخواهید null بودن را چک کنید.
آیا person==null است؟ اگر نیست، آیا Children اصلا آیتم 2 دارد و null نیست، اگر نیست، خواننده محبوب دارد؟
برای بررسی درست و نوشتن یک کد Null Safe باید حداقل ۱۰ خط کد نوشته شود. اما با ویژگی جدیدی که در C# 6.0 اضافه شده میتوانید از کد یک خطی زیر استفاده کنید:
Person?.Children?[2]?.FavoriteSinger?.SendMessage("Hello")
برای آشنایی کامل با این قابلیت و حالتهای مختلفی که میتواند کدهای شما را سادهتر کند لینک زیر توضیحات خلاصه و جامعی دادهاست.
https://msdn.microsoft.com/en-us/library/dn986595.aspx
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
person.Children[2].FavoriteSinger.SendMessage("Hello")
بخواهید null بودن را چک کنید.
آیا person==null است؟ اگر نیست، آیا Children اصلا آیتم 2 دارد و null نیست، اگر نیست، خواننده محبوب دارد؟
برای بررسی درست و نوشتن یک کد Null Safe باید حداقل ۱۰ خط کد نوشته شود. اما با ویژگی جدیدی که در C# 6.0 اضافه شده میتوانید از کد یک خطی زیر استفاده کنید:
Person?.Children?[2]?.FavoriteSinger?.SendMessage("Hello")
برای آشنایی کامل با این قابلیت و حالتهای مختلفی که میتواند کدهای شما را سادهتر کند لینک زیر توضیحات خلاصه و جامعی دادهاست.
https://msdn.microsoft.com/en-us/library/dn986595.aspx
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
یکی از مهمترین قسمت های برنامه نویسی خطا یابی یا همان debugging است. در گذشته برای خطا یابی از دستور print() استفاده می شد که بسیار زمان بر و طاقت فرسا بود. امروزه ابزارهایی برای debug طراحی شده که با ساده کردن خطا یابی باعث سرعت بیشتر برنامه نویسی شده اند. آشنایی و استفاده از این ابزارها لذت برنامه نویسی را برای شما صد چندان می کند.
در Visual Studio هفت ابزار برای خطا یابی وجود دارد.
• DataTip
• Autos Window
• Local Window
• Watch Windows
• QuickWatch dialog
• Parallel Watch Windows
• Immediate Window
مقاله زیر به روشی مناسب این 7 ابزار را معرفی کرده و شرح داده است.
https://blogs.msdn.microsoft.com/visualstudioalm/2016/07/15/7-ways-to-look-at-the-values-of-variables-while-debugging-in-visual-studio
#مریم_داودی
لینکدین:
https://www.linkedin.com/in/maryam-davoudi-7913565a
کانال تلگرام:
@SoftwarePhilosophy
___
در Visual Studio هفت ابزار برای خطا یابی وجود دارد.
• DataTip
• Autos Window
• Local Window
• Watch Windows
• QuickWatch dialog
• Parallel Watch Windows
• Immediate Window
مقاله زیر به روشی مناسب این 7 ابزار را معرفی کرده و شرح داده است.
https://blogs.msdn.microsoft.com/visualstudioalm/2016/07/15/7-ways-to-look-at-the-values-of-variables-while-debugging-in-visual-studio
#مریم_داودی
لینکدین:
https://www.linkedin.com/in/maryam-davoudi-7913565a
کانال تلگرام:
@SoftwarePhilosophy
___
Microsoft
7 Ways to Look at the Values of Variables While Debugging in Visual Studio
Learn to use Visual Studio, Visual Studio Team Services, Application Insights and Team Foundation Server to decrease rework, increase transparency into your application and increase the rate at which you can ship high quality software throughout the application…
آینده زبان C# به چه سمتی میرود؟ این زبان از نسخه ۳ به بعد، در هر نسخه خود امکانات جدیدی را به دنیای برنامهنویسی شیگرای مدرن معرفی کرد. از زمانی که کامپایلر Roslyn به صورت اوپن-سورس معرفی شد و همچنین پلتفرم Xamarin به صورت رایگان در اختیار برنامهنویسان قرار گرفت، اتفاقات جالب زیر محقق شدهاست:
• You can write C# in any editor you want
• C# is open source now
• C# runs on Windows, Mac, and Linux
• C# can be used to build Windows client apps, Windows Store apps, iOS apps, and Android aps and can also be used to build backend and middle-tier frameworks and libraries.
• Supports all IDEs and editors
• All the linters and analysis tools
• All the fixing and refactoring and code generation tools
• All the scripting and all the REPLs
مقاله زیر سیر تکامل این زبان را بررسی کرده است و کمی درباره سمت سوی آینده این زبان صحبت کردهاست.
https://www.c-sharpcorner.com/article/what-is-the-future-of-C-Sharp
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
• You can write C# in any editor you want
• C# is open source now
• C# runs on Windows, Mac, and Linux
• C# can be used to build Windows client apps, Windows Store apps, iOS apps, and Android aps and can also be used to build backend and middle-tier frameworks and libraries.
• Supports all IDEs and editors
• All the linters and analysis tools
• All the fixing and refactoring and code generation tools
• All the scripting and all the REPLs
مقاله زیر سیر تکامل این زبان را بررسی کرده است و کمی درباره سمت سوی آینده این زبان صحبت کردهاست.
https://www.c-sharpcorner.com/article/what-is-the-future-of-C-Sharp
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
C-Sharpcorner
What Is The Future Of C#
In this video, Microsoft's Dustin and Mads talk about the future of C# language and new features announced in C# 7.
#پست_مجدد این پست تا به حال بیش از ۲۷۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
برای افرادی که برنامه نویسی IoT علاقه دارند، Raspberry Pi 3 یک سخت افزار هیجان انگیز به حساب میآید. مهمترین ویژگی این مدل نسبت به مدلهای قبلی وجود Builtin WiFi در آن میباشد. در این مقاله از Scott Hanselman نشان داده شده که چطور با استفاده از زبان JavaScript و VS Code میتوان روی این سختافزار کد نوشت.
https://www.hanselman.com/blog/BuildingVisualStudioCodeOnARaspberryPi3.aspx
@SoftwarePhilosophy
___
https://www.hanselman.com/blog/BuildingVisualStudioCodeOnARaspberryPi3.aspx
@SoftwarePhilosophy
___
Hanselman
Building Visual Studio Code on a Raspberry Pi 3
I picked up a Raspberry Pi 3 recently for MarchIsForMakers. The Raspberry Pi 3 is a great starter computer for makers ...
هرم شیطان یا Pyramid of Doom یک مشکل معروف در دنیای برنامهنویسی است. این مشکل معمولا وقتی پیش میآید که برنامهنویس مجبور است تعداد زیادی if تو در تو بنویسد، در این صورت با رعایت تو رفتگیهای کد، کد شما از دور یک هرم خیلی بزرگ به نظر میرسد. یک نمونه متداول چک کردن مقادیر null به وسیله if های تو در تو است. این هرم هنگام استفاده از callback های متوالی نیز پیش میآید. در برنامه نویسی به زبان JavaScript حتما این هرم را در کدها دیدهاید. لینک زیر نحوه تشکیل این هرم در کد را نشان میدهد و برای رفع آن در برخی حالتها راه حل هایی ارائه داده است.
https://en.wikipedia.org/wiki/Pyramid_of_doom_(programming)
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
https://en.wikipedia.org/wiki/Pyramid_of_doom_(programming)
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
اگر ایدههایی در سر دارید و میخواهید یک استارتاپ شکل دهید، باید بتوانید در مورد آن حرف بزنید! باید بتوانید ایده خود را به بقیه (از جمله سرمایهگذاران) توضیح دهید. شما معمولا فقط دو دقیقه فرصت دارید تا ایده خود را توضیح دهید. چه بخواهید، چه نخواهید معمولا بعد از ۲ دقیقه شنیده نمیشوید.
نصیحت یک سرمایهگذار به موسسین استارتاپها: «هر چه بیشتر حرف بزنید، احتمال بیشتری وجود دارد چیزی بگویید که مخاطبتان خوشش نیاید، پس کمتر حرف زدن بهتر است!»
مقاله زیر نکاتی بسیار مهم را توضیح داده که هنگام ارائه دو دقیقهای خود باید در نظر داشته باشید.
https://medium.com/the-startup-magazine-collection/what-to-include-in-your-2-minute-startup-pitch-b166f529f388?ref=quuu#.wp67z53jl
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
نصیحت یک سرمایهگذار به موسسین استارتاپها: «هر چه بیشتر حرف بزنید، احتمال بیشتری وجود دارد چیزی بگویید که مخاطبتان خوشش نیاید، پس کمتر حرف زدن بهتر است!»
مقاله زیر نکاتی بسیار مهم را توضیح داده که هنگام ارائه دو دقیقهای خود باید در نظر داشته باشید.
https://medium.com/the-startup-magazine-collection/what-to-include-in-your-2-minute-startup-pitch-b166f529f388?ref=quuu#.wp67z53jl
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
Medium
What to include in your 2-minute startup pitch
The following is an excerpt from this post on the ThinkApps blog.
#پست_مجدد این پست تا به حال بیش از ۳۶۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.