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

آزادی و استقلال؛ در عبور از استبداد و استعمار



در فیسبوک

این مقاله نحوه استفاده از متد Except در Linq را بررسی می کند. متد Except برای انجام عملیات روی مجموعه ها، لیست ها و آرایه ها به کار برده می شود.

نحوه استفاده از متد Except در Linq

مقدمه

متد Except یک متد افزونه (extention method) در Linq است که یک راه سریع برای استفاده از منطق مجموعه ای فراهم می کند، این متد تمام عنصرهایی از آرایه را که در آرایه دیگری پیدا کند، حذف می کند و نیاز به استفاده از حلقه های پیچیده Foreach را کاهش می دهد.

مثال:

این قطعه کد، عناصری از لیست اول را که در لیست دوم تکرار شده اند، پاک می کند و آنچه را که از لیست اول باقی می ماند، در لیست سوم برمی گرداند. کد زیر، نحوه استفاده از Except را نشان می دهد.

1
2
3
4
5
6
7
8
9
10
int[] list1 = { 5, 3, 9, 7, 5, 9, 3, 7 };       
int[] list2 = { 8, 3, 6, 4, 4, 9, 1, 0 };       
Console.WriteLine("Elements of FirstArray(list1 ):{ 5, 3, 9, 7, 5, 9, 3, 7 }");       
Console.WriteLine("Elements of SecondArray(list2 ):{ 8, 3, 6, 4, 4, 9, 1, 0 }");       
int[] Except = list1 .Except(list2 ).ToArray();       
Console.WriteLine("Except Result");       
foreach (int num in Except)       
{       
   Console.WriteLine("{0} ", num);       
}   

خروجی کد:

1
2

در کد بالا، آرایه لیست 2 تمام عناصر لیست 1 را داراست به جز عنصر 5 و 7. به همین دلیل متد Except این دو مقدار را به عنوان آرایه سوم برمی گرداند.


نوشته شده در تاريخ شنبه ۱۳۹۴/۰۵/۱۰ توسط محمد حسین فخرآوری
  در این مقاله ابتدا توضیحاتی درباره فناوری Linq و سپس نحوه نوشتن Query های SQL در Linq با ذکر مثال ارائه می گردد .

Linq اختصار یافته Language Integrated Query می باشد . Linq یک فناوری Microsoft .NET است برای Query نوشتن و دریافت اطلاعات  استفاده می شود . در حالی که SQL می تواند برای بروز رسانی یا حذف اطلاعات استفاده شود . در SQL ، برای جداول بانک اطلاعاتی و در Linq برای مجموعه NET. دستوراتی (Query) می نویسیم .

اکنون به نمونه ای که ارائه می شود توجه کنید . دو نوع شی (Object) داریم که شامل Products و Orders می باشند . یک Order  با یک یا بیشتر Product در ارتباط است .

در #C کلاس ها بصورت زیر می باشند :

public class Product
{      
    public int Id {getset;}
    public string Name {getset;}
    public string Description {getset;}
    public decimal Price {getset;}
    public int StockLevel {getset;}
}
 
public class Order
{
    public int Id {getset;}
    public IList ProductIds {getset;}
}

در SQL جداول را به این صورت تعریف می کنیم :

CREATE TABLE Products
(
   Id INT,
   Name VARCHAR(50),
   Description VARCHAR(2000),
   Price DECIMAL,
   StockLevel INT
)
 
CREATE TABLE Orders
(
   Id INT,
   DatePlaced DATETIME
)
 
CREATE TABLE OrderProducts
(
  Id INT,
  OrderId INT,
  ProductId INT
)
 
/* primary and foreign keys would also be defined, of course */

توجه داشته باشید چگونه می توانیم یک ارتباط چند به چند (many-to-many) داشته باشیم ، می بایست 3 جدول در SQL و فقط 2 شی در #C  تعریف کنیم.



ادامه مطلب
نوشته شده در تاريخ جمعه ۱۳۹۴/۰۴/۱۹ توسط محمد حسین فخرآوری

 کاربرد پروژه در درس های پردازش تصویر ، شبکه های عصبی است.

در شبکه های عصبی با 3 شبکه PNN - RBE - MLP پیاده سازی شده است.

و در پردازش تصویر هم با روش template matching که تصویری که بیشترین شباهت را به تصویر ورودی داشت به عنوان برنده انتخاب می شود.

تست بر روی حروف الفبا فارسی.

همراه با گزارش Doc، پیاده سازی و فایل پاورپوینت جهت ارائه

