Software Philosophy – Telegram
Software Philosophy
3.45K subscribers
160 photos
41 videos
1.54K links
چکیده‌ای از مفاهیم به روز مهندسی نرم افزار برای مهندسین نرم‌افزار.
معماری نوین نرم‌افزار، تکنولوژی‌های برنامه نویسی جدید
Download Telegram
تاثیر دولت روحانی بر بازار نرم‌افزار ایران در چهار سال اخیر بسیار مشهود بوده‌است. اکوسیستم نرم‌افزاری و استارتاپی در ایران طوری شتاب گرفته‌است که به وضوح می‌توان انرژی حاصل از آن را احساس کرد. همانطور که می‌دانید مطالب این کانال همیشه در مورد «فلسفه نرم‌افزار» و عناصر تاثیر گذار در ساخت «نرم‌افزار با کیفیت» بوده‌است.
از آنجاییکه وجود یک دولت خوب و یا یک دولت بد می‌تواند تاثیر بسیار زیادی بر میانگین کفیت نرم‌افزارهای تولید شده یک کشور داشته باشد، بر خود واجب می‌دانیم به حقایقی از تاثیر دولت روحانی بر اقتصاد ایران اشاره کنیم.

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

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 دیزاین

___
#پست_مجدد این پست تا به حال بیش از ۱۲۰۰ بار مشاهده شده و به نظر می‌رسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
اگر قصد انتخاب فریم ورکی برای ساخت برنامه‌های تک صفحه‌ای سمت کاربر را دارید حتما می‌دانید که انتخاب‌های زیادی پیش روی شما قرار دارد که از آن جمله می‌توان به Angular 1 , Durandal , React یا Ember اشاره کرد. اما فریم ورک‌های جدیدتر Angular2 و Aurelia که توجه زیادی را به خود جلب کرده‌اند می‌توانند جزو اولویت‌های شما قرار بگیرد، ولی "کدام یک بهتر است؟" این سوالی است که همه با آن مواجه می‌شوند و افرادی که تجربه کار با Angular1 را دارند شاید بر این باور باشند که مطمئنا Angular2 انتخاب مناسبتری است ولی در واقع این دو فرم ورک فقط در نام Angular با هم مشترک هستند و در Angular2 شاهد بازنویسی کامل ساختار فریم ورک می‌باشیم.
تصمیم گیری بین این دو می‌تواند شما را با چالش مواجه کند زیرا هر دو دارای طراحی فوق العاده و قدرتمندی می‌باشند که تمام نیازها برای ساخت برنامه‌های تک صفحه‌ای را برآورده می‌کنند و همینطور پشتوانه تجاری خوب آنها از دیگر ویژگی‌های این دو به شمار می‌رود. به همین دلیل می‌توان گفت بین این دو فریم ورک قدرتمند برنده‌ای وجود ندارد ولی تفاوت های زیادی از قبیل معماری یا Data binding با هم دارند. مقایسه این موارد می‌تواند در تصمیم گیری به شما کمک کند تا از میان فریم ورک‌ها راحت‌تر انتخاب کنید.
لینک زیر به شرح مقایسه بین فریم ورک های Aurelia و Angular2 می پردازد.

https://www.pluralsight.com/blog/software-development/angular-2-vs-aurelia

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

لینکدین:

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

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

___
Forwarded from فلسفه دیزاین
سه راه برای بهبود مهارت دیزاین

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

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

۱. سلسه مراتب بصری:
که پیشتر به نحوی دیگر و تحت عنوان «معماری اطلاعات: فوت کوزه‌گری دیزاین» بررسی‌ش کردیم.

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

۳. و در نهایت فونت:
فونت و تایپوگرافی یکی از مهم‌ترین بخش‌های هر دیزاینی هست که شامل متن باشه. این مقاله بطور خلاصه و کاربردی درباره این موضوع هم توضیحاتی داده.

فرصت رو از دست ندید و همین حالا مقاله امروز رو بخونید:

https://uxdesign.cc/3-ways-to-improve-your-visual-design-skills-fa9dc8e583ff

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

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

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

۱. اپلیکیشن Sketch چگونه به فرهنگ دیزاین کمک می‌کند؟ (دیزاین)
#design #uiux
https://news.1rj.ru/str/SoftwarePhilosophy/804

۲. اثری که Body language بر خود فرد می‌گذارد، اگر بیشتر از اثری که بر مخاطب می‌گذارد نباشد، کمتر هم نیست.
#softskill
https://news.1rj.ru/str/SoftwarePhilosophy/807

۳. فریم‌ورک Akka.net برای برنامه‌نویسی توزیع‌شده
#dotnet #parallel #framework

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

۴. دیزاینِ مفهومی به اسم «هدف» با استفاده از فرآیند طراحی محصول (دیزاین)
#design
https://news.1rj.ru/str/SoftwarePhilosophy/810

۵. مقیاسه فریم ورک‌های Aurelia و Angular2
#angular2 #aurelia #javanoscript #framework

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

۶. سه راه برای بهبود مهارت دیزاین (دیزاین)
#design
https://news.1rj.ru/str/SoftwarePhilosophy/813

ـــــــــــ

