Software Philosophy
3.45K subscribers
160 photos
41 videos
1.54K links
چکیده‌ای از مفاهیم به روز مهندسی نرم افزار برای مهندسین نرم‌افزار.
معماری نوین نرم‌افزار، تکنولوژی‌های برنامه نویسی جدید
Download Telegram
Forwarded from فلسفه دیزاین
سرویس Dropbox، خوشحال‌تر از همیشه

چند روز قبل سرویس Dropbox که پیشتر هم در مقاله‌های مختلف نام آن را برده‌ایم، هویت بصری خود را بطور کامل بازطراحی کرد.

بازخوردهای این اتفاق، جالب و بعضا بسیار خنده‌دار بودند. قضیه از آن‌جایی شروع شد که رنگ‌هایی که این سرویس در هویت بصری جدید خود در نظر گرفته، رنگ‌هایی عجیب و البته جدید هستند که آدم را بیشتر به یاد رنگ پلیورها و جوراب‌ها می‌اندازد تا یک سرویس تا این حد جدی. همچنین نوع و زبان تصویرسازی که Dropbox در این هویت بصری جدید استفاده می‌کند کمی نامتعارف است.
خلاصه کلی از منتقدین دیزاین با کنایه‌ها و مقایسه‌های عجیب و بعضی دیزاینرها با اشتراک‌گذاری طراحی‌های خنده‌دار از جنس تصویرسازی جدید Dropbox، نظرات خود را ابراز کردند.

در این بین یک سایت هم به راه افتاد که رنگ‌های Dropbox جدید را با رنگ‌های Happy Socks یا همان جوراب‌های خوشحالی که با طرح‌های رنگی در بازار وجود دارد مقایسه کرده و نام خود را Dropsox گذاشته است.

بعید نیست که این حرکت آغازگر موجی از بازطراحی هویت بصری برای سرویس‌های دیگر، با این زبان جدید باشد.
پیشنهاد می‌کنم شما هم از این قافله عقب نمانید و سری به وب‌سایت Dropbox و بازخوردها را بخوانید.


https://dropsox.style

که طراحی آن کنایه‌ست به:

https://dropbox.design

#بررسی #بازطراحی #Dropbox

@Dexign دیزاین

___________
#پست_مجدد این پست تا به حال بیش از ۱۴۰۰ بار مشاهده شده و به نظر می‌رسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
یکی از مسایلی که برنام‌ نویسان در ASP.NET MVC و یا ASP.NET Web Api با آن روبرو هستند مدیریت کدها در کنترلر می‌باشد. کدهای کنترلر ممکن است پس از مدتی پیچیده و دارای خطوط زیادی باشند. با استفاده از MediatR که یک پیاده سازی ساده از الگوی طراحی Mediator است می‌توان در کنترلرها کدهای منظم و کمی داشت.

https://blogs.msdn.microsoft.com/cdndevs/2016/01/26/simplifying-development-and-separating-concerns-with-mediatr/

https://jonhilton.net/2016/06/06/simplify-your-controllers-with-the-command-pattern-and-mediatr/


⁉️ برای بحث و تبادل نظر فنی در مورد این پست، بر روی لینک زیر کلیک کنید:

https://ow.ly/heDz30dQmqO

#علیرضا_وفی (https://ow.ly/Vna930dsUGr)


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

___
#پست_مجدد این پست تا به حال بیش از ۲۵۰۰ بار مشاهده شده و به نظر می‌رسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
ویدئوی زیر، نمایشی از پروژه هوش مصنوعی گوگل به نام DeepMind است. در این پروژه به «انسان‌نما» یا متحرک فقط گفته می‌شود که از نقطه A به نقطه B برو. اینکه او چگونه حرکت کند و حالات بدن خود را چطور تنظیم کند کاملا توسط خودش انجام می‌شد. در این مدل او با آزمون و خطا یاد می‌گیرد که چطور بهتر این مسیر را طی کند. روش و مدلی که او راه می‌رود بسیار با مزه و خنده‌دار است ولی جمله‌ای که آخر این ویدئو گفته می‌شود می‌تواند خیلی ترسناک باشد:
«شاید او چیزی می‌داند که ما نمی‌دانیم!!»

https://www.youtube.com/watch?v=gn4nRCC9TwQ

⁉️ برای بحث و تبادل نظر فنی در مورد این پست، بر روی لینک زیر کلیک کنید:

https://ow.ly/e40v30dRMZU

#مهران_داودی (https://ow.ly/GwIl309lFEm)

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


___
#پست_مجدد این پست تا به حال بیش از ۱۲۰۰ بار مشاهده شده و به نظر می‌رسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
یکی از دغدغه های مهم همه ی کاربران امنیت وب سایت آنها و جلوگیری از نشت اطلاعات می باشد. OWASP سالانه 10 مورد از مهمترین ریسک های نرم افزارهای تحت وب را منتشر می کند. در لینک زیر Troy Hunt به تفکیک هر کدام از این ده مورد را برای برنامه نویسان .NET شرح و مورد بررسی قرار داده است.

https://www.troyhunt.com/owasp-top-10-for-net-developers-part-1/

⁉️ برای بحث و تبادل نظر فنی در مورد این پست، بر روی لینک زیر کلیک کنید:

https://ow.ly/7BIV30dVvof

#علیرضا_وفی (https://ow.ly/Vna930dsUGr)


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

___
یکی از مشکلاتی که همیشه برنامه نویسان موبایل با آن درگیر بوده اند بروز رسانی نرم افزارهای موبایل می‌باشد. هر بروز رسانی نرم افزار نیاز به طی شدن مراحل تایید App Store ها دارد که این امر در بروز رسانی نرم افزارها تاخیر ایجاد می‌کند و امکان رفع سریع مسایل نرم افزار را به تولید کنندگان نمی‌دهد. Code Push سرویسی ابری است که مایکروسافت ارائه می‌دهد تا با آن نرم افزارهای موبایل نصب شده برای کاربران بدون نیاز به طی شدن این مراحل بروزرسانی شود. این سرویس برای نرم افزارهای موبایل مبتنی بر React Native و Cordova طراحی شده است که در آن بخش HTML و JavaScript نرم افزار به لحظه بروزرسانی می‌شود.

https://github.com/Microsoft/code-push

⁉️ برای بحث و تبادل نظر فنی در مورد این پست، بر روی لینک زیر کلیک کنید:

https://ow.ly/eMUV30ghdrj

#علیرضا_وفی (https://ow.ly/Vna930dsUGr)


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

___
Forwarded from Iran Agile
😎باهوش‌ترین نیروی خودمان را اخراج کردیم و از این کار بسیار خوشحالیم

آیا تا به حال شده است که در مورد اخراج یا نگه داشتن بهترین نیروی تیم خود تصمیم بگیرید؟ کسی که تک ستاره تیم شما است ولی کار کردن با او سخت است.
این داستان یکی از این نفرات است.

https://goo.gl/DFHbFG

@iranagile
#خلاصه_مطالب «فلسفه نرم‌افزار» در هفته گذشته:

۱. سرویس Dropbox، خوشحال‌تر از همیشه (فلسفه دیزاین)

https://t.iss.one/SoftwarePhilosophy/1008

۲. مدیریت کدها در کنترلر با استفاده از MediatR
#dotnet #web
https://t.iss.one/SoftwarePhilosophy/1010

۳. پروژه هوش مصنوعی گوگل به نام DeepMind
#ai #google
https://t.iss.one/SoftwarePhilosophy/1012
https://t.iss.one/SoftwarePhilosophy/1013

۴. ده تهدید مهم نرم‌افزارهای تحت وب در سال ۲۰۱۷
#security
https://t.iss.one/SoftwarePhilosophy/1015

۵. سرویسی برای به روز رسانی لحظه‌ای بخش‌های HTML و JavaScript نرم‌افزارهای موبایل

https://t.iss.one/SoftwarePhilosophy/1016

۶. باهوش‌ترین نیروی خودمان را اخراج کردیم (Iran Agile)

https://t.iss.one/SoftwarePhilosophy/1017

ـــــــــــ

@SoftwarePhilosophy
#پست_مجدد این پست تا به حال بیش از ۱۴۰۰ بار مشاهده شده و به نظر می‌رسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
نرم افزاری برای آموزش امنیت به صورت واقعی! Web Goat یک پیاده سازی نرم افزار وب با آسیب پذیری‌های امنیتی برای آموزش امنیت می‌باشد که توسط OWASP توسعه داده شده است. برای مثال کاربر با انجام حمله‌ی SQL Injection بصورت واقعی به این نرم افزار و سرقت شماره کارت‌های اعتباری، با حملات نرم افزاری و نحوه‌ی عملکرد آن بیشتر آشنا می شود.