قیمت 140 تومان

هر یک از الگوریتم ها به صورت جدا هم قابل دریافت می باشد. در این صورت قیمت پیشنهادی نصف می گردد.

شماره تماس : 09173700916

چکیده و فصل اول

شبکه های عصبی
پردازش تصویر

نوشته شده در تاريخ جمعه ۱۳۹۴/۰۴/۱۲ توسط محمد حسین فخرآوری
این مقاله نکته های بسیار رایجی برای خطا ها در ASP.NET در کنار پیکربندی آنها ارائه میدهد. برای آن دسته از برنامه نویسانی که در حین برنامه نویسی در web application با استثنائات رو به رو میشوند , بسیار مفید خواهد بود.

معرفی

این مقاله برای زمان مواجه شدن با استثنائات در طول برنامه نویسی میتواند مفید باشد. تعدادی نکته برای خطا های معمول و راه حل هایی برای استثنائات رایج ارائه میدهد و همچنین رو به رو شدن با مسائل در طول برنامه نویسی را شامل خواهد شد.

نکته ها و ترفند ها

. خطای 500 در زمان انتشار یک وب سایت در IIS رخ خواهد داد. اکثر خطا های پیکربندی به همین علت رخ میدهند.

راه حل :

نکته های ASP.NET

                                         تصویر: روش پیکربندی مرتبط با انتشار وب سایت در IIS

گام اول

Application pool مناسب را انتخاب کنید و اگر هم چارچوب هدف در application pool گم شد ، از روش زیر بر اساس ویندوز مربوط به خودتان اقدام نمایید :

با استفاده از Run as administrator یک پنجره ی command باز کنید

در پنجره ی command مسیر directory را به چارچوب مناسب تغییر دهید:

CD C:\Windows\Microsoft.NET\Framework64\v4.0.30319

پس از تغییر مسیر directory ، "aspnet_regiis i" را وارد کنید. این دستور موجودیت aspnet_regiis را درون directory فعال میکند.

گام دوم

کد انتشار مناسب را انتخاب کنید.

گام سوم

دسترسی مسیر فیزیکی را برای کاربر کنونی یا IUSR با تایید استفاده از "Test Settings" چک کنید.

. اگر شما وب سایت تان را بر روی یک سرور منتشر کرده اید و بخواهید برخی از کد های جزئی بخش code-behind را و آن را بر روی سرور آپلود کنید ، بهترین روش چه خواهد بود ؟

راه حل :

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

گام اول

پروژه را بدون خطا بسازید و سپس به فولدر bin پروژه بروید و سپس "projectname.dll" و "projectname.pdb" را در صورت وجود بیابید.

گام دوم

سپس آن دو فایل را در فولدر live project's bin قرار دهید و آنها را جایگزین کنید. اکنون وب سایت با آخرین تغییرات اعمال شده اجرا خواهد شد زیرا فایل .CS مان (همان قسمت code-behind) تبدیل به یک DLL شده است و صفحه ی ما به دنبال متد های مرجع برای فایل DLLمیگردد.

. حال برای حل خطای "Maximum request length exceeded" در زمان کار با یک وب سرویس یا داده ی JSON چه باید کرد؟

راه حل :

به طور پیش فرض 4MB برای machine.config تنظیم شده است اما شما میتوانید آن را در web.config تان لغو کنید. به عنوان مثال برای گسترش محدودیت آپلود به 20MB کد زیر را به web.config اضافه کنید:

 
  
   "240" maxRequestLength="20480" />  
 

IIS7 ( و نسخه های بعدی) دارای اسکن کردن درخواست به صورت توکار میباشد که حد یک فایل آپلود را به صورت پیش فرض 30MB تحمیل میکند. برای افزایش آن احتیاج به افزودن خط های زیر به کد خود دارید :

 
  
      
          
            "3000000000" />  
          
      
 

request filtering Module یک پیکربندی است که از درخواستی که بیش از طول محتوای درخواست باشد جلوگیری میکند.

راه حل :

احتیاج به افزودن پیکربندی زیر به فایل web.config خود دارید :

 
  
  
  
"100000000" />  
  
  

. صفحه ای که درخواست میکنید به دلیل گسترش پیکربندی قابل اجرا نمیباشد. اگر صفحه یک script باشد ، یک handler به آن اضفه کنید. اگر نیاز به دانلود فایل است ، یک نقشه ی MIME (برای فایل JSON) اضافه کنید.

راه حل :

