باز افتخاری دیگر
با سلام خدمت همه ایرانیان
ساخت اولین ابر رایانه های ملی و کسب رتبه ۱۰۸ جهان را به شما تبریک می گوییم
انجام کلیه پروژه های برنامه نویسی و دانشجویی
با سلام خدمت همه ایرانیان
ساخت اولین ابر رایانه های ملی و کسب رتبه ۱۰۸ جهان را به شما تبریک می گوییم
css یک زبان استایل شیت (stylesheet) است که برای توصیف شیوه نمایش فایل های متنی نوشته شده به زبان های مارک آپ (markup) استفاده می شود. زبان های استایل شیت همان طور که از نام آنها بر می آید، فرم نمایش فایل ها را مشخص می کنند. مهم ترین کاربرد این زبان ایجاد استیل و فرم برای صفحات وب نوشته شده به زبان html و xhtml است. با این وجود css را می توان در مورد هر نوع متن نوشته شده به زبان xml از جمله svg و xul اعمال کرد. ویژگی ها از مهم ترین مزایای css این است که کاربران می توانند رنگ، فونت، ساختار و دیگر وجوه نمایش متن را تغییر دهند. هدف اصلی از طراحی css جدا کردن محتوای متنی فایل ها از شیوه نمایش آنها است. محتوای متنی فایل ها به زبان html و دیگر زبان های مارک آپ و شیوه نمایش متن با استفاده از زبان css نوشته می شود. این جداسازی می تواند دسترسی به محتوای متنی را بهبود بخشد، انعطاف پذیری و کنترل روی مشخصات و ویژگی های نمایش را افزایش دهد و پیچیدگی و تکرارمحتوای ساختاری را از طریق ایجاد امکاناتی مانند طراحی وب بدون استفاده از جدول کاهش دهد. با استفاده از css می توان یک صفحه مارک آپ را به شیوه های (style) گوناگون و با شیوه های رندرینگ متفاوت نمایش داد. روش های مختلف رندرینگ فایل را به اشکال مختلف مناسب برای کاربردهای مختلف آماده می کند. به عنوان مثال، نسخه های قابل چاپ، نسخه های قابل تبدیل به صوت که با مرورگرهای مبتنی بر صدا یا خواننده صفحه نمایش قابل خواندن هستند توسط css آماده می شوند. از مهم ترین ویژگی های css می توان به امکان رندرینگ صفحه برای تبدیل به خط بریل اشاره کرد. دستور زبان css دستور زبان css ساده است و از تعداد اندکی کلمات کلیدی انگلیسی تشکیل می شود که برای مشخص کردن اسامی مشخصات فرم های گوناگون استفاده می شوند. یک استایل شیت در حقیقت یک لیست از قوانین است. هر قانون یا مجموعه قوانین از یک یا چند انتخاب کننده و یک بلوک تعریف کننده تشکیل می شود. بلوک تعریف کننده شامل یک لیست از تعریف های جدا شده توسط سمی کالن (;) است که درون دو کروشه قرار می گیرند. هر تعریف خود شامل یک مشخصه، یک کولون، یک مقدار و در انتها یک سمی کولون است. css دارای یک الگوی تعیین تقدم برای مشخص کردن تقدم قوانین فرم های مختلف است. زمانی که چند قانون مرتبط با یک استیل قابل اعمال هستند، css تقدم آنها را تعیین می کند و سپس با محاسبه وزن یا تقدم هر قانون، این تقدم را به آنها اختصاص می دهد. این عمل که به cascade به معنای «آبشار» معروف است نتایج اعمال قوانین را قابل پیش بینی می سازد. یکی از ویژگی های قابل توجه در css این است که اجازه می دهد فرم و استیل یک فایل تحت تاثیر چند استایل شیت باشد. یک استایل شیت می تواند برخی از ویژگی های خود را از یک استایل شیت دیگر به ارث ببرد. این ویژگی امکان ایجاد ترکیب منحصر به فردی از انواع فرم ها را فراهم می کند. کاربرد css پیش از پیدایش css تقریبا همه ویژگی های نمایشی اسناد html در کد html نوشته شده به زبان مارک آپ درج می شد. رنگ فونت، فرم و استیل پس زمینه، مرزها و اندازه ها و نیز نحوه قرار گرفتن اجزای مختلف نسبت به هم باید به طور مستقیم و اغلب به طور تکرارشونده در کد html گنجانیده می شدند. css به برنامه نویسان اجازه می دهد که بخش بزرگی از این اطلاعات را به یک استایل شیت مجزا منتقل کنند و با این کار کد html را ساده تر کنند و کارایی آن را افزایش دهند در حالی که کدهای پیش از پیدایش css علاوه بر پیچیدگی زیاد انعطاف پذیری اندکی داشتند و نگهداری کد نیز با دشواری و هزینه زیاد همراه بود. تاریخچه پیدایش استایل شیت ها به دهه 1970 باز می گردد. در آن زمان این نوع فایل ها sgml نامیده می شدند. آبشاری کردن این صفحات به عنوان ابزاری برای ایجاد یک روش سازگار و مناسب برای فراهما~وری اطلاعات فرم و استیل برای صفحات وب به وجود آمد. با گذشت زمان، رشد زبان html آن را به یکی از مهم ترین ابزارهای کار توسعه دهندگان وب تبدیل کرد. هرچند این روند تکاملی قدرت کنترل طراح بر ظاهر سایت را تا حد زیادی افزایش می داد، این امر به قیمت پیچیدگی کد html و افزایش هزینه های نوشتن کد و نگهداری آن تمام می شد. گوناگونی در پیاده سازی مرورگرهای وب ایجاد یک وضعیت ثابت و پایدار در ظاهر سایت را ناممکن می ساخت و کاربران کنترل کمتری بر شیوه نمایش صفحات وب داشتند و نمی توانستند در صورت لزوم تغییری در آن به وجود آورند. برای بهبود قابلیت های نمایش صفحات وب، 9 زبان مختلف به c3w پیشنهاد شد. از میان این 9زبان، دو زبان انتخاب شدند که پایه های اصلی css را تشکیل می دهند. این دو زبان عبارت بودند از: chss و ssp . طراحی و توسعه css در سال 1995 آغاز شد و پیش از پایان سال 1996 رسما با نام css سطح یک منتشر شد. نسخه کنونی css به نام css سطح 3 که در سال 1998 پدید آمد، همچنان در حال توسعه است. پشتیبانی مرورگرها فیلتر css یک فن کدگذاری است که هدف آن نمایش یا مخفی کردن بخش هایی از css در مرورگرهای مختلف است. با استفاده از فیلتر css می توان کدهای css را به نحوی تغییر داد که در مرورگرهای مختلف به درستی نمایش داده شود. محدودیت ها مرورگرهای مختلف کدهای css را به روش های مختلف رندر می کنند. این امر نتیجه اشکالات موجود در طراحی مرورگرها یا عدم پشتیبانی برخی از مرورگرها از ویژگی های css است. به عنوان مثال ie که از نسخه 3 تاکنون نسخه 2.0 css را پیاده سازی کرده است، در اغلب نسخه های پیش از نسخه 8 بسیاری از خصوصیات بسیار مهم مانند طول و عرض را به درستی تفسیر نمی کرد. اکنون اکثر مرورگرها با موفقیت بر این مشکل غلبه کرده اند اما css هنوز نیازمند اعمال تغییرات زیادی است تا به ساختار قابل نمایش یکسانی روی همه مرورگرها دست یابد. به نظر می رسد که تا دستیابی به ساختاری که با دقتی در حد پیکسل روی همه مرورگرها یکسان نمایش داده شود، راه درازی در پیش است. عدم وجود عبارت های محاسباتی در css انجام عملیات محاسباتی را امکان ناپذیر می سازد. اگرچه css برای انجام محاسبات طراحی نشده است، اما در مواردی مانند تعیین حاشیه صفحه بر حسب تعداد ستون ها یا پیکسل ها انجام محاسبات ساده لازم است. عدم وجود متغیرها در css نیز از مواردی است که باید در مورد آن چاره اندیشی شود. در زبان css تنها می توان از مقادیر ثابت استفاده کرد. به این ترتیب وقتی مقدار یکی از ثابت های موجود در کد تغییر می کند تنها با استفاده از دستور replace-all می توان مقدار آن را در همه قسمت های کد تغییر داد. تغییر مقدار از طریق جابجایی چندان منطقی نیست واغلب مشکل ایجاد می کند. مثلا اگر بخواهیم برخی از مقادیر ارتفاع را که 50 پیکسل هستند، تغییر دهیم و برخی دیگر را ثابت نگهداریم، استفاده از این شیوه عملی نیست. انجام این کار در css تنها از طریق عبارات منظم بسیار پیچیده امکان پذیر است. بسیاری از توسعه دهندگان کد برای حل این مشکل از php برای کنترل و تغییر خروجی css استفاده می کنند. امروزه بسیاری از توسعه دهندگان کد معتقدند که css نیازمند پیاده سازی برخی از المان ها و ویژگی های زبان های برنامه نویسی است. مزایا با ترکیب css با امکانات یک سیستم مدیریت محتوا، می توان سیستم را به نحوی برنامه ریزی کرد که انعطاف پذیری سیستم افزایش یافته و قابل تطبیق با محتوای صفحه باشد. این مساله به کاربران و برنامه نویسانی که آشنایی زیادی با مفاهیم css و با ویرایش کد css و html ندارند، کمک می کند بدون ایجاد تغییرات زیاد صفحات جدید را به فرمی یکسان با صفحات قبلی ایجاد کنند. برای نمونه، نویسنده یک مقاله می تواند تعداد ستون های مقاله را تعیین کند یا تصمیم بگیرد که کدام صفحات مقاله دارای تصویر باشند. این اطلاعات به سیستم مدیریت محتوا منتقل می شود و منطق برنامه اطلاعات دریافتی را ارزیابی می کند و بر اساس تعداد مشخصی از پارامترها تعیین می کند که چطور مجموعه ای از قوانین و کلاس ها را به المان های html اعمال کند. بنابراین مکان و فرم المان ها توسط سیستم مدیریت محتوا تعیین می شود. اهمیت این مزیت بزرگ زمانی مشخص می شود که در مقیاس های خیلی بزرگ و با سایت های پیچیده سر و کار داشته باشیم. سایت های خبری نمونه بارزی از این نوع سایت ها هستند، تعداد افرادی که این نوع سایت ها را به روز می کنند و یا به نوعی به آنها اطلاعات ارسال می کنند، نسبتا زیاد باشد و این امتیاز بزرگ طراحی و نگهداری آنها را تا حد زیادی آسان می کند. وقتی css از دیدگاه ارث بری و cascading به طور کارآمد استفاده شود، یک استایل شیت یکنواخت و یک دست به دست می آید که می توان فرم و استیل آن را بر همه المان های سایت اعمال کرد. در صورت نیاز به تغییر فرم و استیل برخی از المان ها، اعمال این تغییرات با استفاده از سیستم مدیریت محتوا بسیار ساده و با استفاده از ویرایش تعداد اندکی از قوانین امکان پذیر است؛ در حالی که پیش از پیدایش css ، این نوع نگهداری از سیستم بسیار دشوار، پرهزینه و وقت گیر بود.
احتمالا بررسی معماری باب کت را از نارنجی به یاد دارید. اگر این طور است، پس حتما وعده بررسی بولدوزر را هم یادتان هست. در این مقاله هم به این وعده جامه عمل پوشاندیم و این معماری را که برای بازار پردازنده های حرفه ای ارائه شده، بررسی کردیم. اگر شما هم می خواهید بدانید که سرنوشت پردازنده های AMD در چند سال آینده چگونه پیش خواهد رفت، روی ادامه مطلب کلیک کنید تا شاهد ادامه این بررسی باشید.
ای ام دی هنوز هم به طور واضح در مورد تاریخ انتشار پردازنده هایی با این
معماری، صحبت نکرده است. پس نمی دانیم، دقیقا چه موقع این پردازنده سرنوشت
نسل های آینده سرور ها و کامپیوتر های آینده را رقم می زند و گیمر های
هاردکور تا کی باید منتظر بمانند.
گیمر های هاردکور به افرادی می گویند که بیشتر وقت خود را صرف بازی های
کامپیوتری می کنند و معمولا دوست دارند، بازی ها را با بیشترین نرخ فریم
دهی و بهترین سخت افزار ها تجربه کنند. این افراد یا از روی علاقه این کار
ها را انجام می دهند، یا از سوی شرکت های بزرگ ساخت بازی، برای تست بازی ها
و یافتن باگ های آنها استفاده می شوند.
اکنون جزئیات زیادی از معماری سری بولدوزر در دسترس است و به همین جهت ما
حرف های زیادی برای گفتن داریم. در سال 1999، AMD معماری K7 را طراحی کرد
اما از سال 1999 تاکنون، این اولین بار است که AMD معماری پردزانده های خود
را
از نو
انجام می دهد. پس می توان گفت که با عرضه معماری بولدوزر، ای ام دی، کاری پر خطر را با موفقیت به پایان رسانده است.
-فلسفه بولدوزر بودن:
اکنون بیایید تا از فلسفه ساخت بولدوزر سخن بگوییم. اول از همه توضیحی لازم است:
در حال حاضر پردازنده ها از دو راه برای بهبود عملکرد خود استفاده می کنند.
یکی استفاده از چند هسته فیزیکی برای پردازش است و دومی استفاده از مولتی
تریدینگ موازی می باشد. ای ام دی، بولدوزر را به عنوان راه سومی در بین این
دو مطرح می کند. با همراهي شما، ابتدا توضیح این دو را خواهیم داد و بعد
به سراغ بررسی Bulldozer خواهیم رفت.
استفاده از چند هسته فیزیکی برای پردازش: می دانید که در این چند ساله اخیر رقابت بر سر زیاد کردن هسته ها بوده. تا جایی که اینتل
Core i7-980X
و ای ام دی،
Phenom II X6 1090T
را عرضه کرد که هر دو این ها پردازنده های شش هسته ای هستند. استفاده از 6
هسته، موجب عملکرد 6 برابر نسبت به فرکانس خواهد شد. البته لازم است بدانید
که برنامه ها هم باید برای 6 هسته بهینه سازی شوند.
برای مثال اگر شما یک برنامه با Visual Basic.net بنویسید. که اعداد 1 تا
10000 را یکی یکی در یک جعبه متن چاپ کند، به پردازنده فشار خواهد آورد.
اگر اتمام این برنامه برای یک پردازنده 2 هسته ای با فرکانس 2.6 گیگاهرتز،7
دقیقه طول بکشد. برای یک پردازنده 4 هسته ای با همین فرکانس نیز هفت دقیقه
طول خواهد کشید. چون این برنامه فقط از یک هسته استفاده می کند و به این
ترتیب، پردازنده دو هسته ای از 50 درصد و پردازنده چهار هسته ای از 25 درصد
توان خودش بهره خواهد برد! اگر باور ندارید می توانید، برنامه
تست پردازنده نارنجی
را با حجم 56 کیلوبایت، برای ویندوز دانلود کنید (این یک برنامه کم حجم و
کوچک است که جای بهبود دارد و صرفا برای اثبات این مساله ساخته شده و جنبه
بنچ مارک گیری ندارد)
به این ترتیب با بهینه سازی برنامه ها می توان به نتایج بسیار بهتری دست
یافت و استفاده از چند هسته فیزیکی برای پردازش کمک بسیار زیادی به عملکرد
بهتر می باشد.
استفاده از Multi-Threading :
ابتدا باید توضیحی را از مولتی تریدینگ ارائه کنیم. برای اطلاعات بیشتر می
توانید به مطلب بررسی دایرکت ایکس یازده مراجعه نمایید و این دقیقا همان
تعریفی است که در آن مقاله ارائه دادیم:
گاهی اوقات لازم می شود که هر برنامه و بازی دو یا چند عمل را به صورت هم
زمان انجام دهد؛ بدون این که از دسترس خارج و به قول معروف Not Responding
شود. برای مثال در بازی ها وقتی شما در حال تیر اندازی کردن هستید از ویژگی
مولتی تریدینگ استفاده می کنید چون هم حرکات شما پردازش می شود و هم حرکات
و اعمال دشمنان شما.
پس مولتی تریدینگ کمک می کند که چند عمل به طور همزمان انجام شود. اما
برنامه ها باید برای مولتی تریدینگ نیز بهینه سازی شوند. ولی انتظار نداشته
باشید که برای اثبات این یکی هم برنامه بدهیم! در عوض یک نکته مهم: مولتی
تریدینگ با پردازنده ها سر و کار مستقیم دارد و پردازنده ای که Thread های
بیشتری داشته باشد، در این کار موفق تر است. یک پردازنده 6 هسته ای با 12
ترید می تواند، در هر هسته خود 2 کار را همزمان انجام دهد. لازم به ذکر است
که در یک برنامه خوب، بسته به سنگینی عملیات پردازشی، کار ها بین ترید ها و
هسته ها تقسیم می شوند. برای مثال 12 کار کوچک بین دوازده ترید، اگر نه شش
کار بزرگ بین 6 هسته و باز هم اگر نشد، 3 کار سنگین، هر کدام با دو هسته و
....
-در اعماق یک بولدوزر:
حالا می خواهیم ببینیم که این راه سومی که ای ام دی میگوید چیست؟ در زیر دو
دیاگرم می بینید. دیاگرم سمت چپ، یک چیپ دو هسته ای است. معماری این چیپ
شبیه معماری اصلی بولدوزر است. اما به دیاگرم سمت راست بنگرید تا اوج کار
را در یابید. این یک چیپ یک هسته ای است که این دو هسته را در خود جای داده
است!
با این که کار جالبی است، اما ما هنوز هم مشکوک هستیم که آیا نامیدن
بولدوزر به عنوان "راه سوم" درست است یا این که فقط تقلیدی است از تکنولوژی
Hyper Threading اینتل؟
قبل از همه چیز باید شما را با مفهوم پایپ لاین آشنا کنیم. برای اطلاعات بیشتر در این مورد هم می توانید به مقاله
بررسی کرتکس و تگرا
2 مراجعه نمایید. اما این تعریف پایپ لاین است:
پایپ لاین (pipe line) ها یک سری از عناصر پردازش اطلاعات هستند که به یک
دیگر متصل شده اند و معمولا به طور موازی کار می کنند. بر این اساس، خروجی
هر چیپ پردازنده، ورودی چیپ پردازنده بعدی خواهد بود و به همین ترتیب
عملیات تا اتمام کار ادامه پیدا می کند. بیشتر شدن تعداد پایپ لاین ها در
مولتی تریدینگ (در مطلب مربوط به بررسی دایرکت ایکس یازده توضیح آن داده
شد) و سرعت عملیات پردازشی تاثیر زیادی می گزارد. به یاد داشته باشید که در
پردازنده ها هر Thread از تعدادی پایپ لاین تشکیل شده که در دیاگرام های
بالا هم می توانید صحت این مساله را دریابید.
تکنولوژی هایپر تریدینگ اینتل، راندمان کاری هسته ها را با استفاده از
اتحاد کاری ترید ها و پایپ لاین ها بالا می برد. به این صورت که دستورات را
به حد نساب پایپ لاین ها رسانده و در یک ثانیه به تمامی پایپ لاین های
هسته، اعمال می کند. در این وضعیت، در شرایطی که پردازنده منتظر کد ها از
ترید A هست، هایپر تریدینگ، عملیات دیگر را به سمت ترید B سوق می دهد تا از
حداکثر ظرفیت پردازنده، استفاده شود. به این ترتیب دیگر نقطه خللی به وجود
نمی آید. این کاری است که هم هایپر تریدینگ انجام می دهد و هم معماری
Bulldozer ولی کار بولدوزر تنها این نیست، این معماری دو هسته را در یک
ماژول گرد آوری کرده و کنترل بیشتری بر ترید ها دارد به این ترتیب وضعیت
این گونه می شود:(به پاراگراف پایین، دقت بسیار داشته باشید)
باید برای شما یک سناریو را تعریف کنیم : فکر کنید که پردازنده درگیر یک
عملیات سنگین است. دستورات در کش سطح یکی که در هسته اول است ذخیره شده
اند. پردازنده صبر می کند که دستورات به حد نصاب کل پایپ لاین های هسته اول
برسند و این کار را با هسته دوم نیز انجام می دهد. (فرض می کنیم که هر
هسته تنها یک Thread دارد.) برای مثال اگر کل پایپ لاین های هسته اول، 4
عدد باشند و روی هم، توان پردازشی معادل 400 گیگافلاپ را داشته باشند و کد
ها به این توان برسند، پردازنده یک باره کد ها را از کش دستورات به هسته
اول منتقل کرده و پردازش را انجام میدهند. اما حالا تصور کنید که در دور
دوم، کد های هسته اول به 300 گیگافلاپ و توان پردازشی مورد نیاز برای کد
های هسته دوم به 100 گیگافلاپ برسند. پردازنده آن ها را به هسته اول می برد
و هسته دوم را باز می گذارد. به این ترتیب از ظرفیت های هسته اول نهایت
استفاده صورت می گیرد و در طی کار هسته اول، هسته دوم می تواند دستورات را
به حد نصاب خودش رسانده و عمل کند. به این ترتیب، از حداکثر ظرفیت برای
مولتی تریدینگ استفاده شده و دیگر هیچ خللی باقی نمی ماند. این نکته
هوشمندانه کاری است که در Bulldozer صورت گرفته.(فلاپ یک واحد رایج در
اندازه گیری توان پردازشی است. البته در این مثال کاری به زیاد یا کم بودن
قدرت نداریم و فقط یک عدد تصادفی را برای مثال در نظر گرفته ایم)
همانطور که در دیاگرام بالا می بینید، این معماری سطوح مختلفی را شامل می
شود. کش L3 که با رنگ خاکستری مشاهده می کنید در سراسر پردازنده به اشتراک
گذاشته می شود. قسمت های صورتی رنگ در سطح ماژول به اشتراک گذاشته می شوند و
قسمت های آبی رنگ که از اصلی ترین اجزاء پردازشی هستند، به طور اختصاصی
کار می کنند و البته طبیعتا کنترل آن ها برای پردازنده امکان پذیر می
باشد.
چیزی که این دیاگرم نشان می دهد، استفاده از ماژول به جای هسته است. این
کار باعث شده که ماژول ها بتوانند، خود کنترل عملیات پردازشی را به دست
بگیرند. پس مجددا تاکید می شود که اگر از پتانسیل های نرم افزاری بولدوزر
نیز استفاده شود، احتمالا در سال های آتی شاهد کنترل ماژول ها توسط برنامه و
کنترل هسته ها توسط پردازنده، خواهیم بود. این یعنی عملکردی بسیار بالا تر
و پایدار تر. اما قضیه به همین سادگی نیست و در آن چند نکته مهم وجود دارد
که در ادامه به آن خواهیم رسید.
به گفته AMD، تحقیقات گسترده ای انجام شده و نتیجه این بوده که برای به دست
آوردن عملکرد بهتر لازم است هر ماژول از دو هسته بهره ببرد. اگر تعریف گنگ
است، لازم نیست نگرانی به خود راه بدهید، چون در ادامه مروری خواهیم داشت
بر همه ی موارد باقی مانده.
-زیر کاپوت:
از عهد K7 تا کنون، هیچکدام از پردازنده های AMD، در پشتیبانی از کد های
x86، به اندازه بولدوزر قوی نبوده اند. اول یک تعریف از کد های x86 و
اطلاعات بیشتر را می توانید در مطلب
بررسی باب کت
بیابید:
دستورات x86، دستورات 32 بیتی هستند که توسط سیستم عامل به پردازنده داده
می شوند. البته این دستورات فقط برای سیستم عامل نیست و بسیاری از برنامه
های 32 بیتی نیز از این نوع دستورات در کد های خود استفاده می کنند.
دستورات x86 از زمانی متداول شدند که اینتل پردازنده های 32 بیتی را روانه
بازار کرد و همگان به مزایای بالا و گسترده بودن اعمال قابل انجام توسط این
پردازنده ها پی بردند و پس از آن، این پردازنده ها گسترش زیادی یافتند.
اما معماری بولدوزر برای این کد ها تدیبیری چهار گانه اندیشیده است! یعنی
این معماری و پردازنده های مبتنی بر آن، مجهز به چهار کدگشا برای کد های
ایکس 86 خواهند بود! پس بولدوزر در این مورد، در سطح معماری گران قیمت
Nehalem اینتل قرار دارد. این در حالی است که محصولات قبلی AMD از سه کد
گشا استفاده می کردند.
اما حالا که کاپوت یک بولدوزر را بالا زده ایم، لازم است به جزئیات ریز و
مهم آن نیز توجه داشته باشیم. اکنون می خواهیم توضیحاتی را در مورد واحد
استنباطی پردازنده یا Branch Prediction Unit مطرح کنیم.
در دیاگرم بالا واحد استنباطی یا Branch Prediction Unit، از کد ها
استنباطی منطقی کرده و نحوه اجرا را برای Fetch معین می کند. کار Fetch،
این است که دستوراتی را که می بایست اجرا شوند، از حافظه گرد آوری کند.
البته Fetch، توانایی های منطقی نیز در ارزیابی دستورات واحد استنباطی دارد
و توانایی های منطقی این واحد باعث شده اند که خود بداند باید چه کاری را
چه موقع انجام دهد. پس Fetch، همه چیز را برای شروع کار مهیا می کند. البته
بعد از آن کار به کد گشای دستورات x86 محول می شود. این کد گشا وظیفه دارد
که بر اساس اطلاعاتی که از fetch و Prediction Unit ها جمع آوری کرده، کد
ها را خوانده و به کد های قابل فهم برای قسمت های اجرایی پردازنده تبدیل
کند و به قسمت های اجرایی تحویل دهد. پس از آن کار ها بر روی اجرای کد ها
شروع می گردد.
پاراگراف بالا توضیحی کوتاه و تقریبا به زبان ساده بود، از آن چه که در این
مرحله اتفاق می افتد. اما حالا می خواهیم ببینیم در این قسمت، معماری
بولدوزر چه اهداف جالبی را دنبال می کند:
در بولدوزر، واحد استنباط منطقی و Fetch به طور مجزا از یک دیگر کار می
کنند. البته با هم در ارتباط اند. توانایی های استنباطی واحد Fetch بیشتر
شده و این مساله کمک می کند که اگر ناگهان واحد استنباطی یا Prediction
Unit دچار وقفه یا اشتباه شد، Fetch از کار نیافتاده و به کار خود ادامه
دهد. در این وضعیت سه شرط وجود دارد که Fetch به یکی از آن ها دامن خواهد
زد. البته اگر Fetch هم خطا کند، چنين وضعی پيش می آيد.
اولین شرط این که اگر خطا جزئی بود، Fetch خودش آن را رفع کرده و زمینه
درست را برای Decoder و قسمت های بعد محیا کند. دوم این که Fetch هیچ کاری
انجام نداده و فقط از ادامه عملیات جلو گیری کند و دستور باز خوانی را به
Prediction Unit صادر کند. سوم این که Fetch خطا هایی که وجود دارند را به
Prediction Unit تحویل دهد و به این ترتیب واحد استنباطی، با دقت و درستی
بیشتری دستورات را تفسیر خواهد کرد.
باز هم به این این جا می رسیم که بولدوزر اساسا با چیز هایی که در سری
Phenom شاهد آن بودیم، متفاوت است. مقدار کش L1 دستورات، در پردازنده های
مبتنی بر بولدوزر 64 کیلو بایت خواهد بود و البته کش داده ها بسیار کم تر
است. هر ماژول دو هسته ای فقط از دو عدد کش 32 کیلو بایت L1 بهره می برد.
این مقدار بسیار کم است اما مسلما AMD برای این کار خود دلایل محکمی داشته و
این شرکت دوست ندارد تمام زحمت هایش را با یک کش کم، به هدر بدهد. هر چند
که کش های L2 و L3 خوبی در بولدوزر استفاده شده اند و کش L1، تمام ماجرا
نیست.
بولدوزر در قسمت FPU، انتظارات را حداقل در روی کاغذ براورده کرده است. FPU
(Floating Point Unit) واحدی است که محاسبات بسیار پیچیده و پیشرفته ریاضی
را بر عهده می گیرد و بولدوزر در این قسمت بیشتر شبیه کینگ کنگ است تا
بولدوزر! منظور این است که این قسمت، گاهی بسیار بیش تر از حد انتظار، خوب
کار می کند.
در بولدوزر FPU ها چنان قوی هستند که می توانند به طور همزمان دو Thread
سخت افزاری را سازمان دهی کنند. (فقط در شرایطی که دو Thread در یک هسته
باشند. تعریف Thread که یادتان هست؟ اگر نیست دوباره به ابتدای مقاله
مراجعه کنید) همچنین امکان کار کردن با دو واحدMMX (Multi Media
Extensions) ، که مسئول بهبود عملیات مولتی مدیا هستند نیز برای FPU ها
وجود دارد. (از این نظر که FPU ها محاسبات ریاضی را بر عهده می گیرند، با
بیشتر بخش های حیاتی پردازنده در ارتباط اند)
اگر با جزئیات معماری Phenom II نیز آشنا باشید، حتما فکر می کنید که FPU
بولدوزر، فقط کمی بیشتر یا کمتر از معماری فنوم عمل می کند. اما AMD در این
مورد اطمینان داده که FPU در قلب بولدوزر، عملکردی متفاوت خواهد داشت.
بله، سر انجام پشتیبانی از SSE 4.1 و SSE 4.2 هم به معماری بولدوزر اضافه
شد. همچنین این معماری از تکنولوژی AVX اینتل نیز پشتیبانی می کند. البته
اگر چیزی در مورد این دو تکنولوژی نمی دانید به بند های زیر نگاهی
بیاندازید.
به طور خلاصه تکنولوژی SSE عبارت است متد های پردازشی ای که بیشتر در
محاسبات ریاضیاتی کاربرد دارند و بر این اساس که ریاضی اصلی ترین جزء
کامپیوتر و برنامه هاست، این تکنولوژی متد های پردازشی مهمی را به سخت
افزار های همچون FPU ارائه می دهد. SSE متعلق به اینتل است و البته یک
استاندارد جهانی است که AMD هم از آن استفاده می کند. تا قبل از این AMD از
SSE 4 پشتیبانی می کرد و از الگوریتم ها و متد های جدیدی که در اس اس ای
4.1 و 4.2 عرضه شده بودند، بی بهره بود. در حالی که پردازنده های مبتنی بر
Nehalem در سری Core i7، از آن بهره می بردند. ولی اکنون با وجود پشتیبانی
از این دو متد جدید در معماری بولدوزر، انتظار عملکرد بیشتر و بهتر نیز از
واحد های محاسباتی نظیر FPU می رود. لازم به ذکر است که SSE یک دنیا
اطلاعات است و ما فقط توضیحی خلاصه از این تکنولوژی را عرضه کردیم. پس این
همه آن چیزی نیست که وجود دارد.
اما در مورد AVX یا Advanced Vector Extensions باید گفت: این تکنولوژی در
ماه March سال 2008 از سوی اینتل عرضه شد و شامل متد هایی بسیار پیشرفته بر
پایه کد های x86 برای بهبود محاسبات و کار های برداری یا Vector ارائه شده
است. استفاده از این تکنولوژی گام بزرگی برای معماری Bulldozer به شمار می
رود. این را بدانید که هم اکنون فقط این سیستم عامل ها قادر به پشتیبانی
از AVX می باشند:
- لینوکس هایی که نسخه هسته آن ها 2.6.30 و بالا تر است
- ویندوز 7 – ویندوز سرور 2008 نسخه R2 و سرویس پک 1
- مکینتاش : اطلاعاتی در دسترس نیست.
بر اساس تصویر بالا، هر ماژول بولدوزر دارای دو هسته خواهند بود و برای
سیستم عامل به عنوان یک پردازنده دو هسته ای شناخته خواهند شد. اما این
هنوز هم بسیاری را به این سوال می رساند که ماژول های Bulldozer واقعا تا
چه اندازه ای کارایی دارند؟
ای ام دی ادعا کرده که ماژول ها می توانند در اندازه ای بسیار کوچک تر از
یک پردازنده دو هسته ای باشند و توان مصرفی و گرمای کمتری هم داشته باشند و
در همین اندازه کوچک هم می توانند معادل 80 در صد یک پردازنده دو هسته ای
معمولی، کارایی داشته باشند.
اگر این طور باشد، باید شاهد عملکرد فوق العاده ای برای این پردازنده ها
باشیم. چرا که با استفاده از چند ماژول و تعداد هسته های بیشتر می توان
شاهد عملکرد بسیار بهتری بود.
- سخن پایانی:
بولدوزر حرف های زیادی برای گفتن دارد. این معماری بسیار نو آورانه و جالب
است. ظرفیت های بالایی هم دارد. این که ماژول هایی دو هسته ای با 80 درصد
عملکرد پردازنده های دو هسته ای عادی و بسیار کوچک تر و کم مصرف تر استفاده
شوند، این پتانسیل را به وجود آورده که با افزایش تعداد ماژول ها به
عملکرد فوق العاده ای دست یافت. در حالی که مصرف در حد متعالی باشد. در کل
استفاده از ماژول ها به جای هسته های تکی، پشتیبانی از تکنولوژی های جدید
نظیر SSE 4.2 و AVX و FPU های بسیار قدرتمند، این معماری را به چیزی بسیار
قدرتمند و پایدار تبدیل کرده است. احتمالا شاهد بهبود بیشتری در این معمار
تا سال های آینده خواهیم بود. البته امیدواریم که پردازنده های مبتنی بر
این معماری به تولید انبوه برسند چون بعد از سال 2012 ، معلوم نیست AMD ای
وجود داشته باشد یا خیر! به هر حال امیدواریم که بتوانیم این معماری را در
عرصه عمل نیز ببینیم و بنچ مارک های آن را در اختیار شما قرار دهیم.
در اینجا شما را با تمامی ویژگی های معماری بولدوزر آشنا کردیم. اگر احساس
کردید، سنگین است به شما توصیه می کنیم که آن را دوبار بخوانید اما بدانید
که تمامی تلاش انجام شد که مقاله در عین سادگی به شما تقدیم شود. البته
گریز از برخی اصطلاحات، به جز صدمه زدن به بدنه مقاله، فایده ای نصیب ما
نمی کرد و به همین دلیل ممکن است به برخی اصطلاحات نا آشنا بر خورده باشید.
در عوض هم دانش کامپیوتری شما بیشتر شده و هم توضیح فارسی این اصطلاحات را
می توانید در همین مقاله بیابید.
منابع:
Hot Hardware
Wikipedia (instruction cycle)
Wikipedia (advanced vector extensions
Wikipedia (SSE)
زندگی پر از سیم شده است. این روزها همه با انواع و اقسام کابل های مختلف سروکار داریم. از انواع کابل USB گرفته تا کابل های مختلف شبکه و انتقال اطلاعات. خیلی وقت ها هم اسم کابل های مورد استفاده را نمیدانیم و فقط از آنها استفاده میکنیم.
سایت گیزمودو یک راهنمای تصویری بسیار جالب برای آشنایی با کابل ها تهیه کرده بود. حیفمان آمد شما آن را نبینید. در این راهنما نه تنها با شکل و کاربرد این کابل ها آشنا میشوید، بلکه اسامی آنها را هم فرا خواهید گرفت. و من تضمین میکنم وقتی نام کابل ها را بدانید در خیلی مواقع به کارتان خواهد آمد. ( متن کامل در ادامه مطلب )
این یکی معرف حضور همه هست. نام آن USB نوع A است. کابلی که این روزها همه جا دیده میشود. با آمدن آن ارتباطات های پارالل و پورت های سریال منقرض شدند. این مدل کابل در واقع از USB 1 و نوع جدیدتر که USB 2 نام دارد تشکیل شده. USB 2 نسبت به نسخه اول سریع تر است. کابل یو اس بی امکان انتقال اطلاعات و انرژی برای تامین برق مورد نیاز را به صورت همزمان فراهم میکند.
اگر تا به حال کابل بالایی را ندیده اید همین الان از نارنجی خارج شوید و کامپیوتر را خاموش کنید.
USB type B این یکی اغلب طرف دیگر یک کابل USB را تشکیل میدهد. و معمولا برای متصل کردن لوازم جانبی کامپیوتر مانند پرینتر و اسکنر استفاده میشود.
کابل سوم یو اس بی کوچولو است! که به آن Mini USB گفته میشود. همانطور که از اسم آن مشخص است نسبت به اتصالات قبلی جای کمتری اشغال میکند و برای دستگاه های کوچک مانند اتصال گوشی موبایل یا دوربین دیجیتال استفاده میشود. نوع بعدی مدل فسقلی تری نسبت به یو اس بی کوچولو است. که من ترجیح میدهم آن را «فسقل یو اس بی» صدا کنم! اما نام اصلی آن Micro USB است. و برخی شرکت ها مانند موتورولا و ال جی از آن زیاد استفاده میکنند.
IEEE 1394 (aka FireWire) این مدل جایگزینی برای کابل USB محسوب میشود و توسط شرکت اپل به شهرت رسیده است. میبینید اپل همیشه دوست دارد که متمایز باشد! شرکت سونی نام این اتصال را iLink گذاشته است. ممکن است آن را بر روی یک دوربین فیلم برداری دیجیتال و یا یک آی پاد قدیمی ببینید. این اتصال سرعت انتقال اطلاعات بالایی دارد. مدل شش پین این اتصال امکان انتقال انرژی را هم دارد.
FireWire 800 نسبت به اتصال قبلی سریع تر است و در سال 2003 معرفی شده است. اما برای اتصال نیاز به کانکتورهای متفاوتی دارد که این کار استفاده آن را محدود کرده است.
این یکی کابل مشهوری است. با آقای RJ45 آشنا شوید. ایشان نقش مهمی را در زندگی شبکه ای ما بازی میکنند. البته از وقتی که قیمت مس گران شده این کابل ها هم به شدت گران شده اند. این کابل در بین عموم به نام «کابل شبکه» مشهور است. این کابل به چند دسته بندی تقسیم میشود که مشهورترین آنها شامل Cat5 و Cat6 است. نوع Cat5 امکان انتقال اطلاعات را تا 100 مگابیت در ثانیه را دارد. و نوع Cat6 این امکان را تا 1000 مگابیت افزایش داده است.
eSATA اسم این کابل تازگی ها زیاد به گوش میخورد. اگر کامپیوتر رومیزی خود را اخیرا خریده باشید نوع اتصال هارد دیسک شما از نوع SATA است.
این یکی یک حرف e اضافه دارد که مخفف External یا همان خارجی است. این کابل را خارجی ها ساخته اند!؟ نه، منظور این است که این کابل خارج از کیس کامپیوتر استفاده میشود. سرعت انتقال اطلاعات این کابل بیشتر از USB و Firewire است. و معمولا در هارد دیسک های اکسترنال استفاده میشود. لپ تاپ های جدید هم معمولا ورودی این کابل را دارند.
HDMI این یکی خیلی مهم است. با آمدن این اتصال فاتحه کابل های S-Video و DVI خوانده شده است. ضمنا اسم با کلاسی هم دارد: High Definition Multimedia Interface و همانطور که از اسمش مشخص است برای انتقال صوت و تصویر HD به کار میرود. تمام گجت های چند رسانه ای در حال مجهز شدن به این نوع اتصال هستند. از لپ تاپ ها گرفته تا تلویزیون های ال سی دی و دوربین های فیلمبرداری دیجیتال. سرعت بالای انتقال اطلاعات تنها خصوصیت مفید این اتصال نیست. این اتصال از مکانیزمی به نام CEC پشتیبانی میکند که امکان کنترل وسایل الکترونیکی را از طریق این پورت فراهم میکند. از طریق این درگاه میتوان به دستگاه مورد نظر فرمان داد. در آینده خواهید دید که این امکان چقدر مورد استفاده خواهد بود.
اتصال آخر DisplayPort نام دارد. و برای اتصال بین کامپیوتر و مانیتور طراحی شده. اما هنوز به صورت عمده عرضه نشده است. این کابل علاوه بر سرعت بسیار بالای انتقال اطلاعات از DRM هم پشتیبانی میکند. DRM چیست؟ یک روش محافظت سخت افزاری از کپی رایت صوت و تصویر! میتوانید اطلاعات بیشتری در این مورد را در اینجا بخوانید.
| پ تاپ ها - Others | |
| Written by Amir Sadeghpour | |
| Friday, 17 September 2010 18:41 | |
|
فروش نوت بوک ها در آمریکا نسبت به سال گذشته کاهش چشمگیری داشته. این را آمار موسسه NDP که هر ساله آمار رشد سطح وسیعی از صنایع مختلف را ارائه می کند، امروز اعلام کرده است. بر اساس این گزارش، که همانطور که در نمودار مشخص است، رشد فروش نوت بوک ها در آمریکا از ژانویه ۲۰۱۰ تقریباً به طور یکپارچه سیری منفی داشته و این تاریخ مقارن با رونمایی آی پد اپل در ژانویه امسال بوده است. این آمار نشان می دهد، رشد فروش نوت بوک از ۳۲ درصد در آگوست ۲۰۰۹ برای اولین بار به منفی چهار درصد در آگوست ۲۰۱۰ رسیده است. این نشان می دهد، تاثیر ورود تبلت ها به شدت بر رشد فروش نوت بوک ها موثر بوده است. و با توجه به اینکه فروش نتبوک ها نیز افزایشی نداشته، مقصر اصلی این مساله را باید تبلت ها دانست. با این اوصاف امید چندانی به بازگشت میزان فروش لپ تاپ ها به حد و اندازه های سابق شان نیست. همچنین با اینکه میزان فروش نوت بوک در آمریکا، در فوریه امسال با رشد امیدوار کننده ای نسبت به ماه پیش از آن مواجه شده و بازار محصولات قوی و بهتری به خود دیده، اما کاهش فروش از مارس شدید تر شده و سیر نزولی آن سرعت گرفته است. گیزمودو عامل اصلی این کاهش رشد فروش را ورود تبلت ها به بازار می داند و اشاره کرده با اینکه هنوز میزان فروش تبلت ها فاصله زیادی با میزان فروش لپ تاپ ها دارد، این کامپیوترها با تغییر در فناوری، قدرت خود را نشان داده اند و در حال رشد هستند. گیزمودو همچنین کاهش عمده فروش لپ تاپ ها را به اتفاقی که برای کامپیوتر های رومیزی افتاد تشبیه کرده است. همانطور که چند سال پیش کسی تصور نمی کرد کامپیوتر های دسکتاپ جای خود را به لپ تاپ ها بدهند و اکنون شاهد آن هستیم، احتمالاً در سال های آینده نیز تبلت ها جای لپ تاپ ها را خواهند گرفت. البته این مساله به سرعت باعث حذف و ناپدید شدن لپ تاپ ها و حتی نتبوک ها نمی شود. همانطور که هنوز کامپیوترهای دسکتاپ به زندگی خود ادامه می دهند. اما باید قبول کنیم که این کامپیوتر ها به مرور زمان تبدیل به رسانه هایی سنتی می شوند که جای خود را به تبلت ها و همچنین تلفن های هوشمند خواهند داد. در اینجا شاید بپرسید «پس چه بلایی بر سر کیبورد می آید؟ با تبلت که نمی شود تایپ کرد!؟». البته حق با شما است و کیبوردها فعلاً در خدمت من و شما خواهند بود تا زمانی که متد های جدید جایگزین آنها شوند. پس فعلاً جای نگرانی نیست. البته کیبوردهای تاچ که تبلت ها دارند، تا حدودی جایگزین کیبوردهای معمولی هستند، اما بسیاری از ما حاضر به تعویض حس تایپ کردن با لمس حروف، نیستیم. به هر حال آینده مشخص می کند و تکلیف مان را خواهیم فهمید. بهتر است قبول کنیم که این تغییرات اجتناب ناپذیر هستند. پس باید منتظر باشیم و ببینیم چه بر سر دنیای کامپیوتر می آید تا خودمان را با آن وفق دهیم. | |
پروژه های اماده برای تحویل به شرح زیر است دوستانی که تمایل به دریافت این پروژه ها دارند می توانند با شماره یا ایمیل با من ارتباط برقرار کنند:
۱- چراغ راهنمایی
۲- سیستم دفتر تلفن با فایل اکسس اسکیو ال
۳- سیستم انبار داری اکسس

در این قسمت به نكات سخت افزاری می پردازیم و در قسمت بعدی اصول نرم افزاری كار را توضیح می دهیم. اول از همه باید بگوئیم كه تعویض هارددیسك كامپیوتر یا افزودن یك هارددیسك به یك كامپیوتر كه دارای یك یا چند هارد دیسك است دارای دو مرحله می باشد كه اولی سخت افزاری است و باید دست به آچار شوید اما دومی نرم افزاری است كه باید دیسك را پارتیشن بندی كرده و فرمت نمائید تا بتوانید اطلاعات خود را روی آن بنویسید.
آسان ترین قسمت این كار همان قسمت سخت افزاری است كه چند مرحله بیشتر ندارد و بسیار ساده است فقط باید شما را كمی با محیط داخلی كامپیوتر آشنا نمائیم و بگوئیم كه چگونه كار كنید.
با باز كردن چند پیچ این امكان را خواهید یافت تا به قسمتهای داخلی كامپیوتر دست پیدا كنید اما یادتان باشد قبل از باز كردن كامپیوتر حتما آن را خاموش كرده و كابلهای برق آن را از برق بكشید. اگر دستبند مخصوص الكتریسیته ساكن دارید آن را به دست ببندید و به زمین وصل كنید تا الكتریسیته ساكن موجود در بدنتان تخلیه شود. اگر این دست بند را ندارید مهم نیست فقط سعی كنید با دست زدن به اشیا فلزی مانند بدنه میز، دستگیره در، لوله آب این الكتریسیته ساكن را از بدنتان تخلیه كنید.سعی كنید به قطعات الكترونیكی داخل كامپیوتر یا روی هارد دیسك هم دست نزنید.
روی برد اصلی كامپیوتر كه بدان مادربرد می گویند معمولا دو سوكت وجود دارد كه برای اتصال هارد دیسك بكار می رود.اگر هارد دیسكتان را پیدا كنید یك كابل پهن بدان وصل است آن را دنبال كنید تا به یكی از این سوكتها برسید. آن هم کنار همین یكی است. اگر به نوشته های روی مادربرد توجه كنید این سوكت ها باید به نامهای IDE1 و IDE2 معرفی شده باشند. معمولا كامپیوتر از IDE1 بوت می شود پس هارد دیسكی كه دارای ویندوز یا OS است باید به این سوكت وصل شود. هارد دیسكها با نوعی كابل پهن به مادربرد وصل می شوند كه بدان ریبون كابل می گویند. طرفی كه یك كانكتور دارد به كنترلر روی مادر برد وصل می شود.
طرف دیگر كه دو كانكتور دارد هر كدام به یك هارد دیسك وصل می شود. در مادربردهای جدیدتر هر كانكتور روی مادربرد می تواند تا دو هارددیسك را راه اندازی كند پس با دو عدد كانكتور جمعا تا 4 عدد هارددیسك را می شود راه انداخت. البته درایو CD هم در همین خانواده قرار دارد و معمولا آن را به IDE2 وصل می كنند. پس به احتمال زیاد شما باید یك هارددیسك داشته باشید كه روی IDE1 وصل است و یك درایو CD دارید كه روی IDE2 وصل است. به هر كنترلر تا دو درایو وصل می شود.
برای آنكه سیستم بفهمد كدام درایو اولی است و كدامیك دومی، جامپرهایی روی خود درایو وجود دارد كه باید جداگانه تنظیم شود. اولین هارد دیسك را Master می گویند و دومی را Slave گویند. باید روی بدنه هارد دیسك خود بدنبال لیبلها یا نوشته هایی بگردید كه نحوه تنظیم این جامپرها را بیان كرده باشد. اگر پیدا نكردید باید از سایت سازنده هارددیسك مشخصات فوق را بدست آورید.
اگر روی یك كابل فقط یك درایو وصل می كنید باید درایو را در حالت جامپر 1Drive قرار دهید و شاید روی درایو شما این حالت اسم دیگری مانند Single یا همان Master داشته باشد. فرقی نمی كند كه درایو مستر یا اسلاو را به كدامیك از دو كانكتور روی كابل وصل می كنید فقط باید جامپر آنها برای ماستر یا اسلاو درست باشد
برگرفته از سایت: P30p30
نسخه 3.6 به میزان ۲۰٪ از فایرفاکس 3.5 سریع تر بوده و همچنین قابلیتهای جدید و منحصر به فردی را نیز دارا میباشد. در زیر فهرستی از جالبترین قابلیتها آورده شده است.

این قابلیت که در نسخه های پیشین به صورت افزونه موجود بود به کاربر اجازه میدهد تا از میان بیش از ۳۰۰۰۰ قالب موجود ظاهر فایرفاکس خود را سفارشی کند بدون اینکه لازم باشد مرورگر را دوباره راه اندازی کند(ری استارت کند).
از این پس فایرفاکس تمام افزونه های از رده خارج شما را که ممکن است باعث ضعف های امنیتی و یا کارآیی باشند شناسایی میکند.
در نسخه جدید فایرفاکس با بهبود پایداری و کارآیی مرورگر به میزان بسیار کمتری شاهد کرش کردن فایرفاکس بر اثر برنامه ها جانبی خواهیم بود, بدون اینکه ذرهای از توسعه پذیری فایرفاکس کم شود.
از این پس فایرفاکس قادر خواهد بود بر مبنای ورودی های قبلی شما در فرم ها, به شما در کامل کردن فرم های جدید کمک کند.
با افزایش بهبود کارآیی موتور JavaScript شاهد افزایش سرعت در بارگزاری صفحات خواهیم بود. همچنین با بهبود کارآیی کلی سیستم فایرفاکس سریعتر از گذشته عمل کرده و راه اندازی خواهد شد.
با استفاده از ویژگی های شگفت انگیز HTML5 اکنون فایرفاکس میتواند ویدیو ها را به صورت Full-screen نمایش دهد.
مي توان به واسطه 50 هزار مدل رياضي و الگوريتم که در اين موتور به کار رفته، به 10 هزار ميليارد نوع اطلاعات دسترسي يابند.
هسته مرکزي ولفرام، نرمافزار متمتيکا (Mathematica) است. متمتيکا يک زبان برنامهنويسي علمي است که براي محاسبات رياضي و مهندسي پيچيده بهکار ميرود و قابليتهاي زيادي در تجزيه و تحليل دادهها و دستهبندي و جستوجوي آنها دارد. به اين ترتيب ولفرام اطلاعات جستوجوي کاربران را از اينترنت به متمتيکا ميدهد و نتيجه را به کاربر باز ميگرداند. متمتيکا تبحر بالايي در تحليل اطلاعات آماري دارد. به همين دليل ولفرام، اطلاعات بازارهاي بورس، قيمت ارز و کالاهاي مختلف و وضعيت آب و هوا را در کسري از ثانيه بازخواني ميکند و نمايش ميدهد. با توجه به قابليتهاي محاسباتي متمتيکا، تعدادي از نتايج جستوجو مستقيما از خود آن استخراج ميشود.
ولفرام اطلاعات جستوجوي کاربران را از اينترنت به متمتيکا ميدهد و نتيجه را به کاربر باز ميگرداند.
اگر کلمه تهران را در اين موتور جستوجو (http://www.wolframalpha.com) تايپ کنيد، اطلاعاتي چون جمعيت، نقشه جغرافيايي، ساعت محلي، خلاصه وضعيت آب و هوا، ميانگين ارتفاع و نام شهرهاي اطراف آن را نمايش ميدهد. ولفرام براي نمايش اطلاعات مختلف از فرمتهاي خاصي استفاده ميکند. براي مثال آب و هواي شهرهاي مختلف را با جداول و نمودارهاي کامل بارش و تغييرات دمايي نمايش ميدهد.

ولفرام علاوه بر نمايش نمودارها و اطلاعات رياضي کليد واژه، اعداد را با دقت بسيار بالايي نمايش ميدهد. براي مثال اگر در مورد مقادير ثابت نامتناهي رياضي جستوجويي انجام دهيد، ولفرام علاوه بر نمايش مقدار تقريبي گزينهاي به نام “More Digits” را به شما پيشنهاد ميکند. اين گزينه اعداد ثابت را تا چندين رقم اعشار نمايش ميدهد.
نتايج جستوجوي ولفرام آلفا در مورد حقايق علمي از کتابخانههاي دولتي و دانشگاهي و مراکز تحقيقاتي و علمي سراسر دنيا گرفته ميشود. تعدادي از اين دادهها نيز مانند جستوجوي گوگل از وبسايتهاي مختلف استخراج ميشوند. البته گفته ميشود که ولفرام در تحليل اطلاعاتي مانند حقايق تاريخي و اجتماعي بسيار ضعيف است.

استفان ولفرام فيزيکدان و برنامهنويس كامپيوتر متولد لندن است و به خاطر فعاليتهايش در زمينه رياضي، فيزيک و نوع جديد علم که کتابي هم با همين عنوان به عنوان مانيفست خود ارايه کرده (A New Kind of Science - NKS) شهرت يافته است. اين دانشمند 50 ساله كه متولد 29 اگوست سال 1959 است چندين سال با يک تيم 100 نفري بر روي پروژه ولفرام آلفا کار کرده است.
از نظر پيشزمينه علمي بايد گفت که ولفرام در 12 سالگي موفق به دريافت بورسيه تحصيلي اتون کالج شد و در 16 سالگي مقالهاي نوشت که در مجله فيزيک استراليا به چاپ رسيد. ولفرام در 17 سالگي به دانشگاه آکسفورد رفت اما دو سال بعد دانشگاه را رها کرد تا سمتي را در موسسه فناوري کاليفرنيا بر عهده بگيرد. در 20 سالگي در کنار ريچارد فينمن و موري جلمن استادان مطرح علم فيزيک مشغول به کار بود و يک سال بعد هم موفق به کسب جايزه نخبگان مک آرتور شد.
در 20 سالگي در کنار ريچارد فينمن و موري جلمن استادان مطرح علم فيزيک مشغول به کار بود و يک سال بعد هم موفق به کسب جايزه نخبگان مک آرتور شد.
استفان ولفرام معتقد است که ميتواند با استفاده از برنامههاي کامپيوتري ساده تمام هستي را مدلسازي کند. با وجود اينکه او خالق يک موتور جستوجوي خاص است که پرسشهاي کاربران را پاسخ ميدهد، اما هنوز راه زيادي در پيش دارد تا بتواند همقطارانش را متقاعد کند.
تابستان 2002 استفان ولفرام يک پيام تلفني فوق العاده احساسي دريافت کرد. فرد تماس گيرنده به او گفت: شما ميراث علم رياضيات را که از دوران يونان باستان به جا مانده، تخريب ميکنيد. ولفرام با حسي آميخته از ترس و دستپاچگي اين حرفها را ميشنيد. او معني اين گفته را نميفهميد، اما بعدها توانست با آلفا ميليونها دلار از طريق همين ميراث و علم رياضي کسب کند. ولفرام ميگويد که فرد تماس گيرنده هم يکي از فيزيکدانان برجسته بود، اما نام او را به زبان نميآورد.
ديويد کوهن، يکي از روزنامهنگاران سايت نيو ساينتيست است که با استفان ولفرام مصاحبهاي داشته و آن را به صورت يک گزارش از زبان خود نوشته که در زير ميخوانيد:
ولفرام در مورد حريم خصوصياش گارد خاصي دارد که گاهي اوقات قابل تقدير است. زماني که ميخواستم زمان ملاقات را با او بگذارم، نپذيرفت که در خانهاش او را ببينم و پيشنهاد داد که در رستوران همديگر را ملاقات کنيم. در روز مصاحبه زماني که به رستوران رسيدم، مرا به اتاقي بيتجمل راهنمايي کردند که تنها يک ميز و دو صندلي در آن به چشم ميخورد.
بعد از چند دقيقه ولفرام وارد اتاق شد. رفتار او اصلا شباهتي به يک مولتي ميليونر ندارد و هنوز همان منش و رفتار استادهاي دانشگاه قديمي را دارد، نه کسي که صاحب يک شرکت بزرگ فناوري است. در حالي که داشت روي صندلي مينشست، گفت: فکر ميکنم اينجا بهترين جا براي ملاقات بود. صدايش نرم و آرام بود، شبيه يک زمزمه و با آهنگي از لهجه انگليسي که گاهي هم تو دماغي ميشد. در همان ابتداي گفت و گو مرا خلع سلاح کرد و گفت: از 8 سالگي مشترک نيوساينتيست بودم، اما بعدها دريافتم که گردانندگان نشريهتان با مشکل جدي روبه رو هستند.
در نهايت هم به اين نتيجه رسيدم که مطلبي در نيوساينتيست به چاپ ميرسد که حتما پوچ و بيمعني باشد!
طبيعي است که در پاسخ چنين حرفي، جز تحويل دادن خندهاي پر سر و صدا و عصبي کاري از دستم بر نميآمد. اما به هر حال شايد انتقادهاي شديد ولفرام به اين دليل باشد که او هم از سال 2002 تاکنون مردم را با کارهاي پيش پا افتاده و مهمل خود سر کار گذاشته است! شايد واقعا پيام آن تماس تلفني، واقعيت داشت.
آن تماس تلفني دقيقا بعد از انتشار کتاب مانيفست او بود. کتابي با عنوان نوع جديدي از علم (NKS) که ولفرام يک دهه از عمرش را صرف نوشتن آن کرد.

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

همان طور که ممکن است بدانید مدت زمانی است که نسخه آزمایشی (بتا) مجموعه نرم افزاری آفیس به نام Office 2010 از سوی شرکت مایکروسافت منتشر شده است.
نرم افزارهای این مجموعه در حال حاضر در سایت مایکروسافت برای عموم و به طور رایگان جهت دانلود قرار گرفتهاند.
همچنین نسخه نهایی آفیس 2010 طبق اعلام مایکروسافت در نیمه اول سال 2010 به طور رسمی منتشر خواهد شد
یکی از نکات جالبی که در نرم افزار Word 2010 نهفته است، قابلیت عکسبرداری از صفحه Word و همچنین عکسبرداری از سایر پنجرههای باز موجود، میباشد.
فرض کنید قصد دارید از یکی از پنجرههای ویندوز عکس بگیرید و آن را وارد محیط Word کنید.
هم اکنون با استفاده از این قابلیت در Word 2010 از نرم افزارهای جانبی مخصوص عکس گرفتن از پنجرههای ویندوز بی نیاز میشوید و علاوه بر آن سرعت کار شما نیز بیشنر میگردد.
لینک دانلود نسخه بتای Microsoft Office 2010 در انتهای ترفند موجود است.
بدین منظور:
نرم افزار Word 2010 را اجرا نمایید.
در نوار بالای صفحه به تب Insert بروید.
در محدوده Illustrations بر روی Screenshot کلیک کنید.
خواهید دید که (ترفندستان) پیش نمایشی از کلیه پنجرههایی که هم اکنون باز است ظاهر خواهد شد. یکی از این پنجرهها طبعاً خود Wordاست .
اکنون در صورتی که بر روی پیش نمایش یکی از پنجرهها کلیک کنید، از آن پنجره عکس گرفته خواهد شد و تصویر عکس عیناً وارد صفحه Wordخواهد شد.

سپس با استفاده از ابزارهای ویرایش تصویر امکان ویرایش عکس گرفته شده وجود دارد.
همچنین در صورتی که بخواهید تنها از قسمت خاصی از صفحه، عکس بگیرید کافی است پس از کلیک بر روی Screenshot بر روی Screen Clippingکلیک کنید.
با این کار ظاهر صفحه شفاف خواهد شد و با استفاده از کلیک چپ ماوس میتوانید محدوده مورد نظر که میخواهید از آن عکس بگیرید را مشخص کنید. با رها کردن کلید ماوس، عکس گرفته میشود و مستقیماً وارد صفحه Word میگردد.
دانلود نسخه بتای Microsoft Office Professional Plus 2010 از سایت مایکروسافت:
دانلود نسخه بتای نرم افزار Microsoft Visio Premium 2010 از سایت مایکروسافت:
دانلود نسخه بتای نرم افزار Microsoft Project Professional 2010 از سایت مایکروسافت:
برگرفته از سایت ترفندستان

مدتی نزدیک به دو هفته است که گوگل یکی از پروژه های موفق خودش رو که پشت تعدادی از سرویس هایش یعنی Gmail ، Docs و Maps قرار دارد رو اوپن سورس کرده.
Closure Tools مجوعه ای از ابزار ها است که برای توسعه دهندگان وب در نظر گرفته شده است. این مجوعه شامل موارد زیر است.
بهینه ساز یا فشرده ساز کد های جاوا اسکریپت هست. این ابزار با شناسایی کدهای بی استفاده و حذف آنها قوی تر از سایر فشرده ساز ها ظاهر شده. بی جهت نیست که اسم کامپایلر رو انتخاب کردن. این ابزار همچنین کد رو تا حد زیادی فشرده می کنه. این کار با استفاده از تغییر نام متغیرهای داخلی و پارامترها انجام میشه. همچنین امکاناتی مانند بررسی وجود باگ های احتمالی و تشخیص خطاها ، در کد نویسی صحیح جاوا اسکریپت بسیار کمک خواهد کرد.
برای امتحان این ابزار به صورت آنلاین به اینجا مراجعه کنید:
http://closure-compiler.appspot.com/home
توجه کنید که هیچ یک از لینکها برای ایران باز نخواهد شد و از روشهای معمول برای رفع این مشکل استفاده کنید.
یک افزونه فایرفاکس هست که به افزونه Firebug اضافه می شه. کار اصلی این افزونه ایجاد امکان دیباگ کردن کدهای جاوا اسکریپتی که obfuscated شده هستند است. همچنین این ابزار اماکاتی مانند source mapping و stack trace پیشرفته تر و امکان unit test رو به فایرفاکس شما اضافه خواهد کرد.
برای رفع اشکال کد های اکثر سایتها این ابزار یک کارگشای حرفه ای برای شما خواهد بود.
کتابخانه ای استاندارد شده توسط گوگل برای جاوا اسکریپت هست. این کتابختانه امکانات زیادی مانند طراحی رابط کاربر ، unit testing ، کار با rich-text و تبادل داده ها با سرور و غیره رو فراهم می کنه.
برای کار با کتابخانه حتما مستندات اون رو مطالعه کنید.
ابزار یا فریم ورکی هست که امکان تولید کد های html دینامیک رو فراهم می کنه. این ابزار هم برای Java و هم برای Javascript پیاده سازی شده است. در صورتی که به صورد دینامیک با جاوا اسکریپت ظاهر صحات رو تغییر می دید این قالب ها کار شما رو سریع تر خواهند کرد.
در اکثر برنامه های کامپیوتری نیاز به ذخیره و بازیابی داده ها وجود دارد. داده هایی که بدون آن ها سیستم نرم افزاری ما معنایی ندارد. برنامه نویسان معمولاً راه های مختلفی برای این کار سراغ دارند. کسانی که با دات نت فریم ورک برنامه نویسی می کنند راه های مختلفی برای دسترسی به داده ها دارند. در این مطلب با تکنولوژی های مایکروسافت برای این کار آشنا خواهیم شد و سه ORM معروف دنیای دات نت را معرفی خواهیم کرد. مایکروسافت انتخاب های زیادی برای دسترسی به داده ها به برنامه نویسان دات نت می دهد که شما باید با بررسی آن ها و با توجه به نیازهای خودتان یکی از آن ها را انتخاب کنید.
ADO.NET مجموعه ای از کامپوننت هاست که برنامه نویسان می توانند از آن ها برای برقراری ارتباط با دیتابیس های مختلف استفاده کنند. ADO.NET بخشی از کتابخانه کلاس های پایه دات نت فریم ورک است که توسط مایکروسافت توسعه داده می شود. برنامه نویسان به صورت گسترده از این تکنولوژی برای دسترسی و دستکاری داده های ذخیره شده در یک دیتابیس رابطه ای استفاده می کنند. ADO.NET می تواند با اکثر دیتابیس های موجود کار کند، هر چند به صورت پیش فرض در دات نت فریم ورک فقط فراهم کننده های SQL Server، OleDb و Odbc وجود دارد، افراد و شرکت های دیگر فراهم کننده های دیتابیس های دیگر را برای دات نت ایجاد کرده اند.
برای هر Provider کامپوننت هایی وجود دارند که برنامه نویس با استفاده از آن ها به مقصودش می رسد. به طور مثال برای استفاده از SQL Server در روش ADO.NET کامپوننت هایی مانند SQLConnection و SQLCommand وجود دارد که با استفاده از آن ها می توانید یک دستور SQL را روی داده های موجود در یک دیتابیس SQL Server اجرا کنید. با SQLConnection به دیتابیس موجود در SQL Server وصل می شویم و با استفاده از یک SQLCommand می توانیم یک عبارت T-SQL را که می تواند دستور INSERT, UPDATE, DELETE یا SELECT باشد یا حتی یک Stored Procedure یا عبارت DDL باشد را برای مقصود خاصی روی دیتابیس اجرا کنیم. چون ADO.NET در مورد سینتاکس دیتابیس چیزی نمی داند، دستورات را به صورت یک رشته ساده به SQLCommand می دهیم و این شیء نیز به صورت مستقیم به دیتابیس دستور می دهد.
string query = "SELECT * FROM tblCustomers";
SqlConnection con = new SqlConnection(cnnString);
SqlCommand command = new SqlCommand(query, con);
con.Open();
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
Response.Write(reader.GetInt32(0) +
reader.GetString(1));
}
نکته ای که باید در مورد ADO.NET بدانید این است که برای استفاده از هر سیستم دیتابیس رابطه ای، مجموعه کامپوننت های جدایی وجود دارد. در مثال بالا از آبجکت های مربوط به SQL Server استفاده کردیم. اگر بخواهید مثلاً از یک دیتابیس اوراکل در برنامه خود استفاده کنید، بایستی از کامپوننت های مربوط به اوراکل استفاده کنید. خوشبختانه تمام این کامپوننت ها بر پایه یک Interface ساخته شده اند، این یعنی شما می توانید با استفاده از کلاس DbProviderFactory برنامه ای بسیازید که با چند نوع دیتابیس مختلف کار کند.
مایکروسافت با دات نت فریم ورک 3.0 و 3.5 یک ORM به نام Linq to SQL را به عنوان بخشی از پروژه LINQ خود عرضه کرد. این شرکت مدت ها پیش از آن قول داده بود که یک ORM برای دات نت فریم ورک طراحی کند اما تا نسخه 3.0 دات نت فریم ورک خبری از آن پروژه نشد. Linq to SQL به شما اجازه می دهد که کوئری های LINQ را روی دیتابیس های SQL Server اجرا کنید. علاوه بر این از یک Mapping Framework بهره می برد که به برنامه نویسان اجازه Map کردن جدول های یک دیتابیس را به کلاس ها و بالعکس می دهد. این کار در ویژوال استادیو می تواند به صورت ویژوال یا کدنویسی انجام گیرد. به این صورت که برای هر جدول از دیتابیس یک کلاس تعریف می شود که هر ستون از یک جدول به عنوان یک Property درون آن کلاس تعریف می شود.
به مثال زیر توجه کنید :public class Customer
{
[Column(Name="CustomerID",IsPrimaryKey = true)]
public long ID
{
get { return _ID;}
set { _ID = value;}
}
[Column(Name = "CustomerName")]
public string Name
{
get { return _name; }
set { _name = value; }
}
}
کلاس
بالا به جدول tblCustomers که دارای دو ستون CustomerID و CustomerName
است Map می شود. قبل از اینکه بخواهید از Linq to SQL استفاده کنید باید
این کلاس ها را تعریف کنید. ویژوال استادیو 2008 دارای ابزاری است که به
صورت ویژوال به شما امکان Map کردن جدول های یک دیتابیس SQL Server را به
کلاس های دات نت می دهد. این ابزار می تواند به صورت اتوماتیک کلاس های
مورد نیاز شما را از روی مدل دیتابیس بسازد، و حتی اجازه تغییرات دستی و
ایجاد Viewهای مختلف از دیتابیس را به شما می دهد. عملیات Mapping با
استفاده از DataContext (که یک رشته اتصال به سرور نیاز دارد) پیاده سازی
می شود. سپس شما قادر خواهید بود کوئری های LINQ خود را روی دیتابیس موجود
در سرور اجرا کنید، که البته این کوئری ها ابتدا به دستوارت T-SQL متناظر
ترجمه و سپس روی دیتابیس مورد نظر اجرا می شوند.
Entity Framework یک فریم ورک ORM برای دات نت فریم ورک است که نسخه یک آن به همراه دات نت فریم ورک 3.5 سرویس پک 1 عرضه شد اما مورد استقبال توسعه دهندگان قرار نگرفت. نسخه 2 این فریم ورک به صورت بتا به عنوان بخشی از ویژوال استادیو 2010 قابل دسترس است. ADO.NET Entity Framework نام اصلی این فریم ورک است و جزئی از تکنولوژی ADO.NET است.
ابزار طراحی Entity Framework در ویژوال استادیو
Entity Framework مدل رابطه ای موجود در یک دیتابیس را به مدل مفهمومی تبدیل می کند و آن را به اپلیکیشن ما تحویل می دهد. در مدل رابطه ای عناصر ترکیبی از جداول هستند، به همراه کلید های اصلی و خارجی که جدول ها را به هم مرتبط می سازند. برعکس آن، انواع موجودیت ها مدل مفهومی داده را تعریف می کنند. انواع موجودیت اجتماعی از چند فیلد است (هر فیلد به یک ستون از دیتابیس Map می شود) و می تواند شامل اطلاعات از چند جدول فیزیکی باشد. انواع موجودیت می توانند به هم مرتبط باشند، مستقل از ارتباطاتی که در مدل فیزیکی دارند. شمای منطقی و نگاشت (mapping) آن به شمای فیزیکی به عنوان یک Entity Data Model یا EDM نمایش داده می شوند که مشخصات EDM در یک فایل XML ذخیره می شود. Entity Framework از EDM برای انجام عملیات نگاشت و دادن قابلیت کار با موجودیت ها به اپلیکیشن استفاده می کند. Entity Framework اطلاعات مورد نیاز هر موجودیت را با Join کردن چندین جدول از مدل فیزیکی (دیتابیس) بدست می آورد. هنگامی که اطلاعات یک موجودیت آپدیت می شود، Entity Framework بررسی می کند که داده ها مربوط به کدام یک از جدول های موجود در دیتابیس هستند، سپس آن ها را با دستور SQL مناسب آپدیت می کند.
هر چند Entity Framework و Linq to SQL بسیار شبیه به هم به نظر می رسند، هر دو ابزارهایی برای طراحی گرافیکی و ویزاردی برای نگاشت یک دیتابیس به مدل شیء گرا دارند و هر دو می توانند از کوئری های LINQ برای مقصود خاصی استفاده کنند، اما با هم تفاوت هایی هم دارند. بیان تفاوت های این دو در این مطلب جایی ندارد.
نمی توان در مورد ORMها در دات نت صحبت کرد اما نام NHiernate
را ذکر نکرد. NH یک فریم ورک ORM اوپن سورس برای دات نت فریم ورک است که
از روی پروژه موفق Hibernate جاوا وارد دنیای دات نت شد. توضیحات بیشتر در
مورد NHibernate توضیحات اضافی است، زیرا این فریم ورک هم وظیفه ORMهای
دیگر را انجام می دهد. اکثر برنامه نویسانی که از NH برای نگاشت استفاده
می کنند، ابتدا کلاس های خود را تعریف می کنند و سپس با استفاده از یک
فایل XML آن ها را به جدول های دیتابیس Map می کنند. Linq to SQL و Entity
Framework برخلاف NHibernate از روش Model-first یا مبتنی در دیتابیس
استفاده می کنند، به این معنی که هر دو ORM تصور می کنند شما دیتابیسی در
اختیار دارید که می خواهید آن به تعدادی آبجکت Map کنید.
در مورد Nhibernate بیش از این صحبت نمی کنم، آقای وحید نصیری در اینجا به صورت کامل در مورد این ORM محبوب نوشته است.
انتخاب از میان روش های بالا به عهده خود شماست. در این مطلب کوتاه نمی توان به بررسی تمام زوایا و تفاوت های میان آن ها پرداخت. در مطالب آینده سعی میکنم در مورد نحوه استفاده از هر کدام یک مثال عملی بزنم (البته به جز NHibernate).
برای آنکه بتوانیید مکانیزم بسیاری از حملات تجزیه و تحلیل کنید حد اقل باید یک آشنایی کلی و بنیادی با سیستم عامل یونیکس داشته باشید . استفاده از این سیستم عامل بعنوان بستر ی برای سیستمها و سرویس دهنده شبکه بسیار رایج و معمول است و بدلیل سابقه زیادی که دارد حملات متنوع و پیچیده ای بر علیه آن شکل گرفته است .
یونیکس سیستم عاملی بسیار قدرتمند و زیباست که بسیاری از سیستمهای عامل دیگر زاز اصول آن تقلید کرده اند یونیکس حدود سی سال قبل در شرکت AT&T طراحی شد و در طی روند تکمیلی سی ساله له سیستم عاملی تبدیل شد که می تواند داعیه قویترین ومطمئن ترین سیستم عامل جهان را داشته باشد بگونه ای که بسیاری از سرویس دهنده های حساس و عظیم دنیا از این سیستم عامل بهر ه گرفته اند . میتوان گفت که بخش بسیار بزرگی از ساختار شبکه اینترنت شامل سرویس دهنده ها ، ایستگاههای کار (Workstation) و ماشینهای نهائی (Hosts) به نح.ی از یونیکس استفاده می کنند .
اگر چه یونیکس زیبا و قدرتمند است ولی به دو دلیل همانند یک دیو به نظر می رسد :
اول آنکه استفاده از آن فقی از متخصصین حرفه ای و مجرب بر می آید . یونیکس قابلیتها و ویژگیهای خود را دارد .
خود را دارد. دوم آنکه استفاده ازآن فقط از متخصصین
حرفه ای ومجرب برمی آید . یونیکس قابلیتها و ویژگیهای خورا رادارد.
دوم آنکه استفاده از آن فقط از متخصین حرفه ای ومجرب بر می آید . یونیکس دوست مهربان حرفه ای است در حالی که به آماتورها و کاربران عادی بسیار سختگیر است و خشم آنها را بخواهد انگیخت هر چند در نسخه های عامل سازگار با یونیکس ( مثل لینوکس ) کابوسی بیش نیست !
برخی از سیستمهای عامل سازگار با یونیکس در زیر معرفی شده اند .
ü Solaris محصول شرکت sun Microsy stems
ü Irlx محصول شرکت silicon graphics
ü Aix محصول شرکت IBM
ü Hp- ux محصول شرکت Hewlett Packard
ü Sco-unix محصول شرکت . santa cruz opration,inc
ü Free bsd نسخه رایگان یونیکس محصول دانشگاه بر کلی آمریکا
ü Open bsd محصول دانشگاه بر کلی بهمراه کدهای بر نامه ی آن . این سیستم عامل با شعار " تلاش برای خلق امن ترین سیستم عامل دنیا " ارائه شده است .
ü یونیکس محیط دوستانه و مهربانی برای کاربران نیست بلکه محیطی امن و قدرتمند برای حرفه ای ها محسوب می شود لذا معمولاً نفوذگران برای حمله از این سیستم عامل استفاده می کنند هرچند ممکن است ماشین مورد حمله سیستم عاملی مثل ویندوز داشته باشد .
ü از طرفی سیستم عامل یونیکس ، خود مجموعه کاملی از مستندات لازم در ارتباط با فرامین و برنامه ها را عرضه کرده است . در خط فرمان با دستور man بسادگی این مستندات را خواهید یافت :
$ man [ system command]
معماری یونیکس : ساختار سیستم فایل
درسیستم عامل یونیکس هر چیزی به صورت یک فایل تلقی ومدل می شود . مثلاً حتی دستگاهها ی جانبی مانند چاپگر یا پورتهای مخابره داده در قالب یک فایل مدل شده اند و برنامه نویس وقتی می خواهد اطلاعاتی را چاپ کند یا آنها را به منظور مخابره روی پورت com بفرستد بسادگی فایل استاندارد آن را باز کرده ، دون آن می نویسد و سپس فایل را می بندد . این یکی از مفاهیم عالی یونیکس است که در سطح برنامه نویسی . درگیر جزئیات سخت افزاری این ابزارها نخواهد شد بلکه این جزئیات در سطح سیستم عامل حل و فصل می شود . عناصر پروسه ها ، صفها و بافرها نیز به صورت فایل مدل سازی شده اند .
سیستم عمومی فایل در یونیکس ساختاری درختی همانند شکل (1-3) دارد . این ساختار با اندکی اختلاف در انواع مختلف یونیکس پیاده سازی شده است .
بگونه ای که در شکل (1-3) مشخص شده است در رأس سیستم فایل یونیکس شاخه root قراردارد که به سادگی شاخه "/" نامگذاری شده است و تمام شاخه ها قرار می گیرند و کاربران فقط به برخی از آنها دسترسی خواهد داشت . عالیترین سطح دسترسی به سیستم فایل در اختیار کاربری است به شاخه ریشه (با تمام زیر شاخه های آن ) تسلط دارد . در محیط یونیکس اگر چنین مجوزی داشته با تغییر شاخه / در رأس سیستم قرار خواهید گرفت که این کار با اجرای دستور زیر ممکن خواهد بود .
علامت خط فرمان $
فرمان تغییر شاخه cd
نام شاخه rot
هر فایل درون یکی از شاخه های این ساختار درختی ذخیره می شود . و برای دسترسی به آن به غیر ازنام فایل باید سلسله مراتب شاخه های آن نیز مشخص باشد . مثلاً اگر فایلی با نام hack.txt داشته باشید که در شاخه udr ذخیره شده با آدرس /usr/hack.txt قابل شناسایی و ذخیره و بازیابی است .
معماری یونیکس : هسته سیستم عامل و پروسه ها
یونیکس از ساختار پیمانه ای (ماجولار ) استفاده کرده است بگونه ای که در پاییترین سطح یک هسته با بسر سخت افزار درگیر است و تمام برنامه بصورت هویتی مستقل حول هسته شکل می گیرند . در یونیکس هسته خودش یک برنامه اجرایی است که قبل از هر برنامه دیگر اجرا می شود و کنترل کل سخت افزار را به دست می گیرد و دسترسی پروسه ها به سخت فزار فقط از طرق هسته ممکن است . این هسته در سیستم در سیستم عامل یونیکس kernel نامیده شده است . هسته قلب ( و مغز ) سیستم عامل محسوب میشود و هیچ برنامه ای بدون آن نخواهد توانست از مؤلفه های سخت افزاری سیستم استفاده نماید .
محیط یونیکس محیطی " چند وظیفه ای یا multitask است و بالطبع در هر لحظه فقط یکی از پروسه ها cpu را در اختیار دارد . پروسه های مختلف بصورت اشتراک زمانی (time
(cpu ازsharing استفاده می کنند و هسته به کمک سخت افزار ، زمان در اختیار گرفتن cpu توسط ید پروسه را تنظیم و کنترل می نماید .
هسته سیستم عامل همچنین فضای حافظه مورد نیاز را در اختیار پروسه ها قرار می دهدو باز هم به کمک سخت افزار جلوی تخطی پروسه ها از حریم فضای حافظه اختصاص یافته به آنها را می گیرد . فضای حافظه اختصاص داده شده به هر پروسه از دسترس پروسه های دیگر مراقبت خواهد شد و هر پروسه ای که سعی می کند در خارج از فضای حافظه خود چیزی بنویسد یا بخواند توسط هسته سیستم عامل متوقف ( و نابود ) خواهد شد .
شکل 2-3 شمای کلی سیستم عامل و پروسه های را نشان می دهد . در این شکل هسته بر سخت افزار قرار گرفته و پروسه ها بر روی هسته تشکلیل می شوند .
تعیین مجوزهای دسترسی در یونکس
هر فایل سیستم " مدیریت فایل یونیکس " دارای مجموعه ای ا تنظیمات مجوز دسترسی است بدین معنا که چه کسانی حق دارند به آن فایل دسترسی داسته باشند و این دسترسی در چه سطحی است . ( خواندن / نوشتن / اجرا ) هر فایل در یونکیکس یک " مالک گروهی یا Owner Group است ( یعنی گروهی که اعضای آن می توانند به آن فایل دسترسی داشته باشند ) اما فقط مالک اصلی فایل می تواند مجوزهای دسترسی به آن فایل را تغییر بدهد ( به اضافه کاربر root که در تعالیترین سطح دسترسی است ) در سیستم فایل یونیکس مجورزهای دسترسی به هر فایل در سه دسته مجزا تنظیم می شود .
v مجوزهای دسترسی به فایل برای شخص مالک
v مجوز های دسترسی برای عموم کاربران سیستم (یعنی تمام کاربران و پروسه ها با هر حساب کاربری user Account
v خصویت " اعتماد در یونیکس – unix TRUST
v بگونه ای که اشاره شد در یونیکس هر کاربر باید یک " حساب کاربری " داشته باشد تا در هنگام ورود به سیستم از طریق مشخصه کاربری USER-ID و کلمه عبور (PASSWORD) احراز هویت شود . حال فرض کنید در یک شبکه کامپیوتری روی تعدادی از ماشینها ، سیستم عامل یونیکس ( یا هر سیستم عامل سازگار با آن مثل لینوکس ) نصب شده باشد . برای آنکه یک کاربر خاص بتواند از طریق یک ماشین دیگر وارد LOGIN) ) شود و فرامین خود را لز راه دور روی آن ماشین اجرا کند ، دستوراتی در قالب R-COMMAND 0 مثل RCP، RLOGIN و...) تعریف شده است . کاربر باید قبل از اجرای فرامین را ه دور روی یک ماشین ، ابتداد احراز هویت شود . برای راحتی کاربران مهمی مثل مسئول سیستم قابلیتی تحت عنوان " اعتماد یو نیکس Unix trust در این سیستم عامل گنجانده شده است که اگر چه قابلیتی زیبا و ساده است ولی از دیدگاه امنیت سیستم بسیار خطر ناک است .
v در یونیکس می توان تنظیم پیکر بندی سیستم را بگونه ای انجام داد که یک ماشین به ماشین دیگر اعتماد کامل داشته باشد . وقتی یک سیستم به سیستمی دیگر اعتماد دارد . از عمل احراز هویت صرفنظر می نماید . بگونه ای که در شکل (4-3) مشخص است ، سیستم عامل ماشین bob بگونه ای پیکر بندی شده است که به ماشین alice همیشه اعتماد کرده و فرامین رسیده از آنرا اجرا نماید بدون آنکه alice را احراز هویت کند . لذا در چنین حالتی وقتی alice می خواهد به ماشین bob وارد شده و فرامین راه دور r-command – روی آن ماشین اجرا نماید ، هیچگونه تقاضای ورود کلمه عبور روی ماشین او ظاهر نخواهد شد .
در اکثر گونه های یونیکس فهرست کاربران یا ماشینهای " مورد اعتماد " در فایلی با نام /etc/hosts . equiv (یا فایلهای با پسوند rhosts .) ذخیره می شود در فایل . در فایل /etc/hosts.equiv نام نمادین یا آدرس ip ماشینهای " مورد اعتماد " درج می شود کاربران مستقل نیز می توانند در شاخه اصلی خود فایلی با پسوند rhosts ایجاد کرده و درون آن نام کاربران مورد اعتماد برای اجرای فرامین را ه دور مثل rlogin ( اجرای پوسته فرمان از راه دور ) و نظایر آنها ، نیازی به احراز هویت ندارند و لازم نیست کلمه عبور وارد کنند .
از دیدگاه امنیت سیستم چنین امکانی بسیار خطر ناک است و اگر ملاک اعتماد یک ماشین آدرس ip آن ماشین باشد ، براحتی می توان از طریق IP جعلی و دروغین –SPOOFED IP- ماشینی را به جای ماشین دیگر جا زد از طرفی برای این که جریان فعل و انفعال بین دو ماشین استراق سمع نشود بایستی حتماً از " پوسته ها ی امت " یا SECURE SHELL استفاده شود .
منابع و مآخذ
نفوذگری در شبکه و روشهای مقابله مهندس احسان ملکیان علمی فرهنگی
شبکه های کامپیوتری علوم رایانه آندوواس . تتاوم
فن آوران شبکه مهندسی حمید هاشمی
سیستم های عامل ویلیام استالینگز نشرشیخ بهائی
کار رو رایانه ادبستان
نگاهي به JSP
Java Server Page (JSP) نوعي فن آوري مبتني بر زبان JAVA مي باشد و امكاكان توليد وب سايتهاي پويا (فعال) فراهم مي سازد. JSP توسط شركت SUN Microsystems براي برنامه نويسي سمت سرور توليد شده . فيلهاي JSP همان فايلهاي HTML مي باشند همراه قطعات ويژه شامل كدهاي Java كه قابليت پوياي صفحات را ايجاد مي كند.
شكل زير يك وب نوعي را نشان مي دهد ، سرويس گيرندگان مختلف از طريق انترنت به وب سرور متصل مي شوند. در اين مثال وب سرور apache كه بسيار محبوب مي باشد بروي سيستم عامل UNIX اجرا شده.
در ابتدا صفحات وب به صورت ايستا نمايش داده مي شدند. معمولأ اين اولين تجربه مردم در توليد صفحات وب بود ت سايتهاي شخصي و اطلاعات قروش شركتها را ثبت كنند . بعد از مدتي Perl وC زبانهايي بودند كه بر روي سرور براي ايجاد ماهيت پويا قرار داده مي شدند .
بعد از مدت كوتاهي اكثر زبانها از جمله Delphi , C++ , VB و Java اين قابليت را داشتند كه برنامه هايي را با استفاده از خاصيت پويايي و استفاده از داده هاي متني و پايگاه داده توليد كنند.
15
اين برنامه ها به نام برنامه هاي CGI سمت سرور شناخته شدند.ASP توسط شركت ماكروسافت توليد شد تا به برنامه نويسان HTML اين امكان را بدهد كه براحتي مندرجات پويا را كه توسط سرور رايگان ماكروسافت (IIS) پشتيباني مي شد مورد استفاده قرار دهند.JSP همتاي ASP است كه در اين بخش ارائه خواهد شد.
شكل زير وب سروري را نشان ميدهد كه از فايلهاي JSP پشتيباني ميكند توجه داشته باشيد كه وب سرور به پايگاه داده ها متصل ميباشد.
كدهاي JSP بر روي وب سرور در JSP Servlet Engine اجرا مي شوند. JSP Servlet Engine به صورت پويا HTML توليد مي كند و خروجي HTML را به مرو گر سرويسگيرنده مي فرستد.
چرا از JSP استفاده مي كنيم؟
آموختن JSP آسان است و اين امكان را به برنامه نويسان ميدهد تا برنامه ها و وب سايتها را به روشي آشكار و استاندارد توليد كنند.
اساس JSP مبتني بر زبان Java مي باشد كه زباني شي گرا ست .JSP محيطي قدرتمند را براي گسترش وب عرضه مي كند
دلايل اصلي استفاده از JSP
1- قابليت اجرا در محيط هاي مختلف
2- اجزا توسطJavabeans and EJB. قابليت استفاده دوباره دارند.
3- امتيازات Java
شماميتوانيدفايلهاي JSP را ازمحيطي به محيط ديگرانتقال دهيد(وب سرور و Servlrt Engine ).
HTML وگرافيك كه درمرورگر وب نمايش داده ميشود دركلاس لايه نمايش (pesentation layer ) قرار ميگيرند و كد JSP در سرور در كلاس پياده سازي(implementation) قرار ميگيرند. با داشتن پياده سازي و نمايش جداگانه طراحان تنها در بخش نمايش و برنامه نويسان JSP در پياده سازي تمركز مي كنند..
مقايسه JSP و ASP
ASP وJSP در عملياتي كه انجام ميدهند بسيار مشابه هستند. JSP ممكن است داراي دوره يادگيري طولانيتري باشد. هر دو قابليت گنجاندن كد در HTML براي كار با پايگاه داده ها ومندرجات پويا را دارند .
از آنجايي كه ASP معمولأ در محيط هاي ماكروسافت IE , NT يافت مي شود و JSP در هر محيطي كه با خصوصيات J2EE مطابقت داشته باشد كار ميكند.
JSP اجازه مي دهد كه اجزا دوباره به وسيله EJB’s , Javabeans استفاده شوند . ASP امكان استفاده از ActiveX , COM را فراهم ميسازد.
مقايسه JSP و Servlet
كي Servlet كلاسي از Java ميباشد كه امكان ويژه اي از سرويسهاي سمت سرور را فراهم ميسازد. نوشتن كد هاي HTML در Servlet كار بسيار دشواري ميباشد .
در Servlet شما براي توليد HTML بايد تعداد زيادي دستور Println استفاده كنيد.
معماري JSP
JSP بر روي فن آوري Servlet شركت SUN پياده شده است. فايل JSP صفحه اي HTML است كه در آن تكه كدهايJSP گنجانده شده است. اين تكه كدها مي توانند شامل كد هاي Java باشند. پسوند فايلهاي JSP .jsp و ندرتاً .html , .htm مي باشد . موتور(كامپايلر)
JSP فايل jsp. را تجزيه كرده و فايل كدServlet را توليد ميكند. بعد فايل servlet را كامپايل كرده و فايل Class را توليد ميكند . اين كار تنها بار اول انجام ميگيرد و اين دليل كند كار كردن JSP براي بار اول ميباشد
مراحل لازم براي پاسخ گويي به درخواست صفحه JSP
1- كاربر وارد سايت شده و مرورگر در خواست را از طريق اينترنت ارسال مي كند .
2- در خواست به وب سرور ارسال مي شود .
3- وب سرور تشخيص مي دهد كه فايل در خواستي .jsp بوده و فايل را به JSP Servlet Engine مي فرستد.
4- اگر فايل JSP براي مرتبه اول صدازده شده باشد فايل تجزيه مي شود در غير اين صورت به مرحله 7 مي رود.
5- اين مرحله مرحله توليد كد Servlet مي باشد. همه HTML بايد به دستورهاي println تبديل شود.
6- كد Servlet كامپايل شده و Class را توليد مي كند.
7- كد HTML توليد مي شود .
8- HTML از طريق انترنت به مرورگر كاربر ارسال مي شود . ونتيجه بر روي مرورگر كاربر نمايش داده مي شود.
نتيجه گيري
اين مقاله چكيده اي بود از ASP وJSP كه ما را با خصوصيات ابتدايي و پايه و فرايند توليد صفحات وب فعال آشنا مي ساخت .
با توجه به تلاش هاي گسترده اي كه تا كنون در امر توليد صفحات وب شده بايد پي به ارزش اين فن آوري برده باشيم . استفاده از صفحات وب با توجه به دنياي امروزي كه دنياي ارتباطات و انتقال اطلا عات مي باشد بسيار ضروري است و بايد از اين فن در اطلاع رساني ، آموزش ، و تبلغات براي پيشرفت جامعه و رسيدن به اهداف عالي آن تلاش نماييم
فهرست منابع
1. ASP.NET.Web developers guide, Mesbah Ahmed,Chris Garrett,Jeremy Faircloth Syngress
2.Intraduction to JSP WWW.Visual builder .com
با به وجود آمدن ASP.NET ما شاهد تغيير در روش هاي متعارف اسكريپت نويسي بسوي شروع برنامه نويسي حرفه اي بر خط (online) هستيم.
اسكريپتهاي VBتنها انتخاب نيستند زيرا برنامه نويسان ميتوانند از تمام امكانات موجود در.NET مانندVB وC++ وتمام زبانهاي موجود در آن استفاده كنند.
نميتوان انكار نمود كه.NET مورد توجه بسيار توسعه دهندگان نرم افزار قرار گرفته است و اين نشانه قالب مناسب و استراتژي .NET براي تداوم در دنياي برنامه نويسي ميباشد. معرفي راه حل نرم افزاريي كه هركس را قادر ميسازد با هر زبان دلخواه كه با محيط .NET سازگاري داشته باشد برنامه نويسي كند حداقل كاري است كه ميتوان در مورد آن انجام داد.
دراين مقاله نگاهي به شروع و سرگذشت صفحات فعال سرور در دو سال اخير داريم و اينكه چگونه برنامه نويسان را به خود جذب كرده. البته مشكلاتي دارد ولي طراحان .NET راه حل هايي براي تعداد زيادي از مشكلات برنامه- نويسي يافته اند.
همچنين به منظور فراهم سازي اطلاعاتي براي كاربر كه شما ميخواهيد آنها را ارائه نماييد ،تحولاتي در زمينه كاركرد ASP با سرور و كلاينت انجام گرفته است.
هر چند كه نسخه فعلي نسخه پايدار بتا ميباشد و بسياري از مردم تصور ميكنند كه آنچه كه ارائه ميشود پايدار ميباشد ولي به دليل طبيعت بتاي آن داراي مشكلاتي ميباشد. يادگيري با مشكلات موجود در چهار چوب امكان آمادگي در برابر نسخه جديد را فراهم ميكند.
يادگيري از تاريخچه ASP
براي دانستن تاريخچهASP ميتوان به سال 1995 و در محيطي خاص كه ماكروسافت دريافت كه به علت عدم پشتيباني انترنت در محصولات خود از اين صنعت باز مانده باز گشت. قبل از آن ماكرسافت در پي بدست آوري فن آوري و ابزار و پرتكلهاي اختصاصي خود براي شبكه هاي ماكرسافت بود. اما ناگهان به استراتژي انترنت احتياج پيدا كردند.
ماكرسافت توانست خود را از شرايط عقب مانده به شرايط ايده آلي برساند با توليد مرورگر وب IE(internet explorer) بازارمرورگر وب را بدست آورد وIIS (internet information server) را در 1000 شركت مهم نصب نمود.
پيدايش ASP
بازگشت به اواسط دهه 90 ابتداي دنياي وب نشان ميدهد در آن زمان براي توليد وب كسي كه ميخواست وب سايت خود را محيطي مناسب براي تجارت قرار دهد ابزارهاي زيادي براي انتخاب نداشت و انتخابها محدود بودند به محيطهاي برنامه نويسي سمت سرور و ابزار برنامه نويسي سمت كاربران محدود ميشد. در انتها برنامه نويس بايد برنامه هاي رابط دروازه عمومي CGI(common gateway interface) را بكار برد. در اين برنامه ها از زبانهاي كامپايلي نظير دلفي ويژوال بيسيك يا زبانهاي اسكريپت نويسي تفسيرشدني مانند پرل يا ركسو اسكريپتهاي لايه سيستم عامل مانند UNIX استفاده مي گردد.
ابتداي 1996 ماكرسافت شروع به اصلاح وضعيت موجودكرد براي رسيدن به اهداف خود رابط برنامه نويسي كاربردي سرورانترنتISAPI(InternetServerApplicationProgrammingInterface) را به عنوان بخشي از سرور اطلاعات انترنت در نظر گرفت.ISAPI حاصل توسعه Win32API ويندوز ميباشد. اين فن آوري براي توليد نرم افزار سرور وب توليد شده بود. كه بتواند با IIS ارتباط داشته باشد.كه باعث پنج برابر شدن كارايي سيستم بود. همان گونه كه شما با اين توضيحات تصور ميكنيد اين افزايش كارايي اثرات جانبي دارد بر روي پيچيدگي برنامه نويسي براي برنامه نويسان ميشود.
اين به علت ضعف برنامه نويسان نبود بلكه احتياج به دانش پايه اي ودقيق برنامه نويسي داشت تا برنامه هاي ISAPI درست كار كنند. شركت ماكرسافت همانگونه برنامه نويسان را به استفاده ISAPI تشويق ميكرد آنها را به استفاده از فن آوري اتصال دهنده پايگاه داده انترنت Internet Database Connector (IDC) تشويق ميكرد. اين فن آوري روشي جديد براي ايجاد ارتباط سايتهاي انترنتي با پايگاهاي داده سرور به واسطه ارتباط پذيري باز با پايگاه داده (ODBC)Open Database Connectivity ميباشد.
فن آوري هاي IDC و ISPI از خامي ماكروسافت كاسته و براي اولين بار باعث تبديل سرور وب ضعيف به محيط سرور برنامه هاي محاوره اي ابتدايي شد.
برنامه نويسان ديگر ابزارهاي ديگري در اختيار داشتند بسياري از آنها از جمله Netscape Livewire از محبوبيت زيادي برخوردار بودند.Livewire فن آوري قابل اجرا تحت سرور Netscape بود كه از فن آوري جاوا اسكريپت كه در آن از اجزا جاوا نيز استفاده شده بود براي منطق در صفحه استفاده ميكرد .محدوديتهاي ISAPI در Livewire نيز به علت كامالي بودن وجود داشت و براي اجاد تغيير نياز به قطع كردن برنامه و شروع مجدد بود.
چرا ASP مورد نياز بود؟
تمامي برنامه نويسان وب ، توانايي برنامه نويسي لازم براي نوشتن نرم افزارها ISAPI را نداشتند و چون در SAPI به كامپايل برنامه ها نياز بود. مراحل زيادي در توليد سايت مبتني بر ISAPI وجود داشت كه سبب كند شدن مراحل توليد سايت ميشد. برنامه نويسان تازه كار دريافتند كه يادگيري زباني صنعتي و قدرتمند مانند C++ ، كامپايل حتي ساده ترين منطق صفحه خود به فايلهاي .dll نياز دارد.
برنامه هاي ويژوال بيسيك علي رغم سهولت توليدشان ، در صورت بكارگيري براي CGI بسيار ضغيف عمل نموده و تمام منابع را در اختيار خواهند گرفت. زبانهاي ديگر از جمله پرل براي آغاز يك برنامه خط دستور جداگانه و به منظور تفسير اجراي اسكريپتهاي درخواست شده به سرور نياز دارند كه اين امرموجب افزايش زمان بارگذاري صفحه و كاهش كارايي سرور خواهد شد.
CGI خود تمام منابع را در اختيار ميگيرد چون درخواست هر صفحه سرورهاي وب را وادار ميكند تا فرايندهاي جديد را متوقف نموده و از طريق اين فرايندها ارتباط را بر قرار نمايند. اين امر موجب اتلاف وقت و مصرف حافظه باارزش RAM ميگردد مشكل ديگري كه فراروي تيم برنامه نويسي در اواسط دهه 90 قرار داشت ، اين مسئله بود كه سايت در واقع تركيبي از زبان نشانه گذاري فرامتنيHypertext Markup Language (HTML) و منطق است. آنها به روشي براي ادغام كدهاي برنامه نويسان با HTML طرح صفحه طراح و طراحي بدون ايجاد آشفتگي در ساختار ديگري نياز داشتند. راه حل هاي متعددي براي رفع اين مشكل از سيستمهاي قابل اختصاصي گرفته تا عبارات شامل سمت سرور Server Side Include (SSI) وجود داشتند.درهريك ازاين راه حل ها بر سرور اعلام ميشود كه كد مبتني بر تگ هاي توضيحات ويژه HTML را اجرا نمايد.
ايجاد قابليت محاوره اي كه بتواند از سوي پايگاه داده هدايت شود ، نيز مشكلي ديگر در بهينه سازي برنامه نويسي بود. تقاضا براي سايت هاي وب پيچيده آغاز شده بود و برنامه نويسان به منظور رفع اين تقاضا به روشي قابل مديريت نياز داشتند ولي ابزارهاي موجود تسهيلي در انجام اين كار ايجاد نميكردند .افرادي كه ميتوانستند به اين روش دست يابند ، خواهان پاداشي متناسب با سختي انجام كاري كه از آنها خواسته شده بودند.
آنچه كه لازم بود ، راه حلي براي بقيه ما بود . اين راه حل مي بايست فن آوري ساده اي مبتني بر متن و داراي اسكريپتي همانند پرل باشد ، تا برنامه نويسان بتوانند صفحات خود را بدون نياز به كامپايل و با كمك ابزار ساده ويرايش متن مانند Notepad تغيير دهند .اين روش بايد در حين حفظ كارايي لازم ،به حداقل منابع نياز داشته باشد. بنابراين بايد آن را درون سرور همانند ISAPI
ولي بدون پيچيدگي اجرا نمود ،تيمهاي طراحان و تنظيم كنندكان علاقمند بودند كه اين روش شامل امكانات و خصوصيات قالبها و SSl باشد تا راحتتر بتوان يكپارچه سازي آرايش صفحات را مديريت نمود. اين روش براي اينكه بتواند با استقبال مواجه شود ،مي بايست زباني را اجرا نمايد كه براحتي بتوان آن را آموخت و براي بسياري از برنامه نويسان آشنا باشد.
چرا از ابتدا ASP بكار گرفته نشد؟
ASP موفقيتي ناگهاني نبود ،با اين حال توانست ،بخش عظيمي از جامعه توليدكنندگان نرم افزار را به خود جذب كند. بويژه افرادي كه قبلأ تجربه هاي خوبي در برنامه نويسي ويژوال بيسيك براي اسكريپتهاي كاربردي داشتند.
افراد ديگري كه براي يادگيري ويژوال بيسيك سرمايه گذاري نكرده بودند، دريافتند كه محدوديتهايي در ويژوال بيسيك و اسكريپت نويسي ويژوال بيسيك وجود دارد كه مانع استفاده از اين فن آوري ميگردد. كمبودهاي موجود شامل مديريت ضعيف حافظه ،عدم قابليتهاي مديريت قدرتمند رشته مانند عبارات منظم است كه در ساير زبانهاي موجود وجود داشت .ASP در مقايسه با CGI پرل ، چنين كمبودي ندارد در آن زمان سرور اطلاعات در مراحل اوليه خود بسر ميبرد و توسعه آن به آرامي صورت ميگرفت، هر چند كه نيروي قدرتمند روابط عمومي مايكروسافت پس از پيشرفت شگفت آوري كه از سوي شركت گزارش شد ، كاملأ به جريان افتاده بود ، سرور اطلاعات در مقايسه با نسخه هاي موجود اين نرم افزار كاملأ ضعيف به نظر ميرسد ولي هنوز هم از لحاظ كارايي قابل رقابت است.
تا سال 1997 ، بخش اعظم برنامه نويسي سرور در اختيار پرل و CGI بود. سايت هاي وب با كارايي بالا معمولأ از تركيبي از برنامه هاي كامپايل شده C براي موتورهاي تجاري واقعي و براي پردازش هاي سبكتر از فرم ها استفاده ميكردند. درآن زمان ترديدها و سوءظن هايي پيرامون اقدامات و فعاليت هاي انترنتي ماكروسافت از جمله IIS و Internet Explorer وجود داشت وISAPI بيش ازتشويق بخش وسيعي ازجامعه برنامه نويسان نرم افزار،كاربيشتري انجام نداد. علي رغم وجود چنين فضاي نامطمئني، ماكروسافت با خريد چندين مجوز Windows NT4 براي ميزباني وب و توسعه توليد نرم افزار روبرو شد.
پشتيباني شركتهاي ثالث براي هر چيز ديگري به جز اجزا كوچك در ابتدا به كندي آغاز شد ولي همانند تمامي محصولات ماكروسافت كه پس از عرضه دو نسخه از محصول ، شركت همه مشكلات را برطرف ميسازد ، ASP نيز از اين قاعده مستثني نبود .
در حالي كه بخش عمده اي از برنامه نويسان از جمله شخص برجسته اي چون Larry Wall از پرل استفاده ميكردند . برنامه نويسان ASP تا آن زمان تحت حمايت مناسبي قرار نداشتند .برنامه نويسان پرل از طرف مقام هاي بالا دعوت به مشاركت و باز گذاشتن كد هايشان ميشدند و به همين علت اين گروه ها با پيشرفت مواجه ميشدند ، به طوري كه تمامي راه هاي ممكن فقط با چند كليك در سايت شبكه آرشيو جامع پرل از لحاظ رقابتي و مالي منجر به ايجاد نظرياتي پيرامون وجود فروشندگان ثالث اجزا در دنيا نرم افزار هاي توزيع يافته انترنتي ويندوز (DNA) گرديد. البته اين موجب توسعه ASP به صورت برنامه مورد علاقه امروزي نگرديد ولي در موفقيت فعلي آن سهيم بوده است.
نياز به مدل جديد ASP
بديهي بود ماكروسافت به تغيير اصولي براي رساندن ASP به سطح ايده آل برنامه نويسي قدرتمند و صنعتي نياز داشت . صفحات فعال وب مبتني بر اصول COM است . فن آوري COM و ActiveX بخش مهمي از قدرت ASP را فراهم ميكنند ولي محدوديتهايي نيز براي آن خواهند داشت . ماكروسافت بايد تلاش زيادي در جهت بررسي COM و يافتن روشهاي بهبود آن انجام ميداد و اين تغييرات مي بايست بر روي ASP نيز تاثير بگذارند .در همان زمان ماكروسافت در يافت كه زمينه كاري برنامه نويسان تغيير يافته است و بر اساس استانداردهاي جديد كه هر لحظه عرضه ميشوند به ويژه در نرم افزارهاي توزيع يافته و اشتراك اطلاعات همچون (SOAP)Simple Object Access Protocol و XML_RPC، كه در آنها از XML استفاده گرديده تجديد ميشود .
خدمات وب متداول شد ، جاوا در همه جا حضور داشت و XML محبوبيت زيادي در ميان برنامه نويسان پيدا كرده بود. نسخه جديدي از ASP براي رفع اين نيازها كفايت نميكرد . اگر تغييرات فقط به قصد شكست دادن حريفان نبود و ميتوانستند در مقابل سختيها مقاومت كنند ولي بايد فن آوري دور از دسترسي را در اختيار ميگرفتند.
Windows DNA و ASP كه بر پايه فن آوريهاي Win32 API و COM ابتداي دهه 1990 بودند، نميتوانستند معماري فني و منطقي براي نرم افزارهاي توزيع يافته جديد فراهم نمايند در حالي كه شركت SUN با استفاده از (J2EE) Java 2 Enterprise Edition مجموعه اي از فن آوريهايي را در اختيار داشت كه برنامه نويسان ميتوانستند با دنبال نمودن آنها پروژه هاي كوچك
را همراه با Standard Edition آغاز نموده و آن را براي Enterprise Java Beans كاملأتغيير اندازه دهند.
در دنياي امروز ، تنها رقابت براي مرورگرهاي مختلف ديده نميشود ، بلكه رقابت در بخشهايي چون كانالهاي توزيع ، روشهاي اجرا در كامپيوترها و تلفنهاي موبايل ، تلوزيون ديجيتال محاوره اي ، لوازم خانگي هوشمند، منازلي مجهز به شبكه هاي ديجيتال و شايد براي تبديل صفحات وب به نرم افزارها وخدمات وب يكبار مصرف نيز وجود دارد. بدون ترديد ،در حالي كه ماكروسافت در حال بررسي پيرامون فن آوري هاي مخصوص خود ميباشد ، بايد رقابت را نيزمورد تجزيه تحليل قرار دهد . همان طور كه ماكروسافت چارچوب كاري .NET را عرضه نمود ، زبان جديدي را نيز براي قرن بيست و يكم به نام C# ارائه كرد و .NRT بر تمام انتقادات غلبه كرد و روشي كاملأ جديد براي برسي نرم افزارها و وب فراهم ساخت و براي هر چيز موجود شامل ويژوال بيسيك و ، يژوال C++ و صفحات فعال سرور جاي گزين قرار داده اند.
پيش از ASP.NET نگاهي به تاريخچه مختصر و پر حادثه ASP خواهيم داشت:
در دسامبر 1995 ، ماكروسافت با انجام تحولي كامل بيان نمود كه تمامي تيم توليدي محصولات خود را براي در برگرفتن انترنيت در ابزارهاي خود بكار خواهد گرفت .تا آن زمان آنها از بازار انترنت صرف نظر كرده بودند و در اين رقابت كاملأ عقب افتاده بودند.
فوريه 1996 ، ماكروسافت سرور اطلاعاتي انترنت را براي بارگذاري رايگان عموم منتشر كرد.سخنگوي ماكروسافت ادعا كرد اين كه اين سرور 4 برار سرور Netscape Netsiteا كارايي دار و شامل IDC ISAPI نيز مي باشد.
با گسترش Windows NT4 نسخه بعد IIS نيز همراه با آن گسترش يافت.
اكتبر 1996 ، ماكروسافت نسخه بتاي IIS3 را را براي ارتقا IIS 2 در اختيار قرار داد تغيير اصلي در اين نسخه پشتيباني از صفحات فعال سرور بود كه اين پروژه را “Denali” ناميده بود. ماكروسافت ادعا كرد بر بازار Netscape 2.1 غلبه خواهد كرد.
آگوست 1997 ، ماكروسافت ASP 2 را به همراه IIS 2 منتشر كرد . IIS در خود كنسول مديريت ماكروسافت(MMC) را براي مديريت ساده سرور داشت و سرور SMTP به عنوان برنامه همراه در نظر گرفته شده بود. SMTP قبلأ قسمتي از بسته Commercial محسوب ميشد. ÷÷ٍ وASP در اين مرحله بطور كامل با Microsoft Transaction Server يكپارچه شده و اين در واقع بمنزله برداشتن قدمي به سوي تهيه برنامه اي بود كه انتخابي معتبر براي راه اندازي شبكه هاي بزرگ محسوب ميشد.
1998 تا 2000 ماكروسافت انتشار نسخه هاي بالاتر موتورهاي زبان اسكريپت نويسي (Language Scripting Engines) را آغاز نمود و بدون نياز به UPDATE كارايي ASP را بالا برد بطور مثال عبارات منظم را براي برنامه نويسان اسكريپتهاي VB افزود.
با انتشار ويندوز 2000 همراه با IIS 5 نسخه ASP 3 عرضه شد ASP 3 امكان كنترل دوبار سمت سرور ،و پشتيباني بهتر از خطاها و استفاده از ADO 2.5و XML و مخفي سازي كد كامپايل شده را در اختيار قرار ميدهد . IIS 5 اين امكان را ميدهد كه پردازها را تحليل كند و از خرابي و از كار افتادن سيستم جلو گيري كند.
جولاي سال 2000 .NET اطلاعيه عمومي خود را منتشر نمود و C# را نيز معرفي كرد كه نشان دهند انعطاف و پايداري بود.
مروري بر پايه محيط ASP.NET
ماكروسافت با ارائه ASP و زبانهاي قديميتر خود به صورت .NET در قرن بيست و يكم قدم مهمي برداشت. ASP.NET كه از VB.NET را براي كد نويسي در اختيار قرار ميدهد به برنامه حرفه اي و شي گرابراي توليد صفحات وب تبديل شده و به اين فن آوري كمك بسيار ميكند . ولي زبانهايي كه از گذشته به ارث رسيده اند نمي توانند به اندازه .NET كارايي داشته باشند بنابراين .NET زبان C# را ارائه كرده كه براي محيط .NET مناسب باشد.
C# در .NET به عنوان زباني كاملأ جديد ارئه شده. C# در عين اينكه براي برنامه- نويسان C آشنا ميباشد ولي جديد است . C# به دليل داشتن خصايص RAS مورد علاقه برنامه نويسان VB نيز ميباشد. برخي ميگويند C# زباني ارئه شده از سوي ماكروسافت براي رقابت با Java شركت SUN ميباشد .
اگر ماكروسافت توليد نرم افزار را بخوبي توليد نمايدو C# را با VS.NET عرضه كند آنگاه قطعاُC# به معيارهاي مورد نظر خواهد رسيد . C# در واقع زباني جديد با تمامي امكانات دلخواه شما مانند شي گرايي كامل ، مديريت خود كار حافطه و مرتب سازي محيط كار مي باشد .
بعضي از نكات مهم در مورد ASP.NET عبارتند از:
ASP.NET بخشي اصلي از حوزه ابتكاري Micrisoft.NET يا برنامه اي جديد براي توليد نرم افزار مي باشد.
.NET در واقع يك طراحي كاربردي براي جايگزيني به جاي مدل DNA ويندوز و همچنين مجموعه اي از ، خدمات ، ابزارها ، نرم افزارها و سرورها بر پايه چهارچوب كاري .NET و زبان اجرايي مشترك مي باشد.
ASP.NET به جاي كه جايگزين ASP 4 بشود يا نسخه ارتقا يافته تدريجي آن باشد خود باز نويسي كامل از ابتدا محسوب مي شود واز تمامي امكانات پيشرفته براي در دسترس قرار دادن .NET استفاده شده است.
ASP.NET مي تواند از هر چيز كه توسط .NET ارائه مي شود از جمله پشتي باني از تعداد 20 يا بيشتر زبان .NET (از Perl.NET تا C# ) و مجموعه اي كامل كتابخانه هاي نرم افزاري چارچوب كاري .NET بهره ببرد .
نرم افزارهاي وب نوشته شده در ASP.NET سريع ، كارآمد ، قابل مديريت ، مقايسه پذير و انعطاف پذير هستند علاوه بر تمامي موارد فوق درك وكدنويسي آنها نيز بسيار ساده مي باشد .
تمامي اجزا و نرم افزارهاي وب كامپايل مي شوند . اشيا ,NET همگي به زبانهاي يكساني نوشته شده و همه آنها عملكرد يكساني دارند ، در نتيجه به دلايل اجرايي نيازي به ترك محيط ASP وجود ندارد.
نياز كمتري به استفاده از ابزار خارجي مي باشد با نوشتن فقط چند خط كد ، مي توان ميان ASP.NET وXML را بر قرار كرد يا شرطي گذاشت كه ASP.NET به عنوان نوعي وب سرويس عمل كند ، يا از آن استفاده كند فايل ها را منتقل كند يا صفحه سايتي را از راه دور پاك كند يا تصويري روي آن قرار دهد.
استفاده از انعطاف ASP.NET
ماكروسافت با كمك چارچوب كاري .NET و ASP.NET نه تنها خود را به عنوان رقيبي در فن آوري هاي توليد وب مطرح نمود بلكه بسياري از منتقدان نيز بر اين عقيده بودند كه ماكروسافت توانسته سايرين را پشت سر بگذارد. ASP.NET براي انجام هر كاري كه بخواهيد از ساخت صفحات وب تا سايت هاي بزرگ تجارت الكترنيكي ، در نظر گرفته شده.
ماكروسافت دقيق شد تا انعطاف و قدرت مورد نظر برنامه نويسان با داشتن خاصيت سادگي استفاده از آن رعايت شود.
با استفاده از ASP.NET توانايي انتخاب زبانها را داريد. همه زبانهاي .NET از كتابخانه و امكانات يكسان استفاده ميكنند. قدرتهاي يكسان از جهت ارث بري و كار با اجزا COM دارند
شما مي توانيد با اطلاعات و كد نويسي يكسان براي هر كار از توليد سايت انترنتي تا ايجاد سيستمهاي بزرگ استفاده كنيد.اختلاف ميان API ها براي برنامه نويسان هيچ مشكلي ايجاد نميكندو برنامه نويسان لازم نيست نگران تبديل متغيرها باشند.
در ASP.NET تمامي استاندارهاي جديد و مهم مانند SOAP وXML به علاوه ADO.NET و كتابخانه هاي كلاس اصلي تركيب شده اند و پياده ساز آنها نسبت به ساير فن آوري ها ساده تر خواهد بود.
يك برنامه نويس ASP.NET فقط به كامپيوتري كه داراي Notepad وقابليتFTP ميباشد براي نوشتن كد ASP احتياج دارد ولي با استفاده از كنترل دستور محيط .NET و قالبهاي متني بر XML برنامه هااين عمل ساده تر انجام مي پذيرد.ماكروسافت امكانات بسيار قدرتمند كلاس هاي كتابخانه،چون توابع قابل استفاده درشبكه براي عملكردبا پروتكل كنترل مخابره، پروتكل اينترنت (TCP/ P I Transmission Control Protocol/ Internet Protocol) و سيستم نام دومين (DNS) و خدمات وب وداده XML و تصوير كشيدن تصاوير گرافيكي را در چارچوب كاري .NET در نظر گرفته است.
در گذشته ، منظور از محدوديت هاي اسكريپت نويسي ASP اجزا بود كه بنا به دلايل مربوط بعمل كرد و نه دلايل طراحي مورد نياز بودند. ASP.NET به عملكرد يكساني دسترسي داشته و از زبانهاي يكساني براي توليد اجزا استفاده ميكند در نتيجه اجزا را ميتوان انتخابي از لحاظ طراحي دانست.
يك برنامه نويس ٍِASP.NET نسبت به تغييرات انجام گرفته در سيستم عامل زمينه وAPI محافظت ميشود و از آنجايي كه فن آوري .NET در رابطه با نحوه پياده سازي كدهاي شما ميباشند شما با استفاده از Common Type System نبايد نگران بكار گيري پياده سازي هاي مختلف يك رشته يا عدد صحيح در زبان مورد استفاده در جز ايجاد شده خود باشيد.
نوشتن برنامه هاي كاربردهاي ASP.NET
در نسخه هاي قبلي ASP، نصب و راه اندازي نرم افزار به برنامه ريزي دقيقي نياز داشت به خصوص در شرايطي كه سيستم بزرگ و پيچيده بود اين امر به علت وجود عوامل مختلفي چون نياز به انتقال ، نصب ، ثبت اجزا توليد شده لزوم متوقف ساختن و آغاز سرور وب و تضمين بابت اينكه اين نسخه درست را در اختيار داريد ديده ميشد. شما مجبور به پيكر بندي سرور وب از طريق كنسول مديريت ماكروسافت ADSI يا ابزار خط فرمان بوديد كه بعضي اوقات شما را وادار به متوقف ساختن و آغاز دوباره خدمات ميكرد .
اما با استفاده از ASP.NET تمامي اين موارد ساده شده است . فايلهاي ASP ، اجزا و گزينه هاي پيكربندي همگي فايلهايي هستند كه شما آنها را با هم منتقل خواهيد كرد . نيازي به ثبت اجزا وجود
نداشته و شما مي توانيد با استفاده از فايلهاي مبتني در قالب XML تغييرات پيكر بندي را مشخص نماييد.ASP.NET از طريق ايجاد قابليت ميزباني براي نسخه هاي مختلف يك جز بر روي يك سيستم وابستگي هاي نسخه هاي نرم افزاري را نيز ساده كرده است .
ASP.NET ومحيط كاري .NET ارائه شده از سوي ماكروسافت شامل سه زبان اصلي : VB.NET,C# و Jscript.NET ميباشد . البته ساير توليد كنندگان زبانهاي بسيار بيشتري مانند Perl.NET و يك Cobol.NET نسخه از Python را نيز در اختيار دارند.
Jscript به منظور تبديل به زباني كارآمد و داراي شي گرايي .NET مجبور به باز سازي شد . برنامه نويسان با تجربه Jscript نسبت به موارد افزوده شده احساس راحتي و رضايت ميكنند.
VB.NET جايگزين Vbscript شده است و از لحاظ عملكرد شباهت زيادي به آن دارد بطوري كه يادگيري آن براي برنامه نويسان Vbscript مشكل نخواهد بود . اين زبان به همراه Jscript دستيابي كامل به هر آنچه كه .NET ميتواند ارائه كند (مانند شي گرايي كامل براي اولين بار ) را فراهم مينمايد.
C# همانند J++ mark 2 توصيف شده . ولي در واقع C# بسيار فراتر از آن است . C# را در حقيقت بايد C++ اي دانست كه از ابتدا طراحي شده. مشكلات C++ كاملأ شناخته شده اند و در نتيجه نيازي به پرداختن به آن در اينجا نيست . تنها نكته اي كه بايد بدان اشاره نمود اين است كه در C++ ، شي گرايي آخرين راه حل انتخابي بوده است . در حالي كه در C# ، اين مسئله به عنوان پايه در نظر گرفته شده است .
تمامي عملكردها و پشتيباني از محيط كاري .NET براي تمامي زبانهاي .NET فراهم گرديده و علاوه بر اين اشيايي كه در يك زبان نوشته ميشوندتحت هر زبان ديگري قابل استفاده و تولد بوده و به ارث ميرسند. اين قابليت مفهومي بسيار قدرتمند بوده و نظريه عدم وابستگي زبان را مطرح ميكند. اين قابليت از طريق فن آوري Common Language Runtime قابل دستيابي ميباشد . CLR كرد زبان .NET را در يافت كرده و آن را دريافت نموده و آن را به زبان واسطه اي (زبان واسط ماكروسافت MSIL ) تبديل مي كند ، پس اين زبان واسط به كد ي دودويي ويژه دستگاه مقصد كامپايل مي شود . ويژگي زبان واسطه يكي از سيستم هاي عامل و برنامه هاي غير پنجرهاي مانند Portable.NET و Mono در حوزه منبع باز و محصولات ارائه شده از Borland وCorel در راه هستند.
مقايسه ASP.NET و مدلهاي قبلي ASP
اولين تفاوتي كه يك برنامه نويس با تجربه ASPميفهمد اين است كه پشتيباني از VBscript به نفع VB.NETكم شده است. البته اين مسئله بر خلاف ظاهر آن مشكل ايجاد نميكند چون كد آنها بسيار به يكديگر شباهت دارند و VB.NET زباني كاملأ قدرتمنداست بطوريكه محيطي بسيار كامل تر ار VBscriptدارد.
همان طور كه در بالا اشاره شد ، تمامي زبانهاي ASP.NET شي گرا بوده و در سرور كامپايل ميشوند اين امر فوايد بسياري از جمله در بخشهايي كه به بهبودهاي بيشتري نياز است مانند كارايي ماندگاري و قابليت مديريت به همراه داشته است.
با استفاده از ASP قديمي شما بايد تمامي برنامه خود را از ابتدا كد نويسي كنيدASP.NET داراي قابليت هاي زيادي در صرفه جويي نيروي كار به منظور آساني انجام كار ميباشد. فرم هاي وب با نگاهي جديد به فرم ها در در صفحات وب عرضه شده اند كه در واقع شيوه جديد VB Raid Development ميباشد.
برنامه نويسان با استفاده از فرم هاي وب از اجزا جديد فرم بهره ميبرند كه شما ميتوانيد آنها را به طريق مرسوم يا از طريق كد بيافزائيد . اين اجزا به برنامه نويس قابليت برنامه نويسي رويداد گرا را در سمت سرورميدهند. شما ميتوانيد كد طرح سيستم و وظايف را با بكارگيري كد در پشت صفحاتي كه از ساختار وراثتي براي افزايش متدها به فرم استفاده ميكنند ،جداسازي نماييد.كنترل- هاي فرم .NET حالت جلسه را حفظ ميكنند به طوري كه ورود كاربران حين ارسال صفحه حفظ ميشود و مقادير ويژه كنترل ها دركدهاي ASP در دسترسي قرار ميگيرند ، بدون اينكه در درخواست براي شي خواسته شده ، دوباره مرتب شوند.
كتابخانه هاي اصلي در بردارنده توانايي هاي جديد كه تا قبل توسط شركت هاي ديگر ارائه مانند System ميشد . ابزارهاي ترسيم كه امكان ساخت تصاوير متحرك را ميدهد ، امكان ارسال فايل وابسته به مرورگر به سرور و خدمات سيستمي شبكه براي كار با TCP/IPو DNS از اين خدمات ميباشد.
با كمك وب سرويسهاي پشتيباني قرار داده شده براي SOAP شما ميتوانيد نرم افزارها و كد را توزيع كنيد. اسكريپتهاي ASP.NET شما ميتوانند خدمات موجود در سراسر وب را مورد استفاده قرار دهند و زير برنامه ها را بعنوان نوعي خدمات در معرض نمايش بگذارند و يا اينكه آنها را منتشر كنند.
نصب و راه اندازي شامل پيكر بندي سرورهاي انتقالي كه پيكر بندي آنها قبلأ از طريق MMC در دسترس قرار نگرفته و اكنون توسط فايل هاي XML پياده سازي شده اند ، داراي اهميت ميباشد . اكنون ديگر نيازي به ثبت يا حذف اجزا وجود ندارد و سرور ميتواند نسخه هاي متعدد يك جز را بدون ايجاد ناهماهنگي مورد استفاده قرار دهد.
خدمات حساس مربوط به وظايف ، پشتيباني از برقراري تعادل بار و انتخابهاي متعدد در مديريت وضعيت را افزايش داده است . اين انتخابها شامل قابليت ذخيره سازي اطلاعات وضعيت در يك پايگاه داده سرور SQL و عبور دادن ID جلسه بر روي URL به منظور جلوگيري از لزوم ظهور بلوك هاي داده اي (Cookie) براي كاربر ميباشند.
چگونگي اجرا فايل هاي ASP توسط سرور
هنگامي كه بازديدكننده سايتي آدرس يك صقحه وب را درخواست ميكند ، مرورگر با سرور وب مشخص شده در آدرس URL تماس برقرار نموده و درخواستي براي صفحه اي كه در درخواست HTTP به صورت فرمول اعلام ميكند. سرور وب به محض دريافت درخواست ، نوع فايل درخواستي را مشخص ميكند و پردازش را به سرور وب رسيدگي كننده اختصاصي ميفرستد . فايلهاي ASP.NET در صورت لزوم به كلاس هاي صفحات .NET كامپايل شده و سپس اجرا ميشوند و نتايج به مرورگر فرستاده خواهد شد.
كامپايل نمودن به اين معني است كه در بار گذاري اول برنامه هاي ASP.NET به مدت زمان بيشتري براي حاضر شدن نياز است ولي بعد از كامپايل نمايش آنها به اندازه زيادي سريعتر ميشود.
عمليات كامپايل و تحويل صفحات ASP.NET طي مراحل زير انجام مي گيرد:
1- IIS ميانURL مورد در خواست با فايل موجود در سيستم فيزيكي فايل(ديسك سخت) مقايسه اي را انجام ميدهد ، اين مقايسه با ترجمه مسير واقعي ( به عنوان مثال/site/index.aspx ) به مسيري نسبت به ريشه وب سايت(به عنوان مثال d:\domains\Thissite\wwwroot\site\index.aspx ) صورت ميپذيرد.
2- هنگامي كه فايل بدست آمد ، پسوند فايل (.aspx )با فهرستي از انواع معين فايلها مقايسه ميشوند تا معيين گردد كه آيا فايل بايد براي بازديد كننده ارسال شود و يا براي پردازش فرستاده شود.
3- اگر نسبت به زماني كه فايل آخرين تغييرات را متحمل شده ، اين اولين بازديد از صفحه باشد ، كد ASP با استفاده از كامپايلرCommon Language Runtime به زبان اسمبلي شده (به MSIL ) پس براي اجرا به كد دودويي ويژه ماشين كامپايل ميشود.
4- كد دودويي يك .dll از كلاس .NET است كه در يك محل موقتي ذخيره ميشود .
5- دفعه بعدي كه صفحه در خواست ميشود ، سرور بررسي ميكند كه آيا كد تغيير يافته است يا نه . اگر همان كد قبلي باشد آنگاه مرحله كامپايل حذف شده و كد كلاس كامپالي شده پيشين اجرا ميگردد ، در غير اين صورت كلاس حذف شده و منبع جديد دوباره كامپايل ميشود.
6- كد كامپايل شده اجرا كرديده و مقادير در خواستي مانند فيلهاي ورودي فرم يا پارامترهاي URLتفسير ميشوند.
7- اگر برنامه مويسي از فرمهاي وب استفاده كرده باشد ، آنگاه سرور ميتواند نرم افزار مورد استفاده بازديد كننده را شناسايي نموده و صفحاتي را مطابق نيازمندي هاي بازديد كننده مناسب سازي شده اند منتقل نمايد . به عنوان نمونه مي توان به كد ويژه Netscape يا كد زبان نشانه گذاري بي سيم (WML) براي دستگاه هاي موبايل اشاره نمود.
8- هر به مرورگر وب بازديد كننده ارسال خواهند شد.
9- عناصر فرم به اسكريپت و نشانه هاي سمت كلاينت يعني HTML وJavaScript براي مرورگرهاي وب و WMLScript وWMLScript براي دستگاه هاي موبايل تبديل خواهند شد.
نویسنده امین صفایی
به نقل از the reporter
درجه دسترسی
الف) عمومی
جالب اینکه در امور شخصی نیز به جای دزدگیرهای فعلی که ضد آن ساخته شده و کم کم کارایی لازم را از دست میدهد، استفاده میشود. کافی است یک گیرنده مینیاتوری داخل اتومبیل گرانقیمت و یا لباس انسان جاگذاری شود، میتوان اتومبیل یا شخصی که صدها کیلومتر دور از ما هست را با استفاده از روش ردیابی GPS و اینترنت کشف و گزارش کرد.
ب ) هواپیما ، چراغ علاءالدین
سالها قبل اگر به کابین خلبان و یا ناوبر سر میزدید، خلبان، مهندس پرواز و ناوبر همگی به طور دائم در حال بررسی وضعیت ناوبری، موتور، ... بودند که در پروازهای طولانی خستهکننده بود. خلبان خودکار (اتوپایلوت) نیز کاربری محدود دارد اما در هواپیماهای مدرن امروزی، کامپیوتری به نام سیستم مدیریت پرواز FMS (Flight Management (System به طور هوشمند وجود دارد که خلبان دستورات دریافتی پروازی از مرکز Despatch زمین را به حافظه این کامپیوتر وارد میکند.
شما حتما در داستان علاءالدین و چراغ جادو ملاحظه کردهاید که غول معروف داستان، علاء الدین را هر جا که اراده میکرد، میبرد این مثال در مورد ماهواره و خلبان نیز صدق میکند. خلبان هم اطلاعات پروازی Flightplan را از طریق FMS به حافظه ماهواره وارد کرده و از GPS میخواهد که او را به فرودگاه موردنظرش راهنمایی کند (مقصد). با توجه به اینکه مشخصات و مختصات کلیه فرودگاههای دنیا در حافظه اصلی ماهواره ثبت است، بنابراین ماهواره اطلاعات دریافتی از هواپیما را پردازش کرده و مختصات مسیر پرواز (طول و عرض جغرافیایی – زمان، ارتفاع، سرعت ...) را روی مونیتور خلبان به نمایش درمیآورد (نصب این مونیتور در کابین مسافران در پروازهای برونمرزی اجباری است).حال، خلبان پس از بلند شدن از زمین کافی است که فرمان را روی خلبان خودکار قرار دهد و استراحت کند و یا به کابین مسافران رفته و با آنها صحبت کند. زیرا FMS با دریافت اطلاعات لحظهای از ماهواره، ارتفاع، جهت و مسیر مناسب را انتخاب میکند. شگفت آنکه GPS به خاطر ارتباط با رادار هوا Weather Radar در صورت بدی هوا، مسیر هواپیما را تغییر میدهد و پرواز را ایمن میسازد. آری، حال شما کافی است در کابین مسافران به صندلی خود تکیه داده و استیک خود را با خیال راحت میل کنید و یا از خواب عمیق لذت ببرید زیرا شما در پناه تکنولوژی قرن بیست و یکم پرواز میکند.
زمان همه چيز است؟
وقتي كه GPS موقعيت ماهواره را در فضا پيدا كرد ، بايد فاصله خود را از ماهواره پيدا كند . يك راه ساده براي اين كار وجود دارد كه به GPS بگويد چه قدر از ماهواره فاصله دارد و آن اين است كه فاصله شما از ماهواره مورد نظر برابر است با سرعت انتقال داده ها ضرب در زماني كه طول مي كشد تا اطلاعات به شما برسد GPS از سيستمي شبيه اين استفاده مي كند تا فا صله خود را پيدا كند.همانطور كه همه ي ما مي دانيم سرعت امواج راديويي برابر 186.000 مايل بر ثانيه و چيزي حدود 300.000 KM/S است .پس GPS بايد زمان انتقال را محاسبه نمايد
محاسبه در جی پی اس
جواب در كدي است كه ماهواره مي فرستد و اسم آن PSEUDO-RANDOM است ، وقتي ماهواره كد مذكور را مي سازد در همان زمان GPS هم كد را مي سازد ، بعد از آنكه كد از ماهواره به GPS رسيد دستگاه اختلاف زماني بين اين دو كد را محاسبه مي كند و زمان لازم را بدست مي آورد.به اين سيستم محاسبه TIME OF ARRIVAL مي گويند چون زمان GPS وماهواره دقيقا يكسان نيست و امكان تعبيعه ساعت اتمي در GPS هم هزينه زيادي دارد وهم وزن دستگاه را زياد مي كند پس براي بدست آوردن يك زمان دقيق بين ماهواره و GPS از كد PSEUD-RANG استفاده مي شود كه تشكيل شده از دريافت اطلاعات از حداقل 4 ماهواره ثابت و پردازشكردن آنها تا زماني كه خطاي ساعت از بين برود.
يك دايره كامل:
حالا كه GPS موقعيت و فاصله ماهواره را مي داند مي تواند مو قعيت خود را حساب كند. فرض كنيد فاصله ما از يك ماهواره 11.000 مايل است پس مكان ما در جايي روي محيط يك كره ي فرضي به شعاع 11.000 مايل و مركزيت ماهواره است.حال يك ماهوارهديگر با13.000 مابل فاصله تصور كنيد كره ي دوم در تقاطع كره اول يك دايره را تشكيل مي دهد . اگر ماهواره ي سوم را اضافه كنيم دو نقطه برخورد خواهيم داشت كه با دادن ارتفاع حدودي خود GPS مختصات طولي و عر ضي را به ما مي دهد ولي اين مختصات ممكن است درست نباشد براي همين ماهواره ي چهارم را وارد مي كنيم كه از بر خورد 4 كره ي فرضي فقط يك نقطه بدست مي آيد.
منابع خطا:
گيرنده ها ي GPS غير نظامي به صورت بالقوه يك سري خطا دارند كه در زير به بعضي از آنها مي پردازيم.
lonosphere and troposphere delays
سيگنالهاي ماهواره هنگام عبور از اتمسفر سرعت حركت خود را از دست مي دهند سيستم يك مدل در داخل خود دارد كه با آن ميانگين تاخير را حساب مي كندولي اين مقدار دقيقا مقدار تاخير نيست و همين باعث ايجاد خطا مي شود
signal multi-path
وقتي سيگنال قبل از رسيدن به گيرنده هاي GPS با برخورد با اجسامي مثل ساختمانهاي بلند تغير مسير مدهد و باعث زياد شدن زمان رسيدن سيگنال به GPS ميشوند و اين توليد خطا ميكند
receiver clock error
داشتن يك ساعت اتمي در داخل GPS عملي نيست همچنين ساعت داخلي GPS داراي خطاي زيادي است
orbital errors
اين خطا با نام EPHEMERIS ERROR نيز شناخته مي شود كه خطاي گزارش غلط در باره ي مدار ماهواره است
NUMBER OF SATELLITES VISIBLE
هر چه تعداد ماهواره ها بيشتر باشد ، اطلاعات GPS درست تر است. ساختمان ها ، قطار ، منابع الكتريكي و يا گاهي اوقات شاخ و برگ درختان ميتواند مانع رسيدن امواج به GPS باشد و منجربه خطاي موقعيت مي شوند ، يك ديد تميز باعث دريافت بهتر مي شود . GPSدر مناطق در بسته (اغلب)يا زير آب يا زير زمين كار نمي كند.
Satellite geometric /shading
بستگي دارد به ماهواره هاي پيدا شده در زمان داده شده.جغرافياي مطلوب زماني است كه ماهواره ها با زاويه ي زياد در ديد هم باشند ودر دست رس . و جغرافياي بد زماني است كه ماهواره ها در يك خط باشند يا در يك گروه بسته در دسترس باشند.
اساس اندازهگیری و عملکرد GPS به شرح زیر است:
۱ – اساس کار آن، روش اندازهگیری مثلثبندی با ماهوارههاست.
۲ – در اندازهگیری مثلثبندی، فاصله از طریق طی مسیر و به وسیله یک پیام الکترومغناطیسی (سیگنال) اندازهگیری میشود.
۳ – وقتی که فاصله از ماهواره مشخص شد باید بدانیم که ماهواره در کدام نقطه فضا قرار دارد.
۴ – اندازهگیری زمان مسیر طی شده به ساعتهای دقیق و در نتیجه گران قیمت نیاز دارد.
۵ – باید در نظر داشت که سیگنال GPS هنگام عبور از یونیسفر و اتمسفر با تاخیر زمانی مواجه است.
عملکرد مثلثبندی
عملکرد مثلثبندی به عنوان اساس کار فرض شود که ما در نقطه O در فضا قرار داشته باشیم و از موقعیت خود اطلاع نداریم اما میدانیم که فاصله ما از نقطه A برابر a است و میدانیم که نقطه O روی کرهای به شعاع a و مرکزیت A قرار دارد و همین سلسله را تا نقاط D (A B C D) نیز به کار ببریم و برای به دست آوردن فاصله از ماهواره، به مثال زیر توجه شود: - ش ۳ – شما و دوستتان در نقاط شمالی و جنوبی یک زمین فوتبال ایستادهاید و هر دو همزمان در ساعت ۴ میگویید "یک" چهار و یک ثانیه بگویید "دو" ...
حال اگر "یک" گفتن دوستتان را هنگام گفتن ۴ توسط خودتان بشنوید و محاسبه کنید، رسیدن صدای "یک" دوست شما "سه" ثانیه طول کشیده است و اگر این "سه" ثانیه را در سرعت صوت و در دمای مشخص ضرب کنید، فاصله به دست میآید. در ماهواره نیز گیرندههای هواپیما و ماهواره همزمان سیگنال ارسال میکنند و با اختلاف زمانی برگشت سیگنالها فاصله به شمار میرود. – ش ۲ – اما زمان کلید اندازهگیری در ماهواره است زیرا یک ثانیه اشتباه یعنی ۰۰۰/۳۰۰ کیلومتر اختلاف مکانی. بنابراین از ساعتهای اتمی با دقت عمل ۹- ۱۰ ثانیه استفاده میشود. البته اغتشاشاتی در مسیر ناشی از جاذبه خورشید، ماه، اجرام سماوی ... وجود دارد که GPS برای مقاصد نظامی انحرافات را محاسبه، تصحیح و مخابره میکند.
اولين ماهواره براي راه اندازي GPS
اولين ماهواره براي راه اندازي GPS در سال 1978 به فضا فرستاده شد و تمام 24 ماهواره تا سال 1994 پرتاب شدند هزينه اين عمليات از بودجه سازمان دفاع دولت امريكا پرداخت شده استهر ماهوواره امواج ضعيف راديويي را در موج هاي مختلف كه تحت نام هاي L1,L2,…,Ln شناخته مي شود ، مي فرستند. امواج GPS از بين اجسامي مثل شيشه، پلاستيك و از اين قبيل رد مي شوند ولي در عبور از ساختمان هاي بتوني امروزي مشكل دارند.
قسمت كنترل:
اين قسمت IMPLIES هم خوانده مي شود .اين قسمت با اطلاعاتي مثل سرعت و مدار وساعت درست پشتيباني مي كند. قسمت كنترل از پنج ايستگاه تشكيل شده است كه چهار ايستگاه به صورت nonehuman (بدون انسان) اداره مي شود و يك ايستگاه كه ايستگاه MASTER خوانده مي شود توسط انسان اداره مي شود. 4 ايستگاه اطلاعات را به ايستگاه اصلي مي فرستند و در انجا اطلاعات پردازش مي شود و به ايستگاه هاي فرعي برگشت داده مي شود واز انجا به ماهواره ها فرستاده مي شود
قسمت كاربر:
اين قسمت شامل GPS و خود شما مي شود . مسلما شما مي توانيد هر كسي باشيد.يك ارتشي ، يك خلبان ، يا هر كسي كه بخواهد بداند در كجا قرار دارد.
GPS چگونه كار مي كند؟
قسمت جالب اين است كه GPS چگونه كار مي كند ؟ رسيور GPS دو چيز را بايد بداند تا بتواند كار كند
1. ماهواره كجا قرار دارد؟
2. ماهواره از GPS چقدر فاصله دارد؟
اول به نحوه پيدا كردن مكان ماهواره توسط GPS مي پردازيم . گيرنده GPS دو نوع كد از ماهواره دريافت مي كندكه يكي"ALMANAC" خوانده مي شود، كه شامل موقعيت تقريبي ماهواره است. اطلاعاتي كه از ماهواره ارسال مي شود در حافظه ي GPS ذخيره مي شود و GPS مدار قرار گرفتن ماهواره را پيدا مي كند. اطلاعات"ALMANAC" مرتبا با حركت ماهواره عوض مي شود به طور معمول هر ماهواره ممكن است گاهي از مدار خود خارج شود در اين هنگام مركز كنترل زمين با ارسال مسير درست حركت ماهواره را به مسير درست هدايت مي كنداطلاعات درست كه از زمين ارسال مي شود EPHEMERIS" ifemeres " خوانده مي شود كه براي حدود 4 تا 6 ساعت درست مي باشد اين كد از ماهواره به گيرنده GPS . در اين زمان اگر از GPS استفاده گردد مي گويند GPS گرم است ولي اگر ارسال مي شود. بعد 4 تا 6 ساعت از GPS استفاده شود به دليل آنكه اطلاعات ديگر قابل استفاده نيست و بايد دوباره گرفته شود مي گويند GPS سرد است.
پس GPS دو كد "ALMANAC" و EPHEMERIS" " را از ماهواره دريافت مي كند و موقعيت ماهواره را تعين مي كند.ماهواره ای با گیرنده ای کوچک

چند نمونه از گیرندههای GPS)
شايد طراحان اوليه هرگز روزي را نمي ديدند كه بتوان يك GPS RESIVER را با وزني كمتر از يك پوند به راحتي حمل كنيم .
اين دستگاه نه تنها قادر است اطلاعات مكاني ما را بدهد بلكه بعضي از انواع ان يك نقشه الكتريكي از شهر به همراه خيلي از جزييات مثل كوچه ها و هتل ها و... را در اختيار كاربر قرار مي دهدهدف از طراحي اين سيستم اهداف نظامي بوده است GPS يك دستگاه هدايت كننده براي سربازان وآتش توپخانه ويا براي ناوبري هواپيما ها وكشتي ها بوده است.
خوشبختانه در سال 1980 توسط حكم دولت آمريكا استفاده از GPS براي عموم ازاد شد بعضي از مواقع مر دم از خود مي پرسند كه ايا امكان دارد كه از GPS بتوان به صورت كاملا مجاني استفاده كرد در جواب بايد گفت كه هم اكنون خرج اين دستگاه از ماليات مردم امريكا تامين مي شود پس حداقل براي مردم خارج از امريكا فقط هزينه باتري و خود دستگاه است كه بايد بپردازند.پس با خريد يك GPS RECEIVER وقرار دادن باتري در ان مي توانيد از ان لذت ببريد
چه كساني از GPS استفاده مي كنند؟
GPS استفاده هاي گوناگوني در زمين ، هوا و دريا دارد. GPS به شما اجازه مي دهد يك موقعيت بسازيد وبا استفاده از GPS از جايي ديگر به آن برسيد.GPS در هر جايي بجز جاهايي كه گرفتن سيگنال راديويي امكان ندارد مثل داخل تونل ها يا زير آب دريا ، كار ميكند.
در دريا GPS براي هدايت كردن ماهيگيران وكشتي ها ودر هوا براي هدايت كردن هواپيماها استفاده مي شود مورد استفاده اين دستگاه بر روي زمين بيشتر براي رانندگان مي باشد. دانشمندان از ساعت دقيق اتمي آن استفاده مي كنندوامدادگران براي بالا بردن بهره كار خود آنرا مورد استفاده قرار دهند.افراد ديگر هم مثل ماهيگيران يا اسنومبيل سوارها و.... هر يك بر طبق نياز خود از آن استفاده مي كنند وقتي مي خواهيد بدانيد كه به كجا مي رويد وبا چه سرعتي حركت مي كنيد ، مي توانيد از GPS استفاده كنيد.
سه قسمت از GPS
سيستم NAVSTAR
سيستم NAVSTAR كه مخفف NAVIGATION SATELITE TIMING AND RANGING است اسم رسمي gps مي باشد كه سازمان دفاع امريكا ان را تايين كرده است
NAVSTAR ، شامل قسمت فضايي(ماهواره) ، قسمت كنترل(زمين) و قسمت كاربر مي باشد.اجازه دهيد اين سه قسمت را بيشتر مورد مطالعه قرار دهيم وسپس طرز كار GPS را ببينيم.
قسمت فضايي:
شامل 24 ماهواره است(21 فعال و 3 تا ذخيره) كه قلب سيستم حساب مي شود. ماهواره ها در جايي واقع شده اند به نام مدار بالايي كه12،000 مايل بالاتر از جو زمين قرار دارد. 19312.18KM حركت در چنين ارتفاع زيادي اين امكان را مي دهد كه SIGNAL منطقه بيشتري را پوشش دهد و همچنين در هر لحظه حداقل 4 ماهواره در دسترس باشد.
ماهواره ها فضا را با سرعتي معادل 7،000 مايل در ساعت طي مي كنند ، با اين سرعت هر ماهواره در يك روز دو با زمين را دور مي زند.انرژي ماهواره ها از انرژي خورشيدي توسط باتري هاي خورشيدي تامين مي شود.عمر مفيد هر ماهواره 10 سال است و بعد از اين مدت ماهواره فرسوده در فضا رها مي شود و ماهواره اي جديد جايگزين آن مي شود
اگر به هر دليلي انرژي خورشيد به ماهواره نرسد ( مثل خسوف يا كسوف ) ماهواره ها با استفاده از باتري هاي پشتيبان خود را به صورت روشن نگه مي دارندهمچنين هر ماهواره چند موشك پيش برنده دارد كه با كمك آنها خود را در مسير درست هدايت مي كنند
فنی و مهندسی:
مهندسین راهسازی ، کارخانه داران ، بازرگانان و هر فردی که بخواهد اطلاعاتی را در خصوص مکانی که در آنجا حضور دارد را بیابد این سرویس به نیاز او جوابگوست فقط کافی است اراده کنید!
از سيستم مكان ياب جهاني مي توان در كارههايي چون نقشه برداري و مساحي، پروژه هاي عمراني، كوهنوردي، كايت سواري، سفر در مناطق ناشناخته، كشتي راني و قايقراني، عمليات نجات هنگام وقوع سيل و زمينلرزه و هر فعاليت ديگر كه نيازمند محل يابي باشد، بهره برد.
اعلام مکان :
یکی از این گیرنده ها در قالب دزدگیر خودرو، کنترل ترافیک خودروها: با نصب یک دستگاه گیرنده در محل دست نیافتنی خودرو خود مانند داخل باک بنزین و یا با جاسازی ماهرانه ، خودرو شما در سرقت امان است خودرو را بادرب باز و حتی روشن در خیابان رها کنید، تا دزدی به سرش بزند و خودرو شما را سرقت کنید شما می توانید، پس از سرقت با یک گیرنده دریابید که دزد ، به کجا ها می رود و بعد از کمی گردش مکان را به پلیس گفته تا او دستگیر شود البته شماره خودرو به پلیس بدهید هم کافی است آنها هم گیرنده مرکزی دارند ؛
این سیستم در کنترل خودروهای ادارات ، سازمانها ، آژانسهای مسافری و ... که باید بدانند خودروهای زیرمجموعه اشان الان کجا هستند مفید است البته نباید خودرو مدیر کسی کاری داشته باشد. این مورد حتی در مورد افراد به خصوص کودکان و سالمندان و دیگر افراد هم مفید است الان همسری می تواند دریابد شوهرش در اداره است و یا نه .. البته در اداره است
کاربرد نظامی اولین هدف:
در مجله ای خواندم که تمام نظامیان آمریکا مجهز به گیرنده های پیشرفته هستندکه دارای امکانات بسیار زیادی است به گونه که فرد ؛ مکان ، نقشه منطقه ، فاصله ها و ... و تمام اطلاعات محیطی را از ماهواره می گیرد حتی می تواند وضعیت آب و هوایی 10 روز آینده منطقه نیز مطلع شود. از سوی دیگر یگان مربوطه از جرییات مکان و وضعیت سرباز خود مطلع می گردد ، نوع حرکت ، وسیله نقلیه پراکندگی نیروها و ... مطلع می شود حتی می دانند که سربازشان زنده است یا اینکه کشته شده است، این وضعیت در تاکتیک نظامی بسیار موثر و کارامد است
البته ناگفته نماید، این سیستم هم مانند اینترنت توسط وزارت جنگ آمریکا با هدف نظامی راه اندازی شد اما با گسترش این فن آوری کاربرد غیرنظامی آن نیز گسترش یافت ، البته بسیاری از امکانات سیستم تنها در اختیار نظامیان آمریکا ست!!!
ماهواره هاي سيستم
۲۴ ماهواره ي GPS در مدارهايي بفاصله ۳۶۶۰۰ كيلومتري از سطح دريا گردش مي كنند. هر ماهواره دقيقا طي ۱۲ ساعت با سرعت ۱۱ هزار كيلومتر بر ساعت يك دور كامل بدور زمين مي گردد.
اين ماهواره ها نيروي خود را از خورشيد تامين مي كنند ولي باتري هايي نيز براي زمانهاي خورشيد گرفتگي!!! و يا مواقعي كه در سايه ي زمين حركت مي كنند بهمراه دارند.( اگر ماهواره ملی بود در این مواقع با مشکل روبرو می شدیم!!!!!!!!!)