https://www.owasp.org/index.php/Category:OWASP_WebGoat.NET

https://github.com/adnanmasood/webgoat.mvc

⁉️ برای بحث و تبادل نظر فنی در مورد این پست، بر روی لینک زیر کلیک کنید:

https://ow.ly/2YSf30dXlC6

#علیرضا_وفی (https://ow.ly/Vna930dsUGr)


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

___
#پست_مجدد این پست تا به حال بیش از ۱۴۰۰ بار مشاهده شده و به نظر می‌رسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
مساله‌ای که ممکن است برای هر برنامه‌نویسی چالش باشد این است که کدها را چگونه و بر چه اساسی در قالب فولدرها مرتب نماید. بعنوان مثال در یک پروژه‌ی وب View ها، Controller ها و Model ها هر کدام در یک فولدر جداگانه باشند و یا بر اساس کارکرد View ، Controller و Model ها در کنار هم قرار داشته باشند. در ویدیو زیر اسکات آلن بر اساس تجربه اش به این موضوع و 51 مساله ی دیگر می پردازد.

https://www.youtube.com/watch?v=6Fi5dRVxOvc


⁉️ برای بحث و تبادل نظر فنی در مورد این پست، بر روی لینک زیر کلیک کنید:

https://ow.ly/b1QP30e0yvS

#علیرضا_وفی (https://ow.ly/Vna930dsUGr)


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

___
طراحی کلمه عجیبی است. در زمینه‌های گوناگون و حتی علوم مختلف شاید مهمترین کلمه‌ای باشد که در مورد آن صحبت می‌شود.
طراحی یک اثر هنری، طراحی داخلی یک ساختمان، طراحی نرم‌افزار، طراحی داستان، طراحی یک گفتگو، طراحی جنگ، طراحی تفکر!
در زبان فارسی ترجمه هر دو کلمه Drawing و Design طراحی است. خیلی بهتر بود اگر برای Design کلمه دیگری داشتیم، ولی نداریم. به همین دلیل توضیح اینکه طراحی چیست کمی سخت است.
شاید بتوان گفت که طراحی روشی‌ست برای فکر کردن؛ که در اینصورت توضیح آن حتی سخت‌تر هم می‌شود.

مدتی‌ست به باور بسیاری، دیگر مرزی در دیزاین و طراحی چیزهای مختلف وجود ندارد و هرکسی که بتواند به حل هوشمندانه‌ی مشکلی فکر کند، یک طراح است.
با توجه به تاثیر عمیق مفهوم طراحی در کدنویسی ما، محصول ما، بیزنس ما و حتی زندگی ما، تصمیم گرفتیم کانال «فلسفه دیزاین» را معرفی کنیم تا در مورد فلسفه طراحی صحبت کنیم.
در فارسی ترجمه خوبی برای عبارت Design وجود نداشت، تصمیم گرفتیم از کلمه «دیزاین» استفاده کنیم و برای انتقام از زبان انگلیسی نیز نام کانال را @Dexign گذاشتیم.
اگر «فکر» می‌کنید، یعنی طــــراح هستید و مطالب کانال «فلسفه دیزاین» برای شما نوشته می‌شود.


https://t.iss.one/dexign

#مهران_داودی (https://ow.ly/GwIl309lFEm)

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

__
Forwarded from فلسفه دیزاین
دیزاین‌هایی که کاربر را صدا می‌زنند

صداها هم مثل بوها و رنگ‌ها، موجودات عجیب هستند. شنیدن‌شان خاطره‌ها، حس و حال بسیاری را با خود به همراه دارد. برای لحظاتی چشم‌هایتان را ببندید و فکر کنید که صدای بالا آمدن ویندوز یا مک را به خاطر دارید؟ صدای شروع اخبار ساعت ۱۴ شبکه یک صدا و سیمای ایران را چطور؟ صدای زنگ پیش‌فرض گوشی‌های نوکیا و آیفون را چی؟ یا حتی معروف‌ترین آواهای خاطرات ایرانیان: تبلیغات صاایران، بوتان و مودم دایل‌آپ!

