Forwarded from Software Philosophy
اگر دوستانی دارید که نه تنها برنامه نویس هستند، بلکه اعتقاد دارید «مهندس نرمافزار» هم هستند، آنها را به کانال @SoftwarePhilosophy دعوت کنید.
این پیغام را برای آنها Forward کنید.
این پیغام را برای آنها Forward کنید.
ضد الگوی Blind Developer یا «برنامه نویس کور» یک ضد الگوی شایع در تیمهای نرمافزاری است که معمولا از زبان معمار نرمافزار با این جمله تشریح میشود: «هیچوقت به برنامهنویس اجازه ندهید با مشتری صحبت کند». این مفهوم به این دلیل به وجود آمده که معمولا افراد غیر برنامهنویس بهتر نیازمندی کاربر را درک میکنند. البته این واقعیت اغلب صادق است ولی نکتهای که به آن توجه نشدهاست تغییرات است. تغییرات در نیازمندی باعث افزایش هزینه توسعه میشود. در جریان نبودن برنامهنویسان از بیزنس معمولا باعث میشود این تغییرات هزینه بسیار بیشتری داشته باشد. همچنین باعث میشود بسیاری از ریسکها خیلی دیر و حتی هنگام تحویل محصول نمایان شوند.
در لینک زیر این ضد الگو بیشتر توضیح داده شدهاست.
https://sourcemaking.com/antipatterns/mushroom-management
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
در لینک زیر این ضد الگو بیشتر توضیح داده شدهاست.
https://sourcemaking.com/antipatterns/mushroom-management
#مهران_داودی
لینکدین:
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.
برای شما که علاقه دارید (عجله دارید!) تا امکانات C# 7.0 را همین الان امتحان کنید، قبل از اینکه نسخه نهایی آن منتشر شود، لینک زیر توضیح میدهد که چطور میتوانید در Visual Studio 2015 و یا Visual Studio '15' (نسخه بعدی) نسخه جدید زبان C# را امتحان کنید. با توجه به اینکه کامپایلر جدید این زبان (Roslyn) دیگر Open Source شده، شما میتوانید حتی آخرین نسخه موجود را امتحان کنید.
https://www.c-sharpcorner.com/article/how-to-compile-test-C-Sharp-7-features/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
https://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 فلسفه دیزاین
درسهایی درباره «دکمهها»، خالصترین نماینده یک طراحی
شاید تا حالا از این دید که دربارهش خواهیم گفت به دکمهها نگاه نکرده باشید.
دکمهها دوست داشتنی هستند. دکمهها باعث «اعمال تغییرات» میشوند، دکمهها شما رو به «مرحله بعدی» میبرن و باعث «انجام» کارها میشوند.
دکمهها بهترین نماینده زبان یک طراحی (Design Language) هستند و المانهایی که در اونها استفاده میشه، میتونه پایه بخشهای پیچیدهتر طراحی باشه.
دکمهها از سه بخش مهم رنگ، تایپوگرافی و آیکنوگرافی تشکیل شدند. این سه بخش میتونن پایه زبان طراحی و راهنمای بصری (Style Guide) باشن. دکمهها حتی بحث «فاصلهها» رو هم با موارد مثل Padding و Margin به چالش میکشند. بُعد طراحی رو با سایه زیرشون و حس طراحی رو با گوشههای گرد و یا تیزشون مشخص میکنند.
پس دکمهها یکی از مهمترین بخشهای یک طراحی هستند.
در این مقاله با Nathan Curtis، بنیانگذار موسسه تجربه کاربری Eight Shapes همراه میشیم تا ۱۲ درسی رو که ایشون درباره «دکمهها» در طراحی سیستمها آموختن، بخونیم.
https://medium.com/eightshapes-llc/buttons-in-design-systems-eac3acf7e23
#مفاهیم #دکمه #طراحی_سیستم #معرفی_مقاله #زبان_طراحی
@HamDesign هَم دیزاین
شاید تا حالا از این دید که دربارهش خواهیم گفت به دکمهها نگاه نکرده باشید.
دکمهها دوست داشتنی هستند. دکمهها باعث «اعمال تغییرات» میشوند، دکمهها شما رو به «مرحله بعدی» میبرن و باعث «انجام» کارها میشوند.
دکمهها بهترین نماینده زبان یک طراحی (Design Language) هستند و المانهایی که در اونها استفاده میشه، میتونه پایه بخشهای پیچیدهتر طراحی باشه.
دکمهها از سه بخش مهم رنگ، تایپوگرافی و آیکنوگرافی تشکیل شدند. این سه بخش میتونن پایه زبان طراحی و راهنمای بصری (Style Guide) باشن. دکمهها حتی بحث «فاصلهها» رو هم با موارد مثل Padding و Margin به چالش میکشند. بُعد طراحی رو با سایه زیرشون و حس طراحی رو با گوشههای گرد و یا تیزشون مشخص میکنند.
پس دکمهها یکی از مهمترین بخشهای یک طراحی هستند.
در این مقاله با Nathan Curtis، بنیانگذار موسسه تجربه کاربری Eight Shapes همراه میشیم تا ۱۲ درسی رو که ایشون درباره «دکمهها» در طراحی سیستمها آموختن، بخونیم.
https://medium.com/eightshapes-llc/buttons-in-design-systems-eac3acf7e23
#مفاهیم #دکمه #طراحی_سیستم #معرفی_مقاله #زبان_طراحی
@HamDesign هَم دیزاین
Medium
Buttons in Design Systems
12 Tips for Setting Up a System That Endures
همیشه یکی از مراحل مهم در توسعه نرمافزار، مرحله 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
برای افرادی که برنامه نویسی IoT علاقه دارند، Raspberry Pi 3 یک سخت افزار هیجان انگیز به حساب میآید. مهمترین ویژگی این مدل نسبت به مدلهای قبلی وجود Builtin WiFi در آن میباشد. در این مقاله از Scott Hanselman نشان داده شده که چطور با استفاده از زبان JavaScript و VS Code میتوان روی این سختافزار کد نوشت.
https://www.hanselman.com/blog/BuildingVisualStudioCodeOnARaspberryPi3.aspx
@SoftwarePhilosophy
___
https://www.hanselman.com/blog/BuildingVisualStudioCodeOnARaspberryPi3.aspx
@SoftwarePhilosophy
___
Hanselman
Building Visual Studio Code on a Raspberry Pi 3
I picked up a Raspberry Pi 3 recently for MarchIsForMakers. The Raspberry Pi 3 is a great starter computer for makers ...
از جمله تکنولوژیهای جذابی که این روزها به عنوان تکنولوژیهای آینده وب مطرح هستند 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-typescript/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
این لینک به صورت قدم به قدم آموزش داده است که همین الان چطور میتوانید با این تکنولوژیها برنامه تولید کنید. بنابراین با خواندن این پست و انجام مراحل شما یک محصول کامل خواهید نوشت.
https://chsakell.com/2016/01/01/cross-platform-single-page-applications-with-asp-net-5-angular-2-typescript/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
معماری نرمافزاری و سختافزاری سایت StackOverflow در سایت ۲۰۱۶. در این پست Nick Craver یکی از برنامهنویسان سایت StackOverflow حجم بالای ترافیک این سایت را توصیف کرده و توضیح میدهد که در معماری نرمافزاری که برای نوشتن این سایت استفاده شده از چه تکنولوژیهای استفاده شدهاست. از آنجایی که این سایت یکی از محصولات موفق با بار ترافیک بالا است، تکنولوژیهای استفاده شده در این سایت همیشه برای برنامهنویسان جذاب بوده است.
https://nickcraver.com/blog/2016/02/17/stack-overflow-the-architecture-2016-edition/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
https://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...
اگر میخواهید از Entity Framework Core روی SQLite استفاده کنید، لینک زیر محدودیتهای EF Core را روی آنها توضیح دادهاست. البته بیشتر این محدودیتها به دلیل پشتیبانی نکردن خود SQLite از این عملیات است. برای مثال شما میتوانید برای رفع محدودیتهای Migration در مورد این کارهای خاص از متد Sql(string) استفاده کنید.
https://ef.readthedocs.io/en/latest/providers/sqlite/limitations.html
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
https://ef.readthedocs.io/en/latest/providers/sqlite/limitations.html
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
پروژه 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.
نسل جدید بازیها و همچنین نرمافزارها در راه است. این نسل جدید بر پایه VR یا «واقعیت مجازی» بنا شدهاست. از آنجایی که این مفهوم هنوز خیلی جدید است خیلی مطالب هنوز در مورد آن دقیق و مشخص نشده است. از جمله این مفاهیم استانداردهای UX است که امروزه در محیطهای دیگر خیلی به آن پرداخته شدهاست. واقعیت مجازی محیطی کاملا متفاوت با محیطهای قبلی است و نیازمند باز طراحی این استانداردها است. لینک زیر استراتژیهایی را برای UX بهتر در بازیهای کامپیوتری مبتنی بر VR ارائه دادهاست.
https://uxmag.com/articles/4-strategies-for-mastering-ux-in-virtual-reality-games
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
https://uxmag.com/articles/4-strategies-for-mastering-ux-in-virtual-reality-games
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
Uxmag
4 Strategies for Mastering UX in Virtual Reality Games
Because VR is such a different playing field, UX for virtual products has yet to be clearly defined.
همیشه یکی از مهمترین کارهایی که باید توسط یک معمار نرمافزار انجام شود و معمولا هم اصلا انجام نمیشود(!) فکر کردن به نحوه انتقال به نسخه جدید است. در این فرایند معمولا با کلماتی مانند Deployment یا Migration سر و کار دارید. پست زیر توسط یکی از برنامهنویسان سایت StackOverflow نوشتهشده است و توضیح میدهد فرایند Deployment این سایت در سال 2016 چگونه طراحی شدهاست. نحوه برخورد با سورس کدها، مراحلی که نیاز به یک انسان دارد، مدیریت Branch ها، Database Migration، مدیریت Translation ها و نکات بسیاری را برای یادگیری دارد.
https://nickcraver.com/blog/2016/05/03/stack-overflow-how-we-do-deployment-2016-edition/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
https://nickcraver.com/blog/2016/05/03/stack-overflow-how-we-do-deployment-2016-edition/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
Nickcraver
Nick Craver - Stack Overflow: How We Do Deployment - 2016 Edition
This is #3 in a very long series of posts on Stack Overflow’s architecture.Previous post (#2): Stack Overflow: The Hardware - 2016 EditionWe’ve talked abou...
اگر در حال توسعه نرمافزار هستید و با مفهوم 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.
ضد الگو یا Anti-Pattern فقط در مرحله طراحی و یا برنامهنویسی به وجود نمیآید. در مرحله طراحی UI هم ضد الگو وجود دارد. یکی از متدوالترین ضدالگوهایی که در این لایه وجود دارد، پورت کردن یک برنامه از پلتفرمهای دیگر است. برای مثال برنامهای که برای iOS نوشته شده است را با همان ساختار وارد Android کرد. استفاده از پلتفرمهای Cross-Platform معمولا این مشکل را دارند، چون سعی میکنند دقیقا یک کد را روی هر دو پلتفرم اجرا کنند. اما هر پلتفرم استانداردهای UI مختص خود را دارند. برای مثال در اندروید تبها در بالا نمایش داده میشوند و در iOS تبها در پایین لیست میشوند.
در پست زیر ضد الگوهای موجود در برنامههای اندرویدی معرفی و به طور کامل تشریح شدهاند.
https://www.sitepoint.com/android-design-anti-patterns-pitfalls/
#افشین_علیزاده
لینکدین:
https://ir.linkedin.com/in/afshinalizadehbehjati
کانال تلگرام:
@SoftwarePhilisophy
___
در پست زیر ضد الگوهای موجود در برنامههای اندرویدی معرفی و به طور کامل تشریح شدهاند.
https://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.
معماریهای نوین نرمافزار برای حل مسائلی به وجود آمدهاند که قبلا وجود نداشتند. برای مثال شبکههای اجتماعی که در آن میلیونها لایک و کامنت در ثانیه را هندل میکنند و همیشه با بیلیونها رکورد سر و کار دارند مسائلی است که جدید هستند و با معماری و ابزارهای قبل قابل حل نیستند. دیتابیسهای NoSql و PolyGlot ابزارهای جدیدی هستند که در معماریهای جدید از آنها استفاده میشود. مقاله زیر از Dino Esposito معمار با سابقه نرمافزار، توضیح میدهد که چگونه با استفاده از Historical CRUD و Event Sourcing میتوان راهحلی برای این گونه مسائل ارائه داد.
https://msdn.microsoft.com/en-us/magazine/mt703431
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
https://msdn.microsoft.com/en-us/magazine/mt703431
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
Forwarded from Software Philosophy
اگر دوستانی دارید که نه تنها برنامه نویس هستند، بلکه اعتقاد دارید «مهندس نرمافزار» هم هستند، آنها را به کانال @SoftwarePhilosophy دعوت کنید.
این پیغام را برای آنها Forward کنید.
این پیغام را برای آنها Forward کنید.
یکی از مهمترین بخش یک برنامه موبایل UI آن است. یک برنامه موبایل هرچند دارای تحلیل و طراحی قوی و برنامهنویسی خوبی باشد بدون یک UI خوب نمیتواند کاربر را جذب کند. ایجاد یک UI قوی فقط با آگاهی از ویژگیهایی که سیستم عامل گوشی پشتیبانی میکند حاصل نمیشود. یک طراح خوب باید نقاط قوت و ضعف هر یک از تکنیکهای استفاده شده در UI را بداند و در جای درست از آنها استفاده کند. مثلا دو روش برای Zoom کردن وجود دارد:
۱) Double-tap
۲) Pinch and Spread (با استفاده از دو انگشت و با دور یا نزدیک کردن دو انگشت به یکدیگر)
که هر کدام مزایا و معایب خود را دارند.
در پست زیر تکنیکهای مختلف UI در برنامههای اندرویدی را بررسی کرده است.
https://unitid.nl/androidpatterns/
#افشین_علیزاده
لینکدین:
https://ir.linkedin.com/in/afshinalizadehbehjati
کانال تلگرام:
@SoftwarePhilisophy
___
۱) Double-tap
۲) Pinch and Spread (با استفاده از دو انگشت و با دور یا نزدیک کردن دو انگشت به یکدیگر)
که هر کدام مزایا و معایب خود را دارند.
در پست زیر تکنیکهای مختلف UI در برنامههای اندرویدی را بررسی کرده است.
https://unitid.nl/androidpatterns/
#افشین_علیزاده
لینکدین:
https://ir.linkedin.com/in/afshinalizadehbehjati
کانال تلگرام:
@SoftwarePhilisophy
___
Linkedin
Afshin Alizadeh Behjati | LinkedIn
View Afshin Alizadeh Behjati’s professional profile on LinkedIn. LinkedIn is the world's largest business network, helping professionals like Afshin Alizadeh Behjati discover inside connections to recommended job candidates, industry experts, and business…
آیا JSON کاملا جای XML را خواهد گرفت؟ این روزها فرمت JSON بسیار فراگیر شدهاست. این فرمت مزایای بسیار زیادی نسبت به سایر فرمتها دارد. مقاله زیر این دو فرمت را کاملا با هم مقایسه کرده و به بررسی مزایا و معایب آنها پرداخته است. به جز در چند مورد خاص، در بیشتر موارد JSON فرمتی بهتر محسوب میشود.
https://www.c-sharpcorner.com/article/is-json-overridden-xml/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
https://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.
یکی دیگر از موارد مهم در طراحی UI برنامههای موبایل توجه به Landscape و یا Portrait بودن است. که هر کدام از این حالتها ویژگیهای خاص خود را دارند که طراح میتواند به خوبی از این ویژگیها استفاده کند.
مثلا برنامهای را در نظر بگیرد که برای بورس نوشته شده است. در حالت Portrait یک گرید نمایش داده میشود که شاخص بورس در هفته جاری را نشان میدهد. یک UI معمولی همین گرید را در حالت Landscape نمایش میدهد ولی یک UI خوب یک نمودار میلهای را نمایش میدهد.
در پست زیر Patternهای مختلفی را که برنامههای مختلف در نمایش Landscape استفاده کردهاند را بررسی کرده است.
https://www.smashingmagazine.com/2012/08/designing-device-orientation-portrait-landscape/
#افشین_علیزاده
لینکدین:
https://ir.linkedin.com/in/afshinalizadehbehjati
کانال تلگرام:
@SoftwarePhilisophy
___
مثلا برنامهای را در نظر بگیرد که برای بورس نوشته شده است. در حالت Portrait یک گرید نمایش داده میشود که شاخص بورس در هفته جاری را نشان میدهد. یک UI معمولی همین گرید را در حالت Landscape نمایش میدهد ولی یک UI خوب یک نمودار میلهای را نمایش میدهد.
در پست زیر Patternهای مختلفی را که برنامههای مختلف در نمایش Landscape استفاده کردهاند را بررسی کرده است.
https://www.smashingmagazine.com/2012/08/designing-device-orientation-portrait-landscape/
#افشین_علیزاده
لینکدین:
https://ir.linkedin.com/in/afshinalizadehbehjati
کانال تلگرام:
@SoftwarePhilisophy
___
Smashing Magazine
Designing For Device Orientation: From Portrait To Landscape — Smashing Magazine
Designing for device orientation brings various challenges and requires careful thinking. The experience must be as unobtrusive and transparent as possible, and we must understand the context of use for this functionality.
Forwarded from Iran .Net
مفهوم Coupling:
یکی از اتفاقات بد که کم و بیش در هر پروژه ای به مرور پیش می آید، Coupling می باشد. جلوگیری از وقوع Coupling انرژی زیادی را از تیم توسعه خواهد گرفت و کار دشواری است. تیم ها و نفرات تازه کار از Coupling رنج می برند بدون آنکه از آن اطلاعی داشته باشند.
مفهوم Coupling به این معنا است که کلاس های مختلف، متد های مختلف، ماژول های مختلف تا چه میزان در هم تنیده و به هم وابسته اند. تنیدگی کد ها موجب می شود، تا هر تغییری در هر قسمتی، باعث بروز رفتارهای ناصحیح، از کار افتادگی و عدم کامپایل بخش هایی از برنامه شود که فکرش را هم نمی کنید.
وجود Coupling در نرم افزار ها موجب می شود تا هنگام تغییری در متد مربوط به کاربران، قسمتی از کد مربوط به انبارداری کامپایل نشود و یا قسمتی در سیستم سفارشات دچار خطای Run Time شود.
به تعبیری وجود Coupling موجب می شود هر تغییری در سیستم موجب اثری به نام Ripple Effect و یا تغییرات موجی در نرم افزار شما شود. در نتیجه تغییر در سیستم های Coupled پر هزینه بوده و با عواقب غیرقابل پیشبینی رو به رو خواهد شد. همچنین گسترش این سیستم ها با دشواری مواجه خواهد بود.
* اگر کد شما دارای Coupling و وابستگی کمی باشد، به کد شما
Loosely Coupled گفته می شود، که نشان دهنده هنر مهندسی شما است.
* اگر کد شما دارای Coupling و وابستگی بالایی باشد، به کد شما Tightly Coupled گفته می شود.
یکی از اتفاقات بد که کم و بیش در هر پروژه ای به مرور پیش می آید، Coupling می باشد. جلوگیری از وقوع Coupling انرژی زیادی را از تیم توسعه خواهد گرفت و کار دشواری است. تیم ها و نفرات تازه کار از Coupling رنج می برند بدون آنکه از آن اطلاعی داشته باشند.
مفهوم Coupling به این معنا است که کلاس های مختلف، متد های مختلف، ماژول های مختلف تا چه میزان در هم تنیده و به هم وابسته اند. تنیدگی کد ها موجب می شود، تا هر تغییری در هر قسمتی، باعث بروز رفتارهای ناصحیح، از کار افتادگی و عدم کامپایل بخش هایی از برنامه شود که فکرش را هم نمی کنید.
وجود Coupling در نرم افزار ها موجب می شود تا هنگام تغییری در متد مربوط به کاربران، قسمتی از کد مربوط به انبارداری کامپایل نشود و یا قسمتی در سیستم سفارشات دچار خطای Run Time شود.
به تعبیری وجود Coupling موجب می شود هر تغییری در سیستم موجب اثری به نام Ripple Effect و یا تغییرات موجی در نرم افزار شما شود. در نتیجه تغییر در سیستم های Coupled پر هزینه بوده و با عواقب غیرقابل پیشبینی رو به رو خواهد شد. همچنین گسترش این سیستم ها با دشواری مواجه خواهد بود.
* اگر کد شما دارای Coupling و وابستگی کمی باشد، به کد شما
Loosely Coupled گفته می شود، که نشان دهنده هنر مهندسی شما است.
* اگر کد شما دارای Coupling و وابستگی بالایی باشد، به کد شما Tightly Coupled گفته می شود.
Forwarded from Software Philosophy
یکی از مباحثی که همیشه در تشکیل تیمهای نرمافزاری مطرح است، انتخاب زبان برنامهنویسی و یا تکنولوژیهای مورد استفاده است. مقایسه محصولات موفق و نا موفق نشان میدهد هیچکدام از آنها صرفا با یک تکنولوژی و یا یک زبان خاص نوشته نشدهاند. برای مثال سیستمهای موفق زیادی وجود دارند که با Java و یا C# نوشته شدهاند. همچنین سیستمهای بی کیفیت زیادی نیز وجود دارد که با Java و یا C# نوشته شدهاند. این حقیقت نشان میدهد دلیل موفقیت یا شکست سیستمها نمیتواند زبان برنامهنویسی باشد. مقاله زیر توضیح میدهد که چطور طرز فکر برنامهنویسها موفقیت و یا شکست یک سیستم را رقم میزند.
https://mehrandvd.me/2015/10/15/software-quality-comes-from-people-not-languages/
#مهران_داودی
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
https://mehrandvd.me/2015/10/15/software-quality-comes-from-people-not-languages/
#مهران_داودی
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___