طراحی وب سایت

ساخت وبلاگ

 همان‌طور که در قسمت سي و يکم توضيح داده شد، دو حالت از Operator Method وجود دارد: Unary Operators و Binary Operators که با Binary Operators نيز آشنا شديد. Unary Operator ها مانند Binary Operator ها overload مي‌شوند و با اين تفاوت سایت که در Unary Operators تنها يک operand وجود دارد.

 
فرم کلي Unary Operators به‌شکل زير است:
 
// General form for overloading a unary operator
 
public static ret-type operator op(param-type operand)
 
{
 
    // operations
 
}
در اين‌جا يک شيء جديد  retuمي‌شود که شامل مقدار منفي فيلدهاي operand است. دقت کنيد که operand تغيير نمي‌کند، براي مثال در عبارت a = -b مقدار منفي b به a اختصاص داده مي‌شود در حالي‌که b بدون تغيير مي‌ماند.
 
 
 
using System;
 
class TwoD
 
{
 
    private int X, Y;
 
 
 
    public TwoD()
 
    {
 
        X = Y = 1;
 
    }
 
    public TwoD(int a, int b)
 
    {
 
        X = a;
 
        Y = b;
 
    }
 
 
 
    public static TwoD operator -(TwoD ob)
 
    {
 
        TwoD result = new TwoD();
 
        result.X = -ob.X;
 
        result.Y = -ob.Y;
 
        retu result;
 
    }
 
 
 
    public void Show()
 
    {
 
        Console.WriteLine("{0}, {1}", X, Y);
 
    }
 
}
 
class UnaryOpertorDemo
 
{
 
    static void Main()
 
    {
 
        TwoD ob = new TwoD(1, 1);
 
        TwoD result;
 
        result = -ob;
 
        ob.Show();
 
        result.Show();
 
    }
 
}
 
در سي‌شارپ، overload کردن ++ و -‌- بسيار آسان است. کافي است که مقدار را افزايش يا کاهش دهيد و آن را retu کنيد اما نبايد مقدار شيء operand را تغيير دهيد. سي‌شارپ به‌طور خودکار حالت‌هاي postfix و prefix را براي شما در نظر مي‌گيرد. براي مثال متد زير يک ()++operator براي کلاس TwoD است:
 
 
 
 
 
using System;
 
class TwoD
 
{
 
    int X, Y;
 
    public TwoD()
 
    {
 
        X = Y = 0;
 
    }
 
    public TwoD(int a, int b)
 
    {
 
        X = a;
 
        Y = b;
 
    }
 
 
 
    // Overload binary +
 
    public static TwoD operator +(TwoD ob1, TwoD ob2)
 
    {
 
        TwoD result = new TwoD();
 
        result.X = ob1.X + ob2.X;
 
        result.Y = ob1.Y + ob2.Y;
 
        retu result;
 
    }
 
 
 
    // Overload binary -
 
    public static TwoD operator -(TwoD ob1, TwoD ob2)
 
    {
 
        TwoD result = new TwoD();
 
        result.X = ob1.X - ob2.X;
 
        result.Y = ob1.Y - ob2.Y;
 
        retu result;
 
    }
 
     
 
    // Overload unary -
 
    public static TwoD operator -(TwoD ob)
 
    {
 
        TwoD result = new TwoD();
 
        result.X = -ob.X;
 
        result.Y = -ob.Y;
 
        retu result;
 
    }
 
 
 
    // Overload unary ++ 
 
    public static TwoD operator ++(TwoD ob)
 
    {
 
        TwoD result = new TwoD();
 
        result.X = ob.X + 1;
 
        result.Y = ob.Y + 1;
 
        retu result;
 
    }
 
 
 
    // Overload unary --
 
    public static TwoD operator --(TwoD ob)
 
    {
 
        TwoD result = new TwoD();
 
        result.X = ob.X - 1;
 
        result.Y = ob.Y - 1;
 
        retu result;
 
    }
 
    public void Show()
 
    {
 
        Console.WriteLine(X + ", " + Y);
 
    }
 
}
 
class OpOverloadingDemo
 
{
 
    static void Main()
 
    {
 
        TwoD a = new TwoD();
 
        TwoD b = new TwoD(1, 2);
 
        TwoD c = new TwoD(5, 5);
 
 
 
        Console.Write("Here is a : ");
 
        a.Show();
 
        Console.Write("Here is b : ");
 
        b.Show();
 
        Console.Write("Here is c : ");
 
        c.Show();
 
        Console.WriteLine();
 
 
 
        a++;
 
        Console.Write("Here is a after a++ : ");
 
        a.Show();
 
 
 
        a--;
 
        Console.Write("Here is a after a-- : ");
 
        a.Show();
 
 
 
        Console.WriteLine();
 
 
 
        a = c;
 
        Console.Write("Here is a after a = c : ");
 
        a.Show();
 
 
 
        a = c + b;
 
        Console.Write("Here is a after a = c + b : ");
 
        a.Show();
 
 
 
        a = b - c;
 
        Console.Write("Here is a after a = b - c : ");
 
        a.Show();
 
        Console.WriteLine();
 
 
 
        a = -b;
 
        Console.Write("Here is a after a = -b : ");
 
        a.Show();
 
        Console.Write("Here is b after a = -b : ");
 
        b.Show();
 
        Console.WriteLine();
 
 
 
        // reset objects
 
        a = new TwoD(1, 1);
 
        b = new TwoD(2, 2);
 
        c = new TwoD();
 
 
 
        Console.Write("Here is a : ");
 
        a.Show();
 
        Console.Write("Here is b : ");
 
        b.Show();
 
        Console.Write("Here is c : ");
 
        c.Show();
 
        Console.WriteLine();
 
 
 
        c = a++;
 
        Console.Write("Here is c after c = a++ : ");
 
        c.Show();
 
        Console.Write("Here is a after c = a++ : ");
 
        a.Show();
 
        Console.WriteLine();
 
 
 
        c = ++a;
 
        Console.Write("Here is c after c = ++a : ");
 
        c.Show();
 
        Console.Write("Here is a after c = ++a : ");
 
        a.Show();
 
 
 
        c = --a;
 
        Console.Write("Here is c after c = --a : ");
 
        c.Show();
 
        c = a--;
 
        Console.Write("Here is c after c = a-- : ");
 
        c.Show();
 
 
 
    }
 
}
 
خروجي:
 
 
 
 
 
 
 
شما مي‌توانيد operator methods را هم overload کنيد. رايج‌ترين دليل آن اين است که با اين کار اين امکان را فراهم مي‌کنيد تا عمليات بين يک class type (مثل کلاسي که خودتان تعريف کرديد) و يک built-in type (يک type که در دات نت موجود است، مثل int) انجام شود. به‌عنوان مثال، مجدداً به کلاس TwoD دقت کنيد. مشاهده کرديد که + را overload کرده‌ايم و اين باعث مي‌شود تا مختصات يک شيء TwoD با مختصات يک شيء ديگر جمع شود. اما اين تنها راه جمع کردن براي شيء TwoD نيست! شما فقط توانستيد دو شيء را با هم جمع کنيد اما گاهي نياز داريد يک int را با يک شيء جمع کنيد. براي اين منظور شما نياز داريد که + را دوباره overload کنيد
 
// Overload binary + for TwoD + int.
 
public static TwoD operator +(TwoD op1, int op2)
 
{
 
    TwoD result = new TwoD();
 
    result.X = op1.X + op2;
 
    result.Y = op1.Y + op2;
 
    retu result;
 
}
 
دقت کنيد که پارامتر دوم از جنس int است. بنابراين اين متد اجازه مي‌دهد يک مقدار int به هر يک از فيلدهاي TwoD افزوده شود. توجه داشته باشيد هنگامي‌که يک binary operator را overload مي‌کنيد، يکي از operand ها حتماً بايد از جنس کلاسي باشد که در آن operand مربوطه overload مي‌شود اما بقيه‌ي operand ها مي‌توانند از هر نوعي باشند. به همين دليل است که در متد قبل يکي از parameter ها از جنس TwoD (جنس کلاسي که در آن operand مورد نظر overload شده) و ديگري از يک جنس دل‌خواه مثل int است.
 
 
 
در زير مشاهده مي‌کنيد که + دو بار overload شده دارد:
 
 
 
using System;
 
class TwoD
 
{
 
    int X, Y;
 
    public TwoD()
 
    {
 
        X = Y = 0;
 
    }
 
    public TwoD(int a, int b)
 
    {
 
        X = a;
 
        Y = b;
 
    }
 
    // Overload binary + for TwoD + int.
 
    public static TwoD operator +(TwoD op1, int op2)
 
    {
 
        TwoD result = new TwoD();
 
        result.X = op1.X + op2;
 
        result.Y = op1.Y + op2;
 
        retu result;
 
    }
 
    // Overload binary + for TwoD + TwoD. 
 
    public static TwoD operator +(TwoD op1, TwoD op2)
 
    {
 
        TwoD result = new TwoD();
 
        result.X = op1.X + op2.X;
 
        result.Y = op1.Y + op2.Y;
 
        retu result;
 
    }
 
    public void Show()
 
    {
 
        Console.WriteLine(X + ", " + Y);
 
    }
 
}
 
class OpOverloadingDemo
 
{
 
    static void Main()
 
    {
 
        TwoD ob1 = new TwoD();
 
        TwoD ob2 = new TwoD(3, 3);
 
        TwoD result;
 
 
 
        result = ob1 + 2; // TwoD + int
 
        ob1.Show();
 
        result.Show();
 
 
 
        result += ob2; // TwoD + TwoD
 
        ob2.Show();
 
        result.Show();
 
    }
 
}
 
همان‌طور که مي‌بينيد، هنگامي‌که + روي دو شيء TwoD اعمال شده، مختصات اين دو شيء با هم جمع مي‌شود و هنگامي‌که + روي يک شيء TwoD و يک مقدار int اعمال شده ، فيلدهاي شيء با مقدار int جمع شده است.
 
 
 
