Software Philosophy – Telegram
Software Philosophy
3.45K subscribers
160 photos
41 videos
1.54K links
چکیده‌ای از مفاهیم به روز مهندسی نرم افزار برای مهندسین نرم‌افزار.
معماری نوین نرم‌افزار، تکنولوژی‌های برنامه نویسی جدید
Download Telegram
#پست_مجدد این پست تا به حال بیش از ۱۲۰۰ بار مشاهده شده و به نظر می رسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
آیا پردازنده‌ای که با آن کار می‌کنیم می‌تواند سریعتر پردازش کند؟

برای افزایش سرعت پردازش اطلاعات نیاز به اجرای همزمان کدها داریم و همینطور پریشانی توسعه دهندگان از غیرقابل ردیابی بودن برخی باگ‌ها نشان داده که شاید thread ها راه مناسبی نباشند، ولی مدل‌های جایگزین بهتری وجود دارد که یکی از آنها actor model می‌باشد.
اکتور یک مدل مفهومی ارائه شده برای محاسبات همزمان می‌باشد که کتابخانه‌هایی برای زبان‌های برنامه‌نویسی مختلف بر اساس این مدل ارائه شده‌اند . ایده‌ای که در این مدل وجود دارد بسیار مشابه تعاریفی است که در زبان شی‌گرایی با آن آشنایی داریم به این صورت که یک شی، یک پیغام را دریافت می‌کند و عملیاتی بر اساس پیغام دریافتی روی آن انجام می‌دهد. اما ویژگی‌های اصلی این مدل که آن را متمایز می‌کند جدا بودن هر اکتور از هم می‌باشد که هیچ‌گاه مموری را با هم به اشتراک نمی‌گذارند. هر اکتور شامل یک صندوق پستی است و اکتورها با ارسال پیغام به یکدیگر , با نگه داشتن پیغام ها در صندوق پستی , عملیات لازم را روی پیغام‌ها به صورت یکی یکی انجام می‌دهند.

مقاله زیر به شرح کامل نحوه عملکرد اکتورها و چگونگی ارتباط آنها می‌پردازد.

http://www.brianstorti.com/the-actor-model


#محمدرضا_جلیلوند

لینکدین:

http://ir.linkedin.com/in/mohammad-reza-jalilvand-0a5572b1

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

___
Forwarded from فلسفه دیزاین
نمونه‌های جالب اینتراکشن (شماره ۱)

هر محصولی، هرچقدر هم که رابط کاربری زیبایی داشته باشه، برای القای حس و تجربه بهتر، به اینتراکشن (Interaction) احتیاج داره.
اینتراکشن‌ها همون عکس‌العمل‌های اغلب انیمیشنی هستند که اپلیکیشن‌ها در پاسخ به اعمال کاربر (زدن روی یک دکمه، Swipe کردن و یا منتظر بارگذاری موندن و …) انجام میدن.

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

برای اینکه بتونید بهتر و با ایده‌های جالب‌تری اینتراکشن‌های محصول‌تون رو طراحی کنید، چند وقت یک بار نمونه‌های این شکلی در کانال ارسال می‌کنم که دیدن‌شون باعث جرقه ایده در ذهن میشه.

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

https://medium.muz.li/ui-interactions-of-the-week-72-65ea29a45c49

(زمان حدودی مطالعه، ۱۰ دقیقه)

#انیمیشن #طراحی_محصول #اینتراکشن #تجربه_کاربری
@Dexign دیزاین

___
#پست_مجدد این پست تا به حال بیش از ۱۷۰۰ بار مشاهده شده و به نظر می رسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
یک تصمیم «به اندازه کافی خوب» به سوی «بهترین تصمیم»

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

فرض کنید می‌خواهید شغل بعدی خود را انتخاب کنید و تصمیم به رفتن به یک شرکت جدید دارید. واقعا آیا این بهترین تصمیم است؟
• این تصمیم می‌تواند در حال حاضر (سال ۲۰۱۵) بهترین تصمیم شما باشد.
• در انتهای ماه ممکن است به این نتیجه برسید که این تصمیم، نسبتا خوب بوده‌است زیرا شغل پر استرسی است.
• در سال ۲۰۱۶ ممکن است به این نتیجه برسید که تصمیم بدی گرفته‌اید چون شغل بسیار سختی است.
• در سال ۲۰۱۷ ممکن است به این نتیجه برسید که بدترین تصمیم ممکن را گرفته‌اید زیرا علی‌رقم تمام زحماتتان شرکت ورشکست شده!
• و در نهایت در سال ۲۰۲۰ به این نتیجه برسید که بهترین تصمیم تمام عمرتان را گرفته‌اید، زیرا با استفاده از تجربه‌ای که از آن شرکت به دست آورده‌اید حالا مدیرعامل شرکت مایکروسافت شده‌اید!

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