@SoftwarePhilosophy
رعایت Coding Style در هنگام برنامه‌نویسی، تاثیر زیادی در کیفیت کد تولید شده می‌گذارد. اغلب برای زبان‌هایی مانند C#, Java و یا JavaScript قوانین زیادی برای استایل وجود دارد. این قوانین کمتر در مورد زبان‌هایی مانند SQL رایج است در حالی که رعایت آنها در چنین زبان‌هایی بسیار مهم است. مقاله جالب زیر یک سری از اصول Coding Style در زبان SQL را شرح داده‌است. خلاصه نکات این مقاله عبارتند از:
• Formatting SQL Code
• Functional Misuse
• Variables and Parameters
• Wonderful world of collations

https://www.simple-talk.com/sql/t-sql-programming/basics-good-t-sql-coding-style/

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

http://ow.ly/XSIA30c5GS3


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

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


___
Forwarded from Iran Agile
🔴 فیدبک موثر برای رفتار دیگران

فیدبک و مغز؟

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

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

یعنی احتمالا مغز تفاوتی بین درد فیزیکی و درد اجتماعی (مانند ترد شدن- بی عدالتی – بی توجهی – اهمیت ندادن) قائل نیست، مثلا تیکه انداختن به یک نفر جلوی جمع فرقی با سیلی زدن به او ندارد (:

اما چگونه باید فیدبک داد؟
https://goo.gl/jeUJCU

@iranagile
مقایسه کد دو اسمبلی ساخته کاری است که در هنگام بررسی نسخه‌های مختلف یک dll بسیار پیش می‌آید. با ابزارهایی مانند Reflector یا dotPeek می‌توان محتوای یک اسمبلی را مشاهده کرد ولی مقایسه دو نسخه مختلف یک اسمبلی با این ابزارها بسیار سخت است. ابزار JustAssembly یک ابزار رایگان و اوپن‌سورس است که اخیرا توسط تیم Telerik توسعه داده شده و به خوبی به برنامه نویسان این امکان را می‌دهد که نسخه‌های مختلف یک اسمبلی را با یکدیگر مقایسه کنند.

http://developer.telerik.com/topics/net/introducing-justassembly-lightweight-net-assembly-diff-tool/

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

http://ow.ly/Mezs30c7VfS


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

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


___
Forwarded from Iran Agile
🔴 ارزیابی عملکرد تیم

یکی از سوالات همیشگی دوستان این است که چگونه تیم ها را ارزیابی کنیم؟ از چه شاخص هایی برای ارزیابی عملکرد نفرات یا تیم استفاده کنیم؟ یکی از محبوبترین این شاخص ها در تیم های چابک سرعت(ولاسیتی) است. اما سرعت چه مشکلی دارد؟ و بهتر است از چه شاخص هایی استفاده کنیم؟

واقعیت در مورد اندازه گیری

🔷 مردم را هر طوری اندازه بگیرید، همانگونه رفتار خواهند کرد
یا
🔷
به من بگو که چگونه من را اندازه خواهی گرفت، تا بگویم چگونه رفتار خواهم کرد

در یک کارخانه تولید میخ، گفتند پاداش بر اساس وزن میخ تولیدی خواهد بود، اندازه میخ ها افزایش پیدا کرد. گفتند، پاداش بر اساس تعداد میخ ها است، اندازه میخ ها کوتاه تر شد ولی تعداد بالاتر رفت. مردم را هر طوری اندازه بگیرید، همانگونه رفتار خواهند کرد، پس خیلی مهم است که چه چیزی را اندازه بگیرید.

اما در تیم های نرم افزاری بخصوص تیمهای چابک چه چیزی را باید انداره گرفت؟

https://goo.gl/VhCQLg

@iranagile
امنیت یکی از دغدغه‌های مهم نرم‌افزارهای large scale است. این دغدغه نه تنها به خود نرم‌افزار بر می‌گردد، بلکه بیشتر به تیم‌هایی برمی‌گردد که در حال توسعه این سیستم‌ها هستند. اینکه تیم برنامه‌نویسی بتواند یک ویژگی امنیتی مانند لاگین را بنویسد بسیار تفاوت دارد با اینکه بتواند یک کد را امن بنویسد. «توانایی کد نویسی امن» یک مهارت است که مخصوصا برنامه‌نویسان سیستم‌های large scale مانند سیستم‌های بانکی یا ERP باید از آن برخوردار باشند.
یکی از مهمترین تعارضات تیم‌های برنامه‌نویس با دپارتمان‌های امنیت، این طرز تفکر است که امنیت «یک تست نهایی» است که باید در انتها انجام شود. این رویکرد اشتباه غالبا باعث می‌شود ریسک‌های امنیتی زیادی متوجه سازمان شود. در تیم‌های حرفه‌ای امنیت یک کار روزانه است که همه هر روز در حال انجام آن هستند.
اخیرا دپارتمان امنیت «بهسازان» در بانک ملت پروژه جالبی را به نام «مسابقه CTF» یا Capture The Flag را اجرا کرده‌است. طی این رویداد با برگزاری یک سری مسابقات جذاب برنامه‌نویسی امنیتی، به طور ناخودآگاه دانش امنیتی تمام افراد سازمان، مخصوصا برنامه نویسان بالا رفته‌است. نکته جالبه پلتفرم بهسازان این بود که آن را طوری طراحی کرده‌اند که می‌توانند در اختیار سایر سازمان‌ها نیز قرار دهند تا متناسب با بیزنس خود آن را پیکربندی کنند و موجب آموزش این مهارت‌ها به سازمان خود شوند.

http://mehrandvd.me/2017/05/23/capture-flag-secure-software/

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

http://ow.ly/p03w30cbHdO

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

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


___