DotNetZoom
2.96K subscribers
342 photos
18 videos
36 files
606 links
DotNetZoom
💎 Everything about .NET

ارتباط با مدیر و تبلیغات آگهی استخدام:
@mjebrahimi

لینک گروه ASPNET Core:
https://t.iss.one/+ufG25x7lVFgyYTNk
Download Telegram
#Framework #Template #Genesys

فریم ورک Genesys، یک فریم ورک متن باز و کراس پلتفرم برای ساخت اپلیکیشن های MVC، WebAPI و نیز یونیورسال است، که به شما امکان ایجاد یک فریم ورک با قابلیت استفاده ی مجدد و مطابق با پایگاه داده ی موجود و دلخواه را می دهد.

این فریم ورک با پلتفرم و تکنولوژی های زیر سازگار است:
.Net 4.6, MVC 5, WebAPI 2, Entity Framework 6, Universal Windows Platform, Xamarin, C# 6, Html 5, CSS 3, Bootstrap 3, JQuery 3

سایت Genesys Framework :
https://www.getframework.com/

پروژه ی GenesysSource Foundation در گیت هاب:
https://github.com/GenesysSource/Foundation

افزونه ی Genesys Framework Quick-Start for Mvc برای ویژوال استودیو:
https://goo.gl/pe7fjy

@IranAspMvc
#Xamarin #visual_studio #Extension

افزونه های مفید برای زامارین در ویژوال استودیو:

ا✳️ Xamarin.Android Templates Pack
https://goo.gl/xj7gej
این افزونه شامل تمپلیت های آماده ی Xamarin.Android همراه با امکاناتی از قبیل Navigation Drawer ،Menus و ... و نیز پشتیبانی از AppCompat (v7) Material Design می باشد.


ا✳️ Xamarin Forms Templates
https://goo.gl/Ft59vb
یک ورژن جایگزین برای قالب Xamarin.Forms پیش فرض ویژوال استودیو و جهت کاهش خطاهای موجود در زمان ایجاد پروژه است.


ا✳️ Plugin For Xamarin Templates
https://goo.gl/vA0M1G
جهت ساخت قالب و پلاگین اختصاصی خود برای پروژه های زامارین و ویندوز استفاده می شود.


ا✳️ Xamarin.Forms Snippets
https://goo.gl/VOKVVw
مجموعه ای از کد اِسنیپِت های آماده برای زامارین فرم، شامل کد برای نمایش modal message و ... می باشد.

@IranAspMvc
This media is not supported in your browser
VIEW IN TELEGRAM
#زنگ_تفریح
چه عددی بعد از 8 میاد ؟! 😂😂😂

کانال تخصصی AspNet MVC
https://telegram.me/joinchat/BEv5CTyb2T-NYf2E5RZxfA
#Connect #Demo #AspNetCore #Xamarin
https://goo.gl/vAd8jo

Microsoft ❤️ developers

در کنفرانس توسعه دهندگان Connect ، مایکروسافت، از ابزار، سرویس و محصولات جدیدی رونمایی کرد. یکی از اتفاقات خوب در این رویداد، ارائه ی دمو از سناریوی اشتراک گذاری دوچرخه (BikeSharing360) و معرفی معماری و مجموعه ابزارهای استفاده شده در آن است.

خبر خوب اینکه سورس کد این مجموعه شامل وب سایت های پروژه با تکنولوژی ASP .NET Core، اپلیکشن های موبایل شامل نسخه ی مربوط به BikeRider با تکنولوژی Xamarin Forms و نسخه ی مربوط به نگهداری و پشتیبانی آن با تکنولوژی کوردوا و موارد متنوع دیگر به صورت کامل در مخزن گیت هاب قرار گرفته است.

به عنوان نمونه اپلیکشن BikeRider نوشته شده با تکنولوژی زامارین فرم شامل امکانات بسیار خوب و متنوعی همچون Animations ، Converters ، Custom Controls ، Custom Renderers ، Inversion of Control (IoC) pattern ، MVVM pattern ، Messaging Center و بسیاری موارد دیگر می باشد که به خصوص برای آموزش و یادگیری بسیار مفیدند:

https://github.com/Microsoft/BikeSharing360_MobileApps

لیست تمامی پروژه های این مجموعه را که در قالب 7 مخزن مجزا در گیت هاب قرار گرفته، همراه با توضیح مختصر از امکانات و تکنولوژی های استفاده شده در آن، به همراه آدرس مخزن گیت هاب و نیز ویدئوهای مربوطه را در لینک زیر می توانید به صورت یکجا مشاهده کنید:

https://blogs.msdn.microsoft.com/visualstudio/2016/12/14/connectdemos-2016-bikesharing360-on-github/

همچنین توصیه می شود برای تماشای دمویی مختصر از تمامی موارد و امکانات ذکر شده، ویدئوی زیر از سری ویدئوهای Visual Studio Toolbox در Channel9 را از دست ندهید:

https://channel9.msdn.com/Shows/Visual-Studio-Toolbox/Exploring-our-newest-sample-app-BikeSharing360

کانال تخصصی AspNet MVC
https://telegram.me/joinchat/BEv5CTyb2T-NYf2E5RZxfA
This media is not supported in your browser
VIEW IN TELEGRAM
بلاخره یلدا هم ریلیز شد 👍😜😃🌹🌹🌹

کانال تخصصی AspNet MVC
https://telegram.me/joinchat/BEv5CTyb2T-NYf2E5RZxfA
#Technical_Debt #Software_Engineering #معرفی_سایت

بدهی فنی (Technical Debt) چیست؟
بدهی فنی یکی از موارد کلیدی در موفقیت تجاری نرم‌افزارهای توسعه‌داده‌شده است. این اصطلاح توسط وارد کانیگهام در سال ۱۹۹۲ ابداع شد. او چنین چیزی گفت: «انتشار اولین کد مثل بدهکار شدن است. کمی بدهی، سرعت توسعه را بهبود می‌بخشد؛ به شرطی که در اولین فرصت با بازنویسی کد، تسویه شود... خطر زمانی رخ می‌دهد که تسویه نشود. هر دقیقه که صرف کد نامطلوب شود به عنوان بهره تلقی می‌شود. تمامی یک سازمان مهندسی می‌تواند تحت بار بدهی این کد نامستحکم، به حالت توقف کشانده شود.»

تشبیه بدهی فنی ارتباط نزدیکی با بدهی مالی دارد و مربوط به انتشار سریع یک چیز و در نتیجه بدهکار شدن است. بعداً باید این بدهی را با بهبود کیفیت، تسویه کنید و اگر این کار را نکنید مجبور به پرداخت نرخ بهره هستید چون بهره‌وری شما کاهش پیدا می‌کند و توسعه‌تان کند می‌شود.

دلایل بدهی فنی:
- فشار زمانی
- استفاده از یک فناوری جدید برای نخستین بار بدون درک درست از آن
- طراحی اشتباه به دلیل نداشتن شناخت صحیح از نیازمندی های حوزه ی کسب وکار
- پوسیدگی نرم‌افزار

اما بدهی فنی همیشه بد نیست. در واقع بدهی فنی یک راهبرد است. چون می‌توانیم با بدهکار شدن به سرعت به هدف کسب و کار برسیم. بهتر است چیزی را سریع بنویسید و به کاربر برسانید و ببینید که آیا برای کسی مفید است؟ اگر برای کسی مفید است آن وقت است که بدهی فنی را پرداخت می‌کنیم. اگر کد بی‌نقصی برای عملکردی که نمی‌دانیم مفید است یا نه بنویسیم هدر دادن زمان است.

