Software Philosophy
3.45K subscribers
160 photos
41 videos
1.54K links
چکیده‌ای از مفاهیم به روز مهندسی نرم افزار برای مهندسین نرم‌افزار.
معماری نوین نرم‌افزار، تکنولوژی‌های برنامه نویسی جدید
Download Telegram
#پست_مجدد این پست تا به حال بیش از ۲۶۰۰ بار مشاهده شده و به نظر می‌رسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
پایگاه‌های داده‌ای وجود دارند که مبنای آنها رویداد (Event) می‌باشد. داده‌ها در این پایگاه‌های داده، فقط قابل اضافه شدن می‌باشند و قابل حذف یا ویرایش نیستند. این امر باعث می‌شود تا اطلاعات ذخیره شده در این پایگاه‌های داده قابل اتکا و مطمئن باشند، زیرا تحت هیچ شرایطی حذف نمی‌شوند و یا تغییر نمی‌کنند. یکی از پایگاه‌های داده در این زمینه EventStore می‌باشد که با .NET نوشته شده است. از کاربردهای این نوع پایگاه‌های داده می‌توان Event Sourcing و تحلیل رفتار کاربر را نام برد.

https://eventstore.org/docs/introduction/4.0.0/

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

https://ow.ly/7rNP30fxL3o

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

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


___
#پست_مجدد این پست تا به حال بیش از ۴۲۰۰ بار مشاهده شده و به نظر می‌رسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
تیم مفهومی است که هسته شکل گیری Agile و فریم ورک‌هایی چون Scrum ‌است. Agile‌ تنها مجموعه‌ای از اصول نیست بلکه نوعی نگرش و تفکر است که برای پیاده سازی آن تک تک اعضای تیم باید زبان و فرایندهای آن را بیاموزند. پیاده سازی Agile مستلزم فرهنگ و روحیه‌ی تیمی در هر مرحله است. مراحل گذار از سطوح ابتدایی Agile و رسیدن به یک تیم با کارایی بالا، در لینک زیر توضیح داده شده است.

https://www.scrumexpert.com/knowledge/5-steps-to-build-high-performance-agile-teams/

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

https://ow.ly/VXyA30fDAin


#شراره_لطفی (https://ow.ly/xvC530dx8xL)

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


___
#پست_مجدد این پست تا به حال بیش از ۲۴۰۰ بار مشاهده شده و به نظر می‌رسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
امروزه می‌توان از Entity Framework و نسخه Core آن در پروژه‌های مختلف با معماری‌های مختلف مانند برنامه‌های تحت وب، برنامه‌های موبایل و ... استفاده نمود. اما عمده استفاده از آن‌ها در برنامه‌های N-Tier مانند برنامه‌های دارای Rest Api در سمت سرور است که به کلاینت وب یا موبایل سرویس می‌دهند. با تغییر تنظیمات پیش فرض Entity Framework و کمی تغییر در سبک استفاده از آن، می‌توان بسته به سناریو، آن قسمتی از سرعت برنامه را که مشخصا به Entity Framework‌ مربوط است را بین سه تا صد برابر بهبود داد که عملا باعث می‌شود با همین سخت افزار موجود به تعداد کاربر بیشتری سرویس داده و سرعت کلی کار با برنامه را نیز بالاتر ببریم.
این مقاله ضمن ارائه مثال های عملی کمک می‌کند تا از Entity Framework‌ در N-Tier app development‌ استفاده مناسب‌تری داشته باشیم.

https://docs.bit-framework.com/docs/design-backgrounds/optimized-entity-framework-for-n-tier-apps.html

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

https://ow.ly/MKXr30fIX7X

#یاسر_مرادی (https://ow.ly/Ph6w30ebM21)


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