احتیاج به افزودن پیکربندی های زیر به فایل web.config تان دارید :

 
  
  
".json" mimeType="application/json" />  
  

. زمانی که WebAPI2 را با یک برنامه ی وب MVC متحد میکنیم آنگاه تعدادی خطا های وابستگی بوجود می آید.

راه حل :

من بسته ی "system.web.http.webhost" را با استفاده از Nuget دوباره نصب کردم و یک فایل WebApiConfig به فولدر appstart اضافه کنید. حال قبل از RouteConfig وارد فایل global.aspx شوید. اگر RouteConfig قبل از webapiconfig افزوده شده باشد ، آنگاهWebApi درست کار نخواهد کرد.

WebApiConfig.cs

4
public static void Register(HttpConfiguration config)   
{  
// Web API routes  
config.MapHttpAttributeRoutes();  
config.Routes.MapHttpRoute(  
name: "DefaultApi",  
routeTemplate: "api/{controller}/{id}",  
defaults: new   
{  
id = RouteParameter.Optional  
});  
//To return json format data  
config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("text/html"));  
}

در فایل global.aspx

 
AreaRegistration.RegisterAllAreas();  
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);  
//added before RouteConfig  
GlobalConfiguration.Configure(WebApiConfig.Register);  
RouteConfig.RegisterRoutes(RouteTable.Routes);  
BundleConfig.RegisterBundles(BundleTable.Bundles); 

. چگونه سرعت صفحه ی درخواست در ASP.NET را افزایش دهیم.

راه حل :

تنها کافیست که پیکربندی زیر را به فایل web.config اضافه کنیم تا مسئله به طور خودکار حل شود.

 
  
    temp\IIS Temporary Compressed Files">  
        "gzip" dll="%Windir%\system32\inetsrv\gzip.dll"/>  
          
            "text/*" enabled="true"/>  
            "message/*" enabled="true"/>  
            "application/javascript" enabled="true"/>  
            "*/*" enabled="false"/>  
          
          
            "text/*" enabled="true"/>  
            "message/*" enabled="true"/>  
            "application/javascript" enabled="true"/>  
            "*/*" enabled="false"/>  
          
      
    "true" doDynamicCompression="true"/>  
 

جمع بندی

در این مقاله برخی از نکات پیکربندی پایه ای را به همراه استثنائات رایج و راه حل های آنها آموختیم. این استثنائات اغلب در زمان برنامه نویسی در در web application رخ میدهد. من این مقاله را با نکات مفید دیگری به روز رسانی خواهم کرد.


نوشته شده در تاريخ جمعه ۱۳۹۴/۰۴/۱۲ توسط محمد حسین فخرآوری

در این مقاله قصد داریم تا وب متدی که با زبان C# و VB نوشته ایم را با استفاده از تکنیک Ajax و JQuery فراخوانی و به کاربر نتیجه خروجی وب متد را نمایش دهیم.

در قدم اول یک وب متد در کد های صفحه CS.cs.aspx ایجاد میکنیم:


 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Configuration;
using System.Data;
 
public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
 
    }
 
    [System.Web.Services.WebMethod]
    public static string GetCurrentTime(string name)
    {
        return "سلام " + name + Environment.NewLine + "ساعت و تاریخ : "
            + DateTime.Now.ToString();
    }
}

  

ابتدا کتابخانه jQuery را به صفحه اضافه کنید .
 

1
"scripts/jquery-1.3.2.min.js" type="text/javascript">

 

در مرحله بعد به ایجاد یک TextBox و Button می پردازیم که به ترتیب برای دریافت نام و نشان دادن زمان با استفاده از JQuery می پردازیم.


 

 
 
   
          "txtUserName" runat="server">
          : نام خود را وارد کنید
          
          
          "btnGetTime" type="button" value="نمایش تاریخ و ساعت"
              onclick="ShowCurrentTime()" />
      

 

سپس با استفاده از JQuery و Ajax اقدام به فراخوانی وب متد میکنیم.

 

 
"text/javascript">
       function ShowCurrentTime() {
           $.ajax({
               type: "POST",
               url: "CS.aspx/GetCurrentTime",
               data: '{name: "' + $("#<%=txtUserName.ClientID%>")[0].value + '" }',
               contentType: "application/json; charset=utf-8",
               dataType: "json",
               success: OnSuccess,
               failure: function (response) {
                   alert(response.d);
               }
           });
       }
       function OnSuccess(response) {
           alert(response.d);
       }
   


 

و کافی است تابع ShowCurrentTime را به onClick دکمه نمایش تاریخ و ساعت می دهیم.

