Software Philosophy
3.45K subscribers
160 photos
41 videos
1.54K links
چکیده‌ای از مفاهیم به روز مهندسی نرم افزار برای مهندسین نرم‌افزار.
معماری نوین نرم‌افزار، تکنولوژی‌های برنامه نویسی جدید
Download Telegram
Forwarded from فلسفه دیزاین
یک نمونه از کشتی‌هایی که از استتار Dazzle در جنگ جهانی اول استفاده می‌کردند.

@HamDesign هَم دیزاین
#پست_مجدد این پست تا به حال بیش از ۱۱۰۰ بار مشاهده شده و به نظر می‌رسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
اگر از فریم ورک AngularJS استفاده میکنید، حتما این سوال برایتان پیش آمده که فرق service با factory در چیست؟ چه موقع باید از service استفاده کرد و چه موقع از factory؟ در بیشتر مقالات موجود که به مقایسه ی service و factory پرداخته شده است، بیشتر به شباهت های این دو API اشاره شده و کمتر تفاوت های آنها مطرح شده است.
بطور خلاصه، می توان گفت که هر دو API، singleton هستند و فقط یک instance از آنها زمان runtime ایجاد میشود.
Service در angular فقط یک متد مانند یک constructor function است که زمان runtime یک بار با new صدا زده می شود.
با اینکه Factory می تواند مانند یک Service عمل کند اما با این حال یک روش دیگر برای Service نیست بلکه می تواند بسیار قوی تر و منعطف تر از service عمل کند. در واقع factory یک design pattern است که در نهایت یک Object برمیگرداند.
مقاله زیر مقایسه کاملی بین این دو API ارائه کرده و چند مثال از انعطاف پذیری و قابلیت بیشتر Factory آورده است.

https://toddmotto.com/factory-versus-service

#مریم_داودی

لینکدین:
https://www.linkedin.com/in/maryam-davoudi-7913565a

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

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

۱. گرفتن امتیاز ۴۰۰ در Telegram Lumberjack با استفاده یک بات برنامه‌نویسی شده:
https://telegram.me/SoftwarePhilosophy/550
https://telegram.me/SoftwarePhilosophy/551

۲. نوشتن بات برای بازی‌های کامپیوتری:
https://telegram.me/SoftwarePhilosophy/552

۳. بررسی جایگاه تکنولوژی Xamarin:
https://telegram.me/SoftwarePhilosophy/553

۴. برنامه‌نویسی در JavaScript به شیوه JSFuck:
https://telegram.me/SoftwarePhilosophy/554

۵. فایل‌های گرافیکی vector و raster:
https://telegram.me/SoftwarePhilosophy/555

۶. استفاده از هنر طراحی برای استتار در جنگ (هم دیزاین):
https://telegram.me/SoftwarePhilosophy/556
https://telegram.me/SoftwarePhilosophy/557

۷. مقایسه service و factory در AngularJS:
https://telegram.me/SoftwarePhilosophy/559

ـــــــــــ
@SoftwarePhilosophy
تکنولوژی Xamarin.Forms تکنولوژی ساخت برنامه‌های موبایل cross-platform نسل جدید Xamarin است. یکی از جذابیت‌های این تکنولوژی قابلیت استفده از XAML در طراحی و تولید رابط کاربری است. اگر قصد برنامه نویسی با Xamarin.Forms را دارید احتمالا می‌خواهید نمونه‌هایی از برنامه‌های ساخته شده را ببینید تا روش استفاده از کامپوننت‌های مختلف و نحوه نمایش آن را در پلتفرم‌های مختلف موبایل ببینید. در لینک زیر مثال‌های نمایشی زیادی را در این مورد در اختیار برنامه‌نویسان قرار داده‌است تا بتوانند قابلیت‌های هر کنترل را در پلتفرم‌های مختلف بررسی کنند.

https://developer.xamarin.com/samples/xamarin-forms/all

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

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

___
Forwarded from SQL Server
در این بلاگ پست یادمیگیرد که چطور با کمترین هزینه و با استفاده از مقدار اضافی حافظه اصلی سرعت بازدهی بانکهای اطلاعاتی خود را به بیش از 40% افزایش بدید. حتما این مطلب را مطالعه کنید!
توجه: محتوای این بلاگ نباید در دوره های آموزشی گنجانده شود (البته دوره های آموزشی با هزینه) و استفاده از محتوای این بلاگ (ترجمه شده به هر زبان) با ذکر منبع موردی ندارد.
https://fard-solutions.com/boost-sql-server-performance-minimal-investment/

