Forwarded from Iran .Net
قابلیت Multi Threading در JavaScript
گاهی در وب اپلیکشن ها نیاز هست تا داده های زیاد و حجیمی از سمت سرور دریافت شود و پردازشی بر روی این داده ها صورت بگیرد. از آنجایی که این پردازش مدت زمان زیادی طول می کشد تا پایان بگیرد، صفحه قفل می شود و یا به اصطلاح هنگ می کند. علت این امر آن است که برنامه توسط یک Thread در حال اجرا می باشد و وقتی که این Thread در حال پردازش داده ها ست، نمی تواند به کلیک ها و سایر تعاملات کاربر پاسخ دهد و به همین خاطر صفحه قفل می کند.
در این سناریو و بسیاری از سناریو های دیگر نیاز هست تا پردازش های سنگین و یا موازی در صفحه مان داشته باشیم و برای حل مشکلی که در فوق مطرح شد باید از Multi Threading استفاده کنیم.
در استاندارد HTML5، قابلیت Web Worker معرفی شد که به مرورگر ها اجازه میداد اپلیکشن ها را به صورت Multi Thread اجرا کنند. در واقع هر Worker معادل با یک Thread می باشد.
* در مورد Web Worker در مستندات MDN:
http://blog.teamtreehouse.com/using-web-workers-to-speed-up-your-javanoscript-applications
* کتابخانه ای که کار با Web Worker ها را به شدت ساده تر و خوانا تر می کند:
https://github.com/calvinmetcalf/catiline
@irandotnet
گاهی در وب اپلیکشن ها نیاز هست تا داده های زیاد و حجیمی از سمت سرور دریافت شود و پردازشی بر روی این داده ها صورت بگیرد. از آنجایی که این پردازش مدت زمان زیادی طول می کشد تا پایان بگیرد، صفحه قفل می شود و یا به اصطلاح هنگ می کند. علت این امر آن است که برنامه توسط یک Thread در حال اجرا می باشد و وقتی که این Thread در حال پردازش داده ها ست، نمی تواند به کلیک ها و سایر تعاملات کاربر پاسخ دهد و به همین خاطر صفحه قفل می کند.
در این سناریو و بسیاری از سناریو های دیگر نیاز هست تا پردازش های سنگین و یا موازی در صفحه مان داشته باشیم و برای حل مشکلی که در فوق مطرح شد باید از Multi Threading استفاده کنیم.
در استاندارد HTML5، قابلیت Web Worker معرفی شد که به مرورگر ها اجازه میداد اپلیکشن ها را به صورت Multi Thread اجرا کنند. در واقع هر Worker معادل با یک Thread می باشد.
* در مورد Web Worker در مستندات MDN:
http://blog.teamtreehouse.com/using-web-workers-to-speed-up-your-javanoscript-applications
* کتابخانه ای که کار با Web Worker ها را به شدت ساده تر و خوانا تر می کند:
https://github.com/calvinmetcalf/catiline
@irandotnet
Treehouse Blog
Using Web Workers to Speed-Up Your JavaScript Applications
Learn how using web workers can help to speed-up your JavaScript applications and ensure a consistently fantastic experience for all of your users.
Forwarded from LiTuX
📜📜📜
-معرفی ابزار لاتک (LaTex)
لاتک یه سیستم تهیه اسناد خیلی رایج هست که بوسیله ی دانشمندان,مهندسان,ریاضی دان ها, و.... خیلی مورد استفاده قرار میگیرد.
لاتک با استفاده از یک زبان نشانه گذاری متون که درون اسناد پی دی اف کامپایل میشود به نوعی قوانین تایپی را بهینه میکند
در نتیجه چه شما از لاتک استفاده کنید و چه از سایر نرم افزار ها مانند word نتیجه شاید یکسان باشد ولی محیطی که شما در آن متنتان را مینویسید بیسار متفاوت میباشد و لاتک دارای محیط حرفه ای تری میباشد.
قابلیت سفارشی سازی (customization) یکی دیگر از قابلیت های ویژه ی لاتک میباشد که آن را از سایر رقبای خود بسیار متمایز میسازد.
اگر شما هم علاقه مند به یادگیری لاتک و نحوه ی کار با آن هستید میتوانید از وبسایت زیر استفاده کنید:
http://www.latextemplates.com
#Amateurs
#Development_Tools
#Text_Editor
#latex
💻💻💻
@Litux (کاربردی ترین کانال گنو/لینوکس)
-معرفی ابزار لاتک (LaTex)
لاتک یه سیستم تهیه اسناد خیلی رایج هست که بوسیله ی دانشمندان,مهندسان,ریاضی دان ها, و.... خیلی مورد استفاده قرار میگیرد.
لاتک با استفاده از یک زبان نشانه گذاری متون که درون اسناد پی دی اف کامپایل میشود به نوعی قوانین تایپی را بهینه میکند
در نتیجه چه شما از لاتک استفاده کنید و چه از سایر نرم افزار ها مانند word نتیجه شاید یکسان باشد ولی محیطی که شما در آن متنتان را مینویسید بیسار متفاوت میباشد و لاتک دارای محیط حرفه ای تری میباشد.
قابلیت سفارشی سازی (customization) یکی دیگر از قابلیت های ویژه ی لاتک میباشد که آن را از سایر رقبای خود بسیار متمایز میسازد.
اگر شما هم علاقه مند به یادگیری لاتک و نحوه ی کار با آن هستید میتوانید از وبسایت زیر استفاده کنید:
http://www.latextemplates.com
#Amateurs
#Development_Tools
#Text_Editor
#latex
💻💻💻
@Litux (کاربردی ترین کانال گنو/لینوکس)
Forwarded from Iran .Net
در برخی از نرم افزارها که از سایز به نسبت بزرگی برخوردار هستند، به دلایلی گاهی بیشتر از یک پایگاه داده استفاده می شود. هنگامی که می خواهیم تغییری در داده های سیستم اعمال کنیم، نیاز هست تا هم زمان بر روی دو یا چند پایگاه داده، داده های جدید را ثبت کنیم. اما چطور مطمئن شویم که این عملیات بر روی همه پایگاه های داده ها با موفقیت ثبت شده و یا اگر مشکلی هست، مطمئن شویم در هیچ کدام هیچ تغییری صورت نپذیرفته است (Atomicty) و به عبارتی دقیق تر با شرابطی مواجه نشویم که یکپارچگی داده ها در سیستم از بین رفته باشد و داده ای در جایی ثبت شده باشد و در جایی دیگر موجود نباشد.
جواب این سوال استفاده از Transaction می باشد. یک Transaction به ما این امکان را می دهد تا کارهای ما به صورت اتمیک انجام بگیرند. یعنی یا همه با هم صورت بپذیرند و یا مطمئن باشیم هیچ کدام صورت نگرفته اند. در SQL Server می توانیم یک Transaction را بین چند پایگاه داده به اشتراک بگذاریم تا عملیات ما بر روی آن ها به صورت اتمیک صورت f.
یا در سناریو های ساده تر نیاز هست تا در Entity Framework چند بار متد SaveChanges را پشت سر هم صدا بزنیم. اگر در یکی از این دفعات متد SaveChanges با خطا رو به رو شد، با شرایطی مواجه می شویم که یکپارچگی داده ها از بین می رود چرا که یک سری از داده ها ذخیره شده اند و یک سری از داده ها از دست رفته اند. راه حل این مشکل هم استفاده از Transaction ها می باشد.
استفاده از Transaction ها در EF 6.x:
https://msdn.microsoft.com/en-us/data/dn456843.aspx
جواب این سوال استفاده از Transaction می باشد. یک Transaction به ما این امکان را می دهد تا کارهای ما به صورت اتمیک انجام بگیرند. یعنی یا همه با هم صورت بپذیرند و یا مطمئن باشیم هیچ کدام صورت نگرفته اند. در SQL Server می توانیم یک Transaction را بین چند پایگاه داده به اشتراک بگذاریم تا عملیات ما بر روی آن ها به صورت اتمیک صورت f.
یا در سناریو های ساده تر نیاز هست تا در Entity Framework چند بار متد SaveChanges را پشت سر هم صدا بزنیم. اگر در یکی از این دفعات متد SaveChanges با خطا رو به رو شد، با شرایطی مواجه می شویم که یکپارچگی داده ها از بین می رود چرا که یک سری از داده ها ذخیره شده اند و یک سری از داده ها از دست رفته اند. راه حل این مشکل هم استفاده از Transaction ها می باشد.
استفاده از Transaction ها در EF 6.x:
https://msdn.microsoft.com/en-us/data/dn456843.aspx
#پست_مجدد این پست تا به حال بیش از ۱۵۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
مفاهیم Covariance و Contravariance یکی از مباحث مهم در زبانهای برنامهنویسی مدرن محسوب میشود. تسلط بر این مفاهیم به طراحان فریمورکها و پلتفرمها کمک میکند تصمیمهای مناسبتری در طراحی کلاسها داشته باشند.
از آنجایی این مفاهیم انتزاعی هستند، معمولا فهم آنها در وهله اول سخت به نظر میرسد. مقاله زیر با چند مثال قابل لمس این مفاهیم را به زبان سادهتری توضیح داده تا فهم آن لذتبخشتر و آسانتر شود.
http://mehrandvd.me/2016/06/18/covariant-and-contravariant/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
از آنجایی این مفاهیم انتزاعی هستند، معمولا فهم آنها در وهله اول سخت به نظر میرسد. مقاله زیر با چند مثال قابل لمس این مفاهیم را به زبان سادهتری توضیح داده تا فهم آن لذتبخشتر و آسانتر شود.
http://mehrandvd.me/2016/06/18/covariant-and-contravariant/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
در واحدهای نسبی یک اندازه طولی نسبت به یک اندازه طولی دیگر محاسبه میشود به همین دلیل به آنها نسبی گفته میشود.
زمانی که از واحدهای نسبی در CSS استفاده میشود خروجی به راحتی می تواند در محیطهای گوناگون وفق پیدا کند.
این واحدها در دو دسته واحدهای نسبی وابسته به فونت و واحدهای نسبی وابسته به Viewport قرار میگیرند.
واحدهای نسبی وابسته به فونت در CSS شامل چهار واحد ch, ex, em و rem میباشند و واحدهای نسبی وابسته به Viewport شامل چهار واحد vmin, vw, vh و vmax میباشند.
مقاله زیر توضیحات کاملی در مورد نحوه استفاده از موارد ذکر شده را به همراه مثالهای کاربردی ارائه کرده است.
http://css-tricks.ir/tutorial/%D9%88%D8%A7%D8%AD%D8%AF%D9%87%D8%A7%DB%8C-%D9%86%D8%B3%D8%A8%DB%8C
#مریم_داودی
لینکدین:
https://www.linkedin.com/in/maryam-davoudi-7913565a
کانال تلگرام:
@SoftwarePhilosophy
___
زمانی که از واحدهای نسبی در CSS استفاده میشود خروجی به راحتی می تواند در محیطهای گوناگون وفق پیدا کند.
این واحدها در دو دسته واحدهای نسبی وابسته به فونت و واحدهای نسبی وابسته به Viewport قرار میگیرند.
واحدهای نسبی وابسته به فونت در CSS شامل چهار واحد ch, ex, em و rem میباشند و واحدهای نسبی وابسته به Viewport شامل چهار واحد vmin, vw, vh و vmax میباشند.
مقاله زیر توضیحات کاملی در مورد نحوه استفاده از موارد ذکر شده را به همراه مثالهای کاربردی ارائه کرده است.
http://css-tricks.ir/tutorial/%D9%88%D8%A7%D8%AD%D8%AF%D9%87%D8%A7%DB%8C-%D9%86%D8%B3%D8%A8%DB%8C
#مریم_داودی
لینکدین:
https://www.linkedin.com/in/maryam-davoudi-7913565a
کانال تلگرام:
@SoftwarePhilosophy
___
آموزش طراحی وب
واحدهای نسبی
بررسی کامل انواع واحدهای نسبی در سی اس اس
#پست_مجدد این پست تا به حال بیش از ۱۱۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
حتما تا به حال از کتابخانه Bootstrap استفاده کردهاید. این نوع کتابخانهها کمک میکنند که بتوانید به راحتی از امکانات CSS استفاده کنید، بدون اینکه نیاز به درگیر شدن با پیچیدگیهای آن پیدا کنید. کتابخانههای زیادی از این قبیل به وجود آمدهاند. یکی از این کتابخانهها که اخیرا به دنیای برنامهنویسی معرفی شده کتابخانه Office UI Fabric است. این کتابخانه که تقریبا تمام امکانات گرید سیستمBootstrap را دارد بر اساس معماری مدرن UI که در نرمافزارهای مایکروسافت استفاده شده ساخته شدهاست. اگر با این کتابخانه کار کنید، میتوانید برنامههایی بسازید که UI آن سازگار با برنامههایی مانند Word Online, Excel Online, Outlook Online و مانند آن باشد.
http://dev.office.com/fabric/get-started
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
http://dev.office.com/fabric/get-started
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
#پست_مجدد این پست تا به حال بیش از ۱۲۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
این روزها تعداد فریمورکهای جاوا اسکریپتی زیادی وجود دارند. دلیل وجود این همه فریمورک سختی کار با جاوا اسکریپت است. در واقع در سناریوهای خیلی بزرگ مدیریت و دیباگ یک پروژه جاوا اسکرپیتی به مراتب سخت خواهد شد. اما در سالهای اخیر ابزارهای کار با جاوا اسکریپت به طور قابل ملاحظه ایی بهبود یافته اند و شرکتهایی مانند گوگل، اپل و مایکروسافت برای بهبود این زبان سرمایه گذاری های زیادی انجام دادهاند. در نتیجه با توسعه یک سری فریمورک، نوشتن برنامههایی با مقیاس بزرگ درون مرورگر را لذت بخش تر کردهاند. با ورود AngularJS، امکان نوشتن اپلیکیشنهایی که کاملا درون مرورگر اجرا شوند میسر شده است. هدف از AngularJS کمک به طراحان جهت طراحی کامپوننتهای قدرتمند است. در این مطلب مزایا و معایب Angular و همچنین دلیل استفاده از این فریمورک بررسی شده است.
http://sirwan.info/Why-Angular
#سیروان_عفیفی
لینکدین:
https://ir.linkedin.com/in/sirwan-afifi-73225345
کانال تلگرام:
@SoftwarePhilisophy
___
http://sirwan.info/Why-Angular
#سیروان_عفیفی
لینکدین:
https://ir.linkedin.com/in/sirwan-afifi-73225345
کانال تلگرام:
@SoftwarePhilisophy
___
Forwarded from Iran .Net
پروژه Awsome Dotnet سعی کرده است بهترین پروژه های دات نت در حوزه های مختلف را گردآوری کند. در این جا کتابخانه ها و فریم ورک ها طبقه بندی شده و شرح کوتاه خوبی از هر کدام داده شده است. بدون شک نگاه کردن به فهرست شما را با پروژه هایی خوب و کاربردی در حوزه های مختلف آشنا می کند و جعبه ابزار تان را با ابزارهای قدرتمند مجهز خواهد کرد.
این فهرست با سرعت خوبی به روز شده و با کیفیت بالایی نگهداری می شود:
https://github.com/quozd/awesome-dotnet
@irandotnet
این فهرست با سرعت خوبی به روز شده و با کیفیت بالایی نگهداری می شود:
https://github.com/quozd/awesome-dotnet
@irandotnet
GitHub
GitHub - quozd/awesome-dotnet: A collection of awesome .NET libraries, tools, frameworks and software
A collection of awesome .NET libraries, tools, frameworks and software - quozd/awesome-dotnet
#پست_مجدد این پست تا به حال بیش از ۱۲۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
هشت نکته در زبان C# که احتمالا آنها را نمیدانید! دو نکته که برای من جالب بود:
۱. در Indexer ها میتوان از params استفاده کرد و چندین پارامتر ورودی استفاده کرد.
۲. بر روی enum ها هم میتوان Extension Method تعریف کرد.
https://damieng.com/blog/2012/10/29/8-things-you-probably-didnt-know-about-csharp
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
۱. در Indexer ها میتوان از params استفاده کرد و چندین پارامتر ورودی استفاده کرد.
۲. بر روی enum ها هم میتوان Extension Method تعریف کرد.
https://damieng.com/blog/2012/10/29/8-things-you-probably-didnt-know-about-csharp
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
DamienG
8 things you probably didn’t know about C# - DamienG
Here’s a few unusual things about C# that few C# developers seem to know about.
Forwarded from Iran .Net
چه تفاوتی بین مفاهیم Asynchronous و Multi Threading وجود دارد؟
تفاوت این دو مفهوم برای خیلی مشخص نیست، با آنکه به کلی متفاوت از هم می باشند.
مفهوم Asynchronous به ماهیت Non-Blocking یک متد یا فرایند اشاره می کند.
به طور ساده، می دانیم که در صورت صدا زدن یک متد، جریان برنامه متوقف می شود. پس از پایان یافتن متد، برنامه مجددا به مسیرِ اجرای خود ادامه خواهد داد. به این نوع از متد ها متدهای Blocking گفته می شود، بدین معنی که فرایند برنامه تا زمانِ اتمام این نوع از متد ها متوقف (بلاک) خواهد شد. اما در موردمتدهای Non-Blocking و یا Asynchronous قضیه فرق می کند و جریانِ اصلی برنامه پس از صدا زدن متد، معطل تمام شدن متد نخواهد ماند و به مسیر خود ادامه خواهد داد. این نوع از متدها معمولا در مورد امور I/O و مواردی که در حوزه سیستم عامل، دیسک و شبکه و پایگاه داده و ... می باشند، مورد استفاده قرار می گیرند.
از سوی دیگر مفهوم Multi Threading به این موضوع اشاره می کند که یک تکه از کد همزمان توسط چند Thread در حال اجرا می باشد. این نوع از اجرا بیشتر در مورد کد هایی استفاده می شوند که به اصطلاح CPU Bound بوده و دارای بار پردازشی زیادی می باشند. با تقسیم بار بین چند پردازنده سعی می کنیم، موجب سریع تر و بهینه تر شدن کد شویم.
http://blog.slaks.net/2014-12-23/parallelism-async-threading-explained/
@irandotnet
تفاوت این دو مفهوم برای خیلی مشخص نیست، با آنکه به کلی متفاوت از هم می باشند.
مفهوم Asynchronous به ماهیت Non-Blocking یک متد یا فرایند اشاره می کند.
به طور ساده، می دانیم که در صورت صدا زدن یک متد، جریان برنامه متوقف می شود. پس از پایان یافتن متد، برنامه مجددا به مسیرِ اجرای خود ادامه خواهد داد. به این نوع از متد ها متدهای Blocking گفته می شود، بدین معنی که فرایند برنامه تا زمانِ اتمام این نوع از متد ها متوقف (بلاک) خواهد شد. اما در موردمتدهای Non-Blocking و یا Asynchronous قضیه فرق می کند و جریانِ اصلی برنامه پس از صدا زدن متد، معطل تمام شدن متد نخواهد ماند و به مسیر خود ادامه خواهد داد. این نوع از متدها معمولا در مورد امور I/O و مواردی که در حوزه سیستم عامل، دیسک و شبکه و پایگاه داده و ... می باشند، مورد استفاده قرار می گیرند.
از سوی دیگر مفهوم Multi Threading به این موضوع اشاره می کند که یک تکه از کد همزمان توسط چند Thread در حال اجرا می باشد. این نوع از اجرا بیشتر در مورد کد هایی استفاده می شوند که به اصطلاح CPU Bound بوده و دارای بار پردازشی زیادی می باشند. با تقسیم بار بین چند پردازنده سعی می کنیم، موجب سریع تر و بهینه تر شدن کد شویم.
http://blog.slaks.net/2014-12-23/parallelism-async-threading-explained/
@irandotnet
#پست_مجدد این پست تا به حال بیش از ۱۱۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
برای شما که علاقه دارید (عجله دارید!) تا امکانات C# 7.0 را همین الان امتحان کنید، قبل از اینکه نسخه نهایی آن منتشر شود، لینک زیر توضیح میدهد که چطور میتوانید در Visual Studio 2015 و یا Visual Studio '15' (نسخه بعدی) نسخه جدید زبان C# را امتحان کنید. با توجه به اینکه کامپایلر جدید این زبان (Roslyn) دیگر Open Source شده، شما میتوانید حتی آخرین نسخه موجود را امتحان کنید.
http://www.c-sharpcorner.com/article/how-to-compile-test-C-Sharp-7-features/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
http://www.c-sharpcorner.com/article/how-to-compile-test-C-Sharp-7-features/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
C-Sharpcorner
How To Compile & Test C# 7 Features
In this article you will learn how to compile & test C# 7 features.
#پست_مجدد این پست تا به حال بیش از ۱۱۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
همیشه یکی از مراحل مهم در توسعه نرمافزار، مرحله Optimization است. در این مرحله معمولا کدها نوشته شده و حال نوبت رفع کندیهایی است که در برنامه وجود دارد. برای این کار باید ابتدا تشخیص دهید چه قسمتهایی از برنامه کند است، یا به طور دقیقتر چه متدهایی و یا دقیقا اجرای چه خطهایی باعث کند شدن برنامه شدهاست. به ابزارهایی که به شما کمک میکنند بتوانید نرمافزار خود را از این لحاظ بررسی کنید Performance Profiler میگویند. از نمونه ابزارهای قوی در این حوزه میتوان به dotTrace و ANZ اشاره کرد. در خود Visual Studio نیز چنین ابزاری به نام Profiler وجود دارد که لینک زیر نحوه استفاده از آن را شرح دادهاست.
https://blogs.msdn.microsoft.com/visualstudioalm/2016/04/28/how-cpu-sampling-works/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
https://blogs.msdn.microsoft.com/visualstudioalm/2016/04/28/how-cpu-sampling-works/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
Microsoft
How CPU Sampling Works
Learn to use Visual Studio, Visual Studio Team Services, Application Insights and Team Foundation Server to decrease rework, increase transparency into your application and increase the rate at which you can ship high quality software throughout the application…
#پست_مجدد این پست تا به حال بیش از ۱۲۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
از جمله تکنولوژیهای جذابی که این روزها به عنوان تکنولوژیهای آینده وب مطرح هستند Angular 2، TypeScript و ASP.NET Core برای ساخت برنامههای Cross-Platform هستند. یکی از جذابیتهای این تکولوژیها این است که تمامی آنها کاملا از ابتدا نوشته شدهاند و با توجه به این که نیازی به پشتیبانی از نسخههای قبل ندارند معماری کاملا نوینی و مدرنی دارند.
این لینک به صورت قدم به قدم آموزش داده است که همین الان چطور میتوانید با این تکنولوژیها برنامه تولید کنید. بنابراین با خواندن این پست و انجام مراحل شما یک محصول کامل خواهید نوشت.
https://chsakell.com/2016/01/01/cross-platform-single-page-applications-with-asp-net-5-angular-2-typenoscript/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
این لینک به صورت قدم به قدم آموزش داده است که همین الان چطور میتوانید با این تکنولوژیها برنامه تولید کنید. بنابراین با خواندن این پست و انجام مراحل شما یک محصول کامل خواهید نوشت.
https://chsakell.com/2016/01/01/cross-platform-single-page-applications-with-asp-net-5-angular-2-typenoscript/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
بهترین راه برای تست کارایی یک نمونهی اولیه واسط کاربری، مشاهده دقیق افرادیست که برای اولین بار از آن استفاده میکنند. با این کار میتوان به راحتی متوجه شد که چه قسمت هایی گیج کننده است، چه قسمت هایی نامفهوم است یا کارایی مناسب را ندارد و از آنها در جهت بهبود طراحی استفاده کرد.
برای انجام این کار با توجه به اینکه کاربر نهایی چه کسی است و چه اهدافی دارد، یک سناریو یا داستان نوشته می شود و کارهایی که شخص باید انجام دهد را مشخص میکند اما در آن به جای اینکه مشخصا از شخص خواسته شود که "کار 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.