ابتدا نام را وارد می کنیم :

وارد کردن نام

 

پس از ورود نام ، برروی نمایش تاریخ و ساعت کلیک میکنیم تا نتیجه را ببینیم : 


نوشته شده در تاريخ جمعه ۱۳۹۴/۰۴/۱۲ توسط محمد حسین فخرآوری

راه های زیادی برای گرفتن اطلاعات از پابگاه داده وجود دارد مثل بکاب گرفتن از بانک اطلاعاتی .  همان طور که میدانید  گاهی اوقات در بکاب گرفتن از برنامه ، ممکن است برخی از جدول ها در بکاب برنامه وجود نداشته باشد که این همیشه یک مشکل برای برنامه نویسان است در این آموزش ، قصد داریم از یک روش  که یک امکان در خود SQl استفاده کنیم که به این روش SCript گرفتن از بانک اطلاعاتی گویند

حال برای شروع به کار روی یک بانک اطلاعاتی راست کلیک کرده و گزینه Taske>Generate Scriptرا انتخاب کنید

 

حال پس از انتخاب  Generate Script  با صفحه ای مانند زیر روبرو میشویم

حال دکمه Next را انتخاب کنید.

در این مرحله برای انتخاب جداول موجود در بانک اطلاعاتی بر روی گزینه Advanced کلیک کنید

گزینهTypes of data Scripts  را روی Schema and data میگذاریم این گزینه برای انتخاب جداول موجود در بانک اطلاعاتی به کار میرود

 

در file Name   مسیری که میخواهید    script  بانک اطلاعاتی در آن ذخیره شود را انتخاب میکنیم.

سپس دکمه Next را برای رفتن به مرحله بعد انتخاب کنید 

و در انتها دکمه Finish را انتخاب میکنیم

وحال اسکریپتی از بانک اطلاعاتی به همراه جداول و اطلاعات موجود در هر جدول برای اجرا در SQL ایجاد شده است


نوشته شده در تاريخ جمعه ۱۳۹۴/۰۴/۱۲ توسط محمد حسین فخرآوری

ساختار آدرس دهی برنامه های کاربردی در ASP.NET

پوشه (folder) برنامه asp.net شامل لیستی از پوشه های مشخص شده است که می توانید از نوع خاص محتوا در هر پوشه استفاده کنید . ساختار پوشه اصلی به این صورت است :

BIN

App_Code

App_GlobalResources

App_LocalResources

App_WebReferences

App_Data

App_Browsers

App_Themes

 

Bin Directory

شامل اسمبلی های از پیش تعریف شده در NET.  مانند DLL می باشد که هدف نرم افزار است .

App_Code Directory

شامل فایل های source code مانند cs. یا vb. که بصورت پویا برای استفاده در نرم افزار تعریف شده اند . این فایل ها اغلب عناصر یا یک کتابخانه دسترسی اطلاعات را تفکیک می کنند .

App_GlobalResources Directory

شامل منابع جامعی است که در هر صفحه قابل دسترسی هستند .

App_LocalResources Directory

 عملکردی مانند app_globalresources دارد فقط این منابع برای صفحات منحصر به فردی در دسترس هستند .

App_WebReferences Directory

reference برای سرویس های وب که نرم افزار وب از آن استفاده می کند .

App_Data Directory

برای ذخیره اطلاعات و فایل های mdf ، فایل  های xml و... رزرو شده است.

App_Browsers Directory

شامل تعریف مرورگر گه در فایل های xml ذخیره شده اند . فایل های xml قابلیت های مرورگر سمت کاربر برای بخش های ارائه مختلف تعریف می کنند .

App_Themes Directory

شامل مجموعه ای از فایل ها مانند فایل های  skin.  و css. که برای بخش ظاهری نرم افزار استفاده می شوند 


نوشته شده در تاريخ جمعه ۱۳۹۴/۰۴/۱۲ توسط محمد حسین فخرآوری

با سلام

2 سری حل تمرین تونستم پیدا کنم.

جواب فصل 2-6

جواب فصل 3-9


نوشته شده در تاريخ یکشنبه ۱۳۹۴/۰۲/۰۶ توسط محمد حسین فخرآوری
نوشته شده در تاريخ دوشنبه ۱۳۹۳/۰۹/۱۰ توسط محمد حسین فخرآوری
دانلود آموزش پیشرفته بانک اطلاعاتی SQL Server در 14 فصل
نویسنده : محمد حسین فخرآوری