در مقاله زیر توضیح داده‌شده‌است که چگونه «تصمیم‌های به اندازه کافی خوب» در طول زمان می‌توانند به یک «بهترین تصمیم» تبدیل شوند.

http://mehrandvd.me/2016/12/12/good-enough-decision-towards-best-decision/

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

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

___

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

۱. سوالاتی که هر دیزاینر جدیدی باید از تیم‌ش بپرسد (دیزاین)
#design
https://news.1rj.ru/str/SoftwarePhilosophy/784

۲. مقایسه عملکرد فریم‌ورک‌های مشهور Mapper از لحظا سرعت و عملکرد
#mapper #dotnet

https://news.1rj.ru/str/SoftwarePhilosophy/786

۳. آیا پردازنده‌ای که با آن کار می‌کنیم می‌تواند سریعتر پردازش کند؟
#parallel

https://news.1rj.ru/str/SoftwarePhilosophy/788

۴. نمونه‌های جالبی از اینتراکشن (دیزاین)
#designpattern
https://news.1rj.ru/str/SoftwarePhilosophy/789

۵. یک تصمیم «به اندازه کافی خوب» به سوی «بهترین تصمیم»
#management #decisionmaking

https://news.1rj.ru/str/SoftwarePhilosophy/791

ـــــــــــ

@SoftwarePhilosophy
Forwarded from فلسفه دیزاین
مروری کامل بر درباره دکمه اکشن شناور
یا Floating Action Button

اگر با Material Design آشنایی داشته باشید، حتما به این دکمه برخوردید. همون دکمه با رنگ Accent که در خیلی از اپلیکیشن‌های اندرویدی و بعضا محصولات گوگل در iOS استفاده شده.
استفاده از اکثر المان‌ها و ابزارها در اکثر مواقع ساده‌ست ولی در اندک مواقعی لازمه اطلاعات خوب و دقیقی درباره اون ابزار یا المان داشته باشید تا بتونید به بهترین شکل ازش استفاده کنید. در غیر اینصورت در این اندک موارد به اشتباه از المان‌ها استفاده خواهید کرد که تاثیر بدی روی تجربه کاربری کل محصول شما می‌گذاره. این دکمه Floating Action هم از این قاعده مستثنی نیست و در بسیاری از اپلیکیشن‌ها به اشتباه بکار برده شده یا صرفا از اپلیکیلیکشن‌های بزرگ دنیا، بدون درکِ اهمیتِ حضورش کپی‌برداری شده. امروز می‌خوایم با کسب اطلاعاتی کامل درباره این دکمه، تصمیمات بهتر و آگاهانه‌ای حول استفاده از این المان دیزاین رابط کاربری بگیریم.

مقاله امروز از آقای Nick Babich هست که بطور مفصل به بررسی کاربردهای این دکمه پرداخته و کمک می‌کنه که در نهایت شما بتونید به سه سوال مهم زیر جواب بدید:
• چه زمانی می‌شود از این دکمه استفاده کرد؟
• چه نمونه‌های خوبی در بکارگیری این دکمه در اپلیکیشن‌ها می‌توان نام برد؟
• چطور می‌توان با بکارگیری انیمیشن در کارکرد این دکمه، تجربه کاربری محصول را ارتقا داد؟

همچنین در خلال این مقاله با اصطلاح Mystery Meat Navigation هم آشنا می‌شید که می‌تونه به عنوان یه سنگ محک در تصمیم‌گیری‌های دیزاینی همراهی‌تون کنه.
پیشنهاد می‌کنم این مقاله جذاب و روشنگر رو از دست ندید و همین حالا مطالعه‌ش کنید.

https://uxplanet.org/floating-action-button-in-ux-design-7dd06e49144e

(زمان حدودی مطالعه، ۸ دقیقه)

پ. ن.
در کنار مواردی که آقای Babich در بکارگیری این دکمه گفتن، استفاده همزمان از این دکمه و Bottom Navigation (که پیشتر بهش اشاره کوتاهی داشتیم)، هنوز محل بحث هست.

#رابط_کاربری #تجربه_کاربری #طراحی_محصول #متریال_دیزاین
@Dexign دیزاین

