#پست_مجدد این پست تا به حال بیش از ۱۰۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
مقایسه تکنولوژیهای React Native و Xamarin Forms برای پروژههای Cross Platform یکی از بحثهای داغ این روزهای برنامهنویسان موبایل است. مقاله زیر این دو فریمورک را از ابعاد مختلف مقایسه کرده و نظر خود را در هر مورد شرح داده. نکته جالب این مقاله این است که قبل از توضیح کامل، در یک پاراگراف که آن را Short Version یا نسخه کوتاه نامگذاری کرده خیلی خلاصه نتیجه را توضیح دادهاست.
به نظر این برنامهنویس، اگر برنامه نویس JavaScript هستید React Native را انتخاب خواهید کرد، اگر برنامهنویس C# باشید Xamarin Forms را انتخاب خواهید کرد. اگر به هر دو مسلط باشید (که معمولا کم پیش میآید) برای پروژههای واقعی و بیزنسی Xamarin Forms را انتخاب میکنید و React Native را برای پروژههای شخصی انتخاب خواهید کرد.
https://shellmonger.com/2017/05/25/which-is-better-react-native-or-xamarin-forms/
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، بر روی لینک زیر کلیک کنید:
https://ow.ly/9ZTM30cuKFN
#مهران_داودی (https://ow.ly/GwIl309lFEm)
کانال تلگرام:
@SoftwarePhilosophy
___
به نظر این برنامهنویس، اگر برنامه نویس JavaScript هستید React Native را انتخاب خواهید کرد، اگر برنامهنویس C# باشید Xamarin Forms را انتخاب خواهید کرد. اگر به هر دو مسلط باشید (که معمولا کم پیش میآید) برای پروژههای واقعی و بیزنسی Xamarin Forms را انتخاب میکنید و React Native را برای پروژههای شخصی انتخاب خواهید کرد.
https://shellmonger.com/2017/05/25/which-is-better-react-native-or-xamarin-forms/
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، بر روی لینک زیر کلیک کنید:
https://ow.ly/9ZTM30cuKFN
#مهران_داودی (https://ow.ly/GwIl309lFEm)
کانال تلگرام:
@SoftwarePhilosophy
___
Forwarded from Iran Agile
🔴 روش استوری مپینگ در عمل
همیشه وقتی در مورد اسکرام صحبت میکنیم، اولین فرض ما این است که تیم یک بکلاگ محصول دارد. ولی در مورد اینکه این بکلاگ از کجا آمده است و چگونه تولید میشود زیاد صحبت نشده است. یکی از بهترین روشهای ایجاد بکلاگ اولیه محصول Story Mapping است.
بکلاگ یک بعدی یا چند بعدی؟
در تعریف بکلاگ محصول داریم که بکلاگ یک لیست الویت بندی شده از نیازمندی ها است که قرار است بر اساس اولویت از بالا و در طول اسپرینت ها انجام شود. مثلا یک فایل اکسل را در نظر بگیرید که نیازمندیها پشت سر هم در یک فایل نوشته است.
بکلاگ فلت چندین ایراد اساسی دارد:
1. حس یک لیست بی پایان از کارها که هیچ وقت تمام نمی شود (لیست بابانوئل)
2. نداشتن یک تصویر کلی از کل پروژه یا محصول
3. از دست دادن دید Iterative – Incremental
4. اولویت بندی بکلاگ فلت در عمل خیلی سخت است
https://goo.gl/iUryqU
@iranagile
همیشه وقتی در مورد اسکرام صحبت میکنیم، اولین فرض ما این است که تیم یک بکلاگ محصول دارد. ولی در مورد اینکه این بکلاگ از کجا آمده است و چگونه تولید میشود زیاد صحبت نشده است. یکی از بهترین روشهای ایجاد بکلاگ اولیه محصول Story Mapping است.
بکلاگ یک بعدی یا چند بعدی؟
در تعریف بکلاگ محصول داریم که بکلاگ یک لیست الویت بندی شده از نیازمندی ها است که قرار است بر اساس اولویت از بالا و در طول اسپرینت ها انجام شود. مثلا یک فایل اکسل را در نظر بگیرید که نیازمندیها پشت سر هم در یک فایل نوشته است.
بکلاگ فلت چندین ایراد اساسی دارد:
1. حس یک لیست بی پایان از کارها که هیچ وقت تمام نمی شود (لیست بابانوئل)
2. نداشتن یک تصویر کلی از کل پروژه یا محصول
3. از دست دادن دید Iterative – Incremental
4. اولویت بندی بکلاگ فلت در عمل خیلی سخت است
https://goo.gl/iUryqU
@iranagile
#خلاصه_مطالب «فلسفه نرمافزار» در هفته گذشته:
۱. امنیت در سیستمهای large scale با راهکار تیم امنیت بهسازان بانک ملت
#security #ctf
https://t.iss.one/SoftwarePhilosophy/955
۲. طراحی دکمهها در گذر زمان (دیزاین)
#design #ux
https://t.iss.one/SoftwarePhilosophy/956
۳. آشنایی با Service Bus، MassTransit در معماری Microservices
#architecture #microservice
https://t.iss.one/SoftwarePhilosophy/957
۴. استفاده از LINQ در PowerShell
#powershell #linq
https://t.iss.one/SoftwarePhilosophy/959
۵. مقایسه تکنولوژیهای React Native و Xamarin Forms برای پروژههای Cross Platform
#crossplatform #ReactNative #Xamarin
https://t.iss.one/SoftwarePhilosophy/961
۶. روش استوری مپینگ در عمل (Iran Agile)
#agile
https://t.iss.one/SoftwarePhilosophy/962
ـــــــــــ
@SoftwarePhilosophy
۱. امنیت در سیستمهای large scale با راهکار تیم امنیت بهسازان بانک ملت
#security #ctf
https://t.iss.one/SoftwarePhilosophy/955
۲. طراحی دکمهها در گذر زمان (دیزاین)
#design #ux
https://t.iss.one/SoftwarePhilosophy/956
۳. آشنایی با Service Bus، MassTransit در معماری Microservices
#architecture #microservice
https://t.iss.one/SoftwarePhilosophy/957
۴. استفاده از LINQ در PowerShell
#powershell #linq
https://t.iss.one/SoftwarePhilosophy/959
۵. مقایسه تکنولوژیهای React Native و Xamarin Forms برای پروژههای Cross Platform
#crossplatform #ReactNative #Xamarin
https://t.iss.one/SoftwarePhilosophy/961
۶. روش استوری مپینگ در عمل (Iran Agile)
#agile
https://t.iss.one/SoftwarePhilosophy/962
ـــــــــــ
@SoftwarePhilosophy
Telegram
Software Philosophy
امنیت یکی از دغدغههای مهم نرمافزارهای large scale است. این دغدغه نه تنها به خود نرمافزار بر میگردد، بلکه بیشتر به تیمهایی برمیگردد که در حال توسعه این سیستمها هستند. اینکه تیم برنامهنویسی بتواند یک ویژگی امنیتی مانند لاگین را بنویسد بسیار تفاوت دارد…
پایگاههای دادهای وجود دارند که مبنای آنها رویداد (Event) میباشد. دادهها در این پایگاههای داده، فقط قابل اضافه شدن میباشند و قابل حذف یا ویرایش نیستند. این امر باعث میشود تا اطلاعات ذخیره شده در این پایگاههای داده قابل اتکا و مطمئن باشند، زیرا تحت هیچ شرایطی حذف نمیشوند و یا تغییر نمیکنند. یکی از پایگاههای داده در این زمینه EventStore میباشد که با .NET نوشته شده است. از کاربردهای این نوع پایگاههای داده میتوان Event Sourcing و تحلیل رفتار کاربر را نام برد.
https://eventstore.org/docs/introduction/4.0.0/
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، بر روی لینک زیر کلیک کنید:
https://ow.ly/7rNP30fxL3o
#علیرضا_وفی (https://ow.ly/Vna930dsUGr)
کانال تلگرام:
@SoftwarePhilosophy
___
https://eventstore.org/docs/introduction/4.0.0/
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، بر روی لینک زیر کلیک کنید:
https://ow.ly/7rNP30fxL3o
#علیرضا_وفی (https://ow.ly/Vna930dsUGr)
کانال تلگرام:
@SoftwarePhilosophy
___
#پست_مجدد این پست تا به حال بیش از ۱۱۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
مدیریت خطا یا Exception Handling صحیح یکی از نکات مهم در کدهای با کیفیت است. در یک کد با کیفیت باید به خطاها فکر کرد و برای آنها در هنگام توسعه تصمیم گرفت. اینکه کجا یک exception را catch کنید و کجا به آن اجازه دهید به لایههای بالاتر رود، اینکه چگونه exception ها را در هم wrap کنید و موارد بسیار دیگر مستقیما روی کیفیت کد شما تاثیر میگذارد.
مقاله زیر در مورد نحوه انجام این کار در Large .NET Projects را شرح دادهاست و مطالعه آن میتواند کمک زیادی به بالا رفتن کد برنامه نویسان کند.
https://www.dotnetcurry.com/patterns-practices/1364/error-handling-dotnet-projects
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، بر روی لینک زیر کلیک کنید:
https://ow.ly/SWJZ30cAalk
#مهران_داودی (https://ow.ly/GwIl309lFEm)
کانال تلگرام:
@SoftwarePhilosophy
___
مقاله زیر در مورد نحوه انجام این کار در Large .NET Projects را شرح دادهاست و مطالعه آن میتواند کمک زیادی به بالا رفتن کد برنامه نویسان کند.
https://www.dotnetcurry.com/patterns-practices/1364/error-handling-dotnet-projects
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، بر روی لینک زیر کلیک کنید:
https://ow.ly/SWJZ30cAalk
#مهران_داودی (https://ow.ly/GwIl309lFEm)
کانال تلگرام:
@SoftwarePhilosophy
___
Dotnetcurry
Error Handling in Large .NET Projects - Best Practices | DotNetCurry
Effective error and exception handling in any kind of an application plays an important role in providing a pleasant experience to the user, when unexpected failures occur. This article talks about some effective error handling strategies that you can use…
Forwarded from Software Philosophy
اگر دوستانی دارید که نه تنها برنامه نویس هستند، بلکه اعتقاد دارید «مهندس نرمافزار» هم هستند، آنها را به کانال @SoftwarePhilosophy دعوت کنید.
این پیغام را برای آنها Forward کنید.
این پیغام را برای آنها Forward کنید.
#پست_مجدد این پست تا به حال بیش از ۱۳۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
مفهوم box model در css یکی مهمترین مفاهیمی است که برنامهنویسان را قادر میسازد چینشهای مختلف مورد نیاز را پیادهسازی کنند. همیشه تنظیم مقدار position با absolute یا relative یا مقادیر دیگر، و یا تنظیم مقدار display با inline یا block برای رسیدن به چینش مورد نظر دردسر دارد، در صورتیکه ندانید آنها چطور کار میکنند. چون نمیدانیم این دو متغییر ساده چطور کار میکنند معمولا شروع به تنظیم شانسی این مقادیر میکنیم تا به چینش مناسب برسیم، اگر برسیم!!
مطلب زیر، مستندی بسیار دقیق در مورد نحوه کار box model در css است و مطالعه آن به تمام کسانی که با css کار میکنند پیشنهاد میشود. این مستند در واقع استانداردی است که توسط کنسرسیوم وب تنظیم شده و تمام مرورگرها موظفند طوری کار کنند که مطابق با این استاندارد باشد.
https://www.w3.org/TR/CSS2/visuren.html
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، بر روی لینک زیر کلیک کنید:
https://ow.ly/VgEs30cHTKm
#مهران_داودی (https://ow.ly/GwIl309lFEm)
کانال تلگرام:
@SoftwarePhilosophy
___
مطلب زیر، مستندی بسیار دقیق در مورد نحوه کار box model در css است و مطالعه آن به تمام کسانی که با css کار میکنند پیشنهاد میشود. این مستند در واقع استانداردی است که توسط کنسرسیوم وب تنظیم شده و تمام مرورگرها موظفند طوری کار کنند که مطابق با این استاندارد باشد.
https://www.w3.org/TR/CSS2/visuren.html
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، بر روی لینک زیر کلیک کنید:
https://ow.ly/VgEs30cHTKm
#مهران_داودی (https://ow.ly/GwIl309lFEm)
کانال تلگرام:
@SoftwarePhilosophy
___
#پست_مجدد این پست تا به حال بیش از ۱۳۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
مفهوم Regex در زبانهای برنامهنویسی برای تشخصی الگوهای متنی بسیار کاربردی است. یکی از مهمترین مشکلات Regex پیچیدگی آن هنگام نوشتن و مهمتر از آن پیچیدگی آن در هنگام نگهداری است. به عبارت دیگر Regex های نوشته شده دارای maintainablity پایینی هستند و نمیتوان آنها را به راحتی تغییر داد.
یکی از پروژههای جذابی که برای رفع این مشکل ساخته شده پروژه Sprache است. این پروژه بر اساس ایدههایی از زبان Haskell ساخته شده که در آن از پیادهسازی Monaidc استفاده شده. فهم عبارات مشابه Regex در این کتابخانه بسیار ساده است. یک نمونه از عبارات ساخته شده توسط این کتابخانه به شکل زیر است:
Parser<string> identifier =
from leading in Parse.WhiteSpace.Many()
from first in Parse.Letter.Once()
from rest in Parse.LetterOrDigit.Many()
from trailing in Parse.WhiteSpace.Many()
select new string(first.Concat(rest).ToArray());
همانطور که میبینید ساخت یک Parser توسط این ابزار بسیار خواناتر است و قابلیت نگهداری بسیار بالاتری دارد.
توضیحات کاملتر و منابع بهتری در مورد این ابزار کاربردی را میتوانید در صفحه گیت این پروژه پیدا کنید.
https://github.com/sprache/Sprache
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، بر روی لینک زیر کلیک کنید:
https://ow.ly/nNwy30cRr07
#مهران_داودی (https://ow.ly/GwIl309lFEm)
کانال تلگرام:
@SoftwarePhilosophy
___
یکی از پروژههای جذابی که برای رفع این مشکل ساخته شده پروژه Sprache است. این پروژه بر اساس ایدههایی از زبان Haskell ساخته شده که در آن از پیادهسازی Monaidc استفاده شده. فهم عبارات مشابه Regex در این کتابخانه بسیار ساده است. یک نمونه از عبارات ساخته شده توسط این کتابخانه به شکل زیر است:
Parser<string> identifier =
from leading in Parse.WhiteSpace.Many()
from first in Parse.Letter.Once()
from rest in Parse.LetterOrDigit.Many()
from trailing in Parse.WhiteSpace.Many()
select new string(first.Concat(rest).ToArray());
همانطور که میبینید ساخت یک Parser توسط این ابزار بسیار خواناتر است و قابلیت نگهداری بسیار بالاتری دارد.
توضیحات کاملتر و منابع بهتری در مورد این ابزار کاربردی را میتوانید در صفحه گیت این پروژه پیدا کنید.
https://github.com/sprache/Sprache
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، بر روی لینک زیر کلیک کنید:
https://ow.ly/nNwy30cRr07
#مهران_داودی (https://ow.ly/GwIl309lFEm)
کانال تلگرام:
@SoftwarePhilosophy
___
GitHub
GitHub - sprache/Sprache: A tiny, friendly, C# parser construction library
A tiny, friendly, C# parser construction library. Contribute to sprache/Sprache development by creating an account on GitHub.
تیم مفهومی است که هسته شکل گیری 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
___
https://www.scrumexpert.com/knowledge/5-steps-to-build-high-performance-agile-teams/
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، بر روی لینک زیر کلیک کنید:
https://ow.ly/VXyA30fDAin
#شراره_لطفی (https://ow.ly/xvC530dx8xL)
کانال تلگرام:
@SoftwarePhilosophy
___
Scrum Agile Project Management Expert
5 Steps to Build High Performance Agile Teams
The concept of team is at the heart of Agile software development and frameworks like Scrum. Forming high performance Agile teams is however not obvious. In this article, Debbie Madden suggests five steps that could bring your software development teams beyond…
#پست_مجدد این پست تا به حال بیش از ۱۱۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
مفهوم Stream API در Java در بسیاری از موارد جایگزین مناسبتری برای حلقهها است. استفاده از stream کمک میکند تا به طور کامل از معماری multi-core استفاده شود. همچنین این نحوه برنامهنویسی باعث میشود قطعات کد بیشتر declarative شوند. از طرفی استفاده از stream ها معایبی هم دارد. در برخی مواقع فهمیدن این کدها و در اکثر مواقع دیباگ کردن آنها سخت است.
ابزار Java Stream Debugger نام پلاگین جدید JetBrains است که به وسلیه آن میتوان کدهای روی stream را که معمولا به صورت chain استفاده میشوند را به راحتی بررسی و دیباگ کرد.
لینک زیر نحوه استفاده از این ابزار را در IntelliJ IDEA نشان میدهد.
https://plugins.jetbrains.com/plugin/9696-java-stream-debugger
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، بر روی لینک زیر کلیک کنید:
https://ow.ly/X3T030de1Dk
#مهران_داودی (https://ow.ly/GwIl309lFEm)
کانال تلگرام:
@SoftwarePhilosophy
___
ابزار Java Stream Debugger نام پلاگین جدید JetBrains است که به وسلیه آن میتوان کدهای روی stream را که معمولا به صورت chain استفاده میشوند را به راحتی بررسی و دیباگ کرد.
لینک زیر نحوه استفاده از این ابزار را در IntelliJ IDEA نشان میدهد.
https://plugins.jetbrains.com/plugin/9696-java-stream-debugger
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، بر روی لینک زیر کلیک کنید:
https://ow.ly/X3T030de1Dk
#مهران_داودی (https://ow.ly/GwIl309lFEm)
کانال تلگرام:
@SoftwarePhilosophy
___
#خلاصه_مطالب «فلسفه نرمافزار» در هفته گذشته:
۱. آشنایی با پایگاه دادهی رویدادی EventStore
#database #eventsource
https://t.iss.one/SoftwarePhilosophy/964
۲. مدیریت خطا یا Exception Handling
#exception #exceptionhandling
https://t.iss.one/SoftwarePhilosophy/966
۳. مفهوم box model در css
#css #boxmodel
https://t.iss.one/SoftwarePhilosophy/969
۴. مفهوم Regex در زبانهای برنامهنویسی
#regex
https://t.iss.one/SoftwarePhilosophy/971
۵. آشنایی با شیوه رسیدن به یک تیم Agile
#agile
https://t.iss.one/SoftwarePhilosophy/972
۶. مفهوم Stream API در Java
#java #stream
https://t.iss.one/SoftwarePhilosophy/974
ـــــــــــ
@SoftwarePhilosophy
۱. آشنایی با پایگاه دادهی رویدادی EventStore
#database #eventsource
https://t.iss.one/SoftwarePhilosophy/964
۲. مدیریت خطا یا Exception Handling
#exception #exceptionhandling
https://t.iss.one/SoftwarePhilosophy/966
۳. مفهوم box model در css
#css #boxmodel
https://t.iss.one/SoftwarePhilosophy/969
۴. مفهوم Regex در زبانهای برنامهنویسی
#regex
https://t.iss.one/SoftwarePhilosophy/971
۵. آشنایی با شیوه رسیدن به یک تیم Agile
#agile
https://t.iss.one/SoftwarePhilosophy/972
۶. مفهوم Stream API در Java
#java #stream
https://t.iss.one/SoftwarePhilosophy/974
ـــــــــــ
@SoftwarePhilosophy
#پست_مجدد این پست تا به حال بیش از ۱۲۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
ذخیره لاگ به صورت ساخت یافته یکی از چالشهای مهم نرمفزارهای نسل جدید است. با استفاده از Serilog میتوان Log های هر نرمافزار را بصورت ساخت یافته ذخیره نمود و در Log ها بصورت ساخت یافته جستجو نمود. از ویژگیهای خوب این کتابخانه امکان ذخیره Log ها در ElasticSearch میباشد که با ابزار Kibana میتوان در Log ها جستجو و آنالیز انجام داد.
در لینک زیر نحوه ذخیره لاگها از طریق Serilog در ElasticSearch و نحوه مشاهده آن در Kibana توضیح داده شده است.
https://mikelindegarde.com/post/2016/11/23/using-serilog-elasticsearch-and-kibana-for-effective-error-logging
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، بر روی لینک زیر کلیک کنید:
https://ow.ly/1IZF30dsVoV
#علیرضا_وفی (https://ow.ly/Vna930dsUGr)
کانال تلگرام:
@SoftwarePhilosophy
___
در لینک زیر نحوه ذخیره لاگها از طریق Serilog در ElasticSearch و نحوه مشاهده آن در Kibana توضیح داده شده است.
https://mikelindegarde.com/post/2016/11/23/using-serilog-elasticsearch-and-kibana-for-effective-error-logging
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، بر روی لینک زیر کلیک کنید:
https://ow.ly/1IZF30dsVoV
#علیرضا_وفی (https://ow.ly/Vna930dsUGr)
کانال تلگرام:
@SoftwarePhilosophy
___
Mikelindegarde
Using Serilog, Elasticsearch 5, and Kibana 5 for Effective Error Logging
Mike Lindegarde... Online - Things I'm likely to forget. - Why use Serilog over NLog
For the longest time I didn't understand why everyone was so excited about
For the longest time I didn't understand why everyone was so excited about
امروزه میتوان از 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
___
این مقاله ضمن ارائه مثال های عملی کمک میکند تا از 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
دیباگ کردن به سبک جغدها
حتما تا به حال برنامهنویسی را دیدهاید که ساعتها «مانند جغد» به مانیتور زل زده و حتی به به کیبورد و ماوس دست نمیزند، ولی ادعا میکند در حال دیباگ کردن (پیدا کردن خطا) برنامه است!
در حقیقت او در حال انجام نوع خاصی از دیباگ به نام Owlly Debugging یا دیباگ کردن به سبک جغدها است.
حقیقت این است که زبانهای برنامهنویسی، تکنولوژیها و پلتفرمهایی وجود دارند که به شما امکانات زیادی برای دیباگ کردن نمیدهند و برنامه نویس برای پیدا کردن خطا چارهای به جز خواندن و حدس خطا ندارد. زبانهای Declarative مانند SQL، تکنیکهایی مانند AOP و مفاهیمی مانند MVVM همگی از این نوع هستند.
https://mehrandvd.me/2016/08/30/owlly-debugging-debugging-like-owl/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
حتما تا به حال برنامهنویسی را دیدهاید که ساعتها «مانند جغد» به مانیتور زل زده و حتی به به کیبورد و ماوس دست نمیزند، ولی ادعا میکند در حال دیباگ کردن (پیدا کردن خطا) برنامه است!
در حقیقت او در حال انجام نوع خاصی از دیباگ به نام Owlly Debugging یا دیباگ کردن به سبک جغدها است.
حقیقت این است که زبانهای برنامهنویسی، تکنولوژیها و پلتفرمهایی وجود دارند که به شما امکانات زیادی برای دیباگ کردن نمیدهند و برنامه نویس برای پیدا کردن خطا چارهای به جز خواندن و حدس خطا ندارد. زبانهای Declarative مانند SQL، تکنیکهایی مانند AOP و مفاهیمی مانند MVVM همگی از این نوع هستند.
https://mehrandvd.me/2016/08/30/owlly-debugging-debugging-like-owl/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
Dot Philosophy
Owlly Debugging: Debugging Like an Owl - Dot Philosophy
Have you ever seen a developer, staring thoughtfully at the monitor for a long moment, not even touching the keyboard and mouse, and still claims that he is debugging some piece of code! It is true, there is some kind of code that could not be debugged line…