فهرست فصل ها :
1. آموزش نصب برنامه Microsoft SQL Server 2008 R2
2. مفاهیم اولیه کار با بانک های اطلاعاتی
3. برنامه کاربردی کار با sql server
4. آشنایی با نوع ها و عملگرد های منطقی
5. آشنایی با تعریف متغیر ها، حلقه ها
6. توابع داخلی
7. طراحی دیتابیس ، نرمال سازی، طراحی جداول و ارتباطات
8. Index-Join
9. توابع رنکینگ، ویو، فانکشن و استور پروسیجر
10. تریگر
11. مباحث مربوطه به Identity – Delete
12. مدیریت تراکنش ها و خطاها
13. پشتیبان گیری
14. دستورات پیشرفته


نوشته شده در تاريخ دوشنبه ۱۳۹۳/۰۸/۲۶ توسط محمد حسین فخرآوری
نوشته شده در تاريخ یکشنبه ۱۳۹۳/۰۸/۰۴ توسط محمد حسین فخرآوری
متدهای توسعه امکان اضافی کردن کارایی های جدید به کلاسها ، ساختارها یا اینترفیس هایی که کد آنها در دسترس نیست و یا امکان ارث بری از اونها وجود نداره رو میده !

http://barnamenevisan.org/Articles/Article2452.html


نوشته شده در تاريخ جمعه ۱۳۹۳/۰۷/۱۸ توسط محمد حسین فخرآوری

آیا بشر قادر خواهد بود موجودی هوشمند همانند خود به وجود آورد؟ آیا زمانی فرا خواهد رسید که روبات ها به خانه ما رفت وآمد کنند؛ کنار ما بنشینند و با ما به تبادل نظر بپردازند؟

چه زمانی روءیای روبات ها به حقیقت خواهد پیوست؟

 

شاید سوءالاتی این چنین را بتوان زمینه ساز ظهور دانشی نوین، با عنوان هوش مصنوعی دانست. نخستین جرقه های هوش مصنوعی به سال های بعد از جنگ جهانی دوم باز می گردد. زمانی که آلن تورینگ در سال 1950م. آزمایشی مبنی بر این که آیا ماشین قادر است با فرآیندهای مغز انسان رقابت نماید، مطرح کرد. سال 1960م. با روی کار آمدن برنامه های بازی شطرنج و ساخت اولین روبات ها و استفاده از زبان های برنامه نویسی در اروپا و آمریکا، تحقیقات در زمینه هوش مصنوعی به جنبه های انسانی نزدیک تر شد.اما هوش مصنوعی چیست و هوشمندی به چه معناست؟


نوشته شده در تاريخ پنجشنبه ۱۳۹۳/۰۷/۱۷ توسط محمد حسین فخرآوری
نمونه کد زیر روش تغییر اندازه ی یک آرایه را به شما نشان میدهد
شما می توانید از این روش برای هر نوع آرایه ی تک بعدی استفاده کنید
در کد زیر ابتدا آرایه ی کاراکتری با طول ۵ تعریف شده است و در ادامه کدها طول آرایه به ۷ تغییر کرده است

char[] array = new char[5];
array[0] = 'A';
array[1] = 'B';
array[2] = 'C';
array[3] = 'D';
array[4] = 'E';
for (int i = 0; i < array.Length; i++)
{
	MessageBox.Show(array[i].ToString());
}

Array.Resize(ref array, 7);

array[0] = 'a';
array[1] = 'b';
array[2] = 'c';
array[3] = 'd';
array[4] = 'e';
array[5] = 'f';
array[6] = 'g';

for (int i = 0; i < array.Length; i++)
{
	MessageBox.Show(array[i].ToString());
}

نوشته شده در تاريخ جمعه ۱۳۹۳/۰۷/۰۴ توسط محمد حسین فخرآوری

public static string AgeCalculation(DateTime Now)
{
DateTime PresentYear = DateTime.Now;
TimeSpan ts = PresentYear - Now;
DateTime Age = DateTime.MinValue.AddDays(ts.Days);
return (string.Format(" {0} Years {1} Month {2} Days", Age.Year - 1, Age.Month - 1, Age.Day - 1));
}


نوشته شده در تاريخ پنجشنبه ۱۳۹۳/۰۶/۲۷ توسط محمد حسین فخرآوری
نوشته شده در تاريخ چهارشنبه ۱۳۹۳/۰۶/۲۶ توسط محمد حسین فخرآوری

رنگ های اصلی

دایره رنگ

