بهترین UX برای یک برنامه، UXی است که دیده نمیشود! هر چه تجربه کاربری یک برنامه بهتر طراحی شده باشد، باعث میشود کاربر احساس راحتی بیشتری کند و اصلا احساس نکند چیزی وجود دارد! برای این منظور باید اصولی را در طراحی برنامه رعایت کرد.
- طراحی باید طوری باشد که همه چیز آشنا به نظر برسد!
- تمیز بودن و خلوت بودن به اندازه کاربردی بودن مهم است.
- رعایت اصل سادگی کمک بزرگی به طراحی روانتر میکند.
لینک زیر مواردی را که برای رسیدن به یک UX که دیده نشود لازم است را توضیح میدهد.
https://uxmag.com/articles/the-best-enterprise-ux-is-the-one-you-never-see
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
- طراحی باید طوری باشد که همه چیز آشنا به نظر برسد!
- تمیز بودن و خلوت بودن به اندازه کاربردی بودن مهم است.
- رعایت اصل سادگی کمک بزرگی به طراحی روانتر میکند.
لینک زیر مواردی را که برای رسیدن به یک UX که دیده نشود لازم است را توضیح میدهد.
https://uxmag.com/articles/the-best-enterprise-ux-is-the-one-you-never-see
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
Uxmag
The Best Enterprise UX Is the One You Never See
Whether developing software in the ecommerce, biotech, storage, or security industries, there are five philosophies that shape an approach to enterprise UX.
چطور برنامهنویسی موازی را برای مادربزرگتان توضیح دهید!؟
برنامه نویسی موازی (Parallel Programming) و برنامه نویسی ناهمگام (Asynchronous Programming) مفاهیم نسبتا جدیدی در دنیای برنامهنویسی هستند که برای اغلب برنامهنویسان جدید است. همه در مورد آن شنیدهانم ولی اغلب واضح نیست که دقیقا چیست و چرا سخت است. یک مفهوم پایه برای درک این مفاهیم پایه Thread یا نخ است. نخها مفاهیمی هستند که وظیفه انجام کارها روی CPU را دارند. در دنیای ما انسانها کسانی هستند که کار انجام میدهند. مقاله زیر مفهوم «نخ» را به «انسان» شبیه دیدهاست و سعی کردهاست مفاهیم پیچیده دنیای برنامهنویسی را با مفاهیم ساده دنیای ما انسانها توضیح دهد.
https://mehrandvd.me/2016/04/18/parallel-programming-grandmother/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
برنامه نویسی موازی (Parallel Programming) و برنامه نویسی ناهمگام (Asynchronous Programming) مفاهیم نسبتا جدیدی در دنیای برنامهنویسی هستند که برای اغلب برنامهنویسان جدید است. همه در مورد آن شنیدهانم ولی اغلب واضح نیست که دقیقا چیست و چرا سخت است. یک مفهوم پایه برای درک این مفاهیم پایه Thread یا نخ است. نخها مفاهیمی هستند که وظیفه انجام کارها روی CPU را دارند. در دنیای ما انسانها کسانی هستند که کار انجام میدهند. مقاله زیر مفهوم «نخ» را به «انسان» شبیه دیدهاست و سعی کردهاست مفاهیم پیچیده دنیای برنامهنویسی را با مفاهیم ساده دنیای ما انسانها توضیح دهد.
https://mehrandvd.me/2016/04/18/parallel-programming-grandmother/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
مفهوم 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.
همیشه هر چیز خوبی، میتواند بد استفاده شود و نتیجه عکس دهد. این قضیه در مورد تکنولوژی هم صادق است. مقاله زیر توضیح میدهد که چه عادتهای اشتباهی هنگام کار با 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
___
مفهوم delegate در زبان C# چه مشکلی را حل میکند؟ این مفهوم مشابه همان مفهوم Function Pointer یا اشارهگر به تابع در زبانهایی مانند C++ است. در حقیقت delegate ها میتوانند یک تابع را در دل خود نگه دارند و به صورت امن به آن اشاره کنند. شما اجازه دارید آنها را با هر تابعی که با امضای تعریف شده در آنها تطابق دارد مقدار دهی کنید.
لینک زیر این مفهوم را با مثال توضیح میدهد.
https://www.c-sharpcorner.com/blogs/what-problem-does-delegates-solve-in-c-sharp
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
لینک زیر این مفهوم را با مثال توضیح میدهد.
https://www.c-sharpcorner.com/blogs/what-problem-does-delegates-solve-in-c-sharp
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
C-Sharpcorner
What Problem Does Delegates Solve in C#?
In this blog you will learn how to solve Delegates Problem in C#.
تا کنون روشهاهای زیادی برای اندازه گیری نرم افزار (مخصوصا در راستای ارزش گذاری) پیشنهاد و به کار گرفته شده است. از روشهای قدیمی مانند LOC و FP مبتنی بر قیمت تمام شده تولید تا روشهای بروز تر و خلاقانه تری که اکنون به کار می رود.
زمانی که میخواهیم از نرم افزار، در آمد کسب کنیم، اولین چیزی که به ذهن می آید، فروش آن است؛ و این یعنی که ما نرم افزار را یک محصول در نظر گرفته ایم که تمام آن و یا حق امتیاز (Licence) استفاده از آن را در اختیار مشتری قرار می دهیم. اما آیا فروش محصول تنها راه کسب در آمد از طریق نرم افزار است؟
https://goo.gl/RY3veo
محمد مهدی نظری
لینکدین
https://ir.linkedin.com/in/mohammad-mahdi-nazari-90097b58
توییتر
https://twitter.com/ShamehdiN
کانال تلگرام:
@SoftwarePhilosophy
___
زمانی که میخواهیم از نرم افزار، در آمد کسب کنیم، اولین چیزی که به ذهن می آید، فروش آن است؛ و این یعنی که ما نرم افزار را یک محصول در نظر گرفته ایم که تمام آن و یا حق امتیاز (Licence) استفاده از آن را در اختیار مشتری قرار می دهیم. اما آیا فروش محصول تنها راه کسب در آمد از طریق نرم افزار است؟
https://goo.gl/RY3veo
محمد مهدی نظری
لینکدین
https://ir.linkedin.com/in/mohammad-mahdi-nazari-90097b58
توییتر
https://twitter.com/ShamehdiN
کانال تلگرام:
@SoftwarePhilosophy
___
Forwarded from SQL Server
در این مقاله شما متوجه می شوید که چگونه SQL Server In-Memory OLTP بدن استفاده از Lock و Latch تراکنشها را در یک زمان و بر روی یک سطر از داده انجام می دهد. https://fard-solutions.com/sql-server-memory-multi-version-concurrency-control/
یکی از کاربردهایی که پروژه 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
ضد الگوی «کد مرده» یا Dead Code، یک Anti Pattern رایج در شرکتهایی است که مدت نسبتا زیادی سیستم تولید میکنند. اگر شما این جملهها را میشنوید احتمالا شما هم دچار این ضد الگو شدهاید:
- این کد رو دو نفر قبلا نوشند که سه سال پیش رفتند و پارسال یه نفر دیگه تلاش کرد یاد بگیره و مستند بنویسه براش و اون هم رفته. البته فک نکنم الان اصلا از این کد استفاده بشه، ولی محض احتیاط بهتره پاک نشه!
این نوع کدها غالبا پیچیدگی سیستم را به شدت بالا میبرند و تغییرات آتی سیستم را بسیار سخت میکنند.
بسیاری از این کدها به این علت به وجود میآیند که در زمان تولید کدهای در حد R&D وارد کد عملیاتی شده و به مدیریت آن در آینده فکر نشده.
https://sourcemaking.com/antipatterns/lava-flow
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
- این کد رو دو نفر قبلا نوشند که سه سال پیش رفتند و پارسال یه نفر دیگه تلاش کرد یاد بگیره و مستند بنویسه براش و اون هم رفته. البته فک نکنم الان اصلا از این کد استفاده بشه، ولی محض احتیاط بهتره پاک نشه!
این نوع کدها غالبا پیچیدگی سیستم را به شدت بالا میبرند و تغییرات آتی سیستم را بسیار سخت میکنند.
بسیاری از این کدها به این علت به وجود میآیند که در زمان تولید کدهای در حد R&D وارد کد عملیاتی شده و به مدیریت آن در آینده فکر نشده.
https://sourcemaking.com/antipatterns/lava-flow
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
Sourcemaking
Design Patterns and Refactoring
Design Patterns and Refactoring articles and guides. Design Patterns video tutorials for newbies. Simple descriptions and full source code examples in Java, C++, C#, PHP and Delphi.
مفهوم «Lambda Expression» یکی از مفاهیم جذابی است که از دنیای Functional Programming وارد زبانهای شیگرا شدهاست. در نسخه Java 8 این امکان به زبان جاوا هم اضافه شدهاست. عبارات لامبدا باعث میشوند برنامه نویسی به شدت لذتبخشتر و کمخطا تر شوند. همچنین خوانایی کد میتواند با استفاده از لامبدا بسیار بهتر شود. مقاله زیر که به توضیح چگونگی استفاده از لامبدا در زبان جاوا پرداخته است، نشان میدهد چگونه برنامه نویسی با این مفهوم لذتبخشتر شده است.
https://mehrandvd.me/2015/09/10/tasty-lambdas-in-java-8/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
https://mehrandvd.me/2015/09/10/tasty-lambdas-in-java-8/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
Forwarded from Software Philosophy
اندیشه طراحی یا «Design Thinking» یک مفهوم جدید در طراحی نرمافزار است که توسط IBM معرفی شدهاست. این روش به فرایند تولید نرمافزار به دید خلق یک سرویس نگاه میکند، سرویسی که قرار است به مشتریان ارائه شود تا نیاز واقعی آنها را برطرف کند. این روش با روش Agile متفاوت دارد ولی از ویژگیهای آن استفاده میکند. به نظر میرسد این روش محبوبیت خیلی زیادی به دست آورد و مطالعه آن واقعا لذتبخش است.
https://www.ibm.com/design/thinking/
ویدئوی زیر این روش را به اختصار شرح میدهد:
https://bit.ly/1WzM4dQ
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
https://www.ibm.com/design/thinking/
ویدئوی زیر این روش را به اختصار شرح میدهد:
https://bit.ly/1WzM4dQ
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
Ibm
IBM Enterprise Design Thinking
Discover IBM's Enterprise Design Thinking framework—a scalable, human-centered framework that helps teams align on user outcomes, accelerates collaboration, and drives innovation at speed and scale.
Forwarded from Software Philosophy
همیشه هر چیز خوبی، میتواند بد استفاده شود و نتیجه عکس دهد. این قضیه در مورد تکنولوژی هم صادق است. مقاله زیر توضیح میدهد که چه عادتهای اشتباهی هنگام کار با LINQ میتواند شما را به اشتباه بیندازد و باعث ایجاد کد بد شود.
یکی از خطرناکترین ویژگیهای LINQ این است که وقتی با آن کار میکنید احساس میکنید خیلی باهوشید که غالبا باعث میشود کد احمقانه و پیچیدهای با آن بنویسید. فهمیدن مفهوم Provider ها نیز مسئله مهمی است که باید با آن آشنا باشید.
مقاله زیر این نکات را شرح میدهد.
https://mehrandvd.me/2016/03/28/linq-the-bad-parts/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
یکی از خطرناکترین ویژگیهای LINQ این است که وقتی با آن کار میکنید احساس میکنید خیلی باهوشید که غالبا باعث میشود کد احمقانه و پیچیدهای با آن بنویسید. فهمیدن مفهوم Provider ها نیز مسئله مهمی است که باید با آن آشنا باشید.
مقاله زیر این نکات را شرح میدهد.
https://mehrandvd.me/2016/03/28/linq-the-bad-parts/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
Forwarded from Software Philosophy
اگر دوستانی دارید که نه تنها برنامه نویس هستند، بلکه اعتقاد دارید «مهندس نرمافزار» هم هستند، آنها را به کانال @SoftwarePhilosophy دعوت کنید.
این پیغام را برای آنها Forward کنید.
این پیغام را برای آنها Forward کنید.
Forwarded from Software Philosophy
یکی از مباحث مهم در Exception Handling در زبان Java، استفاده درست از انواع Checked Excections و Unchecked Exceptions است. مطلب زیر هر کدام از این نوع Exception ها و کاربرد آنها را توضیح میدهد. سپس «مزایا» و «معایب» هر یک را شرح میدهد.
در این مقاله تاکید شدهاست که در نرمافزار خود حتما یک رویکرد واحد را انتخاب کنید و از آن پیروی کنید. چرا که انتخاب دو رویکرد همزمان غالبا موجود پیچیدگی بیشتر میشود.
https://tutorials.jenkov.com/java-exception-handling/checked-or-unchecked-exceptions.html
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
در این مقاله تاکید شدهاست که در نرمافزار خود حتما یک رویکرد واحد را انتخاب کنید و از آن پیروی کنید. چرا که انتخاب دو رویکرد همزمان غالبا موجود پیچیدگی بیشتر میشود.
https://tutorials.jenkov.com/java-exception-handling/checked-or-unchecked-exceptions.html
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
Jenkov
Checked or Unchecked Exceptions?
This tutorial covers the arguments for and against checked and unchecked exceptions in Java.
آیا شما هم از آن دسته از برنامه نویس/توسعه دهندگان هستید که ترجیح میدهند به تنهایی کار کنند. جواب هر چه باشد شکی در این نیست که هیچ پروژه بزرگی بدون وجود یک تیم خوب، به نتیجه نرسیده است.
انتخاب افراد مناسب بخشی از فرآیند تیم سازی است، اما قسمت مهم در هدایت یک تیم، به کارگیری هر فرد در جایگاه مناسب است. تعریف های مختلف و متنوعی از پارامتر های یک تیم موفق وجود دارد که یکی از جالب ترین این تعاریف مدلBelbin است. بلبین معتقد است در هر تیم موفق (گروهی که برای رسیدن به یک هدف مشترک فعالیت می کنند) مجموعه ای از نقش ها باید وجود داشته باشد.
لینک زیر این نقشها و خصوصیات هر یک را شرح می دهد. شما تا کنون کدامیک از این نقش ها را در گروه خود ایفا کرده اید؟
https://www.belbin.com/about/belbin-team-roles/
#مهدی_نظری
لینکدین
https://ir.linkedin.com/in/mohammad-mahdi-nazari-90097b58
توییتر
https://twitter.com/ShamehdiN
کانال تلگرام:
@SoftwarePhilosophy
___
انتخاب افراد مناسب بخشی از فرآیند تیم سازی است، اما قسمت مهم در هدایت یک تیم، به کارگیری هر فرد در جایگاه مناسب است. تعریف های مختلف و متنوعی از پارامتر های یک تیم موفق وجود دارد که یکی از جالب ترین این تعاریف مدلBelbin است. بلبین معتقد است در هر تیم موفق (گروهی که برای رسیدن به یک هدف مشترک فعالیت می کنند) مجموعه ای از نقش ها باید وجود داشته باشد.
لینک زیر این نقشها و خصوصیات هر یک را شرح می دهد. شما تا کنون کدامیک از این نقش ها را در گروه خود ایفا کرده اید؟
https://www.belbin.com/about/belbin-team-roles/
#مهدی_نظری
لینکدین
https://ir.linkedin.com/in/mohammad-mahdi-nazari-90097b58
توییتر
https://twitter.com/ShamehdiN
کانال تلگرام:
@SoftwarePhilosophy
___
Belbin
The Nine Belbin Team Roles
Using Belbin throughout your organisation will help individuals to fulfil their potential by identifying their key strengths, and enable the right people to be brought together to form high-performing teams.
Forwarded from Software Philosophy
مفهوم Pattern Matchning یکی از مفاهیمی است که قدرت بسیار زیادی به زبانهای Functional مانند Haskell داده است. این مفهوم را با Regex اشتباه نگیرید! این یک مفهوم زبان میباشد و ارتباط چندانی با Regex ندارد.
از آنجایی که مدتیست امکانات زبانهای Functional بسیار مورد علاقه طراحان زبانهای شیگرا مانند C# شده است بد نیست با این مفهوم آشنا شوید. پس از اضافه شده مفهوم Lambda Expressions در C# 3.0 امکان پیادهسازی بسیاری از مفاهیم پیچیده مهیا شده است.
جالب است بدانید که Pattern Matching یکی از جنجالبرانگیزترین امکاناتی است که قرار است به C# 7.0 اضافه شود.
لینک زیر به طور مختصر ایده را در زبان سیشارپ توضیح میدهد. همچنین لینک Specification دقیق که توسط طراحان زبان در حال نگارش است را ارائه داده است. به این ترتیب میتوانید ببینید مثلا همین امروز پیشنویس این استاندارد در چه وضعیتی است!
https://www.infoq.com/news/2014/08/Pattern-Matching
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
از آنجایی که مدتیست امکانات زبانهای Functional بسیار مورد علاقه طراحان زبانهای شیگرا مانند C# شده است بد نیست با این مفهوم آشنا شوید. پس از اضافه شده مفهوم Lambda Expressions در C# 3.0 امکان پیادهسازی بسیاری از مفاهیم پیچیده مهیا شده است.
جالب است بدانید که Pattern Matching یکی از جنجالبرانگیزترین امکاناتی است که قرار است به C# 7.0 اضافه شود.
لینک زیر به طور مختصر ایده را در زبان سیشارپ توضیح میدهد. همچنین لینک Specification دقیق که توسط طراحان زبان در حال نگارش است را ارائه داده است. به این ترتیب میتوانید ببینید مثلا همین امروز پیشنویس این استاندارد در چه وضعیتی است!
https://www.infoq.com/news/2014/08/Pattern-Matching
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
InfoQ
Pattern Matching in C# and VB
Another concept from functional programming languages making its way to C# and VB is what’s known as pattern matching. At first glance pattern matching looks like a switch/select block, but it is much more powerful.
طراحی تایملاین در برنامههای وب یکی از روشهای جذاب نمایش اتفاقات زمانی است. برای مدتی فیسبوک نیز از این مفهوم برای نمایش صفحات استفاده میکرد. مقاله زیر نحوه پیاده سازی مفهوم تایملاین را با استفاده از 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.
استفاده از Batch Insert و Batch Update در عملیات دیتابیسی نقش مهمی در Performance عملیات با تعداد سطر بالا دارد. هنگام استفاده از EntityFramework به صورت پیشفرض از این عملیات پشتیبانی نمیشود. پروژه EntityFramework.Extended یکی از پروژههایی است که این قابلیت را به EF اضافه میکند. این پروژه قابلیتهای زیر را به EF اضافه میکند:
- Batch Update and Delete
- Future Queries
- Query Result Cache
- Audit Log
https://github.com/loresoft/EntityFramework.Extended
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
- Batch Update and Delete
- Future Queries
- Query Result Cache
- Audit Log
https://github.com/loresoft/EntityFramework.Extended
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
GitHub
GitHub - zzzprojects/EntityFramework.Extended: Add-on feature for Entity Framework
Add-on feature for Entity Framework. Contribute to zzzprojects/EntityFramework.Extended development by creating an account on GitHub.
Forwarded from Software Philosophy
ضد الگو یا Anti Pattern «روحهای سرگردان» یکی از مواردی است که باعث دردسر در نرمافزارها میشود. این ضد الگو وقتی اتفاق میافتد که در کد، کلاسهای بیموردی که تقریبا هیچ مسئولیتی ندارند به وجود باید. به عبارتی بیش از حد مورد نیاز همه چیز abstract شده است. یکی شایعترین علتهای بروز این ضد الگو افرادی در پروژه هستند که دانش فرایندی بالا و دانش شیگرایی کم دارند. معمولا افرادی که یا در شیگرایی و Object Oriented جدید هستند و این دنیا برایشان خیلی جذاب است به شدت عاشق ساخت «کلاسهای روح سرگردان» میشوند! نبود نقش تخصصی معمار نرمافزار در تیم نیز یکی دیگر از دلایل این ضد الگو است.
https://sourcemaking.com/antipatterns/poltergeists
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
https://sourcemaking.com/antipatterns/poltergeists
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
Sourcemaking
Design Patterns and Refactoring
Design Patterns and Refactoring articles and guides. Design Patterns video tutorials for newbies. Simple descriptions and full source code examples in Java, C++, C#, PHP and Delphi.
Forwarded from Software Philosophy
همیشه مبحث DateTime در زبانهای برنامهنویسی چالش برانگیز بودهاست. مخصوصا اگر پای Calendar های مختلف و TimeZone های متفاوت در میان باشد. یکی از کتابخانههای بسیار محبوب در Java، کتابخانه JodaTime میباشد که این مفاهیم را کامل پوشش دادهاست. در Java 8 مفهوم DataTime بطور کامل بازنویسی شدهاست است و طبق JSR-310 به JDK اضافه شدهاست. یکی از سوالاتی که برای خیلیها پیش آمده بود این بود که اگر JodaTime خوب و موفق بود، چرا خودش به JDK اضافه نشده. در پست زیر Stephen Colebourne که برنامه نویس اصلی هر دو پروژه بوده توضیح داده علت این طراحی مجدد چه بوده است.
https://blog.joda.org/2009/11/why-jsr-310-isn-joda-time_4941.html
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
https://blog.joda.org/2009/11/why-jsr-310-isn-joda-time_4941.html
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
Forwarded from Iran .Net
همانطور که مطلع هستید نسخه نهایی SQL Server 2016 منتشر شده است و در صورتی که در برنامه Visual Studio Dev Essentials عضو باشید می توانید به طور رایگان نسخه ای معادل با نسخه Enterprise را دریافت کنید. به این نسخه Developer Edition گفته می شود.
یکی از قابلیت های جدید و جذاب این نسخه Temporal Table می باشد.
این قابلیت کمک می کند که تمامی تغییراتی که در داده های یک جدول حادث می شود، در جدولی جداگانه به نام History Table ذخیره شود. در این جدول همچنین زمانِ تغییرات و مدت زمانی که یک داده Valid بوده است به طور خودکار ضبط می شوند.
از این ویژگی می توانید به جهت Auditing و مانیتورینگ تغییرات استفاده کنید و یا به مدیران کمک کنیم که با تحلیل نحوه تغییرات داده ها در طول زمان تصمیم گیری های بهتری داشته باشند.
1. آشنایی با Temporal Tables
https://msdn.microsoft.com/en-us/library/dn935015.aspx
2. نگاهی دقیق تر و آشنایی با محدودیت ها
https://www.mssqltips.com/sqlservertip/3680/introduction-to-sql-server-2016-temporal-tables/
این ویژگی از لحاظ ماهوی به قابلیت Change Data Tracking یا CDC اشتراکاتی دارد. این قابلیت هم در پست های قبلی معرفی شده بود.
@irandotnet
یکی از قابلیت های جدید و جذاب این نسخه Temporal Table می باشد.
این قابلیت کمک می کند که تمامی تغییراتی که در داده های یک جدول حادث می شود، در جدولی جداگانه به نام History Table ذخیره شود. در این جدول همچنین زمانِ تغییرات و مدت زمانی که یک داده Valid بوده است به طور خودکار ضبط می شوند.
از این ویژگی می توانید به جهت Auditing و مانیتورینگ تغییرات استفاده کنید و یا به مدیران کمک کنیم که با تحلیل نحوه تغییرات داده ها در طول زمان تصمیم گیری های بهتری داشته باشند.
1. آشنایی با Temporal Tables
https://msdn.microsoft.com/en-us/library/dn935015.aspx
2. نگاهی دقیق تر و آشنایی با محدودیت ها
https://www.mssqltips.com/sqlservertip/3680/introduction-to-sql-server-2016-temporal-tables/
این ویژگی از لحاظ ماهوی به قابلیت Change Data Tracking یا CDC اشتراکاتی دارد. این قابلیت هم در پست های قبلی معرفی شده بود.
@irandotnet
MSSQLTips.com
Introduction to SQL Server Temporal Tables
Temporal tables is a new feature introduced with SQL Server 2016 and allow automatic history tracking of data in a table.