___
#پست_مجدد این پست تا به حال بیش از ۱۱۰۰ بار مشاهده شده و به نظر می رسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
Asking the right question is at the heart of effective communications and information exchange.
یک functionوقتی جواب درست را برمی‌گرداند که ورودی‌ صحیح به آن داده شود. در یک ارتباط هم این قانون صادق است. شما وقتی از مخاطب جواب درست را می‌گیرد که سوال درستی بپرسید.
بسته به موقعیت باید از «نوع» درستی از سوال استفاده کرد.

انواع سوال‌های متدوال عبارتند از:

• Close Questions
• Open Question
• Funnel Question
• Probing Question
• Leading Question

Close Questions یا سوال‌های بسته به سوال‌هایی گفته می‌شود که جواب‌شان در حد «یک کلمه» یا «خیلی کوتاه» است.
از کاربرد‌های این نوع سوال میتوان به این موارد اشاره کرد.
۱- وقتی که در آخر یک جلسه نیاز به یک جمع‌بندی و نتیجه گیری دارید.
۲- وقتی که می‌خواهید اطمینان حاصل کنید که منظور طرف مقابل را درست متوجه شده‌اید.
برای این کار باید هر چیزی را که متوجه شدید به گونه‌ای بپرسید که جواب آن «بله» یا «خیر» باشد (یا در حد یک کلمه یا خیلی کوتاه). مثلا «اگر منظور شما رو درست متوجه شده باشم، من باید یک متد بنویسم که یک فایل ورد را به عنوان ورودی بگیرد و آن را تبدیل به پی‌دی‌اف کند؟»

در لینک زیر انواع سوال‌ها، همراه با موقعیت‌های که می‌شود از آن استفاده کرد، توضیح داده شده است.

https://www.mindtools.com/pages/article/newTMC_88.htm

#افشین_علیزاده
لینکدین:
https://ir.linkedin.com/in/afshinalizadehbehjati

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

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

لینک زیر گزارشاتی مستقیما از سایت بانک مر‌کزی ارائه شده‌است که نشان می‌دهد چگونه در دولت روحانی «مهار تورم» و «کنترل رشد نقدینگی» اتفاق افتاده‌است.

www.cbi.ir/simplelist/3484.aspx

همچنین مقاله زیر از «دکتر نیلی» به مقایسه عملکرد دولت‌ها در ۳۰ سال گذشته پرداخته‌است.

http://ow.ly/D1J930bLdt3


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


___
یه همچین تاثیری داره بر بازار نرم افزار

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


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

من می‌دانم درصد زیادی از اعضای این کانال «Senior Developer» ها و یا «CTO» های شرکت‌های معتبر نرم‌افزاری ایرانی بوده و هر یک افراد بسیار تاثیر گذاری در اکو سیستم خود هستند.

🔹ظاهرا به دلیل ممنوع‌التصویر بودن آقای خاتمی به صاحبان کانال‌های بالای ۵۰۰۰ نفر دستور داده شده تا تصویر او را حذف کنند، من از این فرصت کمتر از ۵۰۰۰ نفر بودن استفاده می‌کنیم و ویدئوی درخواست آقای خاتمی و جمله معروف «شما تَکرار کنید» ایشان را می‌فرستیم.
رای کم نیاریم!؟ به عنوان آخرین پست‌های غیر نرم‌افزاری این کانال از همه خواهش می‌کنیم که اگر در صف‌های طولانی هستید بر نگردید و از افرادی هم که تصمیم به برگشتن دارند بخواهید برای رقم زدن آینده کشور بمانند و رای بدهند.
Forwarded from فلسفه دیزاین
اپلیکیشن Sketch چگونه به فرهنگ دیزاین کمک می‌کند؟

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

در مقاله امروز به بررسی این موضوع پرداختم و توضیح دادم که اپلیکیشن فاخر Sketch و افزونه‌هاش (Plugins) چطور به شکل‌گیری یک فرهنگ و روند درست دیزاین کمک می‌کنند.

پیشنهاد می‌کنم حتما این مقاله رو مطاله کنید و در کامنت‌ها نظرتون رو درباره موضوع مطرح شده بنویسید.

https://medium.com/@raminix/how-sketch-app-helps-design-culture-e32d21552a9

(زمان حدودی مطالعه، ۸ دقیقه)

#طراحی_محصول #فرهنگ_دیزاین #Sketch
@Dexign دیزاین