سه رنگ زرد، قرمز و آبی را رنگ های اولیه یا اصلی می گویند. این سه رنگ از ترکیب رنگ های دیگر به وجود نمی آیند و در اصل وجود دارند. رنگ های دیگر از ترکیب سه رنگ اصلی به وجود می آیند. ترکیب سه رنگ اصلی با هم باعث به وجود آمدن یک رنگ قهوه ای خاکستری مرده و خنثی می شود

رنگ های رده ی دو یا ثانویه

سه رنگ نارنجی، بنفش و سبز را که از ترکیب دوتایی رنگ های اصلی به وجود می آیند را رنگ های رده ی دو یا ثانویه می گویند. این سه رنگ را در جدول رنگی بالا مشاهده می کنید

رنگ های رده ی سه

شش رنگ فیروزه ای، ارغوانی، پرتقالی، سبز زرد، آبی بنفش و قرمز نارنجی رنگ های رده ی سوم دایره رنگ ها هستند. این رنگ ها از ترکیب رنگ های اصلی با رنگ های ثانویه یا رده ی دوم به وجود می آیند

دو رنگ مکمل چیست

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

چگونه یک رنگ را خنثی کرده و از درخشندگی و خلوص آن کم کنیم

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

چگونه یک خاکستری رنگی درست کنیم

سه رنگ اصلی را به میزان مشخصی با یکدیگر ترکیب می کنیم. در این ترکیب مقدار کمی آبی بیشتر از زرد و قرمز خواهد بود. سپس به آن کمی سفید اضافه می کنیم. رنگی خاکستری و خنثی به وجود می آید. حال به این خاکستری هر رنگی اضافه کنیم به سمت آن طیف رنگی متمایل می شود. مثلا اگر به آن قرمز اضافه کنیم خاکستری قرمز می شود

رنگ های سرد و گرم کدام ها هستند

رنگ ها به دو نوع گرم و سرد تقسیم بندی می شوند. رنگ های گرم عموما روشن تر و سبک تر از رنگ های سرد هستند. رنگ های گرم شامل: زرد، زرد متمایل به نارنجی، نارنجی، قرمز نارنجی، قرمز و قرمز مایل به بنفش هستند. رنگ های سرد نیز شامل بنفش، بنفش مایل به آبی، آبی، آبی مایل به سبز و زرد مایل به سبز می باشند. در حقیقت رنگ های گرم قرمزی بیشتری دارند و رنگ های سرد آبی بیشتری دارند. رنگ های گرم و سرد در کنار هم باعث جلوه گر شدن یکدیگر می شوند

 

در مدل RGB هر رنگ به صورت مولفه¬های طیفی اولیه¬ی قرمز، سبز و ابی ظاهر می¬شود. این مدل براساس سامانه مختصات کارتزین است زیرفضای رنگی مورد علاقه، مکعب شکل مورد نظر می-باشد که در ان مقادیر RGB در سه گوشه¬ قرار دارند؛ رنگ¬های ثانویه¬ی فیروزه¬ای، بنفش و زرد در سه گوشه¬ی دیگر واقع¬اند، سیاه در مبداء و سفید در دورترین گوشه از مبداء قرار دارد. در این مدل محدوده¬ی خاکستری (نقاطی با مقادیر RGB یکسان) از سیاه تا سفید در طول خط واصل این دو نقطه قرار دارد و سایر رنگ¬ها نیز نقاطی در درون یا روی مکعب هستند که با بردارهایی که ازمبداء می¬گذرند تعریف می¬شوند. برای سهولت، فرض می¬شود که مقادیر رنگ طوری نرمال شده¬اند که مکعب نشان داده شده در شکل 3-1 مکعب واحدی است. یعنی فرض می¬شود تمام مقادیر R، G و B در بازه¬ی [0,1] هستند.


 
شکل 3-1 مکعب رنگی RGB. نقاط در امتداد قطر اصلی، دارای مقادیر خاکستری از مبدأ تا سفید در نقطه (1,1,1) هستند.


تصاویری که در مدل رنگ RGB نشان داده می¬شوند برای هر رنگ اولیه یک مولفه دارند. وقتی وارد مانیتور رنگی می¬شوند، این سه تصویر، روی صفحه با هم ترکیب می¬شوند تا تصویر رنگی متضادی ایجاد کنند. تعداد بیت¬های لازم برای نمایش هر پیکسل در فضای RGB عمق پیکسل نام دارد. هر پیکسل رنگی RGB دارای عمق 24 بیت ( سه صفحه¬ی تصویر ضرب در تعداد بیت¬ها در هر صفحه) می¬باشد. واژه¬ی تصویر تمام¬رنگی معمولاً برای بیان تصویر رنگی 24 بیتی RGB به¬کار می-رود. تعداد کل رنگ¬ها در تصاویر 24 بیتی RGB برابر با 16777216 =3(28) است.
شکل 3-2 مکعب رنگی 24 بیتی RGB متناظر با نمودار شکل 3-1 را نشان می¬دهد.


 


