تفاوت دستور Select با SelectMany در LINQ
بسم الله الرحمن الرحیم
تفاوت دستور Select با SelectMany در LINQ
می توانید مقاله آموزش Linq به زبان فارسی را از این قسمت مشاهده کنید.
دو عملگر Select و SelectMany عملگر های projection هستند. عملگر Select برای انتخاب مقادیر از یک مجموعه است اما عملگر SelectMany برای انتخاب مقادیر یک مجموعه از مجموعه دیگر است.
اپراتور یا عملگر Select یک مقدار را به عنوان خروجی به شما می دهد در صورتی که SelectMany یک خروجی شامل مقادیری مرتبط به یکدیگر را به شما ارائه می دهد.
عملا، عملگر SelectMany یک IEnumerable<IEnumerable<T>> در IEnumrable<T> ایجاد می کند. اینطور می توان گفت که، یک لیست که خود این لیست هر عنصرش یک لیست است را از یک مجموعه ایجاد می کند.
آموزش راه اندازی WebSocket
بسم الله الرحمن الرحیم
آموزش راه اندازی WebSocket
این آموزش برای توسعه دهندگانی است که از ASP.NET web form یا ASP.NET MVC استفاده می کنند.
برای دوستانی که از زبان برنامه نویسی PHP استفاده می کنند، آموزشی در خصوص ایجاد یک وب سوکت در PHP، به همراه یک برنامه چت با استفاده از PHP تهیه کردم می توانید از طریق این آدرس این مقاله را مطالعه کنید.
از این بخش می توانید مقاله SignalR را به زبان فارسی مطالعه کنید.
پروتکل webSocket در IIS 8 پشتیبانی می شود
IIS 8.0 در این نسخه معرفی گردیدWebSocket پروتکل
IIS 7.5 پشتیبانی نمی شود
IIS 7.0 پشتیبانی نمی شود
یکی از محدودیت ها در HTTP روش انتقال یک طرفه اطلاعات است. بسیاری از نرم افزارهای web-based امروزی برای کارایی بهتر نیازمند ارتباطی real-time و دو طرفه دارند هستند.
با انتشار (release) Windows Server 2012 و Windows 8 نرم افزار Internet Information Services (IIS) 8.0 قابلیت پشتیبانی از پروتکل WebSocket را به خود اضافه نمود.
پروتکل WebSocket یک استادارد تعریف شده در RFC 6455 می باشد و توسعه دهندگان نرم افزار (بهتر است نگوییم برنامه نویس) می توانند از قابلیت این پروتکل برای ایجاد یک ارتباط دوطرفه مابین کلاینت وسرور در بستر وب ایجاد کنند.
دوره آموزشی SignalR به زبان فارسی
بسم الله الرحمن الرحیم
دوره آموزشی SignalR به زبان فارسی
آموزش SignalR بخش چهارم
بخش پنجم- شروع ایجاد پروژه SignalR
بخش ششم - مروری بر مفاهیم SignalR
بخش هفتم- ایجاد پروژه Chat با SignalR
بخش هشتم - ایجاد پروژه Chat با SignalR در ASP.NET MVC
بخش نهم- ساخت یک Timer سمت سرور با SignalR
بخش دهم - آموزش ساخت یک پروژه SignalR با SQLDepedency در ASP.NET MVC
SignalR از نسخه های مختلف سرور و کلاینت پشتیبانی می کند. در هر روش ارسال و دریافت، نیازمندی های نرم افزاری و سخت افزاری متفاوت است. اگر امکانات و نیازمندی های لازم برای ارسال و دریافت در دسترس نباشد، SignalR به خوبی می تواند از روش های قدیمی استفاده کند. برای اطلاعات بیشتر در خصوص روش های ارسال و دریافت توسط SignalR می توانید به این مقاله مراجعه کنید.
نیازمندی های سرور در SignalR
SignalR می تواند توسط نسخه های مختلف سرور پشتیبانی شود، در این بخش ما اجزا مختلف سرور که مورد نیاز SignalR است را بررسی می کنیم.
سیستم عامل هایی که توسط SignalR پشتیبانی می شوند
چطور می توان یک استایل CSS اختصاصی برای IE نوشت
بسم الله الرحمن الرحیم
حتما شما نیز با کاربرانی که به دلیل آشنا نبودن به مرورگرهای دیگر، از مرورگر قدرتمند IE استفاده می کنند در وب سایت داشته، دارید و خواهید داشت!
خوب به دلیل مشکل کاربران در عدم استفاده از ابزار بهتر شما مجبور هستید که سایت خود را به نحوی برای کاربرانتان تغییر دهید که بتوانند آن را به خوبی مشاهده کنند:
لطفا مقاله "طراحی وب سایت برای مرورگرهای مختلف" را مطالعه کنید.
چطور می توان یک استایل CSS اختصاصی برای IE نوشت؟ Cross-Browser
برای این کار می توانید از روشهای زیر استفاده کنید:
در روش اول کافی است درون تگ head مانند تمامی link هایی که قرار می دهید تگ مربوط به لود کردن استایل IE را نیز قرار دهید اما با چند ویژگی، که می توانید تعیین کنید این استایل برای چه نسخه ای از مرورگر IE است.
شما می توانید با دستور IF تعیین کنید که این استایل فقط برای مرورگرهای IE مورد استفاده قرار گیرد
در دستور IF می توانید از شرطهای منطقی استفاده کنید:
- ! به معنی not است. مثال !IE یعنی برای IE استفاده نشود.
- gt به معنی greater than (بزرگتر از)
- gte به معنی greater than or equal (بزرگتر مساوی)
- lt به معنی less than (کوچکتر از)
- lte به معنی less than or equal (کوچکتر مساوی)
آموزش نرم افزار fiddler
بسم الله الرحمن الرحیم
این مقاله در حال تکمیل شدن است لطفا تا انتشار آن منتظر بمانید
باتشکر
دوره آموزشی SignalR به زبان فارسی
بسم الله الرحمن الرحیم
دوره آموزشی SignalR به زبان فارسی
آموزش SignalR بخش سوم
بخش پنجم- شروع ایجاد پروژه SignalR
بخش ششم - مروری بر مفاهیم SignalR
بخش هفتم- ایجاد پروژه Chat با SignalR
بخش هشتم - ایجاد پروژه Chat با SignalR در ASP.NET MVC
بخش نهم- ساخت یک Timer سمت سرور با SignalR
بخش دهم - آموزش ساخت یک پروژه SignalR با SQLDepedency در ASP.NET MVC
بررسی کردن نقل و انتقال اطلاعات (Monitoring transports)
برای اینکه Event (رویدادهای) hub را در یک مرورگر بررسی کنید بایدlogging را فعال کنید، دستور زیر را اجرا کنید:
$.connection.hub.logging = true;
شما می توانید نقل و انتقالات را برنامه خود را به وسیله فعال کردن logging در hub و همچنین باز نمودن پنجره Console درون مرورگر خود مشخص کنید.
در مرورگر Internet Explorer ابزار Developer Tools را می توایند با زدن F12 باز کنید و به قسمت Console بروید.
بررسی تگهای HTML و CSS در مرورگرهای مختلف
بسم الله الرحمن الرحیم
طبیعتا هر مرورگریی قابلیت پشتیبانی از تمامی عنصرهای HTML و CSS را ندارد برای چک کردن یک تگ و بررسی مرورگرهایی که این تگ قابلیت پشتیبانی دارند می توانید به این آدرس مراجعه کنید.
Cross-Origin Resource Sharing
بسم الله الرحمن الرحیم
تمامی مرورگرها برای دسترسی به منابع از روش و استراتژی خاصی بهره می برند، بر اساس میزان استفاده از این منابع مرورگرها را رتبه بندی می کنند.
در این وب سایت می توانید مرورگرهای مختلف را که بررسی شده اند مشاهده کنید.
برای اطلاعات بیشتر در این زمینه می توانید به این آدرس مراجعه کنید.
نمایش سایت برای مرورگرهای مختلف
بسم الله الرحمن الرحیم
بسیاری از افراد فکر می کنند باید سایت خود را به نحوی طراحی کنند که تمامی مرورگر ها حتی IE نیز بتواند آن را نمایش دهد.
قبل از ادامه دادن به این مقاله لطفا این لینک را مشاهده کنید.
همانظور که مشاهده کردید تنها 8 درصد کاربران از مرورگر IE استفاده می کنند. چرا باید زیبایی و کارایی یک سایت را برای 8 درصد از کاربران حذف
کرد.
ادامه مطلب...دوره آموزشی SignalR به زبان فارسی
بسم الله الرحمن الرحیم
دوره آموزشی SignalR به زبان فارسی
آموزش SignalR بخش دوم
لطفا صبور باشید در بخش های بعد به سراغ برنامه نویسی SignalR برویم.
بخش پنجم- شروع ایجاد پروژه SignalR
بخش ششم - مروری بر مفاهیم SignalR
بخش هفتم- ایجاد پروژه Chat با SignalR
بخش هشتم - ایجاد پروژه Chat با SignalR در ASP.NET MVC
بخش نهم- ساخت یک Timer سمت سرور با SignalR
بخش دهم - آموزش ساخت یک پروژه SignalR با SQLDepedency در ASP.NET MVC
SignalR
SignalR برای انتقال در جاهایی که امکان آن باشد از روش جدید WebSocket استفاده می کند در صورتی که نتواند از این امکان استفاده کند هوشنمندانه از روش های قدیمی استفاده می کند.
مکن است شما بخواهید در برنامه خود که از SignalR استفاده می کنید حتما از روش WebSocket برای انتقال استفاده کنید در این زمان شما باید قابلیتهایی که قبلا برای شما طراحی شده است را پیاده سازی و از آن استفاده کنید.
این خیلی قابلیت مهمی است که شما می توانید با استفاده از ابزار SignalR از مزایای WebSocket برای انتقال اطلاعات استفاده کنید در صورتی که هیچ نگرانی برای پیاده سازی برنامه خود برای کلاینت هایی که قابلیت پشتیبانی WebSocket را ندارند، ندارید و هیچ نیازی به نوشتن ابزار و کد متفاوت برای کلاینت های مختلف نیست.
همچنین با توجه به update شدن و پیشرفت تکنولوژی ها شما هیچ نگرانی در مورد تغییراتی که در آینده ایجاد خواهد شد نخواهید داشت زیرا SignalR از WebSocket به روز رسانی شده پشتیبانی خواهد و این تغییرات در لایه ی انتقال transport اتفاق خواهد افتاد.
هنگامی که شما نیاز دارید برای برنامه خود دقیقا از روش WebSocket استفاده کنید، SignalR قابلیت هایی که شما نیاز خواهید داشت در اختیارتان قرار می دهد، شبیه fallback به دیگر transport ها و یا بازبینی و بررسی برنامه شما برای برزورسانی پیاده سازی WebSocket.
آموزش SignalR
بسم الله الرحمن الرحیم
دوره آموزشی SignalR به زبان فارسی
آموزش SignalR بخش اول
بخش پنجم- شروع ایجاد پروژه SignalR
بخش ششم - مروری بر مفاهیم SignalR
بخش هفتم- ایجاد پروژه Chat با SignalR
بخش هشتم - ایجاد پروژه Chat با SignalR در ASP.NET MVC
بخش نهم- ساخت یک Timer سمت سرور با SignalR
بخش دهم - آموزش ساخت یک پروژه SignalR با SQLDepedency در ASP.NET MVC
دوره آموزشی SignalR
SignalR چیست
ASP.NET SignalR یک کتابخانه برای توسعه دهندگان ASP.NET است تا بتوانند به سادگی یک وب سایت Real Time ایجاد کنند.
قابلیت Real Time ویژگی است که باعث می شود سرور پس از دریافت داده ها آن ها را به کلاینت هایی که در حال حاضر به او متصل هستند ارسال کند، به جای روش های گذشته که سرور پس از ارسال یک درخواست اطلاعات را برای کلاینت می فرستاد در اینجا سرور اطلاعات را به محض دریافت به تمامی کلاینت های قابل دسترس ارسال می کند.
SignalR می تواند در انواع Application های Real Time مورد استفاده قرار گیرد. هنگامی که یک برنامه چت را می خواهید ایجاد کنید می توانید از قابلیت SignalR استفاده کنید.
هر وقت که باید کاربر صفحه را Refresh کند تا اطلاعات جدید را ببیند، یا اطلاعات یک داشبورد را می خواهید لحظه ای نشان دهید، یا صفحاتی مثل داکیومنت ها که می خواهید لحظه به لحظه نمایش داده شود و همچنین ذخیره شود و مانیتوریگ اطلاعات سایت و... همه ی این مسائل را می توانید با استفاده از SignalR انجام دهید.
SignalR همچنین نوع جدیدی از Application هایی که نیازمند بروز رسانی متوالی و دریافت اطلاعات از سمت سرور هستند را می تواند پشتیبانی کند، مثل بازی های آنلاین.
روش های Cache کردن اطلاعات
بسم الله الرحمن الرحیم
همانطور که می دانید دیتابیس های زیاد و متفاوتی وجود دارد که شما می توانید بر اساس نیاز خود از هر یک در مواقع نیاز استفاده کنید.
امروز با یکی از دیتابیس های جدید ارائه شده برای افزایش سرعت در ذخیره سازی اطلاعات شما را آشنا خواهم کرد.
Redis
Redis یک دیتابیس جدید برای ذخیره سازی و Cache کردن اطلاعات با استفاده از key-value است. این روش در واقع یک Structure برای ذخیره اطلاعات است. Redis متن باز (Open Source) است.
خیلی ساده می توانید از طریق لینک زیر نحوه کار با این دیتابیس را آموزش ببینید.
در صورتی که نیاز به آموزش بیشتر است، می توانید پیام دهید تا انشالله آموزش آن را آماده کنم.
وب فونت
بسم الله الرحمن الرحیم
شاید بیشتر شما دوستان عزیز با وب فونت آشنایی داشته باشید، وب فونت درواقع یک روش برای نشان دادن متن های یک وب سایت با قونت های اختصاصی و مورد نظر شما است
همانظور که شما می توانید در نوشتن متن های خود در برنامه Word از فونت های متفاوت استفاده کنید این امکان در وب نیز وجود دارد
گوگل نیز فونت های زیبایی را برای شما البته و طبیعتا فونت های انگلیسی را برای شما طراحی کرده است که متاسفانه منظور از شما در این متن کشور ایران نیست و برای استفاده از این ویژگی به دلیل تحریم بودن باید از نرم افزاری برای تغییر آی پی استفاده کنید
آدرس بخش وب فونت گوگل
گوگل نیز آموزش استفاده از هر فونت را برای شما قرارداده است که اینکار بسیار ساده خواهد بود.
ممکن است شما بخواهید یک فونت که در سیستم خود دارید را در وب استفاده کنید و باید این نکته را مد نظر قرار دهید که وب فونت با فونت های عادی که پسوند ttf دارتد متفاوت است برای تبدیل فونت ttf به فونت وب می توانید از وب سایت های زیر استفاده کنید
http://www.fontsquirrel.com/tools/webfont-generator
برای استفاده از فونت های تولید شده می توایند به صورت زیر عمل کنید
ابتدا فونت را در مسیری مشخص قرار دهید و با دستور CSS زیر فونت ها را به وب سایت خود معرفی کنید
@font-face{ font-family: 'MyWebFont'; src: url('WebFont.eot'); src: url('WebFont.eot?#iefix') format('embedded-opentype'), url('WebFont.woff') format('woff'), url('WebFont.ttf') format('truetype'), url('WebFont.svg#webfont') format('svg'); }
در خط دوم اسم فونت خود را MyWebFont قرار داده ایم حال مانند تمامی فونت های دیگر این فونت را به المان مورد نظر خود انتساب می دهیم
p { font-family: 'MyWebFont', Arial, sans-serif; }
طراحی یک چک باکس زیبا با Css & Html
بسم الله الرحمن الرحیم
در این آموزش یک مثال ساده از طراحی یک چک باکس زیبا برای صفحات وب آموزش خواهید دید
برای مشاهده کد و مثال لطفا اینجا کلیک کنید
آموزش برنامه نویسی آندروید به زبان فارسی
بسم الله الرحمن الرحیم
اندروید و سی شارپ
همان طور که می دانید برنامه نویسی سیستم عامل های موبایل در حال پیشرفت و گسترش بسیار فوق العاده ای است. از همین سو ما تصمیم گرفته ایم تا این آموزش را شروع کنیم.
در حال حاضر دو سیستم عامل IOS و Android بیشترین کاربران را به خود اختصاص داده اند و ما در این دوره آموزشی ابتدا بر روی اندروید کار خواهیم کرد و انشالله سعی خواهیم کرد که پس از این دوره دوره آموزش IOS را نیز شروع کنیم.
اندروید از زبان برنامه نویسی جاوا استفاده می کند و IOS از Objective C استفاده می کند.
در این جا توسعه دهنده گان مایکروسافت باید چه کاری انجام دهند؟
MONO
MONO نام یک Framework است که توسعه چندین Platform را به سادگی برای شما فراهم می کند.
MONO به شما اجازه می دهد که با زبان VB و C# برنامه نویسی کنید. در این دوره ما با MONO برای زبان سی شارپ و Visual Studio آشنا می شویم و نحوه برنامه نویسی برای سیستم عامل Android فراخواهیم گرفت.
با توجه به اینکه ما در این مجموعه تمام آموزش ها را بر پایه ی مثال قرار داده ایم در این دوره نیز کار با مثال شروع می کنیم و سعی می کنیم همراه مثال ها مطالب را به شما آموزش دهیم.
پس از اینکه مقدمات و اساس MONO و اندروید را یاد گرفتید بیشتر به مباحث خواهیم پرداخت در ابتدا فقط مانند یک تکرار کننده سعی می کنیم مثال ها را اجرا می کنیم و یاد می گیریم چطور در این محیط کار کنیم.
در آموزش بعدی ابزار های لازم را نصب و اولین برنامه را خواهیم نوشت.
ساخت Scroll Top
بسم الله الرحمن الرحیم
طبیعتا همه شما دکمه های Top را در کنار صفحات وب سایت ها دیده اید که با کلیک بر روی آن می توانید به بالای سایت باز گردید.
در این آموزش می خواهیم کد این دکمه را در jQuery بنویسیم.
یک صفحه HTML ایجاد کنید و کد jQuery را به صفحه خود اضافه کنید.
jquery-1.8.0.min.js
سپس یک فایل js ایجاد کنید و کد زیر را در آن قرار دهید.
$.fn.scrollView = function () {
return this.each(function () {
$('html, body').animate({
scrollTop: $(this).offset().top
}, 1000);
});
}
با استفاده از این کد ما ظرف مدت زمان یک ثانیه از محلی که بر روی لینک کلیک می کنیم به ابتدای صفحه انتقال پیدا می کنیم.
کد زیر را نیز در همین فایل قرار دهید.
$('#scroll-link').click(function (event) {
event.preventDefault();
$('#header').scrollView();
});
header ای دی element ای است که در ابتدای صفحه قرار می دهیم و می خواهیم پس از کلیک بر روی scroll-link به آن جا انتقال پیدا کنیم
حال این فایل را نیز به صفحه خود اضافه کنید.
در بالای صفحه یک div با id منحصر به فردی ایجاد کنید تا هنگامی که ما بر روی لینک پایین صفحه کلیک می کنیم به این div لینک شود.
<div id="header"></div>
در پایین صفحه یک تگ a به صورت زیر اضافه کنید
<a href="#" id="scroll-link">TOP</a>
در نهایت صفحه خود را با مطلبی پر کنید تا اسکرول آن نمایش داده شود
کد این آموزش را می توانید از این جا دانلود کنید.
پسورد فایل
EduOnline.ir
دانلود jQuery Scroll bar
حجم: 32.7 کیلوبایت
نحوه بدست آوردن تمامی Action و Controller های یک پروژه MVC
بسم الله الرحمن الرحیم
ممکن است شما بخواهید در یک پروژه MVC لیست تمامی کنترلر ها و اکشن های پروژه خود بدست آورید.
در اینجا یک Extension متد نوشته ام که می توانید به سادگی لیست تمامی کنتترلرهای برنامه خود را بدست اورید:
اگر با متدهای توسعه یا همان Extension متد آشنایی ندارید، این مطلب را بخوانید
public static List<string> GetControllerNames(this System.Web.Mvc.Controller controller)
{
try
{
List<string> controllerNames = new List<string>();
GetSubClasses<System.Web.Mvc.Controller>().ForEach(
type => controllerNames.Add(type.Name));
return controllerNames;
}
catch (Exception exception)
{
throw new Exception(exception.Message);
}
}
برای استفاده از این کنترلر کافی است به صورت زیر عمل کتید
List<string> listController = Controller.GetControllerNames();
ممکن است بخواهید لیست اکشن های یک کنترلر را نیز بدست آورید برای این کار نیز یک متد دیگر نوشته ام که اینکار را برای شما انجام می دهد
public static List<string> ActionNames(string controllerName)
{
try
{
var types =
from assemblies in AppDomain.CurrentDomain.GetAssemblies()
from assembliesTypes in assemblies.GetTypes()
where typeof(System.Web.Mvc.IController).IsAssignableFrom(assembliesTypes) &&
string.Equals(controllerName + "Controller", assembliesTypes.Name, StringComparison.OrdinalIgnoreCase)
select assembliesTypes;
var controllerType = types.FirstOrDefault();
if (controllerType == null)
{
return Enumerable.Empty<string>().ToList();
}
return new System.Web.Mvc.ReflectedControllerDescriptor(controllerType)
.GetCanonicalActions().Select(x => x.ActionName)
.ToList();
}
catch (Exception exception)
{
throw new Exception(exception.Message);
}
}
برای استفاده از این متد باید به صورت زیر عمل کنید:
List<string> listAction = ActionNames("AccountController");
انشالله که مفید واقع شود.
فعال کردن قابلیت Remote به SQL Server
بسم الله الرحمن الرحیم
ممکن است شما بخواهید بر روی SQL Server خود این امکان را قرار دهید تا بتوانید بیرون از سرور به SQL Server دسترسی داشته باشید.
برای این کار چند لینک مفید را به شما معرفی می کنم
http://msdn.microsoft.com/en-us/library/cc646023.aspx
http://cs.thomsonreuters.com/ua/toolbox/cs_us_en/kb/k73037522.htm
http://www.mssqltips.com/sqlservertip/1929/configure-windows-firewall-to-work-with-sql-serve
آموزش برنامه نویسی آندروید
بسم الله الرحمن الرحیم
معرفی دوره آموزش برنامه نویسی آندروید
با توجه به پیشنهاد شما دوستان عزیز در خصوص آموزش برنامه نویسی اندروید به زبان فارسی، می خواهیم در طی یک دوره آموزشی کامل، به آموزش برنامه نویسی اندروید با استفاده از سی شارپ و Mono بپردازیم.
در این دوره ابتدا به بررسی مفاهیم می پردازیم و سپس شروع به برنامه نویسی در محیط Visual Studio و با استفاده زبان سی شارپ خواهیم کرد.
آموزش ما بر اساس سرفصل های مجموعه آموزشی آنلاین می باشد
www.EduOnline.ir