مفاهیم Covariance و Contravariance یکی از مباحث مهم در زبانهای برنامهنویسی مدرن محسوب میشود. تسلط بر این مفاهیم به طراحان فریمورکها و پلتفرمها کمک میکند تصمیمهای مناسبتری در طراحی کلاسها داشته باشند.
از آنجایی این مفاهیم انتزاعی هستند، معمولا فهم آنها در وهله اول سخت به نظر میرسد. مقاله زیر با چند مثال قابل لمس این مفاهیم را به زبان سادهتری توضیح داده تا فهم آن لذتبخشتر و آسانتر شود.
https://mehrandvd.me/2016/06/18/covariant-and-contravariant/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
از آنجایی این مفاهیم انتزاعی هستند، معمولا فهم آنها در وهله اول سخت به نظر میرسد. مقاله زیر با چند مثال قابل لمس این مفاهیم را به زبان سادهتری توضیح داده تا فهم آن لذتبخشتر و آسانتر شود.
https://mehrandvd.me/2016/06/18/covariant-and-contravariant/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
امروزه استفاده از فریم ورکهای css برای برنامه نویسان front end بسیار رایج است.
فریم ورکهای زیادی در این راستا وجود دارد ولی تعداد محدودی از آنها به عنوان فریم ورک خوب شناخته شده اند.
مقاله زیر به صورت خلاصه به معرفی و بررسی 5 فریم ورک برتر پرداخته است و نقاط قوت و ضعف آنها را بیان کرده است.
این 5 فریم ورکها عبارتند از:
• Bootstrap
• Fundation by ZURB
• Semantic UI
• Pure by Yahoo
• Ukit by YOOtheme
https://www.sitepoint.com/5-most-popular-frontend-frameworks-compared
#مریم_داودی
لینکدین:
https://www.linkedin.com/in/maryam-davoudi-7913565a
کانال تلگرام:
@SoftwarePhilosophy
___
فریم ورکهای زیادی در این راستا وجود دارد ولی تعداد محدودی از آنها به عنوان فریم ورک خوب شناخته شده اند.
مقاله زیر به صورت خلاصه به معرفی و بررسی 5 فریم ورک برتر پرداخته است و نقاط قوت و ضعف آنها را بیان کرده است.
این 5 فریم ورکها عبارتند از:
• Bootstrap
• Fundation by ZURB
• Semantic UI
• Pure by Yahoo
• Ukit by YOOtheme
https://www.sitepoint.com/5-most-popular-frontend-frameworks-compared
#مریم_داودی
لینکدین:
https://www.linkedin.com/in/maryam-davoudi-7913565a
کانال تلگرام:
@SoftwarePhilosophy
___
SitePoint
The 5 Most Popular Front-end Frameworks Compared — SitePoint
Ivaylo Gerchev looks at the most downloaded front-end frameworks available today, and offers some suggestions on how to choose one that's right for you.
Forwarded from Software Philosophy
همیشه هر چیز خوبی، میتواند بد استفاده شود و نتیجه عکس دهد. این قضیه در مورد تکنولوژی هم صادق است. مقاله زیر توضیح میدهد که چه عادتهای اشتباهی هنگام کار با LINQ میتواند شما را به اشتباه بیندازد و باعث ایجاد کد بد شود.
یکی از خطرناکترین ویژگیهای LINQ این است که وقتی با آن کار میکنید احساس میکنید خیلی باهوشید که غالبا باعث میشود کد احمقانه و پیچیدهای با آن بنویسید. فهمیدن مفهوم Provider ها نیز مسئله مهمی است که باید با آن آشنا باشید.
مقاله زیر این نکات را شرح میدهد.
https://mehrandvd.me/2016/03/28/linq-the-bad-parts/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
یکی از خطرناکترین ویژگیهای LINQ این است که وقتی با آن کار میکنید احساس میکنید خیلی باهوشید که غالبا باعث میشود کد احمقانه و پیچیدهای با آن بنویسید. فهمیدن مفهوم Provider ها نیز مسئله مهمی است که باید با آن آشنا باشید.
مقاله زیر این نکات را شرح میدهد.
https://mehrandvd.me/2016/03/28/linq-the-bad-parts/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
Forwarded from Iran .Net
تعریف کلید های shortcut برای نرم افزارهای تحت وب:
برای نرم افزار های سازمانی تحت وب یا موارد دیگر، لازم است تا امکانی را فراهم کنیم که کاربر بتواند با استفاده از یکسری از shortcut ها، کارش را تسریع کند (عینا مشابه برنامه دسکتاپ). تعریف shortcut ها مستلزم این می باشد که
1. بتوانیم یک توالی از دکمه ها را تشخیص دهیم. مثلا ترکیب alt+shift+3 می تواند یک shortcut برای باز کردن یک صفحه به خصوص و یا باز کردن یک modal باشد.
2. نکته دیگر این است که باید فارغ از element ایی که دارای focus می باشد، بتوانیم وقوع shortcut توسط کاربر را تشخیص دهیم.
کتابخانه های زیر این کار را به راحتی و زیبایی برای ما تسهیل کرده و انجام می دهند:
https://dmauro.github.io/Keypress/
https://github.com/RobertWHurst/KeyboardJS
@irandotnet
برای نرم افزار های سازمانی تحت وب یا موارد دیگر، لازم است تا امکانی را فراهم کنیم که کاربر بتواند با استفاده از یکسری از shortcut ها، کارش را تسریع کند (عینا مشابه برنامه دسکتاپ). تعریف shortcut ها مستلزم این می باشد که
1. بتوانیم یک توالی از دکمه ها را تشخیص دهیم. مثلا ترکیب alt+shift+3 می تواند یک shortcut برای باز کردن یک صفحه به خصوص و یا باز کردن یک modal باشد.
2. نکته دیگر این است که باید فارغ از element ایی که دارای focus می باشد، بتوانیم وقوع shortcut توسط کاربر را تشخیص دهیم.
کتابخانه های زیر این کار را به راحتی و زیبایی برای ما تسهیل کرده و انجام می دهند:
https://dmauro.github.io/Keypress/
https://github.com/RobertWHurst/KeyboardJS
@irandotnet
ابزارهای TFS و JIRA از ابزارهای معروف Issue Tracking در پروژههای نرمافزاری هستند. با اینکه این ابزارها قابلیت استفاده مستقل از تکنولوژی دارند اما عمدتا در پروژههای با تکنولوژیهای مایکروسافت از TFS و در پروژههایی با تکنولوژیهای Java از JIRA استفاده میشود.
مقاله زیر خلاصهی نتیجهی یک تحقیق عملی دربارهی قابلیتهای این دو ابزار ارائه شدهاست. تحقیق به این صورت بوده که یک تیم چهارنفره به دو گروه تقسیم شدهاند و یکی از گروهها با JIRA و دیگری با TFS کار کرده و در پایان قابلیتها را با هم مقایسه کردهاند. در این مقاله به صورت خلاصه واژههای مرتبط مانند CI و ALM هم توضیح داده شدهاند. هدف این مقاله معرفی معیارهایی است که کمک کند در هر شرایطی بهترین انتخاب اتفاق بیافتد.
https://blog.beolle.com/2014/01/research-around-jira-vs-tfs.html
#سمیه_کرمی
لینکدین :
https://ir.linkedin.com/in/skarami
کانال تلگرام:
@SoftwarePhilosophy
___
مقاله زیر خلاصهی نتیجهی یک تحقیق عملی دربارهی قابلیتهای این دو ابزار ارائه شدهاست. تحقیق به این صورت بوده که یک تیم چهارنفره به دو گروه تقسیم شدهاند و یکی از گروهها با JIRA و دیگری با TFS کار کرده و در پایان قابلیتها را با هم مقایسه کردهاند. در این مقاله به صورت خلاصه واژههای مرتبط مانند CI و ALM هم توضیح داده شدهاند. هدف این مقاله معرفی معیارهایی است که کمک کند در هر شرایطی بهترین انتخاب اتفاق بیافتد.
https://blog.beolle.com/2014/01/research-around-jira-vs-tfs.html
#سمیه_کرمی
لینکدین :
https://ir.linkedin.com/in/skarami
کانال تلگرام:
@SoftwarePhilosophy
___
Beolle
Research around JIRA vs TFS - Beolle Ideas
Forwarded from Software Philosophy
مفهوم Dependency Injection یکی از مواردی است که در طراحی ASP.NET Core وجود دارد. مقاله زیر علاوه بر اینکه مروری بر این مفهوم مهم دارد، نحوه پیادهسازی و استفاده از آن را در ASP.Net Core توضیح میدهد. همچنین در این مقاله به منظور آموزش این مفهوم، یک مثال به صورت قدم به قدم پیادهسازی شدهاست.
https://www.c-sharpcorner.com/article/dependency-injection-in-Asp-Net-core/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
https://www.c-sharpcorner.com/article/dependency-injection-in-Asp-Net-core/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
Microsoft
ASP.NET Core, an open-source web development framework | .NET
Build web apps and services that run on Windows, Linux, and macOS using C#, HTML, CSS, and JavaScript. Get started for free on Windows, Linux, or macOS.
Forwarded from Software Philosophy
یکی از کاربردهایی که پروژه Roslyn در برنامههای بیزنسی دارد، توانایی اجرای کد برنامه در زمان اجرا است. برای مثال میتوانید قسمتی از کد برنامه را در یک تکستباکس از کاربر بگیرید و آن را اجرا کنید. معمولا قسمتهایی از برنامه که نباید Hard Code شود را به این صورت میتوان به عنوان پیکربندی در دیتابیس ذخیره کرد و هنگام پیادهسازی نرمافزار، بدون تغییر کد اصلی، رفتار برنامه را تنظیم کرد. به این قابلیت Scripting هنگام اجرای برنامه میگویند.
مقاله زیر نشان میدهد که چگونه توسط Roslyn میتوان کدها را در زمان اجرا، کامپایل و اجرا کرد.
https://daveaglick.com/posts/compiler-platform-scripting
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
مقاله زیر نشان میدهد که چگونه توسط Roslyn میتوان کدها را در زمان اجرا، کامپایل و اجرا کرد.
https://daveaglick.com/posts/compiler-platform-scripting
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
Daveaglick
Dave Glick - Introduction to Scripting with the .NET Compiler Platform (Roslyn)
The personal blog of Dave Glick
Forwarded from Software Philosophy
اگر دوستانی دارید که نه تنها برنامه نویس هستند، بلکه اعتقاد دارید «مهندس نرمافزار» هم هستند، آنها را به کانال @SoftwarePhilosophy دعوت کنید.
این پیغام را برای آنها Forward کنید.
این پیغام را برای آنها Forward کنید.
Forwarded from Software Philosophy
طراحی تایملاین در برنامههای وب یکی از روشهای جذاب نمایش اتفاقات زمانی است. برای مدتی فیسبوک نیز از این مفهوم برای نمایش صفحات استفاده میکرد. مقاله زیر نحوه پیاده سازی مفهوم تایملاین را با استفاده از CSS و JavaScript را آموزش داده است. شیوه آموزشی که در این مقاله به کار برده شده بسیار جالب است و کاملا به صورت قدم به قدم امکانات را به کنترل اضافه کرده تا فهم برنامهنویسی آن ساده شود.
https://webdesign.tutsplus.com/tutorials/building-a-vertical-timeline-with-css-and-a-touch-of-javascript--cms-26528
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
https://webdesign.tutsplus.com/tutorials/building-a-vertical-timeline-with-css-and-a-touch-of-javascript--cms-26528
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
Web Design Envato Tuts+
Building a Vertical Timeline With CSS and a Touch of JavaScript...
Let’s learn how to build a responsive vertical timeline from scratch. First, we’ll create the basic structure, then, we’ll use some JavaScript to add some transitional effects to our timeline.
با ظهور تکنولوژی Roslyn شما میتوانید از زبان C# به عنوان زبان اسکریپتینگ در برنامههای خود استفاد کنید. این مفهوم به این معنی است که شما برای مثال قسمتی از کد سیشارپ مورد نیاز برنامهتان را از طریق یک TextBox از کاربر بگیرید و در واقع به کاربران (پیادهسازان نرمافزار) بدون نیاز به تغییر کد اجازه شخصیسازی کد دهید. لینک زیر که از سری لینکهای اموزشی Josh Vatry در این زمینه است میتواند دید خیلی خوبی در مورد امکانات اسکریپتینگ توسط Roslyn به طراحان بدهد.
https://joshvarty.wordpress.com/2015/10/15/learn-roslyn-now-part-14-intro-to-the-scripting-api
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
https://joshvarty.wordpress.com/2015/10/15/learn-roslyn-now-part-14-intro-to-the-scripting-api
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
Shotgun Debugging
Learn Roslyn Now: Part 14 Intro to the Scripting API
The Scripting API is finally here! After being removed from Roslyn’s 1.0 release it’s now available (for C#) in pre-release format on NuGet. To install to your project just run: Install…
مدیریت کردن برنامه نویس ها از بسیاری جهات شبیه مدیریت کردن دیگر افراد است. آن ها می خواهند که در حل مسائل فنی و منطق برنامه به آن ها کمک شود، از سیاست های غیر ضروری سازمان دور باشند و به دغدغه های شخصی آنها توجه شود. اما مدیریت کردن آن ها به مراتب سخت تر است. در این مقاله پنج نکته درباره اداره کردن تیم های نرم افزاری که محصولات بزرگی را با موفقت ارائه کرده اند توسط یکی از بزرگان این صنعت ذکر شده است.
https://www.cio.com/article/2436015/enterprise-architecture/5-things-grady-booch-has-learned-about-complex-software-systems.html
#کاروان_جافی
لینکدین:
https://uk.linkedin.com/in/karvan-jafi-96897027
کانال تلگرام:
@SoftwarePhilosophy
___
https://www.cio.com/article/2436015/enterprise-architecture/5-things-grady-booch-has-learned-about-complex-software-systems.html
#کاروان_جافی
لینکدین:
https://uk.linkedin.com/in/karvan-jafi-96897027
کانال تلگرام:
@SoftwarePhilosophy
___
CIO
5 Things Grady Booch Has Learned About Complex Software Systems
The father of UML and design pattern enthusiast shares his fundamentals about developing, delivering and deploying big software projects.
دیتابیسهای NoSQL امروزه در معماریهای نوین نرمافزار جایگاه ویژهای پیدا کردهاند. در سالهای قبل از این نوع دیتابیسها فقط در پروژههای خاصی استفاده میشد ولی به مرور نقش این نوع دیتابیسها با ظهورمعماریهای نوین یا مفاهیمی مانند CQRS پر رنگ تر شدهاست. مفاهیم این دیتابیسها به طور کلی با مدل فکری دیتابیسهای رابطهای یا Relational متفاوت است.
https://www.c-sharpcorner.com/article/introduction-to-no-sql-and-working-with-mongodb-part-one/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
https://www.c-sharpcorner.com/article/introduction-to-no-sql-and-working-with-mongodb-part-one/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
Forwarded from Software Philosophy
نسل جدید فریمورکهای JavaScript برای ساخت برنامههای SPA در راه هستند. فریمورکهای Angular 2.0، React و Aurelia فریمورکهای نسل بعدی هستند که عمدتا بر پایه ES6 نوشتهشدهاند. فریمورک Angular 2.0 نسخه جدید این فریمورک محبوب است هنوز قبل از ریلیز بیشترین طرفدار را دارد. این فریمورک توسط گوگل و مایکروسافت پشتیبانی میشود. فریمورک React که توسط فیسبوک پشتیبانی میشود بسیار قوی است ولی ذاتا هدف آن انجام تمام وظایف یک SPA نیست و بیشتر روی HTML Rendering تمرکز دارد.
فریمورک Aurelia نسخه بعدی Durandal است که قبلا رقیب کمتر شناخته شده Angular بود. خالق این فریمورک قبلا در تیم Angular 2.0 بود که بعدها به دلایلی تصمیم گرفت از این تیم جدا شود و فریم ورک رویای خود را خلق کند. یکی از مزایای این فریمورک Syntax بسیار ساده و روان آن است که تقریبا در هر مقایسهای به آن اشاره شدهاست.
مقاله زیر این فریمورکها را با جزئیات بیشتری با هم مقایسه کردهاست.
https://blog.ae.be/comparing-angular-aurelia-react-js-framework/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
فریمورک Aurelia نسخه بعدی Durandal است که قبلا رقیب کمتر شناخته شده Angular بود. خالق این فریمورک قبلا در تیم Angular 2.0 بود که بعدها به دلایلی تصمیم گرفت از این تیم جدا شود و فریم ورک رویای خود را خلق کند. یکی از مزایای این فریمورک Syntax بسیار ساده و روان آن است که تقریبا در هر مقایسهای به آن اشاره شدهاست.
مقاله زیر این فریمورکها را با جزئیات بیشتری با هم مقایسه کردهاست.
https://blog.ae.be/comparing-angular-aurelia-react-js-framework/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
www.ae.be
Comparing Angular, Aurelia and React: Is there a next-gen JS framework that rules them all?
Forwarded from Iran .Net
معرفی Zen Coding یا Emmet Syntax
برای من همیشه نوشتن کد های HTML با دشواری و مرارت های زیادی همراه بوده. نوشتن ساختار های تو در تو، قرار دادن id و class مناسب و باز و بسته کردن تگ ها و قرار دادن قرزند ها در داخل تگ ها حقیقتا کار هایی خسته کننده، تکراری و حوصله سر بر هستند.
روش Zen Coding یا Emmet Syntax برای حل همین مسئله به وجود آمده و سرعت توسعه کد های HTML را بسیار بیشتر خواهد کرد. پس از استفاده از این روش، به هیچ وجه قادر نخواهید بود که به روش سنتیِ گذشته کد های HTML بزنید.
1. مثلا با استفاده از دستور div#control.panel.panel-success و فشردن کلید tab، یک div با شناسه panel و کلاس های panel و panel-success ساخته خواهد شد.
2. با استفاده از Zen Codding به راحتی می توانیم المنت های داخلی هم در یک خط تعریف کنیم. مثلا ul>li*5 موجب خواهد شد یک ul همراه با پنج المنت li در درون اش تعریف شود.
سعی کنید حتما از روش Zen Coding استفاده کنید، چرا که سرعت توسعه شما را به شدت بالا خواهد برد.
Zen Coding پس از نصب افزونه Web Essentials در ویژوال استودیو افزوده خواهد شد. همچنین Visual Studio Code به طور پیش فرض از این روش پشتیبانی می کند.
1. جدول آموزش سریع Zen Coding
https://docs.emmet.io/cheat-sheet/
2. افزونه Web Essentials
https://vswebessentials.com/
@irandotnet
برای من همیشه نوشتن کد های HTML با دشواری و مرارت های زیادی همراه بوده. نوشتن ساختار های تو در تو، قرار دادن id و class مناسب و باز و بسته کردن تگ ها و قرار دادن قرزند ها در داخل تگ ها حقیقتا کار هایی خسته کننده، تکراری و حوصله سر بر هستند.
روش Zen Coding یا Emmet Syntax برای حل همین مسئله به وجود آمده و سرعت توسعه کد های HTML را بسیار بیشتر خواهد کرد. پس از استفاده از این روش، به هیچ وجه قادر نخواهید بود که به روش سنتیِ گذشته کد های HTML بزنید.
1. مثلا با استفاده از دستور div#control.panel.panel-success و فشردن کلید tab، یک div با شناسه panel و کلاس های panel و panel-success ساخته خواهد شد.
2. با استفاده از Zen Codding به راحتی می توانیم المنت های داخلی هم در یک خط تعریف کنیم. مثلا ul>li*5 موجب خواهد شد یک ul همراه با پنج المنت li در درون اش تعریف شود.
سعی کنید حتما از روش Zen Coding استفاده کنید، چرا که سرعت توسعه شما را به شدت بالا خواهد برد.
Zen Coding پس از نصب افزونه Web Essentials در ویژوال استودیو افزوده خواهد شد. همچنین Visual Studio Code به طور پیش فرض از این روش پشتیبانی می کند.
1. جدول آموزش سریع Zen Coding
https://docs.emmet.io/cheat-sheet/
2. افزونه Web Essentials
https://vswebessentials.com/
@irandotnet
Forwarded from Software Philosophy
نامگذاری در برنامهنویسی شاید یکی از مهمترین کارهایی باشد که یک برنامهنویس انجام میدهد. یک برنامهنویس با نامگذاری متغییرها، کلاسها، فایلها و ... در حقیقت مفاهیم جدید خلق میکند که در آینده برنامهنویسان دیگر معنی آن را از روی «نام» آنها حدس خواهند زد!
فصل زیر از کتاب Framework Design Guidlines (که به FDG معروف است) به طور اختصاصی استانداردهای نامگذاری را که در طراحی .Net Framework استفاده شدهاست را شرح میدهد. این کتاب برای ساخت تمامی سیستمها در مایکروسافت به عنوان یک مرجع استفاده میشود. به همین دلیل هم در سایت msdn به صورت رایگان و قابل دسترس برای همه وجود دارد و هم کتاب چاپی آن وجود دارد که بسیار محبوب است.
https://msdn.microsoft.com/en-us/library/ms229002%28v=vs.110%29.aspx
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
فصل زیر از کتاب Framework Design Guidlines (که به FDG معروف است) به طور اختصاصی استانداردهای نامگذاری را که در طراحی .Net Framework استفاده شدهاست را شرح میدهد. این کتاب برای ساخت تمامی سیستمها در مایکروسافت به عنوان یک مرجع استفاده میشود. به همین دلیل هم در سایت msdn به صورت رایگان و قابل دسترس برای همه وجود دارد و هم کتاب چاپی آن وجود دارد که بسیار محبوب است.
https://msdn.microsoft.com/en-us/library/ms229002%28v=vs.110%29.aspx
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
Forwarded from Software Philosophy
امکاناتی که در Java 8 اضافه شده بسیار جذاب و دوست داشتنی هستند. عمده این امکانات حول محور مفهوم Lambda Expression میچرخند که باعث میشوند برنامهنویسی با استفاده از مفاهیم Functional Programming بسیار لذتبخشتر شود. سایت زیر یک Cheat Sheet خیلی مختصر و مفید از مثالهایی است که میتوانید در نسخه جدید جاوا از آنها استفاده کنید.
https://www.java8.org/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
https://www.java8.org/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
Forwarded from Software Philosophy
نحوه استفاده از الگوریتمهای Hash در .net core نسبت به .net تفاوتهای محسوسی کردهاست. پیادهسازی و API مربوط به عملیات امنیتی در .net core مجددا طراحی شدهاند. مقاله زیر به آزمایش و آموزش استفاده از این الگوریتمها پرداخته است. جالب است که این آزمایشها و آموزشها روی Ubuntu انجام شدهاند.
https://www.c-sharpcorner.com/article/hashing-passwords-in-net-core-with-tips
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
https://www.c-sharpcorner.com/article/hashing-passwords-in-net-core-with-tips
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
C-Sharpcorner
Hashing Passwords In .NET Core With Tips
In this article you will learn about how to hash passwords in .NET Core with tips.
نرمافزار Continuous یک IDE سریع و قوی برای C# و F# است که مستقیما روی iPad و iPhone بدون نیاز به شبکه اجرا می شود. با استفاده از این IDE می توانید اپ ها و بازیها را روی دیوایس خود کد بزنید و اجرا کنید. نحوه عمکرد Continuous به صورت تعاملی است به این معنا که دائما کد شما را اجرا می کند و می توانید به محض تغییر در کد تاثیر آن را در اجرای برنامه ببینید.
https://continuous.codes/
#سپیده_قنبری
لینکدین:
https://ir.linkedin.com/in/sepideh-ghanbari-584ba25a
کانال تلگرام:
@SoftwarePhilosophy
https://continuous.codes/
#سپیده_قنبری
لینکدین:
https://ir.linkedin.com/in/sepideh-ghanbari-584ba25a
کانال تلگرام:
@SoftwarePhilosophy
اضافه کردن فیچر به نرمافزار غالبا ویژگی مثبتی به نظر میرسد. ولی وقتی تیمی دارید که قدرت بسیار بالایی دارد اضافه کردن فیچرها با سرعت خیلی زیاد خودش میتواند نکات منفی داشته باشد. وقتی قدرت اضافه کردن امکانات با سرعت زیاد دارید باید محتاط باشید که امکانات جدید راهحلهایی جدید برای یک مسئله حل شده نباشند. داشتن تیم قدرتمند این قدرت را به مدیران میدهد که بتوانند سریع ایدههای ذهنی خود را پیادهسازی کنند. در این حین باید مراقب بود این امکانات با هم، همپوشانی نداشته باشند.
مثال زیر از تیم توسعه C# آورده شدهاست که در مورد کاربرد دو امکان این زبان که در نسخههای ۵ و ۶ اضافه شد صحبت میکند.
https://mehrandvd.me/2016/05/02/steady-consistent-flow-features/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
مثال زیر از تیم توسعه C# آورده شدهاست که در مورد کاربرد دو امکان این زبان که در نسخههای ۵ و ۶ اضافه شد صحبت میکند.
https://mehrandvd.me/2016/05/02/steady-consistent-flow-features/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
زمانیکه یک اپلیکیشن SPA رشد می کند و بزرگ و بزرگتر می شود، زمان لود آن نیز بیشتر می شود. به عبارت دیگر کد بیشتر به معنی فایلهای بزرگتر است و خیلی زود اپلیکیشن به مرحله ای می رسد که دیگر حتی minify کردن فایلها نیز پاسخگو نیست. اینجاست که باید فایل ها را هنگام نیاز لود کرد نه همه را در یک زمان. برای این منظور می توان از فریم ورکهای requireJS و ocLazyLoad استفاده کرد.
فریم ورک requireJS، عمدتا برای لود فایلهای جاوا اسکریپت dependency استفاده می شود و امکان لود فایلهای CSS وجود ندارد. همچنین امکان inject ماژولهای AngularJS وجود ندارد.
در فریم ورک ocLazyLoad ، نه تنها امکان لود فایلهای dependency و inject فایلهای AngularJs وجود دارد بلکه براحتی می توان فایلهای CSS را نیز لود کرد.
مقاله زیر مقایسه کامل و قابل فهمی از دو فریم ورک RequireJS و ocLazyLoad ارائه کرده است.
https://www.codeproject.com/Articles/1039826/Angularjs-Lazy-Loading-with-Requirejs-and-OcLazylo
#مریم_داودی
لینکدین:
https://www.linkedin.com/in/maryam-davoudi-7913565a
کانال تلگرام:
@SoftwarePhilosophy
___
فریم ورک requireJS، عمدتا برای لود فایلهای جاوا اسکریپت dependency استفاده می شود و امکان لود فایلهای CSS وجود ندارد. همچنین امکان inject ماژولهای AngularJS وجود ندارد.
در فریم ورک ocLazyLoad ، نه تنها امکان لود فایلهای dependency و inject فایلهای AngularJs وجود دارد بلکه براحتی می توان فایلهای CSS را نیز لود کرد.
مقاله زیر مقایسه کامل و قابل فهمی از دو فریم ورک RequireJS و ocLazyLoad ارائه کرده است.
https://www.codeproject.com/Articles/1039826/Angularjs-Lazy-Loading-with-Requirejs-and-OcLazylo
#مریم_داودی
لینکدین:
https://www.linkedin.com/in/maryam-davoudi-7913565a
کانال تلگرام:
@SoftwarePhilosophy
___
Codeproject
Angularjs Lazy Loading with Requirejs and OcLazyload - CodeProject
Implementing lazy loading in anuglarjs application with Requirejs and OcLazyLoad; Author: Jeevanandan J; Updated: 20 Nov 2015; Section: Client side scripting; Chapter: Web Development; Updated: 20 Nov 2015
Forwarded from Software Philosophy
اگر دوستانی دارید که نه تنها برنامه نویس هستند، بلکه اعتقاد دارند «مهندس نرمافزار» هم هستند، آنها را به کانال @SoftwarePhilosophy دعوت کنید و این پیغام را برای آنها Forward کنید.