Software Philosophy – Telegram
Software Philosophy
3.45K subscribers
160 photos
41 videos
1.54K links
چکیده‌ای از مفاهیم به روز مهندسی نرم افزار برای مهندسین نرم‌افزار.
معماری نوین نرم‌افزار، تکنولوژی‌های برنامه نویسی جدید
Download Telegram
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



___
#پست_مجدد این پست تا به حال بیش از ۱۱۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
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



___
#پست_مجدد این پست تا به حال بیش از ۱۲۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
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



___
بهترین راه برای تست کارایی یک نمونه‌ی اولیه واسط کاربری، مشاهده دقیق افرادیست که برای اولین بار از آن استفاده می‌کنند. با این کار می‌توان به راحتی متوجه شد که چه قسمت هایی گیج کننده است، چه قسمت هایی نامفهوم است یا کارایی مناسب را ندارد و از آن‌ها در جهت بهبود طراحی استفاده کرد.
برای انجام این کار با توجه به اینکه کاربر نهایی چه کسی است و چه اهدافی دارد، یک سناریو یا داستان نوشته می شود و کارهایی که شخص باید انجام دهد را مشخص می‌کند اما در آن به جای اینکه مشخصا از شخص خواسته شود که "کار X را انجام بده!"، یک سناریو طرح می‌شود که این فضا را به شخص بدهد که کار X را انجام دهد. برای مثال، یک سناریو می‌تواند این باشد: "شما در‌حال برنامه‌ریزی سفر به شهر اصفهان از تاریخ ۳ فروردین تا ۶ فروردین هستید و احتیاج دارید که بلیط هواپیمای خود را بخرید. برای انجام این کار به سایت هواپیمایی ماهان می روید.". و متوجه می‌شویم که کاربر آیکون خرید بلیط را خیلی سخت پیدا کرده است. این آزمایش به طراح نشان می‌دهد باید طراحی تجربه کاربری را تغییر دهد...
در مقاله ی زیر می توانید با این روش کاملتر آشنا شوید.

https://www.nngroup.com/articles/task-scenarios-usability-testing

#زهره_مرادی

لینکدین:
https://ir.linkedin.com/in/zohre-moradi

کانال تلگرام:
@SoftwarePhilosophy

___
#پست_مجدد این پست تا به حال بیش از ۱۴۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
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



___
مطمئنا برای خیلی از ما پیش آمده است که یک صحفه را طراحی کرده‌ایم و در 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


___
#پست_مجدد این پست تا به حال بیش از ۱۱۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
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



___
محاسبات بدون سرور یا «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

___
#پست_مجدد این پست تا به حال بیش از ۱۲۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
پروژه Jil یک کتابخانه جذاب برای استفاده به عنوان JSON Serializer است. اگر تا به حال از کتابخانه‌هایی مانند NewtonSoft استفاده کرده‌اید و دغدغه Performance داشته‌اید این کتابخانه می‌تواند جایگزین مناسبی باشد. جالب است بدانید که کتابخانه‌ای است که برنامه‌نویسان سایت StackOverflow به دلیل Performance انتخاب کرده‌اند و در طراحی این سایت از آن استفاده کرده‌اند.

https://github.com/kevin-montrose/Jil

#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd

کانال تلگرام:
@SoftwarePhilisophy



___
#پست_مجدد این پست تا به حال بیش از ۱۰۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
اگر در حال توسعه نرم‌افزار هستید و با مفهوم Source Control آشنایی ندارید، حتما یک جای کار خیلی مشکل دارد! امروزه مفاهیم و ابزارهای سورس کنترل انقدر زیاد و متداول شده‌اند که اگر به آن عادت کنید، دیگر حتی بدون آنها نمی‌توانید یک پروژه شخصی در خانه بنویسید.
لینک زیر که توسط تیم git (یکی از محبوب‌ترین ابزارهای سورس کنترل) نوشته شده‌است، مفاهیم پایه‌ای را توضیح می‌دهد.

https://www.atlassian.com/git/tutorials/what-is-version-control

#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd

کانال تلگرام:
@SoftwarePhilisophy



___
با استفاده از دستور supports@ در CSS می‌توان پشتیبانی مرورگر را در مورد یک ویژگی بررسی کرد. یعنی آن ویژگی در مرورگر مورد نظر کار می‌کند یا خیر.
معمولا این کار توسط کتابخانه‌های جاوااسکریپت نظیر Modernizr انجام می‌شود اما این دستور این امکان را می دهد تا بتوان این آزمایش را در فایل CSS بدون نوشتن کد جاوااسکریپت انجام داد.
اگر علاقمند به استفاده از این ویژگی هستید، لینک زیر را بخوانید.

https://davidwalsh.name/css-supports

#مریم_داودی

لینکدین:
https://www.linkedin.com/in/maryam-davoudi-7913565a

کانال تلگرام:
@SoftwarePhilosophy

___
#پست_مجدد این پست تا به حال بیش از ۱۰۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
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


___
#پست_مجدد این پست تا به حال بیش از ۱۱۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
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



___