این مقاله توسط Igor Ostrovsky یکی از مغزهای متفکر برنامه نویسی موازی یا Parallel Programming در .Net نوشته شده است. او در این سری مقالات مفهوم مدل حافظه یا Memory Model را در زبان C# به صورت تئوری و عملی توضیح داده است. از آنجاییکه یکی از مهمترین مشکلات برنامهنویسی موازی مشکل Shared Memory است، فهمیدن این مدل کمک بسیاری در نوشتن و دیباگ کردن کدهای Parallel میکند.
https://msdn.microsoft.com/en-us/magazine/jj863136.aspx
#مهران_داودی
لینکداین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
https://msdn.microsoft.com/en-us/magazine/jj863136.aspx
#مهران_داودی
لینکداین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
اگر با WPF کار میکنید، یکی از قویترین فریمورکهای موجود برای ساخت نرمافزارهای بزرگ و با کیفیت Prism است. فریمورک Prism با معماری MVVM طراحی شدهاست و در خیلی از مواقع به عنوان مرجعی برای یک معماری زیبا و کامل یک سیستم MVVM محسوب میشود. اگر میخواهید برنامهای بنویسید که بر پایه XAML کار میکند (مانند WPF، UWP، Xamarin و یا ...) حتما این فریمورک را مطالعه کنید. در مورد این فریمورک کتابهای زیادی نیز منتشر شده است.
https://github.com/PrismLibrary/Prism
#مهران_داودی
لینکداین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
https://github.com/PrismLibrary/Prism
#مهران_داودی
لینکداین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
GitHub
GitHub - PrismLibrary/Prism: Prism is a framework for building loosely coupled, maintainable, and testable XAML applications in…
Prism is a framework for building loosely coupled, maintainable, and testable XAML applications in WPF, Xamarin Forms, and Uno / Win UI Applications.. - PrismLibrary/Prism
استفاده از Entity Framework Migration در تیمهای نرمافزاری که چند نفر موازی روی مدل کار میکنند. این کار معمولا چالشهایی دارد که در این لینک این چالشها مطرح شده است. برای مثال حالتهایی وجود دارد که دو برنامهنویس همزمان یک کلاس را تغییر داده و روی آن Migration درست میکنند. همچنین توضیح داده شدهاست که چطور میتوان آنها را حل کرد.
https://msdn.microsoft.com/en-us/data/dn481501.aspx
#مهران_داودی
لینکداین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
https://msdn.microsoft.com/en-us/data/dn481501.aspx
#مهران_داودی
لینکداین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
Docs
Code First Migrations in Team Environments - EF6
Code First Migrations in Team Environments in Entity Framework 6
معرفی CQRS به صورت خلاصه و مختصر توسط Dino Esposito، معمار نرمافزار مطرحی که مقالات زیادی در مورد معماری نرمافزار نوشته است. مفهوم CQRS یکی از مفاهیم جذاب و لبه تکنولوژی این روزهای دنیای معماری نرمافزار است. لینک زیر به طور خلاصه مفهوم جدا شدن پایپلاین Read و Write در معماریهای جدید نرمافزار را نشان میدهد. جدا شدن این پایپلاینها باعث میشود قدرت مانور و اعمال تغییرات روی عملیات خواندن و نوشتن در نرمافزارهای بزرگ بیشتر باشد.
https://msdn.microsoft.com/en-us/magazine/mt147237.aspx
#مهران_داودی
لینکداین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
https://msdn.microsoft.com/en-us/magazine/mt147237.aspx
#مهران_داودی
لینکداین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
آیا تا به حال لازم شدهاست که در یک پروژه همزمان چند DbContext داشتهباشید؟ و یا اینکه DbContext های مختلف را در پروژههای مختلفی پخش کنید؟ در این صورت برای فعال کردن Migration روی این پروژهها نیاز به تنظیمات خاصی دارید که در لینک زیر توضیح داده شده.
https://www.dotnet-tricks.com/Tutorial/entityframework/2VOa140214-Entity-Framework-6-Code-First-Migrations-with-Multiple-Data-Contexts.html
#مهران_داودی
لینکداین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
https://www.dotnet-tricks.com/Tutorial/entityframework/2VOa140214-Entity-Framework-6-Code-First-Migrations-with-Multiple-Data-Contexts.html
#مهران_داودی
لینکداین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
Dotnet-Tricks
Entity Framework 6 Code First Migrations with Multiple Data Contexts
Entity Framework code first migrations allows you to create a new database or to update existing database based on your model classes. Entity Framework5 code first migrations is only able to manage a single DbContext per physical database instance. Now, Entity…
تا امروز فیدبکهای خیلی خوبی از شما دوستان گرفتیم. بر اساس فیدبکهای شما تصمیم گرفتیم که پستهای این کانال را در سه دسته بندی پست کنیم:
۱) مطالب مهندسی و معماری نرمافزار و مدیریت تیمهای نرمافزاری
۲) مطالب مربوط به آخرین تکنولوژیها
۳) مطالب مربوط به تکنولوژیهای مرسوم که در شرکتها استفاده میشود.
هر هفته مطالبی که پست میشود شامل تمامی دستههای بالا خواهد بود. به این ترتیب اگر به یکی یا چندتا از دستهبندیها علاقه دارید، هر هفته حتما چند پست مورد علاقه شما در این کانال «فلسفه نرمافزار» وجود دارد.
لطفا اگر نظر، پیشنهاد، انتقاد و یا هرگونه فیدبکی نسبت به این کانال دارید، در توئیتر بنویسید. مطمئن باشید ما آنها را میخوانیم. (در توئیتر @mehrandvd را منشن کنید و از هشتگ #SoftwarePhilosophy استفاده کنید)
۱) مطالب مهندسی و معماری نرمافزار و مدیریت تیمهای نرمافزاری
۲) مطالب مربوط به آخرین تکنولوژیها
۳) مطالب مربوط به تکنولوژیهای مرسوم که در شرکتها استفاده میشود.
هر هفته مطالبی که پست میشود شامل تمامی دستههای بالا خواهد بود. به این ترتیب اگر به یکی یا چندتا از دستهبندیها علاقه دارید، هر هفته حتما چند پست مورد علاقه شما در این کانال «فلسفه نرمافزار» وجود دارد.
لطفا اگر نظر، پیشنهاد، انتقاد و یا هرگونه فیدبکی نسبت به این کانال دارید، در توئیتر بنویسید. مطمئن باشید ما آنها را میخوانیم. (در توئیتر @mehrandvd را منشن کنید و از هشتگ #SoftwarePhilosophy استفاده کنید)
وجود یک «لکه» یا Blob در کد برنامه شما یک نمونه ضد الگوی برنامه نویسی (Anti Pattern) محسوب میشود. یکی از علائمی که نشان میدهد برنامه شما لکه دارد، زمانی است که از این جمله استفاده میکنید: «این قسمت از کد، قلب سیستم است»
وقتی از این جمله استفاده میکنید، یعنی قسمتی از کد شما وجود دارد که در آن حجم زیادی از منطق برنامه شما نوشته شدهاست و شکسته نشدهاست. لکهها تمایل به بزرگ شدن دارند، یعنی خیلی وقتها برای نوشتن یک کد جدید، احساس میکنید باید آن را به «قلب سیستم» اضافه کنید. خیلی وقتها علت این مشکل معماری بد و یا حتی «نبود معماری» است.
لینک زیر بیشتر در مورد این Anti Pattern توضیح داده است.
https://sourcemaking.com/antipatterns/the-blob
#مهران_داودی
لینکداین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
وقتی از این جمله استفاده میکنید، یعنی قسمتی از کد شما وجود دارد که در آن حجم زیادی از منطق برنامه شما نوشته شدهاست و شکسته نشدهاست. لکهها تمایل به بزرگ شدن دارند، یعنی خیلی وقتها برای نوشتن یک کد جدید، احساس میکنید باید آن را به «قلب سیستم» اضافه کنید. خیلی وقتها علت این مشکل معماری بد و یا حتی «نبود معماری» است.
لینک زیر بیشتر در مورد این Anti Pattern توضیح داده است.
https://sourcemaking.com/antipatterns/the-blob
#مهران_داودی
لینکداین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
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.
محصول Entity Framework 7 که به تازگی نام آن به Entity Framework Core 1 تغییر یافته به هیچ وجه نسخه بعدی Entity Framework 6 نیست. علت تغییر نام این محصول نیز به همین دلیل بودهاست. هدف از تغییر نام واضح کردن این نکته بوده تا برنامهنویسان انتظارات اشتباه نداشته باشند.
در این محصول جدید علاوه بر امکانات جدیدی که اضافه شدهاست، امکاناتی قدیمی که دیگر در معماری نرمافزار نوین نمیگنجد «حذف» شدهاند. برای مثال در محصول جدید دیگر خبری از ObjectContext نیست و فقط DbContext وجود دارد.
برای آگاهی از خلاصهای از امکانات جدید و امکانات حذف شده، میتوانید لینک زیر را مطالعه کنید.
https://www.c-sharpcorner.com/article/new-features-of-entity-framework-7/
#مهران_داودی
لینکداین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
در این محصول جدید علاوه بر امکانات جدیدی که اضافه شدهاست، امکاناتی قدیمی که دیگر در معماری نرمافزار نوین نمیگنجد «حذف» شدهاند. برای مثال در محصول جدید دیگر خبری از ObjectContext نیست و فقط DbContext وجود دارد.
برای آگاهی از خلاصهای از امکانات جدید و امکانات حذف شده، میتوانید لینک زیر را مطالعه کنید.
https://www.c-sharpcorner.com/article/new-features-of-entity-framework-7/
#مهران_داودی
لینکداین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
C-Sharpcorner
New Features Of Entity Framework 7
In this article you will learn about new features of Entity Framework 7.
چهار چیزی که طراحان خوب به آن اهمیت میدهند:
۱. طراحان خوب به «انسانها» اهمیت میدهند. آنها انسانها و سطوح احساسی و معنوی انسانها را میفهمند.
2. طراحان خوب به «ساختن» اهمیت میدهند و از ساختن استقبال میکنند (مثلا ساخت مدل). حس خوب به ساختن باعث میشود چیزی که ساخته میشود نیز خوب باشد!
۳. طراحان خوب به «چرایی» اهمیت میدهند. طراحان در هنگام کار نیاز دارند تصمیم بگیرند. آنها شانسی تصمیم نمیگیرند، بلکه تصمیمات آگاهانه خود را بر اساس ریزترین چیزهایی که دیدهاند میگیرند.
۴. طراحان خوب به صداقت اهمیت میدهند. آنها صداقت محض خود را وارد کار میکنند تا به این وسیله چیزهایی درست و معنیدار خلق کنند.
در لینک زیر هر کدام از این موارد به تفصیل توضیح داده شدهاند. جالب است بدانید این مقاله در مورد طراحان UX است ولی من در ابتدا به آن اشارهای نکردم. به نظر میرسد که موارد بالا برای هر کسی که احساس میکند در کارش چیزی طراحی میکند صادق است.
https://uxmag.com/articles/four-things-great-designers-care-about
#مهران_داودی
لینکداین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
۱. طراحان خوب به «انسانها» اهمیت میدهند. آنها انسانها و سطوح احساسی و معنوی انسانها را میفهمند.
2. طراحان خوب به «ساختن» اهمیت میدهند و از ساختن استقبال میکنند (مثلا ساخت مدل). حس خوب به ساختن باعث میشود چیزی که ساخته میشود نیز خوب باشد!
۳. طراحان خوب به «چرایی» اهمیت میدهند. طراحان در هنگام کار نیاز دارند تصمیم بگیرند. آنها شانسی تصمیم نمیگیرند، بلکه تصمیمات آگاهانه خود را بر اساس ریزترین چیزهایی که دیدهاند میگیرند.
۴. طراحان خوب به صداقت اهمیت میدهند. آنها صداقت محض خود را وارد کار میکنند تا به این وسیله چیزهایی درست و معنیدار خلق کنند.
در لینک زیر هر کدام از این موارد به تفصیل توضیح داده شدهاند. جالب است بدانید این مقاله در مورد طراحان UX است ولی من در ابتدا به آن اشارهای نکردم. به نظر میرسد که موارد بالا برای هر کسی که احساس میکند در کارش چیزی طراحی میکند صادق است.
https://uxmag.com/articles/four-things-great-designers-care-about
#مهران_داودی
لینکداین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
Uxmag
Four Things Great Designers Care About
Whether you’re a seasoned professional or a new graduate, all great designers care about four main things.
قورباغه را دوباره اختراع نکنید!
در مهندسی نرمافزار، شناخت دقیق نیازمندیها و سپس ساخت محصولی مطابق نیازمندیها یکی از کارهای به ظاهر ساده ولی در عمل پیچیده است. مطلب زیر داستانی را تشریح میکند که در آن یک مهندس نرمافزار هنگام خلقت زمین پروژه طراحی «زنبور» را بر عهده گرفتهاست. ولی به دلایلی که در داستان توضیح داده شده اقدام به طراحی یک «وزغ» میکند که هیچ تناسبی با نیازمندیهای «زنبور» ندارد. این مهندس نرمافزار در حقیقت به جای خلق موجودی که نیازمندیهای زنبور را برآورده کند، یک حیوان جدید به نام وزغ خلق کرده که اتفاقا خدا قبلا آن را با نام «قورباغه» خلق کرده بوده!
اگر لینک زیر را کامل بخوانید ارتباط آن را با پروژههای نرمافزاری میبینید و خواهید دید که چگونه این خطا باعث شکست یک پروژه نرمافزاری میشود.
https://mehrandvd.me/2016/03/09/reinventing-the-frog/
#مهران_داودی
لینکداین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
در مهندسی نرمافزار، شناخت دقیق نیازمندیها و سپس ساخت محصولی مطابق نیازمندیها یکی از کارهای به ظاهر ساده ولی در عمل پیچیده است. مطلب زیر داستانی را تشریح میکند که در آن یک مهندس نرمافزار هنگام خلقت زمین پروژه طراحی «زنبور» را بر عهده گرفتهاست. ولی به دلایلی که در داستان توضیح داده شده اقدام به طراحی یک «وزغ» میکند که هیچ تناسبی با نیازمندیهای «زنبور» ندارد. این مهندس نرمافزار در حقیقت به جای خلق موجودی که نیازمندیهای زنبور را برآورده کند، یک حیوان جدید به نام وزغ خلق کرده که اتفاقا خدا قبلا آن را با نام «قورباغه» خلق کرده بوده!
اگر لینک زیر را کامل بخوانید ارتباط آن را با پروژههای نرمافزاری میبینید و خواهید دید که چگونه این خطا باعث شکست یک پروژه نرمافزاری میشود.
https://mehrandvd.me/2016/03/09/reinventing-the-frog/
#مهران_داودی
لینکداین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
Dot Philosophy
Reinventing the Frog! - Dot Philosophy
Do you remember the time that God was creating the "Planet Ecosystem" as a sub project of "Earth Project"!? You know, there was a lot of work needed to be done to create this world. Some sample tasks might be: Creating Flowers Designing Rose Designing Tulip…
یکی از ویژگیهای جذابی که قرار است به C# 7.0 اضافه شود، مدل جدیدی در زبان است که امکان میدهد Tuple ها را بسیار راحتتر و کاراتر تعریف کرد. یکی از کاربردهای جالبی که این مدل دارد، امکان ساخت متدهایی است که بتوانند همزمان چند خروجی داشته باشند (بدون استفاده از out و ref یا برگرداندن آرایه)
در لینک زیر نحوه استفاده از این Syntax جدید توضیح داده شدهاست.
https://www.infoq.com/news/2016/04/CSharp-7
#مهران_داودی
لینکداین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
در لینک زیر نحوه استفاده از این Syntax جدید توضیح داده شدهاست.
https://www.infoq.com/news/2016/04/CSharp-7
#مهران_داودی
لینکداین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
InfoQ
C# 7 Features Previewed
Over the last year we've shown you various features that were being considered for C# 7. With the preview of Visual Studio 15, Microsoft has decided to demonstrate the features to make it into the final release of C# 7.
این کانال متعلق به یکی دوستانم است که بیشتر در مورد مطالب مربوط به امنیت فعالیت میکند. پیشنهاد میکنم عضو این کانال شوید. ما هم سعی میکنیم مطالبی از این کانال را که مرتبط با «فلسفه نرمافزار» است در اینجا به اشتراک بگذاریم.
https://telegram.me/GeekLinks
#مهران_داودی
لینکداین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
https://telegram.me/GeekLinks
#مهران_داودی
لینکداین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
Telegram
GeekLinks 🛃👾
Useful links about Programming/RCE/Software Security
یکی از اخباری که در کنفرانس BUILD 2016 داده شد، انتشار Update 2 برای Visual Studio 2015 بود. یکی از امکانات جالبی که اضافه شدهاست، امکان Initialize Interactive است. همانطور میدانید در Visual Studio 2015 امکانی ایجاد شده بود به نام C# Interactive که پنجرهای است که میتوانید یک قطعه کد را بدون اینکه نیاز به درست کردن فایل و یا درست کردن کلاس باشد به صورت اسکریپتی اجرا کنید. امکان جدیدی که اضافه شدهاست این اجازه را میدهد میتوانید در ادیتور هر قطعه کدی را انتخاب کنید و روی آن راست کلیک کنید و Initialize Interactive را بزنید تا به به طور خودکار در پنجره C# Interative اجرا شود.
https://blogs.msdn.microsoft.com/dotnet/2016/04/02/whats-new-for-c-and-vb-in-visual-studio/
#مهران_داودی
لینکداین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
https://blogs.msdn.microsoft.com/dotnet/2016/04/02/whats-new-for-c-and-vb-in-visual-studio/
#مهران_داودی
لینکداین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
Microsoft
What’s New for C# and VB in Visual Studio
A first-hand look from the .NET engineering teams
اگر دوست دارید با تکنولوژیهای محبوبی که در راه هستند یک پروژه بنویسید، مقاله زیر از Code Project را بخوانید. این مقاله به صورت قدم به قدم یک پروژه را ساختهاست و از این تکنولوژیها استفاده کردهاست:
- فریمورک Angular 2 (فریم ورک محبوب UI که توسط تیم گوگل در حال توسعه است)
- زبان TypeScript که زبانی محبوب برای کار با جاوااسکریپت میباشد و محبوبیت زیادی پیدا کردهاست.
این مقاله نشان میدهد که چطور میتوان این دو تکنولوژی را در Visual Studio 2015 ادغام کرد و از مزایای هر دو بهره برد.
https://www.codeproject.com/Articles/1087605/Angular-typescript-configuration-and-debugging-for
#مهران_داودی
لینکداین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
- فریمورک Angular 2 (فریم ورک محبوب UI که توسط تیم گوگل در حال توسعه است)
- زبان TypeScript که زبانی محبوب برای کار با جاوااسکریپت میباشد و محبوبیت زیادی پیدا کردهاست.
این مقاله نشان میدهد که چطور میتوان این دو تکنولوژی را در Visual Studio 2015 ادغام کرد و از مزایای هر دو بهره برد.
https://www.codeproject.com/Articles/1087605/Angular-typescript-configuration-and-debugging-for
#مهران_داودی
لینکداین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
Codeproject
Angular 2 typescript configuration and debugging for Visual Studio 2015 - CodeProject
Article shows how to setup ASP.NET 4.5.2 and ASP.NET 5 projects for Angular 2 application and how to enable Angular 2 typescript debugging in Visual Studio.; Author: Sami Pylkkänen; Updated: 7 Apr 2016; Section: ASP.NET; Chapter: Web Development; Updated:…
معماری نرمافزار مانند معماری ساختمان یک هنر است آیا تا به حال به فرق یک معمار و یک مهندس عمران فکر کردهاید؟ تمرکز مهندسان عمران معمولا بر ساخت سازهها است. آنها فکر میکنند چطور سازههایی مانند دیوار، در، پنجره و سایر اجزا را به طور صحیح بسازند. از طرف دیگر معمارها معمولا به اینها فکر نمیکنند! تمرکز اصلی آنها روی ساخت و معماری فضاهایی است که بین این اجزا به وجود میآید. در حقیقت مهندسین عمران به دیوارها فکر میکنند و معمارها به فضای بین دیوارها.
نکته جالب این است که انسانها یا مشتریان در نهایت از فضاها استفاده میکنند نه دیوارها! آنها پول خرج میکنند تا فضای زیبایی بخرند و به ندرت دیوارها را میبینند.
در مهندسی نرمافزار، ساخت دیوار مانند کد نویسی است. برنامهنویسان با کد نویسی در حقیقت در حال ساخت دیوارهایی هستند که این دیوارها مستقیما برای مشتری معنی ندارد. مشتریان امکاناتی را میبینند که توسط این کدها برای آنها خلق شدهاست. یکی از وظایف یک مهندس نرمافزار تمرکز بر فضاهای ایجاد شده برای مشتری است. اینکه این فضاها چقدر کارا و مفید طراحی شدهاند.
توضیحات کامل مفهوم فضا و تاثیر آن بر مشتری را میتوانید در لینک زیر بخوانید.
https://mehrandvd.me/2015/10/26/spaces-shape-your-software-architecture/
#مهران_داودی
لینکداین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
نکته جالب این است که انسانها یا مشتریان در نهایت از فضاها استفاده میکنند نه دیوارها! آنها پول خرج میکنند تا فضای زیبایی بخرند و به ندرت دیوارها را میبینند.
در مهندسی نرمافزار، ساخت دیوار مانند کد نویسی است. برنامهنویسان با کد نویسی در حقیقت در حال ساخت دیوارهایی هستند که این دیوارها مستقیما برای مشتری معنی ندارد. مشتریان امکاناتی را میبینند که توسط این کدها برای آنها خلق شدهاست. یکی از وظایف یک مهندس نرمافزار تمرکز بر فضاهای ایجاد شده برای مشتری است. اینکه این فضاها چقدر کارا و مفید طراحی شدهاند.
توضیحات کامل مفهوم فضا و تاثیر آن بر مشتری را میتوانید در لینک زیر بخوانید.
https://mehrandvd.me/2015/10/26/spaces-shape-your-software-architecture/
#مهران_داودی
لینکداین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
Forwarded from Software Philosophy
اگر دوستانی دارید که نه تنها برنامه نویس هستند، بلکه اعتقاد دارید «مهندس نرمافزار» هم هستند، آنها را به کانال @SoftwarePhilosophy دعوت کنید.
این پیغام را برای آنها Forward کنید.
این پیغام را برای آنها Forward کنید.
مقاله زیر حاوی نکات بسیار جالبی در مورد یک UX موفق است. نکاتی ساده، اما کاربردی که رعایت آنها تاثیر مهمی روی محصول شما میگذارد.
https://uxmag.com/articles/the-best-enterprise-ux-is-the-one-you-never-see
#مهران_داودی
لینکداین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
https://uxmag.com/articles/the-best-enterprise-ux-is-the-one-you-never-see
#مهران_داودی
لینکداین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
Uxmag
The Best Enterprise UX Is the One You Never See
Whether developing software in the ecommerce, biotech, storage, or security industries, there are five philosophies that shape an approach to enterprise UX.
ارتباط بین طراحان و برنامه نویسان
برای رسیدن به یک محصول خوب، طراحان و برنامهنویسها باید رابطه بسیار خوبی با یکدیگر داشته باشند. نکات زیر کمک میکند بدانید چگونه میتوانید در بهبود این روابط به تیم خود کمک کنید.
۱. ارتباط با ذهن باز: باید بدانید دنیای فکری یک برنامه نویس و یک طراح با هم بسیار فرق دارد. آموزشها، تجربیات، سلیقهها و مهارتهایی که آنها در ذهن خود دارند باعث میشود آنها دنیا را متفاوت ببینند. اصولا همین تفاوت است که باعث ارزشافزایی در تیم و محصول میشود، ولی اگر این تفاوت درست درک نشود ممکن است منجر به مشکلاتی در تیم شود.
۲. همیشه یک نماینده تیم برنامهنویسی را در جلسات نهایی برنامهریزی داشته باشید.
۳. با اینکه معمولا نیازی نیست طراحان دانش برنامهنویسی و پیادهسازی ایدههایشان را داشته باشند، ولی داشتن این دانش کمک خیلی زیادی به شناسایی اشتباهات در مراحل اولیه میکند.
در لینک زیر نکات کاملتری برای بهبود این ارتباط نوشته شدهاست که در صورت علاقه میتوانید مطالعه کنید.
https://uxmag.com/articles/the-relationship-between-designers-and-developers
#مهران_داودی
لینکداین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
برای رسیدن به یک محصول خوب، طراحان و برنامهنویسها باید رابطه بسیار خوبی با یکدیگر داشته باشند. نکات زیر کمک میکند بدانید چگونه میتوانید در بهبود این روابط به تیم خود کمک کنید.
۱. ارتباط با ذهن باز: باید بدانید دنیای فکری یک برنامه نویس و یک طراح با هم بسیار فرق دارد. آموزشها، تجربیات، سلیقهها و مهارتهایی که آنها در ذهن خود دارند باعث میشود آنها دنیا را متفاوت ببینند. اصولا همین تفاوت است که باعث ارزشافزایی در تیم و محصول میشود، ولی اگر این تفاوت درست درک نشود ممکن است منجر به مشکلاتی در تیم شود.
۲. همیشه یک نماینده تیم برنامهنویسی را در جلسات نهایی برنامهریزی داشته باشید.
۳. با اینکه معمولا نیازی نیست طراحان دانش برنامهنویسی و پیادهسازی ایدههایشان را داشته باشند، ولی داشتن این دانش کمک خیلی زیادی به شناسایی اشتباهات در مراحل اولیه میکند.
در لینک زیر نکات کاملتری برای بهبود این ارتباط نوشته شدهاست که در صورت علاقه میتوانید مطالعه کنید.
https://uxmag.com/articles/the-relationship-between-designers-and-developers
#مهران_داودی
لینکداین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
UX Magazine
The Relationship Between Designers and Developers
Using the abilities from both design and development teams provides a certain edge that is impossible without collaboration.
حل مشکلات Json در یک استاندارد جدید به نام Hjson
همانطور که میدانید در چند سال اخیر استفاده از فرمت json برای فایلهای کانفیگ بسیار رایج شده است. در این مورد یک توییت جالب همه را به چالش کشید: «خواهش میکنم از json برای کانفیگ فایلها استفاده نکنید، تو json نمیشه کامنت نوشت و بدون کامنت مدیریت کانفیگها خیلی سخته». این نکته برای من خیلی جالب بود. به نظر میرسد فرمت json برای فایلهال کانفیگ چالشهایی دارد.
لینک زیر یک فرمت جدید رو که اسمش Human Json یا Hjson هست را معرفی کرده که نه تنها مشکل کامنت را ندارد، بلکه خیلی مشکلات دیگر که هنوز به آن فکر نشده بود را هم ندارد! جالبه که کتابخانههایی هم برای این استاندارد نوشته شده که استفاده از اون رو در بیشتر زبانهای محبوب مانند Java, C#, JavaScript, Mono, Ruby, Python, Noder.js, PHP, Go و زبانهای دیگر ساده میکند.
https://hjson.org/
#مهران_داودی
لینکداین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
همانطور که میدانید در چند سال اخیر استفاده از فرمت json برای فایلهای کانفیگ بسیار رایج شده است. در این مورد یک توییت جالب همه را به چالش کشید: «خواهش میکنم از json برای کانفیگ فایلها استفاده نکنید، تو json نمیشه کامنت نوشت و بدون کامنت مدیریت کانفیگها خیلی سخته». این نکته برای من خیلی جالب بود. به نظر میرسد فرمت json برای فایلهال کانفیگ چالشهایی دارد.
لینک زیر یک فرمت جدید رو که اسمش Human Json یا Hjson هست را معرفی کرده که نه تنها مشکل کامنت را ندارد، بلکه خیلی مشکلات دیگر که هنوز به آن فکر نشده بود را هم ندارد! جالبه که کتابخانههایی هم برای این استاندارد نوشته شده که استفاده از اون رو در بیشتر زبانهای محبوب مانند Java, C#, JavaScript, Mono, Ruby, Python, Noder.js, PHP, Go و زبانهای دیگر ساده میکند.
https://hjson.org/
#مهران_داودی
لینکداین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
สล็อตเว็บตรง | สล็อตเว็บตรง g2ggrand | สล็อตเว็บตรง แตกง่าย - hjson.org -
สล็อตเว็บตรง | สล็อตเว็บตรง g2ggrand | สล็อตเว็บตรง แตกง่าย - hjson.org
สล็อตเว็บตรง | สล็อตเว็บตรง g2ggrand | สล็อตเว็บตรง แตกง่าย สล็อตเว็บตรง ไม่ผ่านเอเย่นต์ เว็บสล็อตยอดนิยม รวมเกมเยอะ ทำเงินได้จริง 💥 คาสิโนออนไลน์ สมาชิกใหม่ ฝากครั้งแรก รับโบนัส 50% โบนัสสูงสุด 500 บาท ! 💥 Play168 สล็อตเว็บตรง สล็อตเว็บตรง LINE สล็อตเว็บตรง…
افزونگی کد یک اشتباه برنامه نویسی نیست، یک بیماری معماری است. مهندسین نرمافزار همیشه تلاش میکنند تا «افزونگی کد» یا کدهای تکراری را کم کنند. در بسیاری از شرایط افزونگی کد به عنوان یک بیدقتی برنامهنویس محسوب میشود. برنامهنویسانی که به «نزدیکبینی کد» مبتلا هستند! یعنی در کدی که مینویسند گم میشوند و یادشان میرود که کجای کد هستند و چرا این کد را مینویسند و به طور کلی نمیتوانند دورنمایی از کاری را که انجام میدهند در ذهن خود تجسم کنند.
ولی تجربه نشان میدهد بیشترین علت «افزونگی کد» برنامهنویسان نیستند! بلکه این مشکل بیشتر به خاطر «معماری بد نرمافزار» است. معمار نرمافزار کسی است که هنگام معماری باید «فضاهای» کد را طوری معماری کند تا احتمال به خطا افتادن برنامهنویسان کمتر شود.
لینک زیر توضیح میدهد که چگونه یک معماری بد باعث «رشد افزونگی کد» در نرمافزار میشود.
https://mehrandvd.me/2016/02/28/growing-redundancy-an-architectural-disease/
#مهران_داودی
لینکداین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
ولی تجربه نشان میدهد بیشترین علت «افزونگی کد» برنامهنویسان نیستند! بلکه این مشکل بیشتر به خاطر «معماری بد نرمافزار» است. معمار نرمافزار کسی است که هنگام معماری باید «فضاهای» کد را طوری معماری کند تا احتمال به خطا افتادن برنامهنویسان کمتر شود.
لینک زیر توضیح میدهد که چگونه یک معماری بد باعث «رشد افزونگی کد» در نرمافزار میشود.
https://mehrandvd.me/2016/02/28/growing-redundancy-an-architectural-disease/
#مهران_داودی
لینکداین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___