Forwarded from DotNetZoom (محمد جواد ابراهیمی)
✅معرفی EFSecondLevelCache.Core
در سری #معرفی_اکستنشن_های_کاربردی_EFCore
توسط این کتابخانه میتونین کش سطح دوم (second level caching) رو روی EF Core فعال کنین. در واقع میتونین نتیجه کوئری هاتون رو کش کنین تا دفعه بعد، به جای دیتابیس، از کش خونده بشه.
این کتابخانه توسط وحید نصیری عزیز، مدیر سایت dotnettips.info نوشته شده است.
🔸این کتابخانه برای مدیریت Caching اش از کتابخانه CacheManager استفاده میکنه که فوق العاده قدرتمند و انعطاف پذیر هست و قبلا معرفیش کردیم.
🔹در حال حاضر این کتابخانه محبوبترین و سپس کتابخانه EntityFrameworkCore.Cacheable که قبلا معرفی کردیم جز بهترین کتابخانه های کش سطح دوم برای EF Core هستند.
🔸مزیت این کتابخانه نسبت به اون، اینه که از async هم پشتیبانی میکنه. مثال :
https://github.com/VahidN/EFSecondLevelCache.Core/
_______________
@IranAspMvc
در سری #معرفی_اکستنشن_های_کاربردی_EFCore
توسط این کتابخانه میتونین کش سطح دوم (second level caching) رو روی EF Core فعال کنین. در واقع میتونین نتیجه کوئری هاتون رو کش کنین تا دفعه بعد، به جای دیتابیس، از کش خونده بشه.
این کتابخانه توسط وحید نصیری عزیز، مدیر سایت dotnettips.info نوشته شده است.
🔸این کتابخانه برای مدیریت Caching اش از کتابخانه CacheManager استفاده میکنه که فوق العاده قدرتمند و انعطاف پذیر هست و قبلا معرفیش کردیم.
🔹در حال حاضر این کتابخانه محبوبترین و سپس کتابخانه EntityFrameworkCore.Cacheable که قبلا معرفی کردیم جز بهترین کتابخانه های کش سطح دوم برای EF Core هستند.
🔸مزیت این کتابخانه نسبت به اون، اینه که از async هم پشتیبانی میکنه. مثال :
var products = context.Products.Include(x => x.Tags).Cacheable().FirstOrDefault();
🔹مزیت دیگه اش اینه که به صورت خودکار بحث اعتبار سنجی کش (اصطلاحا Invalidation یا Revalidation) رو به صورت خودکار مدیریت میکنه به این صورت که به محض تغییر یه entity یعنی (insert, update, delete)، آیتم های مربوط به اون رو از کش حذف میکنه تا توی کوئری بعدی بروز رسانی بشه.https://github.com/VahidN/EFSecondLevelCache.Core/
_______________
@IranAspMvc
GitHub
GitHub - VahidN/EFSecondLevelCache.Core: Entity Framework Core Second Level Caching Library
Entity Framework Core Second Level Caching Library - VahidN/EFSecondLevelCache.Core
👍1
#پست_مجدد این پست تا به حال بیش از ۶۱۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد
Forwarded from Software Philosophy
شایعترین دلیل تخمین زمان اشتباه یک پروژه
تخمین زمان یک پروژه کار آسانی نیست، مخصوصا اگر بخواهید خیلی دقیق باشید. ولی اغلب موارد مشکل تخمین این نیست که خیلی دقیق نیست، بلکه مشکلش این است که خیلی پرت است!
یکی از شایعترین عواملی که باعث میشود تخمین زمانی یک پروژه خیلی اشتباه باشد، تفاوت قائل نشدن بین دو مفهوم خیلی مهم است: «تخمین زمان» و «تخمین کار».
«تخمین زمان» مفهومی است که مدیران پروژه دوست دارند در مورد آن صحبت کنند. وقتی صحبت میکنند دائما به دنبال شنیدن تخمین زمانی هستند. برای مثال جملهای مانند «این کار تا پنجشنبه هفته بعد انجام میشود» جملهای است که زمان انجام شدن کار را تخمین میزند.
در مقابل «تخمین کار» مفهومی است که معمولا برنامهنویسان دوست دارند در مورد آن صحبت کنند. آنها ترجیح میدهند بگویند که این کار به چقدر زمان نیاز دارد. مثلا کاری است که به ۳ روز زمان نیاز دارد. مثلا جمله «این کار به یک هفته کار نیاز دارد» به این معنی نیست که یک هفته دیگر این کار تمام میشود و صرفا حجم کار مورد نیاز بیان شده.
برای یک تخمین موفق باید این مفاهیم در جلسات کاملا واضح شوند و در مورد آنها جداگانه صحبت شود. همچنین بهتر است از هر دو طیف افراد بالا در جلسات حضور داشته باشند تا جوانب مختلف بررسی شود.
پست زیر این دو مفهوم را معرفی کرده و تفاوت آنها را در مدیریت پروژه شرح دادهاست.
http://mehrandvd.me/2017/08/02/effort-vs-time-estimation/
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، بر روی لینک زیر کلیک کنید:
http://ow.ly/958i30erVZs
#مهران_داودی (http://ow.ly/GwIl309lFEm)
کانال تلگرام:
@SoftwarePhilosophy
___
تخمین زمان یک پروژه کار آسانی نیست، مخصوصا اگر بخواهید خیلی دقیق باشید. ولی اغلب موارد مشکل تخمین این نیست که خیلی دقیق نیست، بلکه مشکلش این است که خیلی پرت است!
یکی از شایعترین عواملی که باعث میشود تخمین زمانی یک پروژه خیلی اشتباه باشد، تفاوت قائل نشدن بین دو مفهوم خیلی مهم است: «تخمین زمان» و «تخمین کار».
«تخمین زمان» مفهومی است که مدیران پروژه دوست دارند در مورد آن صحبت کنند. وقتی صحبت میکنند دائما به دنبال شنیدن تخمین زمانی هستند. برای مثال جملهای مانند «این کار تا پنجشنبه هفته بعد انجام میشود» جملهای است که زمان انجام شدن کار را تخمین میزند.
در مقابل «تخمین کار» مفهومی است که معمولا برنامهنویسان دوست دارند در مورد آن صحبت کنند. آنها ترجیح میدهند بگویند که این کار به چقدر زمان نیاز دارد. مثلا کاری است که به ۳ روز زمان نیاز دارد. مثلا جمله «این کار به یک هفته کار نیاز دارد» به این معنی نیست که یک هفته دیگر این کار تمام میشود و صرفا حجم کار مورد نیاز بیان شده.
برای یک تخمین موفق باید این مفاهیم در جلسات کاملا واضح شوند و در مورد آنها جداگانه صحبت شود. همچنین بهتر است از هر دو طیف افراد بالا در جلسات حضور داشته باشند تا جوانب مختلف بررسی شود.
پست زیر این دو مفهوم را معرفی کرده و تفاوت آنها را در مدیریت پروژه شرح دادهاست.
http://mehrandvd.me/2017/08/02/effort-vs-time-estimation/
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، بر روی لینک زیر کلیک کنید:
http://ow.ly/958i30erVZs
#مهران_داودی (http://ow.ly/GwIl309lFEm)
کانال تلگرام:
@SoftwarePhilosophy
___
Dot Philosophy
Effort vs. Time Estimation - Dot Philosophy
Estimating the required time for a task, is not an easy job to do, if you want to be precise! The main problem with estimating is that, most of the time it is wrong! Being wrong is not too bad for an estimation. But, being too wrong is a disaster for a project.…
Forwarded from فلسفه دیزاین
۶ مرحلهی ساخت تجربه کاربری
به طور ساده، UX یا User Experience به معنی احساساتی است که کاربر هنگام استفاده از یک محصول خاص دارد که شامل «احساس کلی نسبت به محصول»، «هیجانات» و «ارتباطات فیزیکی» با محصول، میشود.
اصطلاح UX یا «تجربه کاربری» اولین بار توسط Donald Norman، معاون اسبق تکنوتوژیهای پیشرفته شرکت اپل بوجود آمد. او عقیده داشت مفاهیم «رابط کاربری» و «کاربردپذیری» بسیار به هم نزدیک هستند هروقت به طراحی یک محصول فکر میکنیم، باید به تمام تجربیات یک کاربر و رابطهاش با محصول بنگریم.
این طرز تفکر میتواند یک محصول را از دید «طراحی صنعتی»، «هویت بصری»، «رابط کاربری» و «ارتباطات فیزیکی و تجربه لمس محصول» و حتی « طراحی راهنمای استفاده» مورد بررسی و قرار داده و در نهایت آن را بهروز کند.
چرا «تجربه کاربری» انقدر مهم است؟ یک تجربه کاربری خوب، با ایجاد احساس مثبت در کاربران نسبت به محصول، میتواند میزان رضایت و از همه مهمتر وفاداری کاربران را افزایش دهد.
طراحی و نگرش تجربه کاربری یک محصول نسبت به محصول دیگر میتواند کاملا متفاوت باشد، پس بهتر است هدفمان لزوما شبیه شدن به شرکتهای بزرگ در این حوزه نباشد و باید تلاش کنیم وقت، انرژی و منابعمان را صرف یکی از بزرگترین اهداف هر محصول، یعنی جذب کاربران بیشتر و تبدیل کردن یک کاربر عادی به کاربر وفادار بکنیم.
مقالهای که میخوانید، به شرح دقیق طراحی تجربه کاربری در ۶ مرحله میپردازد.
بدیهیست که موثرترین روش در طراحی تجربه کاربری، طراحی روش منحصر بفرد خود شماست. روشی که واقعا کار میکند و به معنای واقعی به درد خود شما میخورد.
http://bit.ly/dxgn475
(زمان حدودی مطالعه، ۱۲ دقیقه)
نویسنده: آرش اصغری
#تجربه_کاربری #روش #طراحی_محصول
@Dexign فلسفه دیزاین
ــــــــــ
به طور ساده، UX یا User Experience به معنی احساساتی است که کاربر هنگام استفاده از یک محصول خاص دارد که شامل «احساس کلی نسبت به محصول»، «هیجانات» و «ارتباطات فیزیکی» با محصول، میشود.
اصطلاح UX یا «تجربه کاربری» اولین بار توسط Donald Norman، معاون اسبق تکنوتوژیهای پیشرفته شرکت اپل بوجود آمد. او عقیده داشت مفاهیم «رابط کاربری» و «کاربردپذیری» بسیار به هم نزدیک هستند هروقت به طراحی یک محصول فکر میکنیم، باید به تمام تجربیات یک کاربر و رابطهاش با محصول بنگریم.
این طرز تفکر میتواند یک محصول را از دید «طراحی صنعتی»، «هویت بصری»، «رابط کاربری» و «ارتباطات فیزیکی و تجربه لمس محصول» و حتی « طراحی راهنمای استفاده» مورد بررسی و قرار داده و در نهایت آن را بهروز کند.
چرا «تجربه کاربری» انقدر مهم است؟ یک تجربه کاربری خوب، با ایجاد احساس مثبت در کاربران نسبت به محصول، میتواند میزان رضایت و از همه مهمتر وفاداری کاربران را افزایش دهد.
طراحی و نگرش تجربه کاربری یک محصول نسبت به محصول دیگر میتواند کاملا متفاوت باشد، پس بهتر است هدفمان لزوما شبیه شدن به شرکتهای بزرگ در این حوزه نباشد و باید تلاش کنیم وقت، انرژی و منابعمان را صرف یکی از بزرگترین اهداف هر محصول، یعنی جذب کاربران بیشتر و تبدیل کردن یک کاربر عادی به کاربر وفادار بکنیم.
مقالهای که میخوانید، به شرح دقیق طراحی تجربه کاربری در ۶ مرحله میپردازد.
بدیهیست که موثرترین روش در طراحی تجربه کاربری، طراحی روش منحصر بفرد خود شماست. روشی که واقعا کار میکند و به معنای واقعی به درد خود شما میخورد.
http://bit.ly/dxgn475
(زمان حدودی مطالعه، ۱۲ دقیقه)
نویسنده: آرش اصغری
#تجربه_کاربری #روش #طراحی_محصول
@Dexign فلسفه دیزاین
ــــــــــ
Invisionapp
The UX design process in 6 stages | Inside Design Blog
A crash course for UX newbies to setting up your own UX process.
ما همیشه به دنبال آپدیت کردن نسخه سیستم عاملهایمان هستیم. اما به عنوان developer آیا به دنبال آپدیت بودن نسخه فریمورکی که از آن استفاده میکنیم نیز هستیم؟
ما نباید از قافله عقب باشیم و اگر از فریمورکی استفاده میکنیم، میبایست همیشه به دنبال استفاده از آخرین نسخه و امکانات آن باشیم.
در استفاده از ریاکت ۱۶ به جای ریاکت ۱۵ مسایل زیادی وجود دارد که باید در نظر گرفته شوند.
این مقاله به شما کمک میکند با ری اکت ۱۵ خداحافظی کنید و به روز شوید!
https://medium.freecodecamp.org/why-react16-is-a-blessing-to-react-developers-31433bfc210a
#مریم_کمالی (http://ow.ly/9Wa430mFGeK)
کانال تلگرام:
@SoftwarePhilosophy
___
ما نباید از قافله عقب باشیم و اگر از فریمورکی استفاده میکنیم، میبایست همیشه به دنبال استفاده از آخرین نسخه و امکانات آن باشیم.
در استفاده از ریاکت ۱۶ به جای ریاکت ۱۵ مسایل زیادی وجود دارد که باید در نظر گرفته شوند.
این مقاله به شما کمک میکند با ری اکت ۱۵ خداحافظی کنید و به روز شوید!
https://medium.freecodecamp.org/why-react16-is-a-blessing-to-react-developers-31433bfc210a
#مریم_کمالی (http://ow.ly/9Wa430mFGeK)
کانال تلگرام:
@SoftwarePhilosophy
___
freeCodeCamp.org
Why React16 is a blessing to React developers
By Harsh Makadia Just like how people are excited about updating their mobile apps and OS, developers should also be excited to update their frameworks. The new version of the different frameworks come with new features and tricks out of the box. Bel...
Forwarded from DotNetZoom (محمد جواد ابراهیمی)
✅ رمزنگاری خودکار فیلدها در EF Core
بعلاوه بررسی قابلیت HasConversion و ValueConverter در EF Core
🔸مقاله زیر قابلیت جالبی (و البته خاصی) رو به نام ValueConverter ها در EF Core 2.1 (به بالا) معرفی میکنه، توسط این قابلیت دیتا های شما قبل از اینکه وارد دیتابیس بشه (مثلا Add و Update و...) این امکان رو به شما میده که تغییرش بدین؛ مثلا مقادیر enum تون رو به جای اینکه عددش توی دیتابیس ذخیره بشه، متن string اش ذخیره بشه.
این کار پشت صحنه و به صورت خودکار انجام میشه و نیازی نیست توی کد هاتون خودتون هندل اش کنین.
🔹همچنین موقع واکشی کردن اطلاعات، قبل از اینکه دیتا به دست شما برسه این امکان رو به شما میده که تغییرش بدین، مثلا همون متن string رو به enum مربوطه تبدیل کنین. این کار هم به صورت خودکار انجام میشه و نیازی نیست توی کوئری هاتون کد اضافه تری بنویسین.
🔸حالا وحید نصیری عزیز با استفاده از این ترفند اومده یه مثال زده. اومده یه ValueConverter نوشته که کارش Encrypt کردن متون قبل از Insert شدن و Decrypt کردن اون به هنگام واکشی هست. در نتیجه متون شما توی دیتابیس رمزنگاری شده ذخیره میشه، ولی وقتی توی برنامه کوئری میزنین، متن عادی (رمزگشایی شده) رو مشاهده میکنین.
🔹البته این صرفا یک مثال (خلاقانه) هست و به نظرم راه بهینه ای واسه رمزنگاری اطلاعات دیتابیس نباشه، توی SQLServer راه های اصولی تری مخصوص این قضیه وجود داره
https://www.dotnettips.info/post/3015
_______________
@IranAspMvc
بعلاوه بررسی قابلیت HasConversion و ValueConverter در EF Core
🔸مقاله زیر قابلیت جالبی (و البته خاصی) رو به نام ValueConverter ها در EF Core 2.1 (به بالا) معرفی میکنه، توسط این قابلیت دیتا های شما قبل از اینکه وارد دیتابیس بشه (مثلا Add و Update و...) این امکان رو به شما میده که تغییرش بدین؛ مثلا مقادیر enum تون رو به جای اینکه عددش توی دیتابیس ذخیره بشه، متن string اش ذخیره بشه.
این کار پشت صحنه و به صورت خودکار انجام میشه و نیازی نیست توی کد هاتون خودتون هندل اش کنین.
🔹همچنین موقع واکشی کردن اطلاعات، قبل از اینکه دیتا به دست شما برسه این امکان رو به شما میده که تغییرش بدین، مثلا همون متن string رو به enum مربوطه تبدیل کنین. این کار هم به صورت خودکار انجام میشه و نیازی نیست توی کوئری هاتون کد اضافه تری بنویسین.
🔸حالا وحید نصیری عزیز با استفاده از این ترفند اومده یه مثال زده. اومده یه ValueConverter نوشته که کارش Encrypt کردن متون قبل از Insert شدن و Decrypt کردن اون به هنگام واکشی هست. در نتیجه متون شما توی دیتابیس رمزنگاری شده ذخیره میشه، ولی وقتی توی برنامه کوئری میزنین، متن عادی (رمزگشایی شده) رو مشاهده میکنین.
🔹البته این صرفا یک مثال (خلاقانه) هست و به نظرم راه بهینه ای واسه رمزنگاری اطلاعات دیتابیس نباشه، توی SQLServer راه های اصولی تری مخصوص این قضیه وجود داره
https://www.dotnettips.info/post/3015
_______________
@IranAspMvc
.NET Tips
رمزنگاری خودکار فیلدها توسط Entity Framework Core
از EF Core 2.1 به بعد، قابلیت جدیدی تحت عنوان «تبدیلگرهای مقدار»، به آن اضافه شدهاست. برای مثال در EF Core، زمانیکه اطلاعات Enums، در بانک اطلاعاتی ذخیره میشوند، معادل عددی آنها درج خواهند شد. اگر علاقمند باشید تا بجای این مقادیر عددی دقیقا همان رشتهی…
#پست_مجدد این پست تا به حال بیش از ۵۴۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد
Forwarded from Software Philosophy
استفاده از امکانات Azure و TFS برای تیمهای برنامهنویسی بسیار جذاب است. بسیاری از مشکلاتی که در تیمهای نرمافزاری پیش میآید به علت نبود فرایندهای درست و ابزارهای مناسب است. یکی از دغدغههای تیمهای برنامهنویسی، نحوه تعامل و همکاری اعضای تیم در ساخت نیازمندیهای نرمافزار به صورت با کیفیت است. نیازها باید طوری شفاف تعریف شوند که قابل تست باشند. اصولا اگر یک نیازمندی به اندازهای واضح تعریف نشده که بتوان آن را تست کرد، احتمالا کد آن هم خیلی واضح به آن هدف نخواهد رسید!
در مقاله زیر تجربه استفاده از دو ابزار Team Foundation Server و یکپارچگی آن با سرویسهای Azure در یک پروژه عملی شرح داده شده است. در این فرایند Feature ها به عنوان زبان مشترک بین تیم فنی و بیزنس طراحی میشوند. سپس این Feature ها به Backlog Item ها شکسته میشوند. یک Backlog Item در حقیقت یک نیازمندیاست است که آنقدری کوچک شده که بتوان آن را به تنهایی تست کرد. به طوری که اگر تست تمام Backlog Item های یک Feature پاس شود، به معنی قابل تحویل بودن آن به تیم بیزنس باشد. سپس Task ها مجموعه کارهایی (فنی و غیر فنی) است که باید انجام شود تا بتوان تست یک Backlog Item را پاس کرد.
در مقاله زیر به طور خلاصه توضیح داده شدهاست که چگونه Sprint ها انجام میشوند.
http://mehrandvd.me/2017/02/24/azure-experience-handling-requirements/
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، بر روی لینک زیر کلیک کنید:
http://ow.ly/3NGm30b5IjZ
#مهران_داودی (http://ow.ly/GwIl309lFEm)
کانال تلگرام:
@SoftwarePhilosophy
___
در مقاله زیر تجربه استفاده از دو ابزار Team Foundation Server و یکپارچگی آن با سرویسهای Azure در یک پروژه عملی شرح داده شده است. در این فرایند Feature ها به عنوان زبان مشترک بین تیم فنی و بیزنس طراحی میشوند. سپس این Feature ها به Backlog Item ها شکسته میشوند. یک Backlog Item در حقیقت یک نیازمندیاست است که آنقدری کوچک شده که بتوان آن را به تنهایی تست کرد. به طوری که اگر تست تمام Backlog Item های یک Feature پاس شود، به معنی قابل تحویل بودن آن به تیم بیزنس باشد. سپس Task ها مجموعه کارهایی (فنی و غیر فنی) است که باید انجام شود تا بتوان تست یک Backlog Item را پاس کرد.
در مقاله زیر به طور خلاصه توضیح داده شدهاست که چگونه Sprint ها انجام میشوند.
http://mehrandvd.me/2017/02/24/azure-experience-handling-requirements/
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، بر روی لینک زیر کلیک کنید:
http://ow.ly/3NGm30b5IjZ
#مهران_داودی (http://ow.ly/GwIl309lFEm)
کانال تلگرام:
@SoftwarePhilosophy
___
Dot Philosophy
My Azure Experience: Handling the Requirements - Dot Philosophy
It is been a while I am doing some projects totally based on Azure ecosystem. As we are not working in a same place, it is a completely new experience for me because everything is different with working together in a company like place. I've recently started…
Forwarded from فلسفه دیزاین
تقابل دو نظریه:
تفکر دیزاین؛ شکست یا موفقیت؟
بارها و بارها در این کانال درباره تفکر دیزاین صحبت شده است. همیشه هم از نحوه اجرای آن و خوبیهای آن صحبت کردهایم. از ویژگیهای خوب یک دیزاینر این است که بتواند خوب گوش کند، نظرات متفاوت و متضاد را بشنود و به تحلیل بپردازد.
امروز میخواهیم به صحبتهای خانم Natasha Jen گریزی بزنیم. ایشان در ویدئو زیر با تمام قوا و با لحنی تند به «تفکر دیزاین» انتقاد میکند. سخن کوتاه میکنم و پیش از ادامه ماجرا شما را به دیدن ویدئوی زیر دعوت میکنم.
http://bit.ly/dxgn476_1
حال که ویدئو را دیدید، میخواهیم از سوی دیگر به موضوع بنگریم و صحبتهای خانم Lillian Ayla Ersoy را، کسی که در زمینه تفکر دیزاین کارگاهها و نشستهای بسیاری داشته است، بخوانیم. ایشان بحث را به این شکل مطرح میکنند که Design Thinking به عنوا یک روششناسی مشکلی نداشته و نحوه اجرای آنست که ممکن است منجر به شکست شود.
میتوان تقابل دو دیدگاه در برخورد با مقولهی دیزاین به عنوان یک سیستم فکری را به وضوح مشاهده کرد. پس از بررسی این دیدگاهها به نظر شما آیا برای ایجاد خلاقیت و نتیجهی بهتر، اصولن نیاز به پیروی از روشهای مشخص هست یا خیر؟ روشها و استانداردها با چه هدفی ساخته میشوند و آیا همیشه میتوانند مفید باشند؟
ویدئو و مقاله امروز را از دست ندهید:
http://bit.ly/dxgn476_2
(زمان حدودی مطالعه، ۸ دقیقه)
نویسنده: حسین میرزاده
#ویدئو #نظریه #تفکر_دیزاین
@Dexign فلسفه دیزاین
_______
تفکر دیزاین؛ شکست یا موفقیت؟
بارها و بارها در این کانال درباره تفکر دیزاین صحبت شده است. همیشه هم از نحوه اجرای آن و خوبیهای آن صحبت کردهایم. از ویژگیهای خوب یک دیزاینر این است که بتواند خوب گوش کند، نظرات متفاوت و متضاد را بشنود و به تحلیل بپردازد.
امروز میخواهیم به صحبتهای خانم Natasha Jen گریزی بزنیم. ایشان در ویدئو زیر با تمام قوا و با لحنی تند به «تفکر دیزاین» انتقاد میکند. سخن کوتاه میکنم و پیش از ادامه ماجرا شما را به دیدن ویدئوی زیر دعوت میکنم.
http://bit.ly/dxgn476_1
حال که ویدئو را دیدید، میخواهیم از سوی دیگر به موضوع بنگریم و صحبتهای خانم Lillian Ayla Ersoy را، کسی که در زمینه تفکر دیزاین کارگاهها و نشستهای بسیاری داشته است، بخوانیم. ایشان بحث را به این شکل مطرح میکنند که Design Thinking به عنوا یک روششناسی مشکلی نداشته و نحوه اجرای آنست که ممکن است منجر به شکست شود.
میتوان تقابل دو دیدگاه در برخورد با مقولهی دیزاین به عنوان یک سیستم فکری را به وضوح مشاهده کرد. پس از بررسی این دیدگاهها به نظر شما آیا برای ایجاد خلاقیت و نتیجهی بهتر، اصولن نیاز به پیروی از روشهای مشخص هست یا خیر؟ روشها و استانداردها با چه هدفی ساخته میشوند و آیا همیشه میتوانند مفید باشند؟
ویدئو و مقاله امروز را از دست ندهید:
http://bit.ly/dxgn476_2
(زمان حدودی مطالعه، ۸ دقیقه)
نویسنده: حسین میرزاده
#ویدئو #نظریه #تفکر_دیزاین
@Dexign فلسفه دیزاین
_______
Vimeo
Natasha Jen: Design Thinking is Bullsh*t
If Google Image search is your sole barometer, “design thinking uses just one tool: 3M Post-Its,” says Pentagram partner Natasha Jen. “Why did…
گراف دیتابیس شامل مجموعهای از جداول node و جداول edge است. node اشاره به یک موجودیت دارد و edge ارتباط بین node ها را بیان میکند .گراف دیتابیسها زمانی استفاده میشوند که روابط پیچیده چند به چند بین اجزا وجود دارد. مثلا در یک شبکه اجتماعی افراد node هستند و ارتباط بین انها edge. ممکن است بین دو نفر چند نوع ارتباط وجود داشته باشد، پیاده سازی این الگو در دیتابیسهای غیرگرافی، بسیار سخت است.
مبحث گراف دیتابیس مدتی است که به Microsoft sql server افزوده شده است، لینک زیر آخرین امکانات مبحث گرافها را در sql server 2019 توضیح میدهد.
https://www.sqlshack.com/graph-database-features-in-sql-server-2019-part-1/
#شهریار_انتظام (http://ow.ly/qDN430nPiCg)
کانال تلگرام:
@SoftwarePhilosophy
___
مبحث گراف دیتابیس مدتی است که به Microsoft sql server افزوده شده است، لینک زیر آخرین امکانات مبحث گرافها را در sql server 2019 توضیح میدهد.
https://www.sqlshack.com/graph-database-features-in-sql-server-2019-part-1/
#شهریار_انتظام (http://ow.ly/qDN430nPiCg)
کانال تلگرام:
@SoftwarePhilosophy
___
SQL Shack - articles about database auditing, server performance, data recovery, and more
Graph Database features in SQL Server 2019 - Part 1
SQL Server 2019 contains enhancements for the Graph database: Edge Constraints, Match support in MERGE statement and Use a derived table or view aliases in graph match query
Forwarded from DotNetZoom (محمد جواد ابراهیمی)
🔰 چند نکته از NET Core SDK و Visual Studio
🔸 برای استفاده از ورژن های پیش نمایش (preview) دات نت کور در Visual Studio 2019 باید گزینه "Use Previews of the .NET Core SDK" را از مسیر زیر فعال کنید
🔹 ورژن های زیر از NET Core SDK بر روی Visual Studio 2017 کار نمی کند زیرا به MSBuild ورژن 16 نیاز دارد که با VS 2017 سازگاری ندارد و با Visual Studio 2019 اوکی هست
- ورژن های 2.2.2xx مانند 2.2.203
- ورژن های 2.1.6xx مانند 2.1.603
- ورژن های 3.0.1xx مانند 3.0.100
🔸 برای استفاده از آخرین آپدیت NET Core SDK 2.2 قابل نصب بر روی Viusal Studio 2017 باید حتما از ورژن 2.2.106 استفاده کنید
🔹 برای استفاده از آخرین آپدیت NET Core SDK 2.1 قابل نصب بر روی Viusal Studio 2017 باید حتما از ورژن 2.1.506 استفاده کنید
🔸 اگر با Visual Studio Code و یا JetBrains Rider کار کنید، هیچگاه متوجه وجود مسائل بالا نخواهید شد!
دلیلش اینه که هر نسخه از ویژوال استادیو ورژن MSBuild خودش رو داره و وقتی ما دکمه F5 رو میزنیم پروژه ها رو با اون build میکنه، در صوتی که اگر با دستور dotnet build توی command line بیلد میکرد هیچ مشکلی نداشت
از طرفی هر نسخه SDK یه range از عدد ورژن های MSBuild ایی که پشتیبانی میکنه رو تو خودش داره، ویژوال استادیو هم چک میکنه ببینه اون ورژن MSBuild لازم رو داره یا نه که اگه نه خطا میده
اما IDE های دیگه مثل VS Code و Rider از خودشون MSBuild ندارن و F5 رو میزنیم، پروژه رو با دستور dotnet build توی cmd بیلد میکنه، پس مشکلی نخواهند داشت
اطلاعات بیشتر:
https://github.com/dotnet/announcements/issues/108
_______________
@IranAspMvc
🔸 برای استفاده از ورژن های پیش نمایش (preview) دات نت کور در Visual Studio 2019 باید گزینه "Use Previews of the .NET Core SDK" را از مسیر زیر فعال کنید
Tools -> Options -> Projects and Solutions -> .NET Core -> Use Previews of the .NET Core SDK.تنظیم بالا در ورژن های بعدی VS 2019 به مسیر زیر انتقال می یابد
Tools -> Options -> Environment -> Preview Features🔹 اگر از ورژن های NET Core 3 SDK استفاده کنید نسخه زبان سی شارپ مورد استفاده در پروژه به صورت پیشفرض 8 خواهد بود
🔹 ورژن های زیر از NET Core SDK بر روی Visual Studio 2017 کار نمی کند زیرا به MSBuild ورژن 16 نیاز دارد که با VS 2017 سازگاری ندارد و با Visual Studio 2019 اوکی هست
- ورژن های 2.2.2xx مانند 2.2.203
- ورژن های 2.1.6xx مانند 2.1.603
- ورژن های 3.0.1xx مانند 3.0.100
🔸 برای استفاده از آخرین آپدیت NET Core SDK 2.2 قابل نصب بر روی Viusal Studio 2017 باید حتما از ورژن 2.2.106 استفاده کنید
🔹 برای استفاده از آخرین آپدیت NET Core SDK 2.1 قابل نصب بر روی Viusal Studio 2017 باید حتما از ورژن 2.1.506 استفاده کنید
🔸 اگر با Visual Studio Code و یا JetBrains Rider کار کنید، هیچگاه متوجه وجود مسائل بالا نخواهید شد!
دلیلش اینه که هر نسخه از ویژوال استادیو ورژن MSBuild خودش رو داره و وقتی ما دکمه F5 رو میزنیم پروژه ها رو با اون build میکنه، در صوتی که اگر با دستور dotnet build توی command line بیلد میکرد هیچ مشکلی نداشت
از طرفی هر نسخه SDK یه range از عدد ورژن های MSBuild ایی که پشتیبانی میکنه رو تو خودش داره، ویژوال استادیو هم چک میکنه ببینه اون ورژن MSBuild لازم رو داره یا نه که اگه نه خطا میده
اما IDE های دیگه مثل VS Code و Rider از خودشون MSBuild ندارن و F5 رو میزنیم، پروژه رو با دستور dotnet build توی cmd بیلد میکنه، پس مشکلی نخواهند داشت
اطلاعات بیشتر:
https://github.com/dotnet/announcements/issues/108
_______________
@IranAspMvc
GitHub
.NET Core SDK 2.2.2nn and 2.1.6nn do not work with Visual Studio 2017 · Issue #108 · dotnet/announcements
.NET Core SDK 2.2.2nn and 2.1.6nn do not work with Visual Studio 2017 .NET Core SDK 2.2.2nn and 2.1.6nn do not work with Visual Studio 2017. For example, 2.2.203 and 2.1.603 cause failures in Visua...
#پست_مجدد این پست تا به حال بیش از ۲۱۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد
Forwarded from Software Philosophy
استفاده از تاریخ و زمان در زبانهای برنامهنویسی همواره برای برنامه نویسان دردسر ساز بوده است. این مشکل به ویژه برای برنامه نویسان ایرانی مشهود است زیرا همیشه درگیر تبدیل تاریخهای میلادی و شمسی به یکدیگرند.
اما واقعا چرا مفهوم تاریخ در علم کامپیوتر و متعاقبا زبانهای برنامهنویسی دردسر سازند؟
در مورد یک عدد عبارت ۱۰۰ تا بعد از ۳۰۰ چند میشود معنی دقیقی دارد و جواب ۴۰۰ است. ولی در مورد تاریخ عبارت «یک ماه» بعد از ۱۶ شهریور چه روزی است جواب دقیقی ندارد. آیا منظور از یک ماه ۳۰ روز است یا ۳۱ روز؟ با هر کدام از این فرضیهها جواب ممکن است ۱۵ شهریور یا ۱۶ شهریور باشد.
مقاله زیر به صورت کاملتری پیچیدگیهایی را که تاریخ و زمان با خود به دنیای برنامهنویسی آوردهاند را توضیح دادهاست.
http://mehrandvd.me/2016/07/26/datetime-complexities-programming-languages/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
اما واقعا چرا مفهوم تاریخ در علم کامپیوتر و متعاقبا زبانهای برنامهنویسی دردسر سازند؟
در مورد یک عدد عبارت ۱۰۰ تا بعد از ۳۰۰ چند میشود معنی دقیقی دارد و جواب ۴۰۰ است. ولی در مورد تاریخ عبارت «یک ماه» بعد از ۱۶ شهریور چه روزی است جواب دقیقی ندارد. آیا منظور از یک ماه ۳۰ روز است یا ۳۱ روز؟ با هر کدام از این فرضیهها جواب ممکن است ۱۵ شهریور یا ۱۶ شهریور باشد.
مقاله زیر به صورت کاملتری پیچیدگیهایی را که تاریخ و زمان با خود به دنیای برنامهنویسی آوردهاند را توضیح دادهاست.
http://mehrandvd.me/2016/07/26/datetime-complexities-programming-languages/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
Dot Philosophy
Date Complexities in Programming Languages - Dot Philosophy
The problem with date concept! We, as humans, are good with dates and times. So, why computers are not! Why do they bother us (developers) on this!? As a matter of fact, the main problem is with different views of different cultures and countries to dates…
Forwarded from فلسفه دیزاین
چشمانداز آینده به سوی دیزاین مبتنی بر صدا
صدا همچنان یکی از مباحث پرطرفدار، همراه با رشد سریع است. پیش بینی شده که صنعت بلندگوهای هوشمند در سال ۲۰۱۹ دارای نرخ رشد ۶۳ درصدی نسبت به سال گذشته است. این پیشبینی، بلندگوهای هوشمند را سریع ترین دستگاه های ارتباطی در سال ۲۰۱۹ میدانند.
در حال حاضر مردم عمدتا از دستگاههای Alexa و Google Home خود فقط برای پخش موسیقی و بررسی آب وهوا استفاده میکنند. همراه با رشد بازار، نیاز است که دستگاههای اولیه از این پیشرفت تبعیت کنند و نقش مفیدتری در زندگی روزمره مردم ایفا نمایند.
در مسیر پیشرفت، بیشتر از همیشه صنعت نیاز به دیزاینرهایی دارد که بتواند برنامههای صوتی مفید و کاربرپسند ایجاد کنند. در این مسیر دیزاینرها میتواند تجربه مبتنی بر صدای خود را از متوسط به جادویی بیابند، گرچه با این چالش مواجهند که باید تمام زمینههای حریم خصوصی، امنیت و اخلاق را درنظربگیرند و رمز ادامه مسیر ایجاد تعادل بین امنیت و قابلیت استفاده است.
امروز شما را پای مقاله ای خواندنی درباره اینکه چگونه با اصلاحات ساده تبدیل به یک دیزاینر مبتنی بر صدا شویم، مینشانیم.
http://bit.ly/dxgn477
(زمان حدودی مطالعه، ۷ دقیقه)
نویسنده: نیما حکیمرابط
#اصول #رابط_کاربری #طراحی_مبتنیبر_صدا
@Dexign فلسفه دیزاین
ـــــــ
صدا همچنان یکی از مباحث پرطرفدار، همراه با رشد سریع است. پیش بینی شده که صنعت بلندگوهای هوشمند در سال ۲۰۱۹ دارای نرخ رشد ۶۳ درصدی نسبت به سال گذشته است. این پیشبینی، بلندگوهای هوشمند را سریع ترین دستگاه های ارتباطی در سال ۲۰۱۹ میدانند.
در حال حاضر مردم عمدتا از دستگاههای Alexa و Google Home خود فقط برای پخش موسیقی و بررسی آب وهوا استفاده میکنند. همراه با رشد بازار، نیاز است که دستگاههای اولیه از این پیشرفت تبعیت کنند و نقش مفیدتری در زندگی روزمره مردم ایفا نمایند.
در مسیر پیشرفت، بیشتر از همیشه صنعت نیاز به دیزاینرهایی دارد که بتواند برنامههای صوتی مفید و کاربرپسند ایجاد کنند. در این مسیر دیزاینرها میتواند تجربه مبتنی بر صدای خود را از متوسط به جادویی بیابند، گرچه با این چالش مواجهند که باید تمام زمینههای حریم خصوصی، امنیت و اخلاق را درنظربگیرند و رمز ادامه مسیر ایجاد تعادل بین امنیت و قابلیت استفاده است.
امروز شما را پای مقاله ای خواندنی درباره اینکه چگونه با اصلاحات ساده تبدیل به یک دیزاینر مبتنی بر صدا شویم، مینشانیم.
http://bit.ly/dxgn477
(زمان حدودی مطالعه، ۷ دقیقه)
نویسنده: نیما حکیمرابط
#اصول #رابط_کاربری #طراحی_مبتنیبر_صدا
@Dexign فلسفه دیزاین
ـــــــ
Invisionapp
You already know how to design for voice-based UIs | Inside Design Blog
Many of the same principles that govern the design of conventional user interfaces translate smoothly to this new voice-first frontier.
#پست_مجدد این پست تا به حال بیش از ۳۹۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد
Forwarded from Software Philosophy
اضافه کردن فیچر به نرمافزار غالبا ویژگی مثبتی به نظر میرسد. ولی وقتی تیمی دارید که قدرت بسیار بالایی دارد اضافه کردن فیچرها با سرعت خیلی زیاد خودش میتواند نکات منفی داشته باشد. وقتی قدرت اضافه کردن امکانات با سرعت زیاد دارید باید محتاط باشید که امکانات جدید راهحلهایی جدید برای یک مسئله حل شده نباشند. داشتن تیم قدرتمند این قدرت را به مدیران میدهد که بتوانند سریع ایدههای ذهنی خود را پیادهسازی کنند. در این حین باید مراقب بود این امکانات با هم، همپوشانی نداشته باشند.
مثال زیر از تیم توسعه C# آورده شدهاست که در مورد کاربرد دو امکان این زبان که در نسخههای ۵ و ۶ اضافه شد صحبت میکند.
http://mehrandvd.me/2016/05/02/steady-consistent-flow-features/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
مثال زیر از تیم توسعه C# آورده شدهاست که در مورد کاربرد دو امکان این زبان که در نسخههای ۵ و ۶ اضافه شد صحبت میکند.
http://mehrandvd.me/2016/05/02/steady-consistent-flow-features/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
زمانبندی کردن یک background task در Andriod با Xamarin
ساخت یک schedule که defferable باشد و به صورت aynchronous اجرا شود و از همه مهمتر روی تمامی نسخههای اندروید مخصوصا نسخههای قدیمی قابل اجرا باشد چالش برانگیز است. در API 23+ میتوان از Job Scheduler استفاده کرد، در صورتی که برای API های قدیمیتر تا API 14 باید از Alarm Manager + Broadcast Recievers استفاده کرد.
کتابخانه WorkManager که در مقاله زیر معرفی شدهاست، تمامی این پیچیدگیها را درون خود هندل کرده و به برنامهنویس اجازه میدهد به سادگی کارهای Scheduled و Periodic را روی پلتفرم اندروید پیاده سازی کند.
https://devblogs.microsoft.com/xamarin/getting-started-workmanager/
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، بر روی لینک زیر کلیک کنید:
http://bit.ly/2IdtcQ7
#مهران_داودی (http://ow.ly/GwIl309lFEm)
کانال تلگرام:
@SoftwarePhilosophy
___
ساخت یک schedule که defferable باشد و به صورت aynchronous اجرا شود و از همه مهمتر روی تمامی نسخههای اندروید مخصوصا نسخههای قدیمی قابل اجرا باشد چالش برانگیز است. در API 23+ میتوان از Job Scheduler استفاده کرد، در صورتی که برای API های قدیمیتر تا API 14 باید از Alarm Manager + Broadcast Recievers استفاده کرد.
کتابخانه WorkManager که در مقاله زیر معرفی شدهاست، تمامی این پیچیدگیها را درون خود هندل کرده و به برنامهنویس اجازه میدهد به سادگی کارهای Scheduled و Periodic را روی پلتفرم اندروید پیاده سازی کند.
https://devblogs.microsoft.com/xamarin/getting-started-workmanager/
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، بر روی لینک زیر کلیک کنید:
http://bit.ly/2IdtcQ7
#مهران_داودی (http://ow.ly/GwIl309lFEm)
کانال تلگرام:
@SoftwarePhilosophy
___
Microsoft News
Getting Started With WorkManager
WorkManager is a library that makes it easy to schedule deferrable, asynchronous tasks even if the app exits or the device restarts.
Forwarded from DotNetZoom (محمد جواد ابراهیمی)
در راستای اجرای WinForms بر روی NET Core 3.0، ماکروسافت کنترل Chart را به NET Core 3.0 منتقل کرد
آدرس ریپازیتوری گیتهاب :
https://github.com/dotnet/winforms-datavisualization
نمونه Sample ها
https://github.com/dotnet/winforms-datavisualization/tree/master/sample/ChartSamples
آدرس پکیج :
https://www.nuget.org/packages/System.Windows.Forms.DataVisualization/
نکته: دیزاینر بصری (visual) برای تنظیم Chart فوق در Visual Studio 2019 هنوز در حال توسعه بوده و تکمیل نشده است لذا باید برای تغییر تنظیمات آن به صورت دستی کد نویسی کنید یا اینکه ابتدا تنظیم آن را در یک پروژه NET Framework انجادم دهید و سپس کد آن را به پروژه NET Core ایی خود منتقل کنید
@IranAspMvc
آدرس ریپازیتوری گیتهاب :
https://github.com/dotnet/winforms-datavisualization
نمونه Sample ها
https://github.com/dotnet/winforms-datavisualization/tree/master/sample/ChartSamples
آدرس پکیج :
https://www.nuget.org/packages/System.Windows.Forms.DataVisualization/
نکته: دیزاینر بصری (visual) برای تنظیم Chart فوق در Visual Studio 2019 هنوز در حال توسعه بوده و تکمیل نشده است لذا باید برای تغییر تنظیمات آن به صورت دستی کد نویسی کنید یا اینکه ابتدا تنظیم آن را در یک پروژه NET Framework انجادم دهید و سپس کد آن را به پروژه NET Core ایی خود منتقل کنید
@IranAspMvc
#پست_مجدد این پست تا به حال بیش از ۳۵۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد
Forwarded from Software Philosophy
یکی از ارکان مهم هر تیم رهبری تیم است. منظور از رهبر، یک نفر خاص نیست. بلکه رهبری یک ویژگی شخصیتی است که وجود آن در تک تک افراد تیم باعث پیشرفت تیم میشود.
در یک تیم فوتبال، دربازهبان شخصیتی است که وظیفه بسیار سختی دارد. برعکس مهاجمان که از بین تمام حرکاتشان فقط آنهایی که منجر به گل زدن میشود شمرده میشوند و مستحق تشویقند، دربازهبانها بین تمام حرکاتشان فقط اشتباهاتشان شمرده میشود که منجر به شکست تیم میشود.
در یک تیم شخصیت رهبری تشابهات زیادی با ویژگیهای شخصیتی یک دربازهبان دارد. در لینک زیر توضیح داده شده است که چگونه خصلتهای دربازهبانها میتواند الگویی برای تقویت روحیه رهبری باشد.
http://mehrandvd.me/2015/07/16/goalkeepers-vs-leaders-2/
#مهران_داودی
لینکداین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
در یک تیم فوتبال، دربازهبان شخصیتی است که وظیفه بسیار سختی دارد. برعکس مهاجمان که از بین تمام حرکاتشان فقط آنهایی که منجر به گل زدن میشود شمرده میشوند و مستحق تشویقند، دربازهبانها بین تمام حرکاتشان فقط اشتباهاتشان شمرده میشود که منجر به شکست تیم میشود.
در یک تیم شخصیت رهبری تشابهات زیادی با ویژگیهای شخصیتی یک دربازهبان دارد. در لینک زیر توضیح داده شده است که چگونه خصلتهای دربازهبانها میتواند الگویی برای تقویت روحیه رهبری باشد.
http://mehrandvd.me/2015/07/16/goalkeepers-vs-leaders-2/
#مهران_داودی
لینکداین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
چگونه فکر کنیم؟ چگونه دور از هم با هم فکر کنیم!!
فکر کردن، و مخصوصا با هم فکر کردن یکی از کارهای سختی است که معمولا ترجیح میدهیم آن را انجام ندهیم.
معمولا خیلی سخت است که در یک جمع فکر کنیم و به نظرمان همه چیز درست پیش برود! این کار خیلی خیلی سختتر میشود اگر کل تیم شما «ریموت» است و باید «دور از هم با هم فکر کنید»!!!
امروز در INOTEX 2019 مهران داودی توضیح میدهد که چگونه یکی از مفاهیم جذاب Design Thinking میتواند کمک کند بسیار کارآمدتر با هم فکر کنیم.
زمان و مکان:
امروز ساعت ۱۶:۴۰ نمایشگاه بینالمللی، سالن ۴۰
www.inotex.com
فکر کردن، و مخصوصا با هم فکر کردن یکی از کارهای سختی است که معمولا ترجیح میدهیم آن را انجام ندهیم.
معمولا خیلی سخت است که در یک جمع فکر کنیم و به نظرمان همه چیز درست پیش برود! این کار خیلی خیلی سختتر میشود اگر کل تیم شما «ریموت» است و باید «دور از هم با هم فکر کنید»!!!
امروز در INOTEX 2019 مهران داودی توضیح میدهد که چگونه یکی از مفاهیم جذاب Design Thinking میتواند کمک کند بسیار کارآمدتر با هم فکر کنیم.
زمان و مکان:
امروز ساعت ۱۶:۴۰ نمایشگاه بینالمللی، سالن ۴۰
www.inotex.com