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

http://www.infoworld.com/article/2905918/microsoft-net/choosing-the-right-technology-for-building-your-service-layer-in-net.html

#کاروان_جافی

لینکدین:
https://uk.linkedin.com/in/karvan-jafi-96897027

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

___
#پست_مجدد این پست تا به حال بیش از ۱۲۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
آینده زبان C# به چه سمتی می‌رود؟ این زبان از نسخه ۳ به بعد، در هر نسخه خود امکانات جدیدی را به دنیای برنامه‌نویسی شی‌گرای مدرن معرفی کرد. از زمانی که کامپایلر Roslyn به صورت اوپن-سورس معرفی شد و همچنین پلتفرم Xamarin به صورت رایگان در اختیار برنامه‌نویسان قرار گرفت، اتفاقات جالب زیر محقق شده‌است:
• You can write C# in any editor you want
• C# is open source now
• C# runs on Windows, Mac, and Linux
• C# can be used to build Windows client apps, Windows Store apps, iOS apps, and Android aps and can also be used to build backend and middle-tier frameworks and libraries.
• Supports all IDEs and editors
• All the linters and analysis tools
• All the fixing and refactoring and code generation tools
• All the noscripting and all the REPLs

مقاله زیر سیر تکامل این زبان را بررسی کرده است و کمی درباره سمت سوی آینده این زبان صحبت کرده‌است.

http://www.c-sharpcorner.com/article/what-is-the-future-of-C-Sharp

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

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


___
#پست_مجدد این پست تا به حال بیش از ۲۰۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
هرم شیطان یا Pyramid of Doom یک مشکل معروف در دنیای برنامه‌نویسی است. این مشکل معمولا وقتی پیش می‌آید که برنامه‌نویس مجبور است تعداد زیادی if تو در تو بنویسد، در این صورت با رعایت تو رفتگی‌های کد، کد شما از دور یک هرم خیلی بزرگ به نظر می‌رسد. یک نمونه متداول چک کردن مقادیر null به وسیله if های تو در تو است. این هرم هنگام استفاده از callback های متوالی نیز پیش می‌آید. در برنامه نویسی به زبان JavaScript حتما این هرم را در کدها دیده‌اید. لینک زیر نحوه تشکیل این هرم در کد را نشان می‌دهد و برای رفع آن در برخی حالت‌ها راه حل هایی ارائه داده است.

https://en.wikipedia.org/wiki/Pyramid_of_doom_(programming)

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

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


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

https://medium.com/the-startup-magazine-collection/what-to-include-in-your-2-minute-startup-pitch-b166f529f388?ref=quuu#.wp67z53jl

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

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


___
#پست_مجدد این پست تا به حال بیش از ۱۷۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
سایت StackOverflow به تازگی بخشی با عنوان Documentation اضافه کرده‌است که بسیار جذاب است و در چند روز اولیه شروع آن با استقبال خوبی از طرف کاربران مواجه شده‌است. در این بخش به شیوه بسیار جالب و پویایی مستندات هر زبان و یا تکنولوژی توسط کاربران ساخته می‌شود. در یک اقدام جالب شرکت مایکروسافت نیز خبر داده‌است به زودی محتوای مستندات مرجع API ها در docs.mirosoft.com با این بخش یکپارچه خواهد شد.
لینک زیر چگونگی کارکرد این بخش Documentation را شرح داده‌است.

https://docs.microsoft.com/teamblog/stackoverflow-documentation-for-microsoft-developers

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

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


___
امروزه استفاده از Task Runnerها امری الزامی در پروژه‌ها به حساب می‌آید تا بتوان کارهایی را به سیستم بسپاریم تا آنها را یکی پس از دیگری و به صورت خودکار انجام دهد.
در زمینه پروژه‌های تحت وب Gulp یکی از اعضای این خانواده می باشد که به دلیل سرعت بالاتر و سادگی بیشتر از محبوبیت بیشتری نیز برخوردار است.
گالپ به تنهایی شامل چهار دستور اصلی به همراه ساختاری ساده برای نوشتن Taskها می‌باشد که بستری برای استفاده از pluginهای نوشته شده است. درواقع pluginها هستند که انجام کارهای اصلی مورد نظر ما، از قبیل minification ، bundling ، image optimize و ... را به عهده دارند. و همینطور بسته به frameworkهای استفاده شده باید plugin صحیح را دریافت کنید که gulpjs.com/plugins بهترین مرجع برای دریافت و آموزش طریقه استفاده آنها می‌باشد.
گالپ نیز مانند grunt مبتنی بر nodejs است و تمام کتابخانه ها و pluginها را باید از طریق npm نصب کنیم.
خوشبختانه در Visual Studio 2015 امکان استفاده از npm بدون نیاز به bash اضافه شده است که می‌توانیم از تمام کتابخانه‌های موجود استفاده کنیم و حتی می‌توانیم زمان اجرای task های ساخته شده توسط gulp را به بعد یا قبل از Build پروژه و ... bind کنیم.
لینک زیر نحوه استفاده از gulp در ویژوال استودیو را آموزش می‌دهد.

