Software Philosophy
3.45K subscribers
160 photos
41 videos
1.54K links
چکیده‌ای از مفاهیم به روز مهندسی نرم افزار برای مهندسین نرم‌افزار.
معماری نوین نرم‌افزار، تکنولوژی‌های برنامه نویسی جدید
Download Telegram
اولین ورک‌شاپ کانال Software Philosophy روی پلتفرم Twitch سه‌شنبه ۱۳۹۷/۰۷/۱۰ ساعت ۷ تا ۸. روی این لینک کلیک کنید: https://www.twitch.tv/softwarephilosophy/

@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

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

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

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

https://ow.ly/nsXP30e8yCn


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


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

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

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

لینک یوتیوب:

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

لینک آپارات:

https://www.aparat.com/v/vV3ru

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

https://ow.ly/dr3W30m3P6b

#افشین_علیزاده (https://ow.ly/l7cA30m3OQ9)

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

___
#پست_مجدد این پست تا به حال بیش از ۲۴۰۰ بار مشاهده شده و به نظر می‌رسد برای خوانندگان جدید کانال جذاب باشد
Forwarded from Software Philosophy
امروزه در بسیاری از پروژه‌ها از Web Sockets استفاده می‌شود. در این نوع ارتباط در کنار ایجاد ارتباطی از سرور به کلاینت که از آن برای ارسال پیام‌ها استفاده می‌شود، ارتباطی از کلاینت به سرور نیز باز می‌شود که عموما مورد استفاده قرار نمی‌گیرد. ضمن اینکه با توجه به متفاوت بودن پروتکل Web Sockets با HTTP، بسیاری از مواردی که بر روی پروتکل HTTP تنظیم می‌کنیم (مانند CORS - Compression‌ و ...) بر روی Web Sockets اعمال نمی‌شود. Server Sent Events در قیاس با Web Sockets گزینه‌ای مناسب‌تر برای اکثریت پروژه‌ها می‌باشد که کاملا بر اساس پروتکل HTTP ایجاد شده و سربار کمتری نیز دارد. لینک زیر حاوی توضیحی نسبتا مفصل از مزایایی است که Server Sent Events می‌تواند برای پروژه شما به ارمغان آورد.

https://docs.bit-framework.com/docs/design-backgrounds/server-sent-events-or-web-sockets.html

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

https://ow.ly/2nBc30ebM8o

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


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

___
#پست_مجدد این پست تا به حال بیش از ۱۰۰۰ بار مشاهده شده و به نظر می‌رسد برای خوانندگان جدید کانال جذاب باشد
Forwarded from Software Philosophy
در وب‌سایت‌های چند صفحه‌ای برای هدر که باید در همه صفحات وجود داشته باشد چه باید کرد؟ آیا باید در هر صفحه دوباره هدر را نوشت؟ اینطور که خیلی بد است، با هر تغییر هدر باید تمام هدرهای صفحات مختلف تغییر کند...
در ui router anguler مفهومی به نام nested states , nested views وجود دارد که در آن می‌توان هدر را به عنوان مستر با کنترولر مربوط به خود در نظر گرفت و محتویات صفحه به صورت دیتیل با کنترولر مخصوص خود قرار بگیرد... به این معنی که با تغییر صفحه هدر جای خود باقی مانده و با تغییر url، فقط محتویات آن عوض می‌شود.
استفاده از این ویژگی کمک زیادی حذف کدهای اضافی از صفحات کرده و خوانایی و کارآمدی آن را بالا می‌برد.
لینک زیر توضیح کاملی از چگونگی انجام این کار است.

https://github.com/angular-ui/ui-router/wiki/Nested-States-and-Nested-Views

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

https://ow.ly/qS7V30ecsZ2

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


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

___
#پست_مجدد این پست تا به حال بیش از ۲۴۰۰ بار مشاهده شده و به نظر می‌رسد برای خوانندگان جدید کانال جذاب باشد
Forwarded from Software Philosophy
بررسی کدها و اجزای نرم افزار از نقطه نظر معماری و طراحی، یافتن وابستگی میان اجزای کد، پیدا کردن مشکلات در کد در زمان اجرا و خواندن کدهای دیگران یکی از مسایلی بوده که همیشه برنامه نویسان و طراحان سیستم‌ها با آن روبرو هستند. یکی از قابلیت‌های پنهان و بسیار قدرتمند Visual Studio که از نسخه ۲۰۱۵ ارائه شده است Code Map می‌باشد که با Visualize کردن باعث می‌شود کارهای گفته شده به سادگی بیشتر انجام پذیرد.