شکل 3-2 مکعب رنگی 24 بیتی


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


نوشته شده در تاريخ پنجشنبه ۱۳۹۳/۰۴/۱۹ توسط محمد حسین فخرآوری
آموزش ورود به Safe Mode در ویندوز 8

 

 

 

 

برای ورود به حالت Safe Mode در ویندوز XP ، باید کلید F8 را به محض روشن شدن سیستم فشار میدادیم. با این کار منویی قبل از شروع به کار ویندوز ظاهر میشد که از طریق آن میتوانستیم نوع بوت ویندوز را مشخص کنیم. که یکی از انواع بوت ها نیز بوت در حالت Safe Mode بود. در این حالت برنامه های Startup و همچنین برخی از درایور ها به همراه ویندوز راه اندازی نمیشوند و معمولا اگر مشکلی باعث بالا نیامدن ویندوز شود، از طریق Safe Mode میتوان آن را برطرف نمود.

 

اما دسترسی به Safe Mode در ویندوز 8 به این سادگی ها نیست. در ویندوز 8 با فشردن همزمان و ممتد کلید های Shift+F8 بعد از روشن کردن کامپیوتر، محیط Recovery ظاهر میشود.

در این محیط، روی دکمه See advanced repair options کلیک کنید:

 

 

 

در صفحه بعدی، روی دکمه Troubleshoot کلیک کنید:

 

 

 

در صفحه بعدی، روی دکمه Advanced Options کلیک کنید:

 

 

 

در این صفحه، گزینه های مختلفی برای بوت یا تعمیر ویندوز وجود دارد. روی دکمه Startup Settings کلیک کنید:

 

 

 

حالا وارد صفحه ای میشوید که به شما میگوید اگر روی دکمه Restart کلیک کنید، با شروع به کار ویندوز گزینه های مختلفی از جمله Safe Mode فعال خواهند شد.

پس روی دکمه Restart کلیک کنید:

 

 


بعد از ریستارت شدن ویندوز، صفحه ای ظاهر میشود که به شما میگوید با فشردن کلیک های F1 تا F10 میتوانید به انواع مختلف سیستم خود را راه اندازی کنید. کلید F4 برای بوت به شیوه Safe Mode است.

بنابر این کلید F4 را فشار دهید:

 

 

 

خواهید دید که ویندوز به حالت Safe Mode راه اندازی میشود:

 

 

 

شاید به نظر شما هم دسترسی به Safe Mode در ویندوز 8 سخت شده باشد. دلیل این مسئله این است که علاوه بر Safe Mode ، امکانات دیگری نیز در بوت ویندوز تعبیه شده است.


نوشته شده در تاريخ جمعه ۱۳۹۳/۰۴/۱۳ توسط محمد حسین فخرآوری
shadmehr متن آهنگ های آلبوم طرفدار از شادمهر
برای دیدن متن ترانه ها به ادامه مطلب مراجعه کنید


برچسب‌ها: آلبوم طرفدار از شادمهر

ادامه مطلب
نوشته شده در تاريخ یکشنبه ۱۳۹۲/۱۱/۱۳ توسط محمد حسین فخرآوری

نحوه ساخت منوی داینامیک

لینک مطلب


برچسب‌ها: نحوه ساخت منوی داینامیک
نوشته شده در تاريخ جمعه ۱۳۹۲/۱۰/۲۰ توسط محمد حسین فخرآوری
 Label1.Text = TextBox2.Text.Replace("\n", "< BR/>");

برچسب‌ها: چند خطی در مولتی لاین
نوشته شده در تاريخ جمعه ۱۳۹۲/۱۰/۲۰ توسط محمد حسین فخرآوری

ابتدا پوشه ckeditor را در root پروژه کپی کرده و بعد CKEditor.NET.dll را رفرنس

کنید یا در پوشه bin کپی کنید.

برای راحتی استفاده در صفحات در فایل web.config قسمت زیر اضافه کنید.

   

بعد برای استفاده در صفحات از کد زیر استفاده کنید

 

برای دانلود dll ها میتونید از سمپل من بردارید در ادرس