___
#پست_مجدد این پست تا به حال بیش از ۱۱۰۰ بار مشاهده شده و به نظر می‌رسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
اثری که Body language بر خود فرد می‌گذارد، اگر بیشتر از اثری که بر مخاطب می‌گذارد نباشد، کمتر هم نیست.

استاد دانشگاه هاروارد Amy Cuddy تحقیقی انجام داده است و در آن به این نتیجه رسیده است که فرم و حالت بدن می‌تواند بر «ذهن» و «فیزیولوژی» اثر گذارد،‌ بدین صورت که اگر شما ۲ دقیقه ژست یک فرد پیروز را به خود بگیرید میزان تستوسترون افزایش و کورتیزول کاهش میابد. میزان این هورمون‌ها اثر مستقیمی بر مغر گذاشته و میتواند باعث افزایش قدرت ریسک‌پذیری و موفقیت شود.

https://www.ted.com/talks/amy_cuddy_your_body_language_shapes_who_you_are

#افشین_علیزاده
لینکدین:
https://ir.linkedin.com/in/afshinalizadehbehjati

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

___
#پست_مجدد این پست تا به حال بیش از ۱۱۰۰ بار مشاهده شده و به نظر می‌رسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
مدل Actor به عنوان یک مدل messaging برای برنامه‌نویسی توزیع شده و همزمان در مقابل استفاده از thread ها به حساب می‌آید. زبان‌های برنامه‌نویسی Erlang و Elixir بر پایه این مدل ارئه شده است. همچنین فریم‌ورک‌هایی برای استفاده از این مدل قدرتمند در زبان‌های برنامه‌نویسی دیگر نیز ارائه شده‌اند که از آن جمله می‌توان به Akka اشاره کرد.
آکا پروژه‌ای open source می‌باشد که با استفاده از مدل Actor فریم‌ورکی را در اختیار برنامه‌نویسان دیگر زبانها از جمله جاوا و اسکالا گذاشته تا به کمک آن سیستم‌های concurrent و scalable تولید کنند و همچنین برای برنامه‌نویسان .net نیز فریم ورک Akka.net ارائه شده که بوسیله هر دو زبان C# و F# قابل استفاده است.
در مقاله زیر علاوه بر مقایسه دقیقتر بین دو مفهوم Multi Thread و Actor Model به صورت کامل به نحوه پیاده‌سازی و استفاده از Akka.net پرداخته شده است.

https://www.codeproject.com/articles/1007161/a-look-at-akka-net

#محمدرضا_جلیلوند

لینکدین:

http://ir.linkedin.com/in/mohammad-reza-jalilvand-0a5572b1

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

___
Forwarded from فلسفه دیزاین
دیزاینِ مفهومی به اسم «هدف»
با استفاده از فرآیند طراحی محصول

همه‌مون خیلی جاها این جملات رو خوندیم و شنیدیم «رویای خودت رو دنبال کن»، «به دنبال علاقه خودت برو» و …
این جملات علاوه بر اینکه انگیزه‌دهنده هستن، ممکنه بسیار ترسناک و دلهره‌آور هم باشن. ترس از داشتن «هدف» و درست بودنش.

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

اگر شرکت IDEO رو بشناسید، می‌دونید که یکی از بهترین شرکت‌های دیزاین در دنیاست که یکی از شاخص‌ترین دیزاین‌هاشون، اولین Mouse کامپیوترهای اپل در سال ۱۹۸۰ است. IDEO جایی هست که بسیاری از دیزاینرها برای گذروندن دوره کارآموزی‌شون در اونجا، سر و دست می‌شکونن.
نوشته امروز از Minnie Bredouw هست. خانمی که نقش راهبر خلاقیت (Creative Lead) رو در IDEO به عهده داره.
ایشون برنامه‌ای رو به اسم Designing Purpose برای دانش‌آموزان راه‌اندازی کردن که در این مقاله درباره تفکری که پشت این برنامه هست توضیح دادن. با اینکه این برنامه بطور خاص برای دانش‌آموزان و کسانی که تازه فارغ‌التحصیل شدن، دیزاین شده ولی خوند این مقاله که از دل یک تیم دیزاین بیرون آمده، احتمالا به خیلی از ما کمک می‌کنه مسیری رو که در اون هستیم بازبینی و ارزیابی کنیم.

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

https://medium.com/ideo-stories/designing-purpose-6a4d74e50588

(زمان حدودی مطالعه، ۱۰ دقیقه)

#دیزاین #مهارت_فردی #هدفگذاری #طراحی_محصول
@Dexign دیزاین

___