حدود سه سال قبل، همراه یک تیم خوب به طراحی یک بازی Endless به نام Bring Me Up مشغول بودیم. وقتی به مرحله صداگذاری رسیدیم، در ابتدا تصمیم به دریافت صداهای رایگان روی اینترنت گرفتیم. نتیجه باب میل‌مان نبود. بعد از کمی فکر شروع کردیم به گفتن آواهایی با دهان و هرکدام را با کامپیوتر کمی تغییر داده و روی بازی قرار دادیم. نتیجه بسیار رضایت‌بخش‌تر بود.
گرچه این بازی که در عرض دو هفته طراحی و پیاده‌سازی شده بود، طرفدار زیادی پیدا نکرد، ولی تجربه ساخت یک بازی و بخصوص صداگذاری آن، به قدری برای من جذاب بود که به یکی از موضوعات مورد علاقه‌ام در دیزاین تبدیل شد.

با مقدمه بالا، احتمالا فهمیده‌اید که مقاله امروز درباره دیزاین صداهاست. صداهایی که ما برای دمیدن روح و دادن جان به رابط‌های کاربری و محصولات‌مان از آن‌ها استفاده می‌کنیم.
این مقاله از پایه‌ای‌ترین نکات آغاز کرده و با گنجاندن نمونه‌های مختلفی از صداهای Notificationها و شما را در مسیر یادگیری استفاده کاملا حرفه‌ای از صداها در محصولاتتان یاری خواهد کرد.

پیش از شروع خواندن این مقاله عالی، توجه شما را به ویدئویی که در ادامه ارسال شده‌ست جلب می‌کنم که کار بسیار خوبی از مجله WIRED است، درباره رواشناسی صداها.


https://icons8.com/articles/ui-sounds/

(زمان حدودی مطالعه، ۱۲ دقیقه + تماشای ویدئوها)

#آموزش #صدا #رابط_کاربری

@Dexign فلسفه دیزاین


ــــــــــــــــــــ
Forwarded from Iran Agile
🔴 تفاوت User Story و Task چیست؟

تفاوت میان داستان کاربری با تَسک چیست؟
داستان کاربری در بک لاگ محصول قرار میگیرد اما تَسک در طول جلسه برنامه ریزی، شناسایی شده و بخشی از بک لاگ اسپرینت هستند. این عبارت با اینکه تعریفی خوبی است اما مفيد نيست، مانند اینکه بگويم نمک چيزی است که در نمکدان وجود دارد و فلفل چيزی است که در فلفل خردکن! مطمئنا داستان ها در بک‌لاگ محصول و تَسک در بک‌لاگ اسپرینت يافت می شوند.

اما تفاوت اساسی بين اين دو چيست؟

داستان عموما چيزی است که بيش از يک نفر بر روی آن کار می کنند ولی تَسک فقط توسط يک نفر انجام می شود.
داستان کاربری معمولا قابليتی است که برای کاربر نهایی قابل مشاهده است و توسط تيمی شامل برنامه نويس، تستر شاید طراح رابط کاربری یا آناليزور و یا شايد طراح پايگاه داده و … توسعه داده می شود. به ندرت پيش می آید يک داستان کاربری تماما توسط يک فرد توسعه داده شود ( اگر زمانی چنين اتفاقی هم رخ دهد شخص چندين نقش را به تنهايی ايفا می کند)

از سوی ديگر يک تَسک، معمولا چيزی شبيه کد زدن … ، طراحی … ، ايجاد داده های تست برای …. ، اتوماسيون … و غيره است. تمام اين موارد چيزهايی هستند که بايد يک نفر آنها را انجام دهد.
شايد شما استدلال کنيد که برخی از آنها به صورت جفتی انجام می شوند و يا بايد انجام شوند، بپذيريد که اين يک تفاوت کوچک بين داستان کاربری و تَسک است. جفت شدن در واقع دو مغز با يک جفت دست هستند که بر روی يک نوع کار با هم مشارکت دارند. و اين با انواع کارهايی که در يک داستان کاربری معمولی رخ می دهد متفاوت است. برخی از وظايف به صورت جلسه هستند مثلا بازبینی يک طراحی توسط سه نفر از اعضای تيم، همانطور که گفته شد اين کار به عنوان يک وظيفه در نظر گرفته می شود تا يک داستان کاربری.
پس شايد بهترين تمايز همين باشد که داستان ها شامل انواع مختلفی از کارها هستند (نظير برنامه نويسی، تست، طراحی پايگاه داده ها، طراحی واسط کاربری، آناليز و …) در حاليکه وظايف به يک نوع کار محدود می شوند.

https://goo.gl/EK3c96

@iranagile