برچسب‌ها: CKEditor
نوشته شده در تاريخ چهارشنبه ۱۳۹۲/۱۰/۱۸ توسط محمد حسین فخرآوری

 اجازه دهید ابتدا تعریفی از بدسکتور داشته باشیم. بد‌سکتور را می‌توان یک کلاستر کوچک از فضای ذخیره‌سازی نامید که معیوب شده است. این سکتور به درخواست‌ها مبنی بر نوشتن و خواندن اطلاعات عکس‌العملی نشان نمی‌دهد تا آنجا که آن را یک سکتور بد و یا همان بدسکتور می‌نامیم.

hard-drive-head



ادامه مطلب
نوشته شده در تاريخ پنجشنبه ۱۳۹۲/۱۰/۰۵ توسط محمد حسین فخرآوری
نوشته شده در تاريخ شنبه ۱۳۹۲/۰۹/۱۶ توسط محمد حسین فخرآوری
CREATE PROCEDURE [dbo].[GetList](@TableName NVARCHAR(200),@Fild NVARCHAR(200),@Sort NVARCHAR(200))
AS
declare @SQL nvarchar(max);
SET @SQL = 'SELECT * FROM '+@TableName+' ORDER BY '+@Fild+' '+@Sort+'  ';
exec sp_executesql @SQL



EXEC  [dbo].[GetList] N'B_Categories', N'CategoryName',N'Desc'

برچسب‌ها: مرتب سازی گریدویو به صورت پویا
نوشته شده در تاريخ چهارشنبه ۱۳۹۲/۰۹/۱۳ توسط محمد حسین فخرآوری
نوشته شده در تاريخ شنبه ۱۳۹۲/۰۹/۰۹ توسط محمد حسین فخرآوری

ShrinkDatabase00

Shrink در لغت به معني جمع شدن و يا چروک شدن مي‌باشد. با در نظر گرفتن همين مفهوم مي‌توان گفت Shrink کردن فرآيندي است که در آن فضاي Data File و Log File جمع و جور مي‌شود. (اين تعريف يک تعريف ساده و ابتدايي مي‌باشد)

 ShrinkDatabase01

 همانطور که در تصوير بالا مشاهده مي‌کنيد طي فرآيند Shrink فضاي خالي فايل‌هاي بانک اطلاعاتي تا حد امکان از بين رفته و داده‌ها در يک قسمت جمع مي‌گردند.

لینک مطلب


برچسب‌ها: بررسی تاثیر Shrink کردن Database بر کارایی بانک اط
نوشته شده در تاريخ یکشنبه ۱۳۹۲/۰۹/۰۳ توسط محمد حسین فخرآوری
SELECT * FROM master.dbo.sysmessages
مثال
2627 : کلید اصلی تکراری

برچسب‌ها: لیست شماره خطا ها
نوشته شده در تاريخ پنجشنبه ۱۳۹۲/۰۸/۳۰ توسط محمد حسین فخرآوری
یک سمپل درست کردم که با دادن تاریخ مناسبت هاتا پایان سال 1392 خورشیدی مطابق با تقویم استخراج شده توسط مرکز تقویم موسسه ژئوفیزیک دانشگاه تهران است را میده.

لینک مطلب


برچسب‌ها: مناسبت ها تا پایان سال 1392
نوشته شده در تاريخ جمعه ۱۳۹۲/۰۷/۲۶ توسط محمد حسین فخرآوری
DECLARE @a VARCHAR(50)= N'.1;.5;1.1;1.5;';
WITH MyWords (ranking, word, string )
AS (
SELECT
1
, CAST(SUBSTRING(@a , 1 , CHARINDEX(';' , @a) - 1) AS VARCHAR(25))
, STUFF(@a , 1 , CHARINDEX(';' , @a) , '')
UNION ALL
SELECT
ranking + 1
, CAST(SUBSTRING(string , 1 , CHARINDEX(';' , string) - 1) AS VARCHAR(25))
, STUFF(string , 1 , CHARINDEX(';' , string) , '')
FROM
MyWords
WHERE
CHARINDEX(';' , string) > 0
)
SELECT [id],[name]FROM [Table_1] WHERE [id] IN(SELECT word FROM MyWords)


برچسب‌ها: ارسال رشته برای شرط in
نوشته شده در تاريخ پنجشنبه ۱۳۹۲/۰۷/۲۵ توسط محمد حسین فخرآوری
تمامی حقوق این وبلاگ محفوظ است | طراحی : محمد حسین فخراوری