امیدوارم استفاده کامل را ببرید. سوالات خود را در گروه پرسش و پاسخ ما به آدرس زیر درمیان بگذارید
https://telegram.me/joinchat/BTQQtzy50j-IxIAOKHWwVg
همیشه نبودن قابلیت‌هایی مثل Variables, Functions, Mixins، دستورات شرطی و حلقه‌ها و… یا نبودن یک ساختار منسجم، توسعه دهنگان وب را آزار می‌داد تا اینکه تکنولوژی‌هایی به نام Preprocessor ها مانند LESS و SASS و Stylus و … معرفی شدند که دارای Syntax سوای از CSS بودند و از راه‌ها و Syntax های دیگری برای اضافه کردن این قابلیت‌ها استفاده می‌کنند.
برای رفع این مشکلات و حتی بهبود کدنویسی، PostCSS معرفی شد که به عنوان ابزاری برای تبدیل CSS شما به CSS بهینه‌تر به کمک Module هایی بر پایه JS شناخته می‌شود برای مثال کد شما را فشرده می‌کند، پیشوندهای مروگر را اضافه می‌کند، قابلیتهایی مثل متغیر ها و… را به شما می‌دهد، قابلیت‌هایی که در آینده به CSS اضافه خواهند شد را اکنون در اختیار شما قرار می‌دهد و ده‌ها قابلیت دیگر که همگی اینها به عهده Module ها می‌باشد.از جمله Module های معروف می‌توان به autoprefixer و stylelint اشاره کرد که انتظارات را از یک Preprocessor یا Postprocessor نیز فراتر می‌برد.
در مقاله زیر به شرح امکانات و ویژگی های دیگر PostCSS و همینطور شناخت دقیق‌تر آن پرداخته شده است.

https://julian.io/some-things-you-may-think-about-postcss-and-you-might-be-wrong

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

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

___
#پست_مجدد این پست تا به حال بیش از ۱۲۰۰ بار مشاهده شده و به نظر می‌رسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
در زبان SQL، درک منطق اجرای یک کوئری برای خطایابی و نوشتن کد بهینه از اهمیت بالایی برخوردار است. شاید تا‌کنون برای شما هم پیش آمده است که در هنگام نوشتن یک کوئری، از اینکه کوئری بر خلاف انتظارتان عمل می کند دچار سردرگمی شده باشید. مثلا اینکه چرا با وجود اینکه‌alias ‌ها را درSELECT Clause تعریف کرده اید، درWHERE Clause ‌ نمی‌توانید از آنها استفاده کنید.
درSQL ، کوئری به ترتیبی که دستورات آن نوشته می‌شود اجرا نمی‌شود، بلکه به ترتیب زیر است:
۱) FROM clause
۲) WHERE clause
۳) GROUP BY clause
۴) HAVING clause
۵) SELECT clause
۶) ORDER BY clause
۷) TOP
در طراحی زبان SQL، مِلاکِ ترتیب اجرای دستورات کوئری، شبیه بودن به زبان انگلیسی بوده است. فرض کنید که به شما گفته می‌شود :"برو از قفسه سوم کتابخانه، کتاب قمارباز را بیاور!". در این مثال مهم‌ترین بخش محل است، پس شما اول به کتابخانه می‌روید (FROM)، بعد قفسه‌های دیگر را فیلتر می کنید و نگاهتان در قفسه سوم به دنبال کتاب مورد نظر می‌گردد(WHERE) ‌و تازه در این قسمت کتابی که می‌خواهید را بیرون می‌کشید‌‌‌(SELECT) و به شخصی که آن را درخواست کرده می دهید.
در مقاله زیر درباره‌ی Logical Query Processing بیشتر بخوانید.

https://sqlmag.com/sql-server/logical-query-processing-what-it-and-what-it-means-you

#زهره_مرادی

لینکدین:
https://ir.linkedin.com/in/zohre-moradi

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

