#پست_مجدد این پست تا به حال بیش از ۱۳۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد
Forwarded from Software Philosophy
در معماری نرم افزار گاهی نیاز است الگوهایی که دارای بیشترین قابلیت تست و همچنین نسبت به تغییرات خارجی دچار کمترین تغییرات هستند مورد استفاده قرار بگیرند . معماری Hexagonal(یا Ports and Adapter) یکی از این الگوهاست که مکانیزمهایی را برای تحقق این هدف بر مبنای تفکر DDD بیان میکند . لینک زیر در خصوص این معماری توضیحات مناسبی را ارائه میدهد :
https://blog.ndepend.com/hexagonal-architecture/
#شهریار_انتظام (http://ow.ly/qDN430nPiCg)
کانال تلگرام:
@SoftwarePhilosophy
___
https://blog.ndepend.com/hexagonal-architecture/
#شهریار_انتظام (http://ow.ly/qDN430nPiCg)
کانال تلگرام:
@SoftwarePhilosophy
___
NDepend Blog
Hexagonal Architecture: What Is It and How Does It Work? - NDepend Blog
Hexagonal architecture is a pattern for making better software. Learn how it works, including an explanation and examples.
Forwarded from فلسفه دیزاین
روشهایی برای مفیدتر بودن
آیا تا بهحال برایتان این اتفاق افتاده است که یک هفتهی مداوم روی یک ایده کار کنید و نتیجه خوبی نگیرید؟ و برعکس تنها با یک روز کار روی ایدهای دیگر نتیجه فوقالعادهای بگیرید؟ در چه زمان بیشترین بهرهوری را در کار خود داشتهاید؟
وقتی صحبت از افزایش بازدهی است اغلب اینگونه تصور میشود که باید بیشتر کار کنیم تا بتوانیم بازدهی بیشتری داشته باشیم. اما بر خلاف این تصور عمومی تعداد ساعت بیشتر کار کردن معیار مناسبی برای سنجش عملکرد ما نیست. همه میدانیم که ساعات محدودی در طول روز در اختیار ما است؛ با این وجود استراتژیهای متعددی برای بیشترین استفاده مفید از همین زمان محدود وجود دارد. رمز موفقیت تنها سخت کارکردن نیست بلکه هوشمندانه عملکردن است و هوشمندانه عملکردن یعنیاینکه باید در کنار کارکردن زمانی برای فراغت نیز به خودمان بدهیم.
تجربه ثابت کردهاست که در اغلب اوقات ما راهحلها را زمانی پیدا میکنیم که دقیقا در حال جستجوی روی آن موضوع نبودهایم. این مهم است که بدانیم بهرهوری ما یک روزه افزایش پیدا نمیکند و نیاز به سعی و تلاش دارد. برای رسیدن به موفقیت بیشتر و زندگی شادتر باید به خودمان زمان بدهیم و پتانسیلهای خود را بشناسیم تا براساس آن راهکارهای عملی برای بهبود بهرهوری و بالابردن سطح انرژی و زمان خود پیدا کنیم .
پس برای آشنایی بیشتر با چگونگی افزایش بازدهی و بهرهوری مقاله امروز را از دست ندهید.
https://medium.com/s/story/7-things-you-need-to-stop-doing-to-be-more-productive-backed-by-science-a988c17383a6
(زمان حدودی مطالعه، ۱۱ دقیقه)
نویسنده: نیما حکیمرابط
#اصول #بازدهی #بهرهوری
@Dexign فلسفه دیزاین
______
آیا تا بهحال برایتان این اتفاق افتاده است که یک هفتهی مداوم روی یک ایده کار کنید و نتیجه خوبی نگیرید؟ و برعکس تنها با یک روز کار روی ایدهای دیگر نتیجه فوقالعادهای بگیرید؟ در چه زمان بیشترین بهرهوری را در کار خود داشتهاید؟
وقتی صحبت از افزایش بازدهی است اغلب اینگونه تصور میشود که باید بیشتر کار کنیم تا بتوانیم بازدهی بیشتری داشته باشیم. اما بر خلاف این تصور عمومی تعداد ساعت بیشتر کار کردن معیار مناسبی برای سنجش عملکرد ما نیست. همه میدانیم که ساعات محدودی در طول روز در اختیار ما است؛ با این وجود استراتژیهای متعددی برای بیشترین استفاده مفید از همین زمان محدود وجود دارد. رمز موفقیت تنها سخت کارکردن نیست بلکه هوشمندانه عملکردن است و هوشمندانه عملکردن یعنیاینکه باید در کنار کارکردن زمانی برای فراغت نیز به خودمان بدهیم.
تجربه ثابت کردهاست که در اغلب اوقات ما راهحلها را زمانی پیدا میکنیم که دقیقا در حال جستجوی روی آن موضوع نبودهایم. این مهم است که بدانیم بهرهوری ما یک روزه افزایش پیدا نمیکند و نیاز به سعی و تلاش دارد. برای رسیدن به موفقیت بیشتر و زندگی شادتر باید به خودمان زمان بدهیم و پتانسیلهای خود را بشناسیم تا براساس آن راهکارهای عملی برای بهبود بهرهوری و بالابردن سطح انرژی و زمان خود پیدا کنیم .
پس برای آشنایی بیشتر با چگونگی افزایش بازدهی و بهرهوری مقاله امروز را از دست ندهید.
https://medium.com/s/story/7-things-you-need-to-stop-doing-to-be-more-productive-backed-by-science-a988c17383a6
(زمان حدودی مطالعه، ۱۱ دقیقه)
نویسنده: نیما حکیمرابط
#اصول #بازدهی #بهرهوری
@Dexign فلسفه دیزاین
______
Medium
7 Things You Need To Stop Doing To Be More Productive, Backed By Science
Work Hard, Work Smart
#پست_مجدد این پست تا به حال بیش از ۴۱۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد
Forwarded from Software Philosophy
و بالاخره Blazor از نسخه آزمایشی خارج شد!
پروژه Blazor داستان جذابی دارد. حدود دو سال پیش Steve Sanderson یک پروژه تفریحی به نام Blazor در گیتهاب خود درست کرد و شروع به آزمایش ایده خود کرد.
اگر مدت زیادی است که در دنیای JavaScript هستید حتما نام فریمورک محبوب knockout.js را شنیدهاید. این فریمورک یکی از فریمورکهای کوچک و سبک بایندینگ است که هنوز هم در خیلی از محصولات استفاده میشود. خالق این پروژه نیز Steve Sanderson بود!
ایده Steve این بود: اجرای کدهای C# روی مرورگر با استفاده از WebAssembly و استفاده از Razor و اجرای آن روی مرورگر. بنابراین ترکیب Razor و Browser شد نام پروژه: Blazor. با زبان خیلی ساده میتوان گفت Blazor قرار است یک فریمورک مانند Angular یا React باشد ولی با زبان C#!
تنها پس از چند ماه این پروژه شخصی او توجه بسیاری را به خود جلب کرد تا حدی که مایکروسافت تصمیم گرفت این پروژه را به عنوان یک پروژه آزمایشی به ASP.NET GitHub Organization اضافه کند. در زمان نوشتن این مطلب این ریپو ۷۹۰۰ استار دارد.
امروز همزمان با ریلیز ASP.NET Core 3.0 Preview 4 این پروژه از حالت آزمایشی درآمد و رسما به داتنت کور اضافه شد. یک تصمیم مهم تغییر نام Razor Component به Server-side Blazor بود. بنابراین از این به بعد Blazor یک مدل واحد نوشتن برنامههای سمت کلاینت است با چندین مدل هاست شدن:
- Server-side Blazor: runs on the server via SignalR
- Client-side Blazor: runs client-side on WebAssembly
جالب است بدانید که شرکتهای DevExpress، Telerik و Syncfusion شروع به ساختن کامپوننتهای Blazor کردهاند و همین الان محصولاتی روی آن ساختهاند.
لینک زیر حاوی اطلاعات جزئیتری از برنامه ریلیز و امکانات این محصول است.
https://devblogs.microsoft.com/aspnet/blazor-now-in-official-preview/
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، بر روی لینک زیر کلیک کنید:
http://ow.ly/Pnh030ouEX5
#مهران_داودی (http://ow.ly/GwIl309lFEm)
کانال تلگرام:
@SoftwarePhilosophy
___
پروژه Blazor داستان جذابی دارد. حدود دو سال پیش Steve Sanderson یک پروژه تفریحی به نام Blazor در گیتهاب خود درست کرد و شروع به آزمایش ایده خود کرد.
اگر مدت زیادی است که در دنیای JavaScript هستید حتما نام فریمورک محبوب knockout.js را شنیدهاید. این فریمورک یکی از فریمورکهای کوچک و سبک بایندینگ است که هنوز هم در خیلی از محصولات استفاده میشود. خالق این پروژه نیز Steve Sanderson بود!
ایده Steve این بود: اجرای کدهای C# روی مرورگر با استفاده از WebAssembly و استفاده از Razor و اجرای آن روی مرورگر. بنابراین ترکیب Razor و Browser شد نام پروژه: Blazor. با زبان خیلی ساده میتوان گفت Blazor قرار است یک فریمورک مانند Angular یا React باشد ولی با زبان C#!
تنها پس از چند ماه این پروژه شخصی او توجه بسیاری را به خود جلب کرد تا حدی که مایکروسافت تصمیم گرفت این پروژه را به عنوان یک پروژه آزمایشی به ASP.NET GitHub Organization اضافه کند. در زمان نوشتن این مطلب این ریپو ۷۹۰۰ استار دارد.
امروز همزمان با ریلیز ASP.NET Core 3.0 Preview 4 این پروژه از حالت آزمایشی درآمد و رسما به داتنت کور اضافه شد. یک تصمیم مهم تغییر نام Razor Component به Server-side Blazor بود. بنابراین از این به بعد Blazor یک مدل واحد نوشتن برنامههای سمت کلاینت است با چندین مدل هاست شدن:
- Server-side Blazor: runs on the server via SignalR
- Client-side Blazor: runs client-side on WebAssembly
جالب است بدانید که شرکتهای DevExpress، Telerik و Syncfusion شروع به ساختن کامپوننتهای Blazor کردهاند و همین الان محصولاتی روی آن ساختهاند.
لینک زیر حاوی اطلاعات جزئیتری از برنامه ریلیز و امکانات این محصول است.
https://devblogs.microsoft.com/aspnet/blazor-now-in-official-preview/
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، بر روی لینک زیر کلیک کنید:
http://ow.ly/Pnh030ouEX5
#مهران_داودی (http://ow.ly/GwIl309lFEm)
کانال تلگرام:
@SoftwarePhilosophy
___
Microsoft News
Blazor now in official preview!
With this newest Blazor release we’re pleased to announce that Blazor is now in official preview! Blazor is no longer experimental and we are committing to ship it as a supported web UI framework including support for running client-side in the browser on…
“طراحی پایگاه داده تکاملی” عنوان مقاله ایست که مارتین فاولر و پرمید سادلچ با بررسی این رویکرد که "معماری سیستم باید از طریق تکرارهای مختلف نرم افزار تکامل یابد" نوشته شده است .
نحوه تعامل بین DBA ها و برنامه نویسان، استفاده از ورژن کنترلها، Database refactoring و .... همگی در این مقاله مورد بررسی قرار گرفتهاند :
https://www.martinfowler.com/articles/evodb.html
#شهریار_انتظام (http://ow.ly/qDN430nPiCg)
کانال تلگرام:
@SoftwarePhilosophy
___
نحوه تعامل بین DBA ها و برنامه نویسان، استفاده از ورژن کنترلها، Database refactoring و .... همگی در این مقاله مورد بررسی قرار گرفتهاند :
https://www.martinfowler.com/articles/evodb.html
#شهریار_انتظام (http://ow.ly/qDN430nPiCg)
کانال تلگرام:
@SoftwarePhilosophy
___
martinfowler.com
Evolutionary Database Design
Techniques to allow you to evolve the schema and contents of a production database
Forwarded from DotNetZoom (محمد جواد ابراهیمی)
🔰 #آیا_میدانستید
توی کنسول مروگر میتونین با دستور console.table، آرایه ها و لیست ها تون رو به صورت جدولی نشون بدین؟
مثال های بیشتر:
https://www.telerik.com/blogs/better-visualization-of-console-data-with-tables
__________
@IranAspMvc
توی کنسول مروگر میتونین با دستور console.table، آرایه ها و لیست ها تون رو به صورت جدولی نشون بدین؟
var exampleArray = [
"First item in the array",
"I'm the second item in this array",
"Obviously i'm the last item"
];
console.table(exampleArray);
مثال های بیشتر:
https://www.telerik.com/blogs/better-visualization-of-console-data-with-tables
__________
@IranAspMvc
#پست_مجدد این پست تا به حال بیش از ۴۳۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد
Forwarded from Software Philosophy
چطور برنامهنویسی موازی را برای مادربزرگتان توضیح دهید!؟
برنامه نویسی موازی (Parallel Programming) و برنامه نویسی ناهمگام (Asynchronous Programming) مفاهیم نسبتا جدیدی در دنیای برنامهنویسی هستند که برای اغلب برنامهنویسان جدید است. همه در مورد آن شنیدهانم ولی اغلب واضح نیست که دقیقا چیست و چرا سخت است. یک مفهوم پایه برای درک این مفاهیم پایه Thread یا نخ است. نخها مفاهیمی هستند که وظیفه انجام کارها روی CPU را دارند. در دنیای ما انسانها کسانی هستند که کار انجام میدهند. مقاله زیر مفهوم «نخ» را به «انسان» شبیه دیدهاست و سعی کردهاست مفاهیم پیچیده دنیای برنامهنویسی را با مفاهیم ساده دنیای ما انسانها توضیح دهد.
http://mehrandvd.me/2016/04/18/parallel-programming-grandmother/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
برنامه نویسی موازی (Parallel Programming) و برنامه نویسی ناهمگام (Asynchronous Programming) مفاهیم نسبتا جدیدی در دنیای برنامهنویسی هستند که برای اغلب برنامهنویسان جدید است. همه در مورد آن شنیدهانم ولی اغلب واضح نیست که دقیقا چیست و چرا سخت است. یک مفهوم پایه برای درک این مفاهیم پایه Thread یا نخ است. نخها مفاهیمی هستند که وظیفه انجام کارها روی CPU را دارند. در دنیای ما انسانها کسانی هستند که کار انجام میدهند. مقاله زیر مفهوم «نخ» را به «انسان» شبیه دیدهاست و سعی کردهاست مفاهیم پیچیده دنیای برنامهنویسی را با مفاهیم ساده دنیای ما انسانها توضیح دهد.
http://mehrandvd.me/2016/04/18/parallel-programming-grandmother/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
Forwarded from فلسفه دیزاین
«پراگرسیو وباپ» یا PWA چیست؟
تکنولوژی PWA یا Progressive Web Apps یکی از پرطرفدارترین تغییرات تکنولوژی در وب است که در دنیای تکنولوژی وب برای خود امپراتوری بینظیری بوجود آورده است. این موضوع تعجب آور نیست زیرا پراگرسیو وب اپها توانستهاند رویای نصب تعداد زیادی برنامه بر روی گوشی کاربران را متصور سازند.
عبارت PWA اصطلاحی است که برای نشان دادن یک روش جدید توسعه نرمافزارها استفاده میشود. در این روش تلاش توسعه دهندگان در جهت ترکیب ویژگیهای مرورگرهای مدرن با مزایای استفاده از تلفن همراه میباشد. پراگرسیو وب اپها بر خلاف برنامههای سنتی، ترکیبی از صفحات وب و یک برنامه تلفن همراه میباشند.
از یک پراگرسیو وب اپ میتوان بهعنوان یک صفحه وب معمولی در یک مرورگر استفاده نمود و یا اگر کاربر تمایل داشته باشد میتواند با اضافه کردن کلید میانبر آن پراگرسیو وباپ به صفحه اصلی گوشی خود از آن استفاده نماید. در این حالت حتی میتوان کنترلهای UI مرورگر را پنهان کرده و برای کاربر حس تجربه کار با یک برنامه مستقل را ایجاد نمود.
از زمان معرفی PWAها، شرکتهای زیادی در استفاده از آنها پیش قدم شدهاند. مثلا توییتر PWA را بکار برد تا بتواند با بهره گیری از امکانات آن نسخه پیشفرض دسکتاپ خود را بازطراحی کند.
پراگرسیو وب اپها به دو دسته کلی ذیل تقسیم میشوند:
۱- وب سایتهایی که مانند اپلیکیشنها رفتار میکنند.
۲- اپلیکیشنهایی که تحت فضای وب هستند.
بر اساس توضیحات گوگل، انواع پراگرسیو وب اپها دارای ویژگیهای مشترکی نظیر قابلاطمینانبودن (Reliable)، سرعت عملداشتن (Fast) و ترغیبکنندگی (Engaging) هستند. بطور کلی تمرکز همه پراگرسیو وباپها بر کاربرد آسانتر برنامه و حذف هرگونه اصطکاکی است که جلوی سریعتر رسیدن کاربران به آنچه از برنامه میخواهند را میگیرد. ایده PWA موفق به پرکردن شکاف میان فضای وب و اپلیکیشنها شدهاست. با توجه به روشنبودن آینده پیشروی PWA و مزیتهای کاربردی آن، بنظر میرسد تمرکز بر ایننوع از برنامهها یکی از مباحث جذاب مورد توجه طراحان و توسعه دهندهگان دنیای وب میباشد.
نویسنده مقاله امروز که مطالعه آن را به شما پیشنهاد میکنم، به توضیح مفهوم Progressive Web App پرداخته و ویژگیهای آن را بررسی میکند.
مقاله امروز را از دست ندهید:
https://www.invisionapp.com/inside-design/whats-a-pwa/
(زمان حدودی مطالعه، ۱۱ دقیقه)
نویسنده: نیما حکیم رابط
#معرفی_مفاهیم #تکنولوژی #PWA
@Dexign فلسفه دیزاین
ـــــــــ
تکنولوژی PWA یا Progressive Web Apps یکی از پرطرفدارترین تغییرات تکنولوژی در وب است که در دنیای تکنولوژی وب برای خود امپراتوری بینظیری بوجود آورده است. این موضوع تعجب آور نیست زیرا پراگرسیو وب اپها توانستهاند رویای نصب تعداد زیادی برنامه بر روی گوشی کاربران را متصور سازند.
عبارت PWA اصطلاحی است که برای نشان دادن یک روش جدید توسعه نرمافزارها استفاده میشود. در این روش تلاش توسعه دهندگان در جهت ترکیب ویژگیهای مرورگرهای مدرن با مزایای استفاده از تلفن همراه میباشد. پراگرسیو وب اپها بر خلاف برنامههای سنتی، ترکیبی از صفحات وب و یک برنامه تلفن همراه میباشند.
از یک پراگرسیو وب اپ میتوان بهعنوان یک صفحه وب معمولی در یک مرورگر استفاده نمود و یا اگر کاربر تمایل داشته باشد میتواند با اضافه کردن کلید میانبر آن پراگرسیو وباپ به صفحه اصلی گوشی خود از آن استفاده نماید. در این حالت حتی میتوان کنترلهای UI مرورگر را پنهان کرده و برای کاربر حس تجربه کار با یک برنامه مستقل را ایجاد نمود.
از زمان معرفی PWAها، شرکتهای زیادی در استفاده از آنها پیش قدم شدهاند. مثلا توییتر PWA را بکار برد تا بتواند با بهره گیری از امکانات آن نسخه پیشفرض دسکتاپ خود را بازطراحی کند.
پراگرسیو وب اپها به دو دسته کلی ذیل تقسیم میشوند:
۱- وب سایتهایی که مانند اپلیکیشنها رفتار میکنند.
۲- اپلیکیشنهایی که تحت فضای وب هستند.
بر اساس توضیحات گوگل، انواع پراگرسیو وب اپها دارای ویژگیهای مشترکی نظیر قابلاطمینانبودن (Reliable)، سرعت عملداشتن (Fast) و ترغیبکنندگی (Engaging) هستند. بطور کلی تمرکز همه پراگرسیو وباپها بر کاربرد آسانتر برنامه و حذف هرگونه اصطکاکی است که جلوی سریعتر رسیدن کاربران به آنچه از برنامه میخواهند را میگیرد. ایده PWA موفق به پرکردن شکاف میان فضای وب و اپلیکیشنها شدهاست. با توجه به روشنبودن آینده پیشروی PWA و مزیتهای کاربردی آن، بنظر میرسد تمرکز بر ایننوع از برنامهها یکی از مباحث جذاب مورد توجه طراحان و توسعه دهندهگان دنیای وب میباشد.
نویسنده مقاله امروز که مطالعه آن را به شما پیشنهاد میکنم، به توضیح مفهوم Progressive Web App پرداخته و ویژگیهای آن را بررسی میکند.
مقاله امروز را از دست ندهید:
https://www.invisionapp.com/inside-design/whats-a-pwa/
(زمان حدودی مطالعه، ۱۱ دقیقه)
نویسنده: نیما حکیم رابط
#معرفی_مفاهیم #تکنولوژی #PWA
@Dexign فلسفه دیزاین
ـــــــــ
Invisionapp
What’s a progressive web app, and why should designers care? | Inside Design Blog
Web and app designers, it's time to meet PWAs, or progressive web apps: where your jobs combine.
#پست_مجدد این پست تا به حال بیش از ۵۴۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
تجربه کاربری یا UX یکی از مفاهیمی است که تاثیر زیادی در محبوب شدن یک محصول دارد. مفهوم DX یا Developer Experience نیز مفهوم جدیدی است که تجربه یک برنامهنویس هنگام استفاده از یک پلتفرم یا فریمورک را بررسی میکند. چرا یک پلتفرم یا فریمورک محبوب میشود و دیگری نه؟ این سوالی است که عوامل زیادی در پاسخ دادن به آن موثر هستند. اینکه یک برنامه نویس هنگام کار با آن پلتفرم چه تجربهای احساس میکند یکی از عوامل مهم موفقیت یک پلتفرم است. در مقاله زیر مفهوم جدیدی به نام Dotability معرفی شده که میتوان به وسیله آن کتابخانهها و فریمورکهای مختلف را از لحاظ DX بررسی کرد.
http://mehrandvd.me/2016/05/31/developer-experience-dotability/
http://mehrandvd.me/2016/05/31/developer-experience-dotability/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
http://mehrandvd.me/2016/05/31/developer-experience-dotability/
http://mehrandvd.me/2016/05/31/developer-experience-dotability/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
Dot Philosophy
Developer Experience: Dotability - Dot Philosophy
Again, this famous 'X', as in UX. It's all about experience. The good experience is the key that makes a product valuable. We are always talking about user experience, but here in this post, I am going to talk about developer experience. As a developer, you…
این روزها بحث انتخاب بین ریاکت و انگولار داغ است هر کدام از آنها امکاناتی دارند که دیگری فاقد آنها است.
ریاکت یک کتابخانه است که توسط فیسبوک معرفی شده است ولی انگولار مجموعهای از کتابخانههاست که با هم کار میکنند.
در این مقاله نحوه انتخاب بین این دو و موجی که اخیرا در جهت استفاده از ریاکت ایجاد شده است بررسی شده است.
https://itnext.io/is-angular-dying-because-of-react-a8e885f09421
#مریم_کمالی (http://ow.ly/9Wa430mFGeK)
کانال تلگرام:
@SoftwarePhilosophy
___
ریاکت یک کتابخانه است که توسط فیسبوک معرفی شده است ولی انگولار مجموعهای از کتابخانههاست که با هم کار میکنند.
در این مقاله نحوه انتخاب بین این دو و موجی که اخیرا در جهت استفاده از ریاکت ایجاد شده است بررسی شده است.
https://itnext.io/is-angular-dying-because-of-react-a8e885f09421
#مریم_کمالی (http://ow.ly/9Wa430mFGeK)
کانال تلگرام:
@SoftwarePhilosophy
___
Medium
Is Angular dying because of React?
What’s happening with the future of web development
Forwarded from Software Philosophy
توسعه دهندگان در ارتباط با APIها همیشه با چالشهایی رودرو بودهاند مانند:
-Multiple Endpoints
- Over-fetching/Under-fetching Data
- API Versioning
این مشکلات باعث شد تا برخی متخصصین به دنبال روشهایی برای کاهش این چالشها باشند . GraphQL یکی از این راهکارهاست که در سال 2012 توسط facebook ارائه شد.
از نکات مهم این است که یک پرس و جو را به API خود ارسال کنید و دقیقا همان چیزی که نیاز دارید را دریافت کنید ، نه اطلاعات اضافه را که هر API ممکن است در خروجی خود ارسال کند. لینک زیر یک فیلم با عنوان: "Moving Existing "API From REST To GraphQL است که نگاه جالبی نسبت به موضوع دارد:
https://www.youtube.com/watch?v=broQmxQAMjM
#شهریار_انتظام (http://ow.ly/qDN430nPiCg)
کانال تلگرام:
@SoftwarePhilosophy
___
-Multiple Endpoints
- Over-fetching/Under-fetching Data
- API Versioning
این مشکلات باعث شد تا برخی متخصصین به دنبال روشهایی برای کاهش این چالشها باشند . GraphQL یکی از این راهکارهاست که در سال 2012 توسط facebook ارائه شد.
از نکات مهم این است که یک پرس و جو را به API خود ارسال کنید و دقیقا همان چیزی که نیاز دارید را دریافت کنید ، نه اطلاعات اضافه را که هر API ممکن است در خروجی خود ارسال کند. لینک زیر یک فیلم با عنوان: "Moving Existing "API From REST To GraphQL است که نگاه جالبی نسبت به موضوع دارد:
https://www.youtube.com/watch?v=broQmxQAMjM
#شهریار_انتظام (http://ow.ly/qDN430nPiCg)
کانال تلگرام:
@SoftwarePhilosophy
___
Forwarded from DotNetZoom (محمد جواد ابراهیمی)
✅ معرفی Windows Terminal
مایکروسافت در روز اول کنفرانس Build 2019 از برنامه ای به نام Windows Terminal پرده برداری کرد.
این برنامه، یک ترمینال مرکزی برای دسترسی به PowerShell و Cmd و WSL (کرنل Linux در Windows) است.
این برنامه گرافیک بهتری دارد و دارای قابلیت Multiple Tab - Theming and Styling - Emoji and GPU text-rendering - Syntax Highlight می باشد.
ویدیوی دموی برنامه (حتما ببینین) :
https://aka.ms/terminal-video
اطلاعات بیشتر :
https://devblogs.microsoft.com/commandline/introducing-windows-terminal/
مخزن پروژه در گیتهاب :
https://github.com/Microsoft/Terminal
_______________
@IranAspMvc
مایکروسافت در روز اول کنفرانس Build 2019 از برنامه ای به نام Windows Terminal پرده برداری کرد.
این برنامه، یک ترمینال مرکزی برای دسترسی به PowerShell و Cmd و WSL (کرنل Linux در Windows) است.
این برنامه گرافیک بهتری دارد و دارای قابلیت Multiple Tab - Theming and Styling - Emoji and GPU text-rendering - Syntax Highlight می باشد.
ویدیوی دموی برنامه (حتما ببینین) :
https://aka.ms/terminal-video
اطلاعات بیشتر :
https://devblogs.microsoft.com/commandline/introducing-windows-terminal/
مخزن پروژه در گیتهاب :
https://github.com/Microsoft/Terminal
_______________
@IranAspMvc
Forwarded from فلسفه دیزاین
دیزاین اسپرینت، منظومه ۵ فرمان
دیزاین اسپرینت یکی از متدهای تجربه کاربری بود که گوگل از آن رونمایی کرده و هدف اصلیش، حداقل کردن زمان تست و ارزیابی یک ایده و امکان پیادهسازی همزمان است. این متد توسط تیم Google Ventures ساخته و ارائه شد و به دلیل کارآیی و بازده زیاد، خیلی سریع بین طراحان UX فراگیر شد.
دیزاین اسپرینت فرایندی است که در پنج روز کاری اتفاق میافتد و به تیم طراحان کمک میکند که یک مشکل را به شکلی کاربردی (و با زمان کوتاه با کمک دیگر اعضای شرکتی که دارند برایش طراحی میکنند)، حل کنند. در صورتی که این اتفاق رخ ندهد و مشکل بعد از پنج روز حل نشود نیز زمان زیادی از دست نرفته و امکان تست و ارزیابی دوباره وجود دارد.
دیزاین اسپرینت به این دلیل که اولین بار بصورت تخصصی برای طراحی UX استفاده شد، باعث به وجود امدن برخی افسانه ها شد که به پنج مورد از بزرگترین آنها اشاره میکنیم:
۱- دیزاین اسپرینتها فقط برای تیمهای کوچک هستند.
۲- در دیزاین اسپرینتها فقط طراحان باید حضور داشته باشند.
۳- دیزاین اسپرینتها برای هر مشکلی میتوانند استفاده شوند.
۴- تنها تیمهای دیزاین میتوانند از دیزاین اسپرینت استفاده کنند.
۵- بعد از یکبار استفاده از متد اسپرینت دیگر نیازی به استفاده دوباره از این فرآیند نیست.
برای خواندن ادامه مطلب برروی لینک زیر ضربه بزنید:
http://bit.ly/dxgn494
(زمان حدودی مطالعه، ۸ دقیقه)
نویسنده: رضا دانشیان
#تجربه_کاربری #دیزاین_اسپرینت #متد
@Dexign فلسفه دیزاین
ـــــــ
دیزاین اسپرینت یکی از متدهای تجربه کاربری بود که گوگل از آن رونمایی کرده و هدف اصلیش، حداقل کردن زمان تست و ارزیابی یک ایده و امکان پیادهسازی همزمان است. این متد توسط تیم Google Ventures ساخته و ارائه شد و به دلیل کارآیی و بازده زیاد، خیلی سریع بین طراحان UX فراگیر شد.
دیزاین اسپرینت فرایندی است که در پنج روز کاری اتفاق میافتد و به تیم طراحان کمک میکند که یک مشکل را به شکلی کاربردی (و با زمان کوتاه با کمک دیگر اعضای شرکتی که دارند برایش طراحی میکنند)، حل کنند. در صورتی که این اتفاق رخ ندهد و مشکل بعد از پنج روز حل نشود نیز زمان زیادی از دست نرفته و امکان تست و ارزیابی دوباره وجود دارد.
دیزاین اسپرینت به این دلیل که اولین بار بصورت تخصصی برای طراحی UX استفاده شد، باعث به وجود امدن برخی افسانه ها شد که به پنج مورد از بزرگترین آنها اشاره میکنیم:
۱- دیزاین اسپرینتها فقط برای تیمهای کوچک هستند.
۲- در دیزاین اسپرینتها فقط طراحان باید حضور داشته باشند.
۳- دیزاین اسپرینتها برای هر مشکلی میتوانند استفاده شوند.
۴- تنها تیمهای دیزاین میتوانند از دیزاین اسپرینت استفاده کنند.
۵- بعد از یکبار استفاده از متد اسپرینت دیگر نیازی به استفاده دوباره از این فرآیند نیست.
برای خواندن ادامه مطلب برروی لینک زیر ضربه بزنید:
http://bit.ly/dxgn494
(زمان حدودی مطالعه، ۸ دقیقه)
نویسنده: رضا دانشیان
#تجربه_کاربری #دیزاین_اسپرینت #متد
@Dexign فلسفه دیزاین
ـــــــ
Invisionapp
5 myths about design sprints | Inside Design Blog
The mythical design sprint: shrouded in mystery, understood by few. This is a breakdown of the myths, and truths, of design sprints.
اگر شما دولوپرید و درون تیمی مشغول به کارید که همکار دیتا ساینتیست دارید، به احتمال زیاد در هنگام ریفکتور کد یا کد ریویو، با نام گذاری متغیرها توسط همکار دیتا ساینتیست خودتان به مشکل برخورده اید و یا شاید به ستوه آمده باشید!
مقاله زیر به صورت مفصل، راهنماییهایی جامع در مورد نام گذاری Variableها و Constantها در زبان پایتون به شما ارائه میدهد که با اشتراک گذاری آنها با هم تیمیهایتان به عنوان یک قرارداد، میتوانید در زمان و انرژی مورد استفاده برای توسعه نرم افزارها صرفه جویی بسیاری داشته باشید.
https://bit.ly/2G31PZ3
#محمدرضا_حاج_بابایی (https://bit.ly/2ThD3YO)
کانال تلگرام:
@SoftwarePhilosophy
ـــــــــ
مقاله زیر به صورت مفصل، راهنماییهایی جامع در مورد نام گذاری Variableها و Constantها در زبان پایتون به شما ارائه میدهد که با اشتراک گذاری آنها با هم تیمیهایتان به عنوان یک قرارداد، میتوانید در زمان و انرژی مورد استفاده برای توسعه نرم افزارها صرفه جویی بسیاری داشته باشید.
https://bit.ly/2G31PZ3
#محمدرضا_حاج_بابایی (https://bit.ly/2ThD3YO)
کانال تلگرام:
@SoftwarePhilosophy
ـــــــــ
Medium
Data Scientists: Your Variable Names Are Awful. Here’s How to Fix Them.
A Simple Way to Greatly Improve Code Quality
#پست_مجدد این پست تا به حال بیش از ۷۹۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
محصولی مانند BMW واقعا چگونه در ذهن ما به عنوان یک محصول با کیفیت شکل گرفته است؟ آیا ما تخصص بررسی عملکرد موتور و گیربکس آن را داریم؟ آیا مقایسهای فنی روی آن انجام دادهایم تا بفهمیم ماشین BMW یک محصول با کیفیت است؟
در حقیقت یک محصول را مفهومی به نام «نقاط تماس» یا Touch Points تعریف میکند. نقاط تماس مجموعه لحظاتی است که مشتری محصول را تجربه میکند. یک نقطه تماس میتواند لحظاتی باشد که مشتری با آن کار میکند، یا لحظاتی که مشتری پوستر محصول را میبیند و یا زمانی که صدای تیم پشتیبانی شما را از پشت تلفن میشوند.
ما برنامه نویسها عادت کردیم برنامه بنویسیم! و البته دوست داریم مشتریان برای این عادت ما ارزش قائل شوند و برای آن پول پرداخت کنند. اما حقیقت این است که مشتریان چیزی از زیبایی معماری نرمافزار ما نمیبینند همانطور که چیزی از جزئیات گیربکس یک BMW نمیدانند.
در حقیقت بهترین معماری و برنامهنویسی زمانی اتفاق میافتد که آنقدر همه چیز درست کار کند که مشتری اصلا نفهمد برنامه نویسی انجام شده، همانطور که یک گیربکس عالی گیربکسی است که مشتری هیچوقت متوجه وجودش نشود و فقط مطمئن باشد که دنده به درستی عمل میکند.
بنابر این در اکثر مواقع توضیح اینکه برنامه چقدر خوب نوشته شده ارزشی برای مشتریان ندارد.
مقاله زیر به طور خلاصه مفهوم Touch Point و نقش آن در تعریف محصولات نرمافزاری را شرح دادهاست.
http://mehrandvd.me/2016/10/02/touch-point-real-percepction-product/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
در حقیقت یک محصول را مفهومی به نام «نقاط تماس» یا Touch Points تعریف میکند. نقاط تماس مجموعه لحظاتی است که مشتری محصول را تجربه میکند. یک نقطه تماس میتواند لحظاتی باشد که مشتری با آن کار میکند، یا لحظاتی که مشتری پوستر محصول را میبیند و یا زمانی که صدای تیم پشتیبانی شما را از پشت تلفن میشوند.
ما برنامه نویسها عادت کردیم برنامه بنویسیم! و البته دوست داریم مشتریان برای این عادت ما ارزش قائل شوند و برای آن پول پرداخت کنند. اما حقیقت این است که مشتریان چیزی از زیبایی معماری نرمافزار ما نمیبینند همانطور که چیزی از جزئیات گیربکس یک BMW نمیدانند.
در حقیقت بهترین معماری و برنامهنویسی زمانی اتفاق میافتد که آنقدر همه چیز درست کار کند که مشتری اصلا نفهمد برنامه نویسی انجام شده، همانطور که یک گیربکس عالی گیربکسی است که مشتری هیچوقت متوجه وجودش نشود و فقط مطمئن باشد که دنده به درستی عمل میکند.
بنابر این در اکثر مواقع توضیح اینکه برنامه چقدر خوب نوشته شده ارزشی برای مشتریان ندارد.
مقاله زیر به طور خلاصه مفهوم Touch Point و نقش آن در تعریف محصولات نرمافزاری را شرح دادهاست.
http://mehrandvd.me/2016/10/02/touch-point-real-percepction-product/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
Dot Philosophy
Touch Point: The Real Percepction of a Product - Dot Philosophy
Recently I've participated in a great workshop about Service Design. It was a totally new concept to me. The course was designed surprisingly great by Joannes Vandermeulen from Namahn. If you ask me about the most important keyword I've learned in the course…
کانالهای فارسی خود را دوطرفه کنید!
مدتی قبل به عنوان یک پروژه دستگرمی! یک کار جالب کردیم.
چند تا از برنامهنویسان حرفهای کانال «فلسفه نرمافزار» و طراحان حرفهای کانال «فلسفه دیزاین» طی یک هفته دست به کار شدیم و یک بات تلگرام درست کردیم که امکان «کامنتگذاری فارسی» زیر پستها را به کانال تلگرام اضافه کنیم.
پروژه بسیار جذابی بود و تصمیم گرفتیم که با شما هم به اشتراک بگذاریم.
از جذابیتهای فنی این بات:
۱. کل تیمی که یک هفته روی این بات کار کردند کاملا ریموت بوده و همدیگر را ندیدهاند!
۲. همه این سیستم روی Azure ریلیز شده و به شدت آماده گسترش (Scale شدن) است. اگر کانالهای زیادی شروع به استفاده از این بات کنند، گزارشهایی را از روش گسترش این سرویس روی Azure، همینجا با شما به اشتراک میگذاریم.
۳. این بات از ویژگی جدید LoginURL که جدیدا به تلگرام اضافه شده استفاده میکند. این ویژگی به کاربران این امکان را میدهد که وقتی از طریق تلگرام یک لینک را باز میکنند، بصورت اتوماتیک Login شوند.
ناگفته نماند خود تلگرام هم یک بات برای کامنتگذاری اضافه کرده که برای زبان فارسی اصلا خوب کار نمیکند. همین موضوع انگیزهای برای ما شد که این بات را ساخته و تجربه خوشآیندی را از کامنت گذاشتن به زبان فارسی به کانالهای تلگرام بیاوریم.
برای اضافه شدن این امکان، کافیست بات @CommentFarsiBot را به کانال خود اضافه کنید (به عنوان ادمین).
حالا دیگه ما هم صدای شما را میشنویم!
کانال فلسفه نرمافزار: @SoftwarePhilosophy
کانال فلسفه دیزاین: @Dexign
ــــــــ
مدتی قبل به عنوان یک پروژه دستگرمی! یک کار جالب کردیم.
چند تا از برنامهنویسان حرفهای کانال «فلسفه نرمافزار» و طراحان حرفهای کانال «فلسفه دیزاین» طی یک هفته دست به کار شدیم و یک بات تلگرام درست کردیم که امکان «کامنتگذاری فارسی» زیر پستها را به کانال تلگرام اضافه کنیم.
پروژه بسیار جذابی بود و تصمیم گرفتیم که با شما هم به اشتراک بگذاریم.
از جذابیتهای فنی این بات:
۱. کل تیمی که یک هفته روی این بات کار کردند کاملا ریموت بوده و همدیگر را ندیدهاند!
۲. همه این سیستم روی Azure ریلیز شده و به شدت آماده گسترش (Scale شدن) است. اگر کانالهای زیادی شروع به استفاده از این بات کنند، گزارشهایی را از روش گسترش این سرویس روی Azure، همینجا با شما به اشتراک میگذاریم.
۳. این بات از ویژگی جدید LoginURL که جدیدا به تلگرام اضافه شده استفاده میکند. این ویژگی به کاربران این امکان را میدهد که وقتی از طریق تلگرام یک لینک را باز میکنند، بصورت اتوماتیک Login شوند.
ناگفته نماند خود تلگرام هم یک بات برای کامنتگذاری اضافه کرده که برای زبان فارسی اصلا خوب کار نمیکند. همین موضوع انگیزهای برای ما شد که این بات را ساخته و تجربه خوشآیندی را از کامنت گذاشتن به زبان فارسی به کانالهای تلگرام بیاوریم.
برای اضافه شدن این امکان، کافیست بات @CommentFarsiBot را به کانال خود اضافه کنید (به عنوان ادمین).
حالا دیگه ما هم صدای شما را میشنویم!
کانال فلسفه نرمافزار: @SoftwarePhilosophy
کانال فلسفه دیزاین: @Dexign
ــــــــ
Forwarded from اِسکیلی Skilly (مهدی کرامتی)
✅ معرفی ورژن 2 Windows Subsystem for Linux (به اختصار WSL 2)
ماکروسافت در یک اقدام جالب، کرنل لینوکس (ورژن 4.19 - آخرین ورژن پایدار و LTS) رو به طور کامل به ویندوز منتقل کرد.
در نتیجه امکان اجرای کانتینر های Docker به صورت Native در آن وجود دارد و دیگر نیازی به VM برای اجرای کانتینر ها بر روی Windows نیست!
همچنین ماکروسافت ادعا کرده در این روش، زمان boot time لینوکس و میزان رم مصرفی کاهش پیدا کرده و نیز عملیات I/O filesystem افزایش پرفرمنس داشته است.
این یه حرکت بزرگ است و اولین باری هست که کرنل لینوکس به عنوان بخشی از ویندوز قرار می گیرد.
این قابلیت، اواخر امسال همراه با اپدیت ویندوز 10 به نام (Codename 19H2) عرضه خواهد شد.
اطلاعات بیشتر :
https://devblogs.microsoft.com/commandline/shipping-a-linux-kernel-with-windows
@barnamenevis_org
ماکروسافت در یک اقدام جالب، کرنل لینوکس (ورژن 4.19 - آخرین ورژن پایدار و LTS) رو به طور کامل به ویندوز منتقل کرد.
در نتیجه امکان اجرای کانتینر های Docker به صورت Native در آن وجود دارد و دیگر نیازی به VM برای اجرای کانتینر ها بر روی Windows نیست!
همچنین ماکروسافت ادعا کرده در این روش، زمان boot time لینوکس و میزان رم مصرفی کاهش پیدا کرده و نیز عملیات I/O filesystem افزایش پرفرمنس داشته است.
این یه حرکت بزرگ است و اولین باری هست که کرنل لینوکس به عنوان بخشی از ویندوز قرار می گیرد.
این قابلیت، اواخر امسال همراه با اپدیت ویندوز 10 به نام (Codename 19H2) عرضه خواهد شد.
اطلاعات بیشتر :
https://devblogs.microsoft.com/commandline/shipping-a-linux-kernel-with-windows
@barnamenevis_org