___
#پست_مجدد این پست تا به حال بیش از ۳۷۰۰ بار مشاهده شده و به نظر می‌رسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
یکی از مشکلات برنامه نویسان پیاده سازی چندباره نرم افزار در چندین پلتفرم مختلف مانند وب، iOS و Android است که بسیار پر هزینه می‌باشد. با آمدن React Native، Xamarin و ... این امکان به وجود آمد که برای موبایل‌های مختلف با یک کد مشترک نرم افزار ساخت. حال مایکروسافت پا را از این نیز فراتر گذاشته و با ایجاد فریمورک ReactXP بر روی React.JS و React Native بستری را فراهم نموده تا با نوشتن یک کد، آن نرم افزار همه جا از جمله در وب و کلیه موبایل‌ها اجرا گردد.

https://microsoft.github.io/reactxp/

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

https://ow.ly/iem730fSdfp

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


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


___
#پست_مجدد این پست تا به حال بیش از ۲۱۰۰ بار مشاهده شده و به نظر می‌رسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
تست نرم افزار موضوعی مهم برای برنامه‌های موبایل است. با وجود نسخه‌های متعدد از سیستم عامل‌ها و دستگاه‌های متفاوت، تحت پوشش قرار دادن همه آن‌ها وقت گیر است. به همین دلیل اجرای تست اتوماتیک برای همه سیستم عامل‌ها و دستگاه‌ها بصورت موازی به جای اجرای ترتیبی آن‌ها، صرفه زمانی و اقتصادی بیشتری دارد. Appium ابزاری open source برای تست خودکار و موازی نرم افزارهای موبایل native ،hybrid و تحت وب روی iOS و Android یا Windows است.
توضیحات بیشتر در لینک‌های زیر ارائه شده است.

https://www.softwaretestingmagazine.com/knowledge/parallel-mobile-testing-with-appium-part-1-android/

https://appium.io/introduction.html?lang=en

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

https://ow.ly/opgC30g2exl

#شراره_لطفی (https://ow.ly/xvC530dx8xL)

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

___
همیشه انتخاب یک فریم ورک JavaScript برای Front End یک چالش است و هر از گاهی ظهور یک فریم ورک جدید کار را سخت‌تر می‌کند.

فریم‌ورکVue.js (ویو خوانده میشود مانندview) فریم ورکی JavaScript است که در فوریه 2014 ارایه شد. نکته جالب توجه این فریم ورک آن است که توسط یک نفر تولید شده است و نه یک تیم، هرچند که در حال حاضر افراد زیادی در توسعه آن مشارکت دارند که توسط Evan You تولید کننده Vue.js رهبری می‌شوند.

این فریم ورک تلفیقی است از بهترین فریم ورک‌های محبوب AngularJSو ReactJS. از مزایای Vue.js سادگی استفاده، انعطاف پذیری، کم حجم بودن و یکپارچگی ساده با پروژه‌های موجود است و کد آن بسیار قابل تست است. به دلایلی که اشاره شد استفاده از Vue.js در بین توسعه دهندگان نرم افزار به سرعت در حال افزایش است.

وبسایت Vue.js:

https://vuejs.org

لینک زیر مزایای استفاده از این فریم ورک را توضیح می‌دهد:

https://hackernoon.com/what-is-vue-js-and-what-are-its-advantages-4071b7c7993d

و این لینک نیز مقایسه‌ای است از سه فریم ورک ReactJS، Angular5 و Vue.js:

https://medium.com/@TechMagic/reactjs-vs-angular5-vs-vue-js-what-to-choose-in-2018-b91e028fa91d

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

https://ow.ly/czDp30mC86D

#محمد_محبتی (https://ow.ly/4ZMN30lzoxf)

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

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

در لینک زیر گرگ یانگ به تفصیل به این موضوع پرداخته است:

https://www.youtube.com/watch?v=8JKjvY4etTY

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

https://ow.ly/p0JF30g96FC

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

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

