#WebApi #AspNetMvc #Proxy #Javascript #CSharp
امروزه سادگی و راحتی استفاده از ASP. NET Web API برای ساخت سرویس های RESTful در بستر دات نت فریم ورک و نیز تطابق کامل آن با الگوها و اصول ASP .NET MVC، سبب محبوبیت و فراگیر شدن آن در بسیاری از پروژه های نرم افزاری شده است. همین امر کافی است تا کتابخانه و پروژه های سورس باز زیادی نیز برای سهولت استفاده از این وب سرویس، تولید و در دسترس قرار گیرند.
یکی از کتابخانه های خوب و مفید، کتابخانه ی ProxyApi است، که همانطور که از نام آن پیداست کار آن تولیدِ خودکارِ پراکسی هایِ جاوااسکریپتی برای اکشن های WebApi و نیز MVC است، تا درسمت کلاینت و در کدهای جاواسکریپت، بدون ذکر Url و داشتن اطلاعات اضافی از نوع متد(get، post و …) آن api را صدا زده و از امکانات آن استفاده نمود. این ویژگی به خصوص برای unit testing و سوویچ بین دیتاسورس های مختلف نیز مفید است:
https://github.com/stevegreatrex/ProxyApi
اطلاعات بیشتر:
https://goo.gl/QuUGry
از دیگر کتابخانه های خوب که علاوه بر پراکسی جاوااسکریپتی، پراکسی C# آن را نیز برای استفاده ی کلاینت ها فراهم میکند، کتابخانه ی WebApiProxy است، که دارای امکاناتی چون code snippet آماده برای سرعت در کدنویسی و نیز قابلیت intellisense برای مشاهده ی اطلاعات مورد نیاز از api مربوطه و ... می باشد:
https://github.com/RestCode/WebApiProxy
بسته های نیوگت هر دو کتابخانه نیز جهت نصب و استفاده ی آسان، موجود هستند.
✅ کانال تخصصی AspNet MVC
https://telegram.me/joinchat/BEv5CTyb2T-NYf2E5RZxfA
امروزه سادگی و راحتی استفاده از ASP. NET Web API برای ساخت سرویس های RESTful در بستر دات نت فریم ورک و نیز تطابق کامل آن با الگوها و اصول ASP .NET MVC، سبب محبوبیت و فراگیر شدن آن در بسیاری از پروژه های نرم افزاری شده است. همین امر کافی است تا کتابخانه و پروژه های سورس باز زیادی نیز برای سهولت استفاده از این وب سرویس، تولید و در دسترس قرار گیرند.
یکی از کتابخانه های خوب و مفید، کتابخانه ی ProxyApi است، که همانطور که از نام آن پیداست کار آن تولیدِ خودکارِ پراکسی هایِ جاوااسکریپتی برای اکشن های WebApi و نیز MVC است، تا درسمت کلاینت و در کدهای جاواسکریپت، بدون ذکر Url و داشتن اطلاعات اضافی از نوع متد(get، post و …) آن api را صدا زده و از امکانات آن استفاده نمود. این ویژگی به خصوص برای unit testing و سوویچ بین دیتاسورس های مختلف نیز مفید است:
https://github.com/stevegreatrex/ProxyApi
اطلاعات بیشتر:
https://goo.gl/QuUGry
از دیگر کتابخانه های خوب که علاوه بر پراکسی جاوااسکریپتی، پراکسی C# آن را نیز برای استفاده ی کلاینت ها فراهم میکند، کتابخانه ی WebApiProxy است، که دارای امکاناتی چون code snippet آماده برای سرعت در کدنویسی و نیز قابلیت intellisense برای مشاهده ی اطلاعات مورد نیاز از api مربوطه و ... می باشد:
https://github.com/RestCode/WebApiProxy
بسته های نیوگت هر دو کتابخانه نیز جهت نصب و استفاده ی آسان، موجود هستند.
✅ کانال تخصصی AspNet MVC
https://telegram.me/joinchat/BEv5CTyb2T-NYf2E5RZxfA
GitHub
stevegreatrex/ProxyApi
A project to auto-generate JavaScript proxies for MVC and WebApi controllers - stevegreatrex/ProxyApi
#Xamarin #EntityFramework #EFCore
استفاده از Entity Framework در پروژه های Xamarin
تکنولوژی Entity Framework سالهاست محبوبیت زیادی میان توسعه دهندگانِ دات نت پیدا کرده است. مزایای متعدد و راحتی کار با این ORM سبب شده است که توسعه دهندگان زامارین نیز به فکر استفاده از این تکنولوژی در پروژه های خود باشند. خوشبختانه این امکان با استفاده از Entity Framework Core و پروایدر SQLite آن وجود دارد. مقاله ی زیر به شرح نحوه ی استفاده از این ORM محبوب در یک پروژه ی Xamarin.Android می پردازد و تمامی مراحل را از ابتدا گام به گام به تصویر کشیده است:
https://www.jon-douglas.com/2016/12/28/xamarin-android-entity-framework/
✅ کانال تخصصی AspNet MVC
https://telegram.me/joinchat/BEv5CTyb2T-NYf2E5RZxfA
استفاده از Entity Framework در پروژه های Xamarin
تکنولوژی Entity Framework سالهاست محبوبیت زیادی میان توسعه دهندگانِ دات نت پیدا کرده است. مزایای متعدد و راحتی کار با این ORM سبب شده است که توسعه دهندگان زامارین نیز به فکر استفاده از این تکنولوژی در پروژه های خود باشند. خوشبختانه این امکان با استفاده از Entity Framework Core و پروایدر SQLite آن وجود دارد. مقاله ی زیر به شرح نحوه ی استفاده از این ORM محبوب در یک پروژه ی Xamarin.Android می پردازد و تمامی مراحل را از ابتدا گام به گام به تصویر کشیده است:
https://www.jon-douglas.com/2016/12/28/xamarin-android-entity-framework/
✅ کانال تخصصی AspNet MVC
https://telegram.me/joinchat/BEv5CTyb2T-NYf2E5RZxfA
#Xamarin
هر آنچه که توسعه دهندگان زامارین برای شروع در سال 2017 باید بدانند
قبلا طی چندین پست، به معرفی پلتفرم زامارین و نیز ذکر منابع و ریسورس های مفید جهت یادگیری و آموزش آن پرداختیم:
✅ زامارین چیست؟
https://t.iss.one/IranAspMvc/16
✅ معرفی چند پروژه ی سورس باز با زامارین
https://t.iss.one/IranAspMvc/236
✅ مقایسه ی زامارین با کوردوا
https://t.iss.one/IranAspMvc/284
✅ افزونه های مفید برای زامارین در ویژوال استودیو
https://t.iss.one/IranAspMvc/326
✅ معرفی نسخه ی موبایل پروژه ی سورس باز BikeSharing360 با زامارین
https://t.iss.one/IranAspMvc/328
✅ استفاده از Entity Framework در پروژه های Xamarin
https://t.iss.one/IranAspMvc/332
آقای James Montemagno طی پست جالبی در وبلاگ خود، لیست مختصر و بسیار مفیدی را از هرآنچه که یک توسعه دهنده ی زامارین باید بداند، تهیه کرده است. همچنین دسته بندی خوبی به جهت میزان اهمیت مباحث و نوع پلتفرم(اندروید و iOS) ارائه کرده است که در نوع خود جالب توجه و کاراست:
https://motzcod.es/post/155770642197/what-xamarin-developers-ought-to-know-to-start-2017
✳️ لازم یه ذکر است که این مقاله الهام گرفته از پست اخیر وبلاگ اسکات هنسلمن تحت عنوان "هرآنچه که توسعه دهندگان دات نت برای شروع در سال 2017 باید بدانند" می باشد، که مطالعه ی آن نیز به شدت توصیه می شود:
https://www.hanselman.com/blog/WhatNETDevelopersOughtToKnowToStartIn2017.aspx
✅ کانال تخصصی AspNet MVC
https://telegram.me/joinchat/BEv5CTyb2T-NYf2E5RZxfA
هر آنچه که توسعه دهندگان زامارین برای شروع در سال 2017 باید بدانند
قبلا طی چندین پست، به معرفی پلتفرم زامارین و نیز ذکر منابع و ریسورس های مفید جهت یادگیری و آموزش آن پرداختیم:
✅ زامارین چیست؟
https://t.iss.one/IranAspMvc/16
✅ معرفی چند پروژه ی سورس باز با زامارین
https://t.iss.one/IranAspMvc/236
✅ مقایسه ی زامارین با کوردوا
https://t.iss.one/IranAspMvc/284
✅ افزونه های مفید برای زامارین در ویژوال استودیو
https://t.iss.one/IranAspMvc/326
✅ معرفی نسخه ی موبایل پروژه ی سورس باز BikeSharing360 با زامارین
https://t.iss.one/IranAspMvc/328
✅ استفاده از Entity Framework در پروژه های Xamarin
https://t.iss.one/IranAspMvc/332
آقای James Montemagno طی پست جالبی در وبلاگ خود، لیست مختصر و بسیار مفیدی را از هرآنچه که یک توسعه دهنده ی زامارین باید بداند، تهیه کرده است. همچنین دسته بندی خوبی به جهت میزان اهمیت مباحث و نوع پلتفرم(اندروید و iOS) ارائه کرده است که در نوع خود جالب توجه و کاراست:
https://motzcod.es/post/155770642197/what-xamarin-developers-ought-to-know-to-start-2017
✳️ لازم یه ذکر است که این مقاله الهام گرفته از پست اخیر وبلاگ اسکات هنسلمن تحت عنوان "هرآنچه که توسعه دهندگان دات نت برای شروع در سال 2017 باید بدانند" می باشد، که مطالعه ی آن نیز به شدت توصیه می شود:
https://www.hanselman.com/blog/WhatNETDevelopersOughtToKnowToStartIn2017.aspx
✅ کانال تخصصی AspNet MVC
https://telegram.me/joinchat/BEv5CTyb2T-NYf2E5RZxfA
#Profiler #Glimpse #Prefix #APM
https://goo.gl/OqsdLX
ابزارهای ضروری برای یافتن باگ ها در محیط توسعه و استقرار
بهترین زمان برای پیدا کردن و رفع باگ ها، زمانی است که آنها را ایجاد میکنیم! همیشه پیدا کردن مشکلات، تولید مجدد و رفع باگ ها پس از تولید یک محصول، کاری سخت و طاقت فرساست و به مراتب موجب صرف زمان و انرژی بیشتری از توسعه دهندگان می شود. بنابراین بهتر است در زمان توسعه، حداکثر تلاش و دقت خود را برای ایجاد کدهای بهینه به کارگیریم و با استفاده از راهکارهایی مناسب، از نتیجه ی مورد انتظارِ هربخش، اطمینان حاصل نماییم.
گاهی ممکن است به تیم و یا پروژه ای که از قبل وجود داشته ملحق شوید، تا در پیدا کردن و رفع باگ ها و یا اضافه کردن ویژگی های جدید به آنها کمک کنید، اما هیچ دیدی نسبت به اینکه قسمت های مختلف کد چه کاری انجام میدهد ندارید. در اینصورت، یکی از راهکارهای بسیار موثر برای درک نحوه ی رفتار بخش های مختلف کُد، شناسایی کوئری های اجرا شده بر روی پایگاه داده، وب سرویس های صدا زده شده و ... استفاده از ابزارهای مونیتورینگ مانند Glimpse ، Miniprofiler و Stackify Prefix است که در پست های گذشته به طور خاص به معرفی Glimpse پرداختیم:
https://t.iss.one/IranAspMvc/22
گاهی نیز برخی از سناریوهای پیش بینی نشده و یا اختلالات پرفرمنسی فقط در زمان استقرار و مواجهه با محیط و اطلاعات واقعی خود را نشان میدهند، که درک علت بروز آن برای توسعه دهندگان بدون استفاده از ابزارهای مونیتورینگ بسیار دشوار و در برخی موارد غیر ممکن است. در چنین شرایطی استفاده از یکی از ابزارهای APM و یا Application Performance Management بسیار مفید است. یک ابزار APM در واقع همانند جعبه سیاه هواپیما عمل میکند و برای مدیریت و مونیتورینگ پرفرمنس برنامه ی در حال اجرا اطلاعات دقیق و متنوعی را فراهم میکند. به عنوان مثال برای شناسایی درخواست هایی که زمانبر هستند و یا پیدا کردن کوئری های حجیم و یا کُندِ SQL و ... مورد استفاده قرار میگیرند.
لینک زیر به معرفی تعدادی از این ابزارها برای زبان های برنامه نویسی مختلف میپردازد که برخی مختص محیط توسعه هستند و برخی روی سرور نیز قابل استفاده می باشند:
https://stackify.com/developer-tools-to-find-bugs-before-production/
✅ کانال تخصصی AspNet MVC
https://telegram.me/joinchat/BEv5CTyb2T-NYf2E5RZxfA
https://goo.gl/OqsdLX
ابزارهای ضروری برای یافتن باگ ها در محیط توسعه و استقرار
بهترین زمان برای پیدا کردن و رفع باگ ها، زمانی است که آنها را ایجاد میکنیم! همیشه پیدا کردن مشکلات، تولید مجدد و رفع باگ ها پس از تولید یک محصول، کاری سخت و طاقت فرساست و به مراتب موجب صرف زمان و انرژی بیشتری از توسعه دهندگان می شود. بنابراین بهتر است در زمان توسعه، حداکثر تلاش و دقت خود را برای ایجاد کدهای بهینه به کارگیریم و با استفاده از راهکارهایی مناسب، از نتیجه ی مورد انتظارِ هربخش، اطمینان حاصل نماییم.
گاهی ممکن است به تیم و یا پروژه ای که از قبل وجود داشته ملحق شوید، تا در پیدا کردن و رفع باگ ها و یا اضافه کردن ویژگی های جدید به آنها کمک کنید، اما هیچ دیدی نسبت به اینکه قسمت های مختلف کد چه کاری انجام میدهد ندارید. در اینصورت، یکی از راهکارهای بسیار موثر برای درک نحوه ی رفتار بخش های مختلف کُد، شناسایی کوئری های اجرا شده بر روی پایگاه داده، وب سرویس های صدا زده شده و ... استفاده از ابزارهای مونیتورینگ مانند Glimpse ، Miniprofiler و Stackify Prefix است که در پست های گذشته به طور خاص به معرفی Glimpse پرداختیم:
https://t.iss.one/IranAspMvc/22
گاهی نیز برخی از سناریوهای پیش بینی نشده و یا اختلالات پرفرمنسی فقط در زمان استقرار و مواجهه با محیط و اطلاعات واقعی خود را نشان میدهند، که درک علت بروز آن برای توسعه دهندگان بدون استفاده از ابزارهای مونیتورینگ بسیار دشوار و در برخی موارد غیر ممکن است. در چنین شرایطی استفاده از یکی از ابزارهای APM و یا Application Performance Management بسیار مفید است. یک ابزار APM در واقع همانند جعبه سیاه هواپیما عمل میکند و برای مدیریت و مونیتورینگ پرفرمنس برنامه ی در حال اجرا اطلاعات دقیق و متنوعی را فراهم میکند. به عنوان مثال برای شناسایی درخواست هایی که زمانبر هستند و یا پیدا کردن کوئری های حجیم و یا کُندِ SQL و ... مورد استفاده قرار میگیرند.
لینک زیر به معرفی تعدادی از این ابزارها برای زبان های برنامه نویسی مختلف میپردازد که برخی مختص محیط توسعه هستند و برخی روی سرور نیز قابل استفاده می باشند:
https://stackify.com/developer-tools-to-find-bugs-before-production/
✅ کانال تخصصی AspNet MVC
https://telegram.me/joinchat/BEv5CTyb2T-NYf2E5RZxfA
#EntityFramework #Migration #EF
یکی از امکانات خوب Entity Framework Code First ویژگی مایگریشن (Migration) است که قابلیت همگام سازیِ کلاس های مدلِ برنامه را با پایگاه داده فراهم میکند، از جمله فواید این کار، نگهداری تاریخچه ای از تغییرات اعمال شده روی پایگاه داده است تا در صورتِ لزوم، امکان بازگشت به عقب و یا به یک مایگریشن خاص نیز مهیا باشد.
اما گاهی در برخی موارد پس از پیشرفت پروژه و بزرگ شدن آن، با تعداد زیادی از فایل های مایگریشن رو به رو هستیم، که ممکن است موجب شلوغی و سردرگمی شود و با توجه به تثبت وضعیت پایگاه داده نیازی به نگهداری تمامی آن ها به صورت جداگانه نباشد. خوشبختانه در چنین مواردی امکان حذف و تبدیل تمام مایگریشن ها به تنها یک کلاس مایگریشن، بدون از دست رفتن اطلاعات پایگاه داده وجود دارد.
لینک زیر این مراحل را در چند گام توضیح می دهد:
https://goo.gl/6crh8b
⚠️ توجه کنید که پیش از انجام مراحل گفته شده، از داشتن پشتیبان از پروژه و نیز پایگاه داده ی خود اطمینان حاصل کنید تا در صورت بروز هر گونه مشکلِ پیش بینی نشده، بتوانید به وضعیت قبل بازگردید.
✅ کانال تخصصی AspNet MVC
https://telegram.me/joinchat/BEv5CTyb2T-NYf2E5RZxfA
یکی از امکانات خوب Entity Framework Code First ویژگی مایگریشن (Migration) است که قابلیت همگام سازیِ کلاس های مدلِ برنامه را با پایگاه داده فراهم میکند، از جمله فواید این کار، نگهداری تاریخچه ای از تغییرات اعمال شده روی پایگاه داده است تا در صورتِ لزوم، امکان بازگشت به عقب و یا به یک مایگریشن خاص نیز مهیا باشد.
اما گاهی در برخی موارد پس از پیشرفت پروژه و بزرگ شدن آن، با تعداد زیادی از فایل های مایگریشن رو به رو هستیم، که ممکن است موجب شلوغی و سردرگمی شود و با توجه به تثبت وضعیت پایگاه داده نیازی به نگهداری تمامی آن ها به صورت جداگانه نباشد. خوشبختانه در چنین مواردی امکان حذف و تبدیل تمام مایگریشن ها به تنها یک کلاس مایگریشن، بدون از دست رفتن اطلاعات پایگاه داده وجود دارد.
لینک زیر این مراحل را در چند گام توضیح می دهد:
https://goo.gl/6crh8b
⚠️ توجه کنید که پیش از انجام مراحل گفته شده، از داشتن پشتیبان از پروژه و نیز پایگاه داده ی خود اطمینان حاصل کنید تا در صورت بروز هر گونه مشکلِ پیش بینی نشده، بتوانید به وضعیت قبل بازگردید.
✅ کانال تخصصی AspNet MVC
https://telegram.me/joinchat/BEv5CTyb2T-NYf2E5RZxfA
West-Wind
Rick Strahl
Life, Code, Surf and everything in between
#Xamarin #Xamarin_Form
اضافه شدن قالب های جدید برای پروژه های Xamarin.Forms در ریلیز Cycle 9 نسخه ی RC :
* Carousel Page
* List View Page
* Map Page
* Tabbed Page
https://motzcod.es/post/156373777552/new-xamarin-forms-item-templates
✅ کانال تخصصی AspNet MVC
https://telegram.me/joinchat/BEv5CTyb2T-NYf2E5RZxfA
اضافه شدن قالب های جدید برای پروژه های Xamarin.Forms در ریلیز Cycle 9 نسخه ی RC :
* Carousel Page
* List View Page
* Map Page
* Tabbed Page
https://motzcod.es/post/156373777552/new-xamarin-forms-item-templates
✅ کانال تخصصی AspNet MVC
https://telegram.me/joinchat/BEv5CTyb2T-NYf2E5RZxfA
MotzCod.es by James Montemagno
New Xamarin.Forms Item Templates!!
I just installed the latest RC for Cycle 9 and was extremely surprised and happy to find some brand new Item Templates for Xamarin.Forms including:
• Carousel Page
• List View Page
• Map Page
• Tabbed...
• Carousel Page
• List View Page
• Map Page
• Tabbed...
Faranesh | فرانش
🤔 هر دانشی، تخصص محسوب نمیشه. ما در همه چیز متخصص نیستیم! #farafun 📽 @faraneshcom
مشکل بزرگ ما برنامه نویسا 😐
Forwarded from طراحی و توسعه وب
💐 بیش از 78 کامپوننت رابط کاربری با ده ها تم مختلف برای انگولار دو
رایگان و متن باز!
https://goo.gl/Vpl8co
#Angular #UI
رایگان و متن باز!
https://goo.gl/Vpl8co
#Angular #UI
#Xamarin #Xamarin_Form #Realm #SQLite
استفاده از پایگاه داده Realm در پروژه های زامارین
امروزه استفاده از پایگاه داده در اپلیکیشن های موبایل، جهت دسترسیِ آفلاین به داده ها و نیز پرفرمنسِ بهتر، تقریبا جزء نیازهای اساسی اکثرِ اپلیکیشن ها محسوب می شود. SQLite از دیتابیس های معروف و شناخته شده در این زمینه است، که در زامارین نیز امکان استفاده از آن وجود دارد.
یکی دیگر از انواع پایگاه داده که از ویژگی های خوب و بارزِ آن میتوان به سرعت بالا و راحتی استفاده از آن اشاره کرد، پایگاه داده ی Realm است.
در مقاله ی زیر نحوه ی استفاده از این پایگاه داده در یک پروژه ی زامارین فرم توضیح داده شده است:
https://mobileprogrammerblog.wordpress.com/2017/03/01/realm-database-with-xamarin-forms/
✅ کانال تخصصی AspNet MVC
https://telegram.me/joinchat/BEv5CTyb2T-NYf2E5RZxfA
استفاده از پایگاه داده Realm در پروژه های زامارین
امروزه استفاده از پایگاه داده در اپلیکیشن های موبایل، جهت دسترسیِ آفلاین به داده ها و نیز پرفرمنسِ بهتر، تقریبا جزء نیازهای اساسی اکثرِ اپلیکیشن ها محسوب می شود. SQLite از دیتابیس های معروف و شناخته شده در این زمینه است، که در زامارین نیز امکان استفاده از آن وجود دارد.
یکی دیگر از انواع پایگاه داده که از ویژگی های خوب و بارزِ آن میتوان به سرعت بالا و راحتی استفاده از آن اشاره کرد، پایگاه داده ی Realm است.
در مقاله ی زیر نحوه ی استفاده از این پایگاه داده در یک پروژه ی زامارین فرم توضیح داده شده است:
https://mobileprogrammerblog.wordpress.com/2017/03/01/realm-database-with-xamarin-forms/
✅ کانال تخصصی AspNet MVC
https://telegram.me/joinchat/BEv5CTyb2T-NYf2E5RZxfA
Wordpress
Realm database with Xamarin Forms
Realm database with Xamarin Forms Short introduction Database in mobile app – sounds familiar? Of course! This element is crucial nowadays. Many applications require access to database and it…
تکنولوژی هایی که در سال 2017 باید دنبال کنید!
در دنیای توسعه، سرعت بالای تغییر و تحولات امکان یادگیری و دنبال کردن تمامی تکنولوژی ها، ابزارها، زبان ها و ... را سخت و تقریبا غیر ممکن کرده است. از طرفی نادیده گرفتنِ برخی از مهم ترینِ آن ها (مانند دات نت کور، نود جی اس، داکِر، تایپ اسکریپت، زامارین و ...) یعنی عقب ماندن از قافله ی تکنولوژی های روز که نمیتوان و نباید از آن ها چشم پوشید. در لینک زیر نگارنده به سلیقه ی خود لیستی از تکنولوژی هایی که باید در سال 2017 نگاهی ویژه به آن ها داشت را تهیه کرده است:
https://weblogs.asp.net/ricardoperes/technologies-to-follow-in-2017
✅ کانال تخصصی AspNet MVC
https://telegram.me/joinchat/BEv5CTyb2T-NYf2E5RZxfA
در دنیای توسعه، سرعت بالای تغییر و تحولات امکان یادگیری و دنبال کردن تمامی تکنولوژی ها، ابزارها، زبان ها و ... را سخت و تقریبا غیر ممکن کرده است. از طرفی نادیده گرفتنِ برخی از مهم ترینِ آن ها (مانند دات نت کور، نود جی اس، داکِر، تایپ اسکریپت، زامارین و ...) یعنی عقب ماندن از قافله ی تکنولوژی های روز که نمیتوان و نباید از آن ها چشم پوشید. در لینک زیر نگارنده به سلیقه ی خود لیستی از تکنولوژی هایی که باید در سال 2017 نگاهی ویژه به آن ها داشت را تهیه کرده است:
https://weblogs.asp.net/ricardoperes/technologies-to-follow-in-2017
✅ کانال تخصصی AspNet MVC
https://telegram.me/joinchat/BEv5CTyb2T-NYf2E5RZxfA
weblogs.asp.net
Technologies to Follow in 2017
IntroductionA lot is happening and it’s difficult to keep track of everything. Based on my work and on what I see over the Internet, I decided to write a post about the technologies – tools, …
انتخابِ نامِ مناسب برای قسمت های مختلف کد، از اهمیت زیادی برخوردار است و نقش بزرگی در فهمِ عملکردِ صحیح آن بخش از کد بازی میکند.
نام متغیرها، کلاس ها، متدها و ... به خواننده کمک می کند تا بفهمد هر قسمت از کد چه کاری انجام میدهد. حتی اگر کدهای ما دارای مستندات کاملی نیز باشد، نام مناسب تاثیر بیشتری در درکِ عملکرد و کارایی کدها دارد.
مقاله ی زیر ابتدا به توضیح چگونگیِ جلوگیری از انتخاب نام های نامناسب میپردازد و سپس نحوه ی نامگذاری صحیح را نیز بیان میکند:
https://simpleprogrammer.com/2017/02/22/choose-good-names-code/
✅ کانال تخصصی AspNet MVC
https://telegram.me/joinchat/BEv5CTyb2T-NYf2E5RZxfA
نام متغیرها، کلاس ها، متدها و ... به خواننده کمک می کند تا بفهمد هر قسمت از کد چه کاری انجام میدهد. حتی اگر کدهای ما دارای مستندات کاملی نیز باشد، نام مناسب تاثیر بیشتری در درکِ عملکرد و کارایی کدها دارد.
مقاله ی زیر ابتدا به توضیح چگونگیِ جلوگیری از انتخاب نام های نامناسب میپردازد و سپس نحوه ی نامگذاری صحیح را نیز بیان میکند:
https://simpleprogrammer.com/2017/02/22/choose-good-names-code/
✅ کانال تخصصی AspNet MVC
https://telegram.me/joinchat/BEv5CTyb2T-NYf2E5RZxfA
Simple Programmer
How to Choose Good Names in Code - Simple Programmer
Naming your code is almost as important as naming your children. Luckily, there are guides on how to do both. This one is for the former.
قابلیت های جدید C#7
1- قابلیت Out variables
تعریف متغیر های out به هنگام پاس دادن به متد جهت سادگی و زیبایی بیشتر کد
@IranAspMvc
1- قابلیت Out variables
تعریف متغیر های out به هنگام پاس دادن به متد جهت سادگی و زیبایی بیشتر کد
@IranAspMvc
قابلیت های جدید C#7
2- قابلیت Pattern Matching (الگوی Type)
استفاده از عملگر is به همراه چک کردن type و cast کردن و مقداردهی متغیر به یک شی جدید جهت محاسبات بعدی
@IranAspMvc
2- قابلیت Pattern Matching (الگوی Type)
استفاده از عملگر is به همراه چک کردن type و cast کردن و مقداردهی متغیر به یک شی جدید جهت محاسبات بعدی
@IranAspMvc
قابلیت های جدید C#7
2- قابلیت Pattern Matching (الگوی Case Filters)
چک کردن نوع متغیر و شرط گذاری بر روی آن توسط عملگر when در switch case
@IranAspMvc
2- قابلیت Pattern Matching (الگوی Case Filters)
چک کردن نوع متغیر و شرط گذاری بر روی آن توسط عملگر when در switch case
@IranAspMvc
کاغذ دیواریهای Bing با تقویم شمسی | PersianBingCalendar
https://goo.gl/KlORhh
این برنامه آخرین تصاویر موتور جستجوی Bing را دریافت کرده، سپس تقویم شمسی ماه را به همراه تعطیلات رسمی آن، بر روی این تصویر ترسیم کرده و در آخر آنرا به عنوان Wallpaper ویندوز، به صورت خودکار تنظیم میکند.
سورس پروژه (نوشته شده توسط وحید نصیری) :
https://github.com/VahidN/PersianBingCalendar
@IranAspMvc
https://goo.gl/KlORhh
این برنامه آخرین تصاویر موتور جستجوی Bing را دریافت کرده، سپس تقویم شمسی ماه را به همراه تعطیلات رسمی آن، بر روی این تصویر ترسیم کرده و در آخر آنرا به عنوان Wallpaper ویندوز، به صورت خودکار تنظیم میکند.
سورس پروژه (نوشته شده توسط وحید نصیری) :
https://github.com/VahidN/PersianBingCalendar
@IranAspMvc
#Repository #Pattern
اشتباهات رایج در استفاده از الگوی Repository
یکی از مباحثِ جذاب برای برنامه نویسان، استفاده از الگوهای طراحی برای نظم دادن به کدها و استفاده از مزایای متعدد آن در امر توسعه است. از رایج ترین الگوها که بیشتر در کدهای برنامه نویسان به چشم میخورد، الگوی ریپازیتوری است. با این وجود، نداشتن درک درست از این الگو سبب بُروز اشتباهاتی در نحوه ی استفاده از آن می شود. چند اشتباه رایج در استفاده از این الگو که باید از آنها اجتناب کرد:
- ریپازیتوری هایی که کلاس های dto یا view model برمیگردانند.
- استفاده از متد Save داخل ریپازیتوری.
- ریپازیتوری هایی که خروجی متدهای آن از نوع IQueryable است.
لینک زیر دلایل اشتباه بودن این موارد را به طور کامل شرح میدهد:
https://programmingwithmosh.com/entity-framework/common-mistakes-with-the-repository-pattern/
✅ کانال تخصصی AspNet MVC
https://telegram.me/joinchat/BEv5CTyb2T-NYf2E5RZxfA
اشتباهات رایج در استفاده از الگوی Repository
یکی از مباحثِ جذاب برای برنامه نویسان، استفاده از الگوهای طراحی برای نظم دادن به کدها و استفاده از مزایای متعدد آن در امر توسعه است. از رایج ترین الگوها که بیشتر در کدهای برنامه نویسان به چشم میخورد، الگوی ریپازیتوری است. با این وجود، نداشتن درک درست از این الگو سبب بُروز اشتباهاتی در نحوه ی استفاده از آن می شود. چند اشتباه رایج در استفاده از این الگو که باید از آنها اجتناب کرد:
- ریپازیتوری هایی که کلاس های dto یا view model برمیگردانند.
- استفاده از متد Save داخل ریپازیتوری.
- ریپازیتوری هایی که خروجی متدهای آن از نوع IQueryable است.
لینک زیر دلایل اشتباه بودن این موارد را به طور کامل شرح میدهد:
https://programmingwithmosh.com/entity-framework/common-mistakes-with-the-repository-pattern/
✅ کانال تخصصی AspNet MVC
https://telegram.me/joinchat/BEv5CTyb2T-NYf2E5RZxfA
Programming with Mosh
4 Common Mistakes with the Repository Pattern - Programming with Mosh
UPDATE (Nov 5 2018): While you’re here to become a better C# developer, I strongly recommend you to watch my Python tutorial on YouTube. Python is super-hot these days. It’s the number one language employers are looking for and gives you 4x more job opportunities…
ا✅ NET Framework 4.7. منتشر شد
https://blogs.msdn.microsoft.com/dotnet/2017/04/05/announcing-the-net-framework-4-7/
کانال تخصصی AspNet MVC
https://telegram.me/joinchat/BEv5CTyb2T-NYf2E5RZxfA
https://blogs.msdn.microsoft.com/dotnet/2017/04/05/announcing-the-net-framework-4-7/
کانال تخصصی AspNet MVC
https://telegram.me/joinchat/BEv5CTyb2T-NYf2E5RZxfA
تم های زیبا و متنوع برای Bootstrap به صورت رایگان
https://bootswatch.com/
سورس پروژه
https://github.com/thomaspark/bootswatch
@IranAspMvc
https://bootswatch.com/
سورس پروژه
https://github.com/thomaspark/bootswatch
@IranAspMvc
#Interface #Pattern #DI
از اینترفیس ها بیش از حد استفاده نکنید!
یکی از نشانه های برنامه نویسانِ بزرگ و حرفه ای، استفاده ی به جا، مناسب و به دور از اغراق، از مفاهیم و الگوهای برنامه نویسی است. هدف همه ی ما، داشتن کدی تمیز و خوانا، با قابلیت نگهداری بالا و امکانِ استفاده ی مجدد است .
خوشبختانه اینترفیس ها (Interface)، تحققِ بسیاری از این موارد را برایمان ممکن کرده اند. مخصوصا وقتی صحبت از تزریق وابستگی ها (Dependency Injection) و یا انجام آزمون های واحد (Unit Testing) به میان می آید، بدون کوچکترین تعلل به سراغ تعریف اینترفیس به ازای تک تک کلاس ها می رویم. اما آیا واقعا در تمامی موارد و سناریوها نیاز به تعریف این اینترفیس ها داریم؟!
اگر شما هم از آن دسته از برنامه نویسانی هستید، که عادت به تعریف اینترفیس ها و پیچیده کردنِ روال، بدون در نظر گرفتن و ارزیابیِ شرایطِ موجود را دارید، مطالعه ی مقاله ی زیر شاید موجب تجدید نظر در این دیدگاه شود:
https://blog.hovland.xyz/2017-04-22-stop-overusing-interfaces/
✅ کانال تخصصی AspNet MVC
https://telegram.me/joinchat/BEv5CTyb2T-NYf2E5RZxfA
از اینترفیس ها بیش از حد استفاده نکنید!
یکی از نشانه های برنامه نویسانِ بزرگ و حرفه ای، استفاده ی به جا، مناسب و به دور از اغراق، از مفاهیم و الگوهای برنامه نویسی است. هدف همه ی ما، داشتن کدی تمیز و خوانا، با قابلیت نگهداری بالا و امکانِ استفاده ی مجدد است .
خوشبختانه اینترفیس ها (Interface)، تحققِ بسیاری از این موارد را برایمان ممکن کرده اند. مخصوصا وقتی صحبت از تزریق وابستگی ها (Dependency Injection) و یا انجام آزمون های واحد (Unit Testing) به میان می آید، بدون کوچکترین تعلل به سراغ تعریف اینترفیس به ازای تک تک کلاس ها می رویم. اما آیا واقعا در تمامی موارد و سناریوها نیاز به تعریف این اینترفیس ها داریم؟!
اگر شما هم از آن دسته از برنامه نویسانی هستید، که عادت به تعریف اینترفیس ها و پیچیده کردنِ روال، بدون در نظر گرفتن و ارزیابیِ شرایطِ موجود را دارید، مطالعه ی مقاله ی زیر شاید موجب تجدید نظر در این دیدگاه شود:
https://blog.hovland.xyz/2017-04-22-stop-overusing-interfaces/
✅ کانال تخصصی AspNet MVC
https://telegram.me/joinchat/BEv5CTyb2T-NYf2E5RZxfA
blog.hovland.xyz
Stop overusing interfaces
Dependency Injection using concrete classes