بهترین راه برای تست کارایی یک نمونهی اولیه واسط کاربری، مشاهده دقیق افرادیست که برای اولین بار از آن استفاده میکنند. با این کار میتوان به راحتی متوجه شد که چه قسمت هایی گیج کننده است، چه قسمت هایی نامفهوم است یا کارایی مناسب را ندارد و از آنها در جهت بهبود طراحی استفاده کرد.
برای انجام این کار با توجه به اینکه کاربر نهایی چه کسی است و چه اهدافی دارد، یک سناریو یا داستان نوشته می شود و کارهایی که شخص باید انجام دهد را مشخص میکند اما در آن به جای اینکه مشخصا از شخص خواسته شود که "کار X را انجام بده!"، یک سناریو طرح میشود که این فضا را به شخص بدهد که کار X را انجام دهد. برای مثال، یک سناریو میتواند این باشد: "شما درحال برنامهریزی سفر به شهر اصفهان از تاریخ ۳ فروردین تا ۶ فروردین هستید و احتیاج دارید که بلیط هواپیمای خود را بخرید. برای انجام این کار به سایت هواپیمایی ماهان می روید.". و متوجه میشویم که کاربر آیکون خرید بلیط را خیلی سخت پیدا کرده است. این آزمایش به طراح نشان میدهد باید طراحی تجربه کاربری را تغییر دهد...
در مقاله ی زیر می توانید با این روش کاملتر آشنا شوید.
https://www.nngroup.com/articles/task-scenarios-usability-testing
#زهره_مرادی
لینکدین:
https://ir.linkedin.com/in/zohre-moradi
کانال تلگرام:
@SoftwarePhilosophy
___
برای انجام این کار با توجه به اینکه کاربر نهایی چه کسی است و چه اهدافی دارد، یک سناریو یا داستان نوشته می شود و کارهایی که شخص باید انجام دهد را مشخص میکند اما در آن به جای اینکه مشخصا از شخص خواسته شود که "کار X را انجام بده!"، یک سناریو طرح میشود که این فضا را به شخص بدهد که کار X را انجام دهد. برای مثال، یک سناریو میتواند این باشد: "شما درحال برنامهریزی سفر به شهر اصفهان از تاریخ ۳ فروردین تا ۶ فروردین هستید و احتیاج دارید که بلیط هواپیمای خود را بخرید. برای انجام این کار به سایت هواپیمایی ماهان می روید.". و متوجه میشویم که کاربر آیکون خرید بلیط را خیلی سخت پیدا کرده است. این آزمایش به طراح نشان میدهد باید طراحی تجربه کاربری را تغییر دهد...
در مقاله ی زیر می توانید با این روش کاملتر آشنا شوید.
https://www.nngroup.com/articles/task-scenarios-usability-testing
#زهره_مرادی
لینکدین:
https://ir.linkedin.com/in/zohre-moradi
کانال تلگرام:
@SoftwarePhilosophy
___
Nielsen Norman Group
Task Scenarios for Usability Testing
Guidelines for usability test tasks: engage participants by writing task scenarios that are realistic, encourage an action, and don't give away how the interface should be used.
#پست_مجدد این پست تا به حال بیش از ۱۴۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
معماری نرمافزاری و سختافزاری سایت StackOverflow در سایت ۲۰۱۶. در این پست Nick Craver یکی از برنامهنویسان سایت StackOverflow حجم بالای ترافیک این سایت را توصیف کرده و توضیح میدهد که در معماری نرمافزاری که برای نوشتن این سایت استفاده شده از چه تکنولوژیهای استفاده شدهاست. از آنجایی که این سایت یکی از محصولات موفق با بار ترافیک بالا است، تکنولوژیهای استفاده شده در این سایت همیشه برای برنامهنویسان جذاب بوده است.
http://nickcraver.com/blog/2016/02/17/stack-overflow-the-architecture-2016-edition/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
http://nickcraver.com/blog/2016/02/17/stack-overflow-the-architecture-2016-edition/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
Nickcraver
Nick Craver - Stack Overflow: The Architecture - 2016 Edition
This is #1 in a very long series of posts on Stack Overflow’s architecture. Welcome.Previous post (#0): Stack Overflow: A Technical DeconstructionNext post...
مطمئنا برای خیلی از ما پیش آمده است که یک صحفه را طراحی کردهایم و در browser مان همه چیز مرتب و به قاعده است، اما بعد از ریلیز روی سایت از دوستان و اطرافیانتان می شنویم که صفحه به هم ریخته و نامرتب بنظر میرسد.
نگذارید این اتفاق برای شما هم بیافتد. بعد از انجام کار زمان لازم را برای تست صفحه وب خود روی browserهای مختلف بگذارید.
اگر همه browserها را روی رایانه خود نصب ندارید، ابزارهای آنلاینی وجود دارد که می توانید با استفاده از آنها صفحه وب خود را در browserهای مختلف و ورژنهای مختلف آنها تست کنید. از جمله این سایتها:
• The Browser Sandbox
• BrowserShots.org
• CrossBrowserTesting.com
مقاله زیر به شرح این مشکل پرداخته و راه کارهایی را پیشنهاد کرده و مختصر توضیحی از سایت های ذکر شده ارائه کرده است.
http://www.digitalfamily.com/tutorials/test-your-website-in-differen-web-browsers/
#مریم_داودی
لینکدین:
https://www.linkedin.com/in/maryam-davoudi-7913565a
کانال تلگرام:
@SoftwarePhilosophy
___
نگذارید این اتفاق برای شما هم بیافتد. بعد از انجام کار زمان لازم را برای تست صفحه وب خود روی browserهای مختلف بگذارید.
اگر همه browserها را روی رایانه خود نصب ندارید، ابزارهای آنلاینی وجود دارد که می توانید با استفاده از آنها صفحه وب خود را در browserهای مختلف و ورژنهای مختلف آنها تست کنید. از جمله این سایتها:
• The Browser Sandbox
• BrowserShots.org
• CrossBrowserTesting.com
مقاله زیر به شرح این مشکل پرداخته و راه کارهایی را پیشنهاد کرده و مختصر توضیحی از سایت های ذکر شده ارائه کرده است.
http://www.digitalfamily.com/tutorials/test-your-website-in-differen-web-browsers/
#مریم_داودی
لینکدین:
https://www.linkedin.com/in/maryam-davoudi-7913565a
کانال تلگرام:
@SoftwarePhilosophy
___
#پست_مجدد این پست تا به حال بیش از ۱۱۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
اگر میخواهید از Entity Framework Core روی SQLite استفاده کنید، لینک زیر محدودیتهای EF Core را روی آنها توضیح دادهاست. البته بیشتر این محدودیتها به دلیل پشتیبانی نکردن خود SQLite از این عملیات است. برای مثال شما میتوانید برای رفع محدودیتهای Migration در مورد این کارهای خاص از متد Sql(string) استفاده کنید.
http://ef.readthedocs.io/en/latest/providers/sqlite/limitations.html
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
http://ef.readthedocs.io/en/latest/providers/sqlite/limitations.html
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
محاسبات بدون سرور یا «Serverless Computing» مفهومی است که جذابیتهای زیادی را در دنیا نرمافزار ایجاد کردهاست. این مفهوم با تکنولوژی Azure Functions بسیار ملموستر و عملیتر شده و دنیای Micro Service را با امکان جدیدی روبرو کردهاست. شما کافیست Function مورد نظر خود را در بروزر به زبان C# یا JavaScript بنویسید و آن را در Azure هاست کنید. از این به بعد این تابع روی کلاد با Scalability بسیار بالا قابل دسترس است و هر چقدر بار استفاده از آن بالاتر رود به طور خودکار Scaling انجام میشود.
لینک زیر از اسکات هانسلمن، نحوه نوشتن و استفاده از این قابلیت را شرح دادهاست.
http://www.hanselman.com/blog/WhatIsServerlessComputingExploringAzureFunctions.aspx
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
لینک زیر از اسکات هانسلمن، نحوه نوشتن و استفاده از این قابلیت را شرح دادهاست.
http://www.hanselman.com/blog/WhatIsServerlessComputingExploringAzureFunctions.aspx
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
Hanselman
What is Serverless Computing? Exploring Azure Functions
There's a lot of confusing terms in the Cloud space. And that's not counting the term 'Cloud.' ;) IaaS (Infrastructure ...
#پست_مجدد این پست تا به حال بیش از ۱۲۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
پروژه Jil یک کتابخانه جذاب برای استفاده به عنوان JSON Serializer است. اگر تا به حال از کتابخانههایی مانند NewtonSoft استفاده کردهاید و دغدغه Performance داشتهاید این کتابخانه میتواند جایگزین مناسبی باشد. جالب است بدانید که کتابخانهای است که برنامهنویسان سایت StackOverflow به دلیل Performance انتخاب کردهاند و در طراحی این سایت از آن استفاده کردهاند.
https://github.com/kevin-montrose/Jil
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
https://github.com/kevin-montrose/Jil
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
GitHub
GitHub - kevin-montrose/Jil: Fast .NET JSON (De)Serializer, Built On Sigil
Fast .NET JSON (De)Serializer, Built On Sigil. Contribute to kevin-montrose/Jil development by creating an account on GitHub.
#پست_مجدد این پست تا به حال بیش از ۱۰۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
اگر در حال توسعه نرمافزار هستید و با مفهوم Source Control آشنایی ندارید، حتما یک جای کار خیلی مشکل دارد! امروزه مفاهیم و ابزارهای سورس کنترل انقدر زیاد و متداول شدهاند که اگر به آن عادت کنید، دیگر حتی بدون آنها نمیتوانید یک پروژه شخصی در خانه بنویسید.
لینک زیر که توسط تیم git (یکی از محبوبترین ابزارهای سورس کنترل) نوشته شدهاست، مفاهیم پایهای را توضیح میدهد.
https://www.atlassian.com/git/tutorials/what-is-version-control
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
لینک زیر که توسط تیم git (یکی از محبوبترین ابزارهای سورس کنترل) نوشته شدهاست، مفاهیم پایهای را توضیح میدهد.
https://www.atlassian.com/git/tutorials/what-is-version-control
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
Atlassian
What is version control | Atlassian Git Tutorial
Version control is the practice of tracking and managing changes to software code. Learn about the benefits of version control systems here.
با استفاده از دستور supports@ در CSS میتوان پشتیبانی مرورگر را در مورد یک ویژگی بررسی کرد. یعنی آن ویژگی در مرورگر مورد نظر کار میکند یا خیر.
معمولا این کار توسط کتابخانههای جاوااسکریپت نظیر Modernizr انجام میشود اما این دستور این امکان را می دهد تا بتوان این آزمایش را در فایل CSS بدون نوشتن کد جاوااسکریپت انجام داد.
اگر علاقمند به استفاده از این ویژگی هستید، لینک زیر را بخوانید.
https://davidwalsh.name/css-supports
#مریم_داودی
لینکدین:
https://www.linkedin.com/in/maryam-davoudi-7913565a
کانال تلگرام:
@SoftwarePhilosophy
___
معمولا این کار توسط کتابخانههای جاوااسکریپت نظیر Modernizr انجام میشود اما این دستور این امکان را می دهد تا بتوان این آزمایش را در فایل CSS بدون نوشتن کد جاوااسکریپت انجام داد.
اگر علاقمند به استفاده از این ویژگی هستید، لینک زیر را بخوانید.
https://davidwalsh.name/css-supports
#مریم_داودی
لینکدین:
https://www.linkedin.com/in/maryam-davoudi-7913565a
کانال تلگرام:
@SoftwarePhilosophy
___
David Walsh Blog
CSS @supports
Firefox, Chrome, and Opera have just recently added support for CSS @supports (CSS) and CSS.supports (JavaScript) to detect browser support for a given style directive.
#پست_مجدد این پست تا به حال بیش از ۱۰۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
ضد الگو یا Anti-Pattern فقط در مرحله طراحی و یا برنامهنویسی به وجود نمیآید. در مرحله طراحی UI هم ضد الگو وجود دارد. یکی از متدوالترین ضدالگوهایی که در این لایه وجود دارد، پورت کردن یک برنامه از پلتفرمهای دیگر است. برای مثال برنامهای که برای iOS نوشته شده است را با همان ساختار وارد Android کرد. استفاده از پلتفرمهای Cross-Platform معمولا این مشکل را دارند، چون سعی میکنند دقیقا یک کد را روی هر دو پلتفرم اجرا کنند. اما هر پلتفرم استانداردهای UI مختص خود را دارند. برای مثال در اندروید تبها در بالا نمایش داده میشوند و در iOS تبها در پایین لیست میشوند.
در پست زیر ضد الگوهای موجود در برنامههای اندرویدی معرفی و به طور کامل تشریح شدهاند.
http://www.sitepoint.com/android-design-anti-patterns-pitfalls/
#افشین_علیزاده
لینکدین:
https://ir.linkedin.com/in/afshinalizadehbehjati
کانال تلگرام:
@SoftwarePhilisophy
___
در پست زیر ضد الگوهای موجود در برنامههای اندرویدی معرفی و به طور کامل تشریح شدهاند.
http://www.sitepoint.com/android-design-anti-patterns-pitfalls/
#افشین_علیزاده
لینکدین:
https://ir.linkedin.com/in/afshinalizadehbehjati
کانال تلگرام:
@SoftwarePhilisophy
___
Sitepoint
Android Design Anti-Patterns and Common Pitfalls — SitePoint
Designing for mobile is as much about meeting user expectation as it is about screen sizes. Joyce looks at the most common Android design anti-patterns.
#پست_مجدد این پست تا به حال بیش از ۱۱۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
آیا JSON کاملا جای XML را خواهد گرفت؟ این روزها فرمت JSON بسیار فراگیر شدهاست. این فرمت مزایای بسیار زیادی نسبت به سایر فرمتها دارد. مقاله زیر این دو فرمت را کاملا با هم مقایسه کرده و به بررسی مزایا و معایب آنها پرداخته است. به جز در چند مورد خاص، در بیشتر موارد JSON فرمتی بهتر محسوب میشود.
http://www.c-sharpcorner.com/article/is-json-overridden-xml/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
http://www.c-sharpcorner.com/article/is-json-overridden-xml/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
C-Sharpcorner
Has JSON Overtaken XML
This article gives you the overview of JSON and how it is used in the current data transmission in the modern world between applications and UI.
برنامه نویسی روی HoloLens یکی از جذابترین کارهایی است که این روزها برنامهنویسان «لبه تکنولوژی» را به سمت خود میکشد. مشکلی که در استفاده از این تکنولوژی وجود دارد این است که سختافزار آن گران است و به راحتی هم قابل دسترسی نیست.
خبر خوب این است که در ویژوال استودیو یک HoloLens Emulator وجود دارد که میتوانید روی آن برنامه نویسی کنید و نتیجه کار خود را روی این ایمولاتور ببینید.
در لینک زیر یکی از برنامه نویسان تجربه کار خود را با Unity و HoloLens Emulator شرح دادهاست.
https://blogs.unity3d.com/2016/08/18/developing-for-hololens-with-the-emulator/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
خبر خوب این است که در ویژوال استودیو یک HoloLens Emulator وجود دارد که میتوانید روی آن برنامه نویسی کنید و نتیجه کار خود را روی این ایمولاتور ببینید.
در لینک زیر یکی از برنامه نویسان تجربه کار خود را با Unity و HoloLens Emulator شرح دادهاست.
https://blogs.unity3d.com/2016/08/18/developing-for-hololens-with-the-emulator/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
Unity Technologies Blog
Developing for HoloLens with the Emulator – Unity Blog
This is a guest blog post
Hi, I’m René from IdentityMine/Valorem and a passionate developer working with 3D computer graphics. I’ve been in VR and AR for ...
Hi, I’m René from IdentityMine/Valorem and a passionate developer working with 3D computer graphics. I’ve been in VR and AR for ...
#پست_مجدد این پست تا به حال بیش از ۱۲۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
اگر در دنیای کامپیوتر و نرمافزار زندگی میکنید، حتما لینکها و صفحههای زیادی در طول روز میبینید که دوست دارید بخوانید ولی فرصت مطالعه آنها را ندارید. در پست زیر Scott Hanselman توضیح داده است که چگونه «بعدا بخوانید!» یا «Read it Later!». در این پست ابزارهایی معرفی شدهاست که بتوانید با آنها مطالب نخوانده خود را بهتر مدیریت کنید و بتوانید آنها را به زمانی موکول کنید که فرصت دارید.
http://www.hanselman.com/blog/TwoMustHaveToolsForAMoreReadableWeb.aspx
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
http://www.hanselman.com/blog/TwoMustHaveToolsForAMoreReadableWeb.aspx
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
Hanselman
Two Must-Have Tools for a More Readable Web
Here's how most folks use the Web. You get a link in email, Twitter, Facebook, IM, whatever and you open it in a new ...
مفهوم Tuple Deconstrution مفهومی است که قرار است به نسخه ۷.۰ زبان C# اضافه شود. این مفهوم کار با Tuple ها را بسیار راحتتر میکند. با ظهور این قابلیت امکان نوشتن کد زیر به وجود خواهد آمد:
var (x, y) = point;
Console.WriteLine($"Coordinates: ({x}, {y})");
در این روش در یک خط، هر دو متغییر x و y مقدار گرفتهاند و قابل استفاده هستند.
این ویژگی در Visual Studio 15 Preview 4 پیادهسازی شده و میتواند آن را آزمایش کرد.
لینک زیر مثالهای جالبی از کاربرد این مفهوم ارائه کردهاست.
http://www.thomaslevesque.com/2016/08/23/tuple-deconstruction-in-c-7/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
var (x, y) = point;
Console.WriteLine($"Coordinates: ({x}, {y})");
در این روش در یک خط، هر دو متغییر x و y مقدار گرفتهاند و قابل استفاده هستند.
این ویژگی در Visual Studio 15 Preview 4 پیادهسازی شده و میتواند آن را آزمایش کرد.
لینک زیر مثالهای جالبی از کاربرد این مفهوم ارائه کردهاست.
http://www.thomaslevesque.com/2016/08/23/tuple-deconstruction-in-c-7/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
Thomaslevesque
Tuple deconstruction in C# 7
Last time on this blog I talked about the new tuple feature of C# 7. In Visual Studio 15 Preview 3, the feature wasn’t quite finished; it lacked 2 important aspects:
emitting metadata for the names of tuple elements, so that the names are preserved across…
emitting metadata for the names of tuple elements, so that the names are preserved across…
#پست_مجدد این پست تا به حال بیش از ۱۴۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.