___
#پست_مجدد این پست تا به حال بیش از ۵۱۰۰ بار مشاهده شده و به نظر می‌رسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
برنامه‌نویسان NASA یکی از چالشی‌ترین کارهای برنامه‌نویسی در جهان را دارند. عمده برنامه‌هایی که آنها می‌نویسند بسیار حساس و اصطلاحا Mission Critical هستند.
برنامه‌هایی که در ناسا نوشته می‌شوند نباید هیچ خطایی داشته باشند. کوچکترین خطا در برنامه باعث نابود شدن کل پروژه می‌شود (برای مثال سقوط شاتل یا نرسیدن به مقصد).
به همین دلیل روشی که آنها طبق آن کد نویسی می‌کنند می‌تواند بسیار آموزنده باشد.
در لینک زیر ۱۰ قانون حیاتی که تیم برنامه‌نویسی «آزمایشگاه نیروی متحرکه جت» یا Jet Propolution Labratovary از آن استفاده می‌کنند آمده است.
با اینکه این قوانین عمدتا برای زبان C تدوین شده‌اند ولی بیشتر آنها در همه زبان‌ها کاربرد دارند و خواندن این قوانین می‌تواند بسیار آموزنده باشد.

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

https://fossbytes.com/nasa-coding-programming-rules-critical/


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

https://ow.ly/UkMY30gO6Si

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

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

___
Forwarded from DotNetZoom (محمد جواد ابراهیمی)
وبینار یک روزه API نویسی اصولی و حرفه ای در ASPNET Core

برخی سرفصل ها :
- پیکربندی و استفاده از Swagger در ASPNET Core
- تست نویسی و داکیومنت نویسی حرفه ای (Testing & Documenting)
- اعتبار سنجی خودکار (Validation)
- مدیریت استثنا ها (Exception Handeling)
- نسخه گذاری اصولی (Versioning)
- رعایت Best Practice های API نویسی
- رعایت اصول امینیتی (Security)
- پیاده سازی یک معماری حرفه ای و اصولی برای API نویسی
- و...

برگزار کننده : کامیونیتی دات نت تاک (DotNetTalk)

زمان : پنج شنبه 8 آذرماه - ساعت 09:00 الی 17:00

کد تخفیف 20 درصدی مخصوص اعضای کانال :
iranaspmvc20
فقط برای 15 نفر ثبت نام کننده اول

لینک ثبت نام :
https://evnd.co/Zr32J
________________
@IranAspMvc
Forwarded from فلسفه دیزاین
مروری بر ۶ سال طراحی پورتفولیو

پروژه‌های شخصی و پورتفولیو (Portfolio)ها بهترین حیاط خلوت‌های دیزاینرها هستند. دنیایی که هم سفارش‌دهنده خود ما هستیم و هم اجراکننده. شما چند وقت یکبار رزومه و پوتفولیوی خود را بروزرسانی می‌کنید؟

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

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

مقاله امروز را از دست ندهید:
https://uxdesign.cc/how-and-why-i-redesign-my-portfolio-every-year-bf3bba3833fc

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

#بازطراحی #پورتفولیو #رزومه
@Dexign فلسفه دیزاین

___
#پست_مجدد این پست تا به حال بیش از ۲۱۰۰ بار مشاهده شده و به نظر می‌رسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
یکی از دغدغه‌های همیشگی برنامه‌نویسان، تولید نرم‌افزار با سرعت بیشتر و کیفیت بالاتر می‌باشد. یکی از زبان‌های جدید پرطرفدار که به این امر کمک می کند F# است. با F# می‌توان بصورت Functional کد نوشت. تعداد خطوط نوشته شده در زبانهای Functional نسبت به سایر زبان‌ها کم می‌باشد. بطور مثال ۲۰ خط کد در C# با حدود ۵ خط کد در F# قابل بازنویسی است. ویدیو زیر به معرفی F# برای برنامه نویسان C# پرداخته است.

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

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

https://ow.ly/KfWV30h1wUK

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

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

___