https://channel9.msdn.com/Events/TechEd/Europe/2014/DEV-B346

https://docs.microsoft.com/en-us/visualstudio/modeling/use-code-maps-to-debug-your-applications

https://msdn.microsoft.com/en-us/library/dd409453.aspx

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

https://ow.ly/Kjey30edWbn

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

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

___
#پست_مجدد این پست تا به حال بیش از ۲۱۰۰ بار مشاهده شده و به نظر می‌رسد برای خوانندگان جدید کانال جذاب باشد
Forwarded from Software Philosophy
تاکنون اتصال به دستگاه‌های بلوتوث تنها از طریق native apps امکان پذیر بود. Web Bluetooth API این امکان را برای web browser ها نیز فراهم آورده است. کتابخانه‌هایی برای کار با این API‌ ها در Node‌و Angular و Polymer نیز پیاده‌سازی شده است. لینک زیر توضیحاتی در مورد این API ها و کاربری آن ارايه می‌دهد.

https://developers.google.com/web/updates/2015/07/interact-with-ble-devices-on-the-web

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

https://ow.ly/6Gq530efr9v

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

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

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

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

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

نویسنده مقاله امروز پس از مقدمه‌ای کوتاه درباره مهارت‌های دیزاینرها، به صورت مفصل به بررسی Design Patternهای اپلیکیشن‌های Universal پرداخته و همچنین با ارائه مثال‌هایی مفهومی، کمک می‌کند ما دیزاین‌هایی همه فن حریف خلق کنیم.

مقاله امروز را از دست ندهید:

https://uxplanet.org/what-should-designers-know-about-universal-app-8f6a544ea588

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

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

___
#پست_مجدد این پست تا به حال بیش از ۲۳۰۰ بار مشاهده شده و به نظر می‌رسد برای خوانندگان جدید کانال جذاب باشد
Forwarded from Software Philosophy
از مسایل مهم در هر نرم افزار وب، علاوه بر زیرساخت‌های شبکه و سیستم عامل، ایمن‌سازی نرم افزار می‌باشد. NWebSec یک کتابخانه مبتنی بر .NET می‌باشد که قابل استفاده در ASP.NET و ASP.NET Core نیز بوده و با استفاده از Security Headers و سایر روش‌ها به امنیت بیشتر نرم افزارها کمک می‌کند.

https://docs.nwebsec.com/en/latest/nwebsec/getting-started.html

https://www.dotnetnoob.com/2012/09/security-through-http-response-headers.html

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

https://ow.ly/umRg30ehqWV


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

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

___
#پست_مجدد این پست تا به حال بیش از ۲۷۰۰ بار مشاهده شده و به نظر می‌رسد برای خوانندگان جدید کانال جذاب باشد
Forwarded from Software Philosophy
کارایی و سرعت EntityFramework از گذشته تا به امروز از معضلاتی است که در پروژه‌ها با آن مواجه می‌شویم. همه‌ی راحتی و سرعتی که در زمان توسعه نرم افزار با استفاده از EF CodeFirst به دست می‌آوریم کمابیش برای بهبود سرعت اجرای queryهای وحشتناکی که بعضا توسط EF تولید می‌شود صرف می‌کنیم. ابزارهایی از قبیل Rhino Entity Framework Profiler و LINQ Pad در این راه یاری رسان بوده‌اند.اما ZZZ Projects راه حل بهتری ارایه داده‌اند. آن‌ها کتابخانه‌هایی روی EF ارايه داده‌اند که امکان عملیات CRUD و Merge بصورت batch با سرعت بالا را فراهم می‌آورند. همچنین امکان به روز رسانی بدون بارگزاری موجودیت‌ها از دیتابیس و ارسال چند Query بصورت batch به دیتابیس و بسیاری امکانات دیگر که در لینکهای زیر توضیحات آن آمده است.

https://www.zzzprojects.com/

https://entityframework-extensions.net/

https://entityframework-plus.net/
همچنین از دیگر محدودیت های EF Codefirst عدم امکان استفاده از SQL Function ها و Stored Procedure هایی با خروجی‌های متفاوت است. لینک زیر کتابخانه EntityFramework.Functions را معرفی می‌کند که به کمک آن با این محدودیت EF Codefirst خداحافظی می‌کنید.

https://weblogs.asp.net/Dixin/EntityFramework.Functions

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

https://ow.ly/3nz630ejcU6

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

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

___