این ها بخشی از صحبت های سوِن یوهان و ابرهارد ولف در مورد بدهی فنی از مجموعه پادکست های صوتی سایت SE Radio است که توسط سایت https://se-topics.ir/ به خوبی ترجمه و در اختیار توسعه دهندگان فارسی زبان قرار داده شده است.
این سایت از جمله سایت های خوب فارسی در حوزه ی مهندسی نرم افزار است و به تهیه ترجمه از پادکست‌های صوتی و تصویری از افراد خبره در این حوزه می پردازد. همچنین در صورت تمایل می توانید به جمع مترجمان این سایت بپیوندید و در ترجمه ی پادکست ها با این سایت همکاری داشته باشید تا مقاله تان با ذکر نام خودتان بر روی سایت قرار گیرد.

متن کامل مقاله:
https://se-topics.ir/topicview?id=54

مطالعه ی بیشتر در مورد بدهی فنی:
https://www.infoq.com/articles/managing-technical-debt

کانال تخصصی AspNet MVC
https://telegram.me/joinchat/BEv5CTyb2T-NYf2E5RZxfA
#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
#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
This media is not supported in your browser
VIEW IN TELEGRAM
#زنگ_تفریح
وقتی دارم کد میزنم و یکی باهام شوخی میکنه 😐 😂😂😂
@IranAspMvc
#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
#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
#EntityFramework #Migration #EF

یکی از امکانات خوب Entity Framework Code First ویژگی مایگریشن (Migration) است که قابلیت همگام سازیِ کلاس های مدلِ برنامه را با پایگاه داده فراهم میکند، از جمله فواید این کار، نگهداری تاریخچه ای از تغییرات اعمال شده روی پایگاه داده است تا در صورتِ لزوم، امکان بازگشت به عقب و یا به یک مایگریشن خاص نیز مهیا باشد.

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

لینک زیر این مراحل را در چند گام توضیح می دهد:
https://goo.gl/6crh8b

⚠️ توجه کنید که پیش از انجام مراحل گفته شده، از داشتن پشتیبان از پروژه و نیز پایگاه داده ی خود اطمینان حاصل کنید تا در صورت بروز هر گونه مشکلِ پیش بینی نشده، بتوانید به وضعیت قبل بازگردید.

کانال تخصصی AspNet MVC
https://telegram.me/joinchat/BEv5CTyb2T-NYf2E5RZxfA
Forwarded from Faranesh | فرانش
This media is not supported in your browser
VIEW IN TELEGRAM
🤔 هر دانشی، تخصص محسوب نمیشه. ما در همه چیز متخصص نیستیم!

#farafun
📽 @faraneshcom
Forwarded from طراحی و توسعه وب
💐 بیش از 78 کامپوننت رابط کاربری با ده ها تم مختلف برای انگولار دو

رایگان و متن باز!
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
تکنولوژی هایی که در سال 2017 باید دنبال کنید!

در دنیای توسعه، سرعت بالای تغییر و تحولات امکان یادگیری و دنبال کردن تمامی تکنولوژی ها، ابزارها، زبان ها و ... را سخت و تقریبا غیر ممکن کرده است. از طرفی نادیده گرفتنِ برخی از مهم ترینِ آن ها (مانند دات نت کور، نود جی اس، داکِر، تایپ اسکریپت، زامارین و ...) یعنی عقب ماندن از قافله ی تکنولوژی های روز که نمیتوان و نباید از آن ها چشم پوشید. در لینک زیر نگارنده به سلیقه ی خود لیستی از تکنولوژی هایی که باید در سال 2017 نگاهی ویژه به آن ها داشت را تهیه کرده است:

https://weblogs.asp.net/ricardoperes/technologies-to-follow-in-2017

کانال تخصصی 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
قابلیت های جدید C#7

1- قابلیت Out variables
تعریف متغیر های out به هنگام پاس دادن به متد جهت سادگی و زیبایی بیشتر کد

@IranAspMvc
قابلیت های جدید C#7

2- قابلیت Pattern Matching (الگوی Type)
استفاده از عملگر is به همراه چک کردن type و cast کردن و مقداردهی متغیر به یک شی جدید جهت محاسبات بعدی

@IranAspMvc