موتور آژاکس

function ajax(url, data, content){
var xmlHttp;
if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
} else if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4) {
document.getElementById(content).innerHTML = xmlHttp.responseText;
}
}
xmlHttp.open("POST", url , true);
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
xmlHttp.send(data);
{
 
توضیح اینکه ابتدا شیء xmlHttp ایجاد میشود و سپس عمل پست داده ها به صورت پشت صحنه انجام میشود. در صورت اتمام کار و ارسال داده های جواب از طرف سرور وضعیت readyState =۴ برگردادنده   میشود  و نتیجه در المان خروجی قرار داده می شود که در نتیجه لود شدن دوباره صفحه را نداریم.
نکته مهم این است که استفاده از موتور آژاکس خیلی ساده است. ضمن اینکه کار طراحی سایت را نیز ساده تر میکند و برای کاربر هم بهینه تر است

نگاهی به سیر تحول ویندوز

نگاهی به سیر تحول ویندوز

همه چیز از آن 10 نوامبر شروع شد. از آن 10 نوامبر 1983. هتل پلازا. دو مرد آمدند. دو بزرگمرد. دو غول. شاید آن روزها هنوز غول نشده‌ بودند. شاید هنوز ابرمرد نبودند. اما بی‌شک پایه‌گذاران، بودند. پایه گذاران مایکروسافت. بیل گیتس. پل آلن.
آن دو مرد آمده بودند که خبر دهند از تولد کودک خردسالی که قرار بود نسل آینده سیستم‌عامل‌های جهان باشد. با وجود رقیب قدرتمندی چون مکینتاش اپل ( Apple Macintosh ) کودک رشد کرد تا به پرکاربرترین سیستم عامل جهان تبدیل شود. سیستم عاملی که مسلما باعث تحولی در دنیای کامپیوترهای رومیزی شد.
در این مقاله باز می‌گردیم به دورانی که مایکروسافت نسخه شماره یک ویندوز را ارائه کرد. در سال 1985 اولین نسخه نهایی از ویندوز مایکروسافت ارائه شد. به علت زیاد بودن تعداد عکس‌ها چند روزی این سفر به گذشته طول می‌کشد. هر چند شما مسلما تا پایان سفر همراه خواهید بود. سفری با نگاهی به سیر تحول Windows. پنجره‌ای به جهان!

• Windows 1.01 سال 1985

در November 20, 1985 این نسخه 16 بیتی از سیستم‌عامل ویندوز وان ارائه شد. سیستم عاملی که کمتر از یک مگابایت حجم داشت و اولین سیستم عاملی بود که قابلیت multi tasking را ارائه کرد. این اولین سیستم عامل گرافیکی بر پایه MS-DOS 5.0 محسوب می‌شد.

• Windows 1.03 سال 1986

نسخه آپگرید شده از 1.01 که حجمی فوق‌العاده بالا را اشغال می‌کرد. 2.2 مگابایت!

• Windows 2.03 سال 1987

این سیستم عامل آمده بود که جهش بزرگی در سرعت کامپیوترها ایجاد کند. آن زمان سیستم عاملی نوشته نشده بود که از پردازنده ( CPU ) های سری 286/386 اینتل پشتیبانی کند. این نسخه از windows کار بزرگی می‌کرد. به کاربر قدرت شخصی سازی صفحه را هم ارائه می‌کرد. آن هم در حالی که حجمی کمتر از 2.5 مگابایت داشت.

• Windows 3.1 سال 1992

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

• Windows NT 3.1 سال 1993

اولین نسخه از سری تکنولوژی جدید (New Technology (NT) ) اولین سیستم عامل 32 بیتی جهان بود. ویندوز NT نسخه 3.1 شروعی بود بر سیستم‌عامل‌هایی که در حقیقت لباسی بر تن داس نبودند. سنت ارائه نسخه چند نسخه مانند نسخه خانگی یا تجاری ویندوز از اینجا کلید خورد.

• Windows NT 3.51 Workstation سال 1995

در این سری بالاترین میزان محافظت از اطلاعات تا آن زمان در خدمت اپلیکشن‌های تجاری و کاربران قرار گرفت. OpenGL هم آنجا راه به ویندوز یافت تا مهندسین و برنامه‌نویسان و صاحبان بنگاه‌های تجاری بتوانند از قدرت مافوق تصور اوپن جی‌ال برای ارائه نرم‌افزارهای گرافیکال و بسیار زیباتر بهره ببرند. زمینه سازی برای ظهور ستاره رو به پایان است.

• Windows 95 سال 1995

ستاره آمد. انقلاب آغاز شد! ویندوز 95 موفق‌ترین سیستم‌عامل تاریخ تا آن زمان شد. سیستم عاملی تمام گرافیکی که استانداردها را پله‌ها بالاتر برد. پشتیبانی از 32-bit TCP/IP به معنای انفجار دنیای اینترنت بود. دیال‌آپ متولد شد و نصب کن و اجرا کن (Plug and Play ) گویی دنیای نصب سخت‌افزار در سیستم‌عامل را دوباره احیا کرد! چه کسی می‌تواند از تاثیر عمیق ویندوز 95 بر جهان کامپیوتر چشم ببندد؟ فقط آن دوران پرشکوه را به یاد آورید. دیگر حرفی برای گفتن باقی نمی‌ماند :)

• Windows NT 4.0 سال 1996

دنیای شبکه‌های کامپیوتری نیاز به تحول داشت. ان‌تی 4 این کار را کرد به طوری که می‌توان آن را نسخه شبکه ویندوز 95 نامید. نسخه‌ای که برای اولین بار تمرکز خود را معطوف به ساده‌سازی شبکه‌ کردن کامپیوترها کرد.

• Windows 98 سال 1998

مایی که با نسخه 95 کار کرده بودیم برای‌مان قابل باور نبود ویندوزی مانند 98 ارائه شود. ویندوزی که به بنا بر گفته مایکروسافت اولین نسخه ویژه برای راحتی مصرف کننده طراحی شد و با شعار Works Better, Plays Better محبوبیتی مافوق تصور یافت. اگر زمان ویندوز 95 را یادتان نیاید یا کامپیوتر نداشتید ولی دیگر محال است ویندوز 98 را ندیده باشید. تا سالها بعد و بعد از آمدن ویندوز XP هم ویندوز 98 طرفداران خاص خود را داشت و هنوزم مراجعینی به این وبلاگ می‌آیند که از ویندوز 98 استفاده می‌کنند.

ویندوز 98، مخصوصا در سال 1999 با ارائه نرم‌افزار پارسا 99 به سیستم عاملی به یادماندنی تبدیل شد به طوری که من هنوزم راهنمایی که برای نصب این سیستم عامل نوشته بودم و به دوستان و آشنایان می‌دادم را فکر می‌کنم داشته باشم. فکر کنم از ویندوز 98 هم بود که من بازی با کنسول‌ها را رها کرده و به سراغ بازی با کامپیوتر آمده‌ام.
نسخه‌های بعدی، نسخه‌ جدید ویندوز محسوب می‌شوند و خیلی از کاربران کامپیوتر با آنها آشنایی دارند. اما با نسخه‌هایی از ویندوز که در این مقاله با آنها آشنا شدیم کمتر آشنایی دارند.
منبع : یک فتحی

دانشمندان مسلمان ؛ نخستين طراحان رايانه‌هاي آنالوگ

دانشمندان مسلمان ؛ نخستين طراحان رايانه‌هاي آنالوگ

رايانه در هزارتوي تاريخ (2)

اين دستگاه ها اغلب به صورت تك نفره قابل استفاده بودند و با تماس مستقيم دست كار مي كردند. يكي از نمونه هاي باستاني اين نوع وسايل tally stick نام دارد كه در واقع لوح هايي سنگي براي ثبت و ضبط اعداد و اطلاعات به صورت چوب خط بودند و در طول زمان به تدريج تكامل يافتند.
اما بدون شك شناخته شده ترين وسيله محاسباتي قديمي كه حتي امروز نيز مي توان نمونه هايي از آن را در برخي فروشگاه هاي قديمي يافت، چرتكه است. استفاده از چرتكه به 2400 سال قبل از ميلاد و زمان حكومت امپراطوري روم و قوم بابل بازمي گردد. از آن زمان تاكنون چرتكه بارها تغيير كرده ولي ساختار اصلي آن حفظ شده است.
شايد جالب باشد كه بدانيد در دوران قرون وسطي رايانه هاي آنالوگ و مكانيكي اختراع شد كه براي انجام محاسبات رياضي و نجومي مورد استفاده قرار مي گرفتند. اين دستگاه ها از علومي همچون اسطرلاب و ديگر مكانيسم هاي ابداع شده در دوران شكوفايي يونان باستان بهره مي برند. اگر چه عمده اين رايانه هاي آنالوگ در قرون وسطي طراحي شده و به كار گرفته مي شدند، اما قدمت برخي از آنها به 100 تا 150 سال قبل از ميلاد مسيح مي رسد.

در دنياي رايانه هاي قديمي و اوليه نام ايران و ابوريحان بيروني نيز مطرح مي شود. از جمله ابزار محاسباتي قديمي مي توان به جام جهان نما هم اشاره كرد كه از جمله ابداعات ابوريحان بيروني است. ابوريحان محمد بن احمد بيروني دانشمند بزرگ و رياضي‌دان، ستاره‌شناس و تاريخ‌نگار ايراني سده چهارم و پنجم هجري است و بعضي از پژوهندگان او را از بزرگ‌ترين فيلسوفان مشرق‌زمين مي‌دانند.
در اين دوران كه دوره اوج شكوفايي تمدن اسلامي – ايراني محسوب مي شود دانشمندان مسلمان ديگري نيز در زمينه طراحي آنچه كه امروز به عنوان رايانه هاي آنالوگ مي شناسيم فعال بودند. اين دستگاه ها عمدتاً در حوزه علم نجوم و ستاره شناسي مورد استفاده بودند. يكي ديگر از اين دانشمندان ابواسحاق الزرقالي است.
ساعت قلعه يا castle clock كه ساعتي براي انجام امور ستاره شناسي بود در سال 1206 ميلادي توسط يكي ديگر از دانشمندان مسلمان به نام الجزاري اختراع شد. اين ساعت يكي از اولين نمونه هاي رايانه هاي آنالوگ قابل برنامه ريزي دانسته شده است. اين وسيله قادر به نمايش مدارهاي مختلف شمسي و قمري بود و به دقت نحوه حركت سيارات و اقمار آنها را به تصوير مي كشيد و در زمان خود محصولي بي نظير بود.
با استفاده از اين محصول به دست آوردن دقيق طول روز و شب ممكن بود و با برنامه ريزي هاي مختلف مي شد از اين وسيله براي محاسبات شرعي و ديني نيز استفاده كرد.
با پايان قرون وسطي و آغاز عصر رنسانس در اروپا تكامل رايانه هاي آنالوگ از خاورميانه به اين قاره منتقل شد. جان نپير رياضي دان و فيزيكدان اسكاتلندي يكي از اولين افرادي بود كه جدول لگاريتمي را ابداع كرده وروش هاي جديدي را براي انجام خودكار ضرب، تقسيم، جمع و تفريق ابداع كرد.
وي سرانجام يك چرتكه جديد اختراع كرد كه به Napier bones معروف شد. اين چرتكه بر خلاف چرتكه هاي قديمي به گونه اي طراحي شده بود كه مي شد با استفاده از آن به سرعت محاسبات مربوط به چهار عمل اصلي را انجام داد. طي سال هاي بعد چرتكه باز هم تكامل بيشتري يافت كه البته پرداختن به آن از حوصله و موضع اصلي اين بحث خارج است.
اما تحول بعدي در دنياي رايانه هاي اوليه توسط ويلهم شيكارد رقم خورد. وي كه يك دانشمند آلماني بود، يك ماشين محاسب جديد را در سال 1623 ابداع كرد. متاسفانه وقوع آتش سوزي در ساختمان محل طراحي اين دستگاه باعث شد نمونه اوليه آن به طور جدي آسيب ببيند و شيكارد هم ترجيح داد از طراحي و تكميل اين دستگاه دست بكشد. اما بعدها باقيمانده اين دستگاه در سال 1957 كشف شد. البته در آن زمان رايانه هاي مدرن تري از راه رسيده بودند و كسي تمايلي به تكميل اختراع شيكارد نداشت.
در سال 1642 پاسكال كه هنوز نوجوان بود و به شهرت عالمگير خود در دنياي رياضيات نرسيده بود طراحي يك ماشين محاسب اوليه را آغاز كرد و پس از سه سال كار و تلاش 50 نمونه از آن را عرضه كرد.
وي مخترع ماشين حساب مكانيكي محسوب مي شود و طي ده سال 20 نمونه از اين دستگاه كه بعدها پاسكالين نام گرفت را توليد كرد.
منبع:خبرگزاری فارس

ورودInternet Explorer 9 به دنیای کامپیوتر

ورودInternet Explorer 9  به دنیای کامپیوتر
شرکت مایکروسافت در جریان برگزاری کنفرانس Mix در لاسوگاس آمریکا ، کاربردها و قابلیت هایی که قرار است در نسخه جدید مرورگر اینترنتی آن به کار گرفته شود را به برنامه نویسان ، توسعه دهندگان وب و کلیه ی جهانیان معرفی کرد.
مایکروسافت در این اقدام ، پیش نمایش پلتفورم نسخه ی جدید مرورگر اینترنتی خود را با نام :
Internet Explorer 9 Platform Preview به نمایش گذاشت.
این نرم افزار که هم چنان نسخه ی اولیه مرورگر جدید مایکروسافت محسوب میشود، به منظور معرفی تلاش های این شرکت برای توسعه مرورگرهای اینترنتی طراحی شده و نشان می دهد که در این برنامه از فناوری های جدید اینترنتی که هم اکنون در حال معرفی به بازار هستند نیز پشتیبانی شده است. مایکروسافت اعلام کرد که مرورگر Internet Explorer 9 را برای بارگذاری در سایت خود قرار داده است. این نسخه بتا 2 آزمایشی این مرورگر است.
این نرم افزار هنوز یک چارچوب کاری(Framework) اولیه محسوب می شود و به همین خاطر فاقد برخی بخش های کاربردی نظیر کلید Back است . اما دین هاچامویچ ( Dean Hachamovitch ) مدیر مرکز Internet Explorer مایکروسافت در سخنرانی خود در کنفرانس Mix اعلام کرد که طی ۸ هفته آینده این نسخه اولیه تکمیل و نسخه بتا از مرورگر اینترنتی IE 9 عرضه خواهد شد و پس از آن نسخه کاندید و در نهایت، نسخه نهایی این مرورگر به دست کاربران خواهد رسید.

از قابلیت های کلیدی نرم افزار Internet Explorer 9 Platform Preview 2. می توان سازگاری با استاندارد جدید CSS3 و HTML5 را نام برد. IE9 می تواند در ایجاد محتواهای چند رسانه ای ، بدون نیاز به حمایت از Adob flash بسیار کارامد باشد.
از دیگر نوآوری های IE9 می توان به استفاده کامل از سخت افزارگرافیک موجود در سیستمهای امروزی ، به خصوص کارت گرافیک ویدیو Nvidia Ion اشاره کرد. IE9 با به کاربردن موتور جدیدی به نام " چاکرا "مخصوص برنامه جاوا اسکریپ توانسته بهره کامل از سخت افزار خود را با وارد پس زمینه جاوا اسکریپ داشته باشد.
همچنین IE9 می تواند به طور کامل از توانایی پردازش سه بعدی و پردازش با کیفیت بالای محتویات چند رسانه ای استفاده کند.
در کل از خصوصیات IE9 می توان به موارد زیر اشاره کرد :
- سازگاری بالا با سیستمهای " ضد ای پد " برپایه سیستم عامل ویندوز دارد.
- سازگاری با سایتهایی که به زبانهای مختلف برنامه نویس شده اند
- کمک به کاهش مصرف باتری کامپیوترهای قابل حمل
- داشتن سرعت بالا در هنگام جستجو
- افزایش امنیت در مقابل نفوذ هکرها
-افزایش قابلیتهای دانلود منیجر مرورگر
-امکان اضافه نمودن و نصب انواع نوارها
- بروز رسانی نرم افزار از اینترنت
- محیط زیبا و کاربرپسند
- سازگاری با تمام ویندوز ها
- و کاربرد آسان
-حجم کم

منبع : راسخون

خرابكارها به تعطيلات نمي‌روند

افزايش شمار قربانيان حملات اينترنتي در فصل تابستان
رشد بازي‌هاي آنلاين، خريدهاي الكترونيك، وبگردي، اشتراك فايل، استفاده از شبكه‌هاي اجتماعي، گشت و گذارهاي اينترنتي و از همه مهمتر سرازير شدن نسلي جديد از كاربران به فضاي اينترنت، تابستان امسال را نيز به فصل مورد علاقه خرابكاران تبديل كرده است.
براساس گزارش شركت امنيتي Panda Security، شرايط ناشي از دسترسي‌هاي غيرايمن به اينترنت توسط كاربران كنجكاو، ناآگاه و غيرحرفه‌اي اينترنت، بهترين ابزار براي گسترش حملات اينترنتي عليه سرتاسر شبكه جهاني وب محسوب مي‌شود. در اين ميان، نقش كاربران جوان‌تري كه در فصل افزايش اوقات فراغت خود، دسترسي بيشتر و درعين‌حال ناامن‌تري به اينترنت دارند، غيرقابل انكار است.
پاندا اعلام كرده است كه رعايت چند نكته ساده و كوچك امنيتي توسط هركدام از اين كاربران، مي‌تواند تأثير مهمي در افزايش امنيت فردي، اجتماعي و حتي جهاني كاربران فعال اينترنت در پي داشته باشد. اين شركت امنيتي با انتشار فهرستي از نكات و ملاحظات مهم اينترنتي از كاربران جوان‌تر اينترنت دعوت كرده كه با رعايت آنها اطلاعات و ارتباطات محرمانه خود را حفاظت كنند و در ارتقاء سطح عمومي امنيت اطلاعات رايانه‌اي در سرتاسر جهان مؤثر باشند.

مراقب نامه‌هاي الكترونيك و پيغام‌هاي اينترنتي باشيد

Emailها يا به عبارتي نامه‌هاي الكترونيك، يك راه مهم در نقل‌وانتقال گسترش كدهاي مخرب اينترنتي به حساب مي‌آيند. كلاهبرداري‌هاي آنلاين، حملات Phishing و هرزنامه‌ها هم اغلب به شكل نامه‌هاي الكترونيك شما را هدف قرار مي‌دهند. نامه‌هايي با پيشنهاد مسافرت‌هاي ارزان‌قيمت تابستاني، بليت‌هاي رايگان مراكز تفريحي و هرگونه تسهيلات كه بدون دليل و از مراكز نامشخص و مشكوك ارسال مي‌شوند، مي‌توانند حاوي پيوندهاي اينترنتي باشند كه با يك كليك ساده بر روي آنها، رايانه شما خود به ابزاري تحت فرمان براي ارسال هرزنامه تبديل شده و يا در معرض آلودگي‌هاي جدي قرار بگيرد. توصيه پاندا به كاربران اين است كه به هرگونه نامه مشكوك كه از منابع نامشخص ارسال شده‌اند توجه نكنند و آنها را جدي نگيرند.

اصلاحيه‌هاي امنيتي مربوط به سيستم‌هاي عامل و نرم‌افزارهاي مهم كاربردي را به سرعت نصب كنيد

اين مسئله، موجب ترميم حفره‌ها و نقص‌هاي امنيتي موجود در برنامه‌هاي پركاربرد و به ويژه سيستم‌هاي عامل نصب شده در رايانه‌ها مي‌گردد كه معمولاً توسط هكرها و خرابكاران اينترنتي براي انجام نفوذهاي غيرمجاز و يا تزريق كدهاي مخرب به درون سيستم‌ها مورد استفاده قرار مي‌گيرد، بسياري از برنامه‌هاي كاربردي مهم و سيستم‌هاي عامل مانند Microsoft Windows يا Adobe Acrobat ممكن است به مشكل خودكار، اصلاحيه‌هاي امنيتي خود را درهنگام اتصال به اينترنت دانلود كنند. درغيراينصورت، شما بايد حتماً هرچندگاه يكبار به پايگاه اينترنتي شركت‌هاي مهم نرم‌افزاري مراجعه كنيد و اصلاحيه‌هاي جديد آنها را دريافت و نصب نماييد. اين مسئله درخصوص سيستم‌هاي عامل از اهميت بيشتري برخوردار است.

هيچگاه، هيچ فايل يا برنامه‌اي را از پايگاه‌هاي اينترنتي مشكوك و بي‌نام و نشان دانلود نكنيد

اغلب احتمال آلوده بودن اين نوع فايل‌ها، هرچقدر هم كه براي شما اهميت كاربردي داشته باشند، بسيار زياد است. كاربراني كه در فصل تابستان از اوقات فراغت بيشتري برخوردارند و كنجكاوي اينترنتي آنها اوج مي‌گيرد، ممكن است با فايل‌ها و نرم‌افزارهايي برخورد كنند كه بسيار كاربردي و مفيد به نظر برسند. در اين شرايط، توجه كنيد كه دانلود اين برنامه‌ها، هرچند اگر كاملاً رايگان باشند، از پايگاه‌هاي متفرقه و بي‌نام و نشان اينترنتي بسيار خطرناك است. بسياري از كدهاي مخرب، ازطريق پنهان شدن در فيلم‌ها، تصويرها، فايل‌ها و نرم‌افزارهاي جذاب و ازطريق وب‌سايت‌هاي ناامن و آسيب‌پذير به درون رايانه شما نفوذ مي‌كنند.

مراقب اطلاعاتي كه در وب سايت‌هاي اجتماعي وارد مي‌كنيد باشيد

My space , Twitter , Face book , You Tube كمتر كسي است كه با رايانه سروكار داشته باشد و اين اسم‌ها به گوشش نخورده باشد. اين پايگاه‌هاي اجتماعي كه محلّ گردهمايي، تبادل‌نظر و اشتراك اطلاعات كاربران اينترنت محسوب مي‌شوند، مورد استقبال گسترده آنها قرار گرفته، درعين‌حال اين پايگاه‌ها، مجموعاً اطلاعات مربوط به صدها ميليو ن كاربر فعال را در خود جاي داده‌اند كه ممكن است مورد استفاده واقع شود. پس مراقب ارتباطات وب سايت‌هاي جذاب باشيد.

روتر/ مودم خود را در مواقع غيرضروري خاموش نگه داريد...

اين دستورالعمل به ويژه براي كاربراني كه اطلاعات بسيار حساس و محرمانه را در رايانه‌هاي شخصي خود نگاه مي‌دارند حياتيست. استفاده ناامن كاربران ديگر از حساب اينترنتي شما و دانلود ناآگاهانه فايل‌هايي كه قدرت تخريبي بالايي دارند، تنها بخشي از اقداماتي ست كه ممكن است ازطريق دسترسي غيراصولي به اتصال اينترنتي شما انجام شوند.

در محيط‌هاي اشتراكي شبكه‌هاي محلّي كوچك، دقيق‌تر و حساس‌تر باشيد.

بسياري از كاربران براي انجام فعاليت‌هاي اينترنتي خود به كافي‌نت‌ها يا شبكه‌هاي كوچك متصل به اينترنت مراجعه مي‌كنند. برخي هم رايانه خود را براي استفاده از اينترنت پرسرعت به يك شبكه گروهي متصل مي‌كنند. اطلاعات اين كاربران در معرض حملاتي به مراتب وسيع‌تر و شديدترست.
يك دستورالعمل ويژه در رابطه با محيط‌هاي اشتراكي اين است كه به هيچ‌وجه در اين محيط‌ها فعاليت‌هاي بانكي و مالي انلاين انجام ندهيد، هرچند اگر مبلغ بسيار كمي را به شكل الكترونيك انتقال مي‌دهيد. رمزهاي عبور شما معمولاً در شبكه‌هاي اشتراكي بسيار آسيب‌پذيرند؛ بنابراين به هيچ‌عنوان از گزينه‌هاي مربوط به ثبت مجازي رمزهاي عبور براي به خاطر سپردن صفحات شخصي خود در اينترنت استفاده نكنيد. توجه به اين نكته نيز بسيار حياتيست كه رايانه‌هايي كه به هر نحو به ويروس‌ها يا كدهاي مخرب اينترنتي آلوده باشند، بستر مناسبي براي ارسال يا دريافت امن و كامل اطلاعات حساس به حساب نمي‌آيند.

از دسترسي امن و سالم كودكان و نوجوانان به اينترنت اطمينان حاصل كنيد

فصل تابستان و به ويژه تعطيلات تابستاني، بي‌شك با افزايش استفاده از رايانه و اينترنت توسط كودكان و نوجوانان همراه است. نسل جديد، بي‌تجربه و درعين‌حال كنجكاوي كه هر روزه جمع كاربران قبلي اضافه مي‌شوند، نقش عمده‌اي در افزايش و يا كاهش ضريب امنيتي اينترنت ايفا مي‌كنند. آگاهي‌بخشي و اطمينان از دسترسي امن و مسئولانه آنها به اينترنت، كمك بزرگي به خود آنها و نيز به افزايش امنيت عمومي اينترنت خواهد بود. ثبت عنوان پايگاه‌ها و صفحات بازديد شده و نيز ارائة گزارش‌هاي دقيق به والدين، از ديگر مزاياي اين برنامه‌هاست.

نرم‌افزار امنيتي خود را همواره فعال و به روز نگاه داريد

نرم‌افزارهاي امنيتي قلب قدرت دفاعي رايانه‌هاي شما در برابر تهديدهاي متنوع و روزافزون رايانه‌اي است. يك برنامة مناسب كه بنابر توصية كارشناسان بهتر است نسخة رسمي و ثبت شده يك ضد ويروس قدرتمند باشد، مي‌تواند امنيت اطلاعات خصوصي و محرمانه شما را تضمين كند. گذشته از اين، برنامه‌هاي امنيتي قدرتمند ديگري هم به صورت كاملاً رايگان توط شركت‌هاي بزرگي مانند AVG , Panda , Alwil Avast، به كاربران ارائه شده كه به عنوان يكي از پيشرفته‌ترين و مؤثرترين آنها مي‌توان به برنامة Panda Cloud Antivirus اشاره كرد.
منبع:نشريه دنياي کامپيوتر و ارتباطات ،شماره 80

سونامي اطلاعات

نویسنده: حجة الاسلام و المسلمین دکتر حميد شهرياري
(تحليل وضعيت فناوري اطلاعات در ايران)
مقدمه:
رشد اطلاعات و دانش در سالهاي اخير بسيار سريع بوده است و از اين منظر عصر حاضر را عصر انفجار اطلاعات ناميده‌اند. به طوري كه80% يافته‌هاي دانش بشري و نيز90% تمام دانش و اطلاعات فني جهان در قرن بيستم توليد شده است. اين درحالي است كه در هر پنج سال و نيم حجم آن دو برابر مي‌شود. ازسوي ديگر بسياري از آنها دركمتر از 4 سال كهنه مي‌شوند!
امروزه اطلاعات و دانش به عنوان يك منبع ارزشمند و راهبردي و يك دارايي مطرح است و ارائه محصولات و خدمات با كيفيت و قيمت مناسب بدون مديريت و استفاده صحيح از اين منبع ارزشمند، امري دشوار و در برخي موارد غيرممكن است.

1- ضرورت و اهميت جامعه اطلاعاتي

1-1- هر نوع داده اي(data) که در بخش خصوصي، جامعه مدني و سازمانهاي دولتي و بين المللي توليد مي شود تنها در صورتي قابل بهره برداري است که تبديل به اطلاعات(information) شود. فرآيند تبديل داده به اطلاعات نيازمند مديريت محتوا، زمان و هزينه است. در اين فرآيند اطلاعات طبقه بندي شده هر داده در مکان مناسب خويش قرار مي گيرد. اين فرآيند موجب مي شود بازيابي اطلاعات به سهولت و با ابزارهاي نرم افزاري ممکن شود. در مقام تشبيه داده ها به کتاب هايي مي مانند که بدون دسته بندي روي هم انباشته شده باشند، در حالي که اطلاعات به کتاب هايي مي مانند که يک کتابدار ماهر آنها را در قفسه هاي مربوط شماره گذاري و کدبندي کرده باشد. داده ها زماني به اطلاعات تبديل مي شوند كه (طبق معيار) نشان گذاري شده باشند.
1-2- جامعه اطلاعاتي مقدمه اي ضروري براي دسترسي به جامعه دانايي محور و آن مقدمه اي ضروري براي دسترسي به جامعه مقتدر است. چرخه تبديل اطلاعات به دانايي و دانايي به اقتدار به طور فزاينده و چرخشي موجب اقتدار هر چه بيشتر جوامع اطلاعاتي خواهد بود.
1-3- اينک تمام جوامع دريافته اند که توليد علم امري مربوط به تمام انسان هاست و انسان ها براي جمع آوري علوم و فنون به يکديگر نياز دارند. براي ثمربخشي توليد علم نيازمند دستيابي به جامعه اطلاعاتي هستيم. از اين رو در اجلاس سران براي جامعه اطلاعاتي در سال 2003 در ژنو اعلاميه اصولي به تصويب رسيد و براي آن برنامه هاي اقدامي در نظر گرفته شد و به امضاي تمام اعضا رسيد و در اجلاس دوم سران جامعه اطلاعاتي در تونس مورد تأکيد قرار گرفت. اين اعلاميه و برنامه هاي مصوب آن، آينده جهان را رقم خواهد زد و عدم توجه کافي و مناسب به ابعاد گوناگون آن موجب عقب افتادگي از صحنه اقتدار جهاني خواهد بود.
1-4- خوشبختانه در بند 44 برنامه چهارم توسعه اين امر مورد توجه برنامه ريزان کشور بوده و آمده است:
«ماده 44: دولت موظف است به منظور استقرار جامعه اطلاعاتي و تضمين دسترسي گسترده ، امن و ارزان شهروندان به اطلاعات مورد نياز اقدام‌هاي لازم را به عمل آورد.»
اين اقدامات عبارتند از : الف) حمايت از سرمايه‌گذاري در توليد و عرضه محتوي و اطلاعات به زبان فارسي در محيط رايانه‌اي با تكيه بر توان بخش خصوصي و تعاوني. ب) اتخاذ تدابير لازم به منظور كسب سهم مناسب از بازار اطلاعات و ارتباطات بين‌المللي استفاده از فرصت منطقه‌اي ارتباطي ايران از طريق توسعه مراكز اطلاعاتي اينترنتي ملي و توسعه زيرساخت‌هاي ارتباطي با تكيه بر منابع و توان بخش‌هاي خصوصي و تعاوني و جلب مشاركت بين‌المللي. ج) تهــيه و تصويب سند راهبردي برقراري امنيت در فضاي توليد و تبادل اطلاعات كشور در محيط‌هاي رايانه‌اي حداكثر تا پايان سال اول برنامه چهارم.
گرچه اقدامات موجود در اين بندها كافي و كامل نيست ولي اصل توجه به آن شايسته تقدير است.
1-5- در حال حاضر کشورهاي فقير و در حال توسعه از جمله ايران در خط فقر نسبي اطلاعات قرار دارند که اصطلاحاً به آن «شکاف ديجيتالي» مي گويند. جامعه اطلاعاتي جامعه اي است که اطلاعات مورد نياز افراد آن جامعه در دسترسشان باشد. گسترة اين اطلاعات به گسترة ابعاد گوناگون حيات افراد آن جامعه و نهادهاي مدني و دولتي آن است. پل زدن بر روي اين شکاف ديجيتالي نيازمند اقدامات اساسي در حيطة دو شاخص اصلي جامعه اطلاعاتي است: اول، دسترسي هاي ارتباطي و دوم، توليد اطلاعات انبوه داخلي. در حال حاضر نرخ دسترسي به اينترنت در ايران حدود 14% است در حالي که اين رقم در ايالات متحده 70% ، در کانادا، ژاپن و کره جنوبي 67% و در کشورهاي اتحاديه اروپا 52% ، در مالزي 40% ، و در ترکيه 21% است. تلاش جدي مسئولان وزرات ارتباطات در اين زمينه و توجه مجلس به اختصاص بودجه جهت توسعه شبکه هاي ارتباطاتي از اهم لوازم توسعه ارتباطاتي است.
1-6- حضور در جامعه اطلاعاتي نيازمند توجه به دو محور اصلي فوق مي باشد: يکي از اين محورها مربوط به توسعه فنّاوري هاي ارتباطات و اطلاعات (حوزه فني- مهندسي) است که معمولاً در گزارش هاي مسئولين وزارت ارتباطات و فناوري اطلاعات منعکس است (اعم از زيرساخت، توسعه دسترسي فردي، نهادي و مراکز اطلاع رساني) و ديگري محورهاي فرهنگي، علمي، اجتماعي و اخلاقي در هر جامعه وتوليد اطلاعات سودمند و اخلاقي و پردازش و ذخيره سازي و بازيابي آن اطلاعات که اينک از مسئوليت هاي شوراي عالي اطلاع رساني است. شوراي عالي اطلاع رساني با توجه به مسئوليتي که از سوي شوراي عالي انقلاب فرهنگي بر دوش دارد و با توجه به جامعيت وظائفي که در آيين نامه مصوب آن آمده است بهترين نهاد براي رسيدگي به امور قسم دوم مي باشد و مي تواند تحت اشراف مقام معظم رهبري – مدّ ظله العالي- و دستگاه هاي تحت نظر ايشان (از جمله شوراي عالي انقلاب فرهنگي) سياستگذاري و رهنمودهاي لازم در اين زمينه را ابلاغ نمايد. امروز تهاجم فرهنگي از طريق اينترنت امري بسيار جدي و اساسي، و نيازمند رسيدگي خاص است. اينك جنگ سخت در بسياري از صحنه ها تبديل به جنگ نرم گشته و ابزار و ادوات خاص خود را مي طلبد. اينك دشمن با تهاجم فرهنگي معنويت، اخلاق و ديانت ما را نشانه رفته است و مقابله با آن در صحنه فرهنگ، تسلط به مباحث جامعه اطلاعاتي در اعلاميه اصول را مي طلبد.

2- اهداف و ابعاد جامعه اطلاعاتي

جامعه اطلاعاتي داراي ابعاد گوناگوني است. با توجه به هر يک از اين ابعاد مي‌توان اهدافي را متناسب با آن بُعد تصوير کرد:

2-1- اهداف اقتصادي

به عنوان اولين هدف در دستيابي به جامعه اطلاعاتي، مي‌توان از «دستيابي به اطلاعات اقتصادي» نام برد كه ناشي از تحولات اجتماعي و اقتصادي از سال 1960 تاكنون مي‌باشد. با اين تحولات نگرش‌هاي تازه‌اي به نقش اطلاعات در اقتصاد كشورهاي در حال توسعه و توسعه يافته ايجاد شد كه نشانگر گذار از حالت اوليه يعني اقتصاد متكي به «كشاورزي» و «صنعت» به اقتصادي متكي به «اطلاعات» است. و اين منجر به توصيف عناصر تشكيل دهنده اقتصاد با عباراتي چون: «صنعت اطلاعات» ،«بازار اطلاعات» و «كاركنان اطلاعات» شد كه امروزه وارد زبان روزمره شده‌اند. همين مسئله سبب بروز تحولاتي در ساختار «اشتغال»، به صورت گسترش مشاغلي در زمينه‌هاي خدمات بخش خصوصي و دولتي در حوزه‌هاي گوناگوني چون بازرگاني، آموزشي، بهداشتي، ارتباطي و مالي شده است. توجه همه جانبه به اين بُعد جامعه اطلاعاتي و هدف مبتني بر آن مي تواند همتاي مناسبي براي اقتصاد متکي بر نفت ايجاد کند چنان که اينک صادرات نرم افزار در هند موجب توسعه اقتصادي وسيعي شده است و مي‌رود تا سال 2009 برابر درآمد ما از نفت شود. تجارت الکترونيک در کنار پول، پرداخت و بانکداري الکترونيک و ماليات و عوارض و گمرک الکترونيک از مثالهاي برجسته آن هستند. جامعه اطلاعاتى، از بعد اقتصادى، با اقتصاد مبتنى براطلاعات تعريف مى‌شود. امروزه براى بازارهاى جهانى ادامه فعاليت بدون مدد گرفتن از قدرت رايانه‌ها و نظام هاي اطلاعاتي امكان پذير نيست. اکنون ثروتمندترين كشورهاى جهان آنهايى هستند كه بيش از ديگران از ساختار نوين اطلاعاتى جهان بهره‌مند مى‌باشند.

2-2- اهداف امنيتي

ابعاد امنيتي خود در حوزه‌هاي گوناگوني مطرح است: امنيت بين الملل، امنيت ملي، امنيت اجتماعي و حتي امنيت در حوزه اقتصاد و فرهنگ نيز قابل طرح است. به طور مثال بايد توجه کرد که از کار اندازي شبکه گسترده ارتباطات مالي بانک ها در کشور مي تواند خسارات جبران ناپذيري براي سيستمهاي مالي کشور ايجاد کند که ابعاد آن با تخريب ساختمان مركزي بانکها قابل قياس است. با توجه به دشمنان انقلاب اسلامي توجه به زيرساخت هاي امنيتي ارتباطات نيز امري مهم است و لازم است بدان توجه ويژه مبذول شود.
جامعه اطلاعاتي همچنين داراي بعد مديريتي و راهبري است که در بُعد امنيتي تأثيرگذار است. در آبان ماه 85 در کشور يونان و نيز در ارديبهشت 86 در ژنو نشستي مشورتي موسوم به «IGF» از سوي سازمان ملل برگزار شد و بحث آن نحوه راهبري اينترنت بود که اينک در اختيار وزارت کشور امريکاست و سازماني به نام آيکان (ICAAN) هدايت آن را برعهده دارد. کشورهاي مختلف از جمله کشورهاي اروپايي تمايل دارند حاکميت اينترنت از انحصار آمريکا خارج شود. عدم توجه كافي به اين بحث پاره وسيعي از حاکميت دنيا را در آينده نزديک از دست ما خارج خواهد کرد. متأسفانه حضور ما در اين نشست و نيز در نشست هاي مشابه قبلي و بعدي در يونسکو و سازمان ملل که مربوط به بخشهاي گوناگون اعلاميه اصول ژنو است و هر يک از آنها داراي برنامه اي خاص و نهادهاي بين المللي خاصي در جهان است که طي دو سال اخير از سوي متصديان دولتي چندان با جديت دنبال نشده است.

2-3- اهداف حقوقي

يکي از زيرساختهاي لازم براي دستيابي به جامعة اطلاعاتي وجود قوانين و مقررات لازم و آيين‌نامه‌هاي کافي براي آن است. قوانين و مقررات سنتي براي اين دستيابي کافي نيست و در برخي موارد مشکلاتي را نيز پيش پاي مي‌نهد. به عنوان مثال نحوه ثبت اموال نرم‌افزاري يکي از پرسشهاي ذي‌حسابان دستگاه ها است که هنوز نيز راه‌کاري براي آن ارائه نشده است. حق مالکيت فکري و حفظ حريم خصوصي افراد در دنياي الکترونيک نيازمند تدوين قوانين جديد است.
امروزه، پديده‌هاى كم و بيش آشنايى همچون تجارت الكترونيكى،‌ دولت الكترونيكى، آموزش مجازى، بانكدارى الكترونيكى و حتى جنگ الكترونيكى و نيز جرايم سايبر كه از علائم جامعه اطلاعاتى محسوب مى‌شوند، همگى نشان مى‌دهند كه فناورى با يك تغيير بنيادين منجر به شكل‌گيرى نوع جديدى از جوامع تحت عنوان جامعه اطلاعاتى شده است و اين امور به صورتهاي مختلف نيازمند قوانين و مقررات ملي و بين‌المللي جديد است.

2-4- اهداف فرهنگي

برخي از ناظران معتقدند پيشرفت در جامعه اطلاعاتي مي‌تواند نشانه تحول در ارزش هاي فرهنگي باشد. اين تحولات عمدتاً تحت تأثير خط و زبان بيگانه صورت مي‌گيرد. و از آنجا که اين خط و زبان ابعاد فرهنگي خويش را به دنبال دارد، در صورتي که بدرستي مديريت نشود، موجبات تحولات سلبي فرهنگي را پديد خواهد آورد. بايد خاطرنشان كرد كه جوامع مختلف عكس العمل‌هاي متفاوتي در برابر حضور فنآوري‌هاي پيشرفته دارند و حتي فرهنگ جهاني الكترونيك مستعد پذيرش تأثيرات محلي و ملي است. به عبارت ديگري يک تحول دوسويه در حال رخ نمايي است که ناشي از عرضه فرهنگهاي متفاوت به يکديگر و تأثيرپذيري آنها از همديگر است. در حقيقت آنچه در حال وقوع است توسعه و تعامل گسترده فرهنگ ها است. در اين مسير البته فرهنگي که قوي تر باشد و محتواي خويش را به کميت و کيفيت بيشتر و بهتري عرضه کند غلبه خواهد يافت. اين يک جنگ نرم است که در دنياي رسانه اتفاق مي‌افتد و البته هر چه يک فرهنگ حضوري قوي تر در آن داشته باشد، موفق تر خواهد بود.
همواره خطر استيلاي يك فرهنگ وجود داشته است، فرهنگي مبتني بر ارزش‌هاي ليبراليسم به شکل غربي كه جايگزين «فرهنگ بومي» شود و جهاني را در اثر استضعاف فرهنگي به سمت آرمان هاي پوچ گرايش دهد. اگرچه ممكن است يك خبر، عكس العمل هاي متفاوتي را در كشورهاي مختلف ايجاد كند، ليكن ناديده انگاشتن تأثيرات بالقوه سوء جريان جهاني اطلاعات بر روي هويت و تنوع فرهنگي كشورها، موجبات تحليل و تضعيف فرهنگهاي ملي و محلي را بدست مي‌دهد. مشکلات جدي فرهنگي در کشورهاي در حال توسعه و فقير که در منطقه شکاف ديجيتالي و فقر اطلاعاتي قرار دارند در حال روي دادن است که برخي از وجوه آن عبارتند از:
1- فرار مغزها كه منجر به مهاجرت مهندسان و محققان كشورهاي در حال توسعه به كشورهاي صنعتي و توسعه يافته مي‌گردد و بهترين متخصصان كارآمد در زمينه علوم و فن ‌آوري به كشورهاي ثروتمند غرب مهاجرت مي‌كنند. كشورهايي كه اين نيروها را از دست مي‌دهند، سطح فن آوري آنان نيز از رشد باز مي‌ماند.
2- راهبردهاي مدرن سازي در اين كشورها غالباً منجر به افزايش بدهي‌هاي خارجي و بهبود ارتباطات راه دور بين المللي به جاي توسعه شبكه اطلاعاتي و مخابراتي بومي مي‌گردد و منطقه توليد و تبادل اطلاعات را به نفع کشورهاي توسعه يافته رقم مي‌زند. توسعه علمي و پيشرفتهاي فناورانه و توليد مستمر دانش تنها در کشورهايي به طور گسترده و عميق روي مي‌دهد که به کمک اطلاع‌رساني و فناوري‌هاي مرتبط با آن، بر روي موج توسعه علمي سوار باشند و کشورهاي ديگر حتي با تلاش فراوان تنها به صورت بخشي و موردي در حوزه‌هاي علمي و فرهنگي خاص رشد خواهند کرد. در نهايت اطلاعاتي كردن جوامع در حال توسعه موجب تضاد آشكار ميان «فقراي اطلاعاتي» و «ثروتمندان اطلاعاتي» و عميق شدن شکاف بين آنها مي‌شود.
3- جهاني شدن بدون توجه به معيارهاي محلي در حال گسترش است و مي‌رود تا فرهنگ غالب بر دنياي غرب را در خط، زبان و فرهنگ مسلط بر اوضاع فرهنگي سازد. در اين بحبوحه سونامي‌وار بر اثر زلزلة اينترنت، تنها فرهنگ هايي جان سالم بدر خواهند برد که با تکيه بر فرهنگ غني خويش گام هايي سريع به سوي ارتفاعات بلند توليد اطلاعات بردارند و پس از آرامش نسبي مجدداً با برنامه‌ريزي بلند مدت و راهبردي فضاي فرهنگي خويش را نوبه نو کنند.
به طور طبيعي هر «فرهنگ» متعلق به يك محل يا منطقه خاص، و در برگيرنده دانش جامع و اندوخته شده نسل‌ها، و بازتاب استعدادها و ويژگي‌هاي يك گروه در مقايسه با ديگر گروه‌ها است كه در زبان و لهجه ظهور مي‌يابد و احساس تعلق به يك سرزمين و هويت آبا و اجدادي را به همراه دارد. به همين دليل شايسته است در تقابل با اين جنگ نرم آمادگي لازم در حوزه فرهنگي را پيشه کنيم و برنامه‌هايي ميان مدت و بلند مدت براي آن فراهم سازيم. ما مي‌توانيم با توليد اطلاعات بومي فضاي اينترنت را براي مردم خويش متناسب با فرهنگ بومي خويش آماده کنيم. و اين امر فراتر از توجه به فناوري، توجه جدي به اطلاعات توليد داخل را مي‌طلبد. طرح تسما در دبيرخانه شوراي عالي اطلاع‌رساني که از سال 85 تدوين شده و از اوائل 86 در حال اجراست، چنين هدفي را مد نظر دارد.

2-5- اهداف اجتماعي

تحول اجتماعي مبتني بر اطلاعات، شامل تأثير آزادي حاكم بر مبادله اطلاعات مي‌باشد كه در آن ايجاد شبكه اطلاعات و ارتباطات الكترونيكي مي‌تواند به تجديد حيات خانواده و جامعه منجر شود. روابط دوستي را از مرزهاي خانه و محله و حتي کشور فراتر برد و دنياي جديد مجازي را به جولانگاه حقيقي ارتباطات نوين مبدل سازد. انزواي قشر داراي فقر اطلاعاتي در جامعه الكترونيكي با شكل‌گيري مجدد قشر محكوم و ضعيف در جامعه اطلاعاتي كه توسط كارفرمايان استثمار مي‌شوند و ناديده گرفتن حقوق اين قشر در انعقاد قراردادها بار ديگر به شكل جديدي بروز مي‌نمايد. تصويري از يک طرح جامعه اطلاعاتي شکل مي‌گيرد كه در آن محور اصلي ارزش هاي اطلاعاتي بر ارزشهاي مادي غلبه مي‌كند و سرمايه اطلاعات و دانش فني و محتوايي بر سرمايه مواد برتري مي‌يابد. شركت هاي بزرگ مخابراتي در روابط بازرگاني خويش، تنها براي ايجاد رقابت ناسالم محلي تلاش مي‌كنند و در اين راستا توسعه ناهماهنگ اجتماعي را در فضاي ارتباطات راه دور دامن مي‌زنند.
با توجه به مطالب فوق، تهديدهايي بروز يافته و نيز فرصتهايي از نو پا مي‌گيرد که اينک به بيان فهرست‌واره آنها مي‌پردازيم:

3- تهديدها و موانع براي دستيابي به جامعه اطلاعاتي

3-1- به دليل حساس و فعال نشدن مراكز علمي ‌و پژوهشي و نداشتن مطالعات كلان ملي در اين حوزه، آمار و اطلاعات كمي‌ و كيفي از وضعيت رشد و توسعه، فناوري‌هاي اطلاعات و ارتباطات و آثار و پيامدهاي فرهنگي و اجتماعي آن وجود ندارد. از آن جمله: شاخص‌هاي كمي و كيفي و مسير نماهاي حركت ايران براي اندازه‌گيري کاميابي‌ها و ناكامي‌ها در رقابت‌هاي منطقه‌اي و بين‌المللي وجود ندارد. مطالعات پايه و مستمر براي تعيين شاخص‌هاي كمي ‌و كيفي در جهت تعيين وضعيت، جايگاه و چشم‌انداز كشور براي حضور و رقابت در بازارهاي جهاني و منطقه‌اي صورت نپذيرفته است. سند راهبردي سياست‌گذاري و برنامه‌ريزي و برنامة مطالعاتي در اين زمينه وجود ندارد. اين امر مانع شناخت و تحليل از آثار و پيامدهاي مثبت و منفي فناوري‌هاي اطلاعات و ارتباطات است. نبود نظام يكپارچه و زنجيره‌اي «تحقيق و توسعه»، با توجه به درآميختگي فناوري‌هاي اطلاعات و ارتباطات با زمينه‌ها و ابعاد فرهنگي و اجتماعي يك مانع مهم در راه پيشبرد متوازن توسعة علمي، اطلاع‌رساني و فناوري‌هاي اطلاعات است.
3-2- كشور در حال حاضر فاقد يك مركز علمي ‌معتبر مطالعات و سياست‌گذاري راهبردي با حضور دانشمندان و متخصصان گرايشهاي علمي مختلف در اين زمينه است. جدّي نگرفتن تجارب بين‌المللي و پي‌گيري نكردن توصيه‌ها و خط عمل‌هاي اجلاس‌هاي جهاني جامعة اطلاعاتي، سند چشم‌انداز 20 ساله و برنامة چهارم توسعه و نداشتن نظام ملي ارزشيابي در اين حوزه نيز به مشکلات افزوده و غالباً مباحث جامعة اطلاعاتي و ابعاد فرهنگي، اجتماعي و اقتصادي مربوط به فناوري‌هاي اطلاعات و ارتباطات در حلقة محدودي از صاحب نظران و متخصصان در گردش است. پس از دو دهه ورود فناوري‌هاي جديد ارتباطات و اطلاعات، و بيش از 15 سال از ورود اينترنت و برنامه‌ريزي‌هاي بسيار، و سلسله اقدامات متمركز و نيمه‌متمركز دولتي و به رغم سرمايه‌گذاري‌هاي نسبتاً سنگين دولت در توسعة زيرساخت، تغييرات مورد انتظار رخ نداده است. وضعيت نه چندان مطلوب ايران در رتبه‌بندي جهاني و منطقه‌اي به ويژه در سالهاي اخير شاهدي بر اين مدعا است. در آخرين گزارش هاي جهاني وضعيت ايران در مقايسه با ديگر كشورهاي جهان و به ويژه منطقه نگران‌كننده است. كشور ايران كه در شاخص‌هاي مربوط به شكاف ديجيتال در موقعيت مناسبي به سر نمي‌برد به گونه‌اي كه در رتبه‌بندي جهاني مربوط به توسعه و كاربردي فناوري‌‌هاي ارتباطات و اطلاعات، ايران در مرتبة 70 جهاني از بين 70 کشور اول قرار گرفته است.
3-3- با توجه به ويژگي جمعيتي جامعة ايراني و وجود پديدة ‌جواني به عنوان يك پديده عام و فراگير در ايران، هم زمان با گسترش اين فناوري‌ها و شبكه اينترنت، شناخت لازم از نگرش‌ و رفتارهاي جوانان ايران که متکي به مطالعات دقيق ميداني باشد، وجود ندارد تا بتوان درباره آثار و پيامدهاي آن به قضاوت نشست. افزايش متقاضيان به دسترسي و بهره‌مندي از فناوري‌هاي اطلاعات و شبكه‌هاي اطلاع‌رساني در كنار رشد سواد و دانش عمومي، و تقويت روحيه پرسشگري و مشاركت‌جويي، موجب سرريز شدن مشكلات جامعه و جوانان به محيط‌هاي اجتماعي مي‌شود. فناوري‌هاي اطلاعات، جرياني اجتماعي هستند و در پيوند با مخاطبان، گروه‌ها و نهادهاي اجتماعي رشد و گسترش مي‌يابند، لذا بخشي از ناهنجاري‌ها، كاستي‌ها و مشكلات محيطي در درون اين محيط جديد انعكاس مي‌يابد. بي‌توجهي به ابعاد اخلاقي به ويژه براي كودكان و گروه‌هاي اجتماعي آسيب‌پذير فرهنگي مي‌تواند خطرات بسياري را براي جامعه اطلاعاتي ما به همراه آورد.
3-4- ايجاد تعادل بين ابعاد رشد و توسعه فناوري‌هاي اطلاعاتي با آموزش و تربيت نيروي انساني داراي دانش ميان‌رشته‌اي و مهارت‌هاي چندگانه (که يکي از محورهاي آن اطلاع‌رساني و فناوري‌هاي مرتبط با آن است)، همچنان يكي از چالش‌هاي چند سال آينده خواهد بود. رشد و گسترش رشته‌هاي مربوط به حوزه اطلاع‌رساني، متناسب با نيازها و شرايط نيست، به ويژه آنكه توسعه آموزش و پژوهش در اين عرصه همچنان فاقد گرايش ميان‌رشته‌اي است و حوزه‌هاي مهندسي و فرهنگي- اجتماعي فارغ از ديدگاه‌ها و تجارب يكديگر به آموزش و تحقيق اشتغال دارند. حرکتهايي در اين زمينه آغاز شده ولي سرعت آن متناسب با رشد فناوري هاي نوين در زمينه اطلاع‌رساني نيست و نياز به مديريت متمرکز اين امور در کشور احساس مي‌شود.
3-5- ناهماهنگي مديريت كشور در به كارگيري فناوري اطلاعات در عرصه‌هاي علم و دانش، اقتصاد، تجارت، فرهنگ، هنر، آموزش، و ارتقاي توان رقابتي كشور از اين طريق و نيز ناآشنايي برخي از مديران دستگاههاي اجرايي و فقدان نظر و تفاهم در سطح نهادهاي مسئول و تصميم‌گير براي اين عرصه به همين دليل موجب مي‌شود گرايش‌هاي دوگانه و متعارض كه گاه به طرد شتابزده فناوري‌هاي اطلاعات و گاه، شيفتگي به اين فناوري‌ها بيانجامد بروز يابد. در اين ميان فعال شدن شورايي که در دولت قبل خاموش بود (شوراي فناوري اطلاعات) در کنار عملکرد ضعيف آن طبق نظرسنجي نظام صنفي در ماه اخير و به تعطيلي کشيده شدن آن طي طرح ادغام شوراها از مشکلات کشور طي دو سال اخير بوده و در کنار محدود سازي فعاليت شوراي عالي اطلاع‌رساني (به حوزه دين و فرهنگ و اجتماع) عملاً بخش وسيعي از فعاليتها را طي سه سال اخير با کاستي شديد مواجه ساخته است.
3-6- سهم كم سرمايه‌گذاري دولت و بخش خصوصي در بخش توليد محتوا و کم‌توجهي به ابعاد آن از ديگر مشکلات وضعيت موجود است. سهم فناوري‌هاي اطلاعات و ارتباطات از بودجه جاري و عمراني كشور بسيار پايين است. البته به رغم سرمايه‌گذاري‌هاي نسبتاً كلان طي دو دهه گذشته در حوزه سخت‌افزاري و شبکه دسترسي، (و به طور خاص برنامه‌ها و اقدامات دولت از سال 1381 تاكنون)؛ سازمان‌هاي دولتي و نهادهاي عمومي ايران براي تصميم‌گيري، برنامه‌ريزي، نظارت، ارزيابي و حتي اطلا‌ع‌رساني با استفاده و به كارگيري از ظرفيت شبكه‌هاي انتقال اطلاعات و شبكه‌هاي داخلي آمادگي و مهارت لازم و كافي را كسب نكرده‌اند. نگاهي به روند برنامه‌ريزي و مديريت در دستگاه‌هاي دولتي كه همچنان از شيوه‌ها و الگوهاي سنتي پيروي مي‌كنند، و مراجعه به گزارش‌هاي رسمي دولت در سطوح مختلف نشان از عدم توازن پيشرفت در حوزه‌هاي گوناگون فناوري اطلاعات دارد. البته حرکتهاي غير منسجمي در بخشهاي مختلف کشور وجود دارد و حتي مي‌تواند مثال هاي بارزي براي توفيقات يافت ولي اين مثال ها حکايتي از يک توسعه روشمند بدست نمي‌دهند. خلأ سازماني مستقل و ملي براي پي‌گيري امور فناوري اطلاعات در بخشي فرادولتي – فرابخشي از عمده‌ترين دلايل اين نقيصه است. امروز کليه کارشناسان فناوري اطلاعات در کشور و نيز بخش خصوصي آسيب‌ديده از اين نابساماني بر لزوم تشکيل سازماني فرابخشي (در ذيل جايگاهي رفيع و ملي) تأکيد فراوان دارند.
3-7- ضعف شبكه‌هاي محلي و ملي، و ناكارآمدي پايگاه هاي ايراني (اعم از دولتي و خصوصي) در توليد حجم انبوه محتواي به زبان فارسي كه به طور روزافزون به زبان، فرهنگ و هويت ملي لطمه فراوان وارد مي‌کند. با وارادات غير منسجم سخت‌افزارهايي چون تلفن همراه غير منطبق بر معيارهاي زبان فارسي و توليد پيامک هاي به خط انگليسي و زبان فارسي آسيب هايي جدّي را هشدار مي‌دهد. نبود متولي فرادستي عمده‌ترين دليل اين نابساماني‌ها تلقي مي‌شود.
3-8- واضح نبودن مرزهاي امنيت اطلاعات و حدود دسترسي براي مديران تصميم‌گير در حوزه نشر اطلاعات درون سازماني موجب توقف اشاعه اطلاعات سودمند و مورد نياز مردم شده است و خدمات رساني دولتي را در راستاي دولت الکترونيک دچار چالش کرده است. لازم است در حوزه‌هاي گوناگوني که توليد اطلاعات دولتي صورت مي‌گيرد سطح دسترسي سازمان ها (اطلاع‌رساني و خدمات دولت به دولت G2G) و نيز سطح دسترسي بين اطلاعات سازمانهاي دولتي و شهروندان (اطلاع‌رساني و خدمات دولت به شهروندان G2C) تعريف شود. اين امر اينک بلا تکليف مانده و از وظائف اصلي نهادهاي سياستگذار محسوب مي‌شود. ضمن آن که لازم است اطلاعات محرمانه دولتي و خصوصي (حريم خصوصي فردي) به صورت شفاف و واضح تعريف شود و نيز حکم دسترسي سازماني به اين اطلاعات نيز مشخص گردد. نقاط تعارض بين ارزش محرمانگي و ارزش نشر آزاد اطلاعات نيازمند آيين‌نامه‌هاي اجرايي و سياستگذاري‌هاي ملي است. هيچ نشانه رشدي در اين زمينه در کشور جز حرکتهايي ضعيف يا موردي به چشم نمي‌خورد. تداوم نگاه سخت‌افزار محور در كم‌توجهي به جنبه‌هاي نرم و وجوه ديگر برنامه‌ريزي در اين حوزه يكي از روندهاي جاري و معيوب در تحقق توسعه جامعه اطلاعاتي و سياست‌گذاري، رشد و گسترش فناوري‌هاي اطلاعات و ارتباطات است.
3-9- تداوم نگاه دولت محوري در سياست‌گذاري، برنامه‌ريزي و اجرا و عدم حمايت لازم و كافي از بخش‌هاي خصوصي و مدني و عدم توجه کافي به اصل 44 قانون اساسي در واگذاري امور اجرايي به بخش خصوصي و مردم نيز از گله‌هاي بخش خصوصي است و چون نهادهاي سياستگذار متعدد به صورت متفرق و ناهماهنگ و غير منسجم عمل کرده‌اند زحماتي که دولت طي سالهاي اخير داشته کارساز نبوده است و مشکلي را به صورتي ملي حل نکرده و به اين تلقي دامن زده است.
3-10- همپوشاني و ادعاي تملک متعارض حوزه‌هاي عمل از سوي نهادهايي همچون شوراي عالي فناوري اطلاعات، شوراي عالي اطلاع‌رساني، شوراي عالي انفورماتيک در برنامه‌ريزي و توسعه فناوري‌هاي اطلاعات و ارتباطات و اجرايي شدن اصول و برنامه عمل جامعه اطلاعاتي در ايران و تداخل وظائف آنها؛ در کنار افزايش نهادهاي سياستگذار-مجري فرودستي در اين حوزه همچون بنياد ملي بازي هاي رايانه‌اي و شوراي گسترش خط و زبان فارسي و عدم تعريف دقيق رابطه اين نهادها با نهادهاي فرادستي همچون شوراي عالي اطلاع‌رساني از مشکلات جدي وضعيت موجود است. تصميمات متداخل نهادهاي قانوني در حوزه‌هاي مشترک به دليل فقدان تعريف دقيق و منطقي و عدم وجود تقسيم کار مبتني بر نظام همکاري ملي نشانه‌اي از اين ناهماهنگي است. در يک نظام ملي همکاري بايد طرف‌هاي ذي نفع و درگير در موضوع (اعم از دولت، بخش خصوصي، نهادهاي مردمي، و نهادهاي بين‌المللي) مشخص شوند و وظايف و اختيارات هر کدام به صورت شفاف بيان شده و بدان عمل شود. اين در حالي است که اخيراً دولت با تصويب طرح ادغام شوراهاي فناوري اطلاعات در شوراي آموزش و پژوهش، و فناوري، شأن اين نهاد مهم را تقليل داده و ضمن کم توجهي به وجوه چندگانه فناوري، آن را به حوزه‌اي خاص محدود کرده است.

4- فرصتهاي جامعه اطلاعاتي

4-1- رويكرد سند چشم‌انداز 20 ساله کشور براي توسعه همه‌جانبه و تأکيد بر پيشرفت در زمينه جامعه اطلاعاتي در ماده 44 برنامه چهارم توسعه و قانون جديد وزارت ارتباطات و فناوري اطلاعات، و پروژه‌هاي پيشتاز كشور نظير طرح تكفا و طرح تسما، و طرح تجارت و بانكداري الكترونيكي، و ديگر پروژ‌ه‌هاي ملي اين حوزه چارچوب مناسب و تحول‌ساز براي مشاركت فعال ايران در جامعه جهاني مبتني بر ارتباطات و فناوري اطلاعات فراهم كرده است.
4-2- گرايش رهبران عالي، دولتمردان، نهادهاي تصميم‌گير، نهادهاي اجرايي و عمومي به گسترش كاربرد فناوري‌هاي اطلاعات و تصاحب اين حوزه به نفع ارزشهاي اسلامي و اخلاقي. تمايل و گرايش نخبگان، انديشمندان، علماي حوزه و دانشگاه و اهل فرهنگ و هنر در استفاده و بهره‌مندي از اين فناوري. علاوه بر استقبال همگاني و اجتماعي از ارتباطات و فناوري اطلاعات، اين فناوري‌ها را با استقبال كم نظير دستگاه‌هاي اجرايي و نهادهاي عمومي مواجه ساخته است و بخش خصوصي نيز با تمام توان در اين عرصه نقش فعالانه‌اي ايفا كرده است. جامعه ايراني و يا حداقل بخش‌هايي از آن، برخلاف گذشته كه به هنگام ورود فناوري‌هاي نو مانند راديو و تلويزيون مقاومت‌هاتي از خود نشان مي‌داد، با روي كارآمدن تكنولوژي‌هاي جديد ارتباطي و اطلاعاتي و به برکت انقلاب اسلامي ايران حتي در سطح نهادهاي ريشه‌دار فرهنگي و مذهبي به طور بي‌سابقه‌اي از دسترسي و بهره‌مندي از آن استقبال كرده‌اند.
4-3- وجود مراكز پژوهشي‌، انجمن هاي علمي و تخصصي، بخش خصوصي فعال و علاقه‌مند داراي سابقه و تركيب مناسب انساني در اين حوزه توانش خوبي در اين حوزه ايجاد کرده، عزم به گسترش رشته‌هاي دانشگاهي مرتبط با اطلاع‌رساني و فناوري هاي مربوط به آن و راه‌اندازي ميان‌رشته‌اي‌هاي مرتبط با آن در اين مورد نويد بخش است.
4-4- استقبال نهادهاي بين‌المللي و جهاني از سرمايه‌گذاري كشورهاي در حال توسعه در اين بخش و وجود تجارب بين‌المللي ايران در اجلاس‌هاي جهاني مرتبط و ظرفيت علمي و فناوري نسبتاً خوب ايران براي ايفاي نقش‌هاي منطقه‌اي مي‌تواند زمينه ساز مناسبي براي پيشرفت سريع در اين حوزه باشد.
4-5- رشد و گسترش زيرساخت‌هاي ارتباطي از جمله تلفن ثابت و ارتباطات راه دور، به ويژه در برنامه‌هاي توسعه اقتصادي، اجتماعي و فرهنگي جمهوري اسلامي ايران، ورود و گسترش تلفن همراه و اينترنت طي دو دهه گذشته، و توجه همه جانبه دولت به اجراي برنامه‌هايي براي توسعه ارتباطات و فناوري اطلاعات. از آن جمله به پيشرفتهاي ذيل اشاره مي‌شود:
• تعداد رايانه كه در سال 1994 حدود 800 هزار رايانه بوده است، هم اكنون بالغ بر 6 ميليون دستگاه است. ظرفيت اينترنت و شركت هاي پشتيبان آن در كشور در حال گسترش است و هم اكنون بيش از 864 شهر كشور متصل به شبكه انتقال اطلاعات هستند. ظرفيت شبكه انتقال اطلاعات از مرز 106000 هزار مگابايت عبور كرده است و شمار كاربران اينترنت كه در سال 1994 از 250 نفر فراتر نمي‌رفت، هم اكنون با رشدي شتابان رو به افزايش است، در سال 2003 اين رقم به بيش از 3 ميليون نفر، و در سال 2004 به 5 ميليون نفر و در سال 2006 به بيش از 12 ميليون نفر رسيده است و همچنان سير صعودي طي مي‌کند و بازار مناسبي را به خود اختصاص داده است.
• ايران در پايان سال گذشته داراي بيش از 21 ميليون و 240 هزار تلفن ثابت و 10 ميليون و 500 هزار تلفن همراه بوده است. 864 شهر كشور از امكان ارتباط تلفني برخوردار هستند. گسترش 58 هزار كيلومتر فيبرنوري به عنواني يكي از زيرساخت‌هاي كليدي در شكل‌دهي و توسعه ارتباطات راه دور و فناوري‌هاي نوين اطلاعات، بستري مناسب براي تقويت شبكه مخابراتي كشور به شمار مي‌آيند. با توجه به ايجاد نظام هاي اطلاع‌رساني جديد بر روي تلفن همراه به زودي اين دستگاه نقش جديدي بر عهده مي‌گيرد و ارتباطات پست الکترونيک و اتصال به اينترنت از طريق آن امکان‌پذير خواهد گشت. اين امر جامعه فرهنگي اقتصادي را دچار تحولات چشم‌گيرتري خواهد کرد. اين نقش اينک در کشورهاي پيشرفته روي داده و به کشور ما نيز به سرعت رو به گسترش است. و سرمايه‌گذاران خارجي و داخلي را به سوي خود متمايل ساخته است.

5- الزامات و پيش نيازهاي دستيابي به جامعه اطلاعاتي و پيشنهادات:

مبتني بر سند چشم‌انداز 20 ساله کشور و توصيه‌ها و مصوبات بين‌المللي
5-1- افزايش فرصت توسعه‌يافتگي ايران از طريق افزايش سرمايه‌گذاري دولت در بخش اطلاع‌رساني و فناوري هاي مرتبط با آن و روي آوردن به سياست‌گذاري و برنامه‌ريزي توسعه بر محور توسعه اطلاعات سودمند. همچنين مراقبت دائمي از برنامه‌ريزي و اقدامات بخش‌هاي رسمي و غير رسمي در اين حوزه، براي افزايش سهم ايران در رقابت‌هاي منطقه‌اي و جهاني
5-2- ايجاد و يا تقويت يک مرکز مطالعات راهبردي با گرايش ميان‌رشته‌اي با همکاري دولت، بخش خصوصي، دانشگاه ها براي توصيف و تبيين دائمي وضع موجود ايران، شناخت آخرين تحولات و يافته‌هاي علمي و فناوري در سطح جهان و كمك به سياست‌گذاري و ارزيابي در حوزه جامعه اطلاعاتي و ابعاد راهبردي فناوري‌هاي اطلاعات و ارتباطات ايران. بدين ترتيب ساماندهي و گسترش کاربرد فناوري اطلاعات و ارتباطات کشور از طريق گسترش آموزش و پژوهش ميان رشته‌اي، انجام پژوهش راهبردي و کاربردي، براي کمک به نظام تصميم‌سازي و انجام اقدامات آموزشي و فرهنگي براي اجتماعي کردن و عمومي کردن موضوعات مربوط به جامعه اطلاعاتي، و فناوري‌هاي اطلاعات و ارتباطات صورت خواهد گرفت. (اين مرکز در ذيل سازماني که متعاقباً پيشنهاد مي‌شود تأسيس مي‌گردد.)
5-3- توجه به توليد محتواي الکترونيک ايران از سوي نهادي دولتي و ملّي براي دستيابي به موقعيت برتر توليد علم در منطقه و سرمايه‌گذاري متناسب با اين هدف در ساماندهي و اطلاع‌رساني اين محتوا و تبديل آن به اطلاعات و دانش به صورتهاي قابل بازيابي و ذخيره‌سازي. طرح‌ريزي و برنامه‌ريزي اجرايي براي استقرار جامعه اطلاعاتي براساس مفاد قانون برنامه چهارم توسعه با تاکيد بر گسترش بازار محصولات دانايي محور و سرمايه‌گذاري در توليد و عرضه انواع محتوي و فعاليت‌هاي آموزشي علمي، پژوهشي، فرهنگي و هنري. دولت علاوه بر تلاشهايي كه بايد براي اصلاح و نوسازي دروني و يكپارچه‌سازي سيستم‌هاي توليد و توزيع اطلاعات از طريق فناوري ارتباطات و اطلاعات به كار مي‌گيرد، الزاماً بايد در مقياسي وسيع روندهاي اجتماعي را تحت نظر داشته باشد، و تسهيل كننده و تقويت كننده زمينه‌هاي انساني، اجتماعي و فرهنگي و توسعه خدمت‌رساني به مردم از طريق فناوري‌هاي نوين اطلاعاتي در سطح ملي باشد. طرح تسما براي توليد و ساماندهي اطلاعات ملي در شوراي عالي اطلاع‌رساني تدوين گشته و لازم است به صورتي جدّي در همه شؤون دولتي و ملي گسترش يابد و مانند طرح تکفا مورد حمايت مالي نهادهايي چون ستاد تبصره 13 قرار گيرد.
5-4- شناسايي، رتبه‌بندي و اولويت‌گذاري تعهدات برنامه‌اي و توسعه‌اي در سطح ملي و تعهدات بين‌المللي در سه محور «تنظيم و تصويب قوانين و مقررات جديد و اصلاحات لازم»، «سيستم‌ها و روش‌ها»، «اصلاح و نوسازي ساختاري و نهادي و اصلاحات برنامه‌اي»، با هدف سرعت‌بخشي و تسهيل در توسعه فناوري‌هاي اطلاعات و ارتباطات به هدف حل مشکلات بزرگ اجتماعي نظير اشتغال و تعادل بخشي به بازارکار و افزايش فرصت‌هاي شغلي به ويژه براي فارغ‌التحصيلان رشته‌هاي مختلف علمي و متخصصان از طريق تشويق و حمايت از سرمايه‌گذاري در بخش فناوري اطلاعات و ارتباطات
5-5- توصيف و تبيين وضعيت کشور از نظر آمادگي الکتروني، دستيابي به فرصت‌هاي ديجيتال، ارزيابي عملکرد دولت، بخش خصوصي و مراكز علمي و ديگر بخش‌ها، پي‌گيري و تحقق جامعه اطلاعاتي در حوزه‌هايي نظير زيرساخت ارتباطات و فناوري، محيط تجاري، مصرف‌کنندگان و انتخاب‌هاي تجاري، محيط قانوني و سياست‌گذاري، محيط فرهنگي و اجتماعي، پشتيباني از خدمات الکترونيک، آموزش و پژوهش و آماده‌سازي محيط و توانمندسازي و برنامه‌ريزي براي آن، نظارت و مراقبت دائمي حركت جامعه و نهادهاي اجتماعي در مقايسه با کشورهاي در حال توسعه، كشورهاي اسلامي و كشورهاي منطقه، براساس شاخص‌هاي فرصت و ميزان دسترسي به اينترنت، استفاده و بهره‌مندي از اينترنت، دستيابي دانش و اطلاعات از طريق اينترنت و تعداد کاربران و استفاده‌کنندگان از اينترنت جهت آگاهي از وضعيت کشور
5-6- تعيين اولويت‌هاي ايران در پي‌گيري خط‌عمل‌هاي مصوب اجلاس جهاني جامعه اطلاعاتي براساس شرايط بومي، نيازهاي محيط ملي و مؤلفه‌هاي فرهنگي، اجتماعي و اقتصادي جامعه ايران از طريق تدوين و تصويب سند ملي «كاربرد و گسترش فناوري‌هاي اطلاعات و ارتباطات در افق چشم‌انداز 20 ساله كشور» و حمايت از پروژه‌هاي پيشتاز و كليدي کشور در زمينه توسعه و به کارگيري فناوري‌هاي اطلاعات و ارتباطات با جلب مشارکت و همگرايي بخش خصوصي، نهادهاي مدني و مراکز علمي در قالب سند مذکور، و بازخواني سياست‌گذاري و برنامه‌ريزي‌هاي گذشته به قصد افزايش نقش محوري اين فناوري‌ها در پيشبرد مقاصد توسعه‌اي و ملي براساس شاخص‌هاي زير:
- مزيت‌هاي نسبي کشور در حوزه سخت‌افزار و نرم‌افزار
- مزيت‌هاي نسبي کشور در توليد و عرضه علم، دانش و فرهنگ
- توان رقابت‌‌پذيري بخش‌هاي اقتصادي، اجتماعي کشور، اعم از دولتي و غيردولتي
- شرايط و نيازهاي منطقه‌اي و جهاني
5-7- حرکت در جهت افزايش سهم برنامه‌ريزي نرم در حوزه دولت الکترونيک، آموزش الکترونيک، تجارت الکترونيک، بهداشت و سلامت الكترونيك و ديگر حوزه‌هاي مرتبط و ارتقاي ظرفيت‌هاي ملي براي رقابت‌پذيري اقتصادي، تجاري، آموزشي و علمي و بين‌المللي از طريق افزايش ظرفيت و به کارگيري خدمات الکترونيک به صورتي جامع
5-8- تداوم اقدامات دولت براي ايجاد ارتباطات پرسرعت و پرظرفيت و چند رسانه‌اي و گسترش شبکه دسترسي براي ايجاد فرصت‌هاي برابر براي دسترسي تمامي افراد جامعه و تبادل با ديگران. در کنار توجه به آسيب هاي احتمالي و تلاش براي برنامه‌ريزي براي جلوگيري از رشد فساد و آفات اجتماعي از طريق اين فناوري نوين با مطالعه و اجراي دقيق طرحهاي بلند مدت و کوتاه مدت به وسيله رصد کردن وضعيت دسترسي (فيلترينگ).

6- يشنهادات کليدي

در کنار الزامات پيش‌ گفته پيشنهاداتي کليدي وجود دارد که مربوط به ساختار مديريت فناوري اطلاعات در کشور است. از اين رو نام پيشنهاد کليدي بر آن نهاده شده است. چون در صورتي که به ساختار مناسبي براي مديريت اين حوزه برسيم مي‌توانيم اميدوار باشيم که ضمن رعايت الزامات از فرصتها بهره‌مند شويم و از آسيب ها بپرهيزيم.
6-1- در جمهوري اسلامي ايران كه سرمايه گذاري عظيمي در زمينه هاي مختلف اقتصادي، فرهنگي و اجتماعي و در بخشهايي مانند كشاورزي، صنعت، خدمات بهداشتي، آموزشي و پرورشي، صورت گرفته است، يك نظام ملي اطلاع‌رساني، نيازهاي اطلاعاتي محققان، برنامه ريزان، مديران اجرايي، مشاوران، معلمان و گروه‌هاي آموزشي را فراهم مي‌آورد. در حقيقت براي توسعه اقتصادي، اجتماعي، فرهنگي، آموزشي و پژوهشي، يك نظام ملي اطلاع رساني بر اساس زيرساختارهاي ملي مورد نياز است، و اين امر، همكاري مراكز اطلاع رساني، كتابخانه ها و نيز نهادهاي مدني و دولتي و همکاريهاي بين بخشي به کمک شبكه هاي اطلاع رساني داراي محتواي بانکهاي اطلاعاتي غني و مورد نياز را مي‌طلبد. در اين راستا لازم است شوراي عالي انقلاب فرهنگي نهادي سياستگذار در مورد اطلاعات (فرهنگي، اقتصادي، امنيتي) را شکل دهد. با تکيه بر سند راهبردي مربوط به کشورهاي در حال توسعه براي فناوري اطلاعات و ارتباطات که در يکي از دانشگاه هاي معروف جهان شکل گرفته است، مي‌توان تأکيد کرد که تصميمات اخيري که براي اين حوزه و تفرقه ميان شوراهاي سيا7ستگذار از يک سوي افراطي و تمرکز اين حوزه با حوزه‌هاي متداخلي چون آموزش و پژوهش از سوي ديگر افراط صورت گرفته است موجب گشته که نتوانيم تصميماتي کليدي و حاکميتي براي اين حوزه اتخاذ کنيم. متأسفانه از يک سو، بخشي‌نگري موجب شده که فعاليتهاي شوراي عالي اطلاع‌رساني به غير روال و به طوري غير مرسوم در سراسر جهان، به حوزه فرهنگ و دين اختصاص يابد که اين امر تقليل شأن مهندسي فرهنگي نظام را موجب شده است و لازم است مصوبه سال 84 که اطلاع‌رساني را به حوزه دين و فرهنگ اختصاص داده است به نوعي در يک شوراي مقتدر و فراگير تدارک شود و شامل همه حوزه‌هاي اطلاع‌رساني منطبق بر الگوهاي جهاني شود (مانند صدا و سيما که شامل تمام وجوه اطلاع‌رساني تصويري است، شوراي عالي اطلاع‌رساني نيز بايد شامل تمام وجوه اطلاع‌رساني محتوايي شود). و از سوي ديگر افراط در ادغام حوزه فناوري اطلاعات در حوزه آموزش و پژوهش موجب گشته که شأن تصميم‌سازي اين حوزه بسيار حياتي با حوزه‌هايي ديگر خلط شود و تقليل يابد. در حالي که فناوري اطلاعات داراي وجوه کلان اقتصادي و امنيتي در کنار فرهنگي نيز مي‌باشد و گويي به دو حوزه اول توجه نشده که آن را در شورايي با عنوان شوراي عالي آموزش، پژوهش و فناوري ادغام مي‌کنيم. در اين حال تشکيل شوراي عالي اطلاع‌رساني و فناوري اطلاعات از سوي شوراي عالي انقلاب فرهنگي امري ضروري و انکار ناپذير است. گرچه طراحي اين شورا به صورتهاي ديگر نيز ممکن و متصور است ولي اين صورتها از اولويت برخودار نيست. بنابر اين لازم است دولت با حمايت نهاد سياستگذار در بخش اطلاع‌رساني (شوراي عالي اطلاع‌رساني) زمينه لازم براي اقدامات عملي را به صورتهايي که در پي مي‌آيد فراهم آورد. تا از فرصتهاي پيش گفته بهره‌مند شويم و از تهديدهاي امنيتي فرهنگي و اقتصادي پيش گيري كنيم. بديهي است در صورت تمايل به تمرکز فعاليت هاي اجرايي مي‌توان با ادغام شوراهاي موازي در يک شورا اين ميل را عملي ساخت. ولي اين شوراي جديد بايد در ذيل نهاد فرهنگي شوراي عالي انقلاب فرهنگي يا نهاد رياست جمهوري شکل گيرد و در صورتي که رياست محترم جمهور حضور خود را در اين شورا ضروري نمي‌بيند نماينده تام الاختياري را در آن منصوب کند.
6-2- همچنين اين شوراي جديد نيازمند يک سازمان اجرايي تحت نمودار تشکيلاتي خويش است تا به فعاليت هاي اجرايي فناوري اطلاعات و اطلاع‌ رساني شکل دهد. اين سازمان مي‌تواند در ذيل مجموعه شوراي عالي جديد مختص به اين حوزه که نهادي بالادستي و سياستگذار است و شأن اجرايي ندارد تعريف شود. در حالي که رياست سازمان با پيشنهاد اعضاي اين شورا و تصويب نهاد رياست جمهوري منصوب مي‌شود، ارتباط بين دستگاه سياستگذار بين بخشي (قوه مجريه، قوه مقننه، قوه قضاييه) و بين دولت را تسهيل خواهد کرد. از جمله وظايف قابل اقدام عبارتند از
- تدوين نظام ملي همکاري در زمينه اشاعه اطلاعات در طرحهايي همچون طرح تسما
- تعيين سياست و خط مشي هاي اطلاعاتي كه ارتباط بين بخش هاي اجتماعي، اقتصادي، فرهنگي و نيز زيرگروه هاي آنان را مشخص كند؛
- رصد كردن فرصتها و تهديدهاي پيش گفته براي بهره‌مندي و تعالي جامعه اطلاعاتي
- فراهم ساختن برنامه‌هاي خاص براي هدايت، گردآوري، آماده سازي و اشاعه اطلاعات در تمامي زمينه هاي فعاليت علمي فرهنگي و خدماتي در كشور به منظور استفاده تمام مؤسسات آموزشي و پژوهشي و مراکز خدمات دولتي و بخش خصوصي از اطلاعات تهيه شده؛
- ايجاد نظام ارزيابي براي تقويت مراكز اطلاع رساني تا واحدهاي ذيربط همواره در بهبود كار خود بكوشند.
- بررسي برنامه هاي مناسب آموزشي و تربيت نيروي انساني مورد نياز ضمن هماهنگي با سازمان هاي دولتي و خصوصي به منظور پويايي مراكز اطلاعاتي و اعلام رشد آمادگي الكترونيكي در سطح ملي
- اقدامات لازم براي تدوين يك برنامه جامع تجهيزات و نرم‌افزارهاي فن آوري اطلاعاتي با همكاري ديگر سازمان هاي ذيربط (همچون تكفاي 2)
- تاسيس شبكه اطلاع رساني و مجموعه‌هاي اطلاعاتي در سازمان‌ها و موسسات دولتي و غيردولتي؛
- همكاري هاي بين المللي با سازمان هايي چون «يونسكو»، و ديگر مراكز و موسسات فعال در حوزه اطلاع‌رساني و جامعه اطلاعاتي به صورت فعال صورت پذيرد و با مشارکت جدي سهم فرهنگي اقتصادي ايران در اين جامعه اطلاعاتي جهاني استيفا شود.
- تشکيل يک مرکز مطالعات استراتژيک مربوط به حوزه اطلاع‌رساني و فناوريهاي اطلاعات و جامعه اطلاعاتي

پي نوشت :

1 - ارقام به طور تقریب 1% و مربوط به سال 2006 از پایگاه اطلاع رسانی http://www.internetworldstats.com. اخذ شده است. به طور کلی نرخ دسترسی به اینترنت در قاره آمریکای شمالی 69% ، اقیانوسیه 54%، اروپا 38% ، آمریکای لاتین 15% ، آسیا 10% و افریقا 5/3% است.

منبع:Articles

چگونه ويروسها گسترش مي‌يابند؟

زماني كه يك كد برنامه آلوده به ويروس را اجرا مي‌كنيد، كد ويروس هم پس از اجرا به همراه كد برنامه اصلي، در وهله اول تلاش مي‌كند برنامه‌هاي ديگر را آلوده كند.
 
اين برنامه ممكن است روي همان كامپيوتر ميزان یا برنامه‌اي بر روي كامپيوتر ديگر واقع در يك شبكه باشد. حال برنامه تازه آلوده شده نيز پس از اجرا دقيقاً عمليات مشابه قبل را به اجرا درمي‌آورد. هنگامیکه بصورت اشتراکی یک کپی از فایل آلوده را در دسترس کاربران دیگر کامپیوترها قرار می دهید، با اجراي فايل كامپيوترهاي ديگر نيز آلوده خواهند شد. همچنين طبيعي است با اجراي هرچه بيشتر فايلهاي آلوده فايلهاي بيشتري آلوده خواهند شد.
اگر كامپيوتري آلوده به يك ويروس بوت سكتور باشد، ويروس تلاش مي‌كند در فضاهاي سيستمي فلاپي ديسكها و هارد ديسك از خود کپی هایی بجا بگذارد. سپس فلاپي آلوده مي‌تواند كامپيوترهايي را كه از روي‌آن بوت مي‌شوند و نيز يك نسخه از ويروسي كه قبلاً روي فضاي بوت يك هارد ديسك نوشته شده نيز مي‌تواند فلاپي‌هاي جديد ديگري را آلوده نمايد.
به ويروسهايي كه هم قادر به آلوده كردن فايلها و هم آلوده نمودن فضاهاي بوت مي‌باشند اصطلاحاً ويروسهاي چند جزئي (multipartite) می گویند.
فايلهايي كه به توزيع ويروسها كمك مي‌كنند حاوي يك نوع عامل بالقوه مي‌باشند كه می توانند هر نوع كد اجرائي را آلوده ‌كنند. براي مثال بعضي ويروسها كدهايي را آلوده مي‌كنند كه در بوت سكتور فلاپي ديسكها و فضای سيستمي هارد ديسكها وجود دارند.
نوع ديگر این ويروس ها كه به ويروسهاي ماكرو شناخته می شوند، مي‌توانند عمليات پردازش كلمه‌اي (word processing) يا صفحه‌هاي حاوي متن را كه از این ماكروها استفاده مي‌كنند، آلوده کنند. اين امر براي صفحه‌هايي با فرمت HTML نيز صادق است.
از آنجائيكه يك كد ويروس بايد حتماً قابل اجرا شدن باشد تا اثري از خود به جاي بگذارد از اينرو فايلهايي كه كامپيوتر به عنوان داده‌هاي خالص و تميز با آنها سر و كار دارد امن هستند.
فايلهاي گرافيكي و صدا مانند فايلهايي با پسوند gif . ، jpg ، mp3، wav،…هستند .
براي مثال زماني كه يك فايل با فرمت picture را تماشا مي‌كنيد كامپيوتر شما آلوده نخواهد شد.
يك كد ويروس مجبور است كه در قالب يك فرم خاص مانند يك فايل برنامه‌اي .exe يا يك فايل متني doc كه كامپيوتر واقعاً آن را اجرا مي‌كند، قرار گیرد
منبع: www.ostadonline.com

هفت نوآوری متحول کننده زندگی بشر

برق بی‌سیم

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

پردازش موازی

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

فعل و انفعال با رایانه‌ها

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

رایانه مترجم

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

نگهداری اطلاعات به مدت 100 سال

پنجمین نوآوری که گارتنر به بررسی آن پرداخته است، فناوری ذخیره اطلاعات و داده‌ها در انبارهای الکترونیکی تمام دنیا در حجم بسیار وسیع و به مدت بسیار طولانی است. در حقیقت این فناوری، ذخیره اطلاعات را به مدت 100 سال تضمین خواهد کرد. درحال حاضر ذخیره اطلاعات تنها به مدت 20 سال وجود دارد.

افزایش توانایی برنامه‌نویسی

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

اندازه‌گیری بازگشت اقتصادی سرمایه‌گذاری در بخش فناوری

هفتمین و آخرین چالش بزرگ از دیدگاه گارتنر، روشی برای حصول اطمینان از نتایج دقیق مالی سرمایه‌گذاری‌های تکنولوژیکی است. در حال حاضر تنها می‌توان بازگشت اقتصادی برنامه‌های کوتاه و یا میان مدت را اندازه‌گیری کرد. به اعتقاد این آژانس تحقیقات IT، این تغییر بزرگ می‌تواند اندازه‌گیری دقیقی از هزینه‌های مالی و بازگشت اقتصادی سرمایه‌گذاری‌های تکنولوژیکی را ارائه کند.
منبع:www.itnevesht.com

رمش‌‌هاي مناسب براي كاربران رايانه

هنگام كار با رايانه معمولاً چند عضو همواره دچار خستگي و درد مي‌شوند. در ادامه نرمش‌هاي مناسب براي هر يك از اين اعضا را شرح مي‌دهيم...
زانوها
در حالي كه روي صندلي نشسته‌ايد، پاي راست خود را دراز كنيد و عضلات آن را به صورت كشيده نگه‌داريد. كف پا را به سمت بالا بياوريد و اجازه بدهيد 5 ثانيه در اين حالت بماند. حال كف پا را به سمت پايين نگه‌داريد و 5 ثانيه در اين حالت نگه‌داريد

چشم‌ها

در كار با رايانه اولين عضوي كه زود خسته مي‌شود چشم است. از آنجا كه در اين وضعيت تعداد پلك زدن پايين مي‌آيد و سطح چشم رطوبت خود را از دست مي‌دهد، چشم‌ها شروع به سوزش مي‌كنند. براي رفع خستگي چشم‌ها بهتر است مطابق تصاوير زير نرمش‌هاي مناسبي را براي آنها انجام دهيد. ابتدا گردن را صاف نگه‌داريد.
1- چشم‌ها را به سمت بالا ببريد و 10 ثانيه نگه‌داريد.
2- چشم‌ها را به سمت پايين بياوريد و 10 ثانيه نگه‌داريد.
3- چشم‌ها را به سمت راست ببريد و 10 ثانيه نگه‌داريد.
4- چشم‌ها را به سمت چپ ببريد و 10 ثانيه نگه‌داريد.

دست‌ها

كار كردن با صفحه كليد و موشواره عامل اصلي خستگي دست‌ها به خصوص مچ دست است. براي رفع خستگي اين عضو مطابق شكل زير انگشت‌ها را در هم فرو برده و پشت دست‌ها را به سمت خود نگه‌داريد. حال دست‌ها را به سمت جلو دراز كنيد و تا حد امكان بكشيد. 5 ثانيه در اين حالت بمانيد و بعد كمي آنها را به سمت خود بكشيد. اين كار را بين 5 تا 10 بار انجام دهيد.

انگشتان

كار با صفحه كليد به خصوص در ميان تايپيست‌ها علت اصلي درد در انگشتان دست است. براي پيشگيري از اين دردها لازم است گاهي استراحت‌هايي به آنها بدهيم و با انجام نرمش‌هايي خستگي آنها را رفع كنيم. كافي است دست‌ها را با فشار مشت كرده و بعد با كشيدن عضلات انگشتان باز كنيم. اين كار را بين 5 تا 10 مرتبه براي هر دست انجام دهيد.

مچ دست

علت عمده دردهاي مچ دست كار با موشواره به مدت طولاني است. براي پيشگيري از اين دردها بايد سعي كرد تا جايي که امکان دارد كمتر دست خود را روي موشواره نگه داشت. نرمش‌هاي زير نيز اگر به طور روزانه و مرتب انجام شوند در كاهش اين دردها مؤثر هستند. با يك دست انگشتان دست ديگر را گرفته و سمت بالا بكشيد. 5 ثانيه در اين حالت نگه داشته و سپس پشت دست را گرفته و 5 ثانيه به سمت پايين نگه‌داريد.

شانه و گردن

راي برطرف كردن دردهاي شانه و گردن صاف بايستيد. شانه‌ها را به سمت بالا بياوريد و 5 ثانيه نگه‌داريد و سپس به پايين ببريد. اين كار را مي‌توانيد بين 5 تا 10 بار انجام دهيد.

منبع: http://salamat.ir

VoIP چيست و چگونه كار می كند؟

مقدمه
روش هاي برقراري ارتباط تلفني در حال تغيير است. امروزه براي برقراري ارتباط تلفني راه دور اغلب از تكنولوژيي به نام VoIP استفاده مي شود. اگر تاكنون چيزي راجع VoIP نشنيده ايد، خواندن اين مقاله نظر شما را درباره اين كه ارتباطات تلفني راه دور چگونه انجام مي شود و آينده ارتباطات تلفني چه خواهد بود، تغيير مي دهد. VoIP يك روش براي تبديل سيگنال هاي آنالوگ صوت به داده هاي ديجيتال است كه از طريق اينترنت منتقل مي شوند.
ممكن است از خود بپرسيد كه اين امر چگونه مي تواند مفيد واقع شود. خوب، كافي است چند ثانيه راجع به آن فكر كنيد. اگر تبديل سيگنال هاي آنالوگ به داده هاي ديجيتال ممكن باشد، VoIP مي تواند يك ارتباط اينترنت استاندارد را به يك روش مجازاً رايگان براي برقراي ارتباطات تلفني در هر جاي دنيا تبديل كند. فقط كافي است هزينه ISP را بپردازيد. اين امر شما را قادر مي كند كه شركت هاي تلفني را به طور كامل كنار بگذاريد.
VoIP قابليت اين را دارد كه روش كار سيستم هاي تلفني را كاملاً متحول كند. شركت هاي زيادي هستند كه سرويس VoIP ارئه مي دهند و پيوسته هم در حال افزايش هستند.
در حال حاضر شركت هاي مخابراتي پيشگام در دنيا، پس از وقوف به امكانات بي پايان اين تكنولوژي جديد، در حال تأسيس مراكز VoIP در سراسر دنيا هستند و فروش سيستم هاي تلفن VoIP روز به روز در حال گسترش است.

نحوه برقراري ارتباط

با سيستم هاي VoIP به يكي از سه روش زير مي توان ارتباط تلفني برقرار كرد:

1. (ATA (gateway

ساده ترين روش برقراري ارتباط VoIP با استفاده از (ATA(Analog Telephone Adaptor ها كه gateway هم ناميده مي شوند، مي باشد. اين ابزارها اين امكان را به شما مي دهند كه از تلفن هاي آنالوگ استاندارد فعلي تان استفاده كنيد(اگر هنوز از تلفن هاي آنالوگ استفاده مي كنيد). به آساني مي توانيد handset استانداردتان را به ATA متصل كنيد، سپس ATA را به كامپيوتر يا ارتباط اينترنت تان وصل كنيد. با اين كار قادر به برقراري ارتباط VoIP خواهيد بود. ATA سيگنال آنالوگ را از تلفن استاندارد شما مي گيرد و آن را به سيگنال ديجيتال آماده براي انتقال در بستر اينترنت تبديل مي كند. همراه برخي ATAها يك نرم افزار هست كه روي كامپيوتر load مي شود و شما را قادر مي سازد كه آن را براي VoIP با دقت پيكربندي كنيد.

2. IP Phones

اين handsetها كاملاً شبيه handsetهاي استاندارد معمولي است. داراي يك كانكتور RJ 45 Ethernet به جاي كانكتورهاي استاندارد RJ 11 هستند. اين تلفن ها تمام نرم افزارها و سخت افزارهاي لازم براي برقراري ارتباطات VoIP را به صورت built-in دارند. مستقيمأ به روتر شما وصل مي شوند و يك ورودي سريع و مقرون به صرفه به دنياي VoIP فراهم مي كنند.

3. كامپيوتر به كامپيوتر

اين روش آسان ترين روش استفاده از تكنولوژي VoIP است. شركت هاي زيادي هستند كه نرم افزارهاي مقرون به صرفه اي ارائه مي دهند كه مي توانيد براي اين نوع VoIP از آن ها استفاده كنيد. معمولاً تنها مبلغي كه بايد پرداخت كنيد فقط هزينه ماهانه ISP است. تمام آن چه كه نياز داريد يك ميكروفون،بلندگو، يك كارت صداي مناسب و يك ارتباط اينترنت با سرعت مناسب است.
شركت هاي تلفني بزرگ امروزه با استفاده از VoIP هزاران تماس تلفني راه دور را از طريق يك circuit Switch به درون يك IP gateway مسيردهي مي كنند. اين داده ها در طرف ديگر توسط يك gateway دريافت شده و سپس با يك circuit switch محلي ديگر مسيردهي مي شود. هر روزه شركت هاي بيش تري سيستم هاي تلفني VoIP را نصب مي كنند و تكنولوژي VoIP در حال رشد است.

مزاياي VoIP

از آن جايي كه با استفاده از VoIP شما از هر جايي كه به پهناي باند مناسب دسترسي داشته باشيد، مي توانيد ارتباط برقرار كنيد، كاربران مي توانند هنگام مسافرت ATAها يا IP Phoneهايشان را همراه داشته باشند و به تمام خدماتي كه تلفن خانگي شان ارائه مي دهد دسترسي داشته باشند.
برخي افراد از يك softphone براي دسترسي به سرويس VoIPشان استفاده مي كنند. يك softphone يك نرم افزار ويژه است كه سرويس VoIP را به كامپيوتر يا Laptop شما load مي كند. اين برنامه ها اين امكان را به شما مي دهد كه از طريق laptop تان از هرجاي دنيا كه به يك ارتباط با پهناي باند مناسب دسترسي داشته باشيد ارتباط تلفني برقرار كنيد.
اغلب شركت هاي تلفني سنتي هزينه سرويس هاي اضافي را در صورت حساب شما مي گنجانند. در حالي كه اگر از سرويس دهنده هاي VoIP استفاده كنيد، اين سرويس ها استاندارد به حساب مي آيد. سرويس هايي مثل:
* Caller ID
* Call Waiting
* Call Transfer
* Repeat Dialing
* Return Call
* Three-way Dialing
بعضي از سرويس دهندگان VoIP مزاياي بيش تري در مورد فيلتر كردن تماس هاي تلفني ارائه مي دهند. اين قابليت هاي اضافي به شما اين امكان را مي دهد كه در مورد چگونگي انتقال تماس هاي تلفني بر اساس اطلاعات Caller ID تصميم گيري نمائيد. اين قابليت ها به شما امكان انجام كارهاي زير را مي دهد:
1. انتقال تماس تلفني به يك شماره تلفن خاص (Forwarding)
2. ارسال مستقيم تماس به Voicemail
3. ارسال پيغام اشغال بودن مشترك به تماس گيرنده
4. امكان سرويس در دسترس نبودن مشترك
بسياري از سرويس هاي VoIP امكان بررسي Voicemail شما را از طريق اينترنت و يا توسط فايل پيوست نامه الكترونيكي كه به كامپيوتر يا PDA شما ارسال شده است را مي دهد. در هنگام تهيه سرويس VoIP از سيستم تلفن و سرويس دهنده VoIP در مورد قابليت هاي آن ها و هزينه خدمات سوال كنيد.
براي مديران شبكه، سيستم تلفن VoIP به اين معني است كه به جاي دو شبكه تنها با يك شبكه روبرو هستند. جابجايي سيستم VoIP نيز به آساني صورت مي گيرد. اين بدين دليل است كه اكثر سيستم هاي تلفن مورد استفاده در شبكه VoIP داراي رابط Web بوده و به راحتي توسط مدير شبكه قابل مديريت هستند. پروسه (MAC(Move, Add, Change به راحتي قابل انجام خواهد شد و لازم نيست براي هر بار انجام MAC با سرويس دهنده تان تماس بگيريد. تمام اين ها به معناي هزينه كم تر براي سازمان شما مي باشد.
يكي ديگر از منافعي كه براي شركت هاي داراي VoIP مي تواند وجود داشته باشد اين است كه شعب سازمان ها مي توانند در سرتاسر دنيا پراكنده شده باشند و نيازي به مجتمع بودن آن ها نيست.

انتخاب يك سيستم تلفن VoIP

اگر شما تصميم به پياده سازي سيستم VoIP در سازمان خود داريد، ابتدا مشخص كنيد كه كدام یك از تجهيزات تلفني فعلي تان را مي توانيد حفظ كنيد. بدين ترتيب مي توانيد به ميزان زيادي در هزينه ها صرفه جويي كنيد. بسياري از سيستم هاي تلفن ديجيتال با افزودن كم ترين سخت افزار و به روزرساني نرم افزار داراي قابليت آدرس دهي مي شوند.
علاوه بر اين شما بايد مطمئن باشيد كه تمامي دستگاه هاي مورد استفاده شما مانند فكس، پردازشگر كارت اعتباري، سيستم هاي امنيتي و ... مي توانند به صورت يكپارچه به سيستم تلفن VoIP شما متصل شود.
در آخر توصيه مي شود كه هيچ گاه سعي نكنيد با خريدن تلفن هاي VoIP دست دوم در هزينه ها صرفه جويي كنيد. به خاطر داشته باشيد كه VoIP يك تكنولوژي جديد بوده و حتي ممكن است تجهيزات مربوط به يك سال قبل هم از رده خارج شده باشند. هم چنين هزينه نصب چه تلفن شما نو باشد چه دست دوم تفاوتي نمي كند، و حتي ممكن است در صورت استفاده از تلفن هاي دست دوم مجبور شويد هزينه خدمات بيشتري بپردازيد.
منبع:http://chaparel.net
نويسنده: مهران ابن الدین

همه چیز درباره موتورهای جستجو (1)

اینترنت و حضور در آن

از سال ۱۹۹٢ يك منبع بسيار مهم ديگر به منابع اطلاعاتي اضافه شد و آن شبكه جهاني وب ( World Wide Web ) یا همان اینترنت است. به جز کاربرد در زمینه اطلاع رسانی اینترنت کاربردهای بیشمار و غیر قابل تصوری در تجارت و سایر زمینه های زندگی نیز پیدا کرده است. به بیان دیگر امروزه در هر زمینه ای که بتوان تصور کرد، اینترنت یک ابزار موثر و توانمند به حساب می آید. حضور در اینترنت حقیقتا باید بخشی از بازاریابی شما باشد.

علت پیدایش موتورهای جستجو

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

موتور جستجو چیست؟ (موتور جستجوگر و اهمیت آن)

دنیای وب منبع عظیمی از اطلاعات است که روزبه‌روز برحجم آن افزوده می‌شود. در حال حاضر میلیاردها صفحه که اطلاعات فراوانی از موضوعات مختلف را در بر دارند، بر روی سرورهای مختلف جا خوش کرده اند. این در حالیست که تولد سایتهای جدید و گسترش سایتهای موجود نیز به طور فزاینده ای به این حجم اطلاعات می افزاید. نرخ رشد اطلاعات تا بدانجاست که امروزه مشکل دسترسی به اطلاعات جدی تر از نبود اطلاعات است. امروزه چالش عمده اکثر کاربران دستیابی به اطلاعات است. به عبارت دیگر اگر کاربری دنبال موضوعی خاص باشد، کدام صفحه را باید بخواند؟ از میان این تعداد عظیم صفحات موجود، کدام صفحه نیاز او را برآورده می کند؟
اگر سایتی باشد که به کاربران در یافتن اطلاعات کمک کند، قطعا مورد توجه خواهد بود. خوشبختانه چنین سایتی وجود دارد و ما آنرا با نام موتور جستجوگر می شناسیم.
موتور جستجوگر سایتی است که برای کمک به کاربران در یافتن اطلاعات موجود در سایتهای دیگر طراحی شده است. موتور جستجوگر سایتی است که با گرفتن عبارتی مختصر، کاربر را با لیستی از سایت ها روبرو می‌کند که به موضوع مورد علاقه او مرتبط می‌باشند.
آمارها نشان می دهند که افراد بسیاری سفر در دنیای وب را با موتورهای جستجوگر آغاز می‌کنند و مراجعه به موتورهای جستجوگر چنان عادی شده است که جستجو کردن و کار با موتورهای جستجوگر، دومین فعالیت عمده کاربران در دنیای وب (بعد از ارسال و دریافت نامه های الکترونیکی)، محسوب می شود.
هر چه بر محبوبیت وب افزوده می گردد، نیاز به بایگانی کردن اطلاعات آن نیز بیشتر می‌شود؛ موتور جستجوگر نیز در واقع این اطلاعات را بایگانی کرده، در زمان مورد نیاز و به سرعت در اختیار کاربران قرار می‌دهد. بدون موتور جستجوگر، وب تنها به بخش کوچکی از موفقیت امروزین خود دست می‌یافت زیرا موتور جستجوگر، اینترنت را به رسانه‌ای قابل استفاده برای همه کرده است (از هیچ کس توقع نمی‌رود تعداد زیادی از آدرس های وب را به یاد داشته باشد).
آن چه که موتورهای جستجوگر انجام می دهند- با درجات متفاوتی از موفقیت- فراهم کردن یک وسیله جستجوی ساده است. وقتی یک کاربر وب عبارتی را جستجو می‌کند، موتور جستجوگر لیستی از سایت‌ ها را ارائه می‌کند که تعداد آنها از چند صد مورد تا چند میلیون متغیر می‌باشد.
سایت هایی که موتور جستجوگر به عنوان نتایج جستجویش ارایه می‌کند، بر حسب میزان ارتباط با عبارت جستجو شده به ترتیب نزولی لیست می‌شوند. به عبارت دیگر سایتی که به عنوان اولین سایت در نتایج جستجو معرفی شده است، مرتبط ترین سایت با عبارت جستجو شده از دید آن موتور جستجوگر بوده است.
دقت در ارایه نتایج جستجو چیزیست که کاربران وب همواره از موتورهای جستجوگر می خواهند. هر چه نتایج جستجوی یک موتور جستجوگر دقیق تر و مرتبط تر باشد، محبوب تر خواهد بود و کاربران بیشتری بدان مراجعه خواهند کرد.
اگر عبارت یکسانی در تمام موتورهای جستجوگر، جستجو شود هیچ کدام از آنها نتایج یکسانی را ارائه نمی‌دهند و با نتایج کاملا متفاوتی روبرو می‌شویم. تفاوت در ارائه نتایج جستجو در موتورهای جستجوگر از تفاوت آنها در الگوریتم (سیستم رتبه بندی) و بایگانی داده‌شان ناشی می‌شود. حتی اگر همه آنها از بایگانی داده یکسانی نیز استفاده کنند، بازهم نتایج جستجویشان متفاوت خواهد بود. موتور جستجوگر برای رده‌بندی صفحات وب از الگوریتم خاصی استفاده می‌کند که فوق‌العاده محرمانه می‌باشد. الگوریتم نیز مجموعه ای از دستورالعمل ها است که موتور جستجوگر به کمک آن تصمیم می‌گیرد که سایت ها را چگونه در خروجی‌اش مرتب کند.
برای اینکه سایت ها با هم مقایسه شوند و بر حسب میزان ارتباط با موضوع جستجو شده، مرتب شوند، موتور جستجوگر، الگوریتم را بر مجموعه‌ای از پارامترها اعمال می‌کند. پارامترهای مورد توجه موتور جستجوگر نیز همانند الگوریتم آن ها ناشناخته می‌باشد و این ناشناخته ها جذابیت دنیای موتورهای جستجوگر را دوچندان می‌کنند.
به اهمیت موتورهای جستجوگر از دیدگاه کاربران وب و جستجوکنندگان اطلاعات اشاره شد. آیا موتورهای جستجوگر از دیدگاه تجاری و دیدگاه یک مدیر سایت نیز مهم می باشند؟

اهمیت تجاری موتورهای جستجوگر

فعالان عرصه تجارت الکترونیک، آوردن بیننده به سایت را برای موفقیت در دنیای وب و تجارت آنلاین ضروری می دانند. فرقی نمی‌کند که سایت چه می‌فروشد و چه خدماتی ارایه می دهد: اگر سایتی به دنبال فروش کالا یا خدمات و کسب درآمد یا محبوبیت است، باید بیننده داشته باشد.
تعداد بینندگان یک سایت، برگ برنده آن برای کسب موفقیت در دنیای وب می‌باشد. سایتی که بیننده ندارد، بدون شک مرگی آنلاین را تجربه می‌کند و چه بسیارند سایتهایی که هر روزه از چرخه زندگی در وب خارج می شوند!
مدیران و طراحان خبره وب به خوبی می دانند که فقط طراحی یک وب سایت تضمینی برای آمدن بیننده به آن نیست بلکه باید بینندگان را به طریقی به سایت جذب کرد. بینندگان تنها به دنبال رفع نیازهای اطلاعاتی خود می باشند و وظیفه ندارند به هر قیمتی که شده سایت شما را بیابند.
برای دعوت بینندگان به وب سایتتان چه تدابیری اندیشیده اید؟ چگونه دیگران بدانند که شما سایت پر محتوا و جذابی دارید؟ خود شما چگونه سایتهای دیگر را می یابید؟
بدون هیچ گونه تردیدی باید گفت که ما در اغلب موارد به کمک موتورهای جستجوگر به آنچه که می خواهیم، دست می یابیم.
اگر ما اینکار را انجام می دهیم، دیگران نیز دقیقا همین کار را می کنند: جستجوی چند عبارت در یکی از موتورهای جستجوگر و مراجعه به یکی از وب سایتها. ببینیم آمارها چه می گویند:
• 82 درصد کاربران اینترنت، موتورهای جستجوگر را ابزار اصلی خود برای یافتن وب سایتها عنوان کرده اند.
• 57 درصد از کاربران اینترنت، هر روز جستجو می‌کنند و 46 درصد این جستجوها برای کالا یا خدمات است. (منبع: SRI )
• 85 درصد ترافیک هدفمند در اینترنت را موتورهای جستجوگر باعث می‌شوند.
همان گونه که آمارها نشان می‌دهند موتورهای جستجوگر ابزار مناسبی هستند که خریداران به کمک آنها، کالا یا خدمات مورد نیاز خود را می‌یابند. البته تنها رده‌های بالای نتایج جستجو هستند که مورد توجه کاربران قرار می گیرند و آنها به سایت‌های لیست شده در این رتبه‌ها مراجعه می کنند.
بسیاری از کاربران دریافته اند که در اغلب موارد 10 رتبه اول نتایج جستجو می تواند خواسته آنها را برآورده کند و هنوز هم علاقه دارند که تنها 10 سایت اول در نتایج جستجو را مرور کنند. اما آمارها چه می گویند:
• 70 درصد از کاربران به هنگام جستجو حتما یکی از سه سایت ابتدای نتایج جستجو را کلیک می کنند.
• تنها 7 درصد از آنها سایتهای قرار گرفته در رتبه های بیستم به بعد را کلیک می کنند.
• 85 درصد از آنها اگر جوابی برای جستجوی خود در بیست نتیجه اول نتایج جستجو نیابند، موتور جستجوگر مورد استفاده خود را عوض می کنند.
• 33 درصد کاربران وب فکر می کنند سایتی که در ابتدای نتایج جستجو قرار دارد، در موضوع جستجو شده سرآمدتر از رقبای خود است و در آن موضوع پیشرو می باشد.
با دقت در این آمارها، اهمیت کسب رتبه‌های بالا در موتورهای جستجوگر روشن تر می‌شود. نکته مهم دیگر این است که بینندگانی که موتورهای جستجوگر روانه سایت‌ها می‌کنند، به احتمال زیاد مخاطبان اصلی سایت مورد نظر می‌باشند و این در حالی است که هزینه چندانی نیز صرف آوردن آنان به سایت نشده است.
آمارهای ارایه شده از رفتار کاربران وب پیام بسیار واضحی دارد: سایتهایی ‌که در رتبه‌های بالا قرار نمی‌گیرند، بخش مهمی از کاربران مخاطب خود را از دست می دهند.
یک سایت ممکن است هزاران بیننده داشته باشد اما تعداد بینندگان گروه مخاطب آن است که موفقیت سایت را رقم می زند. زیرا در اغلب موارد این بینندگان مخاطب سایت هستند که از سایت چیزی بیشتر از اطلاعات رایگان ارایه شده می خواهند.
امروزه تجارت الکترونیک خود را با مسئله رتبه بندی در موتورهای جستجوگر هماهنگ کرده است زیرا رتبه های بالاتر مستقیما به فروش بیشتر، تعبیر می شوند. طبق آمارهای ارایه شده در ابتدای سال جدید میلادی (2003) نزدیک به 93 درصد بینندگان سایت های فعال در زمینه ارایه هدایای کریسمس را موتورهای جستجوگر فراهم کرده اند که در این بین گوگل با 27 درصد در صدر ایستاده است و پس از آن یاهو با 25 درصد در رده دوم قرار گرفته است.
شم بازاریابی حکم می کند که همواره در جایی حضور داشته باشیم که مشتری ما آنجاست. اگر ما آنجا نباشیم، رقیب ما آنجا خواهد بود. به عبارت دیگر کسیکه قرار است از ما خرید کند، از رقیب ما خرید می کند:
رقیب ما هر روز چاق تر و چاق تر می شود و ما نحیف و نحیف تر.
بازاریابی با موتورهای جستجوگر ( Search Engine Marketing ) نیز دو هدف عمده زیر را دنبال می کند:
1. حضور در جاهایی که خریداران ما آنجا هستند.
2. بالاتر بودن از رقبا ( کسب وضعیت بهتر نسبت به رقبا)
اینگونه از بازاریابی شامل فعالیتهای مختلفی می باشد که از مهمترین فعالیتهای آن، بهینه سازی سایت ( Search Engine Optimization ) می باشد. در حقیقت موتورهای جستجوگر از مهمترین بینندگان هر سایتی هستند. اگر سایت شما تنها برای مرورگرها، بهینه سازی شده است، کمی تامل کنید: سایت شما باید برای موتورهای جستجوگر هم بهینه سازی گردد. به عنوان مثال مرورگرها می توانند صفحات را با وجود بعضی از خطاها در کدهای آنها، به کاربران نمایش دهند اما موتورهای جستجوگر تا این حد مهربان نیستند. خوشبختانه توجه به موتورهای جستجوگر در طراحی سایت، آنرا برای کاربران سایت هم قابل استفاده تر می کند.
بهینه سازی سایت به معنای به کارگیری ترفندهای پیچیده نیست بلکه در اغلب موارد به کارگیری و اعمال تغییرات کوچک و ساده در سایت است که معمولا تاثیر فوق العاده ای در بالا بردن ضریب نفوذ سایت شما در موتورهای جستجوگر دارند.
ضریب نفوذ مناسب به معنای حضور در موتورهای جستجوگر مهم و عمده، بایگانی شدن هر چه بیشتر صفحات سایت در پایگاه داده آنها و قرار گرفتن در صفحه های اول تا پنجم نتایج جستجوی آنهاست.
متخصصین بسیاری در تلاش‌اند تا الگوریتم و پارامترهای مورد توجه موتورهای جستجوگر را شناسایی کنند تا بتوانند به کمک آنها به رتبه‌های بالاتری دست یابند و شانس خود را در کسب درآمد بیشتر، افزایش دهند.
البته به موازات آنها، موتورهای جستجوگر نیز روز به‌ روز الگوریتم های خود را هوشمندتر کرده و بر اقدامات امنیتی برای حفاظت از الگوریتم‌هایشان می‌افزایند.
چیزی که امروزه این متخصصان با تاکید بر آنها قصد بهبودی رتبه های سایت های خود را دارند، تنها تجربه است و نه یافته های علمی ثابت شده از اسرار بسیار موتورهای جستجوگر.

خلاصه:

• موتور جستجوگر ابزاری است که کاربران اینترنت به کمک آنها سایت ها را می یابند.
• نتایج جستجوی تمام موتورهای جستجوگر دقیق نیست.
• بسیاری از کاربران دریافته اند که در اغلب موارد 10 رتبه اول نتایج جستجوی موتورهای جستجوگر می تواند خواسته آنها را برآورده کند.
• راههای بسیاری برای دسترسی به سایتها وجود دارد اما موتورهای جستجوگر همواره راهکار اساسی بوده اند.
• تجارت الکترونیک به شدت خود را با مسئله رتبه بندی در موتورهای جستجوگر هماهنگ کرده است و همه سایت ها برای کسب رتبه های بالا تلاش می کنند.
• اجرای یک برنامه موفق بازاریابی با موتورهای جستجوگر، بدون یک ساختار و زیربنای مستحکم در خود سایت اصولا با شکست همراه می باشد.

مفاهیم و اصطلاحات دنیای جستجو و موتورهای جستجوگر

قبل از شروع گفتگو درباره هر موضوعی نیاز به آن است که مفاهیم اولیه و اصطلاحات رایج در آن موضوع، بیان شود تا طرفین گفتگو راحت تر به منظور یکدیگر پی ببرند. برخی از مفاهیم و اصطلاحات حوزه SEO در این مقاله شــرح داده شده است. Spider, Crawler, Robot نرم افزاری است که کار جمع آوری اطلاعات از صفحات سایتهای مختلف را بر عهده دارد. Directory فهرست. نوعی از موتورهای جستجوگر که پایگاه داده آن توسط ویراستاران تکمیل می گردد. در آنها سایتها در گروههایی موضوعی دسته بندی می شوند. Keyword بــه واژه ها ی مهم (کلیدی) هر صفحه گفته می شود. اما غالبا" منظور کلماتی است که دوست داریم با آنها رتبه های مناسبی کسب کنیم.
Keyword Density چگالی کلمه، منظور تعداد دفعات تکرار واژه های کلیدی در مقایسه با سایر کلمات متن است. Keyword Staffing تکرار یک کلمه به دفعات و پشت سر هم به منظور بالا بردن چگالی کلمه. این کار تقلب محسوب می شود. Tinny Text نوشتن متن با اندازه های بسیار کوچک و ریز به گونه ای که کلمات بسیاری بدین ترتیب در یک خط قرار داده می شود و به سختی نیز در صفحه قابل رویت هستند. نوشتن مطالب به این صورت، تقلب محسوب است. Invisible Text متن نامرئی. منظور استفاده از متن های همرنگ با پس زمینه صفحه است. متن هایی که از دید کاربران مخفی می ماند. به عنوان مثال اگر پس زمینه یک صفحه سیاه است، متن صفحه نیز با رنگ سیاه نوشته می شود تا دیده نشود . این نوع متن ها از مصادیق تقلب می باشند. Spam تقلب، به تمام تلاش هایی گفته می شود که به کمک آن سعی می شود از راه های غیر معمول، رتبه های بالایی کسب شود.
یا در اختیار گذاردن اطلاعاتی که موتورهای جستجوگر آنرا دوست ندارند (اطلاعات ناخواسته) مانند تکرار یک کلمه به دفعات و پشت سر هم، استفاده از متن های هم رنگ زمینه و ... ALT tag محتوای این شناسه، متنی است که یک عکس را توضیح می دهد. Deep Crawl به معنای این است که موتور جستجوگر، می تواندصفحات زیادی از یک سایت را در پایگاه داده اش قرار دهد. موتور جستجوگر هرچه پایگاه داده اش بزرگتر باشد، صفحات بیشتری از یک سایت را می تواند در پایگاه داده اش قرار دهد. همه موتورهای جستجوگر دارای این ویژگی نمی باشند. Robots.txt با این فایل متنی و ساده، میزان دسترسی موتور جستجوگر به محتوای یک "سایت" را می توان کنترل کرد. META robots tag به کمک این شناسه میزان دسترسی موتور جستجوگر به محتوای یک "صفحه" را می توان کنترل کرد. Link پیوند. در واقع پلی بین دو صفحه است. به کمک آن می توان از یک صفحه به صفحه دیگر رفت. Link Popularity مقصود این است که چه تعداد از سایت های دیگر به سایتی مشخص لینک کرده اند یا اینکه از چند سایت دیگر می توان به کمک پیوندها به سایتی مشخص رفت.
Link Reputation اشاره به این دارد که سایر سایتها درباره سایتی که بدان لینک داده اند، چه می گویند. عموما در این موارد عنوان، متن لینک و کلمات اطراف لینک در سایت مقصد، بررسی می شوند. Learn Frequency بعضی از موتورهای جستجوگر می توانند تشخیص دهند که محتوای صفحات پس از چه مدتی تغییر می کند (به روز می گردد) و بعد از آن مدت به آن صفحات مراجعه می کنند. URL-Uniform Resource Locator به آدرس منحصر به فرد هر منبع موجود در اینترنت گفته می شود. این منبع می تواند یک صفحه وب، یک فایل متنی و... باشد Stop Word به کلماتی گفته می شود که در کل اینترنت از آنها بسیار استفاده شده است. کلماتی نظیر the, a, an, web www, home page , و ... Meta tags به کمک این شناسه ها، اطلاعاتی از صفحه در اختیار بینندگان (موتور جستجوگر، مرورگرها و ...) قرار داده می شود. META Keywords به کمک آن، کلمات کلیدی صفحه در اختیار موتورهای جستجوگر قرار داده می شود. META Description به کمک آن، توضیحی مختصر از صفحه در اختیار موتورهای جستجوگر قرار داده می شود. Stemming به معنای این است که موتور جستجوگر می تواند صورت های مختلف یک کلمه را جستجو کند. به عنوان مثال با جستجوی swim موتور جستجوگر به دنبال swimmer ، swimming نیز می گردد. همه موتورهای جستجوگر دارای این ویژگی نمی باشند. Rank رتبه یک صفحه در نتایج جستجو است زمانی که جستجویی مرتبط با محتوای آن صفحه انجام می شود. Spamdexing مختصر شده spam indexing است. منظور طراحی و معرفی صفحاتی به موتورهای جستجوگر است که کیفیت نتایج جستجو را پایین می آورند. موتورهای جستجوگر تمایل دارند که کاربران بارها و بارها به آنها مراجعه کنند و کیفیت بالای نتایج می تواند این روند را تضمین کند. لذا آنها هرکدام به نوعی سعی در تشخیص صفحاتی دارند که کیفیت نتایج جستجو را پایین می آورد. برخی از این موارد عبارتند از: ساختن صفحاتی که همگی دارای محتوای یکسانی اند، تکرار یک کلمه بیش از حد و ... Comment توضیحاتی است که طراحان سایت در لا به لای کدهای HTML می گنجانند تا برای فهمیدن وظیفه بخش های متفاوت کدهای HTML در مراجعات آتی نیازی به صرف وقت بسیار نداشته باشند.
ادامه دارد .....
 
منبع: سایت راسخون

همه چیز درباره موتورهای جستجو (2)

موتور جستجو چگونه کار می کند؟
وقتی جستجویی در یک موتور جستجوگر انجام و نتایج جستجو ارایه می شود، كاربران در واقع نتیجه كار بخش های متفاوت موتور جستجوگر را می بینند. موتور جستجوگر قبلا" پایگاه داده اش را آماده كرده است و این گونه نیست كه درست در همان لحظه جستجو، تمام وب را بگردد. بسیاری از خود می پرسند كه چگونه ممکن است گوگل در كمتر از یك ثانیه تمام سایت های وب را بگردد و میلیون ها صفحه را در نتایج جستجوی خود ارایه كند؟
گوگل و هیچ موتور جستجوگر دیگری توانایی انجام این كار را ندارند. همه آنها در زمان پاسخ گویی به جستجوهای كاربران، تنها در پایگاه داده ای كه در اختیار دارند به جستجو می پردازند و نه در وب! موتور جستجوگر به كمك بخش های متفاوت خود، اطلاعات مورد نیاز را قبلا" جمع آوری، تجزیه و تحلیل می كند، آنرا در پایگاه داده اش ذخیره می نماید و به هنگام جستجوی کاربر تنها در همین پایگاه داده می گردد.
بخش های مجزای یك موتور جستجوگر عبارتند از:
• Spider یا عنکبوت
• Crawler یا خزنده
• Indexer یا بایگانی کننده
• Database یا پایگاه داده
• Ranker یا سیستم رتبه بندی

الف Spider - (عنکبوت)

اسپایدر یا روبوت ( Robot )، نرم افزاری است كه كار جمع آوری اطلاعات مورد نیاز یك موتور جستجوگر را بر عهده دارد. اسپایدر به صفحات مختلف سر می زند، محتوای آنها را می خواند، لینکها را دنبال می کند، اطلاعات مورد نیاز را جمع آوری می كند و آنرا در اختیار سایر بخش های موتور جستجوگر قرار می دهد. كار یك اسپایدر، بسیار شبیه كار كاربران وب است. همانطور كه كاربران، صفحات مختلف را بازدید می كنند، اسپایدر هم درست این كار را انجام می دهد با این تفاوت كه اسپایدر كدهای HTML صفحات را می بیند اما كاربران نتیجه حاصل از كنار هم قرار گرفتن این كدها را. index.html صفحه ای است كه كاربران آنرا به صورت شكل (1) می بینند:

شكل 1- نمونه ای از صفحات وب كه توسط مرورگرها نشان داده می شود.

اما یک اسپایدر آنرا چگونه می بیند؟

برای این كه شما هم بتوانید دنیای وب را از دیدگاه یك اسپایدر ببینید، كافی است كه كدهای HTML صفحات را مشاهده کنید. برای این كار در مرورگر مورد استفاده خود، مسیر نشان داده شده در شكل (2) دنبال کنید.

شكل 2- روش مشاهده كدهای HTML یک صفحه وب
با انجام این کار فایل متنی شكل (3) به شما نشان داده می شود:

شكل 3- كدهای HTML سازنده یك صفحه وب

آیا این دنیای متنی برای شما جذاب است؟

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

ب- Crawler (خزنده)

كراولر، نرم افزاری است كه به عنوان یك فرمانده برای اسپایدر عمل می كند. آن مشخص می كند که اسپایدر كدام صفحات را مورد بازدید قرار دهد. در واقع کراولر تصمیم می گیرد كه كدام یك از لینك های صفحه ای كه اسپایدر در حال حاضر در آن قرار دارد، دنبال شود. ممكن است همه آنها را دنبال كند، بعضی ها را دنبال كند و یا هیچ كدام را دنبال نكند.
کراولر، ممكن است قبلا" برنامه ریزی شده باشد که آدرس های خاصی را طبق برنامه، در اختیار اسپایدر قرار دهد تا از آنها دیدن کند. دنبال كردن لینك های یک صفحه به این بستگی دارد كه موتور جستجوگر چه حجمی از اطلاعات یک سایت را می تواند (می خواهد) در پایگاه داده اش ذخیره كند. همچنین ممكن است اجازه دسترسی به بعضی از صفحات به موتورهای جستجوگر داده نشده باشد.
شما به عنوان دارنده سایت، همان طور كه دوست دارید موتورهای جستجوگر اطلاعات سایت شما را با خود ببرند، می توانید آنها را از بعضی صفحات سایت تان دور كنید و اجازه دسترسی به محتوای آن صفحات را به آنها ندهید. موتور جستجو اگر مودب باشد قبل از ورود به هر سایتی ابتدا قوانین دسترسی به محتوای سایت را (در صورت وجود) در فایلی خاص بررسی می کند و از حقوق دسترسی خود اطلاع می یابد. تنظیم میزان دسترسی موتورهای جستجوگر به محتوای یک سایت توسط پروتكل Robots انجام می شود. به عمل کراولر ، خزش ( Crawling ) می گویند.

ج- Indexer (بایگانی كننده)

تمام اطلاعات جمع آوری شده توسط اسپایدر در اختیار ایندکسر قرار می گیرد. در این بخش اطلاعات ارسالی مورد تجزیه و تحلیل قرار می گیرند و به بخش های متفاوتی تقسیم می شوند. تجزیه و تحلیل بدین معنی است كه مشخص می شود اطلاعات از كدام صفحه ارسال شده است، چه حجمی دارد، كلمات موجود در آن كدامند، کلمات چندبار تكرار شده اند، كلمات در كجای صفحه قرار دارند و ... .
در حقیقت ایندکسر، صفحه را به پارامترهای آن خرد می کند و تمام این پارامترها را به یک مقیاس عددی تبدیل می کند تا سیستم رتبه بندی بتواند پارامترهای صفحات مختلف را با هم مقایسه کند. در زمان تجزیه و تحلیل اطلاعات، ایندکسر برای كاهش حجم داده ها از بعضی كلمات كه بسیار رایج هستند صرفنظر می کند. كلماتی نظیر a ، an ، the ، www ، is و ... . از این گونه كلمات هستند.

د - DataBase (پایگاه داده)

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

هـ- Ranker (سیستم رتبه بندی)

بعد از آنكه تمام مراحل قبل انجام شد، موتور جستجوگر آماده پاسخ گویی به سوالات كاربران است. كاربران چند كلمه را در جعبه جستجوی ( Search Box ) آن وارد می كنند و سپس با فشردن Enter منتظر پــاسخ می مانند. برای پاسخگویی به درخواست کاربر، ابتدا تمام صفحات موجود در پایگاه داده كه به موضوع جستجو شده، مرتبط هستند، مشخص می شوند. پس از آن سیستم رتبه بندی وارد عمل شده، آنها را از بیشترین ارتباط تا كمترین ارتباط مرتب می كند و به عنوان نتایج جستجو به كاربر نمایش می دهد.
حتی اگر موتور جستجوگر بهترین و كامل ترین پایگاه داده را داشته باشد اما نتواند پاسخ های مرتبطی را ارایه كند، یك موتور جستجوگر ضعیف خواهد بود. در حقیقت سیستم رتبه بندی قلب تپنده یك موتور جستجوگر است و تفاوت اصلی موتورهای جستجوگر در این بخش قرار دارد. سیستم رتبه بندی برای پاسخ گویی به سوالات كاربران، پارامترهای بسیاری را در نظر می گیرد تا بتواند بهترین پاسخ ها را در اختیار آنها قرار دارد.
حرفه ای های دنیای SEM به طور خلاصه از آن به Algo ( الگوریتم) یاد می كنند. الگوریتم، مجموعه ای از دستورالعمل ها است كه موتور جستجوگر با اعمال آنها بر پارامترهای صفحات موجود در پایگاه داده اش، تصمیم می گیرد که صفحات مرتبط را چگونه در نتایج جستجو مرتب كند. در حال حاضر قدرتمندترین سیستم رتبه بندی را گوگل در اختیار دارد.
می توان با ادغام کردن اسپایدر با کراولر و همچنین ایندکسر با پایگاه داده، موتور جستجوگر را شامل سه بخش زیر دانست که این گونه تقسیم بندی هم درست می باشد:
• کراولر
• بایگانی
• سیستم رتبه بندی
تذکر- برای سهولت در بیان مطالب بعدی هر گاه صحبت از بایگانی کردن (شدن) به میان می آید، مقصود این است که صفحه تجزیه و تحلیل شده و به پایگاه داده موتور جستجوگر وارد می شود.
برای آنكه تصور درستی از نحوه كار یك موتور جستجوگر داشته باشید داستان نامتعارف زیر را با هم بررسی می كنیم. داستان ما یک شکارچی دارد. او تصمیم به شكار می گیرد:

- کار کراولر:

او قصد دارد برای شكار به منطقه حفاظت شده ابیورد، واقع در شهرستان درگز (شمالی ترین شهر خراسان بزرگ) برود.

- پروتكل Robots :

ابتدا تمام محدودیت های موجود برای شكار در این منطقه را بررسی می كند:
• آیا در این منطقه می توان به شکار پرداخت؟
• کدام حیوانات را می توان شکار کرد؟
• حداکثر تعداد شکار چه میزانی است؟
• و ... .
فرض می کنیم او مجوز شكار یک اوریال (نوعی آهو) را از شكاربانی منطقه دریافت می كند.

- کار اسپایدر

او اوریالی رعنا را شكار می كند و سپس آنرا با خود به منزل می برد.

- کار ایندکسر

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

- کار پایگاه داده

بسته های حاصل را درون فریزر قرار داده، ذخیره می کند.

- کار سیستم رتبه بندی

مهمانان سراغ او می آیند و همسرش بسته به ذائقه مهمانان برای آنها غذا طبخ می كند. ممكن است عده ای كله پاچه، عده ای آبگوشت، عده ای ... دوست داشته باشند. پخت غذا طبق سلیقه مهمانان کار سختی است. ممكن است همه آنها آبگوشت بخواهند اما آنها مسلما" بامزه ترین آبگوشت را می خواهند!

نکته ها:

• شکارچی می توانست برای شکار کبک یا اوریال و یا هر دو به آن منطقه برود همانطور که موتور جستجوگر می تواند از سرور سایت شما انواع فایل (عکس، فایل متنی، فایل اجرایی و ...) درخواست کند.
• شکارچی می تواند شب به شکار برود یا روز. موتور جستجوگر هم ممکن است شب به سایت شما مراجعه کند یا روز. بنابراین همواره مطمئن باشید که سایت شما آپ است و موتور جستجوگر می تواند در آن به شکار فایلها بپردازد.
• غذای خوشمزه را می توانید با نتایج جستجوی دقیق و مرتبط مقایسه کنید. اگر شکارچی بهترین شکار را با خود به منزل ببرد اما غذایی خوشمزه و مطابق سلیقه مهمانان طبخ نگردد، تمام زحمات هدر رفته است.
• به عنوان آخرین نکته این بخش یاد آوری می کنم که به شکار اوریالی رعنا آن هم در منطقه حفاظت شده ابیورد (پارک ملی تندوره) اصلا فکر نکنید. اما توصیه می شود که حتما از طبیعت بکر آن دیدن فرمایید (بدون اسلحه!).
ادامه دارد .....
 
منبع: سایت راسخون

همه چیز درباره موتورهای جستجو (3)

بهينه سازي موتورهاي جستجو
بهینه سازی موتورهای جستجو روشی است برای بالا بردن تعداد و کیفیت بازدیدکنندگان یک سایت به کمک موتور های جستجو.
• اینترنت و حضور در آن
• علت پیدایش موتورهای جستجو
• رتبه بندی موتورهای جستجو
• بدست آوردن رتبه بالا در موتورهای جستجو
* بهینه سازی موتورهای جستجو ( Search Engine Optimization )
* معرفی به موتورهای جستجو و فهرست ها ( Search Engines and Directories Submission )
* تبلیغات در موتورهای جستجو ( Search Engine Advertising )
• فاکتورهای کاهش رتبه در موتورهای جستجو
• بررسی و آنالیز وب سایت
رتبه بندی موتورهای جستجو
وقتی کاربری عبارتی را جستجو می‌کند، موتور جستجو لیستی از سایت‌ ها را ارائه می دهد که مرتبط با کلمات نوشته شده است. این سایتها بر حسب میزان ارتباط خود با موضوع جستجو شده به صورت نزولی لیست می شوند یعنی سایتی که بیشترین ارتباط و بالاترین رتبه را دارد، اولین است.
• هر موتور جستجو الگوريتم خاص و محرمانه خودش را برای رتبه بندی ( Ranking ) دارد و با توجه به اهميت و اولويت فاکتورهاي رتبه بندي ممکن است نتايج جستجوی متفاوتي بوجود آيد. ممکن است سایت شما در یک موتور جستجو رتبه ٢ و در موتور دیگر رتبه ۱۰ داشته باشد.
• ديگر اینکه رتبه سايت شما کاملا به کليدواژه هايي که انتخاب مي کنيد بستگي خواهد داشت. براي نمونه ممکن است سايت شما هنگام جستجوي يک عبارت رتبه ۱٢ داشته باشد و در جستجوي ديگري با يک عبارت ديگر، رتبه ۱٢۶۴ را بدست آورد. پس عبارتهايي که برای بهبود جايگاه خود انتخاب می کنید مهم است.

بدست آوردن رتبه بالا در موتورهای جستجو

موتورهای جستجو بهترین روش برای یافتن محصولات و اطلاعات مورد نیاز توسط کاربران و متقاضیان از یک سو و از سوی دیگر بهترین راه برای تبلیغات و جذب مشتریان توسط تولید کنندگان و ارائه کنندگان خدمات است.
آمار نشان می دهد تنها ٧% کاربران از صفحه های سوم به بعد نتایج را مرور میکنند به عبارتی، بیشتر آنان اگر مطلب مورد نظر خود را در صفحات نخست پیدا نکنند از موتور جستجوی دیگری کمک می گیرند.
سه ابزار اصلی برای بدست آوردن رتبه بالا در موتورهای جستجو و در نتیجه جایگیری در صفحات نخست نتایج جستجو عبارتند از:
۱. بهینه سازی موتورهای جستجو
٢. معرفی به موتورهای جستجو و فهرست ها
۳. تبلیغات در موتورهای جستجو

بهینه سازی موتورهای جستجو

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

۱. انتخاب کلیدواژه ها

کلیدواژه ها همان کلماتی هستند که وقتی مورد جستجو قرار می گرفتند سایت یا سند ما در صفحات نخست نتایج جستجو (حداقل ۳ صفحه اول) ظاهر شود. در انتخاب کلمات کلیدی باید به چند نکته توجه شود :

• ارتباط معنایی با محتویات سایت :

کلیدواژه ها باید با موضوع سایت مرتبط باشند. اگر اینچنین نباشد رتبه سایت بسیار پایین خواهد آمد و حتی ممکن است به عنوان تقلب ( Spam ) شناخته شود.

• میزان محبوبیت :

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

• در نظر گرفتن رقیبان :

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

٢. بکارگیری کلیدواژه ها در URL

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

۳. بکارگیری کلیدواژه ها در صفحه

• عنوان صفحه - Title
عنوان صفحه شامل ۵ تا ۱۰ کلمه است و همان متنی است که بالای گردشگر اینترنت ظاهر می شود و موقع ذخیره کردن صفحه و اضافه کردن آن به صفحات محبوب به عنوان اسم پیش فرض ظاهر می شود.
• تگ توصیف - Meta Description
برخی از موتورهای جستجو این متن را که شامل ٢۵ تا ۳۰ کلمه در توصیف صفحه است بعد از عنوان سایت در نتایج جستجوی خود نشان می دهند. از کلیدواژه ها در این متن استفاده کنید.
• تگ کلیدواژه ها - Meta Keywords
این تگ جزو تگ های بسیار مهم سایت است زیرا موتورهای جستجو برای این بخش ارزش زیادی قائلند. ابتدا کلیدواژه اصلی، بعد کلیدواژه دوم و بعد چند کلید واژه مشابه را قرار دهید.
• تگ سرصفحه - H1
کلیدواژه خود را در سرصفحه قرار دهید.
• تگ تو پر - B
بکارگیری کلیدواژه در متن در حالت تو پر باعث نتیجه بهتر می شود.
• تگ مشخصات عکس - Alt
وقتی در سایتی ماوس را بر روی عکسی نگاه میدارید برای چند ثانیه متنی ظاهر می که شامل توضیحی در مورد عکس است. موتورهای جستجو حتی این توضیحات به ظاهر کوچک را در نظر می گیرند به همین دلیل از کلیدواژه ها در این متن استفاده کنید.
• نام فایل های عکس
نام فایل های عکس موجود در سایتتان را از میان کلیدواژه ها انتخاب کنید و نام را فارسی انتخاب نکنید.
• متن صفحه - Content
ارتباط کامل متن با موضوع و نگارش ساده و صحیح آن مهم است. کلیدواژه ها را نیز طوری در متن صفحه بکار برید که ساختار متن حفظ شود. پارامترهای زیر را در بکارگیری کلیدواژه ها در نظر بگیرید :

جایگاه کلیدواژه ( Prominence )

منظور میزان نزدیکی کلیدواژه به ابتدای صفحه است. اولویت به ترتیب در مکان های زیر است : عنوان متن ، عنوان فصل ها ، اولین کلمه پاراگراف ، خط های اول پاراگراف اول ، پاراگراف اول ، خطوط بالای متن .

چگالی کلیدواژه ( Weight/Density )

منظور از چگالی، نسبت دفعات تکرار کلمات کلیدی به کل متن است. باید مقدار این پارامتر را در حد معقول نگهدارید. فرمول محاسبه درصد چگالی : ۱۰۰ * تعداد کلمات متن/ تعداد کلیدواژه ها
برای متن صفحه، چگالی بین ۳ تا ٧ مناسب است.

تعداد کلیدواژه ( Frequency )

منظور از تعداد کلید واژه، دفعاتی است که یک کلید واژه بکار برده می شود. هر چه دفعات تکرار بیشتر باشد، نمره این پارامتر بالاتر می رود.

توزیع کلیدواژه ( Proximity )

منظور این است که کلیدواژه ها چقدر از هم دور یا به هم نزدیک هستند. باید سعی شود که کلیدواژه ها خیلی به هم نزدیک نباشند و در همه جای متن وجود داشته باشند.

۴. تهیه نقشه سایت - Sitemap

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

۵. محبوبیت لینک - Link Popularity

این بخش از بهینه سازی از اهمیت بسیار بالایی برخوردار است و از چند جهت برسی می شود:s
• تعداد لینک های ورودی
• اهمیت و کیفیت لینک های ورودی. لینکی که بین دو سایت با زمینه کاری مشابه رد وبدل شده، با کیفیت است و لینکی از یک سایت با رتبه بالا مهم است.
• متنی که لینک می شود ( Link Anchor Text ). وجود کلیدواژه ای که صفحه بر مبنای آن بهینه سازی شده در این متن مهم است چون موتورهای جستجو این پارامتر را هم در نظر می گیرند.
معرفی به موتورهای جستجو و فهرست ها
پس از بهینه سازی موتورهای جستجو، باید آدرس و مشخصات سایت را در موتورهای جستجو ثبت کنید.

معروف ترین موتورهای جستجو:

• www.google.com/addurl : Google
• submit.search.yahoo.com/free/request : Yahoo
• search.msn.com/docs/submit.aspx : MSN
فهرست های اینترنتی یا همان دایرکتوری ها جایی برای رده بندی سایت هاست که افراد حقیقی یا به عبارتی ادیتور ها که انسان هستند آنها را کنترل می کنند و در نتیجه هر سایت بی خودی در آنها ثبت نمی شود. بنابراین ارزش لینک های داخل آنها بالاست و به همین خاطر برای موتور های جستجو ارزش زیادی دارد.

معروف ترین فهرست:

• dmoz.org/World/Persian : ODP
موتور های جستجوی بزرگ مثل یاهو و گوگل به طور منظم این دایرکتوری رو چک میکنن و توجه خاصی به این دایرکتوری دارند.

تبلیغات در موتورهای جستجو

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

فاکتورهای کاهش رتبه در موتورهای جستجو

• لینک های خراب - Broken Links

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

• تقلب - Spam

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

• صفحات آيينه اي - Mirror Pages

منظور صفحات تکراري با آدرس متفاوت و محتواي يکسان است.

• مزرعه لينک - Link Farms

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

بررسی و آنالیز وب سایت

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

راه اندازی سیستم بازاریابی

راه اندازی سیستم بازاریابی زنبیل به آدرس:

www.zanbil24.com

انواع مختلف موتورهای Mysql

پایگاه داده MySQL بدلیل کارایی(Performance) بسیار بالایی که دارد قادر است از انواع(Type) مختلف جدول پشتیبانی کند که به شرح ذیل می باشند:

1- نوع MyISAM
2- نوع InnoDb
3- نوع Memory
4- نوع Archive
5- نوع BerkeleyDb
6- نوع Example
7- نوع Merge

نوع MyISAM:
یکی از بهترین نوع جدول هستش که خود MySQL هم بصورت پیشفرض(Default) در نظر می گیرش(چه تعریفش کنید و چه نکنید). این نوع بر اساس نوع ISAM قدیم ساخته شده(که در نگارش 5 وجود نداره) و برای هر جدول هم 3 فایل ایجاد می کنه:
xxxxx.frm: حاوی قالب جدول. Form/at
xxxxx.myi: حاوی Index های جدول. MyIndex
xxxxx.myd: حاوی داده های جدول. MyData
از جمله ویژگی های مثبتش هم:
سرعت بسیار بالا.
Catch بسیار راحت.
اشغال فضای کمتر در Disk.
دارای Option های data directory و index directory در ساخت جداول.
به خوبی از Triger، View, Routine و Stored procedure پشتیبانی می کند.
می تواند 64 تا Index داشته باشد.
می تواند Key های 1000 بایتی داشته باشد.
هر سطر ار فضای خودش استفاده می کند و در صورت لزوم به چند قسمت تقسیم می شوند.
می تواند 16 ستون را در Index نگه داری کند.
داده ها می توانند با 3 قالب Static, Dynamic و Compressed ذخیره بشن.
برای قالب Dynamic فضای بیشتری درنظر می گیرند.
برای قالب Static فضای کمتری درنظر می گیرند.
از Index نوع BTree استفاده می کند.
پشتیبانی کامل از دستورات اصلی(select, delete, update, insert...) و فرعی(where, order...).
ستون های نوع VarChar می توانند طول Static یا Dynamic داشته باشند.
پشتیبانی از قفل گذاری جداول. Read/write.
از مقدار تهی(Null) در ستونهای Index پشتیبانی می کند.
تمام مقادیر Key از نوع عدد، طوری ذخیره میشن که Index ها به عالی ترین شکل فشرده می شوند.
قابلیت ترمیم و بازیابی بالایی دارد.
از فایل هایی با طول 63 بیت هم پشتیبانی می کند(با اجازه سیستم).
داده ها از نظر بیتی، از کوچیک به بزرگ ذخیره میشن. در نتیجه از سیستم جدا خواهند بود.
ستونهای نوع Text و BLOb به عنوان Index هم می توانند معرفی بشن.
و...

نوع InnoDb:
این نوع جدول در کار با داده های سنگین بسیار کارامد هستش. از Transaction بخوبی پشتیبانی میکنه. از قفل جداول و سطر ها هم پشتیبانی می کنه. داده ها و Index ها رو هم در Buffer خودش ذخیره می کنه. نسبت به نوع MyISAM کمتر Option داره. Performance بالایی هم داره؟!

نوع Memory:
همانطور که از نامش پیداست بیشتر با حافظه سروکار داره. جداول رو در فایلی با پسوند frm ذخیره می کنه. هر جدول میتونه 32 تا Index داشته باشه. Index ها می تونن محتوای Null هم باشن. این Index ها از نوع BTree یا Hash هستند. فرمت سطرها فقط از نوع Fixed هستش. از گزینه auto_increment هم پشتیبانی می کنه. از ستون های نوع BLOb و Text پشتیبانی نمی کنه.
هر Index میتونه 16 تا ستون داشته باشه. طول هر Key هم 500 بایت هستش.

نوع Archive:
برای بایگانی دیگه :D
از قفل پشتیبانی میکنه و دستورات اصلیش هم فقط select و insert هستش.
نوع BLOb هم داره :sleepy:.

نوع BerkeleyDb:
از Transaction بخوبی پشتیبانی میکنه. داده ها در دو فایل با پسوند frm(قالب) و db(داده ها) ذخیره میشن. Index ها فشرده نمی شوند. از قفل جداول پشتیبانی می کنه. سرعت کمتری نسبت به InnoDb و خیلی کمتر نسب به MyISAM داره. هر جدول باید یک Primary key داشته باشه(نداشته باشه بصورت Default خود MySQL براش درست میکنه). در مورد تعداد Index ها و ستونها و Key ها هم اطلاعات دقیقی ندارم(تابه حال دقیق تستش نکردم :D جستجو کنید).

نوع Example:
چیزی که عیانه چه حاجت به بیانه؟! :D
کارایی خاصی نداره و فقط برای توسعه دهندگان هسته MySQL بکار میره(این رو یک توسعه گر کاردرست خارجی بهم گفت :D).

نوع Merge:
کار اصلیش الحاق/پیوست جداول(مثل هم) با هم هستش. خیلی از Option های MyISAM رو نداره. محدودیت برای فضا نداره. دستورات اصلی delete select update رو داره. از Key ها هم پشتیبانی می کنه. کمی هم کند هستش.

جدید !

مجموعه ای بی نظیر از کدهای PHP به همت آقای منوریان.

اینجا کلیک کنید.

چند نکته از معروف ترين موتور جستجوي دنيا

-همه‌چيز در نحوه نوشتن
‌با اطلاع از چگونگي نوشتن عبارات جستجو در موتورهاي جستجو، مي‌توانيد اطلاعات موردنيازتان را به راحتي پيدا کنيد. به عنوان مثال دستور <کلمه مورد نظر: INURL> باعث مي‌شود تا موتور جستجوي گوگل، همه صفحاتي که در آدرس URL آن‌ها، کلمه مورد نظر وجود داشته باشد را برايتان فهرست کند.

-نوار ابزار گوگل
با اضافه کردن نوار ابزار گوگل به مرورگرتان، از اين پس مي‌توانيد کار جستجو را با سرعت و راحتي بيشتري انجام دهيد. يکي ديگر از امکانات اين نوار ابزار، جلوگيري از نمايش پنجره‌هاي تبليغاتي است. براي دريافت اين برنامه و کسب اطلاعات بيشتر به نشاني TOOLBAR.GOOGLE.COM مراجعه کنيد.

-چه کسي به سايت شما لينک داده است‌
بسياري از مديران سايت‌ها علاقه‌مندند بدانند چه کساني (از سايت خود) به سايت آن‌ها لينک داده است. گوگل به اين سوال پاسخ مي‌دهد. مي‌توانيد در قسمت جستجو، عبارت <نشاني سايت:LINK> را وارد کرده و کليد ENTER را بزنيد. نتيجه اين درخواست، فهرست سايت‌هايي است که به سايت شما لينک داده‌اند.

-تعيين بازه‌ هاي تاريخي
نتايج مطلوب‌تر در اغلب موارد، زماني که جستجويي را با گوگل انجام مي‌دهيد، نتيجه آن هزاران سايت و وبلاگ و نشاني مي‌باشد که در واقع بسياري از آن‌ها کاربرد چنداني ندارند و با موضوع موردنظرتان هماهنگ نيستند. يکي از روش‌هاي مؤثر در کاهش حجم نتايج جستجو، تعيين بازه‌هاي تاريخي است. مثلاً زماني که بازه‌اي را بين سال‌هاي 2002 تا 2004 تعريف مي‌کنيد، گوگل با تبعيت از آن، فقط آن دسته از صفحاتي که دربازه مذکور ايجاد يا روزآمد شده‌اند را برايتان فهرست مي‌کند (براي تعريف بازه‌هاي تاريخي به گزينه <جستجوي پيشرفته> مراجعه کنيد).

-فقط صفحات جديد
جستجو بدون ذکر تاريخ، نتايج بي‌شماري در پي دارد. انبوه نتايج، نه تنها به يافتن مطلب موردنظرتان کمکي نمي‌کند، بلکه موجب سردرگمي‌تان نيز مي‌شود. علاوه براين اگر بعد از يک بررسي طولاني بين نتايج جستجو، به اطلاعات موردنظرتان رسيديد و متوجه قديمي بودن آن‌ها شديد، چطور؟ اگر به دنبال اطلاعات جديد و روزآمد هستيد، در قسمت جستجوي پيشرفته، عبارات <3 ماه>، <6 ماه> و حتي <يک‌سال> را در مقابل گزينه DATE وارد کنيد تا گوگل بسته به تاريخ ذکر شده، فقط فهرست صفحات جديد را برايتان نمايش دهد. مثلاً اگر عبارت <3 ماه> را انتخاب کنيد، گوگل تمامي صفحاتي که در سه ماه گذشته ايجاد يا بروز شده‌اند را جستجو و آن‌هايي که با موضوع موردنظرتان منطبق هستند را نمايش مي‌دهد.

-مستثني کردن کلمات
با مستثني کردن کلمات، علاوه بر کاهش حجم نتايج جستجو، مي‌توان به اطلاعات موردنظر نزديک‌تر شد. با گذاشتن علامت <-> قبل از کلمه‌ دلخواه، گوگل آن کلمه را استثنا قلمداد کرده و از نمايش صفحاتي که حاوي چنين کلمه‌اي باشند، پرهيز مي‌کند. مثلاً نتيجه عبارت ، همه صفحاتي که مربوط به ايران هستند و از تهران نامي نبرده‌اند را شامل مي‌شود.

-WILDCARDها
زماني که به‌طور کامل از کلمات موضوع مورد جستجو آگاهي نداريد، بهتر است از کاراکتر کمکي ستاره <*> استفاده کنيد. کاراکتر <*> معني <هرچيز> مي‌دهد. مثلاً عبارت مي‌تواند نتايجي نظير ، و يا نتايجي از اين دست را حاصل شود.

-عناوين صفحات‌
معمولاً همه صفحات وب، عنوان دارند. گاهي‌اوقات استفاده از اين عناوين، به شما در پيدا کردن مطالب مورد نيازتان کمک شاياني مي‌کند. مثلاً عبارت <کلمه مورد نظر: INTITLE>، گوگل را بر آن مي‌دارد تا فقط عناوين صفحات را براي يافتن کلمه ذکر شده، جستجو کند.

-جستجوي خودکار
جستجو در اينترنت، قصه سوزن و انبار کاه است. گاهي‌اوقات ممکن است عليرغم صرف وقت زياد، باز هم به نتيجه دلخواه نرسيد. بنابراين هر ابزاري که در اين پروسه، از اتلاف وقت جلوگيري کند، بسيار باارزش است. يکي از اين ابزارها، <پيغام‌دهنده> گوگل نام دارد. اين ابزار با دريافت آدرس ايميل و عبارت مورد جستجو، به طور خودکار و روزانه، جستجويي را براساس عبارت دريافتي ترتيب داده و هر زمان که اطلاعات جديدي را يافت نمايد، آدرس آن را برايتان ايميل مي‌کند. آدرس پيغام‌دهنده گوگل به اين ترتيب است: HTTP://WWW.GOOGLEALERT.COM/

-ماشين‌حساب گوگل
کافی است عبارت مورد نظر ریاضی را در کادر جستجو تایپ کنید

عملگر عمل مثال
+  or  plus جمع 25 + 44 = 69
-  or  minus تفریق 17 - 6 = 11
*  or  times ضرب 21 * 5 = 105
/  or  divided by تقسیم 35 / 7 = 5
^  or  ** توان 2 ^ 4 = 16
%  or  mod  or  modulo باقیمانده حاصل از تقسیم دو عدد 56 % 3 = 2
th root of

محاسبه ریشه n ام عدد

2 th root of 4 = 2
% of  or  percent محاسبه درصد از یک عدد مثلا 20 درصد از 200 20 % of 200 = 40
sqrt جذر یک عدد sqrt(9) = 3
sin ,cos ,tan دستور های مثلثاتی ( بر حسب رادیان ) sin(30) = -0.988031624
ln لوگاریتم یک عدد در مبنای e ln(17) = 2.83321334
log لوگاریتم یک عدد در مبنای 10 log(100) = 2
lg لوگاریتم یک عدد در مبنای 2 lg(8) = 3
! فاکتوریل 5! = 120

-معني کلمات
اگر معني يا بهتر بگوييم، تعريف کلمه‌اي را نمي‌دانيد، در کادر جستجو <کلمه موردنظر: DEFINE> را نوشته و کليدENTER را بزنيد. در جواب اين جستجو، علاوه بر تعريف کلمه، لينکي نيز نمايش داده مي‌شود که با کليک روي آن، به جزييات بيشتري مي‌رسيد.

-جستجوي داخل فايل‌ها
با کمک گوگل مي‌توان داخل فايل‌هاي مشخصي را براي يافتن کلمه‌اي دلخواه جستجو کرد. مثلاً عبارت FILETYPE:DOC IRAN> > گوگل را برآن مي‌دارد تا تمامي فايل‌هاي DOC (مربوط به برنامه MICROSOFT WORD) را به منظور يافتن واژه‌ي IRAN جستجو کرده و آن‌هايي که داراي چنين کلمه‌اي هستند را فهرست کند.

پيدا كردن پسورد نرم افزارها به وسيله گوگل و یاهو

اكثر مواقع بعد از نصب هر نوع نرم افزاري يكي از دغدغه هاي كاربران نحوه كرك كردن و يا پيدا كردن سريال نرم افزار مورد نظر است .
امروز مي خوام بهتون ترفندي بسیار ساده ياد بدم كه مستقيما سريال و كرك برنامه ها رو از گوگل بگيريد .
اگه از عبارت زیر در جستجوی گوگل استفاده کنین بدون مراجعه به سایت خاصی سریال نامبر برنامه مورد نظرتون رو میگیرین.
کد :
appname 94FBR
بجای appname نام برنامه رو بنویسین.
بعد به زیر لینکهایی که گوگل بعنوان جواب بهتون میده دقت کنین.
سریال رو میبینین.
مثال :
برای ِپیدا کردن پسورد نرو متن زیر را جستجو کنید :
nero 94FBR

نقاط قوت و ضعف Cloud Computing

 مقدمه:
Cloud Computing به شما اجازه مي دهد به تمام برنامه هاي کاربردي و اسناد خود، ازهرجايي از دنيا دسترسي پيدا کنيد و شما را از گرفتاري هاي استفاده از کامپيوتر هاي دسک تاپ رهايي مي بخشد و به شما کمک مي کند با ديگران همکاري کنيد. اما Cloud Computing براي همه مناسب نيست و نقاط قوت وضعف متعددي دارد.ما، در اين مقاله به کاربراني که مي توانند از مزاياي Cloud Computing استفاده کنند و همچنين کاربراني که نيازي به استفاده ازاين گرايش جديد ندارند، اشاره مي کنيم. Cloud Computing، يک تغيير بسيار عمده را در چگونگي ذخيره سازي اطلاعات و اجراي برنامه هاي کاربردي به وجود آورده است. به جاي قرار گرفتن برنامه هاي کاربردي و داده ها بر روي کامپيوتر شخصي منفرد، همه چيز بر روي ابر يا Cloud که مجموعه اي متشکل از چندين کامپيوتر و سرور است که از طريق اينترنت به آن ها دسترسي مي يابيم ميزباني مي شود. اين نوع Computing مبتني بر وب، شما را از گرفتاري هاي مرتبط با استفاده از کامپيوترهاي دسک تاپ رهايي مي بخشد واشکال جديدي از همکاري گروهي را پيش روي شما باز مي کند. اما عليرغم جذابيت اين گرايش جديد، Cloud Computing به درد همه کاربران نمي خورد. اجازه دهيد ببينيم کاربران متوسط وend user چه مزايايي از به کار گيري Cloud Computing کسب مي کنند و چرا برخي از کاربران نهايي بايد ازاستفاده از برنامه هاي کاربردي مبتني بر وب، لااقل براي الان، پرهيز کنند.

مزايا و نقاط قوت Cloud Computing

خوب، ما کارمان را با بيان مزاياي متعددي که توسط Cloud Computing ارائه مي شود آغاز مي کنيم. وقتي شما به سمت استفاده ا ز ابر مي رويد، به چيزهاي زير دست پيدا مي کنيد:
ـ هزينه هاي کامپيوتري کم تر: شما براي اجراي برنامه هاي کاربردي مبتني بر وب، نيازي به استفاده ازيک کامپيوتر قدرتمند و گران قيمت نداريد و از آن جائي که برنامه هاي کاربردي بر روي ابر اجرا مي شوند، نه بر روي يک پي سي دسک تاپ شما نيازي به توان پردازشي زياد يا فضاي ديسک سخت که نرم افزارهاي دسک تاپ محتاج آن هستند ندارد. وقتي شما يک برنامه کاربردي تحت وب را اجرا مي کنيد، پي سي شما مي تواند ارزان تر، با يک ديسک سخت کوچک تر، با حافظه کم تر و داراي پردازنده کارآمدتر باشد. در واقع، پي سي شما دراين سناريو حتي نيازي به يک درايو CD يا DVD هم ندارد زيرا هيچ نوع برنامه نرم افزاري بار نمي شود و هيچ سندي نياز به ذخيره شدن بر روي کامپيوتر ندارد.
ـ هزينه هاي نرم افزاري کم تر: به جاي خريد برنامه هاي نرم افزاري گران قيمت براي هر پي سي، شما مي توانيد تمام نيازهاي خود را به صورت رايگان برطرف کنيد.بله درست است، اغلب برنامه هاي کامپيوتري Cloud Computing که امروزه عرضه مي شوند، نظير Googel Docs، کاملاً رايگان هستند. اين، بسيار بهتر از پرداخت 200 دلار يا بيش تر براي خريد برنامه Office مايکروسافت است که اين موضوع به تنهايي مي تواند يک دليل قوي براي سوئيچ کردن به Cloud Computing محسوب شود.
ـ ارتقاي نرم افزاري سريع ودائم: يکي ديگر از مزاياي مربوط به نرم افزار درCloud Computing اين است که شما ديگر نيازي به Update کردن نرم افزارها و يا اجباربه استفاده از نرم افزارهاي قديمي، به دليل هزينه زياد ارتقاي آن ها نداريد. وقتي برنامه هاي کاربردي، مبتني بر وب باشند، ارتقاها به صورت اتوماتيک رخ مي دهند و دفعه بعد که شما به ابر، Login کنيد به نرم افزاراعمال مي شوند. وقتي شما به يک برنامه کاربردي مبتني بر وب دسترسي پيدا مي کنيد، بدون نياز به پرداخت پول براي دانلود يا ارتقاي نرم افزار، از آخرين نسخه آن بهره مند مي شويد.
ـ سازگاري بيش تر فرمت اسناد: نيازي نيست که شما نگران مسئله سازگاري اسنادي که بر روي کامپيوتر خود ايجاد مي کنيد با ساير سيستم عامل ها يا ساير برنامه هاي کاربردي ديگران باشيد. در دنيايي که اسناد 2007 Word را اجرا مي کند باز مي شوند، تمام اسنادي که با استفاده از برنامه هاي کاربردي مبتني بر وب ايجاد مي شوند مي توانند توسط ساير کاربراني که به آن برنامه کاربردي دسترسي دارند خوانده شوند. وقتي همه کاربران اسناد و برنامه هاي کاربردي خود را بر روي ابر اشتراک مي گذارند، هيچ نوع ناسازگاري بين فرمت ها به وجود نخواهد آمد.
ـ ظرفيت نامحدود وذخيره سازي: Cloud Computing ظرفيت نامحدودي براي ذخيره سازي در اختيار شما قرار مي دهد.ديسک سخت 200 گيگابايتي فعلي کامپيوتردسک تاپ شما درمقايسه با صدها پتابايت (يک ميليون گيگا بايت) که ازطريق ابر دردسترس شما قرار مي گيرد اصلاً چيزي به حساب نمي آيد. شما هرچيزي را که نياز به ذخيره کردن آن داشته باشيد مي توانيد ذخيره کنيد.
ـ قابليت اطمينان بيش تر به داده ها:برخلاف Desktop Computing که درآن يک ديسک سخت مي تواند crash کند و تمام داده هاي ارزشمند شما را از بين ببرد، کامپيوتري که بر روي ابر crash کند نمي تواند بر داده هاي شما تأثير بگذارد. اين همچنين بدان معنا است که اگر کامپيوترهاي شخصي شما crash کنند، تمام داده ها هنوز هم آن جا و بر روي ابر وجود دارند و کماکان در دسترس شما هستند. در دنيايي که تنها تعداد اندکي از کاربران به طور مرتب و منظم از داده هاي مهم و حساس خود نسخه پشتيبان تهيه مي کنند، Cloud Computing حرف آخر در زمينه محافظت از داده ها به شمار مي رود.
ـ دسترسي جهاني به اسناد: آيا تا به حال کارهاي مهم خود را از محيط کار به منزل برده ايد؟ و يا تا کنون به همراه بردن يک يا چند فايل مهم را فراموش کرده ايد؟ اين موضوع در Cloud Computing رخ نمي دهد زيرا شما اسناد و فايل هاي مهم خود را همراهتان حمل نمي کنيد. در عوض، اين اسناد و فايل ها بر روي ابر مي مانند و شما مي توانيد از هرجايي که يک کامپيوتر واتصال اينترنتي وجود داشته باشد به آن ها دسترسي پيدا کنيد. شما درهر کجا که باشيد به سرعت مي توانيد به اسناد خود دسترسي پيدا کنيد و به همين دليل، نيازي به همراه داشتن آن ها نخواهيد داشت.
ـ دراختيار داشتن آخرين و جديدترين نسخه: يکي ديگر از مزاياي مرتبط با اسناد در Cloud Computing اين است که وقتي شما يک سند را در خانه تان اديت مي کنيد، اين نسخه اديت شده همان چيزي است که وقتي درمحل کار خود به آن دسترسي مي يابيد مشاهده مي کنيد. ابر همواره، آخرين نسخه از اسناد شما را ميزباني مي کند وتا وقتي شما به اينترنت وابر متصل باشيد، هيچ گاه درمعرض خطراستفاده از يک نسخه تاريخ گذشته نخواهيد بود.
ـ همکاري گروهي ساده تر: به اشتراک گذاشتن اسناد، شما را مستقيماً به همکاري بر روي اسناد رهنمون مي شود. براي بسياري از کاربران، اين يکي ازمهم ترين مزاياي استفاده ازCloud Computing محسوب مي شود زيرا چندين کاربر به طور همزمان مي توانند بر روي اسناد و پروژه ها کار کنند. به دليل اين که اسناد بر روي ابر ميزباني مي شوند، نه برروي کامپيوترهاي منفرد، همه چيزي که شما نياز داريد يک کامپيوتر با قابليت دسترسي به اينترنت است.
ـ مستقل از سخت افزار: در نهايت، در اين جا به آخرين و بهترين مزيت Cloud Computing اشاره مي کنيم. شما ديگر مجبور نيستيد به يک شبکه يا يک کامپيوتر خاص محدود باشيد. کافي است کامپيوتر خود را تغيير دهيد تا ببينيد برنامه هاي کاربردي و اسناد شما کما کان و به همان شکل قبلي، بر روي ابر در اختيار شما هستند. حتي اگر از ابزار پرتابل نيز استفاده کنيد، بازهم اسناد به همان شکل در اختيار شما هستند. ديگرنيازي به خريد يک نسخه خاص، يا ذخيره کردن اسناد با يک فرمت مبتني بر يک ابزار ويژه نداريد. فرقي نمي کند که شما ازچه نوع سخت افزاري استفاده مي کنيد زيرا اسناد و برنامه هاي کاربردي شما در همه حال به يک شکل هستند.

نقاط ضعف Cloud Computing

چند دليل وجود دارد که ممکن است با استناد به آن ها شما نخواهيد از Cloud Computing استفاده کنيد. در اين جا به ريسک هاي مرتبط با استفاده از Cloud Computing اشاره مي کنيم:
ـ نياز به اتصال دائمي به اينترنت دارد: در صورتي که شما نتوانيد به اينترنت متصل شويد، غير ممکن خواهد بود. از آن جائي که شما بايد براي ارتباط با برنامه هاي کاربردي و اسناد خود به اينترنت متصل باشيد نمي توانيد به هيچ چيزي، حتي اسناد خودتان دسترسي پيدا کنيد. نبود يک ارتباط اينترنتي، به معناي نبود کار است. وقتي شما آف لاين هستيد، Cloud Computing کار نمي کند.
ـ با اتصال هاي اينترنتي کم سرعت کار نمي کند. به همان شکلي که در بالا اشاره شد، يک ارتباط اينتر نت کم سرعت نظير نمونه اي که در سرويس هاي Dial-up ديده مي شود، در بهترين حالت، استفاده از Cloud Computing را با درسرهاي فوق العاده همراه مي کند و اغلب اوقات، استفاده از آن غير ممکن مي سازد. برنامه هاي کاربردي تحت وب و همچنين اسنادي که بر روي ابر ذخيره شده اند براي دانلود شدن به پهناي باند بسيار زيادي نياز دارند. اگر شما از يک ارتباط اينترنتي Dial-up استفاده مي کنيد، اعمال تغيير در يک سند يا رفتن از يک صفحه به صفحه ديگر همان سند ممکن است براي هميشه به طول بينجامد. و البته در مورد بار شده يک سرويس غني از امکانات حرفي نمي زنيم. به عبارت ديگر، Cloud Computing براي افرادي که ازاينترنت باند پهن استفاده نمي کنند، نيست.
ـ مي تواند کند باشد: حتي در يک ارتباط اينترنتي سريع نيز، برنامه هاي کاربردي تحت وب مي توانيد گاهي اوقات کند تر از دسترسي به همان برنامه نرم افزاري ازطريق يک پي سي دسک تاپ باشند. تمام جنبه هاي يک برنامه، از جمله اينترفيس و سند فعلي، بايد بين کامپيوتر يا کامپيوترها موجود بر روي ابر مبادله شود. اگر در آن لحظه، سرورهاي ابر در معرض تهيه نسخه پشتيبان باشند يا اگر اينتر نت يک روز کند را پشت سر بگذارد، شما نمي توانيد به همان دسترسي سريعي که در يک برنامه دسک تاپ وجود دارد، برسيد.
ـ ويژگي ممکن است محدود باشند: اين وضعيت در حال تغيير است اما بسيار ي از برنامه هاي کاربردي مبتني بر وب به اندازه همتاي دسک تاپ خود داراي ويژگي ها و امکانات غني نيستند. به عنوان مثال، شما مي توانيد کارهاي بسيار زيادي با برنامه Powerpoint انجام دهيد که امکان انجام همه آنها توسط برنامه ارائه Google Docs وجود ندارد. اصول اين برنامه ها يکسان هستند، اما برنامه کاربردي که بر روي ابر قرار دارد فاقد بسياري از امکانات پيشرفته Powerpoint است. اگر شما يک کاربر با تجربه و حرفه هستيد، ممکن است نخواهيد از Cloud Computing استفاده کنيد.
ـ داده ها ذخيره شده ممکن است از امنيت کافي برخوردار نباشند. با استفاده از Cloud Computing، تمام داده ها شما بر روي ابر ذخيره مي شوند. اين داده ها تا چه حد ايمن هستند؟ آيا کاربران غيرمجاز مي توانند به داده ها مهم ومحرمانه شما دسترسي پيدا کنند؟ کمپاني هاي Cloud Computingاظهار مي کنند که داده ها امن هستند اما هنوز براي اطمينان کامل از اين موضوع خيلي زود است. از نظر تئوري، داده هاي ذخيره شده بر روي ابر ايمن هستند و بين چندين ماشين توزيع شده اند. اما درصورتي که داده ها شما مفقود شوند، شما هيچ نسخه پشتيبان فيزيکي يا محلي در اختيار نخواهيد داشت (مگر اين که تمام اسناد ذخيره شده بر روي ابر را بر روي دسک تاپ خود دانلود کنيد که معمولاً کاربران کمي چنين کاري مي کنند). به سادگي بگويم، اتکا به ابر، شما را در معرض خطر قرار مي دهد. چه کساني مي توانند از مزاياي Cloud Computing بهرمند شوند؟ چه نوع کاربراني
براي استفاده ازCloud Computing مناسب هستند؟ با در يظر گر فتن نقاط قوت و ضعف Cloud Computing که قبلاً اشاره کرديم، من فکر مي کنم که کاربران زير مي توانند به بهترين نحو ممکن از مزاياي سوئيچ کردن به Cloud Computing بهره برداري کنند:
ـ به طور مشترک بر روي اسناد و پروژه ها کار مي کنند. اگر شما به طور معمول با ساير افراد و به شکل گروهي بر روي پروژه اي خاص کار مي کنيد، بهترين کانديد استفاده ازCloud Computing هستيد.توانايي به اشتراک گذاشتن و ويرايش اسناد در زمان واقعي بين چندين کاربر، يکي از مزاياي اصلي برنامه هاي کاربردي تحت وب است که همکاري بر روي پروژه ها را تسهيل مي کند.
ـ افرادي که دائماً درحال سفرهستند. وقتي شما يک روز در دفتر کار خود کار مي کنيد وروز بعد درمنزل تان و روز ديگر دريک شهر ديگر، نگه داشتن در تمام اسناد و برنامه هاي کاربردي به کاري دشوار تبديل مي شود. با استفاده ازCloud Computing، شما مجبور نيستيد به خاطر بسپاريد که کدام سند کجا است و يا يک کپي از اسنادتان را هرجا که مي رويد به همراه داشته باشيد. شما حتي مجبور نيستيد نگران اين باشيد که آيا يک برنامه خاص بر روي تمام پي سي ها شما نصب هست يا نه. ازآن جائي که برنامه هاي کاربردي و اسناد شما بر روي وب ذخيره شده اند و از هر جائي که به اينترنت دسترسي داشته باشيد قابل بازيابي و مشاهده هستند نسخه ها و سازگار بودن اسناد با هم اهميتي ندارد. شما هرجا که برويد به يک نسخه واحد ازبرنامه کاربردي و سند دسترسي داريد.
ـ کاربراني که درمورد هزينه ها نگران هستند. Cloud Computing مي تواند در پول شما چه درحوزه سخت افزار وچه درحوزه نرم افزار صرفه جويي کند. هيچ نيازي به سرمايه گذاري براي خريد ديسک هاي سخت بزرگ يا پردازنده هاي فوق سريع نيست. زيرا ازآن جائي که همه چيز بر روي ابر ذخيره مي شود شما مي توانيد با خريد يک پي سي که از ويژگي هاي کم تري برخوردار است در هزينه ها صرفه جويي کنيد. شما حتي مي توانيد به جاي استفاده ازMicrosoft Office ، بدون پرداخت حتي يک سنت ازGoogle Docs يا Zoho Office بهره برداري نمائيد. وقتي بودجه شما اندک است، "رايگان" بسياربهتر ازصدها يا هزاران دلاري است که ممکن است مجبور باشيد براي خريد نرم افزار پرداخت کنيد.
ـ کاربراني با نيازهاي روز افزون تر: آيا براي ذخيره کردن عکس هاي ديجيتال و فايل هاي MP3 خود به فضاي ديسک سخت بيش تري نياز داريد؟ شما مي توانيد يک ديسک سخت بيروني جديد بخريد يا به جاي آن مي توانيد از فضاي ذخيره سازي رايگان (يا کم هزينه تر Cloud Computing)استفاده کنيد آيا با اجراي آخرين نسخه برنامه نرم افزازي خود که به منابع بسيار زيادي نياز دارد مشکل داريد؟ از خير اين برنامه بگذريد و به جاي آن، به برنامه نرم افزاري خود که به برنامه هاي کاربردي مبتني بر وب که به منابع کم تري نيازدارند روي آوريد. درگذشته، تنها راه حل براي نيازهاي روبه رشد، خريد سخت افزار قدرتمندتر بود.با Cloud Computing، راه حل بر روي ابر قرار دارد که در پول شما صرفه جويي مي کند.

چه کساني نبايد از Cloud Computingاستفاده کنند؟

حال اجازه دهيد به روي ديگر سکه نگاه کنيم. اگر Cloud Computing به درد همه نمي خورد، چه کساني نبايد از آن استفاده کنند؟ در اين جا به ليست کوتاهي از اين دسته ازکاربران اشاره مي کنيم:
ـ کساني که به اينترنت مناسب دسترسي ندارند. Cloud Computing به ابر اينترنتي و دسترسي به اينترنت وابسته است. اگر شما به اينترنت دسترسي نداريد، شانس استفاده از Cloud Computing را از دست خواهيد داد.
کاربراني که قادر به استفاده ازاينترنت نيستند، نبايد استفاده از Cloud Computing را به عنوان يک گزينه در نظر بگيرند. همين قانون در صورتي که شما از يک اينترنت کم سرعت، مثل يک ارتباط Dial-up استفاده کنيد نيز صادق است. يک ارتباط اينترنتي کند، هنگامي که بخواهيد به برنامه هاي کاربردي بزرگ و اسناد دسترسي پيدا کنيد از هر چيزي بدتر است.
ـ افراد آف لاين: در بين ساير موارد، هرکسي که به طور دائم در محيط آف لايني کار کند که دسترسي به اينترنت اهميت زيادي ندارد، نمي تواند از مزاياي Cloud Computing بهره برداري کند. اين دسته از افراد شامل کساني هستند که بدون دسترسي به اينترنت در محيط کار يا خانه مشغول انجام فعاليت هاي خود هستند و نيازي به اينترنت حس نمي کنند.
ـ افرادي که به مسائل امنيتي حساس هستند.امروزه ما فکر مي کنيم که Cloud Computing امن است اما نمي توانيم اين موضوع را تضمين کنيم. امکان عملي اين وجود دارد که سيستم هاي مبتني بر ابر، هک شوند و اسنادي که بر روي ابر و برنامه هاي کاربردي مبتني بر ابر قرار دارند در معرض دسترس افراد غير مجاز قرار گيرند. اگر اسناد شما محرمانه هستند، احتمالاً هنوز نمي خواهيد به Cloud Computing اطمينان کنيد. وقتي امنيت براي شما اهميت دارد، هيچ چيزي جايگزين آن نکنيد.
ـ هرکسي که با برنامه هاي کاربردي فعلي، عقد اخوت بسته است. اين موضوع احتمالاً مهم ترين دليل براي عدم استفاده از برنامه هاي کاربردي تحت وب محسوب مي شود: شما از آفيس مايکروسافت استفاده مي کنيد. بله درست است، بسياري از برنامه هاي کاربردي مبتني بر وب به طور کامل با فرمت آفيس سازگار نيستند. ممکن است باز کردن سند Word ياExcel در يک برنامه کاربردي تحت وب، يا باالعکس، دشوار يا حتي غير ممکن باشد.
آيا Cloud Computing براي شما مناسب است؟ تمام واقعيت ها را بررسي کنيد و قبل ازتصميم گيري، آن را امتحان کنيد.
منبع:ماهنامه کامپيوتري بزرگراه رايانه شماره 119

آیا "سیستم عامل ملی" پروژه‌ی موفقی خواهد بود؟

موضوع "سیستم عامل ملی" در ایران سال‌هاست که مطرح است. "تصویب سند" این سیستم عامل برای سرعت‌بخشی به جایگزینی ویندوز با لینوکس فارسی، آخرین خبری‌ست که در این مورد منتشر شده است. این طرح چه مزایایی دارد و تا چه حد عملی‌ست؟

خبرگزاری مهر از "تصویب سند سیستم عامل ملی" خبر می‌دهد. این خبرگزاری به نقل از حمید رضا ربیعی، رئیس مرکز فناوری اطلاعات و ارتباطات پیشرفته دانشگاه صنعتی شریف نوشته است: «مراحل نهایی تصویب این سند در هیئت دولت در حال طی‌شدن است تا استفاده از سیستم عامل ملی یک قانون راهبردی شود.» ربیعی هم‌چنان گفته است: «بومی‌سازی سیستم عامل لینوکس فارسی سال‌هاست که انجام شده، اما نهادینه‌کردن و جایگزین‌کردن آن با سیستم عامل‌هایی چون ویندوز، نیازمند تصویب سند ملی از سوی دولت است.»

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

خبرهای پیشرفت در پروژه‌ی سیستم عامل ملی پیش از این بارها مطرح شده بود. حتی در سال ۱۳۸۸ اعلام شد که طرح لینوکس فارسی، به‌عنوان طرحی ناتمام، به شرکت فناوری اطلاعات واگذار شده و این شرکت در حال برطرف‌کردن ایرادها و تکمیل پروژه است.

در بهمن ماه سال ۱۳۷۹ "طرح ملی لینوکس" یا به عبارت دیگر "طرح ملی فارسی‌سازی سیستم عامل لینوکس"، از سوی مرکز فناوری اطلاعات پیشرفته دانشگاه شریف ارائه شد و دو سال بعد، یعنی بهمن ۸۱، مراحل عملیاتی آن آغاز شد. دکتر محمدخوانساری، مدیر اجرایی طرح مذکور، در یکی از گفت‌وگوهای خود، طرح یادشده را بسترسازی برای طراحی "سیستم‌عامل ملی" در ایران دانسته بود و نه خود سیستم عامل ملی. طرح یادشده بیشتر بر روی بحث فنی سیستم عامل ملی متمرکز شده و بسترسازی برای تولید یک سیستم عامل ملی بر مبنای سیستم عامل لینوکس است.

چرا لینوکس؟

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

اما چه برتری‌هایی در لینوکس وجود دارد که آن‌را نسبت به ویندوز متمایز می‌کند؟ به اعتقاد محمود تجلی‌مهر، کارشناس رایانه، از زاویه‌ی کاربران عادی، ویندوز از لینوکس برتر است چون کارکردن با آن ساده‌تر است، اما از زاویه‌ی کاربران حرفه‌ای، برتری لینوکس و کلا سیستم عامل‌ها و نرم‌افزارهای خانواده‌ی "یونیکس" (Unix) بر ویندوز آشکار است و تقریبا تمام شبکه‌های مخابراتی و "ISP"ها از نسخه‌های مختلف یونیکس، از جمله لینوکس استفاده می‌کنند.

دست‌اندرکاران طرح سیستم عامل ملی، "در دسترس‌بودن کد منبع لینوکس ( open source)"، "امنیت بالاتر" و "هزینه پایین‌تر" را دلیل انتخاب آن می‌دانند. امنیت بالاتر در سیستم‌عامل‌هایی که منبع کدهای باز دارند، امری‌‌ست که تجلی‌مهر هم بر آن صحه می‌گذارد. به اعتقاد او، سازندگان نرم‌افزارها یا سیستم‌عامل‌هایی که کدهای منبع آنان منتشر نمی‌شوند، می‌توانند هر گونه تغییری در نرم‌افزارهای خود اعمال کنند و پی‌بردن به ابعاد این دستکاری‌ها نیز بسیار مشکل یا غیر ممکن است. در دنیای "Open source" اما می‌توان سیستم عامل یا نرم‌افزار را کامل در اختیار گرفت، بر اساس نیازها تغییر داد و حفره‌های امنیتی را، در صورت وجود، به سرعت ترمیم کرد. به همین دلیل به ندرت از ویروس‌ها، تروجان‌ها یا هکرهای لینوکس یا سیستم‌عامل‌های مشابه، سخنی به میان می‌آید.

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

نسخه‌های اصل از ویندوز و نرم‌افزارهایی که زیر این سیستم عامل اجرا می‌شوند، در کشورهایی که کپی‌رایت را رعایت می‌کنند، گاهی سرسام‌آور است

روی دیگر سکه

با وجود تمام مزایای برشمرده شده برای "سیستم عامل ملی"، به نظر نمی‌رسد که این پروژه بتواند موفقیت چندانی کسب کند. ایران تنها کشوری نیست که به فکر تولید "سیستم عامل ملی" به زبان رسمی کشور افتاد.

پیش‌تر کشورهایی چون انگلستان، ژاپن، برزیل، پرو، چین، آلمان، کره، آفریقای جنوبی، فرانسه، وزارت دفاع هند و سنگاپور، سیستم عامل ملی لینوکس را مبنای استفاده قرار داده بودند. پروژه‌ی یادشده در آلمان با سیستم عامل‌هایی که از پایه آلمانی بودند نیز اجرا شد؛ این پروژه اما در مدتی کمتر از ۵ سال به شکست انجامید.

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

پارسا بیات

تحریریه: رضا نیکجو

آموزش توسعه نرم افزار های شیء گرا توسط UML

فصل اول- مفاهیم شیء گرایی

مقدمه
شئ گرایی برای توسعه نرم افزار اولین بار در سال 1960 پیشنهاد شد، این روش پس از 20 سال به طور گسترده مورد استفادة جامعه نرم افزاری قرار گرفت. توسعه دهندگان نرم افزار در دهه 1980 توجه جدی خو د را روی شئ گرایی معطوف کردند. تکنولوژی شئ، قابلیت استفاده مجدد را برای مؤلفه های نرم افزاری به ارمغان آورد و این نیز به نوبه خود درفصل اول- مفاهیم شیء گرایی

مقدمه
شئ گرایی برای توسعه نرم افزار اولین بار در سال 1960 پیشنهاد شد، این روش پس از 20 سال به طور گسترده مورد استفادة جامعه نرم افزاری قرار گرفت. توسعه دهندگان نرم افزار در دهه 1980 توجه جدی خو د را روی شئ گرایی معطوف کردند. تکنولوژی شئ، قابلیت استفاده مجدد را برای مؤلفه های نرم افزاری به ارمغان آورد و این نیز به نوبه خود در تسریع توسعه نرم افزار و تولید محصول با کارایی بالا تاثیر بسزایی دارد؛ بعلاوه سیستمهای شئ گرا، براحتی قابل توسعه و به سهولت با محیط سازگار- از نظر تعامل با سیستمهای موجود در محیط استفاده از نرم افزار- می شوند . دیدگاه شئ گرایی یک سیر تکاملی دارد؛ همچنانکه در بخشهای بعدی خواهیم دید، تعیین همه کلاسهای لازم برای یک سیستم دریک تکرار تا اندازه ای غیرممکن است و به محض تکمیل مدلهای تحلیل و طراحی نیاز به کلاسهای جدید در سیستم نمایان می شود.
درک سیستمهای پیچیده وتولید نرم افزار برای چنین سیستمهایی توسط افرادی که در این زمینه تجربه کافی ندارند، کاری بس مشکل است . همچنین محصولی که این افراد تولید می کنند کارایی لازم را نخواهد داشت، در اینجا مهندسی نرم افزار به کمک افراد آمده و با مطالعه روشها و فنون مختلف مسیر توسعه و تولید نرم افزار را هموار می- سازد. تجربیات بدست آمده در این زمینه، متدها و فرآیندهای متنوعی را برای توسعه نرم افزار در اختیار توسعه دهندگان قرار داده و ابزارهای مناسبی نیز این روشها را پشتیبانی می کنند.
درتوسعه یا ساخت نرم افزار برای یک سیستم، مشتری باید تعریف دقیقی از سیستم را در اختیار توسعه دهنده قرار دهد. در توصیف سیستم، زبان طبیعی تا آن اندازه دقیق نیست که بتوان همه نیازمندیها، ساختار و رفتار سیستم را با آن بیان کرد و کد نویسی نیز چنان وارد جزئیات می شود که به یکباره نمی توان سیستم را در این سطح تشریح کرد. لذا برای درک سیستم دست به مدل سازی می زنیم و مؤلفه های سیستم ، زیر سیستمها و رفتار سیستم را به صورت نمودارهای گرافیکی ترسیم می نماییم تا موارد قابل کاربرد و مهم به صورت برجسته به چشم بخورد و هیچ موردی در حوزة سیستم از قلم نیافتد .
در متد شئ گرا از زبان مدلسازی استانداردUML که در فصل چهارم به تفصیل خواهدآمد، استفاده می شود. این زبان به وسیله ابزارهای مختلفی نظیر Rational Rose ، visio و … پشتیبانی می شود، میتوان ازUML در فرآیندهای مختلف استفاده کرد.

مفاهیم اساسی
در این بخش مفاهیم اساسی توسعة نرم افزار شئ گرا را معرفی می کنیم. در بالا به متد و فرآیند اشاره شد اما هیچ تعریفی از آنها ارائه نشد، حال این دو مفهوم کلی را بصورت زیر تعریف می کنیم.

متد، متدلوژی و اشیاء
متد مجموعه ای از وظایف را جهت تعیین نیازمندیها، تحلیل، طراحی، برنامه ریزی، تست و پشتیبانی مشخص می کند. از نظر فنی فرآیند توسعه نرم افزار- متدلوژی- یک قالب کاری برای وظایف لازم جهت ساختن یک نرم افزار با کیفیت بالاست. در واقع متدلوژی، فرآیندی ساختارمند جهت توسعه نرم افزار است که به وسیله فنون و ابزارها حمایت می شود.
متد شئ گرا برپایه شئ استوار است، دیدگاه شئ گرا دنیای واقعی مسئله را بصورت مجموعه ای از اشیاء مرتبط به هم می بیند. شئ یک موجودیت است که در دامنة مسئله نقش تعریف شده ای دارد و دارای حالت، رفتار و شناسة خاص خودش است. شئ می تواند یک ساختار ، نقش ، مکان و ... باشد؛ شئ داده و رفتار را در خود کپسوله میکند و از دسترسی اشیاء دیگر به داده های خود جلوگیری و همچنین تا ثیر تغییرات محیطی بر این داده ها را کاهش می دهد و تنها راه دسترسی به این داده ها استفاده از اعمال یا سرویس های خود شئ می باشد. کلاس نوع اشیاء را نشان می دهد و شامل ویژگی های مشترک مجموعه ای از اشیاء می باشد، شئ نمونه ای از کلاس است . داده های شئ تحت عنوان صفات در کلاس شناخته می شوند و مقادیر این صفات است که شئ را از دیگر اشیای همنوع متمایز می نمایند. اعمال به دستکاری تعداد محدودی از صفات می پردازند و ارتباط بین کلاس ها و دیگر عناصرسیستم نیز از طریق همین سرویسها- اعمال – صورت می گیرد. به عبارت دیگر کلاس یک مشخصه کلی (قالب ، الگو یا طرح اولیه )است که مجموعه ای ازاشیاء مشابه را نشان می- دهد.نماد گرافیکی کلاس در شکل زیر نشان داده شده است، این نماد شامل سه قسمت است که بترتیب نام کلاس ، لیست صفات و لیست اعمال را نشان می دهند.

------------------------
| نام کلاس |
------------------------
| لیست صفات |
------------------------
| لیست اعمال |
------------------------

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

پیامها وسیله برقراری ارتباط و تعامل بین اشیاء می باشند ، این پیامها شئ مقصد را تحریک می کنند تا یک کار خاص را انجام دهد. سرویسی که در شیء فرستنده پیام تولید می کند، یک پیام با قالبmessage:[destination, operation, parameters] ارسال میکند که در آن destination شیء گیرنده و operation سرویسی از شیء گیرنده است که پیام را دریافت می کند و parameters شامل اطلاعات لازم جهت انجام موفق سرویس خواسته شده است. شکل 1-2 مثالی از کلاسهای تعمیم و تخصیص را نشان می دهد که در آن برای دانشجو یک فوق کلاس دانشجو داریم که شامل داده ها و اعمال مشترک بین دانشجویان دورة لیسانس و فوق لیسانس است، همچنین دو زیر کلاس تخصیص جداگانه برای دانشجویان لیسانس و فوق لیسانس نشان داده شده است که حالات خاصی از کلاس دانشجو هستند. در عمل ما شیئی از نوع فوق کلاس دانشجو نخواهیم داشت، در این حالت به کلاسstudent یک کلاس مجرد گفته می- شود . کلاس مجرد کلاسی است که هیچ شیئی از آن نوع نداشته باشیم.


کپسوله سازی، ارث بری و چند ریختی

با توجه به مطالب ذکر شده در بالا، شیء گرایی به واسطه سه خاصیت مهم کپسوله سازی، ارث بری و چند ریختی یک روش منحصر بفرد است . بطور کلی کپسوله سازی تکنیکی است که جزئیات پیاده سازی داخلی شئ را از دید سایر اشیاء و مؤلفه های سیستم پنهان می کند(مخفی سازی اطلاعات ). عمل، تابعی است که در تمام نمونه های یک نوع وجود دارد و سایر اشیاء تنها از طریق اعمال موجود در یک شئ می توانند به اطلاعات این شئ دسترسی داشته باشند، بنابراین اعمال یک واسط برای کلاس بشمار می روند. واسط رویة بیرونی کلاس را بدون اینکه ساختار درونی وچگونگی پیاده سازی اعمال را نشان دهد ، نمایان می سازد. خاصیت کپسوله سازی داده و عمل دریک کلاس بطور عمده مزایای زیررا دارد.

ـ جزئیات پیاده سازی داخلی داده و روتین ها از دنیای خارج قابل مشاهده نیست (مخفی سازی اطلاعات ). این خاصیت تاثیر تغییرات محیطی بر شیء را کاهش می-دهد.

ـ ساختمان داده ها و اعمالی که برای دستکاری داده ها در نظر گرفته شده با هم ادغام شده و تحت یک نام (اسم کلاس) شناخته می شود و این اساس مؤلفة قابل استفاده مجدد را فراهم می نماید.

ـ واسطه های ما بین اشیاء کپسوله شده ساده اند، لزومی ندارد که شئ فرستندة پیام از جزئیات ساختمان داده درونی شئ مقصد اطلاع داشته باشد.

خاصیت کلیدی بعدی که روش شیءگرا را از سایر روشها متمایز می دارد، ارث بری است. در شکل بالا زیر کلاس Graduate student همه صفات و اعمال متناظر شده با فوق کلاسش(Student) را به ارث می برد، بدین معنی که تمام ساختمان داده و الگوریتمهایی که برای فوق کلاسstudent طراحی و پیاده سازی شده برای کلاس تخصیص نیز در دسترس می باشد و هیچ کار اضافی لازم نیست انجام بگیرد . و عملاً از قابلیت استفاده مجدد استفاده می کند.

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

ــ می توان بدون استفاده از ارث بری کلاس را بطور مستقل طراحی نمود.

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

ــ سلسله مراتب را ساختاربندی مجدد می نماییم تا کلاس جدید بتواند صفات و اعمال لازم را به ارث ببرد.

چند ریختی مشخصه ای دیگر از شئ گرا است که تا حد زیادی از کارهای لازم جهت توسعه سیستم موجود می کاهد. در واقع چند ریختی بمعنای انجام چند کار مختلف توسط یک چیز است؛ بعنوان مثال برای یک روتین که چهار شکل گرافیکی مختلف، بیضی ، دایره ، مربع و لوزی را رسم کند در حالت عادی برای هر نوع باید متد مخصوص نوشته شده و برای نوع جدیدتر نیز باید متد خاص خود را اضافه نماییم. برای پاسخ گویی به این مشکل در شئ گرایی از چند ریختی استفاده می کنیم، در اینجا همه این انواع به عنوان زیر کلاسهایی از کلاس عمومی Graphقرار می گیرند . هر زیر کلاس یک عمل بنامdraw تعریف می کند، شئ می تواند یک پیامdraw را به هر یک از اشیاء نمونه از یک زیر کلاس بفرستد، شئ گیرندة پیام از تابع draw ی خود می خواهد که رسم مناسب را تولید کند. وقتی که یک رسم الخط دیگر اضافه شود، یک زیر کلاس با تابع draw ی خاص خودش ایجاد می شود و بدین ترتیب کار طراحی ساده تر و از انجام کارهای تکراری جلوگیری می شود. بطور خلاصه، چند ریختی این توانایی را به ما می دهد که چند عمل مختلف را تحت یک نام واحد داشته باشیم .

اینترنت اکسپلورر 8

وب جهان گستر ،همواره با سرعت زياد در حال توسعه وتکامل است. صفحات وب اوليه ، سايت هاي استاتيکي بودند که تنها مي توانستند از چند تصوير محدود، مقداري متن وفايل هاي MIDI که در آن زمان محبوبيت چنداني نداشتند استفاده کنند. امروزه، سايت هاي وب مي توانند عناصر پيچيده اي مثل انيميشن هاي فلش، ويدئو و زبان نشانه گذاري شخصي شده را در داخل خود جاي دهند. اما شما بدون مرورگري که براي اداره تمام عناصر موجود طراحي شده باشد نمي توانيد از تمام امکانات و ويژگي هاي خلاقانه اين حوزه بهره ببريد. به همين دليل است که مايکروسافت، نسخه بتا ي اينترنت اکسپلورر8 (IE8) رادرسال 2008 منتشر نمود. نسخه هاي بتا، نمونه هاي نا تمام برنامه هاي کامپيوتري هستند که به تکامل نيازدارند. هدف يک نسخه بتا اين است که به کاربران اجازه دهد يک محصول را قبل از انتشار نهايي ارزيابي کنند. اين کار به توسعه دهندگان شانس اين را ميدهد که ببينند کدام يک از ويژگي ها از محبوبيت بيش تري برخوردارخواهند شدو کدام ويژگي ها قبل از انتشار نسخه نهايي نياز به تغييرو تحول دارند. نسخه بتا همچنين به توسعه دهندگان اجازه مي دهد پايداري برنامه هاي خود را قبل از انتشار نهايي تست کنند.
در ژانويه 2009، مايکروسافت يک نسخه از مرورگر جديد خود را که يک گام به انتشار نهايي ورسمي IE8 نزديک بود به کاربران عرضه کرد. بعد از انتشار IE6، هفت سال طول کشيد تا IE7 به کاربران وب عرضه شود. اما نسخه بتاي IE8 فقط دو سال بعد از نسل قبلي آن به بازار عرضه شده است. با تکامل اينترنت و وب، توسعه دهندگان مرورگرها مجبور به حرکت رو به جلو هستند. اين، تنها يکي از دلايل عرضه سريع IE8 بعد از IE7 بوده است. دليل ديگر اين است که مايکروسافت در حال آماده سازيWindows7، نسخه بعدي سيستم عامل ويندوز براي عرضه به بازار است. IE7 ويژگي هاي سيستم عامل قبلي يعني ويندوز ويستا را تقويت کرده بود اما ويندوز ويستا وجهه مناسبي در رسانه ها نداشت. مطالبي که در روزنامه ها و سايررسانه ها درج شده بود نشان مو داد که اين سيستم عامل زماني که به بازار عرضه شود از مشکلات اشاره کرده بودند و کاربران نيز معتقد بودند ويندوز ويستا داراي مشکلات امنيتي و پايداري است. اگر چه مايکروسافت وصله هايي براي برطرف نمودن اشکالات اين سيستم عامل منتشر کرد اما اين ننگ و بد نامي بر روي ويندوز ويستا باقي ماند.مايکروسافت IE8 را به منظور بهره برداري از برخي از قابليت هاي Windows7 طراحي کرده است و اين موضوع درست مثل گرايشي است که مايکروسافت در IE7 و براي کار با ويندوز ويستا به آن متمايل شده بود. اما IE8 بر روي ساير سيستم عامل ها نيز کار خواهد کرد. اجازه دهيد نگاهي به اين مرورگر جديد بيندازيم.

ويژگي هاي جديد درInternet Explorer8

Dean Hachamovitch ، مدير مايکروسافت در زمينه اينترنت اکسپلورر است. او مي گويد که وب، بيش از پيش در مرکز زندگي وفعاليت هاي روزانه ما قرار گرفته وتقريبا معادل واژه Computing شدهاست. به منظورتوسعه و ارتقاي توانمندي هاي IE8 در مقايسه با مرورگرهاي قبلي، او وتيمش بر روي سريع تر نمودن، ساده تر کردن و امنيت آن کار کرده اند. به منظور رقابت با مرورگرهايي مثل Mozilla FiorefoxوGoogle Chrome، تيم اينترنت اکسپلورر اين مرورگر را به گونه اي پيکره بندي کرده تا بتواند در مقايسه با مرورگرهاي قبلي، صفحات وب را با سرعت بيش تري بار گذاري کند. آن ها توجه ويژه اي برروي صفحات وبي که با استفاده از زبان هايي مثل جاوااسکريپت يا آژاکس ايجاد شده اند به خرج داده اند. اين تيم قصد داشتند از بروزمشکلات مربوط به سازگاري پرهيز كنند و بنابراين يکي از ويژگي هايي که آن ها درIE8 درگنجاندند، Compatibility View بود. اين ويژگي، گزينه نمايش يک صفحه وب را در حالتي که گويا شما از اينترنت اکسپلورر7 استفاده مي کنيد در اختيار شما قرار مي دهد.
يک ويژگي مرتبط ديگر به شما اجازه مي دهد سايت هاي وب را براي مشاهده در IE7 يا IE8 تقسيم بندي کنيد. پس از مقوله بندي يک سايت، هر بار که به آن مراجعه کنيد آن رابراساس نسخه بهينه شده IE مشاهده مي کنيد. نکته اي که اين تيم همگام با تحقيق به منظوردست يابي به بهترين روش ايجاد IE8 به آن توجه داشت اين بود که اغلب کاربران چندين سربرگ را در حالي که مشغول مرور وب هستند باز مي کنند.
به همين دليل بود که اين تيم زمان زيادي را صرف ايجاد يک روش ساده براي مديريت بر چندين سربرگ نمود. آن ها tap groups را توسعه دادند. هر جا که شما يک سربرگ جديد را از يک صفحه وب باز کنيد، IE8 اين سربرگ جديد را درکنار وب سايت اصلي قرار مي دهد. همچنين تمام tab group ها با کدهاي رنگي مشخص مي کند. شما همچنين مي توانيديک سربرگ را از يک گروه حذف کنيد، يک سربرگ خاص را ببنديد ويا کل tab group را با کليک راست ماوس ببنديد. يک ويژگي ديگر IE8، يک نوار آدرس جديد است که به روش Awesome Bar مرورگر Fire Fox ياOmnibar مرورگر Google Chrome کار مي کند. وقتي شما يک واژه را در آن تايپ مي کنيد، اينترنت اکسپلورر8 تاريخچه مرور شما، bookmark ها و RSS ها را براي يافتن همتا و نظير آن واژه جست وجو مي کند.
اين مرورگر، يافته هاي خود در يک ليست کشويي نشان مي دهد. کليک برروي هريک از ورودي هاي اين منو، شما را به صفحه مربوطه مي برد.
امنيت: اولين گزينه درIE8 Hachamovitch اشاره مي کند که مرور وب تنها سرگرمي يا کسب اطلاعات نيست بلکه مي تواند خطرسازهم باشد. بسياري از سايت هاي موجود بر روي وب، ميزبان بد افزار هستند. بدافزار يا Malware،
برنامه هايي است که مي توانند به کامپيوتر شما صدمه بزنند وآن را درمقابل حملات هکرها آسيب پذير کنند. بهترين راه براي پرهيز از بدافزار، گشت و گذار ايمن در وب است. اما گاهي اوقات به سختي مي توان از مفيد يا مضر بودن يک سايت مطلع شد. تيم اينترنت اکسپلورر کوشش کرده با استفاده از ويژگي هايي که در IE8 گنجانده، شناسايي سايت هاي ايمن را براي کاربران تسهيل کند ويژگي کليدي موجود در استراتژي تيم امنيتي اين مرورگر جديد، Smart Screen Filter است. اين فيلتر، يک ويژگي Opt-in است، بدين معنا که کاربران مي توانند آن را فعال يا غير فعال کنند. اين ويژي بر اساس فيلتر Phishingي که مايکروسافت براي IE7طراحي کرده بود ساخته شده است. SmartScreen Filter به يک بانک اطلاعاتي از سايت هايي که به عنوان ميزبان بد افزار شناخته شده اند رجوع مي کند. وقتي شما سعي کنيد از چنين سايتي بازديد کنيد، يک صفحه هشدار ظاهر ميشود و خطرات مرتبط با استفاده از اين سايت را گوشزد مي کند. يکي ديگر از ويژگي هاي امنيتي جديد، ويژگي InPrivate است و اين ويژگي که شبيه حالت Incognito درGoogle Chrome عمل مي کند، به کاربران اجازه مي دهد سايت هاي وب را بدون ذخيره کردن کوکي ها يا سابقه مرور، بازديد کنند. اين کار باعث مي شود تا سايرين نتوانند به راحتي رفتارهاي اينترنتي شما را رديابي کنند. در حالي که برخي از افراد از اين ويژگي به عنوان Porn mode ياد مي کنند، دلايل متعددي وجود دارد که شما ممکن است بخواهيد از بر جاي گذشتن رد خود برروي اينترنت خودداري کنيد. به عنوان مثال اگر شما از کامپيوتر فرد ديگري براي تحقيق برروي اطلاعات پزشکي محرمانه استفاده کنيد، ممکن است نخواهيد هيچ ردي در پشت سر خود بر جاي بگذاريد. مايکروسافت همچنين يک سيستم crash recovery اتوماتيک رابراي کمک به جلوگيري از، دست رفتن کار کاربران به واسطهcrash کردن مرورگر درآن گنجانده است. اين سيستم extension هاي مرورگر را براي هريک از
سربرگ ها ايزوله مي کند و مايکرو سافت مي گويد که اين extension ها عامل 70 درصد از تمام crash هاي ثبت شده مرورگرها هستند. با جدا سازي extension ها براي هر سربرگ، IE8 به کاهش crash ها کمک مي کند و در عين حال اطلاعت را ذخيره مي کند و بدين ترتيب وقتي يک سربرگ يا خود مرورگر را دوباره باز مي کنيد مي توانيد مجددا به مرور خود در وب برگرديد.

ويژگي هاي اضافي 8 Internet Explorer

IE8 داراي چند ويژگي جديد است که براي تسهيل در مرور وب طراحي شده است. اين ويژگي ها شاملچيزهايي است که مايکروسافت آن ها راAcceleration ، Suggested Sites وWeb Slices ناميده است.
. Accelerators، ويژگي هايي هستند که به شما اجازه مي دهند استفاده بهتري از اطلاعات متني موجود بر روي يک سايت به عمل آوريد. مايکرو سافت اين ويژگي ها را به منظور حذف نياز به کپي متن از يک صفحه وچسباندن آن به صفحه ديگر طراحي کرده است. فرض کنيم که شما در حال خواندن يک متن هستيد و مي خواهيد با استفاده از حساب Windows Live Spaces خود آن را بلاگ کنيد. با استفاده از IE8، شما مي توانيد بخش مورد نظر خود را هاي لايت کنيد، بر روي دکمه راست ماوس خود کليک کنيد وگزينهBlog with Windows Live Spase را از منويي که ظاهر مي شود انتخاب کنيد. IE8 شما را به وبلاگ تان ميبرد و به طور اتوماتيک، متن هاي لايت شده را در داخل فيلد اديت درج مي کند. شما همچنين مي توانيد از Accelerator براي يافتن مسيرهاي مختلف منتهي به يک مقصد، جست وجو براي يک آيتم در eBay و يافتن تعريف يک واژه با استفاده از دائره المعارف Encarta مايکروسافت استفاده کنيد.
* Suggested Sites يکي ديگر از ويژگي هاي opt-in است. اگر شما آت رافعال کنيد، اينترنت اکسپلورر8 سابقه مرور شما را بررسي مي کند و وب سايت هايي با محتواي مشابه رابه شما پيشنهاد مي کند. اين کار، اطلاعات را از سايت هايي که آن ها را از history حذف کرده ايد يا در حالي که در حالت InPrivate بوده ايد به آن ها مراجعه کرده ايد دريافت نمي کند.
Web Slices به شما اجازه مي دهد مشترک بلاک هاي خاصي از محتواي صفحات وب شويد. شما مي توانيد ازWeb Sliceها براي آگاهي از ايميل هاي جديد، گزارش هاي هواشناسي، حراج هاي eBay و سرويس هاي خبري استفاده کنيد. وب مسترها با افزودن مقداري کد مي توانند از گزينه ايجاد Web Sliceها برروي صفحات خود برخوردار شوند. به يک طريق، اين کا ر IE8 را به يک Portal تبديل ميکند که شما مي توانيد اطلاعات را از چندين سايت وب به يک نماي يکپارچه بکشيد. اگر شما از Web Slices براي اشتراک يک صفحه استفاده کنيد، اطلاعات مربوط به آن صفحه در يک نوار ابزار که مايکروسافت به آن Favorites bar مي گويد در دسترس شما قرار مي گيرد. Favorites barبه شما کمک ميکند سايت هاي مورد علاقه خود را بشناسيد واساسا مي توان آن را يک مدير bookmarkها دانست. اما Favorites bar ميتواند رد اسنادي را که شما در محصولات مايکروسافت آفيس مثل Word و Excel ايجاد کرده ايد نيز نگه دارد و مرورگر شما را به يک برنامه کاربردي چند منظوره تبديل کند. اين ها فقط برخي از ارتقاهايي هستند که شما مي توانيد از اينترنت اکسپلورر جديد انتظار داشته باشيد. مايکروسافت ممکن است قبل از انتشار نسخه نهايي اين مرورگر جديد، امکانات ديگري را نيز به آن اضافه کند.
منبع:ماهنامه کامپيوتري بزرگراه رايانه شماره 119

وب 3 چیست؟ (نظرات مختلف پیرامون وب 3)

«وب 3» اصطلاحی است که برای اشاره به وب آینده به کار میرود. پس از آنکه اصطلاح وب 2 برای تکامل اخیر وب رواج یافت، بسیاری از متخصصین ،روزنامه نگاران و رهبران فن، اصطلاح وب 3 را بکار بردند تا فرضیاتی درباره موج آینده تغییرات اینترنت مطرح کنند.
نظرات پیرامون مرحله بعدی سیر تکاملی وب، بسیار متفاوت است، برخی معتقدند؛ پدیدار شدن تکنولوژی وب مفهومی راه وب را تغییر خواهد داد و آنرا به سوی هوش مصنوعی خواهد برد. دیگر نظریه پردازان اظهار میکنند که وب 3 افزایش سرعت اینترنت، اپلیکیشن های تحت وب، یا پیشرفت گرافیکی رایانه، نقش کلیدی را در سیر تکاملی وب بازی خواهد کرد.
نظرات رهبران فن:
تیم برنزلی ـ مخترع وب ـ در ماه می سال 2006 گفت:
مردم مدام میپرسند وب 3 چیست؟ من فکر میکنم وقتی شما تعداد زیادی کاغذ کالک را روی هم میگذارید همه چیز ناهموار و چین خورده شده، مبهم به نظر میرسد. وب 2 و دسترسی به وب مفهومی، سراسر حجم عظیم اطلاعات را یکپارچه میکند، شما دسترسی غیر قابل باوری به منابع اطلاعاتی خواهید داشت.
در ماه می سال 2006 از اریک اسمیت ـ مدیر گوگل ـ خواسته شد تا وب 2 و وب 3* را تعریف کند. او پاسخ داد:
... اگر بخواهید که حدس بزنم که وب 3 چه خواهد بود، خواهم گفت که  «وب 3» راهی متفاوت در ساخت اپلیکیشن ها است. پیش بینی من این است که «وب 3» در نهایت در قالب اپلیکیشن هایی تحقق می یابد که تکه ای از یکدیگرند. شماری از ویژگی های آنها از این قرار است: اپلیکیشن ها نسبتا کوچک ، اطلاعات توده ای ، اپلیکیشن ها روی هر وسیله ای اعم از پی سی یا تلفن همراه قابل اجرا، اپلیکیشن ها بسیار سریع و بسیار قابل کاستومایز و اپلیکیشن ها توزیعی خواهند بود، بصورت لفظ به لفظ؛ با شبکه های اجتماع، با ایمیل. شما به فروشگاه نمیروید تا آنها را بخرید... آنها نوع بسیار متفاوتی از اپلیکیشن ها خواهند بود که ما هرگز در محاسباتمان ندیده ایم.
در نوامبر سال 2006، جری یانگ ـ بنیانگذار و رئیس یاهو ـ گفت:
وب 2 خوب مستند شده و درباره آن سخن گفته اند، نیروی اینترنت با امکاناتی که در مرحله شبکه میتوان انجام داد به نقطه بحرانی رسیده است، ما همچنین از چهار سال قبل شاهد ابزارهای قدرتمند هستیم، همچنین راه های قدرتمند تعامل با شبکه را نه تنها در سخت افزار مانند کنسول های بازی و ابزارهای همراه، بلکه حتی در شاخه نرم افزار مشاهده میکنیم، شما لازم نیست که متخصص کامپیوتر باشید تا یک برنامه ایجاد کنید. ما میبینیم که توسعه بزرگ در وب 2 و وب 3، توسط مانیفست صورت میگیرد، یک اشتراک حقیقی میانی ... تمایز میان حرفه ای، نیمه حرفه ای، و مصرف کننده گان محو میشود. ایجاد یک شبکه، تجارت و اپلیکیشن ها را نتیجه میدهد.
رید هاستینگس ـ بنیانگذار و مدیر Netflix ـ فرمول ساده تری برای تعریف مراحل وب دارد:
وب 1 دیال آپ بود، با 50 کیلوبایت پهنای باند، وب 2 با 1 مگابایت پهنای باند میانگین، و وب 3 با 10 مگابایت پهنای باند ثابت خواهد بود. بگونه ای که وب کاملا ویدئویی خواهد بود، آن هنگام آرزوی وب 3 تحقق خواهد یافت.

نوآوری هایی که با «وب 3» پیوند خورده اند: اپلیکیشن های مبتنی بر وب و دسکتاپ؛
تکنولوژی وب 3 همچون نرم افزار های هوشمند که از داده های مفهومی استفاده میکنند. اندازه کوچک با چندین شرکت برای اینکه از کار با داده ها بهره وری بیشتر و موثرتری داشت. در هر صورت در سالهای اخیر عموماً روی تکنولوژی وب مفهومی تمرکز بیشتری میباشد.

منازعات پیرامون وب 3: (منازعات قابل توجه پیرامون چیستی اصطلاح وب 3 و تعریف شایسته آن)

تبدیل وب 3 به یک دیتابیس:
اولین قدم بسوی وب 3 ظهور «داده وب» است، ساختاری که اسناد در وب منتشر میشوند. فرمت های قابل استفاده، قابل کنترل و قابل جستجو همچون RDF، ICDL  و  microformats. رشد اخیر تکنولوژی SPARQL  استانداردی برای زبان جستجو و API یی برای جستجوی سراسر RDF، دیتابیسی توزیعی روی وب فراهم کرده است. داده وب مرحله جدیدی از داده های یکپارچه و اپلیکیشن های مشارکتی را فعال کرده و داده ها را قابل دستیابی باز و قابل پیوند همچون صفحات وب ساخته است. داده وب اولین قدم از راهی است که بسوی وب کاملا مفهومی میرود. در مرحله داده وب، تمرکز بیشتر بر روی تبدیل فرمت داده های در دسترس به RDF میباشد. وب مفهومی کامل، مرحله ای از وب است که تمام پهنای داده های فرمت شده و سنتی که قالب بندی نشده اند یا محتواهای نیمه فرمت شده، (همچون صفحات وب، اسناد و مانند آن) باید در دسترس RDF و OWL  که فرمتهای مفهومی میباشند قرار گیرد. اجزای تمپلت وبسایت ها باید قابل استفاده مجری وب 3 باشد تا بیشتر بتواند اطلاعات جامعی درباره محتوای سازمان یافته وبسایتها بدست آورد.

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

وب مفهومی و SOA: در رابطه با مدیریت هوش مصنوعی، وب 3 میتواند تحقق و توسعه وب مفهومی باشد، تحقیقات علمی در جهت گسترش نرم افزار برای استدلال بر مبنای منطق تعریفی و عوامل هوشمند پیش میرود. بنابراین اپلیکیشن ها میتوانند عملیات استدلال منطقی را با استفاده از مجموعه قوانین منطق انجام داده و ارتباط میان مفهوم و داده روی وب را بیان کند.
سرامانا میترا دیدگاه با این دیدگاه که وب مفهومی ماهیت نسل بعدی اینترنت خواهد بود مخالف است، او فرمولی برای کپسول وب 3 ارائه میدهد.
وب 3 همچنین با همگرایی معماری جهتدار سرویس ها و وب مفهومی پیوند خورده است.
وب 3، «اینترنت سرویس ها» نیز نامیده میشود، غیر از قسمت قابل خواندن انسانی وب، سرویسهایی در دسترس SOA ماشین خواهد بود که میتوانند به سطح بالاتری از سرویس ها، ترکیب و هماهنگی دهند.

حرکت تکاملی بسوی سه بعدی
احتمال دیگر برای وب 3 این است که مسیر سه بعدی را طی کند، که توسط کنسرسیوم وب سه بعدی پشتیبانی میشود. این ممکن است وب را به یک دوره فضای سه بعدی وارد کند. مفهومی که به آینده ی *Second Life مرتبط میباشد. این ممکن است با استفاده از فضای به اشتراک گذاشته شده سه بعدی راه جدیدی برای ارتباط و مشارکت باز کند.

وب اجرایی چند لایه
وب 1 فقط قابل خواندن بود، وب با تولید محتوا همراه بود و با آنچه که سایت ارائه میکرد سازمان می یافت.
اما وب 2 بصورت «خواندنی ـ نوشتنی» توسعه یافت و کاربران نقش فعالی به عهده گرفتند.
وب 3 میتواند این مرحله را با اجازه دادن به انسانها برای تغییرات در سایت و  منابع آن بیشتر ادامه دهد. با نمای رشد ثابت قدرت رایانه، این غیر قابل باور نیست که نسل بعدی سایت ها مجهز به منابعی شوند که کد مشارکتی کاربران بر روی آنها اجرا شود.
«وب اجرایی» میتواند اپلیکیشن های آنلاین را در همه توابع پلتفرم هایی که منتقل میکند در یک اینترفیس واحد ... ترکیب کند.

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

پیشنهاد توسعه تعریف:
نوا اسپیواک وب 3 را بعنوان سومین دهه وب (2020-2010) تعریف میکند، دوره ای که  تعداد زیادی از تکنولوژی های بزرگ تکمیلی همزمان به مرحله جدیدی از کمال خواهند رسید. از جمله؛
دگرگونی شکل وب به شبکه اپلیکیشن ها و محتواهای جداگانه که یکپارچه و قابل مشارکت میشوند.
اتصالات همه جا حاضر، پذیرش پهنای باند، اینترنت همراه و ابزارهای همراه در دسترس خواهند بود.
محاسبات شبکه ای، نرم افزار بعنوان مدلهای سرویس تجاری، سرویس های وب قابل مشارکت، محاسبات توزیع شده، محاسبات شبکه ای و محاسبات توده ای
تکنولوژی های باز، API ها و پرتکل های باز، قالبهای داده ای باز، نرم  افزارهایی با پلتفرم متن باز  و داده های باز (مانند Creative Commons و  Open Data License)شناسه باز، OpenID، اعتبار باز، شناسه و اطلاعات شخصی قابل انتقال
وب هوشمند، وب مفهومی تکنولوژی هایی همچون RDF، OWL ،SWRL ،SPARQL ،GRDDL پلتفرم اپلیکیشن های مفهومی ...
دیتابیس های توزیعی، دیتابیس های سراسر جهان (فعال شده با تکنولوژی وب مفهومی)
و برنامه های هوشمند، پردازش زبان طبیعی، فراگیری ماشین، استدلال ماشین، عوامل خودگردان.

برای خواندن جدیدترین مطالب پیرامون وب 3 مشترک خوراک وب 3 شوید.

منبع: ویکی پدیا
مترجم: وب 3

طراحی نمای صفحه در حالت پرینت

سی اس اس به طراح وب این امکان را میدهد که نمای صفحه را در حالت های مختلف تعیین کنید. بطور مثال طراح میتواند فایل های CSS مختلفی را به صفحه لینک کند ، بطوری که اگر صفحه در مرورگر در حال دیده شدن است، صفحه یک جور و با یکسری رنگ دیده شود و اگر صفحه در حال نمایش در دستگاه های PDA است یکجور دیگر و اگر صفحه در حال print شدن است نیز یکجور دیگر نشان داده شود.

برای تعیین CSS صفحه در حالت عادی که همان نمایش صفحه در مرورگر است ، بصورت زیر فایل CSS را در فایل HTML خود لینک میکنیم :

link href="styles.css" rel="stylesheet" type="text/css" media="all"

همانطور که شما در کد بالا تعیین کرده اید، این فایل CSS به ازای تمامی رسانه هایی که صفحه ی شما را ببینند ، لود میشود. اما اگر بخواهید به ازای هر رسانه (مانند مرورگر ، دستگاه های PDA و پرینترها) فایل های استایل متفاوتی استفاده شوند باید از کدهای زیر استفاده کنید

برای نمایش توسط مرورگر :

link href="styles1.css" rel="stylesheet" type="text/css" media="screen"

برای نمایش هنگام پرینت کردن صفحه :

link href="styles2.css" rel="stylesheet" type="text/css" media="print"

برای نمایش صفحه در انواع PDA :

link href="styles3.css" rel="stylesheet" type="text/css" media="handheld"

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

کاربرد کوچکی از این موضوع : مثلا شما میتوانید class مربوط به ستون تبلیغات را در فایلهای css پرینت و css کامپیوترهای جیبی ، بصورت Display:none تعریف کنید تا در هنگام پرینت از روی مقالات سایت شما ، تبلیغات دیگه پرینت نشه.


پشتیبانی از خصوصیت Display در مرورگرها

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

برخی از این مقادیر در برخی مرورگرها پشتیبانی نمیشوند که در جدول زیر به تفکیک ، میتوانید مشاهده کنید:

 

IE8 as IE7 یعنی چی ؟ یعنی اینکه IE8 رو مجبور کنیم که صفحه را مثل IE7 رندر کنه. برای اینکار متاتگ زیر را در صفحه اچتمل خود وارد کنید:



 

 
معانی هر یک از مقادیر اختصاص یافته به Display :

Display:block : اگر به یک DIV این خاصیت را بدهید، یعنی آن المان میتواند کل سطر خود را اشغال کند و مانند یک بلاک رفتار میکند و هیچ المان دیگری را در کنار خود جا نمی دهد. (المان های دیگر  در یک خط زیر یا بالای المان ما جای میگیرند) این خاصیت باعث میشود المان ما مثل المان  h1 عمل کند.

Display:inline : یعنی DIV در یک خط قرار گرفته که چندین المان در آن خط قرار داردند و  باید بقیه المان ها را در کنار خود جا دهد و بپذیرد .

Display:none : یعنی المان نمایش داده نشود.

Display:table : المان را بصورت یک جدول تعریف میکند که می تواند سطر و ستون داشته باشد. به خاصیت بعدی توجه کنید تا متوجه این مورد شوید.

Display:table-cell : یعنی المان کنونی، یک خانه جدول است. در این حالت، المان پدر این المان (تگی که این تگ رو در برگرفته)، باید دارای خاصیت display:table باشد. یعنی یک المان که دارای خاصیت display:table است میتواند شامل چندین المان باشد که هر کدامشان دارای خاصیت display:table-cell هستند.

Display:inline-block : کاربردی مانند Display:inline دارد

display:list-item : هر یک از بلاک هایی که این خاصیت را دارا باشند بصورت یک آیتم نشون داده میشوند و جلوشون یک بولت گذاشته میشه. درست مانند تگ OL که همین کار رو میکنه.

حالا برای اینکه همه ی این خاصیت ها رو بصورت زنده باهاشون کار کنید و عملکردشون رو بهتر بفهمید، سری به اینجا بزنید، و در آخر صفحه در بخش playground، میتوانید بصورت زنده ، خاصیت های تگ ها رو عوض کنید و کارکردشونو بفهمید.


منبع: http://macromediax.com

SEO چیست ؟

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

شاید بتوان گفت که تقریبا همه افرادی که با وب آشنایی هر چند کمی دارند، حداقل برای یک بار هم که شده واژه ی SEO را شنیده اند.
اما SEO چیست؟ معنای لغوی SEO که مخفف Search Engine Optimization است، بهینه سازی موتور جستجو می باشد. SEO یعنی تولید کردن صفحات وبی که برای موتورهای جستجو جالب و فریبنده هستند.
بهینه سازی صفحات وب این است که شما در نتایج یک موتور جستجوی بزرگ بیشترین امتیاز را داشته باشید. اهمیت این موضوع از انجا ناشی می شود که اکثر مردم از موتورهای جستجو برای رسیدن به مطلب یا محصول مورد نظر خود استفاده میکنند. به عنوان مثال در گوگل و یاهو، اکثر مردم فقط به صفحه ی اول نتایج جستجو نگاه میکنند. بنابراین برای داشتن ترافیک بالا از طرف موتورهای جستجو، این مسئله الزامی است که سایت شما در صفحه ی اول نتایج جستجو قرار گیرد.
علم بهینه سازی موتور جستجو در مورد روشهای فنی مانند عنوان صفحه ی مناسب، تگ ها و متا تگ ها، کلمات کلیدی و عبارات کلیدی و توضیحات مناسب سایت و کلاً محتوایی که موتورهای جستجو دوست دارند، مطالعه می کند.
موتورهای جستجو صفحات وب را به وسیله نرم افزار خزندگی (عنکبوت) پیدا و فهرست بندی میکنند. متاسفانه تمام نرم افزارهای خزندگی یک جور کار نمیکنند. برای مثال اگر صفحه وب شما در یکی از موتورهای جستجو امتیاز بالایی داشته باشد، ممکن است در دیگر موتورها این چنین نباشد.
یکی از کارهایی که متخصصان بیهنه سازی موتورهای جستجو انجام میدهند، پیگیری تمام تغییرات عملکرد داخل موتورهای جستجو است. بنابراین آنها میتوانند صفحات وب را بر طبق این تغییرات بهینه سازی کنند. به علاوه آنها همراه با تغییرات موتورهای جستجوی مختلف خود را تابع این موتورها قرار میدهند.
هنگامی که شما یک طراح برای طراحی سایت تجاریتان انتخاب میکنید، شما باید از این طراح درباره ی بهینه سازی موتورهای جستجو سوال کنید و باید از او بخواهید بر طبق اصول بهینه سازی برای موتورهای جستجو ساخت صفحات وب سایت شما را شروع کند. در صورتیکه این کار طولانی تر از طراحی هایی که شما بیش از این داشته اید، نیست. این کار خیلی آسان تر و معقول تر است که شما در همان بار اول که سایتتان بر روی وب قرار می گیرد، شامل بهینه سازی برای موتورهای جستجو شود.
● چرا SEO مهم است؟
چرا بهینه سازی برای موتورهای جستجو مفید می باشد. موارد ذیل برخی از دلایل این موضوع می باشند:
▪ برتر بودن در نتایج جستجو مشتری های زیادی را به دیدار از وب سایت شما دعوت میکند.
▪ ۸۷ در صد تمام بینندگان شما از یک صفحه یک وضعیت دارند.
▪ ۹۱ در صد از کاربران اینترنت از موتورهای جستجو استفاده میکنند.
▪ طبق آخرین تحقیقات بیش از ۲۵۰ میلیون جستجو در روز در کشور انگلیس انجام میگیرد.
▪ ۷۳ در صد معاملات آنلاین به وسیله موتورهای جستجو آغاز میشود.
▪ ۳.۵ بیلیون از وب سایت با هم بر سر رقابت پول هستند، اما واقعیت این این است که فقط کسرهای از یک درصد به صفحه اول می رسند.
● چه کسانی به SEO احتیاج دارند؟
هر وب سایتی که به سوی تجارت و بازرگانی حرکت میکند، باید صفحات وب خود را برای موتورهای جستجو بهینه سازی کند.
هدف نهایی یک وب سایت جلب کاربران اینترنتی میباشد، و مطالعات نشان داده است که پهنه عظیمی از کابران اینترنتی وب سایت ها را در موتورهای جستجوی پیدا کرده اند.
اگر شرکت شما نظر به ساخت یک وب سایت جدید و یا به روز کردن وب سایت قدیمی خود را دارد باید توجه داشته باشید که برای پیشرفت باید SEO را در الویت قرار دهید.
به خاطر داشته باشید که SEO شما را به مسابقه بزرگ می برد و شما را در بازار معرفی میکند.
● ابزارهای SEO چیست؟
در اینجا میخواهیم درباره ابزارهای SEO یا بهینه سازی برای موتورهای جستجو صحبت کنیم و تعدادی از آنها را معرفی کنیم.
▪ Keyword Suggestion پیشنهاد دهنده ی کلمات کلیدی: همانطور که در بالا گفتیم کلمات کلیدی در جذب موتورهای جستجو نقش به سزایی دارند. شما میتوانید با استفاده از Keyword Suggestion کلمات کلیدی بهتر و جذاب تری را انتخاب کنید.
▪ Google Rank Checkerچک کننده ی امتیاز شما در گوگل: موتور جستجوی گوگل با محاسباتی خاص و دقیق به وب سایت ها امتیاز میدهید, هر چه امتیاز سایت شما در گوگل بالاتر باشد ارزش سایت شما بالاتر است. معمولا چک کردن این امتیاز آسان نیست اما این ابزار در بیشتر سایت های مرتبط باTools SEO کار شما را آسان کرده و شما میتوانید به راحتی امتیاز خود را در گوگل چک کنید.
▪ Link Popularity محبوبیت لینک: محبوییت لینک به شما نشان میدهید که در موتورهای جستجوی مختلف وقتی شما را جستجو میکنند چه تعداد نتیجه ظاهر میشود و جدیدن از این ابزار برای مقایسه کردن بین چند وب سایت استفاده می شود.
▪ Search Engine Position وضعیت سایت شما در موتورهای جستجو: این ابزار هم تعداد نتایج جستجوی سایت شما را در موتورهای جستجوی بزرگ نمایش میدهد.
در کل Web Site Optimization Tools یا ابزارهای بهینه سازی وب سایت که انواع مختلف و متنوعی دارند.
به تازگی موتور جستجویی در ایران به نام دهیو! با آدرس www.dahio.com راه اندازی شده است که علاوه بر خدمات جستجو برای اولین بار در ایران خدماتی کامل در رابطه Search Engine Optimizationارائه میدهد.

پایگاه داده ها (1)

داده

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

اطلاع

اطلاع (information) مفهومی است که برای گیرنده آن قابل درک بوده و با دانستن آن می تواند برای حل یک مسئله تصمیم گیری یا ارزیابی کند.
وقتی اطلاع وارد کامپیوتر شده ذخیره می گردد به داده تبدیل می شود. بعد از پردازش، داده خروجی مجددا به عنوان اطلاع دریافت می شود.
وقتی اسم صفت خاصه و مقدار منسوب به آن در دست باشند اطلاعی در مورد موجودیت حاصل می شود.
هنگامیکه اطلاعات در یک بسته خاص قرار می گیرند و برای درک موضوعی یا انجام کاری استفاده می شود به دانش (knowledge) تبدیل می شود.

موجودیت

موجودیت (entity) مفهوم کلی پدیده، شیء یا فردی است که در مورد آن می خواهیم اطلاع داشته باشیم و در کامپیوتر ذخیره کنیم.
هر نوع موجودیت دارای مجموعه ای از صفات خاصه (attribute) است که ویژگی جداکننده یک نوع موجودیت از نوع دیگر محسوب می شود.
مثال. اگر در نظر داریم یک سیستم پایگاه داده برای یک دبیرستان پیاده سازی کنیم مواردی چون دانش آموزان، دبیران، دروس، کلاس ها و غیره جزء موجودیت های سیستم به شمار می روند.
مثال. موجودیت دانشجو در سیستم دانشگاه می تواند دارای صفات خاصه: نام، نام خاوادگی، سن، سال تولد، رشته تحصیلی، سال ورود و ... باشد و یا موجودیت درس صفات خاصه: کد درس، نام درس و تعداد واحد ‎

پایگاه داده

یک بانک اطلاعاتی یا پایگاه داده (database) مجموعه ای سازمان یافته و بدون افزونگی از داده های مرتبط به هم است که می تواند توسط سیستم های کاربردی مختلف به اشتراک گذاشته شود و به راحتی دسترسی، مدیریت و بهنگام شود.
وقتی داده به صورت پایگاه داده سازماندهی می شود، کاربر و برنامه نویس نیازی به دانستن جزئیات ذخیره سازی داده ندارند. علاوه براین داده می تواند بدون تاثیر روی اجزای دیگر سیستم تغییر کند. برای مثال از اعداد حقیقی به صحیح، از یک ساختار فایل به دیگری یا از دستگاه ذخیره سازی نوری به مغناطیسی تغییر کند.

ویژگی های داده در پایگاه داده

ویژگی هائی که داده در پایگاه داده باید داشته باشند در لیست زیر آمده است:

1. اشتراکی شدن (shared)

• داده در پایگاه داده بین چندین کاربر و برنامه کاربردی به اشتراک گذاشته می شود.

2. ماندگاری(persistence)

• وقتی داده در پایگاه داده ذخیره شد پایدار است و از بین نمی رود، مگر آنکه توسط سیستم پایگاه داده تغییر کند.

3. امنیت (security)

• داده در پایگاه داده از فاش شدن، تغییر و تخریب بدون مجوز محافظت می شود. مدیر سیستم توسط سطوح دسترسی و قیدهای امنیتی نحوه دستیابی به داده را تعریف می کند و اطمینان می دهد که دستیابی از طریق مناسب انجام می شود.

4. اعتبار (validity)

• یا جامعیت (integrity) و یا صحت(correctness) به درستی داده در پایگاه داده نسبت به موجودیت دنیای واقعی معتبر اشاره دارد. مثلا موجودی بانک نباید منفی باشد.

5. سازگاری (consistency)

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

6. کاهش افزونگی (non redundancy)

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

7. استقلال (independence)

• تغییردر نمایش فیزیکی، تکنیک های دستیابی و سازماندهی داده تاثیری روی برنامه های کاربردی ندارد.

روش های ذخیره داده

دو روش کلی برای ذخیره و بازیابی خودکار داده ها وجود دارد: سیستم فایلی ساده و سیستم پایگاه داده

سیستم فایلی (file system)

در این روش، داده ها در فایل های مجزا قرار گرفته و سیستم های جداگانه ای به نام سیستم پردازش فایل برای استفاده از فایل های داده ای طراحی می شوند. در این سیستم ها هر برنامه ی کاربردی تنها به فایل داده ای مربوط به خود می تواند مراجعه می کند.
اشکالات چنین طراحی در ذخیره داده به طور خلاصه عبارتند:
1. افزونگی و ناسازگاری داده به دلیل چندین فرمت فایل و تکرار اطلاعات در فایلهای مختلف.
2. مشکل در دستیابی داده و نیاز به نوشتن برنامه جدیدی برای انجام هر کار
3. قیدهای جامعیت به جای اینکه صریحا بیان شوند در کدبرنامه از نظر پنهان می شد. اضافه کردن قیدهای جدید یا تغییر قیدهای موجود به سختی صورت می گیرد.
4. ایجاد ناسازگاری به دلیل وجود چندین کپی از فقره های داده
5. مشکلات امنیتی به دلیل دسترسی همروند و بدون کنترل توسط چند کاربر

سیستم پایگاه داده (database system)

در این روش کلیه داده ها به صورت مجتمع در پایگاه داده ذخیره می شود، ولی هر کاربر دید خاص خود را نسبت به داده ها دارد. کاربران مختلف می توانند به طور مشترک با پایگاه داده کار کنند. به دلیل تجمع داده افزونگی به حداقل ممکن کاهش می یابد.
نرم افزاری به نام سیستم مدیریت پایگاه داده ( DBMS ) به عنوان واسطه بین برنامه های کاربردی و پایگاه داده ایفای نقش می کند لذا امنیت داده ها در این روش بیشتر است.
چند نمونه از کاربردهای سیستم پایگاه داده موارد زیر هستند:
• انجام کلیه تراکنش های بانکداری
• رزرواسیون و زمانبندی خطوط هوائی
• ثبت نام دانشجویان، واحدگیری و ثبت نمرات در مراکز آموزشی
• ثبت اطلاعات مشتریان، محصولات و فاکتورهای خرید و فروش
• پیگیری سفارشات و پیشنهادات در فروش online
• ثبت رکوردهای کارمندان و محاسبات حقوق، کسورات مالیاتی در سازمان ها

عناصر اصلی سیستم پایگاه داده

اجزاء اصلی سیستم بانک اطلاعاتی عبارتند از:

1. داده ها

• شامل داده هائی درباره موجودیت های مختلف محیط و ارتباط بین موجودیت ها.

2. سخت افزار

• شامل عناصر پردازشی، رسانه های ذخیره سازی داده، دستگاه های جانبی، سخت افزارهای ارتباطی و غیره.

3. نرم افزار

• شامل سیستم عامل و نرم افزارهای ارتباطی شبکه، نرم افزار سیستم مدیریت پایگاه داده و برنامه های کاربردی.

4. رویه های عملیاتی

• شامل کلیه عملیاتی که روی پایگاه داده انجام می شود، نظیر تهیه پشتیبان، آمارگیری و ...

5. کاربر

• شامل کاربران یا کسانی که به نحوی با سیستم در ارتباط هستند نظیر مدیرپایگاه داده(DBA)، طراحان پایگاه داده (DBD)، برنامه نویسان پایگاه داده (DBP) و کاربران نهائی(end users).

مزایا و معایب سیستم های پایگاه داده

مزایای مهم سیستم پایگاه داده

1. تجمع، وحدت ذخیره سازی و کنترل متمرکز داده ها
2. کاهش افزونگی. تجمع داده و وحدت ذخیره سازی باعث کاهش افزونگی می شود. مثلا آدرس های مختلف برای یک مشتری در قسمت های مختلف اداره ثبت نمی شود.
3. به اشتراک گذاشتن داده ها. چند کاربر می توانند در هم زمان به پایگاه داده دسترسی داشته باشند. برنامه های کاربردی موجود قادر به اشتراک گذاردن داده ها در پایگاه داده بوده و برنامه های کاربردی جدید نیز می توانند از این داده ها استفاده کنند.
4. پرهیز از ناسازگاری. با کاهش افزونگی، کنترل متمرکز و جامعیت، سازگاری و یکپارچگی داده ها تضمین می شود.
5. اعمال محدودیت های امنیتی. سیستم های امنیتی در پایگاه داده امکان اعمال کنترل های مختلف را برای هر نوع دسترسی (‌ بازیابی،اصلاح، حذف و غیره) بر روی پایگاه داده فراهم می کند.
6. صحت بیشتر داده و استقلال از برنامه های کاربردی
7. راحتی پیاده سازی برنامه های کاربردی جدید

معایب سیستم پایگاه داده

1. طراحی سیستم های پایگاه داده پیچیده تر، دشوارتر و زمان برتر است.
2. هزینه قابل توجهی صرف سخت افزار و نصب نرم افزار می شود.
3. آسیب دیدن پایگاه داده روی کلیه برنامه های کاربردی تاثیر می گذارد.
4. هزینه زیاد برای تبدیل از سیستم فایلی به سیستم پایگاه داده نیاز است.
5. نیازمند تعلیم اولیه برنامه نویسان و کاربران و استخدام کارمندان خاص پایگاه داده است.
6. نیاز به تهیه چندین کپی پشتیبان از پایگاه داده می باشد.
7. خطاهای برنامه می توانند فاجعه برانگیز باشند.
8. زمان اجرای هر برنامه طولانی تر می شود.
9. بسیاروابسته به عملیات سیستم مدیریت پایگاه داده است.

نسل اول (1957-1948) : فایل ترتیبی

رسانه خارجی در این نسل نوارهای مغناطیسی بوده اند. این نسل را می توان نسل بدون نرم افزار واسط نامید. مشخصات کلی این نسل عبارتند از:
• ساختار فایل ها ترتیبی است
• ساختار فیزیکی همان ساختار منطقی فایل است
• تنها روش پردازش فایل ها پردازش یکجا (batch processing) است
• برنامه کاربردی تمام عملیات ورودی/خروجی را انجام می دهد و نرم افزار واسطی برای مدیریت پردازش فایل ها وجود ندارد
• طراحی ساختار فیزیکی به عهده کاربر است
• تغییر در ساختار داده منجر به تغییر در برنامه کاربردی می شود
• افزونگی داده حداکثر است
• اشتراک داده مطرح نیست
• نسخه های متعدد از فایل هنگام بهنگام سازی ایجاد می شود

نسل دوم (1966-1958) : شیوه های دسترسی

مهمترین ویژگی این نسل پیدایش نرم افزارهای AM )accessmethod) یا شیوه های دسترسی و همچنین ایجاد رسانه های با دسترسی مستقیم مانند دیسک است.
AM نرم افزاری است که مبتنی بر یک استراتژی دستیابی، به جنبه های فیزیکی محیط ذخیره سازی و عملیات آن می پردازد و جنبه های فیزیکی را تا حدی از دید کاربر مخفی می کند. و برنامه کاربردی دیگر نیازی به پرداختن به آنها ندارد. مشخصات این نسل عبارتند از:
• نرم افزار واسط AM برای ایجاد فایل ها با ساختار گوناگون بین برنامه های کاربردی و محیط ذخیره سازی وجود دارد
• امکان دسترسی ترتیبی و مستقیم به رکورد وجود دارد
• پردازش در محیط های بلادرنگ (Real Time)، برخط (On-Line) و یکجا بسته به نوع سیستم عامل می توانند انجام شوند
• ساختار فیزیکی و منطقی فایل از هم جدا است ولی هنوز برنامه کابردی از محیط ذخیره سازی مستقل نیست
• امکان دسترسی بر اساس چندین کلید وجود ندارد
• روش های ایمنی و حفاظت داده ابتدائی وجود دارد
• داده ها برای کاربردهای خاص طراحی و ذخیره می شوند
• تکرار داده هنوز در حد نسبتا بالائی است
• اشتراک داده ها تا حدی ایجاد شده است

RUP چیست ؟

 معماری و ساختار كلی RUP
فرایند انجام یک پروژه تعریف می‌کند که چه کسی، چه کاری را در چه هنگام و چگونه برای رسیدن به هدف (انجام پروژه) انجام می‌دهد. در مهندسی نرم‌افزار، هدف ساختن یک محصول نرم‌افزاری و یا بهبود یک نمونه‌ی موجود است. هدف از تعیین فرایند، تضمین کیفیت نرم‌افزار، برآورده شدن نیاز‌های کاربر و قابل تخمین بودن زمان و هزینه‌ی تولید می‌باشد. علاوه بر این، تعیین فرایند، روندی جهت تحویل مصنوعات دوران تولید نرم‌افزار به کارفرما و ناظر پروژه ارائه می‌دهد تا از این طریق اطمینان حاصل کنند که پروژه روند منطقی خود را طی می‌کند و نظارت درست بر انجام پروژه ممکن است و از سوی دیگر، معیاری برای ارزیابی پروژه انجام شده می‌باشد. تا كنون متدولوژی‌های مختلفی برای فرآیند تولید نرم‌افزار ارائه شده‌اند كه یكی از مشهورترین آنها RUP است.
RUP ، متدولوژی ارائه شده توسط شرکت Rational ، پرکاربردترین فرآیند تولید و توسعه نرم افزاری در دنیای کنونی است و به عنوان یک استاندارد صنعتی بالفعل در دنیای IT پذیرفته شده است. به گزارش رویتر در سال 2001 میلادی بیش از ششصد هزار شرکت تولید کننده نرم افزار، از ابزارهای شرکت Rational استفاده می کرده‌اند که این تعداد کماکان هم در حال افزایش است. این متدولوژی، برای انواع پروژه‌های نرم‌افزاری در دامنه‌های مختلف ( مانند سیستم‌های اطلاعاتی، سیستم‌های صنعتی، سیستم‌های بلادرنگ، سیستم‌های تعبیه شده، ارتباطات راه دور، سیستم‌های نظامی و ...) و در اندازه‌های متفاوت، از پروژه‌های بسیار کوچک (یک نفر در یک هفته) تا پروژه‌های بسیار بزرگ (چند صد نفر تولید کننده با پراکندگی جغرافیایی)، کاربرد دارد.
مزیت بزرگ این متدولوژی، استفاده از روش تکرار در تولید و مدیریت تولید نرم‌افزار است که این امر، امکان تولید مبتنی بر کاهش ریسک و مواجه با مشکلات اصلی در ابتدای کار و در نتیجه احتمال موفقیت بیشتر را فراهم می‌کند. از محاسن دیگر این متدولوژی مبنا قرار دادن نرم‌افزار و تولید یک معماری پایدار در ابتدای کار است، که در نتیجه امکان کشف مشکلات عمده ساختاری، تست و مجتمع سازی ممتد را از ابتدای کار فراهم می‌کند. از دیگر مزایای این روش این است که افراد تیم همزمان با پیشرفت پروژه، مطالب جدیدی فرا می‌گیرند و کیفیت فرآیند تولید نیز به طور مرتب افزایش می‌یابد.
همانطور كه در شكل بالا مشاهده می‌شود، RUP دارای دو بعد است:
1. محور افقی نشان دهنده‌ی زمان است و با پیشرفت خود جنبه‌های چرخه‌ی حیات فرآیند و فازهای RUP را نشان می‌دهد.
2. محور عمودی نمایانگر دیسیپلین‌های RUP است كه فعالیت‌ها را با استفاده از ماهیتشان به صورت منطقی دسته‌بندی می‌كند.
در هر فاز ممكن است یك یا چند تكرار وجود داشته باشد و در هر تكرار عملیات دیسپیلین‌های مختلف انجام می‌گیرند

فازهای RUP

فازها و milestone های یك پروژه در RUP

Inception (آغازین)

هدف اصلی این فاز دستیابی به توافق میان كلیه‌ی ذینفعان بر روی اهداف چرخه‌ی حیات پروژه است. فاز Inception به دلیل تلاشهای تولید و توسعه جدید به صورت پایه‌ای اهمیت فراوانی دارد كه در آن ریسك‌های نیازسنجی و تجاری مهمی وجود دارد كه باید پیش از اینكه اجرای پروژه مورد توجه قرار گیرد، بررسی شوند. برای پروژه‌هایی كه بر توسعه سیستم موجود متمركزند، فاز Inception كوتاهتر است، با اینحال این فاز برای حصول اطمینان از اینكه پروژه ارزش انجام دادن دارد و امكان‌پذیر نیز هست، انجام می‌شود. اهداف اصلی فاز آغازین شامل موارد زیر است:
• بدست‌ آوردن محدوده نرم‌افزاری پروژه و محدودیت‌های آن كه شامل یك دید عملیاتی، معیار پذیرش و اینكه چه چیز باید در محصول باشد و چه چیز نباید باشد، می‌شود
• مشخص كردن Use-Case های اساسی سیستم، سناریوهای اصلی عملیات كه مسائل مربوط به طراحی اصلی را ایجاد می‌كند.
• نمایش و شاید توضیح حداقل یك معماری كاندیدا برای بعضی سناریوهای اصلی
• برآورد هزینه و زمان كلی برای كل پروژه

Elaboration (جزییات)

هدف فاز جزئیات تعیین معماری كلی سیستم به منظور فراهم آوردن یك زمینه‌ی مناسب برای قسمت عمده‌ی طراحی و پیاده‌سازی در فاز Construction است. معماری با درنظرگرفتن بیشتر نیازمندی‌های مهم (آن دسته از نیازمندی‌ها كه تأثیر زیادی بر معمار سیستم دارد) و نیز ارزیابی ریسك كامل می‌شود. پایداری معماری از طریق یك یا چند نمونه‌ی اولیه ساختاری ارزیابی می‌‌شود. اهداف اصلی فاز جزئیات شامل موارد زیر است:
• اطمینان از اینكه معماری، نیازمندی‌ها و طرح‌ها به اندازه‌ی كافی پایدارند و ریسك‌ها به اندازه‌ی كافی كاهش یافته‌اند بطوریكه بتوان هزینه و زمان‌بندی لازم برای تكمیل تولید را پیش‌بینی كرد. برای اكثر پروژه‌ها، گذر از این مرحله‌ی مهم مانند انتقال از یك عملیات سبك و سریع و با ریسك پایین به یك عملیات با هزینه و ریسك بالا همراه با اجبار سازمانی است.
• بیان همه‌ی ریسك‌های پروژه كه از نظر ساختاری اهمیت دارند.
• ایجاد یك معماری پایه، مشتق شده از سناریوهای مهم كه از لحاظ ساختاری اهمیت دارند، كه این معماری ریسك‌های فنی عمده پروژه را نیز مشخص می‌كند.
• تولید یك نمونه‌ی اولیه‌ی تكاملی از مولفه‌های با كیفیت تولیدی خوب، و همچنین یك یا چند نمونه‌ی اولیه‌ی اكتشافی و نمونه‌های اولیه‌ی غیر قابل استفاده جهت كاهش ریسكهای خاص مانند :
o سازش‌های مربوط به نیازمند‌ی‌ها یا طراحی
o استفاده‌ی مجدد از مؤلفه‌ها
o عملی بودن محصول یا توضیحات برای سرمایه گذاران، مشتریان و كاربران نهایی
• توضیح اینكه معماری پایه از نیازمندی‌های سیستم با هزینه‌ی منطقی و در زمان منطقی پشتیبانی می‌كند
• ایجاد یك محیط پشتیبانی كننده

Construction (ساخت)

هدف این فاز واضح سازی نیازمندی‌های باقیمانده و تكمیل تولید سیستم بر اساس معماری مبنا می‌باشد. فاز ساخت به نوعی یك فرآیند ساخت است كه در آن تأكید بر مدیریت منابع و كنترل عملیات به منظور بهینه‌سازی هزینه‌ها، زمان‌بندی‌ها و كیفیت است. در این حالت یك انتقال از تولید یك نمونه‌ی ذهنی در طی فازهای Inception و Elaboration به تولید محصولات قابل استقرار در طی Construction و Transition می‌شود. اهداف اصلی فاز Construction شامل موارد زیر می‌باشد:
• كمینه كردن هزینه‌های تولید با بهینه‌سازی منابع و پرهیز از دور انداختن و دوباره‌كاری غیر ضروری
• دستیابی هرچه سریعتر به كیفیت كافی
• دستیابی هر جه سریعتر به ویرایش‌های مفید (آلفا، بتا و سایر نسخه‌های تست)
• كامل كردن تحلیل، طراحی، تولید و تست كارآیی مورد نیاز
• تولید تكراری و گام به گام یك محصول كامل كه آماده‌ی انتقال به محیط كاربران باشد
• تصمیم در مورد اینكه آیا نرم‌افزار، سایت‌ها و كاربران همه برای استقرار طرح آمادگی دارند
• دستیابی به میزانی از موازی سازی در كار تیم‌های تولید

Transition (انتقال)

تمركز این فاز بر این است كه تضمین نماید نرم‌افزار برای كاربران نهایی آماده می‌باشد. فاز Transition می‌تواند به چندین تكرار تقسیم شود، و شامل تست كردن محصول برای آماده‌سازی جهت انتشار و ایجاد تنظیمات كوچك بر اساس بازخورد كاربر می‌باشد. در این نقطه از چرخه‌ی حیات، بازخورد كاربر باید بطور عمده بر تنظیم دقیق محصل، پیكربندی، نصب و نكات مربوط به قابلیت استفاده تمركز یابد، و همه‌ی نكات ساختاری اصلی باید هرچه زودتر در چرخه‌ی حیات پروژه طرح شوند. با به اتمام رسیدن فاز Transition اهداف چرخه‌ی حیات باید برآورده شده باشند و پروژه در موقعیتی باشد كه بتوان آنرا خاتمه داد. در برخی موارد، پایان چرخه‌ی حیات فعلی ممكن است با آغاز چرخه‌ی حیات بعدی در مورد همان محصول همزمان شود و ما را به سمت تولید یا ویرایش دیگری هدایت كند. برای پروژه‌های دیگر، پایان فاز Transition ممكن است با تحویل كامل خروجی‌ها به گروه سومی كه ممكن است مسؤول عملیات نگهداری و پیشرفت سیستم تحویل دهده شده می‌باشند، همزمان شود. این فاز بر اساس نوع محصول در فاصله‌ی بسیار ساده تا بی‌نهایت پیچیده قرار دارد. نصب یك نسخه‌ی جدید از یك بسته نرم‌افزاری موجود ممكن است بسیار ساده باشد، در حالیكه جایگزینی سیستم كنترل ترافیك هوایی یك كشور ممكن است بسیار پیچیده باشد. فعالیت‌هایی كه در طول یك تكرار در فاز Transition انجام می‌گیرد به هدف بستگی دارند. برای مثال معمولاً در هنگام رفع اشكالات، پیاده‌سازی و تست كافی هستند. با این وجود اگر ویژگیهای جدیدی باید اضافه شوند، این تكرار شبیه به تكراری در فاز Construction می‌شود كه نیازمند تحلیل و طراحی و غیره است. فاز Transition زمانی وارد عمل می‌شود كه یك خط مبنا آنقدر بالغ شده كه بتواند در دامنه‌ی كاربر نهایی استقرار یابد. این امر بطور نمونه نیازمند این است كه تعدادی زیر مجموعه‌ی قابل استفاده از سیستم با كیفیت قابل قبول و مستندات كاربر، كامل شده باشند، تا انتقال به كاربر نتایج مثبتی را برای همه‌ی گروه‌ها در بر داشته باشد. اهداف مهم فاز Transition عبارتند از:
• تست بتا برای تشخیص اعتبار سیستم جدید با توجه به انتظارات كاربر
• تست بتا و عملیات موازی همراه با یك سیستم قدیمی كه در حال جایگزینی می‌باشد.
• تبدیل پایگاه‌های داده‌ی عملیاتی
• آموزش كاربران و نگهداری كنندگان
• بازاریابی، توزیع و فروش برای نخستین انتشار محصول
• تنظیم فعالیت‌ها از قبیل رفع اشكال، افزایش كارایی و قابلیت استفاده
• ارزیابی خط مبناهای استقرار در مقایسه با تصویر كلی و معیار قابلیت قابل قبول برای محصول
• دستیابی به موافقت ذینفع در مورد اینكه خط مبناهای استقرار كامل می‌باشند
• دستیابی به موافقع ذینفع در مور اینكه خط مبناهای استقرار با معیار ارزیابی تصویر كلی سازگارند

دیسیپلین‌های RUP

دیسیپلین مجموعه‌ای از کارهای به هم مرتبطی است که برای انجام جنبه خاصی از یک پروژه انجام می‌شوند. متدولوژی RUP دارای 6 دسیسپلین اصلی (مربوط به تولید محصول) و 3 دیسیپلین كمكی (مربوط به تیم و محیط تولید) است كه در ادامه به ترتیب معرفی خواهند شد.

Business Modeling (مدل‌سازی كسب و كار)

هداف مدل‌سازی كسب و كار عبارتند از:
• شناخت ساختار و دینامیك‌های سازمانی كه در آن یك سیستم باید استقرار یابد(سازمان هدف.)
• شناخت مشكلات فعلی در سازمان هدف و تشخیص پتانسیل‌های بهبود
• تضمین اینكه مشتری، كاربر نهایی و تولید كنندگان یك شناخت مشترك از سازمان هدف دارند.
• هدایت نیازمندی‌های سیستم كه برای حمایت از سازمان هدف مورد نیازند.
• دیسیپلین‌ مدل‌سازی كسب و كار توضیح می‌دهد كه برای رسیدن به این هدف چگونه می‌توان یك تصویر كلی از سازمان را تولید نمود، و براساس این تصویر كلی فرآیندها، نقش‌ها و مسؤولیت‌های آن سازمان را در یك مدل Use-case كسب وكار و یك مدل شیء كسب و كار تعریف كرد

Requirements (نیازمندی‌ها)

اهداف دیسیپلین نیازمندی‌ها عبارتند از:
• تشخیص و نگهداری موارد توافق با مشتری‌ها و سایر ذینفعان در مورد كارهایی كه سیستم باید انجام دهد.
• فرآهم آوردن شناخت بهتر از نیازمندی‌های سیستم برای تولید كنندگان سیستم
• تعریف مرزهای و حدود سیستم
• فراهم كردن یك پایه برای طرح ریزی مفاهیم تكنیكی تكرارها
• فراهم كردن یك پایه برای تخمین مخارج و زمان تولید سیستم
• تعریف یك واسط كاربر برای سیستم با تمركز بر روی نیازها واهداف كاربران
برای دستیابی به این اهداف، ابتدا فهم تعریف و محدوده‌ی مسأله‌ای كه سعی داریم با این سیستم آن را حل كنیم، حائز اهمیت می‌باشد. قوانین كسب و كارف مدل Use-Case كسب و كار و مدل شیء كسب و كار كه در طول مدل‌سازی كسب و كار تولید شده به عنوان ورودی با ارزشی برای این تلاش خواهند بود. در این راستا ذینفعان تشخیص داده می‌شوند و درخواستهای ذینفعان استخراج، جمع‌آوری و تجزیه و تحلیل می‌شوند. یك مستند تصویر كلی، یك مدل Use-Case ، Use-Case ها و مشخصه‌های تكمیلی برای توضیح كامل سیستم تولید می‌شود. این توضیح درواقع كاری را كه سیستم انجام خواهد داد بیان می‌كند. این مستندات بعنوان منابع مهم اطلاعات تولید می‌شود. در تولید این مستندات باید خواسته‌های همه ذینفعان را در نظر گرفت.

Analysis & Design (تحلیل و طراحی)

اهداف تحلیل و طراحی عبارتند از:
• تبدیل نیازمندی‌ها به طراحی سیستم كه قرار است بوجود آید.
• پیدایش یك معماری مستحكم برای سیستم
• سازگار ساختن طراحی برای هماهنگ شدن با محیط پیاده‌سازی و طراحی آن برای كارایی بهتر
در اوایل فاز Elaboration ، بر ایجاد یك معماری ابتدایی برای سیستم تمركز می‌شود، كه یك معماری كاندیدا برای فراهم كردن یك نقطه‌ی شروع برای تحلیل اصلی ارائه شود. اگر معماری قبلا وجود دارد (یا بدلیل اینكه در تكرارهای قبلی، در پروژه‌های قبلی تولید شده یا از یك چارچوب كاربردی بدست آمده)، تمركز كار برای اصلاح معماری، تحلیل رفتار و ایجاد یك مجموعه‌ی اولیه از عناصر است كه رفتار مناسب را فراهم می‌آورند

Implementation (پیاده‌سازی)

اهداف پیاده‌سازی عبارتند از:
• تعریف سازمان كد، برحسب زیر مجموعه‌ای از مجموعه‌های پیاده‌سازی سازمان یافته در لایه‌ها
• پیاده‌سازی كلاس‌ها و اشیاء بوسیله مؤلفه‌ها (فایل‌های منبع، باینری‌ها، فایل‌های اجرایی و...)
• تست اجزاء تولید شده به عنوان واحد‌ها
• مجتمع‌سازی نتایج تولید شده توسط پیاده سازان فردی‌ (یا تیم‌ها) به صورت یك سیستم قابل اجرا
دیسیپلین پیاده‌سازی مرز خود با تست را به اینكه تك تك كلا‌س‌ها چگونه تست واحد می‌شوند، محدود می‌كند. تست سیستم و تست مجتمع سازی در دیسیپلین تست انجام می‌گیرد.

Test (آزمون)

دیسیپلین تست از بسیاری جهات مانند یك ارائه دهنده خدمات برای سایر دیسیپلین‌ها عمل می‌كند. تمركز اولیه تست كردن بر بررسی و ارزیابی كیفیت‌های محقق شده از طریق كارهای زیر است:
• یافتن و مستند كردن نقایص در كیفیت نرم‌افزار
• آگاهی دادن در مورد كیفیت نرم‌افزار بررسی شده
• اثبات اعتبار فرضیاتی كه در طراحی و مشخصات نیازمندی‌ها ساخته شدند، از طریق نمایش‌های واقعی
• تصدیق عملكردهای محصول نرم‌افزار همانطور كه طراحی شده است.
• تصدیق اینكه نیازمندی‌ها بدرستی پیاده‌سازی شده‌اند
یك تفاوت جالب ولی تاحدی ظریف میان دیسیپلین تست و سایر دیسیپلین‌ها در RUP این است كه تست گرفتن، اساسا وظیفه‌ی یافتن و ارائه ضعف‌ها در محصول نرم‌افزار را داراست. برای اینكه این تلاش موفقیت‌آمیز باشد، لازم است از یك روش نسبتا منفی و مخرب استفاده شود تا روشی سازنده. مسأله‌ای كه بسیار حائز اهمیت می‌باشد این است كه از دو روش اجتناب كنیم : یكی روشی كه بطور مناسب و موثر نرم‌افزار را بكار نگیرد و مشكلات و ضعف‌های آن را نشان ندهد و دیگری روشی كه آنقدر مخرب است كه احتمالا هیچگاه كیفیت محصول نرم‌افزاری را قابل قبول درنظر نمی‌گیرد.

Deployment (استقرار)

دیسیپلین استقرار فعالیت‌هایی را توضیح می‌دهد كه تضمین می‌كنند محصول نرم‌افزاری برای كاربران نهایی‌اش در دسترس می‌باشد. دیسیپلین استقرار سه حالت استقار محصول را توضیح می‌دهد.
• نصب اختصاصی
• آماده فروش كردن محصول نهایی
• دستیابی به نرم‌افزار از طریق اینترنت
در هر نمونه، تأكید روی تست محصول در سایت تولید است و سپس انجام تست بتا، پیش از اینكه محصول نهایتا به مشتری تحویل داده شود. گرچه فعالیت‌های استقرار در فاز Transition به منتها درجه‌ی خود می‌رسند، اما برخی از فعالیت‌ها در فازهای قبلی برای طرح‌ریزی و آمادگی جهت استقرار انجام می‌‌شوند.

Environment (محیط)

دیسیپلین محیط بر فعالیت‌هایی كه برای پیكربندی فرآیند برای یك پروژه لازم و ضروری‌اند، متمركز می‌شود. این دیسیپلین فعالیت‌های مورد نیاز برای تولید رهنمودهایی كه در جهت پشتیبانی از یك پروژه لازم می‌باشند را توضیح می‌دهد. هدف فعالیت‌هایی محیطی فراهم آوردن محیط تولید (هم فرآیندها و هم ابزاری كه تیم تولید را پشتیبانی می‌كنند) برای سازمان تولید كننده نرم‌افزار می‌باشد.
جعبه ابزار مهندس فرآیند پشتیبانی ابزاری را برای پیكربندی یك فرآیند فراهم می‌كند. این مورد شامل ابزارها و نمونه‌هایی برای ایجاد سایتهای وب پروژه و سازمان بر اساس RUP می‌شود.

Project Management (مدیریت پروژه)

مدیریت پروژه نرم‌افزاری، هنر متوازن ساختن اهداف متقابل، مدیریت ریسك و غلبه بر محدودیت‌ها برای تحویل موفقیت آمیز محصولی است كه هم نیازهای مشتریان ( كسانی كه برای سیستم پول می‌پردازند) و هم نیازهای كاربران را برآورده كند. این حقیقت كه پروژه‌های بسیار كمی هستند كه واقعا موفقیت‌آمیزند برای توضیح سخت بودن این كار، كافی می‌باشد
اهداف این دیسیپلین عبارتند از:
• فراهم كردن یك چارچوب برای مدیریت پروژه‌های صرفاً نرم‌افزاری
• فراهم كردن رهنمودهای عملی برای طرح‌ریزی، تعیین نیروی انسانی، اجرا و نظارت بر پروژه‌ها
• فراهم كردن یك چارچوب برای مدیریت ریسك
• با این وجود، این دیسیپلین از RUP برای پوشش دادن همه‌ی جنبه‌های مدیریت پروژه نیست. برای مثال این دیسیپلین موارد زیر را پوشش نمی‌دهد :
* مدیریت افراد : استخدام، آموزش، رهبری
* مدیریت بودجه : تعیین، تخصیص و غیره
* مدیریت قراردادها :‌ با پشتیبانی كنندگان و مشتریان
این دیسیپلین بطور عمده روی جنبه‌های مهم یك فرآیند تكراری تمركز می‌كند كه عبارتند از :
* مدیریت ریسك
* طرح ریزی برای یك پروژه‌ی تكراری، از طریق چرخه‌ی حیات و برای یك تكرار بخصوص
* نظارت بر پیشرفت یك پروژه‌ی تكراری و متریك‌ها

Configuration & Change Management (مدیریت پیكربندی و تغییرات)

برای تأویل و تفسیر ”مدل بلوغ قابلیت“ انستیتو مهندسی نرم‌افزار( SEI CMM )، مدیریت پیكربندی و درخواست تغییر، تغییرات را به سمت خروجی‌های یك پروژه كنترل می‌كند و همچنین صحت و تمامیت خروجی‌های پروژه را حفظ می‌كند.
مدیریت پیكربندی و درخواست تغییر ( CRM, CM ) شامل موارد زیر می‌باشند:
• تشخیص موارد پیكربندی
• محدود كردن تغییرات آن موارد
• رسیدگی به تغییراتی كه برای آن موارد ساخته شده
• تعریف و مدیریت پیكربندی آن موارد
متدها، فرآیندها و ابزاری كه برای ایجاد تغییر و مدیریت پیكربندی برای یك سازمان استفاده می‌شوند، می‌توانند بعنوان سیستم CM سازمان مورد توجه قرار گیرند.
سیستم مدیریت پیكربندی و درخواست تغییر (سیستم CM ) برای یك سازمان اطلاعات كلیدی در مورد تولید محصول را نگهداری می‌كند. این اطلاعات عبارتند از : ‌ترفیع، استقرار و فرآیندهای نگهداری. بعلاوه یك پایگاه داده محصولاتی را كه بصورت بالقوه قابل استفاده مجدد می‌باشند، نگهداری می‌كند.
یك سیستم CM برای كنترل خروجی‌های متعدد تولید شده توسط افراد زیادی كه روی یك پروژه كار می‌كنند، ضروری است. كنترل، به اجتناب از اغتشاشِ پرهزینه كمك می‌كند و تضمین می‌نماید كه خروجی‌های بدست آمده با توجه به برخی انواع مسائل و مشكلاتی كه در زیر آمده‌اند ناسازگار نیستند.
• به روز رسانی همزمان
• توجه دادن محدود شده
• نسخه‌های چندگانه

برنامه نويسي کمتر و آفرينش بيشتر

مشخصات فني و ساختاري نرم افزار Softimage | XSI

درباره شرکت Softimage شرکت سافت ايميج يکي از پيشگامان توليد نرم افزارهاي سه بعدي و جلوه هاي تصويري است. اين شرکت توليدکننده انواع برنامه هاي رايانه اي است که توسط آن ها کارگردان و هنرمندان توليد جلوه هاي تصويري و تصاوير مجازي مي توانند نسبت به ايجاد شخصيت هاي دنياي غير واقعي اقدام و جلوه هاي منحصر به فردي را توليد کنند. از ديگر فعاليت هاي اين شرکت مي توان به ايجاد نرم افزارهاي خاص براي توليد پويانمايي (انيميشن) اعم از سينمايي، تلويزيوني، تبليغاتي و ... اشاره کرد. موفقيت سافت ايميج به حدي بود که شرکت عظيم اتودسک به تازگي آن را خريداري کرد.
يکي از محصولات اصلي اين شرکت نرم افزاري به نام Softimage | XSI است. اين برنامه رايانه اي يکي از مهم ترين و قدرتمندترين نرم افزارها در حوزه توليد تصاوير سه بعدي و مدل سازي محيط هاي واقعي است. توليد پويانمايي هاي واقع گرايانه، بافت گذاري اشياي ساختگي، نورپردازي، سايه زني توسط متحرکسازان و هنرمندان جلوه هاي تصويري از فعاليت هايي است که اين برنامه به صورت منحصربه فرد قادر به انجام آن ها است. از ديگر محصولات شرکت سافت ايميج مي توان به نرم افزارهاي Cat , Face اشاره کرد که هر يک در زمينه کاري خود برنامه اي شاخص به شمار مي رود.

اهداف شرکت

شرکت سافت ايميج سياست کاري خود را با جذب نخبگان صنعت نرم افزاري يا هنرمندان حوزه تصاوير پويانمايي پيش مي برد؛ به اين معنا که با روشهاي مختلف، علاقمندان زمينه هاي کاري مذکور در سراسر دنيا را شناسايي کرده و با جذب آن ها و اقدام به همکاري با ايشان نسبت به رفع اشکالات محصولات قبلي و توليد محصولات جديد با ايده ها و نوآوري هاي نوين همواره در صنعت متحرکسازي پيشتاز است، تا آن جا که اغلب محصولات سينمايي و تلويزيوني موفق جهان در سال هاي اخير از محصولات اين شرکت استفاده کرده اند.

Softimage | XSI 7

شعار تبليغاتي اي که شرکت سافت ايميج براي جديدترين نسخه ايکس اس آي انتخاب کرده عبارت است از : « برنامه نويسي کمتر، آفرينش بيشتر». بيش از بيست سال است که براي توليد پويانمايي و ايجاد جلوه هاي تصويري، نرم افزارهاي متنوعي به کمک کارگردانان و تهيه کنندگان محصولات سينمايي، تلويزيوني و حتي بازي هاي رايانه اي آمده است. استوديوهاي فيلمسازي با تجهيز به اين گونه نرم افزارها خود را در زمره توليدکنندگان موفق پويانمايي، بازي هاي رايانه اي و حتي جلوه هاي تصويري در فيلم هاي پر حادثه (اکشن) سينمايي قرار داده اند. اين استوديوها را مي توان پيشتازان صنعت سه بعدي ناميد تا آن جا که در سال هاي اخير تقريباً تمام محصولات سينمايي و تلويزيوني از اين فناوري به طور کم و بيش استفاده کرده و نسبت به ارتقاي کيفيت محصولاتشان اقدام کرده اند.
ايکس اس آي 7 يکي از حرفه اي ترين نرم افزارهاي متحرکسازي و جلوه هاي تصويري است. اين برنامه با در اختيار داشتن ابزارهاي کاملي در زمينه ساخت مدل هاي سه بعدي و پويانمايي تصاوير ساختگي، امکان پردازش (Render) تصاوير غير واقعي ساخته شده توسط برنامه هاي رايانه اي و بافت گذاري هاي بسيار متنوع، خود را قدرتمندترين ابزار هنرمندان ديجيتالي معرفي کرده است.
با کمک ايکس اس آي هنرمندان و کارگردانان مي توانند شخصيت هايي توليد کنند که تمام خصوصيات يک جسم سه بعدي را در خود خواهند داشت و براي بيننده باورپذير بوده تا جايي که امکان تشخيص واقعيت از تصاوير ساختگي براي بيننده دشوار و غير ممکن شود. با اين نرم افزار مي توان دنيايي سه بعدي را ايجاد کرد که در آن عمق تصاوير واقعي بوده و مي توان تمام جلوه هاي باورپذير را در اين فضا ايجاد کرد.
در ادامه به برخي علل انتخاب اين نرم افزار توسط هنرمندان ديجيتالي حرفه اي اشاره مي کنيم:

1-سريع ترين مدل ساز سطوح چندبعدي

همان طور که مي دانيم براي ايجاد يک دنياي کاملاً واقعي که براي بيننده حداکثر باورپذير را ايجاد کند، مي بايست به تمام عناصر سه بعدي دسترسي کامل داشت؛ در واقع، دسترسي به سطوح، عمق، زوايا و ابعادي که با يکديگر تناسب واقعي داشته باشند، از ضروريات توليد يک فضاي واقعي است. براي ساخت يک پويانمايي يا توليد يک جلوه واقعي، هنرمندان مي بايست تمام ارکان تصاوير را به صورت تفکيک شده در اختيار داشته باشند تا امکان خلق يک فضا يا تغيير آن به يک فضاي واقعي امکان پذير شود.
ايکس اس آي براي پوشش اين نياز به شکل بي نظيري دستيابي به تمام عناصر تصويري را ميسر مي سازد. امکاناتي مانند دستيابي به سطوح مختلف تصوير، ايجاد سطوح جديد، تنظيم کليه جزئيات تصوير يا اضافه کردن جزئياتي همگون با عناصر تصوير. به کارگيري ابزارهاي آماده براي توليد يک فضاي سه بعدي که از تنوعي ويژه برخوردارند، هنرمندان را ياري مي کند تا بدون صرف زمان زياد و بي درنگ محيط هاي سه بعدي کاملي را ايجاد کنند يا در فضاهاي سه بعدي موجود (مانند تصاوير واقعي محيط) تغييرات باورپذيري را ايجاد کنند.

2- پيشگام در توليد پويانمايي هاي پيوسته

يکي از اصلي ترين مشکلات سازندگان تصاوير متحرک سه بعدي، عدم پيوستگي تصاوير است؛ در واقع، شکست هايي که در تصاوير ساختگي ديده مي شود، باورپذيري اين تصاوير را تا حد زيادي پايين مي آورد. ايکس اس آي اولين ابزاري است که به هنرمندان اين امکان را مي دهد که تصاوير خود را با پيوستگي واقعي توليد کنند. شخصيت هاي مجازي که با کمک ايکس اس آي توليد مي شوند، از پيوستگي کاملي برخوردارند؛ به طوري که تقريباً مي توان آن ها را به عنوان يک شخصيت واقعي معرفي کرد و زنده بودن تصاوير تا حد قابل توجهي باورپذير است. با کمک امکانات منحصر به فرد ايکس اس آي امکان دسترسي به جزئيات بسيار کوچک تصاوير يا تغيير در کليات اصلي تصاوير به وجود مي آيد. به اين ترتيب، مي توان پيوستگي مطلوبي را چه در جزئيات تصاوير و شخصيت ها و چه در کليات فضاي تصويري- ايجاد کرد.

3-ايجاد تغييرات غير مخرب در عناصر تصويري در جريان توليدکار

يکي از اشکالات عمده نرم افزارهاي سه بعدي، عدم امکان ايجاد تغيير در يک جزء تصوير بدون اثرگذاري مخرب بر ساير قسمت هاي تصوير است. اين موضوع باعث مي شود که هنرمندان نتوانند با آسودگي بخش هاي مختلف تصاوير را تغيير داده و به بهترين نوع تصوير دستيابي پيدا کنند.
ايکس اس آي باور دارد که کاربر بايد در هر لحظه هر کاري را که مي خواهد با آسودگي انجام دهد و در هر مرحله از کار خود، ترکيب ساخته شده توسط ايکس اس آي مي تواند با يک ابتکار عملي، تغيير شگفتي داشته باشد. روش عملکرد ايکس اس آي مانند آنست که شما بخش هاي مختلف تصوير را با کمک يک طناب مجازي و يک سري اتصالات به يکديگر وصل کرده ايد و با کشيدن يک بخش از اين تصوير (يک نقطه از طناب) تمامي قسمت ها به طور متناسبي که کاربر تعيين کرده، تغيير مي کنند. در اين روش کاربر مي تواند عناصر دخيل در تغييرات را خود مشخص کند و از تغييرات ناخواسته ساير عناصر تصويري جلوگيري کند. ارتباط زنجيره اي که توسط ايکس اس آي روي عناصر تصويري ايجاد مي شود، هنرمندان را در طرح و پياده سازي خلاقيت هاي ذهني خود ياري مي کند و امکان پياده سازي روش هاي سعي و خطا- که در طراحي تصاوير متحرک بسيار موثر هستند - به آساني قابل استفاده است.

4- وجود ابزارهاي در دسترس براي فعاليت هاي گروهي هنرمندان بر روي تصاوير

بي شک يک محصول موفق حاصل عمليات ترکيبي گروهي از هنرمندان و تصويرسازان است. با اين ديدگاه ايکس اس آي اغلب ابزارهاي کاربري خود را براي شرايط کار گروهي تنظيم کرده است و اصولاً محيطي را فراهم مي کند که چندين کاربر بتواند به طور همزمان و بدون تداخل بر روي يک يا چند تصوير فعاليت کنند.
اين فناوري همواره چندين هنرمند را به طور همزمان براي توليد يک محصول به کار مي گيرد؛ به گونه اي، که برخي تصاوير سه بعدي توسط چندين کاربر که هر يک مسئوليت طراحي و پياده سازي يکي از عناصر تصويري را بر عهده دارند، ايجاد مي شود. ايکس اس آي با روش مرزبندي نواحي مختلف تصاوير دو بعدي و سه بعدي، يک تصوير سه بعدي را به لايه هاي مختلفي تقسيم مي کند و هر لايه مي تواند توسط يک اپراتور در اختيار گرفته شده و طراحي و تغييرات در آن اعمال شود؛ از طرف ديگر، ساير کاربران با فعال و غيرفعال کردن لايه هاي ساير کاربران مي توانند بخش تصويري در اختيار خود را روي ساير لايه ها بارگذاري کرده و نتيجه نهايي را مشاهده کنند. امکان لايه بندي تصاوير و ايجاد ابزارهاي مشترک در فعاليت هاي گروهي از خصوصيات بارز ايکس اس آي است که البته اين امکان را مي توان در نرم افزارهاي ديگري مانند مايا و تري دي مکس (محصول اتودسک) ملاحظه کرد.

5- امکان سايه زني و بافت گذاري هاي طبيعي و چند بعدي

براي توليد تصاويري از اجسام و مواد طبيعي مانند صخره ها، پوشش هاي فلزي و چوبي يا موارد مشابه در تصاوير سه بعدي ايکس اس آي از فناوري پيشرفته اي استفاده مي کند که به آن Want-Fast اطلاق مي شود، در اين فناوري شما با سايه زني هاي سريع و با استفاده از ويرايشگرهاي متنوع بافت گذاري، امکان نمايش تمام جزئيات تصاوير اجسام غير زنده را پيدا مي کنيد، به طوري که تصوير يک جسم مانند يک تخته سنگ با تمام عناصر و جزئيات آن نمايش داده مي شود.
ويرايشگر کاربردي که براي توليد بافت هاي مختلف در اختيار شما قرار مي گيرد، امکان آشکار کردن تمام سطوح تصاوير را فراهم کرده و اين بافت ها را با بيشترين دقت روي تصاوير شما جايگزين مي کند؛ در ضمن، ايکس اس آي با يک درخت واره زنجيره اي از امکانات سايه زني و پوشش دهي تصاوير، سايه ها و بافت هاي مختلف را با دقت بسيار زيادي با يکديگر ترکيب کرده و عناصر ترکيبي بسيار دقيق و باورپذيري از اين عناصر غير هم جنس ايجاد مي کند؛ مانند ترکيب بخشي از پوست صورت انسان با فلز نقره در مرد عنکبوتي

6- ابزار قدرتمند نورپردازي هاي خيالي و عمق بخشي به تصاوير

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

7- امکان توليد تصاوير و هم انگيز و رويايي

ايکس اس آي تنها ابزاري است که به طور اتوماتيک و خودکار و بدون نياز به اضافه کردن نرم افزارهاي کمکي و اضافي، امکان ساخت تصاوير و هم آميزي را که موجب خطاي ديد در بيننده مي شوند، دارد. توليد اين گونه تصاوير بسيار مشکل بوده و در ساير برنامه هاي مشابه باعلاوه کردن بيش از 130 ابزار جلوه تصويري در سطوح دوبعدي و سه بعدي امکان پذير است. در صورتي که ايکس اس آي به صورت خودکار اين امکان را براي هنرمندان فراهم مي کند؛ ايجاد تصاوير از ارواح، شبح هاي خيالي و ... از اين دست است. با کمک اين ابزار شما مي توانيد تمام بافت هاي تصويري خود را به طور وهم آميزي به بيننده نمايش دهيد و او را دچار خطاي حسي واقعي کنيد. توليد تصاوير درهم (چند تصوير تودرتو مانند مرد نامريي) از امکانات اين نرم افزار است.

8- امکان بزرگ نمايي و کوچک نمايي

در ايکس اس آي يک ابزار اختصاصي به نام TDE (مخفف عبارت محيط توسعه ابزارها) وجود دارد که به کمک آن کاربر به آساني مي تواند مقياس تصاوير را تغيير دهد و اين تغيير با سليقه هنرمند روي عناصر مختلف مي تواند تاثيرگذار بوده يا به طور مستقل عمل کند. کوچک و بزرگ کردن شخصيت ها در پويانمايي هاي مختلف با کمک اين ابزار امکان پذير است. با به کار بردن TDE هنرمند به آساني مقياس تصاوير را با تناسبي موزون تغيير مي دهند.

خاتمه

سخن آخر اينکه امکان اضافه کردن امکانات ديگر را با کمک زبان برنامه سازي # Cفراهم مي آورد و کاربران حرفه اي مي توانند به تمام عناصر برنامه ايکس اس آي با کمک # Cدستيابي داشته و آن ها را تغيير داده يا امکان جديدي به آن ها علاوه کنند تعدادي از فيلم هاي سينمايي که جلوه هاي تصويري آن ها و پويانمايي هايي که با کمک اين نرم افزار ساخته شده اند، عبارتند از : برادران گريم، 300 ، چهار شگفت انگيز، هري پاتر، قلعه متحرک هاول، بزه شهر، مرد نامريي، مرد عنکبوتي، دگر سيماشونده ها. تبليغ کوکاکولا و ام اند ام و بازي هاي ويدئويي نيمه جان، اهريمن مقيم، سياره گمشده و بحران.
منبع:نشريه صنعت سينما ،شماره 85مترجم:فاطمه رضا نژاد

دستيابی به داده ها در فرم های وب

دستيابی به داده ها در فرم های وب
در اغلب فرم های وب نياز به دستيابی داده ها و نمايش آنها و در برخی موارد ويرايش و بهنگام سازی آنها وجود خواهد داشت . آگاهی از تکنولوژي های دستيابی به داد ه ها در صفحات فرم های وب، باعث طراحی و پياده سازی نرم افزار های موثر و با کارائی بيشتر تحت وب خواهد شد. در اين مقاله به بررسی مفاهيم مربوط به دسيتابی داده ها در صفحات فرم های وب پرداخته و نحوه استفاده از کنترل های مربوطه جهت نسبت دهی داده ها در صفحات را بررسی خواهيم کرد.
فرم های وب ، اغلب ملزم به نمايش اطلاعاتی هستند که ماحصل بازيابی آنان از يک منبع داده ئی نظير يک بانک اطلاعاتی و يا يک سند XML خواهد بود. ساختار و معماری صفحات فرم های وب اين امکان را فراهم می نمايد که با اتکاء به برخی روش ها از منابع متفاوت داده ئی در صفحات استفاده و با نسبت دهی کنترل ها به داده ها و پردازش داده های مورد نظر، امکان انجام عمليات دلخواه و مرتبط با داده ها را بسرعت و با کيفيت بالا انجام داد. دستيابی به داده ها در فرم های وب با دستيابی به داده ها از طريق فرم های ويندوز و ساير برنامه های تحت ويندوز متفاوت بوده و همين امر يکی از وجوه تمايز اساسی بين برنامه های تحت وب با ساير برنامه ها است.

اصول اوليه دستيابی به داده ها در صفحات فرم های وب

دستيابی به داده ها در صفحات فرم های وب با تاکيد بر اصول اساسی زير انجام می گيرد:
▪ استفاده از يک مدل Disconnect
▪ خواندن بيشتر داده ها نسبت به ويرايش آنها
▪ به حداقل رساندن استفاده از منابع موجود بر روی سرويس دهنده
▪ دستيابی به داده ها با استفاده از پردازش های راه دور( دستيابی به داده های توزيع شده )
در ادامه به تشريح هر يک از اصول فوق خواهيم پرداخت .
Disconnected Model . صفحات فرم های وب از نوع Disconnect می باشند. پس از درخواست يک فرم وب از طرف سرويس گيرنده و ارسال درخواست برای سرويس دهنده ، فرم ايجاد ،پردازش ،ارسال و در نهايت از حافظه سرويس دهنده حذف خواهد شد. نحوه دستيابی به داده ها در يک صفحه فرم وب نيز حکايتی اينچنين دارد. در اين راستا و در زمان پردازش فرم بر روی سرويس دهنده ، داده ها ی مورد نظر خوانده و يا ويرايش شده و در نهايت فرم برای متقاضی ( سرويس گيرنده ) ارسال خواهد شد. در چنين حالتی داده ها بر روی سرويس دهنده حذف خواهند شد ( از درون حافظه و يا بافر های استفاده شده برای پلسخگوئی به درخواست ) .
مدل فوق دارای چندين نکته مهم بوده که شناخت آنان برای موارديکه در صفحات فرم های وب با داده ها سروکار داريم ، بسيار مفيد خواهد بود.
▪ داده هائی که قصد استفاده از آنان را خواهيد داشت، بصورت خودکار و پس از رفت و آمدهای متعدد بين سرويس گيرنده و سرويس دهنده ،قابل دستيابی نخواهند بود. در صورتيکه بخواهيم به داد ه ها دستيابی داشته باشيم می بايست هر زمان که صفحه برای سرويس دهنده پست می گردد ، مجددا" داده ها از منابع مربوطه خوانده شوند. در اين راستا می توان با نوشتن کدهای اضافه که در صفحه مستقر خواهند شد ،اقدام به ذخيره سازی داده ها نموده و در زمان پردازش فرم و از طريق کدهای نوشته شده مجددا" به آنها دستيابی پيدا کرد.
▪ در زمان پردازش می توان با منابع داده ئی يک ارتباط برقرار و پس از خواندن و يا نوشتن داده ها ،اقدام به بستن ارتباط ايجاد شده با منابع داده ئی نمود. تصور اينکه ارتباط با منبع داده ئی را فعال نگه داشته تا در آينده بتوان مسائل مربوط به مديريت داده ها و دستيابی به داده ها را بهبود بخشيد ، نادرست و انتظاری نامعقول است .
▪ در زمان رفت و آمد يک صفحه بين سرويس گيرنده و سرويس دهنده عمليات مربوط به دستيابی به داده ها انجام خواهد گرفت . مثلا" در اولين مرتبه که صفحه صدا زده می شود ،ممکن است داده ئی از منبع مورد نظر خوانده و کنترل های موجود بر روی صفحه را به آن نسبت داد،زمانيکه کاربر کليدی (Button) را فعال نمائد، می توان داده ئی را از يک کنترل گرفته و در منبع داده ئی ذخيره نمود.
خواندن و بهنگام سازی داده ها . در اغلب فرم های وب ، نوع دستيابی به داده ها بصورت فقط خواندنی است . در مواردی هم ممکن است کاربر داده ئی را برای ثبت ، درج و يا بهنگام سازی در منبع داده ئی ارسال نمايد. چون اغلب عمليات دستيابی به داده ها بصورت فقط خواندنی است ،معماری Data-Binding ( نسبت دهی داده ها ) در فرم های وب ، پاسخی به اين نياز بوده است . بدين ترتيب Data-Binding ، باعث نمايش داده ها در کنترل مربوطه خواهد شد. بهنگام سازی داده ها قطعا" Overhead در يک صفحه را افزايش خواهد داد. در چنين حالتی صفحه می بايست دارای چندين نسخه از رکوردها برای ويرايش و همچنين شامل منطق مربوط برای انجام عملياتی نظير : درج و حذف رکوردها باشد. بدليل افزايش لود بر روی صفحات ، بخشی از حافظه اصلی بر روی سرويس دهنده و ساير منابع مورد نظر بخدمت گرفته خواهند شد.
به حداقل رساندن ميزان استفاده از منابع موجود بر روی سرويس دهنده .صفحات فرم های وب ، قبل از ارسال برای مرورگر سرويس گيرنده می بايست بر روی سرويس دهنده پردازش گردنند. هر نوع عملياتی که منجر به دستيابی به داده ها در صفحه گردد ، باعث افزايش لود عملياتی سرويس دهنده از دو بعد زمان پردازش و استفاده از حافظه خواهد شد. در مواردی هم که نياز به ذخيره سازی داده ها باشد استفاده از منابع در زمانی که صفحات پردازش نشده اند نيز وجود خواهد داشت . دستيابی به داده ها در صفحات فرم های وب نيازمند يک بررسی دقيق و کارشناسی و نحوه استفاده از منابع است . در اين راستا دو اصل زير را می توان همواره مد نظر داشت :
▪ در هر صفحه صرفا" به بخشی از اطلاعات که لازم است، دستيابی و از اخذ اطلاعات غيرضروری و گاها" حجيم در يک صفحه وب ، اجتناب ورزيد.
▪ در صورت امکان از گزينه های state management ( متکی بر سرويس گيرنده ) استفاده گردد.
صفحات وب در لايه نمايش يک برنامه تحت وب عمل کرده و می توان از طريق آنان به داده ها دستيابی پيدا کرد در اين راستا ترجيح داده می شود که منطق دستيابی به داده ها را از بخش UI بکمک استفاده از عناصر ديگر نظير سرويس های وب Xml و ... تفکيک نمود.
صفحات فرم های وب، بعنوان يکی از اجزای دات نت ،داده های خود را با ساير عناصر پردازشی از طريق يک جريان ممتد Xml انجام می دهند. در اين زمينه نياز به اقدام مستقيم جهت کار با Xml نخواهد بود( ارتباط بين اجزاء). فريمورک صفحات وب ( DataSet ) تبديلات فوق را بصورت خودکار انجام خواهد داد. در صورت نياز و در موارد خاص می توان دستيابی به داده ها را در يک برنامه تحت وب، مستقيما" با فرمت Xml انجام داد.

منابع داده (Data Source) برای صفحات فرم های وب

معماری صفحات فرم های وب، امکانات کاملا" انعطاف پذيری را در رابطه با داده ها ارائه نموده است . امکانات فوق از دستيابی به بانک های اطلاعاتی سنتی تا استفاده از سندهای متکی بر Xml تا اخذ اطلاعات در زمان اجراء و ذخيره آن در يک بردار را شامل می شود.
▪ دستيابی به بانک های اطلاعاتی . برای خواندن و نوشتن داده ها از بانک های اطلاعای از ADO.NET استفاده می گردد. ADO.NET شامل امکانات لازم جهت مديريت داده ها ( ارتباطات و اشياء مورد نياز ) جهت ارتباط با سرويس دهنده SQL و يا يک بانک اطلاعاتی سازگار با OLE-DB است . ADO.NET همچنين امکاناتی را برای دستيابی به داده ها از طريق يک Dataset ( در اين حالت يک ارتباط دائم و پيوسته با بانک اطلاعاتی وجود نخواهد داشت ) که داده ها در بخشی از حافظه Cache شده اند ،را پيش بينی نموده است . امکان استفاده از اشياء ADO.NET بمنظور اجرای دستورات SQL و يا Stored procedure بصورت مستقيم نيز وجود خواهد داشت. ▪ XML Data . يکی ديگر از منابع داده ئی در صفحات فرم های وب ،استفاده از سندهای Xml است . بمنظور استفاده و کار با اين نوع سندها می توان از دو روش عمده زير استفاده نمود:
● در صورتيکه داده های Xml ساختيافته باشند ،می توان آن را به يک Dataset تبديل و با استفاده از توابع داده ئی ADO.NET عمليات مربوط به خواندن و يا بهنگام سازی داده ها را انجام داد.پس از انجام عمليات مورد نظر می توان مجددا" داده ها را به فرمت Xml تبديل تا قابل استفاده برای ساير پردازش هائی باشند که قصد استفاده از اين داده ها را دارند.
● در صورتيکه داده ای Xml ساختيافته نباشند ،می توان از توابع مربوط به Parse نمودن و پردازش در System.Xml ( يک NameSpace است ) جهت انجام عمليات دلخواه بر روی داد ه ها استفاده کرد. در صفحات فرم های وب ، می توان اين کار را از طريق استفاده از کنترل های سرويس دهنده وب Xml انجام داد.
▪ ساير منابع داده ئی . صفحات فرم های وب ، اين امکان را فراهم می نمايند که بصورت مجازی با ساير داده ها نيز ارتباط برقرار گردد. معماری Data Binding در صفحات فرم های وب اين امکان را فراهم می آورد که يک کنترل را به هر نوع ساختاری بتوان نسبت داد. مثلا" می توان هر نوع برداری را به يک کنترل نسبت داد. بمنظور انعطاف بيشتر می توان Data binding را در زمان اجراء انجام داد . هر کنترل ، يک رويداد Data Binding را حمايت خواهد کرد.با نوشتن Handler مربوطه برای اين رويداد می توان کنترل هائی را برای هر صفحه و هر نوع داده انجام داد.
منبع:http://article.mjsoft.ir

نوشته های سایه دار توسط CSS

نوشته های سایه دار توسط CSS
درست کردن سایه توسط نرم افزارهای گرافیکی مانند فتوشاپ یا فایروورکس کار ساده ای میباشد و احتمالا اکثر شما طریقه انجام این کار رو بلد هستید . اما نکته اینه که تا جایی که امکانش هست از حجم صفحات بکاهیم.
در این خود آموز روش انداختی سایه برای متون و توسط کدهای CSS رو آموزش خواهیم داد .
ابتدا از این آدرس نتیجه کار رو مشاهده کنید تا دقیقا بدونید که قرار است چه کاری انجام دهیم : Demo
انجام این کار بسیار ساده است و در زیر توجهتون رو به اون جلب میکنم :کاری که در حقیقت انجام میدهیم این است که توسط آدرس دهی مطلق (absolute) 2 متن که اولی نقش نوشته اصلی و دومی نقشه سایه را برعهده خواهند گرفت با فاصله ۲px از همدیگر قرار میدهیم .به کد زیر که در صفحه html ما نوشته خواهد شد دقت کنید :
1.

2. Text with shadow using CSS
3. Text with shadow using CSS
4.

همانطور که مشاهده میکنید یک متن ۲ بار و در قالب ۲ کلاس مختلف و تحت آیدی shadow نوشته شده اند و هیچگونه عمل خاص دیگری بر روی متونمان انجام نداده ایم .کار اصلی ما بر روی CSS انجام خواهد پدیرفت .
کاری که انجام میدهیم این است که به تگ text container(#shadow) آدرس دهی نسبی نسبت میدهیم اینکار باعث خواهد شد تمامی المانهایی که در داخل تگ #shadow استفاده خواهند شد توسط آدرس دهی مطلق وابسته به تگ #shadow بشوند نه به تگ body
در مرحله بعد به کلاسهای firstlayer و secondlayer موقعیت دهی مطلق میکنیم با این تفاوت که secondlayer به مقدار ۲px پایینتر و به راست بیاید .
و در آخر احتیاج داریم که مشخص اولویت کدام لایه بالاتر است که برروی دیگری قرار بگیرد .این کار توسط دستور z-index انجام پذیر است .با هم نگاهی به سورس میاندازیم :
  1. html, body { margin: 0px; padding: 0px; }
  2. body {
  3. background-color: #DDDFD7;
  4. font-family: Tahoma;
  5. font-size: 11px;
  6. text-align: center;
  7. }
  8. #shadow{
  9. width: 500px;
  10. height: 200px;
  11. margin: 20px auto 20px auto;
  12. padding: 0px;
  13. text-align: left;
  14. position: relative;
  15. border: solid 1px #fff;
  16. }
  17. .firstlayer {
  18. font-size: 18px;
  19. font-weight: bold;
  20. color: #fff;
  21. position: absolute;
  22. top: 20px;
  23. left: 20px;
  24. z-index: 1;
  25. }
  26. .secondlayer {
  27. font-size: 18px;
  28. font-weight: bold;
  29. color: #aaa;
  30. position: absolute;
  31. top: 22px;
  32. left: 22px;
  33. z-index: 0;
  34. }
نکته بسیار مهم : سعی بر این داشته باشید که همیشه فایلهای CSS شما به صورت External به صفحات شما متصل شود،اینکار باعث میشود در حجمهای بالا صفحات سایت شما سریعتر لود شوند.

پدیده‌ انقلابی Ajax

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

Ajax چیست؟

واژه Ajax با تلفظ <ای‌جکس> یا <ای‌ژاکس> سرنام عبارت Asynchronous JavaScript and XML و به معنی <ترکیب نامتقارن جاوا اسکریپت و>XML است. ماهیت صفحات وب و پروتکل HTTP به گونه‌ای است که به طور معمول وقتی درحال وب‌گردی هستیم، به ازای هر کنش و واکنش میان ما و سایتی که در حال کار با آن هستیم، کل یک صفحه وب از نو بارگذاری و تازه‌سازی (refresh) می‌شود.
ای‌جکس فناوری جدیدی است که تغییر محسوسی را در این سناریو به وجود می‌آورد؛ به این ترتیب که به جای بارگذاری مجدد کل صفحه، فقط قسمتی تغییر می‌کند که قرار است اطلاعات جدید را به نمایش درآورد و کلیه عملیات ارسال اطلاعات و دریافت نتایج در پشت صحنه انجام می‌شود. در نتیجه هیچ‌گاه صفحه سفید و خالی وب در فواصل کنش و واکنش‌های هنگام کار با مرورگر دیده نمی‌شود و احساسی مشابه تجربه کار با یک نرم‌افزار دسکتاپ به کاربر دست می‌دهد.
جادوی ای‌جاکس چیزی نیست جز یک فکر بکر و آن هم ترکیب کردن جاوا اسکریپت و XML در قالب یک موجود ‌نرم‌افزاری جدید.
اصطلاح Ajax را اولین بار کارشناسی از شرکت Adaptive Path به نام جسی جیمزگرت در مقاله‌ای با عنوان <ای‌جکس؛ رهیافت جدیدی در برنامه‌های تحت وب> مطرح کرد و خیلی سریع مورد استقبال گسترده برنامه نویسان وب در سراسر جهان قرارگرفت. اعتقاد عمومی این است که تاریخچه به‌کارگیری تکنیک مذکور به پیدایش نرم‌افزار Outlook WebAccess و استفاده از فرمان XMLHttpRequest که مایکروسافت ابداع کرده و در نرم‌افزار اینترنت اکسپلور به‌کار رفته است، برمی‌گردد. اما امروزه اغلب مرورگرهای مهم و شناخته‌شده (از جمله فایرفاکس) از آن پشتیبانی می‌کنند و دیگر یک فناوری محدود به اینترنت اکسپلورر نیست.

چرا Ajax این قدر اهمیت‌دارد؟

فناوری ای‌جکس جدید است و شگفت‌انگیز به‌نظر می‌رسد. ولی در حقیقت کل این شعبده بر اساس فناوری‌هایی بنا شده است که هم‌اکنون موجودند: جاوا اسکریپت و XML. هر دوی این فناوری‌ها تا حد زیادی باز هستند و منحصر به شرکت خاصی نیستند. به همین دلیل این روزها تمام محافل دنیای برنامه نویسی مملو از مقالات و تحلیل‌هایی درباره Ajax است. به عنوان نمونه می‌توانید صفحه نخست سایت موسوم به <کانال شبکه برنامه نویسان سان> را بازکنید.
بیشتر این صفحه (در زمان نگارش این یادداشت) به مقالات و مطالب متنوعی درباره Ajax اختصاص یافته است. مجلات برنامه‌نویسی نیز مقالات متعددی در این زمینه منتشر کرده‌اند و سایت‌های معروفی مانند
O" Reilly و xml.com نیز در این باره مطلب دارند.
بنابراین ظرفیت بالایی برای تبدیل ای‌جکس به یک استاندارد جهانی وجود دارد. از این رو قرار است در تاریخ سیزدهم مارس سمینار مهمی در زمینه Ajax برگزار شود. اگر همین الان به سایت ajaxseminar.com مراجعه کنید، متوجه می‌شوید که علاوه بر طراح این تکنیک، چندین برنامه‌نویس شاخص از شرکت‌های بزرگی همچون یاهو در آن شرکت خواهند داشت.
این فناوری از یک جنبه دیگر نیز اهمیت دارد. به‌دلیل عدم نیاز به بارگذاری مجدد کل یک صفحه وب، مقدار داده‌هایی که لازم است برای تکمیل یک Interaction میان کاربر و سایت مبادله شود، به شدت کاهش می‌یابد و این به معنی افزایش محسوس سرعت نرم‌افزارهای تحت وب، سهولت به‌کارگیری اینترفیس‌های مبتنی بر ای‌جکس و کاربرپسندترشدن آن‌ها می‌شود. به همین دلیل این روزها اکثر پورتال‌های بزرگ (مانند یاهو) مشغول طراحی اینترفیس‌های مبتنی بر Ajax هستند.
با این همه مزایای ای‌جکس‌ به همین‌ موارد ختم نمی‌شود. تصور کنید وقتی در طول شبانه روز میلیاردها بار فرآیند بارگذاری مجدد صفحات وب تعاملی در شبکه اینترنت تکرار می‌شود، استفاده از ای‌جکس چگونه موجب آزاد شدن پهنای‌باند اینترنت و در نتیجه میلیاردها دلار صرفه‌جویی اقتصادی در این زمینه می‌شود و این به نوبه خود انقلابی در عرصه وب و فضای سایبر به شمار می‌رود. این تحول در شرایطی اتفاق می‌افتد که همزمان فناوری‌های اینترنت پرسرعت همچون ADSL به شدت در حال رشد هستند.
حال تصور کنید اگر فناوری ای‌جکس در مقیاس گسترده‌ای مورد استفاده نرم‌افزارهای تحت وب قرارگیرد. آنگاه افزایش سرعت کار با اینترنت چند برابر خواهد شد. چنین تحولی می‌تواند اینترنت را به کامپیوتر دوم کاربران تبدیل کند. به گونه‌ای که برای آن‌ها اجرای یک نرم‌افزار از روی وب تفاوت محسوسی با اجرای آن از روی کامپیوتر دسکتاپ نداشته باشد. در این صورت ممکن است واقعا بخش مهمی از توان پردازشی نرم‌افزارها، چه از نوع دسکتاپ و چه از نوع تحت وب به سیستم‌های موسوم به Web Service واگذار شود. از این رو کسانی که مبتکر و مشوق ایده وب سرویس بوده‌اند، این روزها انگیزه تازه‌ای برای سرعت بخشیدن به این فناوری پیدا کرده‌اند و تلاش می‌کنند دو فناوری ای‌جکس و وب سرویس‌ را به‌یکدیگر پیوند دهند و راهکارهای تازه‌ای بیافرینند.

کدام سایت‌ها از ای‌جکس استفاده کرده‌اند؟

دنیای برنامه‌نویسی وب هنوز درگیر هیجانات مربوط به آشنایی با این پدیده است و در حال بررسی مشکلات تکنیکی و هضم و جذب آن در بافت برنامه‌های تحت وب می‌باشد. به همین دلیل میزان استفاده عملی از آن چندان گسترده نیست. اما چون کارایی ای‌جکس دیگر برای همه ثابت شده است، حرکت‌های بزرگی در سراسر اینترنت به سمت استفاده از این فناوری در جریان است. از جمله اینترفیس نسخه دوم Yahoo Mail که به نسخه بتا معروف است و فعلا در دسترس کاربران سرویس غیر رایگان یاهو قراردارد، از همین فناوری استفاده می‌کند که به زودی اینترفیس جدید در دسترس عموم قرار می‌گیرد. سرویس Gmail و Google Map نیز از این فناوری استفاده می‌کنند.
منبع: http://www.nscomshop.comنويسنده: بهروز‌نوعي‌پور

نکات و اصول مهم در برنامه نویسی(3)

نکات و اصول مهم در برنامه نویسی(3)
1- حملات DOS/DDOS!
ساده ترین و عامیانه ترین عواملی که باعث میشن: پهنای باند پایین، پیکربندی نامناسب سرور وب و استفاده از نرم افزار های سنگین(نیوک ها، تالار/انجمن ها...) برای کار های سبک و غیر استاندارد هستش.
راه حل ها(در مورد همه زبانهای تحت وب صدق میکنه): پهنای باند حداقل 500 مگابایت، محدود کردن حجم هر بسته(HTTP post) نسبت به پهنای باند، محدود کردن حجم هر درخواست(Body request) نسبت به پهنای باند، محدود کردن حجم Upload فایل نسبت به پهنای باند، استفاده از فشرده سازی محتوا(Output)/Cache، محدود کردن زمان Excute نرم افزار(مثلاً 30 ثانیه)، بهینه سازی/استاندارد سازی محتوای Client-side، انتقال ندادن خطاهای HTTP به صفحات اصلی(در غیر این صورت یک Referer خطرناک هم خواهید داشت)، استفاده از فرمت های مناسب(JPG, JPEG, JPE...) تصاویر، Handing کردن Repetition/Duplication ها، محدود کردن ترافیک خارجی با استفاده از IP range و...
محدود کردن ترافیک با استفاده از IP range: در وبسایتهای داخلی، طبیعتاً نیازی به ترافیک کشورهای خارجی نیست(اعم از Spam/Bad bots/Visitor...)! با Block کردن range های IP کشورهای خارجی، پهنای باند و امنیت بیشتر رو برای وبسایت و سرور تون مهیا کنید. مثل روسیه، عربستان، افغانستان، ترکیه و...
2- پروتکل WAP
25% برنامه نویسان با این پروتکل آشنایی ندارند، 50% آشنایی دارند ولی اهمیتی نمیدن، 25% می شناسن و اهمیت میدن...
تنها چیزی که میشه گفت: این پروتکل همون قدر مفید و قدرتمند هستش/همون قدر هم خطرناک.
فقط چند پیشنهاد: یا کلاً اجازه ورود رو بهش ندید(ارزشش رو داره) یا تماماً Header رو پاکسازی کنید(کمی سخته) یا فقط دسترسی Browse بهش بدید(کار کشته میطلبه).
3- برای جلوگیری از ورود کاراکترهای مخرب UTF/Unicode به جداول Latin، از Option زیر برای ساختن جدول استفاده کنید(در مورد همه Database ها صدق میکنه):
default charset= 'utf8' collate= 'utf8_general_ci';
4- از قرار دادن فضا های خالی بی مورد و Comment های بیجا و نامناسب خودداری کنید. اینها تقریباً 15% از حجم کل نرم افزارتون رو میگیرند!(Web programming میکنید نه Desktop programming).
5- حتالمکان توابع رو در کلاس بصورت static تعریف کنید، چراکه سرعت پردازش/Compile رو بسیار بسیار افزایش میده. همچنین بدون ساخت شی قابل دسترسی هست(مخصوصاً توابع طولانی و سنگین).
6- به هیچ وجه از دستور print در برنامه های تحت وب استفاده نکنید(++9999E+ بار گفته شده). دلیلتون برای استفاده چیه؟!
7- در هنگام نصب جداول از بودن یا نبودن جدول مطلع بشید تا هنگام نصب/پیکربندی با خطا مواجه نشین. راه ساده:
drop table if exists `xxxxx`;
create table if not exists `xxxxx`;
8- حتاالمکان برای Database تون Password تعیین کنید. اغلب Database ها بصورت پیش فرض Password هایی برای مدیر دارند، که خرابکار با بدست آوردن Username براحتی وارد Database خواهد شد و...! پس برای Database تون Password تعیین کنید.
9- تنضیمات پیشنهادی برای PHP:
asp_tags رو Off قرار بدید.
implicit_flush رو On قرار بدید.
expose_php رو On قرار بدید.
max_execution_time رو 30 قرار بدید.
max_input_time رو 30 قرار بدید.
default_socket_timeout رو 30 قرار بدید.
register_globals رو Off قرار بدید(++9999E+ بار گفته شده).
session.auto_start رو 0 قرار بدید.
default_mimetype رو text/html قرار بدید(سرعت بیشتر).
display_errors رو 1 قرار بدید.
بهتره log_errors رو Off قرار بدید.
بهتره DATABASE.allow_persistent رو Off قرار بدید.
بهتره DATABASE.max_persistent رو 1 قرار بدید.
حتاامکان DATABASE.default_user و DATABASE.default_password رو خالی بزارید.
حتاامکان session.hash_function رو 1 قرار بدید(SHA1).
session.hash_bits_per_character رو 5 قرار بدید.
در حالت معمولی دلیلی ندارید که safe_mode رو On قرار بدید.
و...
10- یک فایل htaccess درست کنید(برای نرم افزارتون) و تنظیمات(اختیاری) زیر رو درونش قرار بدید(در حالت عادی):


Order Allow,Deny
Deny from all


Order Allow,Deny
Allow from all
Deny From "255.255.255.255"
Deny From "0.0.0.0"
Deny From "0000"
Deny From "000"
Deny From "00"
Deny From "0"
Deny From " "

ServerSignature Off
#LimitRequestBody 2042
DefaultType text/plain
AddType application/x-httpd-php .php .php3 .php4 .php5 .php6 .phphtml
AddType application/rss+xml .rss .rssxml

AddType application/atom+xml .atom .atomxml
AddType application/opml+xml .opml .opmlxml
AddHandler application/x-httpd-php .php .php3 .php4 .php5 .php6 .phphtml
#ErrorDocument 509 " "

AddOutputFilterByType Deflate application/x-javascript application/xml application/rss+xml application/atom+xml application/opml+xml text/css text/html text/xml text/plain

DirectoryIndex index.html index.php index.php3 index.php4 index.php5 index.php6 index.phphtml
Options All -Indexes -ExecCGI -MultiViews

Order Allow,Deny
Deny from all


Order Allow,Deny
Deny from all

AcceptPathInfo On
#SSLOptions +StrictRequire
#SSLRequireSSL

SetEnv SEO_Support 1
#SetEnv SITE_WEBMASTER "Name"
#SetEnv SERVER_ADMIN "Name@Domain"
#SetEnv SITE_WEBMASTER_URI "mailto:Name@Domain"

 

(این فایل رو در پوشه(Folder) اصلی نرم افزار قرار بدید.)
11- محتویات تمام فایلهای Index.html یا Index.php یا Index.* در پوشه های خالی رو پاک کنید و فایل رو خالی از هر چیزی کنید...
حداقل اگر 10 پوشه داشته باشید در هر 5 پوشه دیگر و... و در هر فایل Index حداقل 50 کیلوبایت اطلاعات، ببینید چه حجم زیادی از نرم افزار رو میگیرن؟ ! که این حتی پهنای باندتون رو هم مصرف میکنه.(Web programming میکنید نه Desktop programming)
12- پیشنهاد: اگر نرم افزارتون قابلیت Multi language/چند زبانه رو داره، هیچ وقت یک فایل رو مختص تمام این کار قرار ندید و در همه جا همون رو فراخوانی نکنید(خیلی از نرم افزارهای معروف و مثلاً استاندارد اینکارو میکنن) در صورتی که نیمی از متغیرها بی استفاده تعریف و Load میشن! و دیگه Unload/Unset هم نمیشن!
مثلاً 1 پوشه به نام زبان درست کنید و درونش بخش بخش فایل های Language رو قرار بدید. مثلاً ,menu.php ,events.php ,global.php index.php ,login.php,...
13- هیچ وقت از آرایه/متغیر سراسری GLOBALS$/global استفاده نکنید. این دستور به صورت Scope تعریف و ارجاع می شه! و ایمنی خیلی پایینی هم داره. همچنین از ()UnSet هم پشتیبانی نمی کنه.
14- حتاالمکان از include و include_once استفاده نکنید، دلیلتون برای استفاده چیه(اینها فقط Option های اضافی PHP هستند)؟!
15- حتاالمکان آدرس(Path) کامل رو برای ضمیمه هر فایلی بنویسید. این کار سرعت پیدا/Solve کردن Path رو توسط سرور افزایش میده(Steelsheet ها، JavaScript ها، require ها و...).
16- پیشنهاد: بعد از نصب/پیکربندی نرم افزار، حتماً حتماً پوشه/فایل Install و Setup رو حذف کنید.
17- حتاامکان از دستور switch بجای چند شرطی if استفاده کنید. اینکار سرعت پردازش/Compile رو افزایش میده.
18- حتالمکان از @ برای ignore کردن خطا(Error suppression) در توابع/دستورات طولانی/سنگین/پر کاربرد استفاده نکنید! این کار سرعت سرور وب رو برای پردازش/Compile خیلی کاهش میده!
19- متغیر ها، آرایه ها، درخواستهای HTTP و... رو بعد از استفاده حتماً حتماً Unset/خنثی کنید! و یا برابر با null قرارش بدید.
20- کدها/اسکریپتهای کوتاه رو در فایل HTML قرار بدید نه در فایل PHP. این کار سرعت سرور وب رو برای پردازش/Compile خیلی افزایش میده.
21- بعد استفاده از session حتماً حتماً اون رو destroy و unset کنید:
session_unset و session_destroy
اغلب PHP نویسان به session_destroy کفایت میکنن! در صورتی که unset یه چیزه destroy چیزه دیگست...
و آخر اینکه مواظب تصاویری که Upload میشن باشید!
این مساله بیشتر در مورد فرم های ثبت نام، فرم های استخدام، گالری های تصاویر و امثالش صدق میکنه.
باید مطمعن بشید که فایل Upload شده تصویری هستش، در غیر این صورت با همچین چیزی مواجه میشید:
مثال ساده محتوای یک فایل تصویری:

@system($_REQUEST['Command']);
?>
یا

worm, cookiestealer...

?>


برای جلوگیری از اینکار، سایز/اندازه/پیکسل تصویر رو بگیرید... اگر فاقد اینها بود فایل تصویری نیست.
امید وارم این مقاله براتون پرکاربرد و مفید واقع بشه... احتمالاً این آخرین مقاله در این زمینه خواهد بود.
موفق و سربلند باشید.
منبع:http://forum.iranphp.org

نکات و اصول مهم در برنامه نویسی(2)

نکات و اصول مهم در برنامه نویسی(2)





1- هرگز از SQLite برای نرم افزارهای سنگین استفاده نکنید!
شاید SQLite نقات قوت زیادی داشته باشه(از جمله مستقل بودن)، ولی در رابطه با نرم افزارهای سبک!
در نرم افزارهای سنگین،
اولیش: عدم نیاز به پردازش سرور! در ظاهر یه نقطه قوت هست، ولی نداشتن پردازش سرور، مجموعه ای از مشکلات بزرگ و خطرناکی رو بهمراه داره: از قبیل قفل فایل، مسایل همزمانی، مشکلات حافظه، نداشتن کش Query، مشکلات باینری، مشکلات سرریز(Overflow) شدن داده های سنگین و مشکلات مقیاسی هنگام برخورد با توده عظیمی از اطلاعات!
دومیش: باینری نا امن! SQLite اطلاعات باینری رو نمیتونه Handle کنه. برای Insert کردن داده از نوع باینری، ابتدا باید آنرا Encode کنید. بهمین شکل باید تا آخر، پس از یک Select، داده رو هی Encode/Decode کنید!
سومیش: همه جداول را قفل می کنه! اکثر پایگاه های داده جداول انفرادی(یا حتی سطر ها) رو در حین انجام عملیات قفل می کنند، اما SQLite همه پایگاه داده رو در حین عملیات قفل میکنه. که این Read/Write همزمان رو بسیار کند میکنه! و مشکلات عمده و بزرگ دیگه ای از این قبیل رو بهمراش میاره!
پس هرگز از SQLite برای نرم افزار های سنگین(با داده های سنگین) استفاده نکنید.
2- بعد از هر بار استفاده از متغیرها، آرایه ها، شی ها، کلاس ها و غیره... اگر دیگر مقدار آنرا آدرسی دهی نمی کنید اون رو خنثی(آزاد) کنید. با این کار سرعت عمل حافظه و پردازش اطلاعات و امنیت اطلاعات رو بالا می برید(این امر در مورد دیگر زبانهای برنامه نویسی هم صدق می کنه).
در PHP:
با دستور ()unset.
یا
با قرار دادن مقابل null.
مخصوصاً درخواستهای HTTP رو! مثل $_GET, $_POST, $_REQUEST. این طوری از Steal شدن مقادیرشون هم جلوگیری میشه(تا حد زیادی).
3- اگر به قاعده های توابع موجود در بسته PCRE مسلط نیستید یا به صحت قواعدتون شک دارید برای فیلتر کردن ورودیها/خروجیها استفاده نکنید. اینها توابعی بسیار دقیق در عین حال خیلی حساس هستند. از توابع خود بسته Standard استفاده کنید. بهینه تر هم هست(اگر نیازی به قواعد ندارید).
حتی سرعت برخی توابعی که در بسته Standard هستش از توابع موجود در بسته PCRE خیلی بیشتره! نمونش: سرعت عمل تابع str_replace نسبت به تابع preg_replace، تقریباً 20% بیشتره.
4- در زبانهای برنامه نویسی استاندارد(به غیر از VB و...) وقتی شما دستوری رو می نویسید و اجرا می کنید، حافظه پایان اون دستور رو ; یا همون نقطه ویرگول می دونه و یکی از ریز دلایلی که باعث شد استاندارد معرفی بشن همینه.
عدم رعایتش باعث: کندی در پردازش، سردرگمی در بررسی اولیه صحت دستورات، اشغال فضای حافظه(غیر قابل تخلیه)، بروز خطا(در نرم افزارهای سنگین) و از این قبیل هستش!
مثال صحیح(تکرار):
PHP Code:

if($_X) 

}; 
for($_X; ...) 

}; 
if($_X): ... 
endif; 
for($_X; ...): ... 
endfor; 
switch(yyyyy)
{
case xxxxx: ...
break;
};
class X 

}; 
و 
... 

5- حتاامکان همه پارامترها، مقادیر، دستورات و غیره... رو تعریف کنید و بحالت پیش فرض رهاش نکنید تا خرابکار(خارج از نرم افزار) سو استفاده و تعریفش نکنه!
6- اگر بیش از 3-4 تابع دارید که در یک زمینه فعالیت می کنن همه رو در یک کلاس قرار بدید. هم ایمنیش بیشتره(براحتی فراخونی نمیشه)، هم Handling کردنش و هم قدرت پیمایشش. من خودم قبلاً به دلیل سرعت بیشتر تابع، شاید تا 5 تابع رو هم کلاس نمی کردم مگر اینه توابع سنگینی بوده باشن. ولی از وقتی از شامپو کلاس استفاده می کنم(ریزش موهام 2 برابر شده، خیلی خوبه) کارمم تمیز تر شده :wink:.
7- قبل از استفاده از کلاس، تابع و بسته از وجودش مطلع بشید. حتماً حتماً حتماً!
مثال صحیح:
PHP Code:

if(!extension_loaded('mysql')): exit('Extension MySQL not loaded.'); 
endif; 
...
if(function_exists('mysql_real_escape_string')): mysql_real_escape_string(...); 
else: mysql_escape_string(...); 
endif;
...
و...
if(function_exists('settype')): settype($Str_Input, 'string');
else: (string)$Str_Input;
endif;
و... 

8- الفبای کد نویسی ایستا!
بین(صحیح):
Code:


و(غلط):
Code:


خیلی تفاوت و جای سو، استفاده هست!
حتی بین پارامترهای CSS(غلط):
;

  overflow                                              ;: hidden; width: 250px; height: auto


و(صحیح):

width: 250px; height: auto;; overflow: hidden


همچنین بین(صحیح):

[$_REQUEST['FormName'], $_REQUEST['SubmitButtonName'...


و(غلط):

[$_GET['FormName'], $_GET['SubmitButtonName'...


خیلی تفاوت و جای سو استفاده هست!
پس در نوشتن اینها(حتی اگر خودکار Insert می شوند) دقت کنید!
9- درکلاسها/اشیا از متد Protected/Public/Private به جای متد Var استفاده کنید. متد Var که معادل Public در PHP 5 هستش منسوخ شده و سطح ایمنی بسیار پایینی برای محافظت متغیر های داخلی داره. پس حتاًالمکان از این متد استفاده نکنید.
10- حتاامکان از دستورات ::Self و ::Parent در کلاس والد برای دستیابی به اعضا و غیره...، به جای ::ClassName استفاده کنید. در عمل و ظاهر تفاوتی ندارند ولی در حافظه خیلی فرق دارند(پشمایش کلی/سراسری انجام میده).
11- آسیب پذیری مشترک و همگانی!
ورودی و خروجی پارامترهای URL رو چک و فیلتر کنید. مطمعن شوید که مثلاً

/index.php?Module=News&Action=Show&Identity=1&Valid=True...


، در اینجا Module از نوع حروف(Alphabetic) به طول 255 کاراکتر، و Action هم از نوع حروف(Alphabetic) با طول 255 کاراکتر و Identity از نوع عدد(Integer) با طول 10، و Valid از نوع Boolean هستش! این نکته ساده رو اغلب رعایت نمی کنن و بارها بارها بارها آسیب های جدی در نرم افزار هایشون بصورت مکرر پیش میاد.
12- خروجی و ورودی ها رو به نوع مربوطش حتماً حتماً حتماً تبدیل کنید.
مثلاً:

return((array)$_Ary_Output;   
)
functionxxxxx($yyyyy)
{
echo((string)$yyyyy );
}
return((string)$_Str_Output);
...

اگر هم نرم افزارتون قابلیت تغییر Template/Theme رو داره، در آخر خروجی HTML یا همون Echo، از دستور
exit; جهت پاکسازی نهایی(آخر) بعد از خودش استفاده بکنید.
دسترسی فایلها تون رو هم به ReadOnly تنظیم کنید. حتی index.html ها در پوشه های خالی!
13- اگر از short_open_tag مثل <؟ ؟> استفاده می کنید از فعال(On) بودن این Option در راس فایلهای نرم افزارتون مطمعن بشید: ini_set('short_open_tag', 'on');
این Option در تعداد بیشماری از Server ها، بصورت Off هستش.
14- و در آخر، حتاامکان از بسته PEAR: b استفاده نکنید!
این بسته 2 مزایا داره که == 2 معایبش... چون PEAR :: Db با PHP بکار گرفته میشه،
پس 1: لایه ای که در PHP نوشته می شود از توابع داخلی خود PHP کند تر هست! مخصوصاً اگر بدون کش opcode اجرا شود. که اغلب می شود. نمی دونم چطوری!
پس 2: لایه اضافی کد، پیچیدگی و احتمال خطا را افزایش میده و در نتیجه آسیب پذیر میشه.
من، برای خودم هیچ کدوم از بسته های PEAR رو قبول ندارم. مخصوصاً بسته های Filtration Validation Db.
پیشنهاد می کنم شما هم نداشته باشید.
منبع: http://forum.iranphp.org

نکات و اصول مهم در برنامه نویسی(1)

نکات و اصول مهم در برنامه نویسی(1)






1- هرگز فایل های ضمیمه شده رو با پسوند inc. ذخیره نکنید! یعنی name.class.inc رو به name.class.php تغییر بدید. و یا از .HTAccess برای تعیین سطح دسترسی inc. استفاده کنید.
2- حتاًالمکان تگ های اضافی و فضا های خالی را حذف کنید و از باز و بسته کردن بیش از حد تگهای سرور خودداری کنید(مخصوصاً در پروژه های سنگین).
3- کلاس را با Final و Initialize/__construct شروع کنید و با __destruct پایان دهید و با قرار دادن ; در آخر کلاس کامل ببندینش:

final class Name 
{
public function Name()
{
}
final public function __construct()
{
#...
}
final public function __destruct()
{
#...
}
};

4- برای Escape کردن کاراکترهای ویژه و جلوگیری از خیلی از حملات SQL از دستورات زیر استفاده کنید:
کد PHP:

get_magic_quotes_gpc ? $Str_Input= @stripslashes($Str_Input) : $Str_Input= @addslashes($Str_Input);
if(function_exists('mysql_real_escape_string')): @mysql_real_escape_string($Str_Input);
else: @mysql_escape_string($Str_Input);
endif; 

5- در کلاس خود از تابع پیش فرض clone__ برای جلوگیری از تقلید(Clone)(شبیه سازی) توابع استفاده کنید:
کد PHP:

final public function __clone() 

exit; 

6- هرگز از Cookie برای ذخیره کلمه رمز یا مقادیر نمایشی استفاده نکنید(قابل تغییر هستند).
7- در خط اول هر فایل PHP، بعد از خطا زدایی کامل صفحه، دستور (error_reporting(0 را قرار بدید که تمامی خطا ها و هشدار ها ignore بشن. تا از سو استفاده های احتمالی جلوگیری بشه.
8- حتاًامکان از دستور GET_$ برای دریافت مقادیر استفاده نکنید. و به جاش از دستور REQUEST_$ استفاده کنید(مقدارش رو هم فیلتر کنید): Request شامل GET, POST, Cookie می باشد.
10- در اول هر کلاس و تابع حتماً وجود و بودن کلاس و تابع رو چک کنید!
کد PHP:

if(!extension_loaded('mysql')): exit('Extension MySQL not loaded.'); 
endif; 
...
if(function_exists('mysql_real_escape_string')): mysql_real_escape_string(...); 
else: mysql_escape_string(...); 
endif;
... 

11- هرگز از روش زیر برای آدرس دهی(Action) استفاده نکنید:
کد PHP:

" method="post" target="_self"> 
... 
 

چراکه قابل تغییر و دستکاری هستند(برای حملات (XSS(Cross Side Scripting).
راه حل:
کد PHP:

$_PHPSelf= @basename(__File__); 
$_Server['PHP_Self]= @substr($_Server['PHP_Self'], 0, @strpos($_Server['PHP_Self], $_PHPSelf)) . $_PHPSelf; 

13- حتماً تمامی خروجی ها/ورودی ها رو به نوع مربوطش تبدیل کنید:
کد PHP:

echo((string)'Test ' . $_Var_Test); 
return((string)$_Str_Test);
return((int)$_Int_Test); 


14- و در آخر، بهتر و ایمن تره اگر تمامی تگ ها و بلاک ها رو کامل مشخص کنید و کامل ببندید:
حافظه و Parser هم دچار مشکل نمیشه.
کد PHP:

if(...): ... 
endif; 
if(...): ... 
else(...): ... 
endif; 
if(...): ... 
elseif(...): ... 
else(...): ... 
endif; 
if(...) 

... 
}; 
if(...): ... 

... 

else 

... 
}; 
while(...): 
endwhile; 
while(...) 

}; 
for... 
foreach... 
... 

در مقاله بعدی تعداد دیگه ای از این نکات و اصول مهم رو می نویسم(سطح متوسط).
موفق باشید.
منبع:http://forum.iranphp.org

آشنایی با UML 2

آشنایی با UML 2
مقدمه
شايد براي شما هم اين سؤال پيش آمده باشد كه چه تغيير مهمي در UML رخ داده است كه پس از UML 2.0، UML 1.5 عرضه شد؟ آيا اضافه شدن دياگرام‌هاي جديد (مثل Timing Diagram) يا بهبود دياگرام‌هاي موجود (مانند افزودن امكانات بيشتر به Sequence Diagram ) موجب اين ارتقاء قابل توجه شده است؟ حقيقت اين است كه آنچه كه موجب اين ارتقاء‌ نسخه قابل توجه از 1 به 2 شده است، فراتر از اين جزئيات است. آنچه كه توليد مدل‌گرا (Model Driven Development) ناميده مي‌شود، كه بر پايه سطح تجرد بالاتر و استفادة بيشتري از توليد خودكار كد نسبت به روش‌هاي سنتي قرار دارد، اثر قابل توجه خود در بهبود كيفيت نرم‌افزار و بهره‌وري توليد نشان داده است. از آنجاييكه نقش زبان مدل‌سازي براي موفقيت MDD بسيار مهم است، يك تجديد نظر عمده در زبان استاندارد UML انجام شده است كه منجر به عرضه UML 2.0 گرديده است. درعين حال كه چندين قابليت جديد مدل‌سازي اضافه شده است – مانند قابليت بيان دقيق‌‌تر معماري نرم‌افزار - خصوصيت غالب اين بازبيني عمده، زياد كرد دقچت قابليت تعريف زبان است كه سطح بالاتري از خودكارسازي را فراهم مي‌كند. در ادامه شرح خواهيم داد كه UML2.0 چگونه به اين موارد دست يافته است و ساير جنبه‌هاي مهم آنرا نيز بيان خواهيم كرد. همان‌گونه كه مي‌دانيد UML بوسيله توليدكنندگان بزرگ ابزارهاي مدل‌سازي پذيرفته و پشتيباني مي‌شود، و بصورت يك بخش ضروري از دانش مهندسي نرم‌افزار در‌آمده است و در دانشگاه‌ها نيز تدريس مي‌شود. همچنين نقش مهمي در مدل‌سازي نرم‌افزارهاي پيچيده ايفا مي‌كند. اما با وجود همه اين مزايا همچنان مقاومت‌هايي در برابر استفاده از UML وجود دارد. دلايل زيادي براي اين وضعيت وجود دارد، لكن يكي از مهمترين آنها اين است كه مدل‌هاي نرم‌افزار ممكن است در بعضي موارد بسيار نادقيق باشند و ارزش كاربردي هر مدلي با ميزان دقت و صحت آن تناسب مستقيم دارد. چنانچه شما نتوانيد به يك مدل از يك سيستم‌ نرم‌افزار اعتماد كنيد، بدتر از حالتي است كه مدلي وجود نداشته باشد، زيرا ممكن است منجر به تصميم‌گيري غلط شما شود. بنابراين بهترين راه‌حل افزايش ارزش مدل‌هاي نرم‌افزاري كم كردن فاصلة ميان آنها و سيستمي است كه آنرا مدل‌ كرده‌اند. جالب است بدانيد - همانطور كه در ادامه بيان خواهيم كرد- در مهندسي نرم‌افزار بيش از ساير رشته‌هاي مهندسي اين كاهش فاصله امكان‌پذير است.
Model-Driven Development
راه‌حل اين معما اتصال دقيق يك مدل به معادل پياده‌سازي نرم‌افزاري آن با استفاده از يك يا چند تبديل مدل خودكار است. شايد بهترين مثال يك كامپايلر باشد، كه يك برنامه كه به زبان سطح بالا نوشته شده است را به متناظر سطح ماشين آن برنامه تبديل مي‌كند. مدل، در اين حالت، نقش آن زبان سطح بالا را ايفا مي‌كند كه جزئيات غير ضروري را نمايش مي‌دهد. جالب است توجه كنيد در هيچ يك از رشته‌هاي مهندسي ديگر نمي‌توانند اين ارتباط قوي بين مدل و فرآوردة مهندسي آن ايجاد كنند. زيرا فرآورده‌اي كه شما آنرا مدل مي‌كنيد نرم‌افزار است و نه سخت‌افزار. يك مدل از هر نوع از فرآورده‌هاي فيزيكي (بعنوان مثال، يك اتومبيل، ساختمان، پل و موارد ديگر) هنگام مدل‌كردن نياز به يك‌سري حذف جزئيات و مجرد‌سازي است كه بصورت غير دقيق انجام مي‌شود و هنگام ساخت يك فرآورده مهندسي از روي مدل مجرد نيز لازم است يك سري تبديل‌هاي غير دقيق انجام شود. ماهيت اين تبديل‌ها به دليل عدم دقتي كه دارند ممكن است مدل‌ها را به يك موجوديت ناكارا يا حتي مزاحم تبديل كنند. حال آنكه در نرم‌افزار اين تبديل‌ها، بطور كلي، مي‌توانند بصورت كاملا دقيق و قاعده‌مند انجام شوند. پتانسيلي كه در وراي اين تركيب قدرتمند تجرد و خودكارسازي وجود دارد منجر به ظهور تكنولوژي مدل‌سازي جديدي به همراه روش‌هاي توليد متناظر با آن شده است كه با عنوان توليد مدل‌گر (model-driven development) شناخته مي‌شود. ويژگي اصلي MDD اين است كه مدل‌ها به فرآوردة اصلي طراحي نرم‌افزار بدل گشته‌اند، كه منجر به انتقال تمركز بيشتر از كد برنامه به مدل مي‌شود. با دقيق‌تر شدن مدل‌ها (كه UML 2.0 اين قابليت را فراهم مي‌آورد) سطح خودكارسازي توليد كد از روي مدل افزايش پيدا مي‌كند و مزاياي MDD بيشتر نمايان مي‌شوند. لازم به ذكر است كه پيش از اين هم در عمل MDD مورد استفاده قرار گرفته است، لكن در حال حاضر به دليل رشد و افزايش قابليت تكنيك‌ها و استانداردها (مانند UML 2) اين امكان بيشتر فراهم شده است و MDD بيشتر مورد توجه قرار گرفته است.

اهمِ موارد جديد در UML 2.0

توسعه‌هاي جديدي كه در UML 2.0 انجام شده است را مي‌توان در اين پنج دسته عمده گروه‌بندي كرد كه در ادامه به ترتيب اهميت بيان شده‌اند.
افزايش قابل توجه ميزان دقت در تعاريف زبان ‌
كه نتيجه نياز به پشتيباني از خودكار‌سازي سطح بالاتري است كه براي MDD لازم است. لازمة خود كار‌سازي رفع ابهام و عدم دقت از مدل‌ها (و در نتيجه از زبان مدل‌سازي) است تا برنامه‌هاي كامپيوتر ي بتوانند مدل‌هاي را تبديل به كد كنند. يكي از اقداماتي كه به منظور كمينه كردن ابهامات و افزايش دقت مدل انجام شده است استفاده از metamodel است. اين مدل خصوصيات هر عنصر مدل‌سازي UML و ارتباط آن با ساير مفاهيم مدل‌سازي را تعريف مي‌كند. اين metamodel با استفاده از يك زيرمجموعه از عناصر UML - كه بيشتر مفاهيم Class Diagram هستند و اصطلاحا Meta-Object Facility (MOF) ناميده مي‌شوند - تعريف شده است و بوسيله يك مجموعه از محدوديت‌هاي رسمي كه به زبان Object Constraint Language (OCL) نوشته شده است پشتيباني مي‌شود. بطور خلاصه ميزان دقت تعاريف زبان UML 2.0 با روش‌هاي زير بطور قابل توجهي افزايش يافته است :
• يك سازماندهي مجدد عمده در فراساختار metamodel
• توصيف‌هاي معنايي توسعه يافته و دقيق‌تر
• يك چارچوب معنايي پويا و شفاف به منظور پركردن خلاء‌هايي كه در اين زمينه وجود داشت


شكل 1 - چارچوب معنايي UML 2.0

بهبود سازماندهي زبان

با پيمانه‌اي (Modular) كردن زبان، علاوه بر اينكه براي كاربران جديد امكان شناخت و استفاده ساده‌تر خواهد بود، همكاري ميان ابزارها را نيز تسهيل مي‌كند. در واقع معماري بهتري براي زبان ايجاد شده است. با توجه به افزايش دقت UML 2.0، تعاريف زبان بزرگ‌تر شده‌اند و در نتيجه چنانچه از همان ساختار و معماري UML 1 براي آن استفاده مي‌شد، فهم و استفاده از آن را بسيار مشكل مي‌ساخت. به منظور مقابله با مشكل پيچيدگي زبان، UML 2.0 بصورت پيمانه‌اي درآمده است تا امكان استفادة انتخابي از پيمانه‌هاي زبان فراهم شود. شكل كلي اين ساختار در شكل 2 نمايش داده شده است. همانطور كه مشاهده مي‌شود از يك پايه كه شامل عناصر به اشتراك گذاشته شده است (مانند كلاس‌ها و روابط association)، كه بر روي آن مجموعه‌اي از زير-زبان‌ها يا عناصر زبان وجود دارد. هر كدام از اين زير-زبان‌ها براي مدل‌سازي يك قالب يا جنبة بخصوص مناسب هستند. اين عناصر در Error! Reference source not found. نمايش داده‌شده اند. اين عناصر افقي زبان بطور معمول از يكديگر مستقل هستند و بنابر‌اين شما مي‌توانيد آنها را بصورت مستقل استفاده كنيد (برخلاف UML 1 كه بعنوان مثال activity diagram بطور كامل بر روي state diagram قرار گرفته بود).


شكل 2- معماري زبان UML 2.0

علاوه‌بر اين عناصر افقي زبان بصورت سلسله‌مراتبي در سه سطح سازمان‌دهي شده‌اند كه سطح بالاتر قابليت‌هاي بيشتري نسبت به سطح پايين‌تر دارد. به اين ترتيب زبان از يك بعد ديگر نيز پيمانه‌اي است و شما را قادر مي‌سازد كه حتي در يك واحد زبان هم يك زيرمجموعة بخصوص را انتخاب كنيد. اين ساختار معماري زبان شما را قادر مي‌سازد كه تنها يك زير مجموعه از UML را بياموزيد و بكار ببريد كه مناسب كار شما است و به مرور زمان و كسب تجارب بيشتر مي‌توانيد با عناصر قدرتمند‌تر زبان آشنا شويد و در هنگام نياز از آنها استفاده كنيد.
جدول 1- عناصر زبان UML 2.0

Purpose

Language Unit

(Foundation) modeling of fine-grained actions

Actions

Data and control flow behavior modeling

Activities

(Foundation) modeling of basic structures

Classes

Complex structure modeling for componenttechnologies

Components

Deployment modeling

Deployments

(Foundation) common behavioral semantic base and timemodeling

General Behaviors

Abstract data flow modeling

Information Flows

Inter-object behavior modeling

Interactions

Model organization

Models

Language customization

Profiles

Event-driven behavior modeling

State Machines

Complex structure modeling

Structures

Pattern modeling

Templates

Informal behavioral requirements modeling

Use Cases

بهبود قابل توجه در توانايي براي مدل كردن سيستم‌هاي نرم‌افزاري بزرگ

برخي از نرم‌افزارهاي كاربردي مدرن تجميع برنامه‌هاي كاربردي مستقل را در قالب سيستمي از سيستم‌ها نمايان مي‌سازند و اين روندي است ادامه دار كه منجر به پيچيده‌تر شدن سيستم‌ها خواهد شد. براي پشتيباني از چنين روند‌هايي، قابليت‌هاي جديد انعطاف‌پذيرِ سلسله‌مراتبي به زبان اضافه شده است تا از مدل‌سازي نرم‌افزار در سطوح دلخواه پيچيدگي پشتيباني كند. بطور كلي تعداد قابليت‌هاي جديد اضافه شده به UML 2.0 كم است تا از بزرگ شدن زياد زبان جلوگيري شود و بخش عمده‌اي از اين قابليت‌هاي جديد مدل‌سازي، گسترشي بر استفاده از قابليت‌هاي جديد است كه به شما امكان مدل‌سازي سيستم‌هاي نرم‌افزاري بزرگ را مي‌دهد. علاوه‌براين، اين گسترش‌ها با استفاده از يك راهكار پايه‌اي يكسان بدست‌ آمده‌اند : استفادة بازگشتي از مجموعة يكساني از مفاهيم در سطوح مختلف تجرد. بدين معني كه شما مي‌توانيد عناصر مدل‌سازي مربوط به يك گونه بخصوص را با يكديگر تركيب كنيد تا واحد‌هايي ايجاد شود كه بعنوان بلوك‌هاي سازنده در سطح بعدي تجرد مورد استفاده قرار گيرند. اين وضعيت قابل مقايسه با روشي است كه در برنامه‌نويسي procedure ها مي‌توانند تا چندين سطح در داخل يكديگر فراخواني شوند(Nested Procedure Call). بطور مشخص، قابليت‌هاي مدل‌سازي زير بدين روش توسعه يافته‌اند :
• ساختارهاي پيچيده (Complex Structures)
• فعاليت‌ها (Activities)
• تعامل‌ها (Interactions)
• ماشين‌هاي حالت (State machines)
سه تاي اول از ليست بالا 90% قابليت‌هاي جديد UML 2.0 را شكل مي‌دهند.

ساختارهاي پيچيده (Complex Structures)

به اين منظور عناصر پايه‌اي ساختاري كه part ناميده مي‌شوند ممكن است يك يا چند درگاه (port) داشته باشند كه با استفاده از كانال‌هاي ارتباطي كه اتصال‌دهنده (connector) ناميده مي‌شوند (همانگونه كه درشكل 3 نمايش داده شده است) به يكديگر متصل شده‌اند. اين ساختار تجمعي مي‌تواند در داخل عناصر سطح بالاتر كپسوله شود كه port هاي خود را دارند و مي‌توانند با عناصر سطح‌بالاتري متصل شوند و به همين ترتيب عناصر سطح بالاتري مي‌توانند ساخته شوند.


شكل 3- مفاهيم مدل‌سازي ساختارهاي پيچيده

فعاليت‌ها (Avtivities)

Activity ها در UML براي مدل‌كردن انواع مختلفي از جريان مورد استفاده قرار مي‌گيرد : جريان signal يا data، و نيز جريان‌هاي algorithmic يا procedural. در UML 1 يك محدوديت عمده براي Activity ها وجود داشت و آن هم اين بود كه آنها بر پايه ماشين حالت قرار گرفته‌ بودند و بنابراين در حوزة معنايي ماشين‌هاي حالت محدود شده بودند. در UML 2.0 پاية ماشين‌ حالت با يك چارچوب معنايي عمومي ديگر كه تمام اين محدوديت‌ها را حذف كرده است جايگزين شده است. (در واقع، پاية معنايي با استفاده از petri net colored هاي عمومي‌شده جايگزين شده است). علاوه‌ بر اين از برخي استانداردهاي صنعتي براي مدل‌سازي فرآيندهاي كسب و كار مانند BPEL4WS الهام گرفته است.

تعامل‌ها (Interactions)

تعامل‌هاي ميان اشياء در UML 1 يا با استفاده از collaboration diagram و يا با استفاده از sequence diagram نمايش داده مي‌شدند. لكن متأسفانه دو قابليت اساسي جا افتاده بودند :‌
1. امكان استفادة مجدد از توالي‌ها كه ممكن بود در متن دنباله‌هاي ديگر تكرار شوند. بعنوان مثال، يك دنباله كه هويت‌شناسي كاربر را انجام مي‌دهد ممكن است در چندين جاي مختلف يك برنامة كاربردي رخ دهد. بدون امكان بسته‌بندي اين دنباله‌هاي تكرار شونده در عناصر جداگانه، لازم بود كه آنها را چندين مرتبه بيان كنيد كه علاوه بر افزودن سربار اضافي، نگهداري مدل‌ را نيز مشكل‌تر مي‌كرد.
2. امكانات كافي براي مدل‌كردن جريان‌هاي پيچيده مختلف كه در بازنمايي تعاملات سيستم‌هاي پيچيده رايج هستند. اين قابليت‌ها شامل تكراركردن يك زيردنباله، مسيرهاي اجرايي آلترناتيو، اجراهاي همروند و مستقل از ترتيب، حلقه، شرط و موارد مشابه مي‌شود.
مهمترين نوآوري در اين زمينه معرفي تعامل‌ها (Interaction) بصورت يك واحد مدل‌سازي جداگانه نامگذاري شده است كه امكان پارامتري كردن آنها نيز وجود دارد و بنابراين مي‌توان هر سطح پيچيدگي دلخواهي از تعامل‌هاي ميان اشياء را در يك نمودار تعامل مدل كرد.


شكل 4 - مثالي از يك مدل تعاملي پيچيده

همانگونه كه در شكل 4 نشان داده شده است شما مي‌توانيد اين تعاملات بسته‌بندي شده را در تعاملات سطح بالاتر بصورت بازگشتي فراخواني كنيد.

ماشين‌هاي حالت (State Machine)

مهمترين قابليتي كه ماشين‌هاي حالت در UML 2.0 اضافه شده است كاملا مشابه موارد قبلي است. ايدة اصلي اين است كه شما مي‌توانيد يك ماشين حالت پيچيده را كاملا بصورت پيمانه‌اي مدل كنيد كه داراي نقاط مشخصي براي ورود و خروج است. به اين ترتيب شما مي‌توانيد تجزيه داخلي يك ماشين حالت را بوسيله يك مجموعه از ماشين‌‌هاي حالت جداگانه و قابل استفاده انجام دهيد. به اين ترتيب توصيف يك الگوي رفتاري مشترك در چند حوزة مختلف به سادگي انجام مي‌پذيرد.


شكل 5- نمونه‌اي از نمودار حالت در UML 2.0

بهبود پشتيباني براي سفارشي سازي براي يك حوزه بخصوص

تجارب عملي استفاده از UML ارزش مكانيزم‌هاي توسعه (Extension) آنرا نمايان ساخته است. در UML 1.x فقط از مكانيزم‌هاي توسعة stereotype و profile استفاده مي‌شد، لكن در UML 2.0 مكانيزم توسعة جديد metamodel اضافه شده است كه امكانات توسعة سطح بالاتري را فراهم مي‌كند.
تقويت، تطابق با اصول، روشني و وضوح بيشتر براي مفاهيم مختلف مدل‌سازي
زبان ساده‌تر و سازگارتر شده است. اقدامات جديد شامل تقويت و تثبيت مفايهم و – در بعضي موارد – حذف مفاهيم تكراري، پالايش چندين تعريف و افزودن توضيحات متني و مثال بوده است.
منبع:www.smhoseyni.com

اجراي همزمان برنامه‌هاي ويندوز و لينوکس

اجراي همزمان برنامه‌هاي ويندوز و لينوکس

شرکت سان مايکروسيستمز، هر چند که طي سال گذشته ميلادي با فراز و نشيب‌هاي زيادي روبه‌رو بود، اما يکي از موفق‌ترين نرم‌افزارهاي خود يعني VirtualBox را به ‌بازار عرضه کرد. با کمک اين نرم‌افزار که ماشيني مجازي توليد مي‌کند، مي‌توان چندين سيستم عامل را همزمان اجرا کرد.
تصورش را بکنيد که روي يک دسکتاپ، هم نوار استارت ويندوز را داريد و هم توي لينوکس در حال چرخ زدن هستيد. و يا حتي از آن جالب‌تر اين‌که مي‌توانيد ياهومسنجر و يا آفيس خود را داخل لينوکس باز کنيد، بدون آن‌که نياز به تعويض پنجره يا رفتن به محيط ديگري داشته باشيد و يا حتي کليپ‌بورد خود را بين دو سيستم عامل به اشتراک بگذاريد.
تمامي اين‌ها با ويرچوال‌باکس ممکن است. اين نرم‌افزار از فناوري SeamlessRDP استفاده مي‌کند. اين فناوري براي پشتيباني ويندوزي از rdesktop طراحي شده است و کليه پنجره‌هاي X11 را مي‌تواند براي هر پنجره ويندوزي طراحي کند.

پيش‌نيازها

قبل از هر چيز بايد آخرين نسخه ويرچوال‌باکس را تهيه کنيد. براي نصب ويرچوال‌باکس، مي‌توانيد از طريق مدير بسته‌هاي نرم‌افزاري توزيع خود، يا از طريق دستور زير، آن را نصب کنيد:

# apt-get install virtualbox-3.0

(توجه کنيد که علامت # به اين معني است که بايد حتما با دسترسي ريشه (root) وارد شده باشيد.) پس از نصب ويرچوال باکس، مي‌توانيد آن را داخل منوي System Tools پيدا و اجرا کنيد.

يکپارچه‌سازي

حالا مي‌خواهيم ماشيني مجازي براي ويندوز اکس‌پي بسازيم. مي‌توانيد همين کار را براي ديگر نسخه‌هاي ويندوز هم انجام دهيد، اما ويندوز اکس‌پي، سبک و سريع است و هنوز از دور خارج نشده است، بنابراين گزينه اول ما براي اجراي ويندوز مجازي، ويندوز اکس‌پي است.
براي راه‌اندازي ويرچوال‌باکس، کافيست روي گزينه New کليک کنيد. گزينه OS Type را ويندوز اکس‌پي انتخاب كنيد. ميزان حافظه RAM که مي‌خواهيد با آن ماشين مجازي به‌اشتراک بگذاريد را در مرحله بعدي وارد کنيد. 512مگابايت به بالا گزينه بهتري است.
در مرحله بعدي بايد ديسک سخت خود را مشخص کنيد، پيشنهاد مي‌كنم گزينه Dynamically Expanding Image را انتخاب کنيد که مطابق با مصرف‌تان در ويندوز، حجم ماشين مجازي‌تان گسترده شود. براي نصب از طريق ديسک سي‌دي، حتما خاطر‌تان باشد که بايد سي‌دي‌رام را براي ماشين مجازي فعال کنيد. اين کار از طريق تنظيمات انجام مي‌شود.
بعد از اين‌که عمليات نصب به اتمام رسيد و ويندوز بالا آمد، به مسير زير برويد:

Start -» Run -» ‘regedit’

پنجره ويرايشگر رجيستري باز مي‌شود. به مسير زير برويد:

HKEY_CURRENT_USER-»Software-»Microsoft-»
Current Version -» Policies -» Explorer

و بعد در پنل سمت راست کليک راست کنيد و متغير جديدي از نوع DWORD بسازيد. نام آن را NoDesktop بگذاريد و مقدار آن را به 1 تغيير دهيد.
اين کار را براي اين انجام داديم که ميزکار سيستم عامل مهمان نشان داده نشود و فقط تسک‌بار و منوي استارت آن ديده شود. حال ممکن است ويرچوال‌باکس از شما سوال بپرسد و بخواهد چيزي را به‌عنوان Guest Addition نصب کند. اين بسته براي حرکت نرم ماوس ميان سيستم‌ عامل‌هاي ميزبان و مهمان است. کافي است آن را نصب کنيد و دستورات آن را دنبال کنيد تا عمليات نصب به پايان برسد.
وقتي نصب به اتمام رسيد، يک بار سيستم را از طريق ويندوز اکس‌پي خاموش کنيد. دوباره آن را راه‌اندازي کنيد و وقتي کاملا بالا آمد، از طريق منوي ماشين، گزينه Seamless Mode را انتخاب کنيد. حالا خواهيد ديد که تسک‌بار ويندوز روي ميزکار لينوکس‌تان نشان داده مي‌شود و مي‌توانيد به‌سادگي با هر دو سيستم عامل، به‌طور همزمان کار کنيد. توجه داشته باشيد که به‌اين روش مي‌توانيد نرم‌افزارهاي ويندوزي غيرقابل اجرا روي لينوکس از جمله آفيس2007 را هم در لينوکس خود داشته باشيد.
منبع: www.jamejamonline.irنویسنده : شايان اسدي

وب 2 چیست ؟

وب 2 چیست ؟
وب 2 چیست ؟






معرفی استانداردهای طراحی وب 2

با افزایش کاربرد های وب ، طراحان وب روش های جدیدی را در ایجاد وب سایتها به کار بستند که باعث راحت تر شدن دسترسی به داده ها برای کاربر و مشارکت کاربر در ایجاد داده ها میشود. نمونه بسیار روشنی از این سایت ها Wikipedia است که توسط کاربرانش گسترش پیدا میکند و مدیران این سایت فقط محیطی را برای استفاده از توانایی های کاربران فراهم میکنند.
مفهوم وب2 اولین بار در یک همایش توسط معاون موسسه oreilly مطرح شد. آنها به دنبال نسل جدیدی از وب بودند که بتواند جذاب، کاربردی و قابل گسترش باشد. اینگونه بود که کنفرانس وب2 شکل گرفت و بحث های زیادی پیرامون این پدیده مطرح شد. امروزه جستجوی این عبارت در گوگل بیش از 10 میلیون نتیجه را بر می‌گراند.

مقایسه چند سرویس وب دویی با رقبای های وب یک آنها:

Wikipedia یک سایت وب دویی است، یک دایره المعارف که هیچ مولف خاصی ندارد و با نیروی کاربرانش گسترش پیدا میکند. اما دایره‌المعارف بریتانیکا یک سایت وب محسوب میشود. زیرا تعداد بسیار محدودی مولف هستند که مقالات این سایت را به روز میکنند و بر روی سایت قرار می دهند.
سایت Last.fm یک سایت وب دویی است. اما MP3.com یک سرویس وب یک محسوب میشود. در سایت Last.fm این کاربران هستند که برای خوانندگان بیوگرافی درست میکنند ، عکس های خوانندگان را روی سایت قرار می دهند، به آهنگ ها امتیاز می دهند ومیزان محبوبیت آهنگ های یک خواننده را مشخص میکنند. اما در سایت mp3.com پروسه های مذکور توسط مسئولان سایت انجام میشود.
در سرویس های آپلود عکس قدیمی، دسته بندی عکس ها بر اساس دایرکتوری های آنها مشخص میشد. اما در سرویس های جدید TAG ها (کلمات کلیدی مرتبط) هستند که باعث دسته بندی عکس ها میشوند. با وجود این سیستم هر عکس می تواند مرتبط با چندین کلمه باشد. در حالی که در دایرکتوری‌ها هر عکس فقط با یک موضوع در ارتباط بود. Flickr.com نمونه ی بارزی از یک سایت عکس با نگرش وب2 است.
در سرویس های اشتراک فایلی قدیمی ، چندین سرور وجود داشت که امکان دانلود را برای کاربران فراهم میکرد. اما در سرویس های جدید ، هر کسی که فایل را دانلود میکند خودش تبدیل به سروری برای دیگران میشود و بطور ناخودآگاه وظیفه ی سرور ها را کاربران به عهده گرفته اند. Bittorent نمونه ی روشنی از این سرویس جدید است. هر کاربر با اتصال به شبکه‌ی بیت تورنت، از روی رایانه‌ی دیگر کاربران شروع به دانلود میکند و رایانه‌ی خودش نیز تبدیل به یک سرور برای دیگر کاربران میشود.

وب یک پلتفرم است

یکی از مهم ترین اصول وب2 ، نگاه کردن به وب بعنوان یک پلتفرم است. بر اساس تحقیقات یک شرکت آمریکایی ، بیش از یک میلیارد کاربر در سراسر جهان هستند که رایانه شخصی و به دنبال آن سیستم عامل، نرم افزارهای کاربردی آفیس، و حتی فضایی جهت نگه داری فایل هایشان ندارند، اما کاربر اینترنت هستند و با استفاده از Device های گوناگون مانند موبایلشان و یا با استفاده از کافی‌نت کارهای خود را انجام میدهند. وب2 به نیازهای این افراد پاسخی مستقیم داده است.
سرویس هایی مانند Google Docs و Zoho.com امکان داشتننرم افزار Office آنلاین را فراهم کرده اند. سایت های بسیار زیادی برای نگه داری فایل ها تحت وب وجود دارند که نیاز این افراد را به هارد شخصی مرتفع کرده اند، سایت هایی مانند Delicious.com امکان نگه داری بوکمارک های هر فرد را بر روی وب فراهم میکنند. و حتی سایت های متنوعی امکان ویرایش عکس را بر روی اینترنت بوجود آورده اند که این افراد را از داشتن یک نرم افزار ویرایشگر عکس مانند Photoshop بی نیاز میکنند.
همانگونه که می بینید، وب2 باعث بی نیاز شدن بسیاری از کاربران از داشتن سیستم عامل شخصی شده است. اینجا بود که مفهومی بنام سیستم عامل جهانی شکل گرفت. کاربران با داشتن یک مرورگر روی هر دستگاهی، و با اتصال به اینترنت میتوانند از کلیه سرویس های لازم جهت کارهای روزمره خود بهره گیرند.
یکی از پیامد های سیستم عامل جهانی، پایان چرخه ی سنتی تولید و عرضه نرم افزار است. نرم‌افزارهایی مانند MS Office هر چند سال یکبار نسخه جدیدی را منتشر میکنند و کاربران باید آنها را خریداری کنند تا از مزایای نسخه جدید بهره مند شوند. اما برنامه های تحت وب هر ماه و گاهی هر روز آپدیت میشوند و سریعا در دسترس همگان قرار می گیرند.

اهمیت داده ها

ارزش داده ها در وب2 همان چیزی است که باعث رشد یک سایت میشود. آنچه ویکی پدیا را امروز به اینجا رسانده است، داده هایی است که کاربران در طول مدت زمان طولانی در این سایت وارد کرده اند. این موضوع را در سایت هایی مانند Amazon.com در زمینه ی فروش کالا و کتاب ، در سایت Last.fm در مورد آثار موسیقی، در Flixster.com در زمینه ی سینما ، در Google Maps در زمینه ی نقشه های شهرها و در بسیاری دیگر از سایت های وب2 میتوان مشاهده کرد.
گوگل از کاربران سرویس MAPS برای نامگذاری خیابان ها و کوچه های نقشه هایش استفاده میکند. به همین دلیل است که امروز شما می توانید حتی به فارسی "برج میلاد" را در این سرویس جستجو کنید و این منطقه از شهر را روی نقشه های گوگل مشاهده کنید. و در مقابل میتوانید مدرسه ی دوران کودکی خود را روی نقشه بیابید و نام مدرسه تان را روی نقشه وارد کنید. روزگاری شرکت MapQuest بزرگترین مرجع نقشه های جهان به شمار می رفت. اما گوگل با استفاده از نیروهای کوچک جمع بزرگی از کاربرانش ، گوی سبقت را از شرکت MapQuest ربود.

طراحی رابط کاربری پویا

بارز ترین شاخصه‌ی یک سایت وب دویی، داشتن رابط کاربری قدرتمند است. استفاده از روش های جدید و ترکیب تکنولوژی های موجود مانند Ajax CSS , xml , HttpRequest و Javascript باعث بهبود سرعت و افزایش کارایی بسیاری از وب سایت ها شده است. بطور مثال میتوان از سرویس Gmail گوگل در این مورد نام برد که رابط کاربری بسیار سریع و پویایی را در مقایسه با سایر رقبایش ارائه کرد و باعث بدست آوردن محبوبیت در میان کاربران شد.
یکی از پروسه های وقتگیر در هنگام چک کردن ایمیل ها، رفرش شدن صفحه در هنگام باز کردن یا حذف کردن یک ایمیل بود که جیمیل با بکارگیری روش طراحی آجاکس، این پروسه را حذف کرد و شما هنگام کار با جیمیل خود از بالاترین سرعت ممکن بهره مند هستید.

سرویس های وب 2 از شما یاد می گیرند.

سرویس های وب 2 برای وقت کاربرانشان ارزش زیادی قائلند و شما را در پروسه هایی مانند ذخیره سازی داده هایتان بهتر یاری میکنند. بطور مثال شما در جیمیل نیازی به ذخیره کردن ایمیل افرادی که برای شما یکبار ایمیلی زده اند ندارید. زیرا هر آدرس ایمیلی که دریافت میشود بطور اتومات در دفترچه ایمیل های شما ذخیره میشود و هنگامی که نیازمند ارسال ایمیل به یکی از دوستان خود هستید، کافیست ابتدای نام او را تایپ کنید تا جیمیل از بین هزاران ایمیل ثبت شده، ایمیل مورد نظر را نمایش دهد. همچنین اگر چند دوست همنام دارید که بیشتر به یکی از آنها ایمیل می زنید، هنگام تایپ نام آنها ، جیمیل ایمیل دوستی را که بیشتر برایش ایمیل زده اید بالاتر از بقیه نمایش می دهد.
قابلیت یادگیری سرویس های وب2 در بخش جستجوی گوگل نیز قابل مشاهده است. گوگل نتایج جستجوی شما را ذخیره میکند و هنگامی که یک مدخل جدید را جستجو میکنید ، گوگل آنرا با موضوعات و مطالب قبلی تان مقایسه میکند و تا جای ممکن نتایج را بر اساس سلیقه شما مرتب کرده و نمایش میدهد.
همچنین در بخش جستجوی عکس گوگل، هنگامی که شما بعد از جستجوی یک کلمه، روی یکی از عکس ها کلیک میکنید گوگل میفهمد که عکس مورد نظر رابطه ی نزدیکی با آنچه جستجو کرده اید دارد و از آن به بعد در جستجوهای بعدی آن عکس را به کلمه‌ی جستجو شده، مرتبط تر میداند و در صفحه ی جستجویش آنرا بالاتر نمایش می دهد. به این فرایند استفاده از هوش جمعی میگویند که گوگل به خوبی از آن در الگوریتم هایش استفاده میکند.
با آنچه در مورد وب 2 گفته شد اکنون میتوانید سایت های وب2 واقعی را از سایت هایی که ادعای وب2 بودن دارند تشخیص دهید و در طراحی های خود نیز استفاده از این روش ها را بکار ببندید تا بتوانید بر رقبای بسیار بزرگتر از خود چیره شوید.
منبع: http://www.macromediax.com

وب سرويس چيست ؟


کسانی که با صنعت IT آشنايی دارند حتما ً نام وب سرويس را شنيده اند . برای مثال ، بيش از 66 درصد کسانی که در نظر سنجی مجله InfoWorld شرکت کرده بودند بر اين توافق داشتند که وب سرويس ها مدل تجاری بعدی اينترنت خواهند بود . به علاوه گروه گارتنر پيش بينی کرده است که وب سرويس ها کارآيی پروژه های IT را تا 30 در صد بالا می برد . اما وب سرويس چيست و چگونه شکل تجارت را در اينترنت تغيير خواهد داد ؟

برای ساده کردن پردازش های تجاری ، برنامه های غير متمرکز (Enterprise) بايد با يکديگر ارتباط داشته باشند و از داده های اشتراکی يکديگر استفاده کنند . قبلا ً اين کار بوسيله ابداع استاندارد های خصوصی و فرمت داده ها به شکل مورد نياز هر برنامه انجام می شد . اما دنيای وب و XML – تکنولوژی آزاد برای انتقال ديتا – انتقال اطلاعات بين سيستم ها را افزايش داد . وب سرويس ها نرم افزارهايی هستند که از XML برای انتقال اطلاعات بين نرم افزارهای ديگر از طريق پروتوکول های معمول اينترنتی استفاده می کنند . به شکل ساده يک وب سرويس از طريق وب اعمالی را انجام می دهد (توابع يا سابروتين ها ) و نتايج را به برنامه ديگری می فرستد . اين يعنی برنامه ای در يک کامپيوتر در حال اجراست ، اطلاعاتی را به کامپيوتری می فرستد و از آن درخواست جواب می کند ، برنامه ای که در آن کامپيوتر دوم است کارهای خواسته شده را انجام می دهد و نتيجه را بر روی ساختارهای اينترنتی به برنامه اول بر می گرداند . وب سرويس ها می توانند از پروتکول های زيادی در اينترنت استفاده کنند اما بيشتر از HTTP که مهم ترين آنهاست استفاده می شود .

وب سرويس هر توع کاری می تواند انجام دهد . برای مثال در يک برنامه می تواند آخرين عنوان های اخبار را از وب سرويس Associated Press بگيرد يا يک برنامه مالی می تواند آخرين اخبار و اطلاعات بورس را از وب سرويس بگيرد . کاری که وب سرويس انجام می دهد می تواند به سادگی ضرب 2 عدد يا به پيچيدگی انجام کليه امور مشترکين يک شرکت باشد .

وب سرويس دارای خواصی است که آن را از ديگر تکنولوژی و مدل های کامپيوتری جدا می کند ، Paul Flessner ، نايب رييس مايکروسافت در dot NET Enterprise Server چندين مشخصه برای وب سرويس در يکی از نوشته هايش ذکر کرده است ، يک ، وب سرويس ها قابل برنامه ريزی هستند . يک وب سرويس کاری که می کند را در خود مخفی نگه می دارد وقتی برنامه ای به آن اطلاعات داد وب سرويس آن را پردازش می کند و در جواب آن اطلاعاتی را به برنامه اصلی بر می گرداند . دوم ، وب سرويس ها بر پايه XML بنا نهاده شده اند . XML و XML های مبتنی بر SOAPيا Simple Object Access Protocol تکنولوژی هايی هستند که به وب سرويس اين امکان را می دهند که با ديگر برنامه ها ارتباط داشته باشد حتی اگر آن برنامه ها در زبانهای مختلف نوشته شده و بر روی سيستم عامل های مختلفی در حال اجرا باشند . همچين وب سرويس ها خود ، خود را توصيف می کنند . به اين معنی که کاری را که انجام می دهند و نحوه استفاده از خودشان را توضيح می دهند . اين توضيحات به طور کلی در WSDL يا Web Services Description Language نوشته می شود . WSDL يک استاندارد بر مبنای XML است . به علاوه وب سرويس ها قابل شناسايی هستند به اين معنی که یرنامه نويس می تواند به دنبال وب سرويس مورد علاقه در دايرکتوری هايی مثل UDDI يا Universal Description , Discovery and Integration جستجو کند . UDDI يکی ديگر از استاندارد های وب سرويس است .



نکات تکنولوژی وب سرويس :

همانطور که در ابتدا توضيح داده شد يکی از دلايل اينکه وب سرويس از ديگر تکنولوژی های موجود مجزا شده است استفاده از XML و بعضی استاندارد های تکنيکی ديگر مانند SOAP ، WSDL و UDDI است . اين تکنولوژی های زمينه ارتباط بين برنامه ها را ايجاد می کند به شکلی که مستقل از زبان برنامه نويسی ، سيستم عامل و سخت افزار است . SOAP يک مکانيزم ارتباطی را بين نرم افزار و وب سرويس ايجاد می کند . WSDL يک روش يکتا برای توصيف وب سرويس ايجاد می کند و UDDI يک دايرکتوری قابل جستجو برای وب سرويس می سازد . وقتی اينها با هم در يک جا جمع می شود اين تکنولوژی ها به برنامه نويس ها اجازه می دهد که برنامه های خود را به عنوان سرويس آماده کنند و بر روی اينترنت قرار دهند .

شکل زير نقش هر کدام از استاندارد ها را در ساختار وب سرويس نمايش می دهد . در قسمت های بعدی هر کدام از اين تکنولوژی ها را بررسی می کنيم .





XML يا eXtensible Markup Language :



XML يک تکنولوژی است که به شکل گسترده از آن پشتيبانی می شود ، همچنين اين تکنولوژی Open است به اين معنی که تعلق به شرکت خاصی ندارد . اولين بار در کنسرسيوم WWW يا W3C در سال 1996 برای ساده کردن انتقال ديتا ايجاد شده است . با گسترده شدن استفاده از وب در دهه 90 کم کم محدوديت های HTML مشخص شد . ضعف HTML در توسعه پذيری ( قابليت اضافه و کم کردن خواص ) و ضعف آن در توصيف ديتاهايی که درون خود نگهداری می کند برنامه نويسان را از آن نا اميد کرد . همچنين مبهم بودن تعاريف آن باعث شد از توسعه يافتن باز بماند . در پاسخ به اين اشکالات W3C يک سری امکانات را در جهت توسعه HTML به آن افزود که امکان تغيير ساختار متنهای HTML مهم ترين آن است . اين امکان را CSS يا Cascade Style Sheet می نامند .

اين توسعه تنها يک راه موقتی بود . بايد يک روش استاندارد شده ، توسعه پذير و داری ساختار قوی ايجاد می شد . در نتيجه W3C XML را ساخت . XML دارای قدرت و توسعه پذيری SGML يا Standard Generalized Markup Language و سادگی که در ارتباط در وب به آن نياز دارد است .

استقلال اطلاعات يا جدا بودن محتوا از ظاهر يک مشخصه برای XML به حساب می آيد . متنهای XML فقط يک ديتا را توصيف می کنند و برنامه ای که XML برای آن قابل درک است – بدون توجه به زبان و سيستم عامل – قادر است به اطلاعات درون فايل XML هر گونه شکلی که مايل است بدهد . متنهای XML حاوی ديتا هستند بدون شکل خاص بنابراين برنامه ای که از آن می خواهد استفاده کند بايد بداند که چگونه می خواهد آن اطلاعات را نمايش دهد . بنابراين نحوه نمايش يک فايل XML در يک PC با PDA و تلفن همراه می تواند متفاوت باشد .

وقتی يک برنامه با متن XML مواجه می شود بايد مطمئن باشد که آن متن حاوی ديتای مورد نظر خود است . اين اطمينان توسط برنامه هايی با نام XML Parser حاصل می شود . تجزيه کننده ها دستورات متن XML را بررسی می کنند . همچنين آنها به برنامه کمک می کنند تا متن های XML را تفسير کند . به صورت اختياری هر متن XML می تواند به متن ديگری اشاره کند که حاوی ساختار فايل XML اصلی باشد . به آن متن XML دوم DTD يا Document Type Definition گفته می شود .

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

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



SOAP يا Simple Object Access Protocol :



SOAP يکی از عمومی ترين استاندارد هايی است که در وب سرويس ها استفاده می شود . طبق شواهد اولين بار توسط DeveloperMentor ، شرکت UserLand و مايکروسافت در سال 1998 ساخته شده و نسخه اول آن در سال 1999 ارايه شده است . آخرين نسخه SOAP ، نسخه 1.2 بود که در دسامبر سال 2001 در W3C ارايه شد . نسخه 1.2 نشان دهنده کار زياد بر روی آن و نمايانگر اشتياق زياد صنعت IT برای استفاده از SOAP و وب سرويس است .

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

به عنوان يک پروتکول مبتنی بر XML ، SOAP تشکيل شده از يک سری الگو های XMLی است . اين الگو ها شکل پيغام های XML را که بر روی شبکه منتقل می شود را مشخص می کند ، مانند نوع ديتا ها و اطلاعاتی که برای طرف مقابل تفسير کردن متن را آسان کند . در اصل SOAP برای انتقال ديتا بر روی اينترنت و از طريق پروتکول HTTP طراحی شده است ولی از آن در ديگر مدلها مانند LAN نيز می توان استفاده کرد . وقتی که وب سرويس ها از HTTP استفاده می کنند به راحتی می توانند از Firewall عبور کنند .

يک پيغام SOAP از سه بخش مهم تشکيل شده است : پوشش يا Envelope ، Header ، بدنه يا Body . قسمت پوشش برای بسته بندی کردن کل پيغام به کار می رود . اين بخش محتوای پيغام را توصيف و گيرنده آن را مشخص می کند . بخش بعدی پيغام های SOAP ، Header آن است که يک بخش اختياری می باشد و مطالبی مانند امنيت و مسيريابی را توضيح می دهد . بدنه پيغام SOAP بخشی است که ديتاهای مورد نظر در آن جای می گيرند . ديتاها بر مبنای XML هستند و از يک مدل خاص که الگوها (Schemas) آن را توضيح می دهند تبعيت می کنند . اين الگو ها به گيرنده کمک می کنند تا متن را به درستی تفسير کند .پيغام های SOAP نوسط سرور های SOAP گرفته و تفسير می شود تا در نتيجه آن ، وب سرويس ها فعال شوند و کار خود را انجام دهند .

برای اينکه از SOAP در وب سرويس استفاده نکنيم از تعداد زيادی پروتکول بايد استفاده شود . برای مثال XML-RPC تکنولوژی قديمی تری بود که همين امکانات را ايجاد می کرد . به هر حال ، خيلی از سازندگان بزرگ نرم افزار SOAP را بر تکنولوژی های ديگر ترجيح دادند . دلايل زيادی برای انتخاب SOAP وجود دارد که خيلی از آنها درباره پروتکول آن است که فراتر از اين متن می باشد . 3 برتری مهم SOAP نسبت به تکنولوژی های ديگر : Simplicity , Extensibility و Interoperability است .

پيغام های SOAP معمولا ً کدهای زيادی ندارند و برای فرستادن و گرفتن آن به نرم افزار های پيچيده نياز نيست . SOAP اين امکان را به برنامه نويس می دهد تا بنا به نياز خود آن را تغيير دهد . در آخر بدليل اينکه SOAP از XML استفاده می کند می تواند بوسيله HTTP اطلاعات را انتقال بدهد بدون اينکه زبان برنامه نويسی ، سيستم عامل و سخت افزار برای آن مهم باشد .



WSDL يا Web Services Description Language :



استاندارد ديگری که نقش اساسی در وب سرويس بازی می کند WSDL است . همانطور که قبلا ً اشاره کرديم يکی از خواص وب سرويس ها توصيف خود آنهاست به اين معنی که وب سرويس دارای اطلاعاتی است که نحوه استفاده از آن را توضيح می دهد . اين توضيحات در WSDL نوشته می شود ، متنی به XML که به برنامه ها می گويد اين وب سرويس چه اطلاعاتی لازم دارد و چه اطلاعاتی را بر می گرداند .

وقتی که سازندگان نرم افزار برای اولين بار SOAP و ديگر تکنولوژی های وب سرويس را ساختند دريافتند که برنامه ها قبل از اينکه شروع به استفاده از يک وب سرويس بکنند بايد اطلاعاتی درباره آن را داشته باشند . اما هر کدام از آن سازندگان برای خودشان روشی برای ايجاد اين توضيحات ابداع کردند و باعث شد که وب سرويس ها با هم هماهنگ نباشد . وقتی IBM و مايکروسافت تصميم گرفتند تا استاندارد های خود را يکسان کنند WSDL بوجود آمد . در ماه مارس سال 2001 مايکروسافت ، IBM و Ariba نسخه 1.1 را به W3C ارائه کردند . گروهی از W3C بر روی اين استاندارد کار کردند و آن را پذيرفتند . هم اکنون اين تکنولوژی در دست ساخت است و هنوز کامل نشده . ولی هم اکنون اکثر سازندگان وب سرويس از آن استفاده می کنند .

هر وب سرويسی که بر روی اينترنت قرار می گيرد دارای يک فايل WSDL است که مشخصات ، مکان و نحوه استفاده از وب سرويس را توضيح می دهد . يک فايل WSDL نوع پيغام هايی که وب سرويس می فرستد و می گيرد را توضيح می دهد مانند پارامترهايی که برنامه صدا زننده برای کار با وب سرويس بايد به آن بفرستد . در تئوری يک برنامه در وب برای يافتن وب سرويس مورد نظر خود از روی توضيحات WSDL ها جستجو می کند . در WSDL اطلاعات مربوط به چگونگی ارتباط با وب سرويس بر روی HTTP يا هر پروتکول ديگر نيز وجود دارد .

اين مهم است که بدانيم WSDL برای برنامه ها طراحی شده است نه برای خواندن آن توسط انسان . شکل فايلهای WSDL پيچيده به نظر می آيد ولی کامپيوترها می توانند آن را بخوانند و نجزيه و تحليل بکند . خيلی از نرم افزارهايی که وب سرويس می سازند فايل WSDL مورد نياز وب سرويس را نيز توليد می کنند بنابراين وقتی برنامه نويس وب سرويس خود را ساخت به شکل خودکار WSDL مورد نياز با آن نيز ساخته می شود و احتياجی به آموزش دستورات WSDL برای ساختن و استفاده از وب سرويس نيست .



UDDI يا Universal Description , Discovery and Integration :



سومين استاندارد اصلی وب سرويس ها ، UDDI ، به شرکتها و برنامه نويسان اجازه می دهد تا وب سرويس های خود را بر روی اينترنت معرفی کنند . اين استاندارد در اصل بوسيله مايکروسافت ، IBM و Ariba و 50 شرکت بزرگ ديگر ساخته شده است . با استفاده از UDDI شرکتها می توانند اطلاعات خود را در اختيار شرکت های ديگر قرار بدهند و مدل B2B ايجاد کنند . همان طور که از نام آن مشخص است شرکت ها می توانند وب سرويس خود را معرفی کنند ، با وب سرويس ديگران آشنا شوند و از آن در سيستم های خود استفاده کنند . اين استاندارد جديدی است و در سال 2000 ساخته شده ، کنسرسيومی از شرکتهای صنعتی در حال کار بر روی آن هستند ؛ نسخه دوم UDDI در ماه ژوئن سال 2001 ارائه شد و نسخه سوم آن در دست ساخت است .

UDDI يک متن مبتنی بر XML را تعريف می کند که در آن شرکت ها توضيحاتی درباره چگونگی کار وب سرويس شرکتشان و امکانات خود می دهند . برای تعريف اين اطلاعات از شکل خاصی که در UDDI توضيح داده شده استفاده می شود . شرکت ها می توانند اين اطلاعات را در UDDI شرکت خود نگهداری کنند و تنها به شرکت های مورد نظرشان اجازه دستيابی به آنها را بدهند يا آنها را در مکان عمومی و د اينترنت قرار دهند . بزرگترين و مهمترين پايگاه UDDI ، UDDI Business Registry يا UBR نام دارد و توسط کميته UDDI طراحی و اجرا شده است . اطلاعات اين پايگاه در چهار نقطه نگهداری می شود ، مايکروسافت ، IBM ، SAP و HP . اطلاعاتی که در يکی از چهار پايگاه تغيير کند در سه تای ديگر نيز اعمال می شود .

اطلاعات درون اين پايگاه ها شبيه دفترچه تلفن است . White Pages که در آنها اطلاعات تماس شرکت ها و توضيحات متنی آنهاست ، Yellow Pages حاوی اطلاعات طبقه بندی شده شرکتها و اطلاعات درباره توانايی های الکترونيکی آنها می باشد ، Green Pages ، حاوی اطلاعات تکنيکی درباره سرويس های آنها و نحوه پردازش اطلاعات شرکت آنها می باشد .

اطلاعات تجاری و سرويس های شرکت ها کاملا ً طبقه بندی شده است و اجازه می دهد که به راحتی در آنها جستجو کرد . سپس متخصصان IT می توانند از اين اطلاعات استفاده کرده و شرکت ها را برای خدمات بهتر به هم متصل کنند . با اين شرح UDDI امکان پياده سازی مدل B2B را ايجاد می کند و شرکتها می توانند از سرويس های يکديگر استفاده کنند .

شرکت هايی که به UDDI علاقه نشان داده اند قدرت مند هستند و خيلی از آنها از وب سرويس و استاندارد های آن در محصولات خود استفاده می کنند . NTT Communications of Tokyo يکی از شرکت هايی است که در حال اضافه کردن توضيحاتی به ساختار UDDI است . در هر حال شرکت ها هنوز کمی درباره وارد کردن خود در پايگاه های عمومی محتاط هستند . اين چيز عجيبی نيست . شرکتها ابتدا اين امکانات را فقط برای شرکای خود ايجاد می کنند . شرکتهای بزرگ نيز برای مديريت بر سرويس های خود و اشتراک آنها بين قسمت های مختلف از اين استاندارد استفاده می کنند . وقتی اين استاندارد به حد بلوغ خود برسد و کاربران با آن احساس راحتی بکنند استفاده از آن نيز در مکان های عمومی فراگير خواهد بود .

اين تغيير رويه برای شرکت های بزرگی که B2B را به روش های قديمی اجرا کرده بودند مشکل است . بعضی نيز اشکال امنيتی بر اين روش می گيرند و مايل نيستند اطلاعاتشان را بدهند . اما با گذشت زمان و کامل شدن اين تکنولوژی و درک لزوم استفاده از آن شرکت ها چاره ای جز استفاده از آن ندارند .

مترجم : حامد بنايی
لینک: http://www.hamedbanaei.com/articles/webservicedesc.htm

متن اصلی از سايت http://www.deitel.com گرفته شده است .

وب سرویس چیست؟

کسانی که با صنعت IT آشنایی دارند تتما ً نام وب سرویس را شنیده اند. برای مثال، بیش از ۶۶ درصد کسانی که در نظر سنجی مجله InfoWorld شرکت کرده بودند بر این توافق داشتند که وب سرویس ها مدل تجاری بعدی اینترنت خواهند بود. به علاوه گروه گارتنر پیش بینی کرده است که وب سرویس ها کارآیی پروژه های IT را تا ۳۰ در صد بالا می برد. اما وب سرویس چیست و چگونه شکل تجارت را در اینترنت تغییر خواهد داد؟

برای ساده کردن پردازش های تجاری، برنامه های غیرمتمرکز (Enterprise) باید با یکدیگر ارتباط داشته باشند و از داده های اشتراکی یکدیگر استفاده کنند. قبلا ً این کار بوسیله ابداع استانداردهای خصوصی و فرمت داده ها به شکل مورد نیاز هر برنامه انجام می شد. اما دنیای وب و XML تکنولوژی آزاد برای انتقال دیتا انتقال اطلاعات بین سیستم ها را افزایش داد. وب سرویس ها نرم افزارهایی هستند که از XML برای انتقال اطلاعات بین نرم افزارهای دیگر از طریق پروتکل های معمول اینترنتی استفاده می کنند. به شکل ساده یک وب سرویس از طریق وب اعمالی را انجام می دهد (توابع یا سابروتین ها) و نتایج را به برنامه دیگری می فرستد. این یعنی برنامه ای که در یک کامپیوتر در تال اجراست اطلاعاتی را به کامپیوتردیگری می فرستد و از آن درخواست جواب می کند. برنامه ای که در آن کامپیوتر دوم است کارهای خواسته شده را انجام می دهد و نتیجه را بر روی ساختارهای اینترنتی به برنامه اول برمی گرداند.

وب سرویس ها می توانند از پروتکل های زیادی در اینترنت استفاده کنند اما بیشتر از HTTP که مهم ترین آنهاست استفاده می شود. وب سرویس هر نوع کاری می تواند انجام دهد. برای مثال در یک برنامه می تواند آخرین عنوان های اخبار را از وب سرویس Associated Press بگیرد یا یک برنامه مالی می تواند آخرین اخبار و اطلاعات بورس را از طریق وب سرویس بگیرد. کاری که وب سرویس انجام می دهد می تواند به سادگی ضرب دو عدد یا به پیچیدگی انجام کلیه امور مشترکین یک شرکت باشد.

وب سرویس دارای خواصی است که آن را از دیگر تکنولوژی ها و مدل های کامپیوتری جدا می کند. Paul Flessner، نایب رییس مایکروسافت در dot NET Enterprise Server چندین مشخصه برای وب سرویس در یکی از نوشته هایش ذکر کرده است. اول اینکه وب سرویس ها قابل برنامه ریزی هستند. یک وب سرویس کاری که می کند را در خود مخفی نگه می دارد. وقتی برنامه ای به آن اطلاعات داد وب سرویس آن را پردازش می کند و در جواب آن اطلاعاتی را به برنامه اصلی بر می گرداند. دوم، وب سرویس ها بر پایه XML بنا نهاده شده اند. XML و XML های مبتنی بر SOAP یا Simple Object Access Protocol تکنولوژی هایی هستند که به وب سرویس ها این امکان را می دهد که با دیگر برنامه ها ارتباط داشته باشد تتی اگر آن برنامه ها در زبانهای مختلف نوشته شده و بر روی سیستم عامل های مختلفی در تال اجرا باشند.

همچین وب سرویس ها خود-توصیف هستند. به این معنی که کاری را که انجام می دهند و نتوه استفاده از خودشان را توضیت می دهند. این توضیتات به طور کلی در WSDL یا Web Services Description Language نوشته می شود. WSDL یک استاندارد بر مبنای XML است. به علاوه وب سرویس ها قابل شناسایی هستند به این معنی که برنامه نویس می تواند به دنبال وب سرویس مورد علاقه در دایرکتوری هایی مثل UDDI یا Universal Description , Discovery and Integration جستجو کند. UDDI یکی دیگر از استاندارد های وب سرویس است.

نکات تکنولوژی وب سرویس
همانطور که در ابتدا توضیت داده شد یکی از دلایل اینکه وب سرویس از دیگر تکنولوژی های موجود مجزا شده است استفاده از XML و بعضی استاندارد های تکنیکی دیگر مانند SOAP، WSDL و UDDI است. این تکنولوژی ها زمینه ارتباط بین برنامه ها را ایجاد می کنند به شکلی که مستقل از زبان برنامه نویسی، سیستم عامل و سخت افزار است. SOAP یک مکانیزم ارتباطی را بین نرم افزار و وب سرویس ایجاد می کند. WSDL یک روش یکتا برای توصیف وب سرویس ایجاد می کند و UDDI یک دایرکتوری قابل جستجو برای وب سرویس می سازد. وقتی اینها با هم در یک جا جمع می شوند این تکنولوژی ها به برنامه نویس اجازه می دهد که برنامه های خود را به عنوان سرویس آماده کرده و بر روی اینترنت قرار دهد.

XML یا eXtensible Markup Language
XML یک تکنولوژی است که به شکل گسترده از آن پشتیبانی می شود، همچنین این تکنولوژی Open است به این معنی که متعلق به شرکت خاصی نیست. اولین بار در کنسرسیوم WWW یا W3C در سال ۱۹۹۶ برای ساده کردن انتقال دیتا ایجاد شده است. با گسترده شدن استفاده از وب در دهه ۹۰ کم کم متدودیت های HTML مشخص شد. ضعف HTML در توسعه پذیری (قابلیت اضافه و کم کردن خواص) و ضعف آن در توصیف دیتاهایی که درون خود نگهداری می کند برنامه نویسان را از آن ناامید کرد. همچنین مبهم بودن تعاریف آن باعث شد از توسعه یافتن باز بماند. در پاسخ به این اشکالات W3C یک سری امکانات را در جهت توسعه HTML به آن افزود که امکان تغییر ساختار متنهای HTML مهم ترین آن است. این امکان را CSS یا Cascade Style Sheet می نامند.

این توسعه تنها یک راه موقتی بود. باید یک روش استاندارد شده، توسعه پذیر و دارای ساختار قوی ایجاد می شد. در نتیجه W3C استاندارد XML را ساخت. XML دارای قدرت و توسعه پذیری SGML یا Standard Generalized Markup Language و سادگی که در ارتباط در وب به آن نیاز دارد است.

استقلال اطلاعات یا جدا بودن متتوا از ظاهر یک مشخصه برای XML به تساب می آید. متنهای XML فقط یک دیتا را توصیف می کنند و برنامه ای که XML برای آن قابل درک است بدون توجه به زبان و سیستم عامل قادر است به اطلاعات درون فایل XML هر گونه شکلی که مایل است بدهد. متنهای XML تاوی دیتا هستند بدون شکل خاص، بنابراین برنامه ای که از آن می خواهد استفاده کند باید بداند که چگونه می خواهد آن اطلاعات را نمایش دهد. بنابراین نتوه نمایش یک فایل XML در یک PC با PDA و تلفن همراه می تواند متفاوت باشد.

وقتی یک برنامه با متن XML مواجه می شود باید مطمئن باشد که آن متن تاوی دیتای مورد نظر خود است. این اطمینان توسط برنامه هایی با نام XML Parser تاصل می شود. تجزیه کننده ها دستورات متن XML را بررسی می کنند. همچنین آنها به برنامه کمک می کنند تا متن های XML را تفسیر کند. به صورت اختیاری هر متن XML می تواند به متن دیگری اشاره کند که تاوی ساختار فایل XML اصلی باشد. به آن متن XML دوم DTD یا Document Type Definition گفته می شود.

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

وقتی که اکثر نرم افزارها امکانات وبی خود را افزایش دادند این طور به نظر می رسد که XML به عنوان یک تکنولوژی جهانی برای فرستادن اطلاعات بین برنامه ها انتخاب شود. تمامی برنامه هایی که از XML استفاده می کنند قادر خواهند بود که XML ِ همدیگر را بفهمند. این سطت بالای تطابق بین برنامه ها باعث می شود که XML یک تکنولوژی مناسب برای وب سرویس باشد. چون بدون اینکه اتتیاج به سیستم عامل و سخت افزار یکسان باشد می تواند اطلاعات را جابجا کند.

SOAP یا Simple Object Access Protocol
SOAP یکی از عمومی ترین استاندارد هایی است که در وب سرویس ها استفاده می شود. طبق شواهد اولین بار توسط DeveloperMentor، شرکت UserLand و مایکروسافت در سال ۱۹۹۸ ساخته شده و نسخه اول آن در سال ۱۹۹۹ ارایه شده است. آخرین نسخه SOAP، نسخه 1.2 بود که در دسامبر سال ۲۰۰۱ در W3C ارایه شد. نسخه 1.2 نشان دهنده کار زیاد بر روی آن و نمایانگر اشتیاق زیاد صنعت IT برای استفاده از SOAP و وب سرویس است.

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

به عنوان یک پروتکل مبتنی بر XML، پروتکل SOAP تشکیل شده از یک سری الگوهای XMLی است. این الگوها شکل پیغام های XML را که بر روی شبکه منتقل می شود را مشخص می کند. مانند نوع دیتاها و اطلاعاتی که برای طرف مقابل تفسیر کردن متن را آسان کند. در اصل SOAP برای انتقال دیتا بر روی اینترنت و از طریق پروتکل HTTP طراتی شده است ولی از آن در دیگر مدلها مانند LAN نیز می توان استفاده کرد. وقتی که وب سرویس ها از HTTP استفاده می کنند به راتتی می توانند از Firewall عبور کنند.

یک پیغام SOAP از سه بخش مهم تشکیل شده است: پوشش یا Envelope ،Header، بدنه یا Body. قسمت پوشش برای بسته بندی کردن کل پیغام به کار می رود. این بخش متتوای پیغام را توصیف و گیرنده آن را مشخص می کند. بخش بعدی پیغام های SOAP، Header آن است که یک بخش اختیاری می باشد و مطالبی مانند امنیت و مسیریابی را توضیت می دهد. بدنه پیغام SOAP بخشی است که دیتاهای مورد نظر در آن جای می گیرند. دیتاها بر مبنای XML هستند و از یک مدل خاص که الگوها (Schemas) آن را توضیت می دهند تبعیت می کنند. این الگو ها به گیرنده کمک می کنند تا متن را به درستی تفسیر کند. پیغام های SOAP توسط سرورهای SOAP گرفته و تفسیر می شود تا در نتیجه آن، وب سرویس ها فعال شوند و کار خود را انجام دهند.

برای اینکه از SOAP در وب سرویس استفاده نکنیم از تعداد زیادی پروتکل باید استفاده شود. برای مثال XML-RPC تکنولوژی قدیمی تری بود که همین امکانات را ایجاد می کرد. به هر تال، خیلی از سازندگان بزرگ نرم افزار SOAP را بر تکنولوژی های دیگر ترجیت دادند. دلایل زیادی برای انتخاب SOAP وجود دارد که خیلی از آنها درباره پروتکل آن است که فراتر از این متن می باشد. سه برتری مهم SOAP نسبت به تکنولوژی های دیگر عبارتند از قابلیت توسعه، سادگی و قابلیت عملکرد داخلی.

پیغام های SOAP معمولا ً کدهای زیادی ندارند و برای فرستادن و گرفتن آن به نرم افزارهای پیچیده نیاز نیست. SOAP این امکان را به برنامه نویس می دهد تا بنا به نیاز خود آن را تغییر دهد. در آخر بدلیل اینکه SOAP از XML استفاده می کند می تواند بوسیله HTTP اطلاعات را انتقال بدهد بدون اینکه زبان برنامه نویسی، سیستم عامل و سخت افزار برای آن مهم باشد.

WSDL یا Web Services Description Language
استاندارد دیگری که نقش اساسی در وب سرویس بازی می کند WSDL است. همانطور که قبلا ً اشاره کردیم یکی از خواص وب سرویس ها توصیف خود آنهاست به این معنی که وب سرویس دارای اطلاعاتی است که نتوه استفاده از آن را توضیت می دهد. این توضیتات در WSDL نوشته می شود، متنی به XML که به برنامه ها می گوید این وب سرویس چه اطلاعاتی لازم دارد و چه اطلاعاتی را بر می گرداند.

وقتی که سازندگان نرم افزار برای اولین بار SOAP و دیگر تکنولوژی های وب سرویس را ساختند دریافتند که برنامه ها قبل از اینکه شروع به استفاده از یک وب سرویس بکنند باید اطلاعاتی درباره آن را داشته باشند. اما هر کدام از آن سازندگان برای خودشان روشی برای ایجاد این توضیتات ابداع کردند و باعث شد که وب سرویس ها با هم هماهنگ نباشد. وقتی IBM و مایکروسافت تصمیم گرفتند تا استاندارد های خود را یکسان کنند WSDL بوجود آمد. در ماه مارس سال ۲۰۰۱ مایکروسافت، IBM و Ariba نسخه 1.1 را به W3C ارائه کردند. گروهی از W3C بر روی این استاندارد کار کردند و آن را پذیرفتند. هم اکنون این تکنولوژی در دست ساخت است و هنوز کامل نشده. ولی هم اکنون اکثر سازندگان وب سرویس از آن استفاده می کنند.

هر وب سرویسی که بر روی اینترنت قرار می گیرد دارای یک فایل WSDL است که مشخصات، مکان و نتوه استفاده از وب سرویس را توضیت می دهد. یک فایل WSDL نوع پیغام هایی که وب سرویس می فرستد و می گیرد را توضیت می دهد مانند پارامترهایی که برنامه صدا زننده برای کار با وب سرویس باید به آن بفرستد. در تئوری یک برنامه در وب برای یافتن وب سرویس مورد نظر خود از روی توضیتات WSDL ها جستجو می کند. در WSDL اطلاعات مربوط به چگونگی ارتباط با وب سرویس بر روی HTTP یا هر پروتکل دیگر نیز وجود دارد.

این مهم است که بدانیم WSDL برای برنامه ها طراتی شده است نه برای خواندن آن توسط انسان. شکل فایلهای WSDL پیچیده به نظر می آید ولی کامپیوترها می توانند آن را بخوانند و تجزیه و تتلیل بکند. خیلی از نرم افزارهایی که وب سرویس می سازند فایل WSDL مورد نیاز وب سرویس را نیز تولید می کنند بنابراین وقتی برنامه نویس وب سرویس خود را ساخت به شکل خودکار WSDL مورد نیاز با آن نیز ساخته می شود و اتتیاجی به آموزش دستورات WSDL برای ساختن و استفاده از وب سرویس نیست.

UDDI یا Universal Description , Discovery and Integration
سومین استاندارد اصلی وب سرویس ها، یعنی UDDI، به شرکتها و برنامه نویسان اجازه می دهد تا وب سرویس های خود را بر روی اینترنت معرفی کنند. این استاندارد در اصل بوسیله مایکروسافت، IBM و Ariba و پنجاه شرکت بزرگ دیگر ساخته شده است. با استفاده از UDDI شرکتها می توانند اطلاعات خود را در اختیار شرکت های دیگر قرار بدهند و مدل B2B ایجاد کنند. همان طور که از نام آن مشخص است شرکت ها می توانند وب سرویس خود را معرفی کنند، با وب سرویس دیگران آشنا شوند و از آن در سیستم های خود استفاده کنند. این استاندارد جدیدی است و در سال ۲۰۰۰ ساخته شده است و کنسرسیومی از شرکتهای صنعتی در تال کار بر روی آن هستند. نسخه دوم UDDI در ماه ژوئن سال ۲۰۰۱ ارائه شد و نسخه سوم آن در دست ساخت است.

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

بزرگترین و مهمترین پایگاه UDDI پایگاه UDDI Business Registry یا UBR نام دارد و توسط کمیته UDDI طراتی و اجرا شده است. اطلاعات این پایگاه در چهار نقطه نگهداری می شود: مایکروسافت، IBM، SAP و HP. اطلاعاتی که در یکی از چهار پایگاه تغییر کند در سه تای دیگر نیز اعمال می شود.

اطلاعات درون این پایگاه ها شبیه دفترچه تلفن است. White Pages که در آنها اطلاعات تماس شرکت ها و توضیتات متنی آنهاست، Yellow Pages تاوی اطلاعات طبقه بندی شده شرکتها و اطلاعات درباره توانایی های الکترونیکی آنها می باشد، Green Pages، تاوی اطلاعات تکنیکی درباره سرویس های آنها و نتوه پردازش اطلاعات شرکت آنها می باشد.

اطلاعات تجاری و سرویس های شرکت ها کاملا ً طبقه بندی شده است و اجازه می دهد که به راتتی در آنها جستجو کرد. سپس متخصصان IT می توانند از این اطلاعات استفاده کرده و شرکت ها را برای خدمات بهتر به هم متصل کنند. با این شرت UDDI امکان پیاده سازی مدل B2B را ایجاد می کند و شرکتها می توانند از سرویس های یکدیگر استفاده کنند.

شرکت هایی که به UDDI علاقه نشان داده اند قدرتمند هستند و خیلی از آنها از وب سرویس و استانداردهای آن در متصولات خود استفاده می کنند. NTT Communications of Tokyo یکی از شرکت هایی است که در تال اضافه کردن توضیتاتی به ساختار UDDI است. در هر تال تاضر شرکت ها هنوز کمی درباره وارد کردن خود در پایگاه های عمومی متتاط هستند. این چیز عجیبی نیست. شرکتها ابتدا این امکانات را فقط برای شرکای خود ایجاد می کنند. شرکتهای بزرگ نیز برای مدیریت بر سرویس های خود و اشتراک آنها بین قسمت های مختلف از این استاندارد استفاده می کنند. وقتی این استاندارد به تد بلوغ خود برسد و کاربران با آن اتساس راتتی بکنند استفاده از آن نیز در مکان های عمومی فراگیر خواهد بود.

این تغییر رویه برای شرکت های بزرگی که B2B را به روش های قدیمی اجرا کرده بودند مشکل است. بعضی نیز اشکال امنیتی بر این روش می گیرند و مایل نیستند اطلاعاتشان را بدهند. اما با گذشت زمان و کامل شدن این تکنولوژی و درک لزوم استفاده از آن شرکت ها چاره ای جز استفاده از آن ندارند.

منبع : سایت nofa.ir

استفاده از Command Prompt برای ftp

باز کردن محیط Command Prompt - داس
دستور cmd در منوی run را بنویسید و اجرا کنید و یا آدرس را Start–All Programs–Accessories و بعد بر روی Command Prompt کلیک کنید.

آماده سازی فایل ها برای انتقال (ftp)

با دستور cd داخل پوشه ای که فایل های لازم برای انتقال وجود دارند شوید.دستور cd یکی از دستورات محیط داس می باشد.

اتصال به سایت برای انتقال فایل ها

تایپ کنید ftp YourDomain که بجای YourDomain باید دامین مورد نظر خود را بنویسید. مانند ftp ۵ww.ir
در صورت اتصال موفق به دامین username یا همان نام کاربری مربوط به ftp از شما درخواست می شود. بعد از وارد کردن نام کاربری، رمز عبور پرسیده می شود که باید آن را وارد کنید. برای ورد به صورت anonymous در سیستم هایی که این اجازه را به شما می دهند، بجای رمز عبور از آدرس ایمیل خود استفاده کنید.رمز عبور در هنگام وارد کردن حتی به صورت کاراکتر “*” دیده نمی شود.
در صورت اتصال موفق آمیز پیغامی مبنی بر اتصال موفق آمیز دریافت می کنید. اگر موفق به اتصال نشوید با پیغام access denied مواجه می شوید.

آماده سازی فضای وب برای قرار دادن فایل ها (ftp)

در این مرحله باید با استفاده از دستور cd مانند مرحله دوم، وارد پوشه ای که می خواهید فایل ها را ارسال کنید شوید. دستور pwd نام پوشه ای را که در آن قرار دارید را به همراه آدرس آن نشان می دهد. سپس باید نوع فایل را مشخص کنید. به صورت پیش فرض نوع ASCII انتخاب شده است. برای تغییر آن به باینری تایپ کنید bin یا binary و برای بازگشت به حالت ASCII، لازم است ascii یا acs را تایپ کنید. نوع ASCII برای فایل های متنی(فایل هایی که در ادیتور متن قابل مشاهده هستند مانند فایل txt, php, asp, js, css و …) و نوع BINARY برای فایل های صوتی، تصویری و … بکار برده می شود.

ارسال فایل

برای ارسال فایل کافی است تایپ کنید put filename که filename نام فایل به طور کامل می باشد. برای ارسال چندین فایل از دستور mput استفاده می شود. بجای filename نام فایل ها را با کاراکتر های * یا ؟ مانند کپی در محیط داس و یا جستجو در ویندوز مشخص کنید. مانند php.* برای تمامی فایل های php موجود در پوشه فعلی بر روی کامپیوتر شخصی.

دریافت فایل

برای دریافت فایل کافی است تایپ کنید get filename که filename نام فایل به طور کامل می باشد. برای دریافت چندین فایل از دستور mget استفاده می شود. بجای filename نام فایل ها را با کاراکتر های * یا ؟ مانند کپی در محیط داس و یا جستجو در ویندوز مشخص کنید. مانند php.* برای تمامی فایل های php موجود در پوشه فعلی بر روی سرور.

خروج

برای خروج تایپ کنید bye یا quit
منبع:http://www.academist.ir

تفاوت های لینوکس با ویندوز

 
گنو/لینوکس با ویندوز چه تفاوتی دارد؟
یکی از نخستین سوالاتی که در ذهن هر کاربری که به تازگی نام گنو/لینوکس به گوشش خورده است، مطرح می‌شود، این است که خوب گنو/لینوکس چه تفاوتی با ویندوز دارد؟ من در این مقاله قصد دارم بدون اینکه وارد مسایل خیلی فنی شوم، به طور اجمالی این موضوع را تشریح کنم.

لینوکس چیست؟

لینوکس به خودی خود، یک هسته (Kernel) است. هسته، بخش اصلی سیستم‌عامل را تشکیل می‌دهد که کار آن کنترل داده‌ها، مدیریت حافظه، سخت‌افزار، ورود و خروج داده‌ها و تمامی موارد اصلی سیستم‌عامل می‌باشد. همانطور که گفتم، لینوکس به خودی خود سیستم‌عامل به شمار نمی‌رود، بلکه با استفاده از ابزارهایی که پروژه گنو (GNU) برای آن تولید کرده است، تبدیل به یک سیستم‌عامل کامل می‌شود (به همین دلیل است که لینوکس را معمولا گنو/گنو/لینوکس یا GNU/Linux می‌نامند) و با اضافه کردن سایر نرم‌افزارهای بازمتن به آن، می‌توان از آن در موارد متعددی مانند سرویس‌دهنده‌ها، ایستگاه‌های کاری، کامپیوترهای روی‌میزی، ابر رایانه‌ها، ابزارهای صنعتی و پزشکی که دارای سیستم‌های درونه‌ای (Embedded) می‌باشند و… استفاده کرد.
از نظر فنی، گنو/لینوکس را می‌توان نمونه بازمتن و آزاد سیستم‌عامل‌های خانواده یونیکس نامید. زیرا بر اساس استاندارد POSIX پیاده سازی شده و کاملا با آن سازگار است. بنابراین گنو/لینوکس را می‌توان نواده سیستم‌عامل پرسابقه و مستحکم یونیکس دانست که البته خواص خوب آنرا نیز به ارث برده است. اکنون تفاوت‌های اصلی گنو/لینوکس و ویندوز را با هم می‌شماریم:

گنو/لینوکس : سیستم‌عامل آزاد

گنو/لینوکس یک سیستم عامل آزاد و بازمتن است. کد منبع آن در اختیار همگان قرار دارد و همه می‌توانند در کدهای آن تغییر ایجاد کرده و بنا به نیازشان استفاده کنند. آزاد و در دسترس بودن کدهای منبع سبب می‌شود تا بتوانید از طرز کارکرد دقیق سیستم‌عامل مطلع شوید. شما بسیاری از توزیع‌های گنو/لینوکس را می‌توانید به هر تعداد کپی کرده و بین دوستانتان پخش کنید. در سمت مقابل، ویندوز یک سیستم‌عامل اختصاصی است که کد منبع آن سری نگهداشته شده و برای همگان در دسترس نیست. شما نمی‌توانید بفهمید که واقعا در زیر سیستم‌عامل ویندوزتان چه می‌گذرد؟ آیا یک برنامه جاسوسی در آن پنهان نشده است؟ بعید نیست. سیستم عامل ویندوز رایگان نبوده و شما نمی‌توانید آنرا کپی کرده و پخش کنید. در صورت این کار شما خلاف‌کار هستید و جریمه و مجازات خواهید شد. (فعلا نه در ایران ولی در ۴-۶ سال آینده بله)
گنو/لینوکس را به هواپیمایی تشبیه کرده‌اند که هر قسمت از انرا در جایی ساخته‌اند. گنو/لینوکس واقعا محصول کشور خاصی نیست. تعداد زیادی از مردم در سرتاسر جهان در حال کار بر روی بخش‌های مختلف آن و توسعه آن هستند. تعداد برنامه نویسانی که روی بخش‌های مختلف سیستم‌عامل گنو/لینوکس کار می‌کنند، به حدود ۴۰۰ هزار نفر می‌رسد، تفاوت کیفیت کار را مشخص می‌کند.
شما با سیستم‌عامل گنو/لینوکس آزاد هستید. لازم ندارید تا از نرم‌افزارهای اختصاصی استفاده کنید و تحت انقیاد آنها در آیید.

گنو/لینوکس : سرعت، قدرت، پایداری

همانطور که گفتم، گنو/لینوکس نواده سیستم‌عامل یونیکس است. بنابراین ساختار کلی این سیستم‌عامل کاملا با ویندوز متفاوت است. این به این معنی است که مثلا شما نخواهید توانست برنامه‌هایی که در ویندوز دارید، روی گنو/لینوکس اجرا نمایید (البته راه‌هایی وجود دارد – شبیه سازها - ولی در حالت عادی خیر). یکی از خواص اصلی سیستم‌عامل‌های خانواده یونیکس، پایداری و استقامت بسیار بالای آنهاست. این سیستم‌عامل‌ها به این راحتی‌ها خراب نشده و به ندرت نیاز به بوت مجدد پیدا می‌کنند. گنو/لینوکس‌هایی وجود دارند که شما می‌توانید سالها بدون نیاز به بوت، از آنها استفاده نمایید. در سمت مقابل، حتی جدیدترین و پایدارترین سیستم‌های ویندوز نیز اندازه گنو/لینوکس پایدار نیستند. برای بکارگیری سیستم‌های ویندوز به عنوان سرویس دهنده به حافظه و پردازنده‌های قویتری نیاز دارید و مطمین باشید اگر هر چند روز آنرا بوت نکنید، از کار خواهد افتاد! معمولا سیستم‌عامل گنو/لینوکس به راحتی خراب نمی‌شود و برعکس ویندوز مجبور نیستید تا آنرا هر چندماه یکبار مجددا نصب کنید. حتی برخی از انواع گنو/لینوکس به نصب «یکبار برای تمامی عمر» مشهور هستند. این گونه سیستم‌ها را می‌توانید حین کار و حتی بدون بوت، به نسخه‌های جدیدتر ارتقا دهید.

گنو/لینوکس : امنیت، امنیت، امنیت

امروزه در دنیایی متکی بر فناوری اطلاعات زندگی می‌کنیم که هر لحظه به خطر افتادن جریان اطلاعات منجر به بروز خسارت‌های تجاری جبران ناپذیری خواهد شد. امروزه همه به دنبال یک سکوی (Platform) امن‌تر برای اجرای برنامه‌های کاربردی و سروی‌دهنده‌ها هستند. با اینکه مبحث امنیت یک مقوله نسبی است، گنو/لینوکس حرف‌های زیادی برای گفتن در سمت امنیت دارد. بسیاری از قابلیت‌های امنیتی که در ویندوز وجود ندارند و یا فقط با اضافه کردن نرم‌افزارهای اضافی قابل دسترسی می‌باشند، بطور درونی و پیش‌گزیده در گنو/لینوکس پیاده سازی شده‌اند. گنو/لینوکس از ابتدا برای محیط‌های شبکه‌ای و چند کاربره طراحی شده است و همین باعث رعایت مسایل امنیتی از ابتدا در ان شده است، درحالی که ویندوز اینگونه نبوده و درحال حاضر نیز از نظر امنیتی دارای نقاط ضعف فراوانی است. مثلا یک برنامه مخرب با استفاده از همین ضعف‌های امنیتی می‌تواند کل سیستم‌عامل را نابود کند، ولی در صورتی که مورد مشابهی در گنو/لینوکس وجود داشته باشد، حداکثر به دایرکتوری خانگی کاربر اجرا کننده آسیب خواهد رسید، نه کل سیستم‌عامل.
اینطور نیست که گنو/لینوکس فاقد هر گونه اشکال امنیتی باشد، خیر، ولی باز بودن کد منبع آن باعث می‌شود تا بسیاری از اشکالات امنیتی پیش از ایجاد خسارت و در مراحل توسعه و برنامه نویسی برنامه بر ملا شده و رفع شوند. در صورتی که اشکالی نیز در برنامه‌های منتشر شده یافت شود، بدلیل موجود بودن کد منبع سریعا برطرف می‌گردد. در صورتی که در سیستم عامل ویندوز شما باید منتظر مایکروسافت بمانید و بمانید و بمانید (مثلا هم اکنون ۲۱ اشکال امنیتی در مرورگر IE وجود دارد که مایکروسافت هنوز هیچ وصله‌ای برای آن ارایه نداده است). سیستم‌عامل ویندوز دارای اشکالات امنیتی بسیاری است که به راحتی هم کشف نمی‌شوند و هنگامی کشف می‌شوند که خسارات جبران ناپذیری در اثر حمله از طریق آن ضعف‌های امنیتی رخ دهد که امثال آنرا شاهد هستیم. در دنیای امنیت ضرب المثلی وجود دارد که امنیت با مخفی کاری حاصل نمی‌شود.
می‌توان ادعا کرد که تقریبا هیچ ویروسی برای گنو/لینوکس وجود ندارد و این درحالی است که سالیانه بیش از ۱۰۰۰ ویروس و کرم مختلف برای سیستم‌عامل ویندوز ایجاد می‌شود. این بخاطر عدم گسترده بودن گنو/لینوکس نیست (حدود ۷۰ درصد از سایت‌های وب در جهان بر روی سیستم‌عامل‌های خانواده یونیکس و گنو/لینوکس و سرویس‌دهنده وب آپاچی درحال اجرا هستند) بلکه بدلیل وجود حفره‌های امنیتی متعدد ویندوز و سیاست انحصار گرایی مایکروسافت است. یعنی چه؟ مایکروسافت طوری رفتار و سیاست گذاری کرده است که مشتریان خود را تنها به محصولات خودش عادت دهد. بسیاری از کاربران ویندوز از اینترنت اکسپلورر و آتلوک برای مرور وب و پست الکترونیک استفاده می‌کنند. من به عنوان یک ویروس نویس، می‌دانم که اگر ویروسی را برای کاربران ویندوز بنویسم، بر روی کامپیوترهای ۹۰ درصد آنها اثر خواهد کرد. چون اکثرا از IE و Outlook استفاده می‌کنند. ولی در گنو/لینوکس چطور؟ در گنو/لینوکس شما طیف وسیعی از انتخاب و عدم اجبار دارید. من از مرورگر موزیلا استفاده میکنم. دوستی دارم که Konqueror را ترجیح می‌دهد. دیگری از Opera استفاده می‌کند. من از Kmail استفاده می‌کنم. دوستم از Evolution، دیگری از Pine و بعدی از Mutt و برادرم هم از Mozilla Mail. من فقط می‌توانم برای یکی از اینها ویروس بنویسم چون روی بقیه کار نخواهد کرد و عملا میزان اثر آن انداک خواهد بود. ضمنا هیچیک از ویروس‌هایی که برای ویندوز نوشته شده‌اند، بر روی گنو/لینوکس کار نمی‌کنند.

گنو/لینوکس : تعدد سکوهای اجرایی

گنو/لینوکس برخلاف ویندوز بر روی تعداد زیادی از سکوهای مختلف سخت‌افزاری اجرا می‌شود و شما حتی قادرید آنرا برای کار بر روی سکوی مورد نظرتان تغییر دهید. این قابلیت، گنو/لینوکس را برای بکارگیری در سخت‌افزارهای درونه‌ای (Embedded) بسیار مناسب می‌سازد. هسته ۲.۶ گنو/لینوکس این امکان را فراهم می‌سازد تا گنو/لینوکس را بر روی دستگاه‌های بسیار کوچک و یا ابر رایانه‌های بسیار بزرگ اجرا نمایید.

گنو/لینوکس : گسترده‌ترین تنوع در کاربرد

گنو/لینوکس را می‌توانید برای انجام وظایف بسیار متعددی بکار بگیرید. از دستگاه چک کردن اتصالات شبکه، دیوار آتش، مسیریاب (Router) شبکه، سرویس‌دهنده‌های مختلف مانند وب، بانک اطلاعاتی، فایل، چاپ و…، میزهای کار (Desktop)، ایستگاه‌های کاری (Workstations) و… سیستم‌عامل گنو/لینوکس حتی این امکان را دارد که از آن بتوان به صورت یک سیستم زنده و پرتابل استفاده کرد. به این معنی که کل سیستم‌عامل از روی یک دیسک CD اجرا شود و شما آنرا با خودتان جابجا کنید و میزکار و تنظیماتتان را همراه خودتان منتقل کنید. علاوه بر این، این قابلیت برای رفع اشکال و نمایش آن نیز بسیار مفید است.

گنو/لینوکس : تنوع در انتخاب

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

گنو/لینوکس : سیستم‌عاملی حرفه‌ای

گنو/لینوکس یک سیستم‌عامل حرفه‌ای است. یعنی ممکن است یک کاربر کاملا غیر فنی برای مدیریت آن و انجام برخی از تنظیمات سخت‌افزاری دچار مشکل شود و نتواند به راحتی این کار را انجام دهد. البته برخی از توزیع‌های گنو/لینوکس این امور را بسیار راحت (و حتی راحت‌تر از ویندوز) کرده‌اند، ولی با این حال به طور کلی، گنو/لینوکس یک سیستم‌عامل حرفه‌ای است که در عین سادگی، از پیچیدگی‌های فنی زیادی برخوردار است. البته تمام کاربران لازم نیست این امور را بدانند. مثلا یک کارمند دفتری که اموری مانند تایپ و حسابداری را با کامپیوترش انجام می‌دهد، ممکن است از نظر فنی تفاوتی را احساس نکند، ولی گنو/لینوکس خوراکی ۴ ساله برای کاربران خوره فراهم می‌سازد! برخلاف ویندوز، نکات بی‌پایانی برای یادگیری در گنو/لینوکس وجود دارد. این سیستم‌عامل ۴ سال به راحتی شما را مشغول خواهد کرد و می‌توانید مطمین باشید پس از آن بازهم مطالب جدیدی برای یادگیری وجود خواهند داشت! پس خوره‌های کامپیوتری از آن لذت وافری خواهند برد و هرگز آنرا رها نخواهند کرد.
برخلاف ویندوز، در گنو/لینوکس راحت‌تر هستید تا بسیاری از کارهای پیکربندی و سیستمی را از خط فرمان بسیار قدرتمند و عالی آن انجام دهید. با اینکه برای بسیاری از امور مانند ویندوز ابزارهای گرافیکی طراحی شده است، یک کاربر حرفه‌ای واقعا از خط فرمان گنو/لینوکس لذت خواهد برد. خط فرمان ویندوز را اصلا می‌توان خط فرمان نامید؟

گنو/لینوکس : بهشت برنامه نویسان!

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

گنو/لینوکس : یک جعبه ابزار کامل

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

گنو/لینوکس : یکی از زیباترین دستاوردهای بشری

گنو/لینوکس در سایه همکاری و تبادلات علمی هزاران نفر در سرتاسر جهان ایجاد شده و توسعه یافته است. این همکاری چنان گسترده و زیبا بوده و هست، که به سیستم‌عامل گنو/لینوکس لقب «یکی از زیباترین دستاوردهای همکاری جمعی بشر» داده شده است. فرهنگ حاکم در جامعه گنو/لینوکس و بازمتن، فرهنگ کمک، اشتراک اطلاعات و تلاش برای بهبود هرچه بیشتر محصولات و «انجام هرکاری که از دستت برمی‌آید» است. هرکس که می‌خواهد با این سیستم‌عامل کار کند، باید تمامی دیدگاه‌ها و عقاید قبلی خود را درباره نرم‌افزارها و سیستم‌عامل کنار گذاشته و با یک دیدگاه جدید و طرز فکر متحول شده وارد دنیای گنو/لینوکس شود، زیرا با فرهنگ حاکم متفاوتی روبرو خواهد بود. گنو/لینوکس نوید دهنده آزادی است.
منبع:http://www.academist.ir

ده قدم برای افزایش ترافیک وب سایت

 
این مقاله ۱۰ روش کم هزینه برای ایجاد ترافیک در وب سایت شما معرفی میکند . لذت ببرید.
۱- لینک های خود را با سایت هایی که حاوی مطالبی مشابه مطالب شما است ، داد و ستد کنید .
وقتی که بازدید کنندگان برای شما مهم باشند ، مسلما بازدید کنندگان هدف دار برای شما واقعا مهم هستند . اگر وب سایت شما در مورد سگها است ، این کار احمقانه ای است که لینک های خود را با سایتهایی متعلق به مردمی هست که از سگ متنفرند ، معاوضه کنید . برای آنکه این یک عمل ضد پیشرفت است و عاقلانه نیست .نه ، این روش داد و ستد لینک ها برای کار نیست .بهتره این کار با سایت هایی انجام شود که موضوعی را پوشش میدهند که با موضوع شما مرتبط است .
۲- انتشار یک وبلاگ
پرداختن به منافع یک وبلاگ از این موضوع این بحث خارج است و من وقت توضیح آن را ندارم . فقط میدونم که موتور های جستجو به وبلاگ ها علاقه دارند که دارندگان وب لاگها را با دیگر وبلاگ داران بطور مکرر به هم متصل کنند .
۳- انتشار خبرنامه خودتان
اکنون من میدونم شما چی فکر میکنید . انتشار یک خبرنامه ؟ به نظر می رسه که کار زیادی نمیتونه انجام بده . خوب بله میتونه . ولی اگرشما خبرنامه تان را در مورد چیزهایی که ار آن سود میبرید بنویسید ، ابدا خوب کار نخواهد کرد . مطالبتان را خارج از کاغذ یا یک محیط خاص نمیتوانید بنویسید ؟ در این مورد نگران نباشید ، در اینترنت مکانهای online فراوانی هست که شما میتونید که از آنجا مطالب رایگان در دسته بندی های منظم را متوانید دریافت کنید . فقط کافیست به موتور جستجو مورد علاقه تان مراجعه کره ور در فهرست مقاله ها مورد نظر را تایپ کنید . و شما از تعداد مواردی که در نتیجه جستجو می آید قطعا متعجب خواهید شد .
۴- عرضه کردن رایگان بعضی از مطالب که به موضوع اصلی شما مرتبط است .
مردم freebies را دوست دارند . مطمعن شوید که مطالب شما با کیفیت است و به موضوع اصلی شما مرتبط است . این خوب است که شما قبل از دریافت freebies توسط کاربر آدرس ایمیل کاربر را بخواهید . این راه خوبی برای جمع آوری سریع لیست افرادی که به موضوعات سایت شما علاقه دارند میباشد .
۵- مبادله کردن تبلیغات با دیگر منتشران مجله الکترونیکی
مجله های الکترونیکی که با موضوع شما مطابق هستند را جستجو کنید و تبلیغات خود را با آنها مبادله کنید . بعضی منتشران با این نوع مبادله برای مدت کوتاهی موافقت میکنند ، مخصوصا اگر مخارجی را هم تقبل کنید .
۶- شرکت کردن در محل های اجتماع عمومی در اینترنت online forums
۷- منتشر کردن آدرس وب سایت در هر چیزی که پخش میکنید ، کتاب ، کارت ویزیت ، کاتالوگ و بروشور
۸- مطالعه هر چیزی که به شما در مورد ایجاد آمد شد در وب سایت کمک کند .
این شدیدا مهم است که در این مورد مطالعه کنید چون اینترنت دقیقه به دقیقه تغییر میکند .ثبت نام کردن در مجله های الکترونیکی ، خواندن کتابهاب الکترونیکی ، و خواندن مطالب موجود در forums . تمام این منابع به شما کمک میکند تا همچنان در جریان آخرین تحولات و اخبار در اینترنت باشید .
۹- پرسیدن سوالاتی که در مورد آنها فگر میکنید از فروشگاه های اینترنتی
بعضی از فروشگاه های اینترنتی میتونند شما را برای موفقیت راهنمایی کنند ، خصوصا اگر با آنها آشنا نیز باشبد . اگر انها به شما را در راه موفقیت کمک کنند ، آنها نیز موفق میشوند . فراموش نکنید فقط سوالهای بی اهمیت سوالهای پرسیده نشده هستند .
۱۰- وقتی که شما ایده جدیدی به ذهنتان خطور کرد ، از آن استفاده کنید .
بهتره که این خارج از فقط یک حرف باشد ولی اگر ایده جالبی به ذهن شما رسید متوانید در هنگامی که تحقیقتان را انجام می دهید به سادگی آن را انجام داده و از تمام آن استفاده کنید . چرا شما تمام تحقیق را در اولین مرتبه انجام میدهید ؟
منبع:http://www.academist.ir

ده قدم برای افزایش ترافیک وب سایت

 
این مقاله ۱۰ روش کم هزینه برای ایجاد ترافیک در وب سایت شما معرفی میکند . لذت ببرید.
۱- لینک های خود را با سایت هایی که حاوی مطالبی مشابه مطالب شما است ، داد و ستد کنید .
وقتی که بازدید کنندگان برای شما مهم باشند ، مسلما بازدید کنندگان هدف دار برای شما واقعا مهم هستند . اگر وب سایت شما در مورد سگها است ، این کار احمقانه ای است که لینک های خود را با سایتهایی متعلق به مردمی هست که از سگ متنفرند ، معاوضه کنید . برای آنکه این یک عمل ضد پیشرفت است و عاقلانه نیست .نه ، این روش داد و ستد لینک ها برای کار نیست .بهتره این کار با سایت هایی انجام شود که موضوعی را پوشش میدهند که با موضوع شما مرتبط است .
۲- انتشار یک وبلاگ
پرداختن به منافع یک وبلاگ از این موضوع این بحث خارج است و من وقت توضیح آن را ندارم . فقط میدونم که موتور های جستجو به وبلاگ ها علاقه دارند که دارندگان وب لاگها را با دیگر وبلاگ داران بطور مکرر به هم متصل کنند .
۳- انتشار خبرنامه خودتان
اکنون من میدونم شما چی فکر میکنید . انتشار یک خبرنامه ؟ به نظر می رسه که کار زیادی نمیتونه انجام بده . خوب بله میتونه . ولی اگرشما خبرنامه تان را در مورد چیزهایی که ار آن سود میبرید بنویسید ، ابدا خوب کار نخواهد کرد . مطالبتان را خارج از کاغذ یا یک محیط خاص نمیتوانید بنویسید ؟ در این مورد نگران نباشید ، در اینترنت مکانهای online فراوانی هست که شما میتونید که از آنجا مطالب رایگان در دسته بندی های منظم را متوانید دریافت کنید . فقط کافیست به موتور جستجو مورد علاقه تان مراجعه کره ور در فهرست مقاله ها مورد نظر را تایپ کنید . و شما از تعداد مواردی که در نتیجه جستجو می آید قطعا متعجب خواهید شد .
۴- عرضه کردن رایگان بعضی از مطالب که به موضوع اصلی شما مرتبط است .
مردم freebies را دوست دارند . مطمعن شوید که مطالب شما با کیفیت است و به موضوع اصلی شما مرتبط است . این خوب است که شما قبل از دریافت freebies توسط کاربر آدرس ایمیل کاربر را بخواهید . این راه خوبی برای جمع آوری سریع لیست افرادی که به موضوعات سایت شما علاقه دارند میباشد .
۵- مبادله کردن تبلیغات با دیگر منتشران مجله الکترونیکی
مجله های الکترونیکی که با موضوع شما مطابق هستند را جستجو کنید و تبلیغات خود را با آنها مبادله کنید . بعضی منتشران با این نوع مبادله برای مدت کوتاهی موافقت میکنند ، مخصوصا اگر مخارجی را هم تقبل کنید .
۶- شرکت کردن در محل های اجتماع عمومی در اینترنت online forums
۷- منتشر کردن آدرس وب سایت در هر چیزی که پخش میکنید ، کتاب ، کارت ویزیت ، کاتالوگ و بروشور
۸- مطالعه هر چیزی که به شما در مورد ایجاد آمد شد در وب سایت کمک کند .
این شدیدا مهم است که در این مورد مطالعه کنید چون اینترنت دقیقه به دقیقه تغییر میکند .ثبت نام کردن در مجله های الکترونیکی ، خواندن کتابهاب الکترونیکی ، و خواندن مطالب موجود در forums . تمام این منابع به شما کمک میکند تا همچنان در جریان آخرین تحولات و اخبار در اینترنت باشید .
۹- پرسیدن سوالاتی که در مورد آنها فگر میکنید از فروشگاه های اینترنتی
بعضی از فروشگاه های اینترنتی میتونند شما را برای موفقیت راهنمایی کنند ، خصوصا اگر با آنها آشنا نیز باشبد . اگر انها به شما را در راه موفقیت کمک کنند ، آنها نیز موفق میشوند . فراموش نکنید فقط سوالهای بی اهمیت سوالهای پرسیده نشده هستند .
۱۰- وقتی که شما ایده جدیدی به ذهنتان خطور کرد ، از آن استفاده کنید .
بهتره که این خارج از فقط یک حرف باشد ولی اگر ایده جالبی به ذهن شما رسید متوانید در هنگامی که تحقیقتان را انجام می دهید به سادگی آن را انجام داده و از تمام آن استفاده کنید . چرا شما تمام تحقیق را در اولین مرتبه انجام میدهید ؟
منبع:http://www.academist.ir

روان شناسی رنگ ها در طراحی صفحات وب

روان شناسی رنگ ها در طراحی صفحات وب

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

یک بهترین رنگ نداریم!

در مدیریت نوین یک اصل پذیرفته شده وجود دارد که یک بهترین شیوه مدیریت در کار وجود ندارد. ترکیب و هماهنگی و استقرار یک نظام در رنگ بندی صفحات وب نیز ، چنین رویکردی دارد. تجربه و نوع علاقه و هنر web designer هست که سایتی را برای ما جذاب و سایتی دیگر را next می کنیم. نکاتی که می بایست در زمان طراحی گرافیکی سایت در نظر داشته باشیم به شرح زیر هستند :
۱- اثر روان شناسی رنگ
۲- قابلیت خواندن متون صفحات سایت . مثل سایت : (www.irna.com)
۳- رنگ متمم رنگهای انتخابی برای بک گراند ، گرافیک ها ، لینک ها و متون ( مثل سایت http://www.HiGrade.ir)
۴- وجود تطبیق رنگی بین لوگوها و آرم های صفحات با رنگ بندی متون و مطالب به کار گرفته شده (مثل سایت http://www.karvarz.com)
۵- توجه به نوع مخاطب و بازدیدکننده بخش های مختلف سایت . سایتی مانند یاهو ، که روزانه میلیون ها مخاطب دارد و از صدها بخش متنوع تشکیل شده است ، برای هر بخش خود از یک چیدمان و رنگ بندی خاصی در طراحی صفحات اکتیو ، استفاده کرده است . مثلا بخش کودکان یاهو با بخش بازرگانی ان بسیار تفاوت دارد

۵ اصل مهم

لیست زیر مشخصه هایی از رنگ ها را که هنگام طراحی باید مدنظر داشته باشید بیان میکند:
۱- رنگ ها اثر زیادی روی احساسات ما در ۹۰ ثانیه اول دیدن میگذارند .
۲- اثر رنگ میتواند بیننده را ترغیب به خرید یک جنس از شما کند.
۳- رنگ ها رفتار ما را در برابر یک موضوع فقط تشدید نمیکنند ، بلکه اثر خود را کاملا در رفتار ما نشان میدهند .
۴- اثر گذاری رنگ در فرهنگ های مختلف گوناگون است !
۵- هر رنگ به تنهایی یک پیام مخصوص به چشم بیننده میفرستد .به قول مک لوهان ، رسانه همان پیام است !

روان شناسی رنگ ها

به طور کل ، رنگ ها دارای خصیصه های خاصی هستند که در زیر به بخشی از این مولفه های موجود در رنگ ها اشاره شده است :
• سفید : اشاره دارد به صداقت ، پاکیزگی ، صمیمیت ، ملایمت و معاصر بود ن چیزی . سفید بهترین رنگ برای بک گراند های وب است . در تجارت سفید رنگ خستگی گیر و انرژی بخش است .
• سیاه : اشاره دارد به ظرافت ، قدرت ، دلیری ، شهامت ، فریبندگی ، شیطان ، مهارت و باستان . مشکی برای رنگ متن روی یک پس زمینه روشن ایده آل است. این رنگ بعنوان رنگ پس زمینه چشم را خسته میکند .
• قرمز : توانایی ، هیجان ، احساسات شدید ، سرعت ، خطر و تهاجم . این رنگ از بیننده توجه به خود را طلب میکند . در تجارت بمعنی وام و بدهی است . این رنگ شدید ترین رنگ احساس است و ضربان قلب و تنفس را تسریع میکند .
• آبی : امنیت ، اعتماد ، مسیولیت پذیری ، سرما ، ایمان ، وفاداری ، وابستگی وجاه و جلال . آبی دومین رنگ عوام پسند است . در تجارت بمعنای ضمانت مالی است .
• سبز : تندرستی ، فراوانی ، حاصلخیزی ، آزادی ، شفا و بهبودی ، طبیعت ، پیشرفت ، حسادت و خونسردی . در تجارت بیانگر مقام و ثروت است. این رنگ در چشم ها راحت تر از همه دیده میشود .
• قهوه ای : تاثیر گذاری ، متانت ، توانگری مالی و کمک کننده بودن . قهوه ای رنگ کره خاکی ماست و در طبیعت بسیار فراوان است .
• خاکستری : صمیمیت زیاد ، اعتبار و نفوذ و عملی بودن . در تجارت بمعنای سنت گرایی است .
• صورتی : ملایمت ، شیرینی ، ظرافت و زنانگی ، خوب بودن ، بی گناهی و پرورش کودک .
• بنفش : وقار ، معنویت ، شاهانه بودن ، عیش و نعمت ، دارایی ، اعتبار و نفوذ ، سوگواری و مهارت . در تجارت بزرگ نشان دادن است . بنفش طرفداری از سبک های هنرمندانه است.
• نارنجی : سرزندگی و شوخی ، لذت و خوشگذرانی ، تعادل گرمایی ، تشویق کردن ، چالاکی و نیرو ، تحمل و بلند همتی .
• زرد : نور خورشید ، گرمی ، خوشی ، نامردی ، ترسویی و حسادت . در تجارت درخواست از نوع روشنفکرانه است و برای تاکید نیز خوب است . زرد باعث افزایش تمرکز شده ، سوخت و ساز را زیاد میکند و سخت ترین رنگ برای چشم هاست .
• طلایی : نشانگر گران بودن و پرستیژ است .
• نقره ای : سرما ، علمی بودن و اعتبار و پرستیژ است .
پس وقتی میخواهید رنگی انتخاب کنید باید درباره بازار نهایی کار خود باندیشید . چه احساساتی را میخواهید برانگیخته کنید ؟ اول کمی درباره چشم انداز احساسی هدفتان فکر کنید و نیز پیامی که از راه دید میخواهید منتقل کنید .
بعد رنگ خود را انتخاب کنید ! توجه داشته باشید که گرافیک صفحات وب ، امروزه نقش زیادی را در ارایه دکترین رفتار سازمانی الکترونیکی مراکز رسانه ای غرب به مخاطبان در اختیار دارند و LOGO ، BANNER ، TIZER ها ، فوق العاده در تحکیم مفاهیم به مخاطبان وبی موثر هستند.
منبع:http://www.academist.ir

نرم افزار هاي متن باز چگونه درآمدزايي مي کنند؟

با نرم افزارهاي اوپن سورس که آشنايي داريد!؟ نرم افزار اوپن سورس، نرم افزاري است که کد منبع آن در اختيار همه قرار مي گيرد و معمولاً استفاده از آن براي همه رايگان است. اوپن سورس واژه اي است که اين روزها بسيار زياد به کار مي رود. رايگان بودن و در دسترس بودن کد اين نرم افزارها باعث پيشرفت بسيار سريع آن ها شده است. حتماً اين سئوال براي شما پيش خواهد آمد که يک نرم افزار اوپن سورس چطور هزينه هايش را تامين مي کند. سازندگان آن ها چگونه کسب درآمد مي کنند؟

خب تا آخر اين مطلب با ما باشيد تا بفهميد توليد کنندگان نرم افزارهاي اوپن سورس چگونه کسب درآمد مي کنند.

نرم افزار هاي متن باز

تقاضاي کمک مالي

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

 

سفارشي سازي محصول

معمولاً نرم افزارهاي اوپن سورس ابتدا بر اساس نيازهاي توسعه دهندگان خودشان يا نيازهايي که آن ها در نظر داشته اند، توليد مي شوند. هنگامي که اين نرم افزارها توسط کاربران و سازمان هاي ديگر مورد استفاده قرار مي گيرند، انتظارات جديدي نيز بوجود خواهد آمد. کاربران و سازمان هاي مختلف ممکن است نيازهاي ديگري داشته باشند. ممکن است سازماني از يک محصول اوپن سورس راضي باشد اما نياز به يکسري امکانات مخصوص داشته باشد. در اين گونه موارد توليد کنندگان نرم افزارهاي اوپن سورس براي ايجاد تغييرات و سفارشي سازي محصول خود از سازمان ها پول دريافت مي کنند. ممکن است با خود فکر کنيد که نرم افزاري که آزاد و اوپن سورس باشد را هر کسي مي تواند سفارشي کند، حتي خود آن سازمان هم مي تواند اين کار را انجام دهد، چرا براي اين کار به توليدکنندگان اصلي مراجعه مي کنند و حاضرند به آن ها پول بدهند!؟ درست است که کد منبع در اختيار همه قرار مي گيرد اما تغيير دادن و اضافه کردن امکانات به يک نرم افزار اوپن سورس به همين راحتي ها نيست. توليد کنندگان اصلي بيشتر از بقيه به کدهايي که نوشته اند تسلط دارند و از آن ها سر در مي آورند. ايده اين پروژه در سر آن ها بوده و بهترين کسي که مي تواند اين نرم افزار اوپن سورس را سفارشي کند توسعه دهدگان اصلي پروژه هستند.

 

پشتيباني محصول

اغلب نرم افزارهايي که توليد مي شوند بدون راهنما و پشتيباني تقريباً غير قابل استفاده اند. هر چه يک نرم افزار بزرگتر و حرفه اي تر باشد، نياز کاربران به پشتيباني قوي بيشتر است. معمولاً مجوزهاي اوپن سورس هيچ ضمانتي براي درست عمل کردن نرم افزار يا برطرف کردن نيازهاي کاربر توسط نرم افزار به کاربران نمي دهند.

توليد کنندگان نرم افزارهاي اوپن سورس هزينه اي براي پشتيباني و گارانتي محصولشان از کاربران و مشتريان سازماني مي گيرند.

توليد کنندگان نرم افزارهاي اوپن سورس هزينه اي براي پشتيباني و گارانتي محصولشان از کاربران و مشتريان سازماني مي گيرند. معمولاً به صورت دوره اي با مشتريان قرارداد مي بندند و به ازاي مبلغ مشخصي از محصول خودشان پشتيباني مي کنند. بسياري از شرکت هايي که نرم افزار اوپن سورس توليد مي کنند از اين راه کسب درآمد مي کنند.

 

فروش خدمات

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

 

نرم افزار هاي متن باز

فروش سخت افزارها و نرم افزارهاي مرتبط

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

 

تعيين مبلغي براي استفاده هاي تجاري

يک نرم افزار مي تواند رايگان و اوپن سورس باشد در حالي که براي استفاده تجاري از آن بايد مبلغي پرداخته شود. کاربران معمولي و غير تجاري مي توانند رايگان از اين محصول استفاده کنند اما شرکت هاي تجاري بايد مجوز تجاري محصول را خريداري کنند. محصول اوپن سورس مي تواند داراي دو مجوز يا به اصطلاح Dual-License باشد. کاربران خانگي و غير تجاري از يک مجوز و کاربران تجاري از يک مجوز غير رايگان استفاده کنند. به طور مثال MySQL يکي از موفق ترين محصولات نرم افزاري اوپن سورس از اين روش براي کسب درآمد استفاده مي کند.

يک نرم افزار مي تواند رايگان و اوپن سورس باشد در حالي که براي استفاده تجاري از آن بايد مبلغي پرداخته شود. کاربران معمولي و غير تجاري مي توانند رايگان از اين محصول استفاده کنند

 

پيدا کردن اسپانسر مالي

نرم افزار هاي متن باز

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

 

 

تنظيم براي تبيان: فاطمه مجدآبادي

بهترین ابزارهای رایگان آمارگیر وبسایت

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

ابزارهای مختلف با ویژگی‌ها و قیمت‌های گوناگون برای این کار وجود دارد، در این مطلب بهترین ابزارهای رایگان آمارگیر و تجزیه و تحلیل وبسایت را به شما نشان خواهیم داد.

آمارگیر

Clickly

Clickly برای فراهم ساختن تجزیه تحلیل بی‌درنگ (real time) وبسایت‌ها به خود میبالد. با رابط کاربری ساده و کاربردی آن میتوانید بسادگی اطلاعات مورد نظر خود را تا جزئی‌ترین موارد بیابید ضمن اینکه تحلیل ورودی‌های توییتر و داشتن یک نسخه مخصوص iPhone چیزی است که آن را منحصر به فرد میکند.

 

Google Analytics

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

 

آمارگیر

 

Reinvigorate

Reinvigorate آمار بازدیدهای وبسایت شما را بصورت بی‌درنگ در اختیار شما میگذارد. نشان دادن دیاگرام‌ای آماری و استفاده از تکنولوژی نقشه گرمایی (heat map technology) که مشخص میکند بازیدکنندگان بیشتر در چه نواحی از سایت شما کلیک کرده‌اند از جمله ویژگی‌های آنست. همچنین شما میتوانید اطلاعات آماری خود را از طریق برنامه‌ای بر روی دسکتاپ دریافت کنید.

 

Piwik

Piwik یک پروژه متن‌باز است که با PHP و MySQL ساخته شده است که برای استفاده باید آن را روی سرور خود نصب کنید که به سادگی و در 5 دقیقه قابل نصب است.

 

Yahoo! Web Analytics

Yahoo! Web Analytics یک آمارگیر با ویژگی‌های کامل است که خود را بیشتر برای مصارف تجاری معرفی میکند. داشبورد انعطاف پذیر، اطلاعات بی‌درنگ، چارت‌های دموگرافیک، شخصی‌سازی گزارش‌ها و … از ویژگی‌های پیشرفته آن میباشد.

 

WordPress.com Stats

WordPress.com Stats اگر سایت شما با وردپرس راه‌اندازی شده است و نمی‌خواهید با استفاده از ابزارهای گوتاگون خود را سردرگم کنید، آمارگیر وردپرس بهترین انتخاب برای شماست.

 

Woopra

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

 

FireStats

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

 

GoingUp

GoingUp از یک رابط کاربری تحت اِی‌جکس استفاده میکند که یک آمارگیر قدرتمند را با یک ابزار بهینه‌سازی موتورهای جستجوی (SEO) عالی ترکیب کرده و به سرویسی کامل تبدیل شده است که همه ابزارهای لازم را با 16 ویژگی مختلف در خود جای داده است.

برگرفته از ITLine

تنظیم برای تبیان: فاطمه مجدآبادی

Svg چیست ؟ کاربرد Svg در Xml چگونه است ؟

SVG زبانی برای توصیف گرافیک ۲ بعدی و برنامه های گرافیکی در XML است .
▪ این تکنولوژی مخفف کلمات Scalable Vector Graphics میباشد .
▪ SVG برای ایجاد گرافیک های برداری در صفحات وب بکار میرود.
▪ با زوم روی گرافیک کیفیت پایین نمی آید .
▪ هر المانی که در SVG می بینید میتواند نقاشی شود .
▪ SVG یکی از توصیه های کنسرسیوم w۳ میباشد .
SVG نسخه ۱.۱ در ژانویه ۲۰۰۳ برای اولین بار توسط W۳C توصیه شد . شرکت های Sun Adobe, Apple, IBM, Kodak ازجمله شرکت هایی بودند که بر روی این پروژه کار کرده اند .
‌● مزایای SVG نسبت به سایر فرمت های موجود مانند GIF , JPG :
▪ این فرمت توسط برنامه های بسیاری قابل خواندن است ، حتی notepad !
▪ حجم این فایل ها از فرمت های پیکسلی کم تر است .
▪ این عکس ها قابلیت تغییر اندازه بدون از دست دادن کیفیت را دارند .
▪ متون نوشته شده در این عکس ها بصورت TEXT بوده و قابل انتخاب و جستجو میباشد !
▪ SVG با تکنولوژی جاوا کار میکند .و یک استاندارد است .
▪ فایل های SVG کاملا XML هستند .
قابل مقایسه ترین برنامه با SVG را میتوان Flash نامید . با این تفاوت که SVG یک استاندارد بیش از فلش دارد و آن موازی بودن تکنولوژی آن با استاندارد هایی مانند XSL و DOM است . در ضمن فلش یک تکنولوژی اوپن سورس نیست . تنها مشکلی که پیش پای SVG قرار دارد این است که هنوز تمام مرورگر ها بصورت کامل از آن پشتیبانی نمی کنند . گرچه میتوان آینده SVG را روشن توصیف کرد . زیرا بنیاد موزیلا و مایکروسافت هر دو برنامه هایی برای پشتیبانی از SVG در مرورگر هایشان دارند . همچنین برنامه Adobe Golive ۵ بطور کامل از ویرایش SVG پشتیبانی میکند و ادیتور های آن درحال گسترش هستند . باید بدانید که فایل های SVG با پسوند .svg ذخیره میشوند .
● دیدن فایل های SVG در مرورگر :
برای دیدن فایل های SVG در مرورگر شما باید پلاگین Adobe SVG viewer را در سیستم خود نصب کرده باشید. البته اگر از فایرفاکس ۱.۵ استفاده میکنید نیازی به دانلود این پلاگین نیست .چون مرورگر فایرفاکس شما بصورت کامل ازین تکنولوژی استفاده میکند . دانلود پلاگین SVG Viewer
● لیستی از منابع اجرایی SVG
مثالی از SVG در کد های XML (رسم دایره بکمک SVG):

"http://www.w۳.org/Graphics/SVG/۱.۱/DTD/svg۱۱.dtd">
xmlns="http://www.w۳.org/۲۰۰۰/svg">
stroke-width="۲" fill="red"/>

برای دیدن مثال فوق بصورت اجرا شده با یک مرورگر که ازین برنامه پشتیبانی کند به لینکView example بروید . توضیح المنت های کد فوق
برای نشان دادن SVG در فایل های HTML میتوان از ۳ کد برای این کار استفاده کرد :
▪ تگ Embed
▪ تگ Object
▪ تگ iframe
جهت توضیحات بیشتر به بخش آموزشی SVG در W۳schools مراجعه کنید .
● RSS چیست ، چگونه یک RSS بسازیم ؟
RSS برای تبادل اطلاعات کوتاه مانند لینک ها و سرتیتر مقالات ابداع شد و به کاربران اجازه میدهد تا متون کوتاه خبری و لینک های سایت هایی که RSS دارند را بصورت سریع مرور کنند .
RSS مخفف Really Simple Syndication میباشد که بشما اجازه میدهد محتویات سایت خود را دسته بندی کرده و با یک فرمت سریع و استاندارد تیتر مقالات و اخبار سایت خود را در دسترس دیگران قرار دهید. فرمت فایل های RSS همان XML است. و بصورت اتوماتیک آپدیت میشود.
بدون وجود RSS کاربران باید هر روز سایت شما را چک کنند تا بتوانند از تازه های سایت شما باخبر شوند . اما با این تکنولوژی کاربران RSS چندین سایت را در یک برنامه RSS aggregator (یا RSS خوان) در کنار هم می بینند و تایتل نوشته های اخیر سایت شما را بدون مراجعه به سایت شما می بینند .
● RSS برای چه سایت هایی مناسب است ؟
اگر سایت شما مثلا ۶ ماه یکبار یا سالی یکبار بروز می شود ، طراحی خروجی RSS برای آن مفید نخواهد بود . RSS برای سایت هایی مناسب است که مرتبا بروز رسانی می شوند . مانند وبلاگ ها ، سایت های خبری و ...
▪ تاریخچه ای از RSS :
بد نیست بدانید که طراحی اولیه RSS توسط Dave Winer انجام پذیرفت و شرکت نت اسکیپ و OReilly از حامیان پیشرفت آن بودند. نسخه های معروف آن ۰.۹۱ و ۱.۰ و ۲.۰ است . ( RSS نسخه ۱ بدلیل استفاده از استاندارد RDF پیچیده تر و سخت تر از دوتای دیگر است).
یک مثال از فرمت RSS : فایل های RSS از گرامر دستوری ساده ای استفاده می کنند:

[URL="http://www.macromediax.com/"]http://www.macromediax.com[/URL]
macromediax Tutorials
[URL]http://www.macromediax.com/rss[/URL]

▪ RSSآموزش ساخت
اولین خط دستور فوق xml declaration است که نسخه XML و encoding صفحه را مشخص میکند. خط دوم المنت RSS و نسخه آنرا مشخص میکند. در خط سوم تگ قرار دارد . سه خط بعدی تایتل صفحه را با لینکش تعریف میکنند . ۵ خط بعدی تگ می باشد . این تگ همان چیزی است که شما میخواهید آنرا در RSS خود نشان دهید . شما می توانید چندین تگ item پشت سر هم قرار دهید. دو خط انتهایی نیز تگ های باز را میبندد.
RSS در اصل بیانی متفاوت ازXML میباشد و چون وجود خود را از XML دارد باید هنگام ساخت آن به نکات زیر توجه داشته باشید :
ـ تمام المنت های XML باید تگ بسته داشته باشند.
ـ تگ های xml به کوچکی و بزرگی حروف حساس هستند
ـ تودرتو قرار دادن المنت های xml باید بصورت کاملا صحیح انجام شود.
ـ نحوه نوشتن کامنت در RSS شبیه HTML است :
□ پوبلیش نهایی RSS سایتتان:
کد های خود را که نوشتید با فرمت rss.xml روی سایت خود قرار دهید و آدرس آنرا با عنوان RSS روی صفحات سایتتان قرار دهید . حالا سایت شما هم خروجی RSS دارد.

آفتاب

سایت ها و مقالات مخفی اینترنت را چگونه بیابیم؟!

این عنوان یکی از مقالاتی بود که چند روز گذشته در وب سایت Helpero ارسال شده بود. عنوان صفحه طوری بود که کاربر را کنجکاو کند تا به متن مقاله نگاهی بیاندازد. من نیز از روی همین کنجکاوی، مقاله نه چندان بلند آن را مطالعه کردم! نویسنده در ۵ مرحله کاربر را راهنمایی می کند تا بتواند صفحاتی را که تحت وب به صورت مخفی در آمده اند را بیابد. در اینجا منظور از مخفی بودن، به صفحاتی اشاره می شود که به وسیله Robots.txt از دید موتورهای جستجو پنهان می شوند. متن زیر ترجمه (برداشت) آزادی است از این نوشته که برای این پست آن را در نظر گرفته ام.

صفحات مخفی در وب

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

یک: وب سایت گوگل را باز کنید و این کلمه کلیدی را در آن جستجو نمایید:
"robots.txt" "disallow:" filetype:txt

صفحات مخفی در وب

دو: پس از آن شما نتایج فایل های Robots.txt که در آن ها از فرمان disallow استفاده شده را خواهید دید.

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

صفحات مخفی در وب

چهار: برای باز کردن یکی از آن صفحات ممنوعه کافی است که فرمان مقابل عبارات disallow را بدون کلمه Text انتهایی کپی کنید.

صفحات مخفی در وب

پنج: حالا متن کپی شده را در انتهای آدرس اصلی وب سایت قرار بدهید و وارد آن صفحه شوید.

صفحات مخفی در وب سایت کاخ سفید

این یکی از صفحات پنهان شده کاخ سفید است! حالا چه احساسی می توانید داشته باشید، یک شرلوک هولمز مدرن اینترنتی…؟!
منبع : http://weblogina.com

امنیت در نرم افزار و برنامه نویسی (قسمت سوم)

امنیت در نرم افزار و برنامه نویسی)قسمت سوم)
امنیت در نرم افزار و برنامه نویسی (قسمت سوم)

Decompiler به لحاظ "تئوریک" یعنی ابزاری برای تبدیل یک برنامهء باینری اجرائی یا یک کتابخانه یا درایور به سورس کد اصلی ؛ قبل از ورود به بحث لازمه یک طبقه بندی از موجودیتهائی که ممکنه ذیل عنوان Decompiler مطرح بشن داشته باشیم :
• - برنامه های اجرائی باینری : برنامه هائی که عموما" با زبانهای سطح بالائی نظیر VC یا دلفی نوشته میشن و به کدهای "مخصوص" به ویندوز/معماری ماشین ( مثلا" Win32/IA32 یعنی ویندوز 32 بیتی روی اینتل 32 بیتی ) ترجمه میشن .
- کتابخانه های اشتراکی : بسته های نرم افزاری که عموما با زبانهای سطح بالا برای کاربری در سایر برنامه ها تولید میشن و وابسته به سیستم عامل و معماری سخت افزاری هستند .
- برنامه های تفسیری : برنامه هائی که قبل از هر بار اجرا باید توسط یک مفسیر ترجمه بشن . به عنوان مثال برنامه های VB6 که بصورت PCode منتشر میشن و هر بار قبل از اجرا توسط VB runtime تفسیر میشن .
- برنامه های مبتنی بر زمان اجرا : برنامه هائی که برای اجرا نیاز به بستر از پیش فراهم شده ای برای روند اجرا دارند . مانند برنامه های دات نت و جاوا .
- درایور ها : کدهای سطح کرنلی که مختص سیستم عامل و معماری سخت افزاری هستند و عموما با زبانهای سطح پائین تولید میشن .

سوال : آیا معنای تئوریک Decompiler برای همه این گروهها محقق شده ؟ میشه ؟ خواهد شد ؟

جواب : خیر .
هیچ Decompiler ای برای گروهای اول و دوم و پنجم ارائه نشده ، نمیشه ، نخواهد شد . یعنی دریافت سورس کد کامل نرم افزارهای اجرائی از نسخه باینری اونها مطلقا" غیر ممکنه . این عدم امکان فنی نیست که در آینده با پیشرفت دانش امکان پذیر بشه ؛ یک نفی منطقی است . یعنی منطقا" امکان باز-تولید سورس کد کامل یک برنامه تولید شده با محیطهائی مثل Delphi یا VC وجود نداشته ، نداره ، نخواهد داشت .
سوال : پس نرم افزارهای متعددی که تحت عنوان Decompiler منتشر میشن چی ؟
جواب : با توجه به تعریف Decompiler ، جواب داده شد .

سوال : در مورد گروه های سوم و چهارم چی ؟

جواب : برای این دو گروه Decompiler وجود داشته و داره ؛ با یک توضیح کوچک . برنامه هائی هستند که میتونن از برنامهء اجرائی VB ( به عنوان نماینده گروه سوم ) یک سورس کامل قابل کامپایل تولید کنند ، اما ، این سورس ، لزوما" قرار نیست همان سورسی باشد که توسعه گران نرم افزار تولید کرده اند ؛ برای دات نت ( نمایندهء گروه چهارم ) نیز Decompiler های متعددی وجود داره ؛ اما هیچکدام قول نمیدهند خروجی آنها لزوما" همان سورس کدی باشد که برنامه از آن تولید شده .
سوال : آیا اصولا" وجود Decompiler لازمه ؟
جواب : برای اهداف مثبت و خیرخواهانه خیر . حتی برای اهداف غیر خیرخواهانه نیز وجود Decompiler یک لازمه نیست . هیچ کسی از وجود ابزاری که بتونه برنامهء او رو به سورس قابل قبولی مبدل کنه خوشحال نخواهد شد ؛ این ابزار کمکی به توسعه نرم افزار نمیکنه و سود اقتصادی ، پیشرفت علمی و افزایش قابلیتهای صنعت نرم افزار رو بیشتر نخواهد کرد . حتی برای اهداف مخرب هم ، وجود چنین ابزاری لازم نیست چون بسیاری از کسانی که در این مسیر فعالیت میکنند برای تخریب امنیت یک نرم افزار نیازی به دست رسی به سورس اون ندارند . کشف نقاط ضعف امنیتی یا عبور از حفاظهای نرم افزار عموما" در محیطهائی اتفاق می افته که سورس وجود نداره و تمام فرآیند تخریب از طریق مهندسی معکوس یا Reverse Engineering انجام میگیرد .

سوال : برنامه هائی که با جاوا و دات نت نوشته میشن چقدر امن هستند ؟

جواب : چون نقطهء صفری وجود نداره ، میزانی قابل ارائه نیست ؛ اما در مقام مقایسه :
• - بررسی و Trace و بازبینی روند اجرا ی برنامه هائی که با محیطهائی نظیر دات نت و جاوا تولید میشوند ، به مراتب دشوار تر از برنامه هائی است که با محیطهائی نظیر دلفی و VC تولید میشوند؛ چرا که وجود Runtime های بزرگی مانند JRE یا CLR باعث میشه پیچیدگی فراخوانی ها ، مدیریت حافظه ، مدیریت ریسمان ها و پردازه ها و غیرهم به مراتب از برنامه های اصطلاحا" Native ( مانند خروجی های VC ) بیشتر باشه . پس فی المثل درک جزئیات فنی یک الگوریتم ، وقتی با دات نت نوشته شده باشه و به خوبی با Framework مخلوط باشه واقعا" دشوار تر از درک جزئیات فنی الگوریتمی که با Delphi کامپایل شده .
- عبور یا تخریب حفاظهای نرم افزارهائی که با زبانهای نظیر جاوا و دات نت نوشته میشن به مراتب آسون تر از برنامه هائی است که با امثال دلفی و VC تولید میشن . چرا که اگر از درک جزئیات یک الگوریتم بگذریم ، وابستگی کامل این برنامه ها به یک لایهء میانی به نام زمان اجرا و عدم وابستگی به عناصر زیر ساختی سستم عامل و پردازنده و سخت افزار و همچنین امکانات بیشتر نفوذگران نرم افزار در تغییر محتویات این برنامه ها باعث میشن از این دیدگاه ، برنامه های Native وضع بهتری داشته باشند .
• ( میگذریم از این حقیقت که برای یک حرفه ای ، اهمیت خاصی نداره که یک برنامه با دلفی کامپایل شده یا Managed CPP )

سوال : روشهای حفاظتی که برای مقابله با Decompiler ها مورد استفاده قرار میگیره چقدر قابل اعتمادند ؟

جواب : برای امثال دات نت و جاوا ، تقریبا" هیچ . برای سایر محیطها ، Decompiler دشمن خطرناکی به حساب نمیاد . فی المثل برنامه ای با عنوان DeDe با Delphi Decompiler مدعی است که یک Decompiler برای دلفی است ؛ اما در واقع تو فقط میتونی یک سری اطلاعات دریافت کنی ؛ و نه سورس کد کامل . ممکنه در برخی موارد این اطلاعات بتونه به یک نفوذگر نرم افزاری کمک خاصی بکنه ؛ اما من حیث مجموع ، اینگونه برنامه ها تهدید خطرناکی به حساب نمیان . بگذریم از این واقعیت که یک نفوذگر نرم افزاری برای حذف روتین حفاظتی نرم افزار یا جستجوی یک سرویس برای نقاط ضعف متداول ، نیازی به یک Decompiler نداره . تمام وقایع تلخی که سالهاست شاهدش هستیم داره تحت شرایطی می افته که هیچ Decompiler ضعیفی هم وجود نداره.
منبع:www.barnamenevise.ir