ably ably برای هدایت شدن به سایت جدید اینجا کلیک کنید

آموزش برنامه نویسی

آموزش برنامه نویسی وب، اندروید، ویندوز , اسکیوال و...
Tell: 0912 097 5516
| Email: Hello@EduOnline.ir

تفاوت دستور 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 بروید.

آموزش SignalR

ادامه مطلب...

بررسی تگهای HTML و CSS در مرورگرهای مختلف

بسم الله الرحمن الرحیم

طبیعتا هر مرورگریی قابلیت پشتیبانی از تمامی عنصرهای HTML و CSS را ندارد برای چک کردن یک تگ و بررسی مرورگرهایی که این تگ قابلیت پشتیبانی دارند می توانید به این آدرس مراجعه کنید.

Cross-Origin Resource Sharing

بسم الله الرحمن الرحیم

تمامی مرورگرها برای دسترسی به منابع از روش و استراتژی خاصی بهره می برند، بر اساس میزان استفاده از این منابع مرورگرها را رتبه بندی می کنند.

در این وب سایت می توانید مرورگرهای مختلف را که بررسی شده اند مشاهده کنید.

برای اطلاعات بیشتر در این زمینه می توانید به این آدرس مراجعه کنید.

نمایش سایت برای مرورگرهای مختلف

بسم الله الرحمن الرحیم

Internet Explorer

بسیاری از افراد فکر می کنند باید سایت خود را به نحوی طراحی کنند که تمامی مرورگر ها حتی 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)  است.
خیلی ساده می توانید از طریق لینک زیر نحوه کار با این دیتابیس را آموزش ببینید.

آموزش Redis


در صورتی که نیاز به آموزش بیشتر است، می توانید پیام دهید تا انشالله آموزش آن را آماده کنم.

وب فونت

بسم الله الرحمن الرحیم

شاید بیشتر شما دوستان عزیز با وب فونت آشنایی داشته باشید، وب فونت درواقع یک روش برای نشان دادن متن های یک وب سایت با قونت های اختصاصی و مورد نظر شما است

همانظور که شما می توانید در نوشتن متن های خود در برنامه Word از فونت های متفاوت استفاده کنید این امکان در وب نیز وجود دارد

گوگل نیز فونت های زیبایی را برای شما البته و طبیعتا فونت های انگلیسی را برای شما طراحی کرده است که متاسفانه منظور از شما در این متن کشور ایران نیست و برای استفاده از این ویژگی به دلیل تحریم بودن باید از نرم افزاری برای تغییر آی پی استفاده کنید

آدرس بخش وب فونت گوگل

https://www.google.com/fonts

گوگل نیز آموزش استفاده از هر فونت را برای شما قرارداده است که اینکار بسیار ساده خواهد بود.

ممکن است شما بخواهید یک فونت که در سیستم خود دارید را در وب استفاده کنید و باید این نکته را مد نظر قرار دهید که وب فونت با فونت های عادی که پسوند ttf دارتد متفاوت است برای تبدیل فونت ttf به فونت وب می توانید از وب سایت های زیر استفاده کنید

http://www.fontsquirrel.com/tools/webfont-generator

http://www.font2web.com


برای استفاده از فونت های تولید شده می توایند به صورت زیر عمل کنید

ابتدا فونت را در مسیری مشخص قرار دهید و با دستور 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

Android

up
ما را در گوگل محبوب کنید