overload کردن + کاربرد مفيدي را به کلاس TwoD مي‌افزايد اما هنوز اين تمام چيزي نيست که مورد نياز است و در واقع کار هنوز تمام نشده است. متد (operator+(TwoD, int تنها براي عبارتي از اين جمله:
 
 
 
 
 
ob1 = ob2 + 10;
 
مجاز است و عبارتي مثل:
 
 
 
 
 
ob1 = 10 + ob2;
 
را نمي‌پذيرد. به اين دليل که argument عدد صحيح، دومين argument است يعني آن operand که در سمت راست قرار دارد. اما در عبارت قبلي مي‌بينيد که argument عدد صحيح را در سمت چپ قرار داده‌ايم. براي اين‌که هر دو عبارت براي استفاده مجاز باشند، بايد يک بار ديگر + را overload کنيد. اين‌بار بايد اولين پارامتر را int و دومين پارامتر را TwoD در نظر بگيريد.
 
 
 
به اين ترتيب، يک ورژن از متد ()+operator براي TwoD + int و يک ورژن ديگر آن براي int + TwoD است. Overload کردن + (يا هر binary operator ديگري) به اين شکل باعث مي‌شود تا يک built-in type هم بتواند در سمت چپ و هم در سمت راست قرار بگيرد. در نمونه‌ي زير مي‌بينيد که چگونه + همان‌گونه که شرح داده شد، overload شده است:
 
 
 
using System;
 
class TwoD
 
{
 
    int X, Y;
 
    public TwoD()
 
    {
 
        X = Y = 0;
 
    }
 
    public TwoD(int a, int b)
 
    {
 
        X = a;
 
        Y = b;
 
    }
 
    // Overload binary + for TwoD + int.
 
    public static TwoD operator +(TwoD op1, int op2)
 
    {
 
        TwoD result = new TwoD();
 
        result.X = op1.X + op2;
 
        result.Y = op1.Y + op2;
 
        retu result;
 
    }
 
    // Overload binary + for int + TwoD.
 
    public static TwoD operator +(int op1, TwoD op2)
 
    {
 
        TwoD result = new TwoD();
 
        result.X = op1 + op2.X;
 
        result.Y = op1 + op2.Y;
 
        retu result;
 
    }
 
    // Overload binary + for TwoD + TwoD. 
 
    public static TwoD operator +(TwoD op1, TwoD op2)
 
    {
 
        TwoD result = new TwoD();
 
        result.X = op1.X + op2.X;
 
        result.Y = op1.Y + op2.Y;
 
        retu result;
 
    }
 
    public void Show()
 
    {
 
        Console.WriteLine(X + ", " + Y);
 
    }
 
}
 
class OpOverloadingDemo
 
{
 
    static void Main()
 
    {
 
        TwoD a = new TwoD(1, 2);
 
        TwoD b = new TwoD(10, 10);
 
        TwoD c = new TwoD();
 
 
 
        Console.Write("Here is a: ");
 
        a.Show();
 
        Console.WriteLine();
 
        Console.Write("Here is b: ");
 
        b.Show();
 
        Console.WriteLine();
 
        
 
        c = a + b; // TwoD + TwoD
 
        Console.Write("Result of a + b: ");
 
        c.Show();
 
        Console.WriteLine();
 
        
 
        c = b + 10; // TwoD + int
 
        Console.Write("Result of b + 10: ");
 
        c.Show();
 
        Console.WriteLine();
 
       
 
        c = 15 + b; // int + TwoD
 
        Console.Write("Result of 15 + b: ");
 
        c.Show();
 
    }
 
}
 
overload کردن عملگرهاي رابطه‌اي
 
 
 
عملگرهاي رابطه‌اي (Relational Operators)، مثل == يا > مي‌توانند به‌سادگي overload شوند. به‌طور معمول، يک عملگر رابطه‌اي overload شده، مقدار true يا false را retu مي‌کند، به‌اين دليل که حالت و کاربرد استاندارد عملگرهاي رابطه‌اي حفظ شود و بتوان از آن‌ها در عبارت‌هاي شرطي استفاده کرد. اگر در اين موارد به‌جاي مقادير bool چيزي ديگري را retu کنيد، به شدت کاربرد اين operator را محدود کرده‌ايد. نکته‌ي مهم ديگر اين‌جاست که بايستي relational operators را به‌طور جفتي overload کنيد. به‌عنوان مثال اگر > را overload کرديد، بايستي < را نيز overload کنيد. اين مورد براي operator هاي (<= و >=) و (== و !=) نيز صادق است.
 
using System;
 
class TwoD
 
{
 
    int X, Y;
 
    public TwoD()
 
    {
 
        X = Y = 0;
 
    }
 
    public TwoD(int a, int b)
 
    {
 
        X = a;
 
        Y = b;
 
    }
 
 
 
    public static bool operator <(TwoD op1, TwoD op2)
 
    {
 
        retu ((op1.X < op2.X) && (op1.X < op2.Y));
 
    }
 
    public static bool operator >(TwoD op1, TwoD op2)
 
    {
 
        retu ((op1.X > op2.X) && (op1.Y > op2.Y));
 
    }
 
 
در مثال بالا، (operator>(TwoD, TwoD در صورتي true را retu مي‌کند که هم X و هم Y شيء اول از X و Y شيء دوم بزرگ‌تر باشد. (operator<(TwoD, TwoD در صورتي مقدار true را retu مي‌کند که هم X و هم Y شيء اول از X و Y شيء دوم کوچک‌تر باشد.
 
 
 
نکته‌ي ديگر اين‌که اگر مي‌خواهيد operator هاي == و =! را overload کنيد، بايستي متدهاي ()Object.Equels و ()Object.GetHashCode را نيز override کنيد. در مورد اين متدها و تکنيک overriding بعداً صحبت خواهيم کرد.
 
طراحی وب سایت...
ما را در سایت طراحی وب سایت دنبال می کنید

برچسب : طراحی وب سایت, طراحی سایت, طراحی وب, نویسنده : sara webdesign31 بازدید : 392 تاريخ : چهارشنبه 16 مرداد 1392 ساعت: 15:43

 ب معنايي يک جنبش مشترک است که توسط w?c رهبري مي شود که فرمت هاي رايج داده را روي شبکه گسترده جهاني ترويج مي کند. با تشويق به گنجاندن محتوي معنايي در صفحات وب، وب معنايي به تبديل شدن وب حاضر مشتمل بر اسناد ساختار نايافته   طراحی   به يک "وبي از داده ها" کمک مي کند. اين در چارچوب شرح منابع (RDF) از w?c ساخته مي شود.

بنابر w?c، " وب معنايي يک چارچوب مشترک فراهم مي آورد که اجازه مي دهد داده ها به اشتراک گذاشته شوند و در سراسر مرزهاي کاربردي، اقتصادي و اجتماعي دوباره استفاده شوند."
اين واژه توسط تيم برنزلي،مخترع وب گسترده جهاني و گرداننده w?c،ابداع شد که هم اکنون بر توسعه استانداردهاي مطرح شده وب معنايي نظارت دارد. او وب معنايي را اين گونه معني کرد که " تارنمايي از داده که مي تواند مستقيم و غير مسقيم توسط ماشين مورد پردازش قرار بگيرد. " درحالي که منتقدان پرسش هايي درباره امکان پذير بودن آن دارند، طرفداران استدلال مي کنند که برنامه هاي کاربردي در صنعت، زيست شناسي و تحقيقات علوم انساني، در حال حاضر، اعتبار مفهوم اصلي را ثابت کرده است.
محتويات  [نهفتن] 
? تاريخچه
? هدف
? محدوديت هاي HTML
? راهکارهاي وب معنايي
? وب 3
? مثال ها
?.? ابر-ويکي
? چالش ها
? استانداردها
?.? اجزا
?.? وضعيت فعلي استاندارد سازي
? واکنش هاي شکاک
?.? امکان سنجي عملي
?? پتانسيل يک ايده در حال پيشرفت سريع
?? سانسور و حفظ حريم خصوصي
?? دوبرابر شدن فرمت هاي خروجي
?? پروژه ها
??.? DBpedia
??.? FOAF
??.? SIOC
??.? NextBIO
?? همچنين ببينيد
?? پيوند به بيرون
?? منابع
?? جستارهاي وابسته
تاريخچه[ويرايش]
 
مفهوم مدل شبکه معنايي در اوايل دهه شصت توسط دانشمند شناختيAllan M.Collins، زبان شناخت M. Ross Quillian و روان شناس Elizabeth F.Loftus در نشريات مختلف به عنوان يک فرم براي نمايش دادن دانش ساخت يافته معنايي، ابداع شد. با قراردادن ابرداده قابل خواندن توسط ماشين ،درباره صفحات و چگونگي ارتباط آن ها با يکديگر، فعال کردن عامل هاي خودکارشده براي دسترسي هوشمندانه تر وب و انجام وظايف از طرف کاربران موجب گسترش يافتن شبکه صفحات وب ابرپيوند شده که تنها توسط انسان قابل خواندن بود، شد.
خيلي از فناوري هايي که توسط w?c مطرح شده است قبل از اين که زير چتر w?cقرار بگيرند، وجود داشته اند. اين ها در زمينه هاي مختلف استفاده شده است، به خصوص برخورد با اطلاعاتي است که شامل يک دامنه محدود و تعريف شده است، و جايي که داده به اشتراک گذاشته شده يک نياز مشترک است، مانند تحقيقات علمي يا داده هاي تبديل شده مابين کسب و کارها. به علاوه، فناوري هايي با هدف مشترک ، مانند microformat ها، ظهور کرده اند.
هدف[ويرايش]
 
اصلي ترين هدف وب معنايي قادر ساختن کاربران براي پيداکردن، اشتراک گذاشتن و راحت تر ترکيب کردن اطلاعات جهت تکامل بخشيدن وب حاضر است. انسان ها توانايي استفاده از وب را براي پيش بردن وظايفي مانند پيدا کردن معادل ايرلندي کلمه "پوشه"، رزرو کردن يک کتاب از کتابخانه و جستجو براي پايين ترين قيمت يک DVD را دارند. به هرحال، ماشين ها نمي توانند تمام اين وظايف را بدون دستورالعمل انسان انجام دهند، چرا که صفحات وب طوري طراحي شده اند که توسط مردم خوانده شود، نه ماشين ها. وب معنايي يک چشم انداز از اطلاعات است که مي تواند به آساني توسط ماشين تفسير شود، بنابرين ماشين ها مي توانند بسياري از کارهاي خسته کننده شامل پيداکردن، ترکيب کردن و اقدام بر اساس اطلاعات بر روي وب را انجام دهند. وب معنايي، همان طور که در ابتدا پيش بيني مي شد، سيستمي است که ماشين ها   طراحی   را به کار مي اندازد که "بفهمند" و به درخواست هاي پيچيده انسان براساس معناي آن ها پاسخ دهند. چنين "فهميدن" مستلزم آن است که منابع اطلاعاتي مربوطه به طور معنايي ساختار يافته شوند،يک کار چالش برانگيز. تيم برنز لي در ابتدا چشم انداز وب معنايي را اين گونه توصيف کرد:
من رويايي دارم براي وب که در آن کامپيوتر ها توانايي تحليل تمام داده هاي روي وب، مثل محتوي،پيوندها و تراکنش هاي بين مردم و کامپيوتر ها را دارند. يک وب معنايي، که اين امر را ممکن مي سازد، فعلا در حال ظهور است، اما زماني که کامل شود، روال هاي روزانه تجارت ، بروکراسي و زندگي روزمره ما توسط گفتگوي بين ماشين ها انجام مي شود. عامل هاي هوشمند بين مردم براي دوره اي که نهايتا اين امر محقق شود تبليغ مي کنند.
 
وب معنايي به عنوان يک جمع کننده بين تمام محتوي مختلف،سيستم ها و برنامه هاي کاربردي اطلاعاتي در نظر گرفته شده است. برنامه هاي کاربردي در زمينه نشر، وبلاگ نويسي و خيلي سطوح ديگر وجود دارد.
معمولا واژه هاي معناشناسي، ابرداده، هستي شناسي و وب معنايي متناقض استفاده مي شوند. به طور خاص، اين واژه ها به عنوان کلمات فني هر روز توسط محققين و پزشکان،جهت پوشش يک گستره وسيعي از زمينه هاي مختلف فن آوري، مفاهيم و سطوح برنامه هاي کاربردي استفاده مي شوند. به علاوه، با توجه به وضعيت فعلي، نسبت به فعال کردن فناوري هايي که براي تحقق وب معنايي پيش بيني مي شد، سردرگمي وجود دارد. در يک مقاله که توسط Greber,Baard, Van der Merwe ارائه شد، چشم انداز وب معنايي جدول بندي شده و خلاصه اي از واژگان و فناوري هاي راه انداز ارائه شده است. مدل معماري مطرح شده توسط تيم برنزلي به عنوان مبنايي که مدل وضعيت فناوري هاي حال حاضر و در حال ظهور را ارائه مي کند، استفاده مي شود.
محدوديت هاي HTML[ويرايش]
 
بسياري از فايل هاي روي يک کامپيوتر معمولي را مي توان آزادانه به اسناد قابل خواندن توسط انسان و داده هاي قابل خواندن براي ماشين تقسيم کرد. اسناد مثل پيام نامه ها، گزارشات و بروشورها توسط انسان خوانده مي شود. داده، مثل تقويم، دفترچه آدرس،ليست پخش و صفحات گسترده از يک برنامه کاربردي براي نمايش، جستجو و ترکيب در حالات مختلف استفاده مي کنند.
در حال حاضر، تارنماي گسترده جهاني عمدتا بر مبناي اسنادي است که با HTML نوشته شده است، يک استاندارد نشانه گذاري که براي کدينگ مجموعه اي از متن در خلال عناصر چند رسانه اي مانند تصاوير و فرم هاي تعاملي استفاده شده است. تگ هاي ابر داده روشي را فراهم مي آورد که هر کامپيوتر مي تواند محتوي صفحات وب را دسته بندي کند . براي مثال :
<meta name="keywords" content="computing, computer studies, computer">
<meta name="description" content="Cheap widgets for sale">
<meta name="author" content="John Doe">
با HTML و ابزاري براي نمايش خروجي آن (مثل مرورگر هاي وب) هرکسي مي تواند صفحه اي براي ليست کردن مواردي براي فروش، بسازد و نمايش دهد. HTML اين صفحه کاتالوگ مي تواند اظهاراتي از قبيل "عنوان اين سند سوپرمارکت ويجت است" را به ما بدهد، اما اين ظرفيت در HTML نيست که واضح اظهار کند که مثلا کالا شماره X586172 يک Acme Gizmo است با قيمت خرده فروشي €199 ، يا اين که يک کالاي براي مصرف کننده است. بلکه ،HTML مي تواند تنها بگويد که محدوده متن " X586172" چيزي است که بايد نزديک Acme" Gizmo" و "€199" قرار مي گيرد. هيچ راهي وجود ندارد که بگويد "اين يک کاتالوگ است" يا حتي تصديق کردن اين که "Acme Gizmo" بخشي از عنوان است يا "€199" يک قيمت است. همچنين هيچ راهي وجود ندارد که توصيف کند اين تکه هاي از اطلاعات کنار هم قرار گرفته اند تا يک مورد را جدا از موارد ديگري که احتمالا در صفحه قرار دارند، توصيف کند.
HTML معنايي اشاره به عمل HTML سنتي در قصد نشانه گذاري ها دارد به جاي اين که مستقيما جزئيات چينش را مشخص کند. براي مثال کاربرد <em> براي نشان دادن "تاکيد" است، بيشتر از <i> که ايتاليک شدن را مشخص مي کند. جزئيات چينش در ترکيب با CSS ها در سمت مرورگر است. اما اين عمل براي مشخص کردن معاني عناصر مثل موارد فروش و قيمت ناکارآمد است.
Microformat ها تلاش هاي غير رسمي گسترش تگ هاي HTML را براي ايجاد نشانه گذاري معنايي قابل خواندن براي ماشين درباره عناصري مثل فروشگاه هاي خرده فروشي و موارد براي فروش را نشان مي دهد.
راهکارهاي وب معنايي[ويرايش]
 
وب معنايي راه کارهاي اضافه تري دارد که شامل نشر زبان هايي که مختص داده طراحي شده اند، مثل چهارچوب شرح منابع(RDF)، زبان هستي شناسي وب(OWL) و زبان نشانه گذاري توسعه پذير(XML)، مي شود. HTML اسناد و پيوند هاي بين آن ها را توصيف مي کند. RDF،OWL وXML ،با تضاد،مي توانند اشيا دلخواه را از قبيل مردم، ديدارها يا قطعات هواپيما توصيف کنند.
اين فناوري ها به منظور فراهم آوردن شرحي که محتوي اسناد وب را تکميل يا جايگزين کند، ترکيب شده اند. بنابرين، محتوي ممکن است به عنوان داده هاي توصيفي ذخيره شده در پايگاه داده هاي قابل دسترس وب ، يا نشانه گذاري دربين اسناد بروز کند(خصوصا، در HTML توسعه پذير(XHTML) با XML پراکنده ، يا اغلب مواقع خالص در XML، با چينش يا ). توضيحات قابل خواندن براي ماشين، مديران محتوي را به کار مي اندازند تا معني به محتوي اضافه کنند که توصيف کند ساختار دانشي که ما درباره محتوي داريم. در همين راستا، يک ماشين مي تواند خودش دانش را ، به جاي متن، با استفاده از پردازشي شبيه به استنتاج و استقرا انسان پردازش کند، در نتيجه نتايج معني دار بيشتري به دست مي آورد و به کامپيوتر ها براي اجرا خودکار جمع آوري اطلاعات و پژوهش کمک مي کند.
يک مثال از يک تگ که مي تواند در يک صفحه وب غير معنايي استفاده شود :
<item>cat</item>
همين اطلاعات در يک صفحه وب معنايي ممکن است به اين شکل باشد :
<item rdf:about="http://dbpedia.org/resource/Cat">Cat</item>
تيم برنز لي شبکه حاصل از داده هاي پيوند داده شده را، در تضاد با تارنماي گسترده جهاني بر پايه HTML، نمودار عظيم جهاني مي نامد. برنز لي فرض کرد که اگر گذشته اسناد به اشتراک گذاشته مي شدند، در آينده داده ها به اشتراک گذاشته مي شوند. جواب او به اين سوال که "چگونه؟"، سه دستورالعمل به همراه داشت. اول، يک URL بايد به داده اشاره داشته باشد.دوم، هرکسي که به URL دسترسي پيدا کرد بايد داده را برگرداند. سوم، روابط در داده بايد به URL هاي اضافي به همراه داده اشاره داشته باشد.
وب 3[ويرايش]
 
تيم برنز لي وب معنايي را جزئي از وب 3 توصيف کرد.
مردم همراه مي پرسند که وب 3 چيست؟ من فکر ميکنم شايد وقتي شما يک پوشش از گرافيک هاي برداري مقياس پذير(همه چيز ناهوار و شناور به صورت مبهم)در وب2 داريد و دسترسي به يک وب معنايي که جمع کننده حجم زيادي از داده داشته باشيد، شما به يک منبع داده باور نکردني دسترسي خواهيد داشت . . . تيم برنز لي 2006
 
"وب معنايي" گاهي اوقات هم معني "وب3" به کار مي رود، در حالي که هر کدام معني متفاوتي دارند.
 
تنهايي شامل 370,000 نام کلاس است و فناوري موجود هنوز قادر نبوده است که واژهاي تکراري از جهت معنا را ازبين ببرد. هر سيستم استدلال کننده خودکاري مجبور است با ورودي هاي واقعا بزرگ مفابله کند.
ابهام : وجوه مبهمي مانند "جوان" و "بلند" وجود دارد. اين ناشي مي شود از ابهام درخواست کاربران، از وجوه ارائه شده توسط گردآورندگان محتوي، از انطباق واژه هاي درخواست با واژه هاي گرداورندگان و از تلاش براي ترکيب مباني دانش هاي مختلف با وجوه مشترک ولي جنبه هاي متفاوت. منطق فازي رايج ترين تکنيک براي مقابله با ابهام است.
عدم قطعيت : وجوه دقيقي با ارزش هاي مشکوک وجود دارد. براي مثال، يک بيمار ممکن است مجموعه اي از علائم را که هرکدام متناظر با تشخيص مشخص و احتمال متفاوت باشد، را ارائه کند. روش هاي استدلال احتمالاتي به طور کلي کار براي رسيدگي به عدم قطعيت است.
تناقض : تناقضات منطقي اي وجود دارد که به ناچار در طول توسعه هستي شناسي بزرگ، و زماني که هستي شناسي ها از منابع جدا با هم ترکيب شده اند، بوجود خواهد آمد. استدلال استقرايي يا قياسي با شکست روبروست وقتي با تناقض مواجه است، زيرا "هر چيزي به دنبال يک تناقض" است. استدلال فسخ کردني و استدلال paraconsistent، دو روش است که مي تواند براي مقابله با تناقض به کار رود.
فريب : زماني رخ مي دهد که تهيه کننده اطلاعات عمدا مصرف کننده اطلاعات را گمراه کند. تکنيک هاي رمز نگاري در حال حاضر براي کاهش اين تهديد مورد استفاده قرار مي گيرند.
اين ليست چالش ها بيش از اين که کامل باشد، روشنگر است و روي چالش هاي لايه هاي "منطق وحدت" و "برهان" از وب معنايي، تمرکز دارد .گزارش آخر گروه   طراحی  رشد براي استدلال عدم قطعيت W3C، تمام اين مشکلات را تحت عنوان "عدم قطعيت" جمع کرد. خيلي از تکنيک هاي ذکر شده در اينجا الحاقاتي نياز خواهند داشت به زبان هستي شناسي وب مثلا براي حاشيه نويسي احتمالات شرطي.اين منطقه از پژوهش فعال است.
استانداردها[ويرايش]
 
استانداردسازي وب معنايي در وب3 تحت پوشش W3C مي باشد.
اجزا[ويرايش]
واژه "وب معنايي" معمولا استفاده مي شود براي اشاره به فرمت ها و فناوري هايي که آنرا به کار مي اندازند.جمع آوري، ساختاربندي و بازيابي داده هاي پيوندشده با فناوري ها يي که يک توضيح رسمي از وجوه،واژه ها و روابط در خلال يک دامنه دانش داده شده فراهم مي آورد. اين فن آوري ها طبق استانداردهاي W3C مشخص شده اند و شامل اين موارد مي شود :
چارچوب تشريح منابع (RDF) يک روش عمومي براي توصيف اطلاعات
شماي RDF (RDFS)
سيستم سازماني دانش ساده (SKOS)
SPARQL يک زبان پرس و جوي RDF
نشان گذاري3 (N3)، طراحي شده با توانايي خواندن انسان در ذهن
N-Triples، فرمتي براي ذخيره کردن و انتقال داده
لاک پشت[سه تايي](زبان RDF سه مختصر و مفيد)
زبان هستي شناسي وب(OWL)، يک خانواده از زبان هاي ارائه دانش
پشته وب معنايي روشنگر معماري وب معنايي است. توابع و روابط اجزا مي تواند به صورت زير خلاصه شود :
XML يک گرامر عنصري براي ساختار محتوي داخل اسناد فراهم مي آورد.XML در حال حاضر يکي از اجزا لازم فناوري هاي وب معنايي در خيلي از موارد نيست، به عنوان جايگزين گرانرهاي موجود، از قبيل لاک پشت. لاک پشت يک استاندارد بالفعل است اما از طريق يک فرآيند استاندارد رسمي نبوده است.
شماي XML يک زبان براي فراهم آوردن و محدود کردن ساختار و محتوي عناصري است که در اسناد XML وجود دارند.
RDF يک زبان ساده براي توصيف مدل هاي داده است که به اشيا ("منابع") و روابطشان اشاره دارد. يک مدل برپايه RDFمي تواند در گرامرهاي مختلفي ارائه شود، مثل RDF/XML،N3،لاک پشت و RDFa. RDF يک استاندارد پايه اي از وب معنايي است.
شما RDF، RDF را توسعه داده است و يک لغت براي توصيف ويژگي ها و کلاس هاي منابع بر پايه RDF، با معاني براي تعميم سلسله مراتب از خواص و طبقات است.
OWL لغات بيشتري براي توصيف ويژگي ها و کلاس ها اضافه مي کند: از بين آن ها،روابط بين کلاس ها(disjointness)، cardinality(براي مثال "دقيقا يک" )، برابري،نوع سازي غني تر از ويژگي ها، مشخصات ويژگي ها وشمارش کلاس ها.
SPARQL يک پروتکل و زبان کوئري از مبانع وب معنايي است.
وضعيت فعلي استاندارد سازي[ويرايش]
استاندارد سازي هاي در حال پيشرفت فعلي شامل :
قانون فرمت تبادل(RIF) به عنوان لايه اي از پشته وب معنايي.
لايه هايي که هايي که هنوز به طور کامل بيرون نيامده اند شامل :
لايه هاي منطق وحدت و مدرک تحت تحقيقات فعال هستند.
مقصود بالابردن قابليت استفاده و فايده وب است و ارتباط تنگاتنگ آن با منابع از طريق :
سرورهايي سيستم هاي داده اي موجود را با استفاده از RDF و SPARQL نشان مي دهند.خيلي تبديل کننده ها به RDF از برنامه هاي کاربردي مختلف وجود دارد.پايگاه داده هاي رابطه اي يک منبع مهم هستند. سرور وب معنايي بدون تاثير گذاري بر عملکرد سيستم موجود به آن پيوست مي شود.
اسناد "نشانه گداري شده" با اطلاعات معنايي(يک توسعه از تگ <meta>در HTML در صفحات وب امروزي براي تامين اطلاعات موتورهاي جستجوي وب، با استفاده از وب خزنده، به کاربرده مي شود). اين مي تواند اطلاعات قابل فهم براي ماشين درباره محتوي اسناد قابل فهم براي انسان باشد(از قبيل توليد کننده،عنوان،توضيحات اسناد) يا مي تواند صرفا ابرداده نمايش دهنده مجموعه اي از حقايق باشد(از قبيل منابع و خدمات در هرکجاي سايت ها).(توجه کنيد که هرچيزي که بتواند با شناسه منبع يکنواخت شناسايي (URI) شود، مي تواند توصيف شود، بنابرين وب معنايي مي تواند درباره حيوانات،مردم،اماکن،ايده ها استدلال کند.) نشانه گذاري معنايي معمولا خودکار، تا به صورت دستي، توليد مي شود.
واژگان ابرداده رايج(هستي شناسي ها) و نگاشت بين واژگان که به خالقان اسناد اجازه مي دهد بدانند که چگونه اسنادشان را نشانه گذاري کنند، بنابرين عامل ها مي توانند اطلاعات در ابرداده تامين شده را استفاده کنند( بنابرين مولف درمقام 'مولف صفحه' با مولف در مقام مولف کتابي که موضوع مرور يک کتاب است، اشتباه گرفته نمي شود. )
عامل هاي خودکارشده براي اجراي وظايف براي کاربران وب معنايي با استفاده از اين داده
خدمات برپايه وب(معمولا با عامل هاي خودشان) براي تامين اطلاعات مخصوص عامل ها(براي مثال يک خدمت مورد اعتماد که يک عامل بتواند درباره تاريخچه خدمات ضعيف يا هرزه نگاري برخي فروشگاه هاي برخط بپرسد)
واکنش هاي شکاک[ويرايش]
 
امکان سنجي عملي[ويرايش]
منتقدان شدني بودن تحقق کامل يا جزئي وب معنايي را مي پرسند.بحران Cory Doctorow ("ابرچرند") از دورنماي رفتار انسان و ارجحييات شخصي هست. براي مثال، مردم ممکن است براي گمراه کردن موتور هاي وب معنايي که فرض را بر صحت ابرداده مي گذارند، ابرداده جعلي به صفحات وب وارد کنند. اين پديده در ابرتگ ها شناخته شده بود که الگوريتم رتبه بندي آلتاويستا را با بالابردن رتبه صفحات وب بخصوص فريب مي داد : موتور شاخص گذاري گوگل خصوصا به دنبال چنين تلاش هايي براي دست کاري است. Peter G?rdenfors و Timo Honkela اشاره مي کنند که فناوري هاي وب معنايي برپايه منطق، تنها يکسري از پديده هاي مربوط به هستي شناسي را پوشش مي دهند.
جايي که فناوري هاي وب معنايي درجه پذيرش عملي بالاتري پيدا کرد، تمايل بيشتري به بودن آن در هسته جوامع تخصصي و سازمان هاي براي پروژه هاي درون سازماني است. محدوديت ها به سوي پذيرش عملي، در دامنه ها و حوزه هاي محدود تر از چالش کمتري نسبت به عامه مردم و تارنماي گسترده جهاني دارد.
پتانسيل يک ايده در حال پيشرفت سريع[ويرايش]
 
مقاله ابتکاري Scientific American در سال 2001 توسط برنزلي تکامل مورد انتظار از وب موجود به وب معنايي را توصيف کرد . يک تکامل کامل چنان که توسط برنزلي توصيف شد فعلا در حال اتفاق افتادن است. در 2006 برنزلي و همکارانش اظهار داشتند که : "اين ايده ساده، به هر حال، تا حد زيادي تحقق نيافته باقي مانده است. " در حالي که ايده هنوز در حال ساخت است، به نظر مي رسد به سرعت در حال تکامل است و الهام بخش بسياري بوده است. بين 2007-2010 بسياري محققان پتانسيل اجتماعي وب معنايي را در کسب و کار و بخش سلامت و براي شبکه سازي اجتماعي، بررسي کرده اند. آنها همچنين مرز تکامل دموکراسي را بررسي کرده اند: چگونه يک جامعه خواست مشترکش را به يک شيوه دموکراتيک از طريق وب معنايي فرم مي دهد.
سانسور و حفظ حريم خصوصي[ويرايش]
 
اشتياق درباره وب معنايي مي تواند با نگراني ها درمورد سانسور و حفظ حريم خصوصي تعديل شود. براي مثال، فناوري هاي تحليل متن حالا مي توانند با استفاده از کلمات ديگر به راحتي کنار گذاشته شود، مثلا استعاره ها، يا با استفاده از تصاوير به جاي متن. يک اجرا حرفه اي از وب معنايي کنترل بر روي مشاهد و آفرينش اطلاعات آنلاين را براي دولت ها بسيار آسان تر مي کند؛ چرا که فهميدن اين اطلاعات براي يک ماشين مسدود کننده محتوي خودکار، راحت تر است. به علاوه،اين مسئله مطرح شده است که با استفاده از فايل هاي FOAF و ابرداده منطقه جغرافيايي، کمتر کسي حاضر به فاش شدن نامش در نگارش يک مقاله در يک وبلاگ شخصي خواهد شد. برخي از اين نگراني ها درخطاب به پروژه "وب آگاه سياسي" بودند و يک عنوان فعال تحقيق و توسعه اي هستند.
دوبرابر شدن فرمت هاي خروجي[ويرايش]
 
انتقاد ديگر به وب معنايي اين است که زمان بيشتري صرف ساخت و انتشار محتوي مي شود، چرا که براي يک تکه از داده به دو فرمت نياز است: يکي براي نمايش انسان و يکي براي ماشين ها. به هرحال، بسياري از برنامه هاي کاربردي در حال توسعه وب، در حال پرداختن به اين موضوع از طريق ايجاد يک فرمت قابل خواندن براي ماشين پس از انتشار داده يا درخواست ماشين براي پنين داده هستند. توسعه microformat ها واکنشي ديگر به اين نوع از انتقاد است. يکي ديگر از استدلال ها در دفاع    طراحی    از امکان سنجي وب معنايي، احتمالا قيمت در حال سقوط وظايف هوش انساني در بازار کار ديجيتال،مثلAmazon Mechanical Turk است.
مشخصات از قبيل eRDF و RDFa، به داده هاي دلخواه RDF اجازه مي دهد در صفحات HTML تعبيه بشوند.مکانيزم GRDDL (خوشه چين توضيحات منابع از گويش هاي زبان) به ماده موجود (شامل ميکرو فرمت ها) اجازه مي دهد به طور خودکار به عنوان RDF تفسير شوند؛ بنابرين ناشران تنها نياز به استفاده از يک فرمت،مثل HTML، را دارند.
پروژه ها[ويرايش]
 
اين بخش بعضي از پروژه ها و ابزار بسياري را که جهت ايجاد راه حل هاي وب معنايي وجود دارد ليست مي کند:
DBpedia[ويرايش]
DBpedia يک تلاش براي براي انتشار داده ساختاريافته استخراج شده از ويکي پديا است: داده در RDF منتشر شده و براي استفاده در وب تحت ليسانس مستندسازي آزاد GNU قابل دسترس مي شود، بنابرين به عامل هاي وب معنايي اجازه مي دهد استنتاج و query گرفتن پيشرفته بر روي مجموعه داده مشتق شده از ويکي پديا را فراهم بياورند و استفاده مجدد و توسعه در ديگر منابع داده را تسهيل کنند.
FOAF[ويرايش]
يک واژه پرطرفدار در وب معنايي دوستِ دوست است که از RDF براي توصيف روابط مردم با ديگر مردم در "چيزهاي" اطراف آن ها، استفاده مي کند.FOAF به عامل هاي هوشمند، براي درک هزاران ارتباطي که مردم با يکديگر دارند،مشاغل آن ها و موارد مهم در زندگي آنها، مجوز مي دهد؛ ارتباطاتي که ممکن است در موتورهاي جستتجوي سنتي برشمرده بشود يا نشود. زيرا ارتباطات از لحاظ تعداد بسيار گسترده است و تفسير انسان از اين اطلاعات ممکن است بهترين راه براي تحليل آن ها نباشد.
FOAF يک مثال از چگونگي تلاش وب معنايي براي استفاده از ارتباطات در زمينه اجتماعي است.
SIOC[ويرايش]
پروژه جوامع آنلاين معنايي پيوسته (SIOC،"شاک" تلفظ مي شود) يک واژگان از اصطلاحات و روابط را که فضاهاي داده وب را مدل مي کند، فراهم مي آورد. مثال هايي از اين نوع فضاهاي داده شامل : تالارهاي گفتگو،بلاگ ها،پست هاي بلاگ/خبرخوان ها،ليست هاي پستي، به اشتراک گذاري بوک مارک ها و گالري عکس ها، مي شود.
NextBIO[ويرايش]
يک پايگاه داده تقويت کننده علوم زيستي بالا تجربي داده هاي تگ شده و با استفاده از هستي شناسي پزشکي مرتبط شده اند. NextBio با استفاده از يک رابط موتور جستجو قابل دسترسي است. محققان مي توانند يافته هاي خود را براي الحاق به پايگاه داده کمک کنند. پايگاه داده در حال حاضر از توضيحات داده پروتئين و ژن و توالي داده هاي محوري پشتيباني مي کند و به طور پيوسته در حال گسترش براي حمايت از انواع ديگر داده هاي بيولوژيکي است.
طراحی وب سایت...
ما را در سایت طراحی وب سایت دنبال می کنید

برچسب : طراحی وب سایت,طراحی سایت,طراحی وب, نویسنده : sara webdesign31 بازدید : 387 تاريخ : يکشنبه 30 تير 1392 ساعت: 17:03

اتحاد جماهير شوروي آن زمان موشکي با نام «اسپونيک» (Spotnik) را به فضا مي‌فرستد و نشان مي‌دهد داراي قدرتي است که مي‌تواند شبکه‌هاي ارتباطي آمريکا را توسط موشک‌هاي بالستيک و دوربرد خود از بين ببرد. آمريکايي‌ها در پاسخگويي به اين اقدام روس‌ها، موسسه پروژه‌هاي تحقيقي پيشرفته “ARPA” را به‌وجود آوردند. هدف از تاسيس چنين موسسه‌اي پژوهش و آزمايش براي پيدا کردن روشي بود که بتوان از طريق خطوط تلفني، کامپيوترها را به هم مرتبط نمود. به طوري که چندين کاربر بتوانند از يک خط ارتباطي مشترک استفاده کنند. در اصل شبکه‌اي بسازند که در آن داده‌ها به صورت اتوماتيک بين مبدا و مقصد حتي در صورت از بين رفتن بخشي از مسيرها جابه‌جا و منتقل شوند. در اصل هدف “ARPA” ايجاد يک شبکه اينترنتي نبود و فقط يک اقدام احتياطي در مقابل حمله احتمالي موشک‌هاي اتمي دوربرد بود.طراحی وب سایت  هر چند اکثر دانش امروزي ما درباره شبکه به‌طور مستقيم از طرح آرپانت “ARPPA NET” گرفته شده‌است. شبکه‌اي که همچون يک تار عنکبوت باشد و هر کامپيوتر ان از مسيرهاي مختلف بتواند با همتايان خود ارتباط دااشته باشد واگر اگر يک يا چند کامپيوتر روي شبکه يا پيوند بين انها از کار بيافتاد بقيه باز هم بتوانستند از مسيرهاي تخريب نشده با هم ارتباط بر قرار کنند.
اين ماجرا با وجودي که بخشي از حقايق به‌وجود آمدن اينترنت را بيان مي‌کند اما نمي‌تواند تمام واقعيات مربوط به . در نتيجه طرح يک سيستم مقاوم در مقابل حمله اتمي روس‌ها ريخته شد.آقاي باران (Baran) تشکيل و تکامل اينترنت را به ساخت يک کليسا تشبيه کرد و معتقد بود، طي سال‌هاي اخير هر کس سنگي به پايه‌ها و سنگ‌هاي قبلي بنا اضافه مي‌کند و انجام هر کاري وابسته به کارهاي انجام شده قبلي است. بنابراين نمي‌توان گفت، کدام بخش از کار مهمترين بخش کار بوده‌است و در کل پيدايش اينترنت نتيجه کار و تلاش گروه کثيري از دانشمندان است. داستان پيدايش اينترنت با افسانه و واقعيت در هم آميخته شده‌است.
در اوايل دهه ?? ميلادي آقاي باران طي مقالاتي پايه کار اينترنت امروزي را ريخت. اطلاعات و داده‌ها به صورت قطعات و بسته‌هاي کوچکتري تقسيم و هر بسته با آدرسي که به آن اختصاص داده مي‌شود به مقصد خاص خود فرستاده مي‌شود. به اين ترتيب بسته‌ها مانند نامه‌هاي پستي مي‌توانند از هر مسيري به مقصد برسند. زيرا آنها شامل آدرس فرستنده و گيرنده هستند و در مقصد بسته‌ها مجددا يکپارچه مي‌شوند و به صورت يک اطلاعات کامل درمي‌آيند.
آقاي باران (Baran) طي مقالاتي اينچنيني ساختمان و ساختار اينترنت را پيش‌گويي کرد. او از کار سلول‌هاي مغزي انسان به عنوان الگو استفاده کرد، او معتقد بود: وقتي سلول‌هاي مغزي از بين بروند، شبکه عصبي از آنها ديگر استفاده نمي‌کند و مسير ديگري را در مغز انتخاب مي‌کند. از ديدگاه وي اين امکان وجود دارد که شبکه‌اي با تعداد زيادي اتصالات براي تکرار ايجاد شوند تا در صورت نابودي بخشي از آن، همچنان به صورت مجموعه‌اي به هم پيوسته کار کند. تا نيمه دهه ?? ميلادي کسي به نظرات او توجه‌اي نکرد. تا اينکه در سال ???? نيروي هوايي آمريکا و«آزمايشگاه‌هاي بل» به نظرات او علاقه‌مند شدند و پنتاگون با سرمايه‌گذاري در طراحي و ساخت شبکه‌اي براساس نظريات او موافقت کرد.
ولي آقاي باران (Baran) بنابر دلايلي حاضر با همکاري با نيروي هوايي آمريکا نشد. در اين ميان دانشمندي با نام تيلور (Tailon) وارد موسسه آرپا (ARPA) شد. او مستقيما به آقاي هرتسفلد رييس موسسه پيشنهاد کرد: (ARPA) آرپا هزينه ايجاد يک شبکه آزمايشي کوچک با حداقل چهار گره را تامين کند که بودجه آن بالغ بر يک ميليون دلار مي‌شد. با اين پيشنهاد تيلور تجربه‌اي را آغاز کرد که منجر به پيدايش اينترنت امروزي شد. او موفق شد در سال ????، دو کامپيوتر را در شرق و غرب آمريکا به هم متصل کند. با اين اتصال انقلابي در نحوه صدور اطلاعات در دنياي ارتباطات رخ داد که نتيجه آن را امروز همگي شاهد هستيم. اين شبکه به بسته‌هايي (packet) از داده‌ها که به وسيله کامپيوترهاي مختلف ارسال مي‌شدند اتکا داشت. پس از انکه ازمايشها سودمندي انرا مشخص کردند ساير بخش‌هاي دولتي و دانشگاهها پژوهشي تمايل خود را به وصل شدن به ان اعلام کردند . ارتباطات الکترونيکي به صورت روشي موثر براي دانشمندان و ديگران به منظور استفاده مشترک از داده‌ها در امد. در همان زمان که ARPAnet در حال رشد بود تعدادي شبکه پوشش محلي (LAN) در نقاط مختلف آمريکا به وجود امد. مديران LANها نيز به وصل کردن کامپيوترهاي شبکه‌هاي خود به شبکه‌هاي بزرگتر اقدام کردند . پروتوکل اينترنت ARPAnet IP زبان استاندارد حکمفرما براي برقراري ارتباط کامپيوترهاي شبکه‌هاي مختلف به يکديگر شد.تاريخ تولد اينترنت به طور رسمي اول سپتامبر ???? اعلام شده‌است. زيرا که اولين “IMP” در دانشگاه “UCLA” واقع در سانتاباربارا در اين تاريخ بارگذاري شده‌است.
از اوايل دهه ???? رشد استفاده از اينترنت به صورت تصاعدي افزايش يافت . يکي از علل چنين استقبالي ابزار جستجويي مانند Gopher و archie بوده‌است اما اينها در سال ???? تحت تاثير word wide web قرار گرفتند که به وسيله CERN يا ازمايشگاه فيزيک هسته‌اي اروپا ساخته شد . با ان که اينترنت از ابتدا طوري بود که مبادله اطلاعات براي تازه واردان بسيار ساده باشد. بزرگترين جهش در وب در سال ???? با عرضه نرم‌افزار موزاييک mosaic که نخستين برنامه مرورگر وب گرافيکي بود به وجود امد. برنامه موزاييک محصول تلاش دانشجويان و استادان بخش "مرکز ملي کاربردهاي ابر کامپيوتر " در دانشگاه ايلينويز آمريکا بود. براي نخستين بار موزاييک امکانات اشاره و کليک (به وسيله موش) را فراهم کرد. کاربران مي‌توانستند صفحات وب (web page) يا مجموعه‌اي از متن و گرافيک را کنار هم بگذارند تا هر کسي که ميخواست انها را بتواند روي اينترنت ببيند. صفحات وب هر روز متولد مي‌شدند و مفهوم موج سواري يا surfing روي وب متولد شد. اواسط سال ???? سه ميليون کامپيوتر به اينترنت وصل شده بود و در ان هنگام اجراي عمليات اهسته نشده بود. صفحات جديد وب که شامل همه چيز  طراحی وب سایت  از اسناد دولتي تا مدارک شرکت‌ها و مدل‌هاي جديد لباس بود در سراسر دنيا چندين برابر شد . موزاييک و جانشينان ان مانند navigator محصول شرکت " نت اسکيپ " اينترنت را از قلمرو علمي به ميان مردم اوردند. طبق اخرين امار ?? درصد کاربران بعد از سال ???? وارد اين محيط شده‌اند. ميليون‌ها انساني که از اينترنت استفاده مي‌کنند نيازي ندارند که نکات فني مانند TCP/IP را بدانند . امروزه شرکتهاي خدمات دهنده اينترنت يا ISP اين کار را به عهده دارند.رشد روز افزون ان و ساده تر شدن استفاده ان همچنان ادامه دارد . هر چه تعداد مردم بيشتري به اينترنت رجوع کنند تعداد شرکت‌هاي سازنده برنامه‌هاي اينترنت بيشتر مي‌شود.با انکه بعضي از عاشقان اينترنت ان را نوعي شيوه زندگي مي‌دانند. در نظر بيشتر کاربران منبع سرگرمي اطلاعات است ولي بيشترين مصرف ان پست الکترونيکي يا همان email است که يکي از ابزارهاي ارتباطي کار امد به شمار مي‌رود. پيامها از کامپيوتري به کامپيوتر ديگر با سرعت پرواز مي‌کنند و منتظر ميمانند تا شخص فرصت خواندن انها را پيدا کند . وب امکانات خوبي براي کپي از نرم‌افزارهاي مجاز از لحاظ کپي فراهم ميسازد. وقتي که مي‌بينيم که در مدت کوتاهي اينترنت به چنين رشدي نايل آمده است، مطمئنا دشوار خواهد بود که آينده او را پيش بيني کنيم. طبق نظر کارشناسان ماهانه ?? درصد به تعداد کاربران اينترنت افزوده مي‌شود ولي تعداد دقيق کاربران که روزانه از آن استفاده مي‌کنند مشخص نيست. هرچند که پاره‌اي از کارشناسان تعداد آنها را تا ??? ميليون نفر حدس مي‌زنند. تعداد رسمي کاربران اينترنتي را در سال ???? کارشناسان ??? ميليون نفر اعلام کرده بودند.
قطعا در سال‌هاي آينده تحولات شگرفي را در زمينه شبکه‌هاي اينترنتي شاهد خواهيم بود. به‌وسيله اينترنت انسان به راه‌هاي جديدي دست پيدا کرد. در کنار اين شانس جديد توسط اينترنت، بايد بگوييم خطراتي نيز در رابطه با سياست و اقتصاد و علم به دنبال خواهد داشت. فرم امروزي اينترنت مديون همکاري تمام کاربران اينترنت در سرتاسر گيتي است که با اين تصور که اطلاعات موجود در سطح جهان را به راحتي با يکديگر مبادله کنند. اين تصوري بود که آقاي باران(Baran) از اينترنت داشت و اميدواريم در آينده نيز تکامل اينترنت در اين مسير باشد.
 
طراحی وب سایت...
ما را در سایت طراحی وب سایت دنبال می کنید

برچسب : طراحی وب سایت,طراحی سایت,طراحی وب, نویسنده : sara webdesign31 بازدید : 411 تاريخ : يکشنبه 23 تير 1392 ساعت: 14:34

 Creative Web Design

Creative Web Design and Marketing for your Business
 
We handle just about any web design work you can throw at us. Whether you’re a small business owner, freelancer, artist, writer, or bespoke candlestick maker, we’ll get you online with a great looking creative web design that works. From large not-for-profits to micro-businesses, we design websites tailored to each and every one
of our clients. Check out our latest web designs to see for yourself.
site easily in house without any coding knowledge. Explainafide is a complete web design agency; we handle everything from website design, inteet marketing, branding, search engine optimisation (SEO), e-commerce solutions, copywriting and of course any graphic design work you can dream of.
 
If you have an average website, your business is nearly as bad off as if it had And we don’t do averame in….
 
At Explainafide, we give you straightforward advice to decode the Mumbo-Jumbo and help you make an informed decision on what will work best for you and your company.
طراحی وب سایت...
ما را در سایت طراحی وب سایت دنبال می کنید

برچسب : طراحی وب سایت,طراحی سایت,طراحی وب, نویسنده : sara webdesign31 بازدید : 378 تاريخ : چهارشنبه 19 تير 1392 ساعت: 15:18

 
 
در اين فصل شما مي توانيد اولين صفحه وب خودتان را خلق نماييد و با XHTM آشنا خواهيد شد و مرحله به مرحله کارهاي خود را در مرورگر تست ميکنيد .
بگذاريد دقيق شويم ! طراحي وب سايتي که شما مي بينيد به سه لايه اصلي تقسيم مي شود:
 
 
 
design-web-06.gif 
يادگيري اين سه لايه شما را به يک طراح تبديل ميکند!
 
 
لايه اول لايه محتوي است که مانند شاسي ماشين است و شامل تگهاي متفاوتي مي باشد .لايه دوم لايه نمايش است که به عناصر HTML شکل و ظاهر مي دهد و لايه سوم لايه رفتار است که حرکت و پويايي صفحات را شامل مي شود.
چيزي که در اين کتاب آموزش داده مي شود مربوط به 2 لايه  HTML و  CSS است.
 
ديدن Source برنامه:
 
 
ديدن کد برنامه مي تواند به يادگيري شما سرعت ببخشد البته بايد در انتخاب وب سايت خود دقت نماييد تا اشتباه آنها مسير يادگيري شما را تغيير ندهد. روش کار بدين صورت است که ماوس را درروي صفحه جايي غير از تصاوير ببريد و کليک راست کنيد و view page source  يا view source را بزنيد.
بايد صفحه اي مانند زير در فايرفاکس ببينيد:
 
 
 
design-web-07.jpg 
يا در IE
 
 
design-web-08.jpg 
 
عناصر اصلي يک صفحهHTML :
 
 
 
     يک DocType
    يک<html> tag
    يک<head>  tag
    يک<title>   tag
    يک<body>   tag
 
 
 تو سورس پيداشون کنيد.
 
 
 
design-web-11.jpg
 
براي ديدن تصوير واضحتر روي تصوير بالا کليک کنيد
 
 
 
و حالا يک نمونه کد فقط شامل عناصري اصلي :
 
 
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
         <head>
             <title>Untitled Document</title>
             <meta http-equiv="Content-Type   content="text/html; charset=utf-8"/>
        </head>
        <body>
        </body>
    </html>
 
 
حالا مي خواهيم با تک تک اين عناصر آشنا شويم :
 
 
داک تايپ DocType  : Document Type Definition 
 
 
اولين آيتم صفحه است بدون فاصله. اين يک قانون است.
همانطوري که فايل word 2007 در نمايش در 2000 دچار مشکل مي شود HTML ها با داک تايپ هاي متفاوت هم نمايش متفاوت در مرورگرها خواهند داشت.
در واقع اين داک تايپ است که به مرورگر مي گويد اين سند از چه نوعي است و بايد به چه ترتيب Render شود . نحوه رندر شدن و تفاوت هاي آنها بايد در سطح حرفه اي تري مطرح شود.
داک تايپ ها هم در طول زمان به وجود مي آيند يعني مانند word نوع هاي جديدي روي قبلي ها عرضه مي شوند مانند HTML5  که به تازگي مطرح شده است.
براي ديدن داک تايپ هاي موجود به اين آدرس بريد http://reference.sitepoint.com/html/doctypes
 
 
 
    <!DOCTYPE  html  PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 
 
به کدهاي داک تايپ دقت نماييد: ما در اين خط مي گوييم نوع سند چيست و آدرسي که بايد به اين نوع سند در وب سايت کنسرسيوم جهاني وب World Wide Web Consortium يا W3C ، اشاره کند کدام است.
در حال حاضر دو نوع داکتايپ هستند که استفاده بيشتري دارند Transitional  و  Strict
همانطوري که گفتم فعلا دنبال تفاوت اين داک تايپ ها نباشيد به آن هم خواهيم رسيد .
تاکيد ميکنم : اولين آيتم صفحه است بدون فاصله. اين يک قانون است.
 
 
 
عناصر HTML  :
 
 
قبل از اين که عناصر HTML را شرح دهم بايد با مفهوم تگ (tag)  آشناشويد. تگ يعني اسمي که ميان اين دو <> قرار گيرد و نام تگ همان متني است که بين اين دو <> قرار مي گيرد
 
    تگ HTML    <html>
    تگ HEAD   <head>
 
 
design-web-09.gif  
 
تگ ها به دودسته container و empty  تقسيم مي شوند.تگ هاي container شامل يک تگ بازشونده و يک تگ بسته شونده هستند به مثال بالا دقت نماييد HTML  باز شده و بسته شده است. تگهاي empty  متفاوت هستند مانند مثال زير
 
    <img src="images/test.jpg" alt="test" />
    <br/>
 
 
تگ هاي empty  را مي توان به صورت container استفاده کرد ولي در داک تايپ هاي xhtml توصيه شده است که تگ هاي empty را به همان شکل empty  بنويسيم
در استفاده از تگ ها بايد دانيد که از چه نوعي هستند تا سند شما دچار error نشود بعنوان مثال اگر تگ div را به صورت empty  بنويسيم دچار error مي شويم.
نگران نباشيد کم کم همه آنها را خواهيد آموخت . بياييد همين الان تو اينترنت عبارت روبرو را جستجو کنيم :
 
    empty tag in html
 
 
بسيار عالي شما هم اين نتايج را پيدا کرديد :
 
    • <br/>
    • <hr/>
    • <meta/>
    • <base/>
    • <link/>
    • <meta/>
    • <img/>
    • <embed/>
    • <area/>
    • <input/>
    • 
 
اين را گفتم که هيچ وقت دنياي وب و جستجو را فراموش نکنيد.
 
 
غير از داک تايپ ها تمامي عناصر صفحه داخل تگ HTML است که شامل 2 بخش مي شود head و  body
 
 
عنصر HAED
 
 
اين يک تگ container  است و در بالاي سند قبل از body قرار مي گيرد و شامل اطلاعاتي در باره صفحه است مانند title, meta, css  و .....
 
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    </head>
 
عنصر  title :
 
 
يک تگ container است که متن وسط آن در عنوان (Title) بالاي صفحه قرار ميگيرد :
عنصر meta  :
متا تگ يک تگ empty است و براي  دلايل متفاوتي استفاده مي شوند اطلاعات اضافي که در مرورگر نمايش پيدا نمي کند . به طور مثال براي نام نويسنده ويا حق کپي رايت و يا نوع کاراکتر و ....
Css و  javascript  هم در  head قرار ميگيرند که بنا به نياز استفاده ميشوند البته براي جاوااسکريپت ميتوان يک تفاوتهايي  در طراحي هاي حرفه اي  قائل شد. به طور مثال سورسي که در طراحي سايت فوق استفاده شده است را مشاهده نماييد. جاوا اسکريپت در پايين صفحه درج شده است.
 
 
 
عناصر body :
 
 
هرآنچه در body قرار مي گيرد را مي توان در خروجي ديد: تيترها، پاراگراف ها, تصاوير و .......
طراحی وب سایت...
ما را در سایت طراحی وب سایت دنبال می کنید

برچسب : طراحی وب سایت,طراحی سایت,طراحی وب, نویسنده : sara webdesign31 بازدید : 367 تاريخ : يکشنبه 16 تير 1392 ساعت: 13:04

 
پيش نياز ها
 
پيش از شروع آموزش css 3 بهتر است آشنايي کلي با css داشته باشيد.
 
ماژول هاي css 3
 
css 3 به تعدادي ماژول تقسيم شده است. در حالي که مشخصه هاي قبلي به تکه هاي کوچک تري تقسيم مي شدند.
 
برخي از مهمترين ماژول هاي css 3 عبارتند از :
انتخاب گر ها
مدل باکس
تصاوير زمينه و خطوط حاشيه
اِفِکت هاي متني
دگرگوني هاي دو و سه بعدي
انيميشن ها
چيدمان ستون چند گانه
رابط کاربري
توصيه اي براي استفاده از css 3
 
تا زمان درج اين مطلب خصيصه هاي css 3 همچنان در حال توسعه توسط W3C هستند با اين حال بيشتر خاصيت هاي جديد css 3 توسط مرورگر ها مدرن پشتيباني مي شوند و قابل استفاده هستند.
 
 
 
 
 
 دانلود اين مطلب در قالب PDF
 دسته بندي: CSS » CSS 3 » آموزش
 برچسب ها: CSS ، css 3 چيست ، CSS3 ، آموزش CSS ، آموزش CSS3 ، شروع کار با css3
 
مجتبي درويشي
مجتبي درويشي هستم. طراح رابط کاربري وبسايت ...
    
ديدگاه ها
مطالب مرتبط
مشترک dariush | شنبه ?? شهريور ???? پاسخ
سپاس. اميدوارم اين سري آموزش ها را ادامه بديد و از مسايل فني و تکنيک هاي جديد css3 هم صحبت کنيد.
 
مشترک طراحي سايت | يکشنبه ?? آبان ???? پاسخ
سلام مطالب خوبي را ارائه مي دهيد موفق باشيد
 
از ارسال ديدگاه هاي اسپم خودداري کنيد. به هيچ وجه از بخش نظرات براي پرسيدن سوال استفاده نکنيد. سوالات و مشکلات مربوط به هر مطلب را در تاپيک مربوط به آن مطلب در انجمن هاي سايت مطرح نماييد.براي نمايش آواتار خود در فرم نظرات، مي‌توانيد در سايت گراواتار ثبت‌نام کنيد.
 
کليه حقوق مادي و معنوي اين وبسايت براي مدرسه وب ايران محفوظ مي باشد. 
طراحي توسط مدرسه وب با استفاده از Twitter Bootstrap 
قدرت گرفته از : وردپرس پارسي 
 
از زماني که در سال ???? HTML 4.01 به يک استاندارد تبديل شد، اينترنت و کاربرد آن تغييراتي زيادي کرده است.
 
امروز برخي از عناصر HTML 4.01 منسوخ شده اند، برخي استفاده نمي شوند و برخي ديگر کاربرد ديگري پيدا کرده اند. اين عناصر در HTML5 حذف و يا بازنويسي شده اند.
 
جهت استفاده راحت تر و بهتر از اينترنت، HTML5 عناصر جديدي را با کاربرد هاي ايجاد چارچوب هاي بهتر، کنترل و مديريت بهتر فرم ها، طراحي و محتواي رسانه اي شامل مي شود.
 
عناصر معنايي و ساختاري جديد
 
برچسبتوضيحات
<article>تعريف يک مقاله
<aside>تعريف محتوايي در کنار محتواي اصلي صفحه
<bdi>جدا سازي بخشي از يک متن که ممکن است به صورت متفاوتي نسبت به بقيه متن جهت گذاري شده باشد
<command>تعريف يک دکمه دستور که کاربر مي تواند آن را فراخواني کند
<details>تعريف توضيحات اضافي که کاربر مي تواند آن را مشاهده يا مخفي کند
<summary>تعريف يک سرتيتر قابل مشاهده براي عنصر <details>
<figure>تعريف محتواي اضافي داخل متن اصلي مثل تصاوير، نمودار ها، کد ها و …
<figcaption>تعريف يک توضيحات براي عنصر <figure>
<footer>تعريف پانوشت براي صفحه يا بخش
<header>تعريف سرصفحه براي صفحه يا بخش
<hgroup>دسته بندي مجموعه اي از <h1> تا <h6> زماني که سر تيتر ها داراي سطوح چند گانه هستند
<mark>تعريف متن هاي نشانه گذاري شده يا برجسته
<meter>تعريف يک اندازه گيري عددي داخل يک محدوده مشخص
<nav>تعريف پيوند هاي ناوبري
<progress>نمايش مقدار پيشرفت يک کار
<ruby>تعريف حاشيه نويسي ruby (براي تايپوگرافي شرق آسيا)
<rt>تعريف توضيح/تلفظ براي کاراکتر ها (براي تايپوگرافي شرق آسيا)
<rp>تعريف جايگزين براي مرورگر هايي که حاشيه نويسي ruby را پشتيباني نمي کنند.
<section>تعريف يک بخش داخل صفحه
<time>تعريف تاريخ/زمان
<wbr>تعريف يک شکست خط ممکن
عناصر رسانه اي جديد
 
HTML5 عناصر جديدي را براي محتواي رسانه اي پيشنهاد مي دهد :
 
برچسبتوضيحات
<audio>تعريف محتواي صوتي
<video>تعريف محتواي ويديويي يا فيلم
<source>تعريف منابع چندگانه براي <video> و <audio>
<embed>تعريف يک فضا براي نرم افزاري خارجي و يا محتواي تعاملي
<track>تعريف متن براي <video> and <audio>
عنصر جديد <canvas>
 
برچسبتوضيحات
<canvas>براي طراحي گرافيک در فضا بدون برنامه نويسي استفاده مي شود.
عناصر جديد فرم
 
براي ايجاد قابليت هاي بيشتر، HTML5 عناصر جديدي را براي فرم ها پيشنهاد کرده است :
 
برچسبتوضيحات
<datalist>قابليت هاي از پيش تعريف شده اي را براي کنترل input ها مشخص مي کند
<keygen>يک توليد کننده کليد جفتي براي زمينه ها تعريف مي کند.
<output>نتيجه محاسبات را تعيين مي کند.
عناصر حذف شده :
 
عناصري که در زير آمده اند در HTML5 حذف شده اند :
 
<acronym>
<applet>
<basefont>
<big>
<center>
<dir>
<font>
<frame>
<frameset>
<noframes>
<strike>
<tt>
 
جلسه سوم : Canvas5 پسنديدم فرزام فلاحي?? ارديبهشت ???? 246 بازديد
 
 
 
 
عنصر جديد  <canvas>براي رسم کردن اشکال گرافيکي در يک صفحه وب به کار مي آيد.
 
رسم کردن يک مستطيل با رنگ قرمز ، گراديانت يا چند رنگ مختلف با <canvas> :
 
 
 
 
Canvas  چيست ؟
 
عنصر <canvas> در html5 براي رسم اشکال گرافيکي با استفاده از اسکريپت نويسي ( معمولا با جاوا اسکريپت ) به کار مي آيد.
 
عنصر <canvas> فقط نگهدارنده اي  براي اشکال است . براي رسم آنها بايد از يک اسکريپت استفاده کنيد .
 
Canvas روش هاي مختلفي براي رسم خط ها ، جعبه ها ، دايره ها ، کارکتر ها و افزودن عکس دارد .
 
پشتيباني مرورگر ها
 
 
 
اينترنت اکسپلورر +? ، فاير فاکس ، اپرا ، گوگل کروم و سافاري از اين عنصر پشتيباني ميکنند .
 
تذکر : اينترنت اکسپلورر ? و نسخه هاي قبل از آن از عنصر canvas پشتيباني نميکنند !
 
يک canvas بسازيد !
 
Canvas   يک ناحيه مستطيلي در صفحه html است و با عنصر <canvas> مشخص ميشود .
 
تذکر : به طور پيشفرض <canvas> بدون محتوا و حاشيه است .
 
مثال :
 
1
<canvas id="myCanvas" width="200" height="100"></canvas>
تذکر : هميشه يک id براي canvas مشخص کنيد ( براي نسبت دادن اسکريپت به آن ) ، همچنين وارد کردن ارتفاع و عرض براي مشخص کردن اندازه الزامي است .
 
نکته : شما ميتوانيد چندين canvas در يک صفحه داشته باشيد .
 
 
 
براي اضافه کردن حاشيه از استايل استفاده کنيد :
 
1
2
3
<canvas id="myCanvas" width="200" height="100"
style="border:1px solid #000000;">
</canvas>
رسم کردن canvas با جاوا اسکريپت
 
همه اشکال گرافيکي در canvas به وسيله جاوا اسکريپت رسم ميشوند .
 
1
2
3
4
5
6
<script>
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
ctx.fillStyle="#FF0000";
ctx.fillRect(0,0,150,75);
</script>
شرح مثال :
 
ابتدا عنصر <canvas> را پيدا ميکنيم :
 
1
var c=document.getElementById("myCanvas");
سپس متد getcontext را فراخواني ميکنيم :
 
1
var ctx=c.getContext("2d");
getContext(“2d”)  يکي از اشيا html5 با ويژگي هاي فراوان براي رسم کردن خطوط ، جعبه ها ، دايره ها ، متون  ،  عکس ها  و … است .
 
دو خط بعدي يک مستطيل قرمز رسم ميکند .
 
1
2
ctx.fillStyle="#FF0000";
ctx.fillRect(0,0,150,75);
پروپرتي fillstyle ميتواند يک رنگ ، گراديانت يا پترن باشد .
 
به طور پيشفرض مقدار اين پروپرتي #?????? ( سياه ) است .
 
متد fillRect(x,y,width,height) مستطيلي با رنگ مورد نطر شما ( fillstyle ) رسم ميکند.
 
مختصاتCanvas
 
Canvas  شبکه اي دو بعدي است از خط هايي افقي و عمودي که براي پيدا کردن مختصات نقطه ي خاصي روي عکس بکار ميروند.
 
گوشه ي چپ-بالا در canvas مختصات  ( ?,? ) را دارد .
 
بنابراين، متد fillRect در بالا پارامتر هاي (?,?,???,??) را دارد.
 
اين به اين معني است که : از نقطه ي چپ-بالا ( ?,?) شروع کن و مستطيلي با پيکسل هاي ???×?? بکش .
 
مثال مختصات ها
 
نشانگر موس را روي مستطيل زير ببريد تا مختصات x  و y آنرا ببينيد.
 
 
 
 
 
Canvas  - مسيرها
 
 براي کشيدن خطوط مستقيم در canvas ، ميتوان از روش هاي زير استفاده کرد .
 
moveTo(x,y) نقطه ي شروع خط را تعريف ميکند
lineTo(x,y) نقطه ي پاياني خط را تعريف ميکند.
براي اينکه واقعا يک خط بکشيد ، بايد از يکي از متد هاي ink  استفاده کنيم. مانند stroke()
 
 
 
نقطه ي شروع را در مکان (?,?) و نقطه ي پايان را در (???,???) تعريف کنيد. سپس از متدstroke  استفاده کنيد تا خط را بکشيد.
 
جاوا اسکريپت :
 
گراديانت  را ميتوان در canvas  ها براي پر کردن مستطيل ها ، دايره ها ، خطوط ، متون و ساير چيزها استفاده کرد . اشکال در canvas  تنها محدود به تک رنگ ها نيستند.
 
دو نوع مختلف از Gradient  ها وجود دارند.
 
createLinearGradient(x,y,x1,y1)– که يک گراديانت خطي ميسازد.
createRadialGradient(x,y,r,x1,y1,r1) که گراديانت راداري/مدور ميسازد.
بعد از اينکه يک شکل با gradient  ساختيم ، بايد دو يا چند ايستگاه رنگ اضافه کنيم .
 
متد  addColorStop() ايستگاه هاي رنگ و جايگاه هاي آنها در gradient  را مشخص ميکند. نقاط gradient  ميتواند هرجايي بين ? و ? باشد.
 
براي استفاده از gradient ، پروپرتي هاي fillStyle و strokeStyle را بهgradient  بدهيد سپس شکل را بکشيد ، مانند يک مستطيل ، يک متن و يا يک خط .
 
استفاده از createLinearGradient() :
 
يک gradient  خطي بکشيد . مستطيل را با gradient  پر کنيد.
 
 
 
جاوا اسکريپت :
 
1
2
3
4
5
6
7
8
9
10
11
var c=document.getElementById("myCanvas");
varctx=c.getContext("2d");
 
// Create gradient
vargrd=ctx.createLinearGradient(0,0,200,0);
grd.addColorStop(0,"red");
grd.addColorStop(1,"white");
 
// Fill with gradient
ctx.fillStyle=grd;
ctx.fillRect(10,10,150,80);
استفاده از  createRadialGradient() :
 
يک gradient  راداري/مدور بسازيد . مستطيل را با gradient  پر کنيد.
 
 
 
جاوا اسکريپت :
 
1
2
3
4
5
6
7
8
9
10
11
var c=document.getElementById("myCanvas");
varctx=c.getContext("2d");
 
// Create gradient
vargrd=ctx.createRadialGradient(75,50,5,90,60,100);
grd.addColorStop(0,"red");
grd.addColorStop(1,"white");
 
// Fill with gradient
ctx.fillStyle=grd;
ctx.fillRect(10,10,150,80);
Canvas  - تصاوير
 
براي کشيدن يک عکس در canvas از متد زير استفاده ميکنيم .
 
drawImage(image,x,y)
جاوا اسکريپت :
 
1
2
3
4
var c=document.getElementById("myCanvas");
varctx=c.getContext("2d");
varimg=document.getElementById("scream");
ctx.drawImage(img,10,10);
 
 
 
 
 
 
 
 
 
 
 
جلسه چهارم: افکت هاي متني در CSS34 پسنديدم سعيد نجفي?? آذر ???? 1116 بازديد
 
 
CSS3 شامل چندين ويژگي جديد براي متن ها مي باشد. شما در اين درس با ويژگي هاي زير آشنا خواهيد شد:
 
سايه دادن براي متن ها
word-wrap
پشتيباني مرور گرها
 
خاصيتپشتيباني مرورگرها
text-shadow
word-wrap
Inteet Explorer هنوز خاصيت سايه دادن به متن را پشتيباني نمي کند.
 
تمام مرورگر هاي مهم خاصيت word-wrap را پشتيباني مي کنند.
 
خاصيت سايه دادن به متن ها در CSS3
 
در CSS3 خاصيت text-shadow سايه دادن به متن را امکان پذير مي کند.
 
 
 
 
 
شما مي بايست سايه ي عمودي و افقي، ميزان تار بودن سايه و رنگ سايه را وارد کنيد.
 
1
2
3
4
h1
{
text-shadow: 5px 5px 5px #FF0000;
}
خاصيت word-wrap
 
اگر ما يک ناحيه اي داشته باشيم و کلمه اي به اندازه اي بزرگ باشد که نتواند در آن اندازه جا شود، کلمه از آن قسمت خارج مي شود:
 
 
 
در CSS3 خاصيت word-wrap به شما اجازه مي دهد تا کلمه را مجبور به شکسته شدن کنيد و حتي آن را از وسط جدا نماييد تا از داخل کادر بيرون نزند.
 
 
 
کد زير به کلمات طولاني اجازه مي دهد تا شکسته شده و در سطر بعدي قرار گيرند:
 
1
p {word-wrap:break-word;}
 
 
 
 
 
 
 
 
 
 
 
جلسه پنجم : پاراگراف ها97 پسنديدم مجتبي درويشي?? ارديبهشت ???? 49900 بازديد
 
 
سند هاي html به چند پاراگراف تقسيم مي شوند.
 
پاراگراف هاي html
 
پاراگراف ها در html با تگ <p>  تعريف مي شوند .
 
1
2
<p>This is a paragraph</p>
<p>This is another paragraph</p>
نکته : مرورگر ها به طور خودکار يک خط خالي به قبل و بعد از پاراگراف اضافه مي کنند.
 
تگ پايان را فراموش نکنيد !
 
اکثر مرورگر ها صفحه html را حتي اگر تگ ها را نبنديد نيز به درستي نشان مي دهند .
 
1
2
<p>This is a paragraph
<p>This is another paragraph
مثال بالا در اکثر مرورگر ها کار ميکند ، ولي به آن اعتماد نکنيد. فراموش کردن بستن تگ ها ميتواند باعث يک اتفاق غير منتظره يا خطا شود .
 
نکته : نسخه هاي آينده ي html به شما اجازه نمي دهند بدون بستن تگ از آن رد شويد.
 
رفتن به خط بعدي در HTML
 
اگر ميخواهيد بدون ايجاد يک پاراگراف به خط بعدي برويد ميتوانيد از تگ <br/> استفاده کنيد.
 
1
<p>This is<br />a para<br />graph with line breaks</p>
تگ <br/> در html  پايان ندارد و نيازي به بستن آن نيست.
 
<br/>  يا <br>
 
در xhtml يا xml عناصر بدون تگ پايان مجاز نيستند. حتي اگر <br> در تمام مرورگر ها کار کند ، در عوض نوشتن  <br/> در برنامه هاي xml و xhtml بهتر کار مي کند.
 
خروجي html  - نکات مفيد
 
شما نميتوانيد مطمئن باشيد که صفحه html چگونه نمايش داده خواهد شد . صفحه بزرگ يا کوچک ، و  پنجره تغيير اندازه داده شده نتايج مختلفي بوجود مي آورد.
 
در html ، شما نميتوانيد با افزودن فضاي اضافه يا خط اضافه به کد هاي html  تغييري در خروجي آن ايجاد کنيد.
 
مرورگر در زمان نشان دادن صفحه خط ها و فضاهاي اضافه را  پاک خواهد کرد.
 
هر تعداد از خط ها يک خط و هر تعداد از فضاها به اندازه يک فضا محسوب مي شوند.
 
 
طراحی وب سایت...
ما را در سایت طراحی وب سایت دنبال می کنید

برچسب : طراحی وب سایت,طراحی سایت,طراحی وب, نویسنده : sara webdesign31 بازدید : 424 تاريخ : پنجشنبه 6 تير 1392 ساعت: 15:37

  در اين جلسه از آموزش طراحی وب سایت  css با گزينشگرهاي صفت يا همان attr selectors آشنا خواهيم شد.

همانطور که ميدانيد تگ هاي html  طراحی وب سایت  داراي صفت هايي نيز هستند ما در اين جلسه خواهيم آموخت که چگونه به هر تگ با صفت هاي مختلف استايل متفاوتي دهيم.

گزينشگرهاي صفت

 

 

براي انتخاب يک صفت در طراحی وب سایت  css پس از انتخاب تگ، صفت و مقدار آنرا در داخل [] قرار مي دهيم به کد زير دقت کنيد :

1

tagname[attribute="value"] {

2

 // some code

3

}

براي مثال مي خواهيم با استفاده از طراحی وب سایت  صفت alt رنگ متن مان را تغيير دهيم

کد html

 

1

<p alt="red-text">7lea</p>

2

<p alt="blue-text">7lea</p>

کد css

 

1

p[alt="red-text"] {color: red;}

2

p[alt="blue-text"] {color: blue;}

دقت داشته باشيد که مي توان از همه صفت هاي موجود استفاده کرد حتي class و id به طور مثال :

 

 طراحی وب سایت 

p[class="blue-text"] {color: blue;}

اين کد تعيين ميکند تگ p که مقدار صفت class ان برابر با blue-text است رنگش را برابر با آبي قرار بده.

 

طراحی وب سایت...
ما را در سایت طراحی وب سایت دنبال می کنید

برچسب : طراحی وب سایت,طراحی سایت,طراحی وب, نویسنده : sara webdesign31 بازدید : 370 تاريخ : چهارشنبه 29 خرداد 1392 ساعت: 14:52