___
یکی از مسائل مهمی که هر وبسایت نوپایی با آن مواجه است، شناخته شدن وبسایت توسط موتورهای جستجوگر یا همان search engine هاست.
به طور کلی باید گفت هرچقدر مطالب، موضوعات و متن وب سایت قویتر باشد، تعداد مراجعات به وبسایت و ارجاعات به سایت در شبکه‌های اجتماعی بیشتر خواهد بود و به این ترتیب است که موتورهای جستجوگر وبسایت شما را به عنوان سایتی که برای مردم جالب و جذاب است، می شناسند.
روش هایی برای بهبود فرایند گفته شده وجود دارد که به نام Search Engine Optimization یا همان SEO مرسوم شده‌اند.
سئو یا همانSEO، به مجموعه فعالیت‌هایی اطلاق می شود که در نتیجه آنها میتوان اطمینان داشت که نام وبسایت با جستجوی کلمات مرتبط با بیزنس و کاربری آن، در صفحات اصلی خروجی موتورهای جستجوگر وجود دارد.
مقاله زیر مجموعه فعالیت های SEO و روشهای آنرا شرح داده است.

https://www.wordstream.com/blog/ws/2012/01/17/seo-content-beginners-guide

#مریم_داودی

لینکدین:
https://www.linkedin.com/in/maryam-davoudi-7913565a

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


___
#پست_مجدد این پست تا به حال بیش از ۱۱۰۰ بار مشاهده شده و به نظر می‌رسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
مفهوم Parameter Binding در ASP.NET Web Api وظفیه نگاشت و پر کردن پارامترهای مورد نیاز در متد تعریف شده به عنوان Action را دارد. این کار به وسیله اطلاعاتی که در پارامترها در URI و اطلاعاتی که در Body آمده‌است انجام می‌شود.
به صورت پیش‌فرض پارامترهای از نوع‌های پایه (int, string, …) از طریق URI پر می‌شوند و پارامترهای Complex از طریق Body ساخته می‌شود. برای تغییر این رویه روش‌های خاصی وجود دارد که در مقاله زیر به طور کامل توضیح داده شده‌است.

https://www.asp.net/web-api/overview/formats-and-model-binding/parameter-binding-in-aspnet-web-api

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

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

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

۱. تکنولوژی Xamarin.Forms برای ساخت برنامه‌های موبایل
#xamarin #mobile #crossplatform

https://telegram.me/SoftwarePhilosophy/561


۲. افزایش بازدهی سرعت بانک‌های اطلاعاتی با استفاده از حافظه اضافه (SQL Server)
#sqlserver

https://telegram.me/SoftwarePhilosophy/562


۳. امکانات و ویژگی‌های PostCSS
#css #postcss #less #sass

https://telegram.me/SoftwarePhilosophy/563


۴.مفهوم Logical Query Processing
#sql

https://telegram.me/SoftwarePhilosophy/565


۵. مفهوم SEO و عملکرد آن
#seo

https://telegram.me/SoftwarePhilosophy/566


۶. مفهوم Parameter Binding در ASP.NET Web Api
#webapi #aspnet

https://telegram.me/SoftwarePhilosophy/568


ـــــــــــ

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

https://www.thoughtworks.com/insights/blog/5-tips-being-effective-tech-lead

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

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

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

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

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

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

___
#پست_مجدد این پست تا به حال بیش از ۱۱۰۰ بار مشاهده شده و به نظر می‌رسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
پیش بینی می شود که تکنولوژی‌های واقعیت مجازی و واقعیت افزوده تا سال 2020 بتوانند 150 میلیارد دلار درآمد داشته باشند که بیشترین سهم را واقعیت مجازی یا Augmented Reality دارد. در نتیجه یادگیری استفاده از این تکنولوژی و یا تولید برنامه‌هایی برپایه این تکنولوژی به برنامه نویسان موبایل توصیه می‌شود. در این راستا خیلی از شرکت ها،SDK هایی برای سیستم عامل های Android و IOS تولید کرده اند که بین آن ها Wikitude از همه پر طرفدارتر بوده است. توضیحات تکمیلی و نسخه آزمایشی آن را می توانید در لینک زیر پیدا کنید.

https://www.wikitude.com/products/wikitude-sdk/

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

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

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

___
#پست_مجدد این پست تا به حال بیش از ۱۱۰۰ بار مشاهده شده و به نظر می‌رسد برای خوانندگان جدید کانال جذاب باشد.