مفهوم Planning Poker یا Scrum Poker یکی از روشهای بسیار موثر و کارا در تخمین فعالیتهای نرمافزاری است. این روش که مانند یک بازی اجرا میشود فرایند تخمین کار را به یک کار جذاب و کارا تبدیل میکند. با اینکه این فرایند بسیار شبیه یک بازی اجرا میشود، ولی تمام مراحلی که برای انجام این بازی طراحی شدهدارای دلایل بسیار عمیقی است. برای مثال اینکه افرادی که تخمین میزنند نباید از تخمین یکدیگر خبر داشتهباشند دلیل روانشناسی دارد و حتی آزمایشهای جالبی برای اثبات آن ساخته شده است.
لینک زیر مفهوم Planning Poker که در اسکرام استفاده میشود را توضیح داده و برخی از دلایل پشت فرایند آن را هم تشریح کردهاست.
https://en.wikipedia.org/wiki/Planning_poker
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
لینک زیر مفهوم Planning Poker که در اسکرام استفاده میشود را توضیح داده و برخی از دلایل پشت فرایند آن را هم تشریح کردهاست.
https://en.wikipedia.org/wiki/Planning_poker
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
Forwarded from Iran .Net
معرفی dotNet Standard
می دانیم پلتفرم دات نت در حال گسترش می باشد و مایکروسافت قصدی جدی برای حضوری همه جانبه در همه سیستم عامل ها دارد و می خواهد فارغ از سیستم عامل ها، بهترین انتخاب برای توسعه نرم افزار ها باشد. این روز ها دات نتی بودن یک فرصت مغتنم می باشد.
اما متاسفانه در حال حاضر برای توسعه تحتِ دات نت، فریم ورک های متفاوتی وجود دارد. در کنار نسخه اصلی و قدیمیِ دات نت فریم ورک، با فریم ورک های دیگری هم مواجه هستیم. مثلا فریم ورک Mono برای کار بر روی لینوکس و مک و... یا فریم ورک dotNet Framework CE و dotNet Micro Framework برای کار بر روی سیستم های توکار با حافظه و توان پردازشی محدود، زامارین برای توسعه بر روی سیستم عامل های موبایل نظیر اندروید و آیفون و اخیرا هم dotNet Core به این مجموعه اضافه شده است.
مسئله ای که اکوسیستمِ فعلیِ توسعه ی مبتنی بر دات نت با آن مواجه است، این می باشد که هر کدام از این چارچوب ها، علی رغمِ شباهت ها، در بخش های بسیاری با یکدیگر متفاوت می باشند و به طور کلی دارای کلاس ها، رفتار ها و API های متفاوتی می باشند. در نتیجه کدی که شما در یکی از این فریم ورک ها می نویسید دلیلی ندارد در پلتفرم های دیگر هم قابل اجرا باشد. همچنین دات نت کور بسیاری از API ها دات نت سنتی را ندارد و در بعضی جاها دارای تفاوت های اساسی با آن می باشد.
برای حل معضل از هم گسیختگیِ اکوسیستمِ دات نت، یکپارچه سازی API ها و بالا بردن توانایی اجرا بر روی همه پلتفرم ها، مایکروسافت مدتی است که استانداردی را تحت عنوان dotNet Standard معرفی کرده است. dotNet Standard در واقع مجموعه ی بسیار بزرگ و کاربردی ایی از API هاست که فریم ورک های مختلف می بایست آن ها را پیاده سازی کرده و این API ها بین همه فریم ورک ها یکسان باشند.
در نتیجه اگر کد شما از API ها موجود در استاندارد استفاده کرده باشد، می توانید مطمئن باشید که کد تان تحت دات نت کور، زامارین، دات نتِ سنتی و ... بدون هیچ تغییری کامپایل خواهد شد. این موضوع موجب خواهد شد شما یکبار بنویسید و در همه جا بتوانید اجرا کنید. این استاندارد همچنین نسخه بعدیِ دات نت کور را بسیار غنی تر خواهد کرد، چرا که دات نت کور برای پیروی از این استاندارد ملزم می باشد که بسیاری از نقص های فعلی را جبران کند.
فکر می کنم آشنایی با مفهوم dotNet Standard از الزاماتِ کار ما در دنیای جدید و مدرن دات نت باشد. برای همین خواند مقاله زیر را به شما توصیه می کنم.
https://blogs.msdn.microsoft.com/dotnet/2016/09/26/introducing-net-standard/
* گیت هاب پروژه dotNet Standard
https://github.com/dotnet/standard
می دانیم پلتفرم دات نت در حال گسترش می باشد و مایکروسافت قصدی جدی برای حضوری همه جانبه در همه سیستم عامل ها دارد و می خواهد فارغ از سیستم عامل ها، بهترین انتخاب برای توسعه نرم افزار ها باشد. این روز ها دات نتی بودن یک فرصت مغتنم می باشد.
اما متاسفانه در حال حاضر برای توسعه تحتِ دات نت، فریم ورک های متفاوتی وجود دارد. در کنار نسخه اصلی و قدیمیِ دات نت فریم ورک، با فریم ورک های دیگری هم مواجه هستیم. مثلا فریم ورک Mono برای کار بر روی لینوکس و مک و... یا فریم ورک dotNet Framework CE و dotNet Micro Framework برای کار بر روی سیستم های توکار با حافظه و توان پردازشی محدود، زامارین برای توسعه بر روی سیستم عامل های موبایل نظیر اندروید و آیفون و اخیرا هم dotNet Core به این مجموعه اضافه شده است.
مسئله ای که اکوسیستمِ فعلیِ توسعه ی مبتنی بر دات نت با آن مواجه است، این می باشد که هر کدام از این چارچوب ها، علی رغمِ شباهت ها، در بخش های بسیاری با یکدیگر متفاوت می باشند و به طور کلی دارای کلاس ها، رفتار ها و API های متفاوتی می باشند. در نتیجه کدی که شما در یکی از این فریم ورک ها می نویسید دلیلی ندارد در پلتفرم های دیگر هم قابل اجرا باشد. همچنین دات نت کور بسیاری از API ها دات نت سنتی را ندارد و در بعضی جاها دارای تفاوت های اساسی با آن می باشد.
برای حل معضل از هم گسیختگیِ اکوسیستمِ دات نت، یکپارچه سازی API ها و بالا بردن توانایی اجرا بر روی همه پلتفرم ها، مایکروسافت مدتی است که استانداردی را تحت عنوان dotNet Standard معرفی کرده است. dotNet Standard در واقع مجموعه ی بسیار بزرگ و کاربردی ایی از API هاست که فریم ورک های مختلف می بایست آن ها را پیاده سازی کرده و این API ها بین همه فریم ورک ها یکسان باشند.
در نتیجه اگر کد شما از API ها موجود در استاندارد استفاده کرده باشد، می توانید مطمئن باشید که کد تان تحت دات نت کور، زامارین، دات نتِ سنتی و ... بدون هیچ تغییری کامپایل خواهد شد. این موضوع موجب خواهد شد شما یکبار بنویسید و در همه جا بتوانید اجرا کنید. این استاندارد همچنین نسخه بعدیِ دات نت کور را بسیار غنی تر خواهد کرد، چرا که دات نت کور برای پیروی از این استاندارد ملزم می باشد که بسیاری از نقص های فعلی را جبران کند.
فکر می کنم آشنایی با مفهوم dotNet Standard از الزاماتِ کار ما در دنیای جدید و مدرن دات نت باشد. برای همین خواند مقاله زیر را به شما توصیه می کنم.
https://blogs.msdn.microsoft.com/dotnet/2016/09/26/introducing-net-standard/
* گیت هاب پروژه dotNet Standard
https://github.com/dotnet/standard
.NET Blog
Introducing .NET Standard - .NET Blog
Questions? Check out the .NET Standard FAQ. You can find the latest version of the compatibility matrix here. In my last post, I talked about how we want to make porting to .NET Core easier. In this post, I’ll focus on how we’re making this plan a reality…
کتابخانه LinqToTwitter یکی از LINQ Provder های جذاب است که روی معماری LINQ بنا شدهاست. به وسیله این کتابخانه به راحتی میتوانید روی توییتر با استفاده از LINQ جستجو کنید. معماری LINQ بسیار زیبا و قابل گسترش طراحی شدهاست. این معماری به این صورت است که خود LINQ به صورت یک «زبان پرسجو مستقل از تکنولوژی» طراحی شدهاست. سپس از مفهومی به نام LINQ Provider برای اجرای پرس و جو استفاده میشود. لیست Provider های زیر معمولا شناخته شدهتر هستند:
• LinqToObjects
• LinqToSql
• LinqToEntityFramwork
• LinqToXml
اما با توجه به معماری LINQ میتوان روی هر بستر اطلاعاتی LINQ Provider های جدید نوشت که LinqToTwitter یکی از آنهاست. در اینترنت میتوان Provider های جذاب دیگری مانند LinqToFacebook را نیز جستجو کرد.
https://github.com/JoeMayo/LinqToTwitter
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
• LinqToObjects
• LinqToSql
• LinqToEntityFramwork
• LinqToXml
اما با توجه به معماری LINQ میتوان روی هر بستر اطلاعاتی LINQ Provider های جدید نوشت که LinqToTwitter یکی از آنهاست. در اینترنت میتوان Provider های جذاب دیگری مانند LinqToFacebook را نیز جستجو کرد.
https://github.com/JoeMayo/LinqToTwitter
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
GitHub
GitHub - JoeMayo/LinqToTwitter: LINQ Provider for the Twitter API (C# Twitter Library)
LINQ Provider for the Twitter API (C# Twitter Library) - JoeMayo/LinqToTwitter
همانند سمت سرور، سمت کلینت نیز storage هایی جهت ذخیره اطلاعات وجود دارد که با توجه به نیاز می توان از آنها استفاده کرد.
از جمله این storage ها، میتوان به session storage, local storage و cookie اشاره کرد.
دانستن تفاوت بین این سه storage و میزان دسترسی به اطلاعات آنها میتواند به انتخاب مناسب در موقعیتهای متفاوت کمک کند.
باید بدانید که Session storage مربوط به هر تب از browser است بنابراین در تب جدید دیگر وجود ندارد.
و نیز Local storage حافظهای مربوط به browser است، بنابراین اطلاعات مربوط به آن در تمام تب های browser در دسترس خواهد بود و حتی با باز و بسته شدن browser نیز پاک نخواهد شد. اطلاعات موجود در local storage در browser تا زمانی که به طور دستی history مربوط به browser پاک شود یا از طریق جاوا اسکریپت این حافظه خالی شود وجود خواهد داشت.
در انتها Cookie حافظه ای است که مانند local storage عمل می کند با این تفاوت که اطلاعات موجود در cookie از سمت سرور نیز در دسترس بوده و در واقع در سمت سرور می توان از اطلاعات cookie استفاده کرد.
مقاله زیر به طور کامل تفاوت این سه حافظه را ذکر مثال بیان کرده است.
http://www.c-sharpcorner.com/uploadfile/cd7c2e/difference-between-local-storage-session-storage-ans-cookie
#مریم_داودی
لینکدین:
https://www.linkedin.com/in/maryam-davoudi-7913565a
کانال تلگرام:
@SoftwarePhilosophy
___
از جمله این storage ها، میتوان به session storage, local storage و cookie اشاره کرد.
دانستن تفاوت بین این سه storage و میزان دسترسی به اطلاعات آنها میتواند به انتخاب مناسب در موقعیتهای متفاوت کمک کند.
باید بدانید که Session storage مربوط به هر تب از browser است بنابراین در تب جدید دیگر وجود ندارد.
و نیز Local storage حافظهای مربوط به browser است، بنابراین اطلاعات مربوط به آن در تمام تب های browser در دسترس خواهد بود و حتی با باز و بسته شدن browser نیز پاک نخواهد شد. اطلاعات موجود در local storage در browser تا زمانی که به طور دستی history مربوط به browser پاک شود یا از طریق جاوا اسکریپت این حافظه خالی شود وجود خواهد داشت.
در انتها Cookie حافظه ای است که مانند local storage عمل می کند با این تفاوت که اطلاعات موجود در cookie از سمت سرور نیز در دسترس بوده و در واقع در سمت سرور می توان از اطلاعات cookie استفاده کرد.
مقاله زیر به طور کامل تفاوت این سه حافظه را ذکر مثال بیان کرده است.
http://www.c-sharpcorner.com/uploadfile/cd7c2e/difference-between-local-storage-session-storage-ans-cookie
#مریم_داودی
لینکدین:
https://www.linkedin.com/in/maryam-davoudi-7913565a
کانال تلگرام:
@SoftwarePhilosophy
___
C-Sharpcorner
Difference Between Local Storage, Session Storage And Cookies
In this article I'll tell you about the differences between Session Storage, Local Storage and Cookies.
گرافیک سه بعدی کامپیوتری و ساخت بازیهای کامپیوتری جز تکنولوژیهای پیچیده محسوب میشود. اینکه یک ویدئو ساخته شده سه بعدی بتواند کاملا واقعی به نظر برسد کاری بسیار سخت است. در حقیقت ۳ عامل خیلی مهم وجود دارد که باعث واقعی شدن یک نمایش گرافیکی سه بعدی میشود.
۱. حرکتهای طبیعی (Motion)
۲. سایهها (Shadow)
۳. بافتها (Texture)
مفهوم سایه فقط به سایه جسم روی زمین ختم نمیشود. به عنوان مثال، برای اینکه موهای یک شخص طبیعی دیده شود سایه تک تک تارهای مو باید به درستی روی بقیه تارهای مو بیفتد و این یعنی حجم وحشتناکی از محاسبات در ثانیه! مفهوم بافت مفهومی است که به یک مدل سه بعدی معنای قابل لمس میدهد و آن را برای ما ملموس میکند.
ویدئوی زیر که توسط شرکت Method Studios ساخته شدهاست یکی از نمونههای فوقالعاده است که سه مفهوم بالا در آن به زیبایی نمایش داده شدهاست.
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
۱. حرکتهای طبیعی (Motion)
۲. سایهها (Shadow)
۳. بافتها (Texture)
مفهوم سایه فقط به سایه جسم روی زمین ختم نمیشود. به عنوان مثال، برای اینکه موهای یک شخص طبیعی دیده شود سایه تک تک تارهای مو باید به درستی روی بقیه تارهای مو بیفتد و این یعنی حجم وحشتناکی از محاسبات در ثانیه! مفهوم بافت مفهومی است که به یک مدل سه بعدی معنای قابل لمس میدهد و آن را برای ما ملموس میکند.
ویدئوی زیر که توسط شرکت Method Studios ساخته شدهاست یکی از نمونههای فوقالعاده است که سه مفهوم بالا در آن به زیبایی نمایش داده شدهاست.
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
نحوه تعریف متغییرها در یک برنامه می تواند تاثیر زیادی بر کارآیی برنامه داشته باشد. مقاله زیر با زبانی ساده نشان می دهد که چگونه boxing و unboxing می تواند بر بهینه سازی برنامه تاثیر داشته باشد و شش مفهوم Stack ، Heap ، Value type ، Reference Type ، boxing و unboxing را توضیح داده است. همچنین در این مقاله مشاهده میکنید که چگونه Cast کردنهای بیهوده میتواند سرعت برنامه ما را تحت تاثیر قرار دهد.
http://www.codeproject.com/Articles/76153/Six-important-NET-concepts-Stack-heap-value-types
#کاروان_جافی
لینکدین:
https://uk.linkedin.com/in/karvan-jafi-96897027
کانال تلگرام:
@SoftwarePhilosophy
___
http://www.codeproject.com/Articles/76153/Six-important-NET-concepts-Stack-heap-value-types
#کاروان_جافی
لینکدین:
https://uk.linkedin.com/in/karvan-jafi-96897027
کانال تلگرام:
@SoftwarePhilosophy
___
CodeProject
Six Important .NET Concepts: Stack, Heap, Value Types, Reference Types, Boxing, and Unboxing
An introduction to stack, heap, value types, reference types, boxing, and unboxing
کتابخانه Audit.Net کتابخانه فوقالعادهای است که امکان هندل کردن تمامی سناریوهای مربوط به لاگ کردن و Audit را با معماری بسیار زیبایی در اختیار معماران نرمافزار میگذارد. این کتابخانه از فلسفه Convenction over Configuration استفاده کرده و برای تنظیم کردن آن علاوه بر روشهای متداول، به زیبایی از Fluent API استفاده شدهاست.
مساله Audit کردن عملیات برنامه همیشه انرژی زیادی از برنامهنویسان سیستمهای بزرگ میگیرد. ساخت Audit در مکانهای مختلف برنامه میتوانید اتفاق بیافتد. برای مثال در بستر Object، EntityFramework، WebApi، WCF و بسترهای دیگر میتوان فرایند Audit را فعال کرد. پیچیدگی دیگر مربوط به نحوه ذخیرهسازی Audit است. میتوان آنها را در File، Event Log، Sql Database، NoSQL Database، Azure Blob Store و بسترهای مختلف دیگر ذخیره کرد.
https://github.com/thepirat000/Audit.NET
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
مساله Audit کردن عملیات برنامه همیشه انرژی زیادی از برنامهنویسان سیستمهای بزرگ میگیرد. ساخت Audit در مکانهای مختلف برنامه میتوانید اتفاق بیافتد. برای مثال در بستر Object، EntityFramework، WebApi، WCF و بسترهای دیگر میتوان فرایند Audit را فعال کرد. پیچیدگی دیگر مربوط به نحوه ذخیرهسازی Audit است. میتوان آنها را در File، Event Log، Sql Database، NoSQL Database، Azure Blob Store و بسترهای مختلف دیگر ذخیره کرد.
https://github.com/thepirat000/Audit.NET
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
GitHub
GitHub - thepirat000/Audit.NET: An extensible framework to audit executing operations in .NET and .NET Core.
An extensible framework to audit executing operations in .NET and .NET Core. - thepirat000/Audit.NET
👍1
#پست_مجدد این پست تا به حال بیش از ۱۱۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
یکی از مهمترین قسمت های برنامه نویسی خطا یابی یا همان 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…
انتخاب تکنولوژی درست برای طراحی لایه سرویس یکی از اولین مسائلی است که برنامه نویسان در شروع پروژههای بزرگ با آن روبرو میشوند و بیشتر برنامه نویسان سعی میکنند از تکنولوژی استفاده کنند که بیشتر با آن آشنا هستند که گاهی تصمیم درستی نیست. مطالعه مقاله زیر می تواند برای برنامه نویسان دات نت در انتخاب تکنولوژی مناسب کمک کننده باشد.
http://www.infoworld.com/article/2905918/microsoft-net/choosing-the-right-technology-for-building-your-service-layer-in-net.html
#کاروان_جافی
لینکدین:
https://uk.linkedin.com/in/karvan-jafi-96897027
کانال تلگرام:
@SoftwarePhilosophy
___
http://www.infoworld.com/article/2905918/microsoft-net/choosing-the-right-technology-for-building-your-service-layer-in-net.html
#کاروان_جافی
لینکدین:
https://uk.linkedin.com/in/karvan-jafi-96897027
کانال تلگرام:
@SoftwarePhilosophy
___
InfoWorld
Choosing the right technology for building the service layer in .NET
There are many different considerations you need to think over before you decide the right technology for the service layer in your application
#پست_مجدد این پست تا به حال بیش از ۱۲۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
آینده زبان 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 noscripting and all the REPLs
مقاله زیر سیر تکامل این زبان را بررسی کرده است و کمی درباره سمت سوی آینده این زبان صحبت کردهاست.
http://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 noscripting and all the REPLs
مقاله زیر سیر تکامل این زبان را بررسی کرده است و کمی درباره سمت سوی آینده این زبان صحبت کردهاست.
http://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
هرم شیطان یا 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
___
#پست_مجدد این پست تا به حال بیش از ۱۲۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
اگر ایدههایی در سر دارید و میخواهید یک استارتاپ شکل دهید، باید بتوانید در مورد آن حرف بزنید! باید بتوانید ایده خود را به بقیه (از جمله سرمایهگذاران) توضیح دهید. شما معمولا فقط دو دقیقه فرصت دارید تا ایده خود را توضیح دهید. چه بخواهید، چه نخواهید معمولا بعد از ۲ دقیقه شنیده نمیشوید.
نصیحت یک سرمایهگذار به موسسین استارتاپها: «هر چه بیشتر حرف بزنید، احتمال بیشتری وجود دارد چیزی بگویید که مخاطبتان خوشش نیاید، پس کمتر حرف زدن بهتر است!»
مقاله زیر نکاتی بسیار مهم را توضیح داده که هنگام ارائه دو دقیقهای خود باید در نظر داشته باشید.
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.
#پست_مجدد این پست تا به حال بیش از ۱۷۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
سایت StackOverflow به تازگی بخشی با عنوان Documentation اضافه کردهاست که بسیار جذاب است و در چند روز اولیه شروع آن با استقبال خوبی از طرف کاربران مواجه شدهاست. در این بخش به شیوه بسیار جالب و پویایی مستندات هر زبان و یا تکنولوژی توسط کاربران ساخته میشود. در یک اقدام جالب شرکت مایکروسافت نیز خبر دادهاست به زودی محتوای مستندات مرجع API ها در docs.mirosoft.com با این بخش یکپارچه خواهد شد.
لینک زیر چگونگی کارکرد این بخش Documentation را شرح دادهاست.
https://docs.microsoft.com/teamblog/stackoverflow-documentation-for-microsoft-developers
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
لینک زیر چگونگی کارکرد این بخش Documentation را شرح دادهاست.
https://docs.microsoft.com/teamblog/stackoverflow-documentation-for-microsoft-developers
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
docs.microsoft.com Team Blog
Stack Overflow Documentation for Microsoft Developers
This post was written by Jeff Sandquist, General Manager in the Cloud + Enterprise Division. Today we are announcing a partnership with Stack Overflow to support Stack Overflow Documentation for Microsoft developers. As part of this effort, we are letting…
امروزه استفاده از Task Runnerها امری الزامی در پروژهها به حساب میآید تا بتوان کارهایی را به سیستم بسپاریم تا آنها را یکی پس از دیگری و به صورت خودکار انجام دهد.
در زمینه پروژههای تحت وب Gulp یکی از اعضای این خانواده می باشد که به دلیل سرعت بالاتر و سادگی بیشتر از محبوبیت بیشتری نیز برخوردار است.
گالپ به تنهایی شامل چهار دستور اصلی به همراه ساختاری ساده برای نوشتن Taskها میباشد که بستری برای استفاده از pluginهای نوشته شده است. درواقع pluginها هستند که انجام کارهای اصلی مورد نظر ما، از قبیل minification ، bundling ، image optimize و ... را به عهده دارند. و همینطور بسته به frameworkهای استفاده شده باید plugin صحیح را دریافت کنید که gulpjs.com/plugins بهترین مرجع برای دریافت و آموزش طریقه استفاده آنها میباشد.
گالپ نیز مانند grunt مبتنی بر nodejs است و تمام کتابخانه ها و pluginها را باید از طریق npm نصب کنیم.
خوشبختانه در Visual Studio 2015 امکان استفاده از npm بدون نیاز به bash اضافه شده است که میتوانیم از تمام کتابخانههای موجود استفاده کنیم و حتی میتوانیم زمان اجرای task های ساخته شده توسط gulp را به بعد یا قبل از Build پروژه و ... bind کنیم.
لینک زیر نحوه استفاده از gulp در ویژوال استودیو را آموزش میدهد.
https://docs.asp.net/en/latest/client-side/using-gulp.html
#محمدرضا_جلیلوند
لینکدین:
http://ir.linkedin.com/in/mohammad-reza-jalilvand-0a5572b1
کانال تلگرام:
@SoftwarePhilosophy
___
در زمینه پروژههای تحت وب Gulp یکی از اعضای این خانواده می باشد که به دلیل سرعت بالاتر و سادگی بیشتر از محبوبیت بیشتری نیز برخوردار است.
گالپ به تنهایی شامل چهار دستور اصلی به همراه ساختاری ساده برای نوشتن Taskها میباشد که بستری برای استفاده از pluginهای نوشته شده است. درواقع pluginها هستند که انجام کارهای اصلی مورد نظر ما، از قبیل minification ، bundling ، image optimize و ... را به عهده دارند. و همینطور بسته به frameworkهای استفاده شده باید plugin صحیح را دریافت کنید که gulpjs.com/plugins بهترین مرجع برای دریافت و آموزش طریقه استفاده آنها میباشد.
گالپ نیز مانند grunt مبتنی بر nodejs است و تمام کتابخانه ها و pluginها را باید از طریق npm نصب کنیم.
خوشبختانه در Visual Studio 2015 امکان استفاده از npm بدون نیاز به bash اضافه شده است که میتوانیم از تمام کتابخانههای موجود استفاده کنیم و حتی میتوانیم زمان اجرای task های ساخته شده توسط gulp را به بعد یا قبل از Build پروژه و ... bind کنیم.
لینک زیر نحوه استفاده از gulp در ویژوال استودیو را آموزش میدهد.
https://docs.asp.net/en/latest/client-side/using-gulp.html
#محمدرضا_جلیلوند
لینکدین:
http://ir.linkedin.com/in/mohammad-reza-jalilvand-0a5572b1
کانال تلگرام:
@SoftwarePhilosophy
___
#خلاصه_مطالب «فلسفه نرمافزار» در هفتهی گذشته:
۱. «کتابخانه Audit.net»
https://telegram.me/SoftwarePhilosophy/499
۲. «هفت ابزار جدید برای خطایابی و Debugging در ویژوال استودیو»
https://telegram.me/SoftwarePhilosophy/501
۳. «طراحی لایه سرویس و انتخاب تکنولوژی مناسب»
https://telegram.me/SoftwarePhilosophy/502
۴. «آینده C# به چه سمتی میرود؟»
https://telegram.me/SoftwarePhilosophy/504
۵. «هرم شیطان در کد نویسی»
https://telegram.me/SoftwarePhilosophy/506
۶. «نکاتی برای ارائه دو دقیقهای ایدهها»
https://telegram.me/SoftwarePhilosophy/508
۷. «ارائه مستندات در StackOverflow»
https://telegram.me/SoftwarePhilosophy/511
۸. «معرفی gulp به عنوان یک task runner»
https://telegram.me/SoftwarePhilosophy/512
ـــــــــ
@SoftwarePhilosophy
۱. «کتابخانه Audit.net»
https://telegram.me/SoftwarePhilosophy/499
۲. «هفت ابزار جدید برای خطایابی و Debugging در ویژوال استودیو»
https://telegram.me/SoftwarePhilosophy/501
۳. «طراحی لایه سرویس و انتخاب تکنولوژی مناسب»
https://telegram.me/SoftwarePhilosophy/502
۴. «آینده C# به چه سمتی میرود؟»
https://telegram.me/SoftwarePhilosophy/504
۵. «هرم شیطان در کد نویسی»
https://telegram.me/SoftwarePhilosophy/506
۶. «نکاتی برای ارائه دو دقیقهای ایدهها»
https://telegram.me/SoftwarePhilosophy/508
۷. «ارائه مستندات در StackOverflow»
https://telegram.me/SoftwarePhilosophy/511
۸. «معرفی gulp به عنوان یک task runner»
https://telegram.me/SoftwarePhilosophy/512
ـــــــــ
@SoftwarePhilosophy