https://docs.asp.net/en/latest/client-side/using-gulp.html

#محمدرضا_جلیلوند
لینکدین:
http://ir.linkedin.com/in/mohammad-reza-jalilvand-0a5572b1

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

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

۱. «کتابخانه Audit.net»
https://telegram.me/SoftwarePhilosophy/499

۲. «هفت ابزار جدید برای خطایابی و Debugging در ویژوال استودیو»
https://telegram.me/SoftwarePhilosophy/501

۳. «طراحی لایه سرویس و انتخاب تکنولوژی مناسب»
https://telegram.me/SoftwarePhilosophy/502

۴. «آینده C# به چه سمتی می‌رود؟»
https://telegram.me/SoftwarePhilosophy/504

۵. «هرم شیطان در کد نویسی»
https://telegram.me/SoftwarePhilosophy/506

۶. «نکاتی برای ارائه دو دقیقه‌ای ایده‌ها»
https://telegram.me/SoftwarePhilosophy/508

۷. «ارائه مستندات در StackOverflow»
https://telegram.me/SoftwarePhilosophy/511

۸. «معرفی gulp به عنوان یک task runner»
https://telegram.me/SoftwarePhilosophy/512

ـــــــــ
@SoftwarePhilosophy
#پست_مجدد این پست تا به حال بیش از ۱۱۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
اگر به برنامه نویسی با HoloLens علاقه دارید، ولی دستگاه آن را ندارید (که طبیعتا در ایران نداریم!) می‌توانید از HoloLens Emulator استفاده کنید. شما در این شبیه‌ساز می‌توانید نتیجه برنامه‌های خود را ببینید.
در این شبیه‌ساز چند نوع اتاق پیش‌فرض وجود دارد که می‌توانید از آنها استفاده کنید. همچنین حرکات دست کاربر در فضا و قابلیت‌های دیگر قابل استفاده هستند.
لینک زیر به طور خلاصه امکانات این شبیه‌ساز را توضیح داده‌است.

https://developer.microsoft.com/en-us/windows/holographic/using_the_hololens_emulator

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

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


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

«چگونه استراتژی (و نه تکنولوژی) عامل اصلی تحول دیجیتالی سازمان شماست» این عنوان مقاله‌ زیر است که توضیح می‌دهد چگونه استراتژی تاثیرگذاری زیادی در فرایند دیجیتالی شدن یک سازمان دارد.

https://datafloq.com/read/how-strategy-not-technology-driver-transformation/2105?ref=quuu&utm_content=buffer6b7ab&utm_medium=social&utm_source=linkedin.com&utm_campaign=buffer

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

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


___
محصولی مانند 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

___
Forwarded from Software Philosophy
اگر دوستانی دارید که نه تنها برنامه نویس هستند، بلکه اعتقاد دارید «مهندس نرم‌افزار» هم هستند، آنها را به کانال @SoftwarePhilosophy دعوت کنید.
این پیغام را برای آنها Forward کنید.
#پست_مجدد این پست تا به حال بیش از ۱۰۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
تخمین یا برآورد هزینه نرم افزار همیشه یکی از دغدغه‌های اصلی شرکت‌های نرم افزار و برنامه نویسان بوده است. و مشتریان همیشه از قیمت ارائه شده توسط خالقان نرم افزار در تعجب بوده‌اند و گاهی آن‌ها را به ارائه قیمت‌های بدون معیار متهم کرده‌اند. مقاله زیر برخی از پارامترهای مهم در تخمین هزینه نرم افزارها (موبایل) را به زیبایی بررسی کرده است.

https://yalantis.com/blog/how-much-does-it-cost-to-develop-an-app/

#کاروان_جافی

لینکدین:
https://uk.linkedin.com/in/karvan-jafi-96897027

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


___
#پست_مجدد این پست تا به حال بیش از ۱1۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
فریم‌ورک Aurelia یکی از فریم‌ورک‌هایی است که به نظر می‌رسد آینده خیلی خوبی در بازار داشته باشد. معماری این فریم‌ورک بسیار با رویکردهای جدید معماری فریم‌ورک‌های کلاینت‌ساید تطابق دارد. یکی از نقاط قوت این فریم‌ورک نسبت به Angular 2 سر راست بودن مفاهیم در آن و خوانایی بسیار زیاد Binding Syntax در آن است.
مقاله زیر از Aurelia HUB کمک می‌کند در زمان بسیار کوتاهی یک برنامه To Do List با این زیرساخت بنویسید و با امکانات قدرتمند و در عین حال ساده آن آشنا شوید.

http://aurelia.io/hub.html#/doc/article/aurelia/framework/latest/quick-start/6

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

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


___