تبليغاتX
برنامه نویسی و رایانه

برنامه نویسی و رایانه

انجام کلیه پروژه های برنامه نویسی و دانشجویی

باز افتخاری دیگر

با سلام خدمت همه ایرانیان

ساخت اولین ابر رایانه های ملی و کسب رتبه ۱۰۸ جهان را به شما تبریک می گوییم

+ نوشته شده در  2011/2/24ساعت 8:36 AM  توسط مهدی سالخورده  | 

ثبت نمرات درس سی شارپ

+ نوشته شده در  2011/1/24ساعت 9:17 AM  توسط مهدی سالخورده  | 

ميزباني ويندوز يا لينوكس؟ مسئله اين است

سئوالي كه همواره در ذهن مديران سايت‌ها و وبلاگ‌ها باقيمانده اين سئوال بوده كه براي ميزباني سايت خود بايد از چه نوع ميزباني استفاده كنند؟ ويندوز يا لينوكس. ما در اين سطور به شرح كامل ويژگي‌ها، مزايا و معايب هر كدام از سيستم‌عامل‌ها خواهيم پرداخت.

در ابتدا بايد گفت كه سيستم‌عامل ويندوز همانگونه كه از پيش حدس زده‌ايد براي ميزباني بسترهاي برنامه‌نويسي مايكروسافتي مانند انواع ويرايش‌هايASP و دات‌نت و بانك اطلاعاتي SQL سرور ايده‌آل است، ولي اگر سايت شما HTML، PHP و يا بانك اطلاعاتي آن MySql است بايد گزينه لينوكس را انتخاب نماييد.

در توضيح بيشتر زبان‌هاي برنامه‌نويسي بالا و بانك‌هاي اطلاعاتي نويسنده اين مقاله به علت پيشرفت عالي و بي‌نظير مايكروسافت در سال‌هاي اخير استفاده از سايتي با برنامه‌نويسي دات‌نت و نتيجتا ميزباني ويندوز را پيشنهاد مي‌كند كه بستر برنامه‌نويسي آن به مراتب امن‌تر از PHP و بانك آن يعني SQLServer به مراتب قوي‌تر از MySQL است و امكانات بيشتري را در كنار كاشه صفحات و ديگر تدابير افزايش دهنده سرعت در اختيار شما قرار مي‌دهد.

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

در رابطه با امنيت كلي سرورهاي ويندوز و لينوكس بايد گفت كه اگر چه به علت فراگيرتر بودن ويندوز هكرها و يا ويروس‌ها در اين بخش فعال‌ترند ولي مايكروسافت بسته‌هاي رفع باگ‌هاي امنيتي خود را با سرعت بيشتري در اختيار سرورها قرار مي‌دهد و با اين كار خود را امن و مطمئن ساخته است و نبايد از باب امنيتي دغدغه براي انتخاب يك سرور ويندوزي براي شما وجود داشته باشد.

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

+ نوشته شده در  2011/1/16ساعت 6:27 PM  توسط مهدی سالخورده  | 

جاوا زبانی جالب !!!

در یکی از مقالات شرکتsun، زبان جاوا را با این خصوصیات شرح می دهد: جاوا یک زبان ساده، شی گرا، توزیع شده، تفسیر شده، قدرتمند، ایمن، با معماری خنثی، قابل حمل، با عملکرد سطح بالا چند نخ کشی شده و پویا است. sun تصدیق می کند که به طور قطع این کلمات رشته هایی از واژه های متداول در زبان برنامه نویسی هستند، اما حقیقت این است که این واژه ها به طور ماهرانه ای خصوصیات این زبان را شرح می دهند. حال به برخی از خصلت های جاوا در پشت این واژه ها می پردازیم.
شی گرا object oriented :
جاوا یک زبان برنامه نویسی شی گرا است. برای یک برنامه نویس این به این معنا است که به جای فکر کردن به قسمت های رویه برنامه، باید به کاربرد داده ها و روش هایی که روی آن داده ها عمل می کنند، توجه شود.اگر شما به برنامه نویسی با اعلان رویه در c عادت کرده اید، ممکن است دریابید که به هنگام استفاده از جاوا مجبور به تغییر در روش و چگونگی برنامه تان هستید. هنگامی که فهمیدید این الگوی جدید چقدر قدرتمند است، به سرعت با آن هماهنگ می شوید . در یک سیستم شی گرا، یک کلاس مجموعه ای از داده ها و روش هایی است که روی آن داده عمل می کنند. همراه بودن داده ها و متد ها رفتار و حالت یک شی را بیان می دارد. کلاس ها به صورت سلسله مراتبی مرتب شده اند، بنابر این یک زیر کلاس می تواند رفتار هایی را از کلاس بالاتر به ارث ببرد. یک کلاس سلسله مراتبی همیشه یک کلاس ریشه دارد که کلاسی است با رفتار های کاملا عمومی . جاوا به همراه دسته گسترده ای از کلاس هایی است که در بسته هایی مرتب شده اند و شما می توانید از آنها در برنامه خود استفاده کنید. یک شی کلاس(in the java.lang package) به عنوان ریشه کلاس سلسله مراتبی جاوا انجام وظیفه می کند . درست است که جاوا طوری طراحی شده است که مثل c++ باشد و خاصیت های آن را داشته باشد، اما هنگامی که با آن کار کنید خواهید فهمید که بسیاری از پیچیده گی های آن زبان را از بین برده است . اگر شما یک برنامه نویس c++ هستید حتما لازم است که ساختار های شی گرایی در جاوا را به دقت مطالعه کنید. اگرچه ترکیب و شیوه دستورات آن تقریبا شبیه c++ است، اما رفتار های آن خیلی مشابه نیست .
تفسیر شدهinterpreted :
جاوا یک زبان تفسیر شده است. کامپایلر جاوا به جای ایجاد کد محلی ماشین، کد بایتی برای ماشین مجازی جاوا ایجاد می کند. برای اجرای دقیق برنامه، از مفسر جاوا برای اجرای کد های بایتی کامپایل شده استفاده می شود. به دلیل اینکه کدهای بایتی جاوا به نوع کامپیوتر بستگی ندارند، برنامه های جاوا می توانند روی هر نوع کامپیوتری که jvm (java )virtual machine را دارند، اجرا شوند . در محیط تفسیر شده، مرحله لینک استاندارد توسعه برنامه از دید کاربر پنهان است. اگر جاوا تنها یک مرحله لینک داشت، فقط بارگذاری کلاس جدید به محیط پردازش می شد که این خصوصیت با چرخه کامپایل-لینک-اجرا ی آرام و طاقت فرسای زبان هایی مانند c یا c++ در تضاد است .
معماری خنثی و قابل حمل:
به دلیل اینکه برنامه های جاوا در فرمت کد بایتی با معماری خنثی کامپایل شده اند، برنامه کاربردی جاوا می تواند در هر سیستمی اجرا شود.البته با این شرط که آن سیستم توانایی پیاده سازی ماشین مجازی جاوا را داشته باشد. این مسأله تقریبا برای کاربردهای توزیع شده روی اینترنت و یا دیگر شبکه های ناهمگن مهم است. اما روش معماری خنثی برای کاربردهای بر مبنای شبکه مفید است . به عنوان یک توسعه دهنده برنامه های کاربردی، در بازار نرم افزاری امروز ممکن است بخواهید مدل های کاربردی خود را توسعه دهید، به طوری که بتواند رویpc، مکینتاش و سیستم عامل unix اجرا شود .با وجود گونه های مختلف unix windows روی pc و مکینتاش قوی جدید، رفته رفته تولید نرم افزار برای همه انواع این کامپیوتر ها سخت می شود. اگر شما برنامه تان را در جاوا بنویسید می تواند روی همه این کامپیوترها اجرا شود. در حقیقت تفسیر شده بودن جاوا و تعریف یک استاندارد، معماری خنثی داشتن و فرمت کد بایتی آن از بزرگترین دلایل قابل حمل بودن آن به شمار می آیند . اما جاوا باز از این هم بیشتر گام برمی دارد، با اطمینان حاصل کردن از اینکه هیچیک از جنبه های وابستگی اجرایی زبان را ندارد. برای مثال جاوا به طور صریح اندازه هریک از انواع داده را تعریف می کند که این با c تفاوت دارد، برای مثال هریک از انواع صحیح می تواند بسته به نوع کامپیوتر16-32 یا 64 بیت طول داشته باشد . هنگامی که به صورت تکنیکی امکان نوشتن برنامه های غیر قابل حمل در جاوا فراهم شد، جلوگیری از چند خاصیت وابسته به نوع کامپیوتر که توسط جاوا api تولید شده و به طور قطع قابل حمل نوشته شده است، آسان است . یک برنامه جاوا به تولید کنندگان نرم افزار کمک می کند تا از قابل حمل بودن کد هایشان اطمینان حاصل کنند. برنامه نویسان فقط برای پرهیز از دام غیر قابل حمل بودن برنامه احتیاج به یک تلاش ساده دارند که شعار تجارتی شرکتsun را زنده نگهدارند و آن شعار این است : « یک بار بنویس، همه جا اجرا کن» .
dev.ir

+ نوشته شده در  2011/1/16ساعت 6:21 PM  توسط مهدی سالخورده  | 

زبانی برای برنامه نویسان با سلیقه

یک زبان برای برنامه نویسان با سلیقه
 

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 ، این نوع نگهداری از سیستم بسیار دشوار، پرهزینه و وقت گیر بود.

+ نوشته شده در  2011/1/16ساعت 6:17 PM  توسط مهدی سالخورده  | 

بررسی معماري بولدوزر - آينده پردازنده های سطح بالاي AMD

5-bulldozer.jpg

احتمالا بررسی معماری باب کت را از نارنجی به یاد دارید. اگر این طور است، پس حتما وعده بررسی بولدوزر را هم یادتان هست. در این مقاله هم به این وعده جامه عمل پوشاندیم و این معماری را که برای بازار پردازنده های حرفه ای ارائه شده، بررسی کردیم. اگر شما هم می خواهید بدانید که سرنوشت پردازنده های 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 کار سنگین، هر کدام با دو هسته و ....  
 
-در اعماق یک بولدوزر:  
 
حالا می خواهیم ببینیم که این راه سومی که ای ام دی میگوید چیست؟ در زیر دو دیاگرم می بینید. دیاگرم سمت چپ، یک چیپ دو هسته ای است. معماری این چیپ شبیه معماری اصلی بولدوزر است. اما به دیاگرم سمت راست بنگرید تا اوج کار را در یابید. این یک چیپ یک هسته ای است که این دو هسته را در خود جای داده است!

1-bulldozer.jpg

با این که کار جالبی است، اما ما هنوز هم مشکوک هستیم که آیا نامیدن بولدوزر به عنوان "راه سوم" درست است یا این که فقط تقلیدی است از تکنولوژی Hyper Threading اینتل؟  
 
قبل از همه چیز باید شما را با مفهوم پایپ لاین آشنا کنیم. برای اطلاعات بیشتر در این مورد هم می توانید به مقاله بررسی کرتکس و تگرا 2 مراجعه نمایید. اما این تعریف پایپ لاین است:  
 
پایپ لاین (pipe line) ها یک سری از عناصر پردازش اطلاعات هستند که به یک دیگر متصل شده اند و معمولا به طور موازی کار می کنند. بر این اساس، خروجی هر چیپ پردازنده، ورودی چیپ پردازنده بعدی خواهد بود و به همین ترتیب عملیات تا اتمام کار ادامه پیدا می کند. بیشتر شدن تعداد پایپ لاین ها در مولتی تریدینگ (در مطلب مربوط به بررسی دایرکت ایکس یازده توضیح آن داده شد) و سرعت عملیات پردازشی تاثیر زیادی می گزارد. به یاد داشته باشید که در پردازنده ها هر Thread از تعدادی پایپ لاین تشکیل شده که در دیاگرام های بالا هم می توانید صحت این مساله را دریابید.  
 
تکنولوژی هایپر تریدینگ اینتل، راندمان کاری هسته ها را با استفاده از اتحاد کاری ترید ها و پایپ لاین ها بالا می برد. به این صورت که دستورات را به حد نساب پایپ لاین ها رسانده و در یک ثانیه به تمامی پایپ لاین های هسته، اعمال می کند. در این وضعیت، در شرایطی که پردازنده منتظر کد ها از ترید A هست، هایپر تریدینگ، عملیات دیگر را به سمت ترید B سوق می دهد تا از حداکثر ظرفیت پردازنده، استفاده شود. به این ترتیب دیگر نقطه خللی به وجود نمی آید. این کاری است که هم هایپر تریدینگ انجام می دهد و هم معماری Bulldozer ولی کار بولدوزر تنها این نیست، این معماری دو هسته را در یک ماژول گرد آوری کرده و کنترل بیشتری بر ترید ها دارد به این ترتیب وضعیت این گونه می شود:(به پاراگراف پایین، دقت بسیار داشته باشید)  
 
باید برای شما یک سناریو را تعریف کنیم : فکر کنید که پردازنده درگیر یک عملیات سنگین است. دستورات در کش سطح یکی که در هسته اول است ذخیره شده اند. پردازنده صبر می کند که دستورات به حد نصاب کل پایپ لاین های هسته اول برسند و این کار را با هسته دوم نیز انجام می دهد. (فرض می کنیم که هر هسته تنها یک Thread دارد.) برای مثال اگر کل پایپ لاین های هسته اول، 4 عدد باشند و روی هم، توان پردازشی معادل 400 گیگافلاپ را داشته باشند و کد ها به این توان برسند، پردازنده یک باره کد ها را از کش دستورات به هسته اول منتقل کرده و پردازش را انجام میدهند. اما حالا تصور کنید که در دور دوم، کد های هسته اول به 300 گیگافلاپ و توان پردازشی مورد نیاز برای کد های هسته دوم به 100 گیگافلاپ برسند. پردازنده آن ها را به هسته اول می برد و هسته دوم را باز می گذارد. به این ترتیب از ظرفیت های هسته اول نهایت استفاده صورت می گیرد و در طی کار هسته اول، هسته دوم می تواند دستورات را به حد نصاب خودش رسانده و عمل کند. به این ترتیب، از حداکثر ظرفیت برای مولتی تریدینگ استفاده شده و دیگر هیچ خللی باقی نمی ماند. این نکته هوشمندانه کاری است که در Bulldozer صورت گرفته.(فلاپ یک واحد رایج در اندازه گیری توان پردازشی است. البته در این مثال کاری به زیاد یا کم بودن قدرت نداریم و فقط یک عدد تصادفی را برای مثال در نظر گرفته ایم)

2-bulldozer.jpg

همانطور که در دیاگرام بالا می بینید، این معماری سطوح مختلفی را شامل می شود. کش L3 که با رنگ خاکستری مشاهده می کنید در سراسر پردازنده به اشتراک گذاشته می شود. قسمت های صورتی رنگ در سطح ماژول به اشتراک گذاشته می شوند و قسمت های آبی رنگ که از اصلی ترین اجزاء پردازشی هستند، به طور اختصاصی کار می کنند و البته طبیعتا کنترل آن ها برای پردازنده امکان پذیر می باشد.  
 
چیزی که این دیاگرم نشان می دهد، استفاده از ماژول به جای هسته است. این کار باعث شده که ماژول ها بتوانند، خود کنترل عملیات پردازشی را به دست بگیرند. پس مجددا تاکید می شود که اگر از پتانسیل های نرم افزاری بولدوزر نیز استفاده شود، احتمالا در سال های آتی شاهد کنترل ماژول ها توسط برنامه و کنترل هسته ها توسط پردازنده، خواهیم بود. این یعنی عملکردی بسیار بالا تر و پایدار تر. اما قضیه به همین سادگی نیست و در آن چند نکته مهم وجود دارد که در ادامه به آن خواهیم رسید.  
 
به گفته AMD، تحقیقات گسترده ای انجام شده و نتیجه این بوده که برای به دست آوردن عملکرد بهتر لازم است هر ماژول از دو هسته بهره ببرد. اگر تعریف گنگ است، لازم نیست نگرانی به خود راه بدهید، چون در ادامه مروری خواهیم داشت بر همه ی موارد باقی مانده.  
 
-زیر کاپوت:  
 
از عهد K7 تا کنون، هیچکدام از پردازنده های AMD، در پشتیبانی از کد های x86، به اندازه بولدوزر قوی نبوده اند. اول یک تعریف از کد های x86 و اطلاعات بیشتر را می توانید در مطلب بررسی باب کت بیابید:  
 
دستورات x86، دستورات 32 بیتی هستند که توسط سیستم عامل به پردازنده داده می شوند. البته این دستورات فقط برای سیستم عامل نیست و بسیاری از برنامه های 32 بیتی نیز از این نوع دستورات در کد های خود استفاده می کنند. دستورات x86 از زمانی متداول شدند که اینتل پردازنده های 32 بیتی را روانه بازار کرد و همگان به مزایای بالا و گسترده بودن اعمال قابل انجام توسط این پردازنده ها پی بردند و پس از آن، این پردازنده ها گسترش زیادی یافتند.  
 
اما معماری بولدوزر برای این کد ها تدیبیری چهار گانه اندیشیده است! یعنی این معماری و پردازنده های مبتنی بر آن، مجهز به چهار کدگشا برای کد های ایکس 86 خواهند بود! پس بولدوزر در این مورد، در سطح معماری گران قیمت Nehalem اینتل قرار دارد. این در حالی است که محصولات قبلی AMD از سه کد گشا استفاده می کردند.  
 
اما حالا که کاپوت یک بولدوزر را بالا زده ایم، لازم است به جزئیات ریز و مهم آن نیز توجه داشته باشیم. اکنون می خواهیم توضیحاتی را در مورد واحد استنباطی پردازنده یا Branch Prediction Unit مطرح کنیم.

3-bulldozer

در دیاگرم بالا واحد استنباطی یا 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  
 
- مکینتاش : اطلاعاتی در دسترس نیست.

4-bulldozer

بر اساس تصویر بالا، هر ماژول بولدوزر دارای دو هسته خواهند بود و برای سیستم عامل به عنوان یک پردازنده دو هسته ای شناخته خواهند شد. اما این هنوز هم بسیاری را به این سوال می رساند که ماژول های Bulldozer واقعا تا چه اندازه ای کارایی دارند؟  
 
ای ام دی ادعا کرده که ماژول ها می توانند در اندازه ای بسیار کوچک تر از یک پردازنده دو هسته ای باشند و توان مصرفی و گرمای کمتری هم داشته باشند و در همین اندازه کوچک هم می توانند معادل 80 در صد یک پردازنده دو هسته ای معمولی، کارایی داشته باشند.  
 
اگر این طور باشد، باید شاهد عملکرد فوق العاده ای برای این پردازنده ها باشیم. چرا که با استفاده از چند ماژول و تعداد هسته های بیشتر می توان شاهد عملکرد بسیار بهتری بود.  
 
- سخن پایانی:  
 
بولدوزر حرف های زیادی برای گفتن دارد. این معماری بسیار نو آورانه و جالب است. ظرفیت های بالایی هم دارد. این که ماژول هایی دو هسته ای با 80 درصد عملکرد پردازنده های دو هسته ای عادی و بسیار کوچک تر و کم مصرف تر استفاده شوند، این پتانسیل را به وجود آورده که با افزایش تعداد ماژول ها به عملکرد فوق العاده ای دست یافت. در حالی که مصرف در حد متعالی باشد. در کل استفاده از ماژول ها به جای هسته های تکی، پشتیبانی از تکنولوژی های جدید نظیر SSE 4.2 و AVX و FPU های بسیار قدرتمند، این معماری را به چیزی بسیار قدرتمند و پایدار تبدیل کرده است. احتمالا شاهد بهبود بیشتری در این معمار تا سال های آینده خواهیم بود. البته امیدواریم که پردازنده های مبتنی بر این معماری به تولید انبوه برسند چون بعد از سال 2012 ، معلوم نیست AMD ای وجود داشته باشد یا خیر! به هر حال امیدواریم که بتوانیم این معماری را در عرصه عمل نیز ببینیم و بنچ مارک های آن را در اختیار شما قرار دهیم.  
 
در اینجا شما را با تمامی ویژگی های معماری بولدوزر آشنا کردیم. اگر احساس کردید، سنگین است به شما توصیه می کنیم که آن را دوبار بخوانید اما بدانید که تمامی تلاش انجام شد که مقاله در عین سادگی به شما تقدیم شود. البته گریز از برخی اصطلاحات، به جز صدمه زدن به بدنه مقاله، فایده ای نصیب ما نمی کرد و به همین دلیل ممکن است به برخی اصطلاحات نا آشنا بر خورده باشید. در عوض هم دانش کامپیوتری شما بیشتر شده و هم توضیح فارسی این اصطلاحات را می توانید در همین مقاله بیابید.  
 
منابع:

Hot Hardware  
 
Wikipedia (instruction cycle)  
 
Wikipedia (advanced vector extensions  
 
Wikipedia (SSE)

+ نوشته شده در  2010/9/21ساعت 9:10 AM  توسط مهدی سالخورده  | 

چند تا سیم دارید؟ راهنمای تصویری آشنایی با انواع کابل

cableps-narenji.jpg

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

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

 

 

usb.jpg

این یکی معرف حضور همه هست. نام آن USB نوع A  است. کابلی که این روزها همه جا دیده میشود. با آمدن آن ارتباطات های پارالل و پورت های سریال منقرض شدند. این مدل کابل در واقع از USB 1 و نوع جدیدتر که USB 2 نام دارد تشکیل شده. USB 2 نسبت به نسخه اول سریع تر است. کابل یو اس بی امکان انتقال اطلاعات و انرژی برای تامین برق مورد نیاز را به صورت همزمان فراهم میکند.

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

 

type_b_usb_male.jpg

USB type B این یکی اغلب طرف دیگر یک کابل USB را تشکیل میدهد. و معمولا برای متصل کردن لوازم جانبی کامپیوتر مانند پرینتر و اسکنر استفاده میشود.

 

minimicro.jpg

کابل سوم یو اس بی کوچولو است! که به آن Mini USB گفته میشود. همانطور که از اسم آن مشخص است نسبت به اتصالات قبلی جای کمتری اشغال میکند و برای دستگاه های کوچک مانند اتصال گوشی موبایل یا دوربین دیجیتال استفاده میشود. نوع بعدی مدل فسقلی تری نسبت به یو اس بی کوچولو است. که من ترجیح میدهم آن را «فسقل یو اس بی» صدا کنم! اما نام اصلی آن Micro USB است. و برخی شرکت ها مانند موتورولا و ال جی از آن زیاد استفاده میکنند.

 

firewire400.jpg

IEEE 1394 (aka FireWire) این مدل جایگزینی برای کابل USB محسوب میشود و توسط شرکت اپل به شهرت رسیده است. میبینید اپل همیشه دوست دارد که متمایز باشد! شرکت سونی نام این اتصال را iLink گذاشته است. ممکن است آن را بر روی یک دوربین فیلم برداری دیجیتال و یا یک آی پاد قدیمی ببینید. این اتصال سرعت انتقال اطلاعات بالایی دارد. مدل شش پین این اتصال امکان انتقال انرژی را هم دارد.

 

firewire800.jpg

FireWire 800 نسبت به اتصال قبلی سریع تر است و در سال 2003 معرفی شده است. اما برای اتصال نیاز به کانکتورهای متفاوتی دارد که این کار استفاده آن را محدود کرده است.

 

rj45.jpg

این یکی کابل مشهوری است. با آقای RJ45 آشنا شوید. ایشان نقش مهمی را در زندگی شبکه ای ما بازی میکنند. البته از وقتی که قیمت مس گران شده این کابل ها هم به شدت گران شده اند. این کابل در بین عموم به نام «کابل شبکه» مشهور است. این کابل به چند دسته بندی تقسیم میشود که مشهورترین آنها شامل Cat5 و Cat6 است. نوع Cat5 امکان انتقال اطلاعات را تا 100 مگابیت در ثانیه را دارد. و نوع Cat6 این امکان را تا 1000 مگابیت افزایش داده است.

 

esata_male.jpg

eSATA اسم این کابل تازگی ها زیاد به گوش میخورد. اگر کامپیوتر رومیزی خود را اخیرا خریده باشید نوع اتصال هارد دیسک شما از نوع SATA است.

این یکی یک حرف e اضافه دارد که مخفف External یا همان خارجی است. این کابل را خارجی ها ساخته اند!؟ نه، منظور این است که این کابل خارج از کیس کامپیوتر استفاده میشود. سرعت انتقال اطلاعات این کابل بیشتر از USB و Firewire است. و معمولا در هارد دیسک های اکسترنال استفاده میشود. لپ تاپ های جدید هم معمولا ورودی این کابل را دارند.

 

hdmi_male.jpg

HDMI این یکی خیلی مهم است. با آمدن این اتصال فاتحه کابل های S-Video و DVI خوانده شده است. ضمنا اسم با کلاسی هم دارد: High Definition Multimedia Interface و همانطور که از اسمش مشخص است برای انتقال صوت و تصویر HD به کار میرود. تمام گجت های چند رسانه ای در حال مجهز شدن به این نوع اتصال هستند. از لپ تاپ ها گرفته تا تلویزیون های ال سی دی و دوربین های فیلمبرداری دیجیتال. سرعت بالای انتقال اطلاعات تنها خصوصیت مفید این اتصال نیست. این اتصال از مکانیزمی به نام CEC پشتیبانی میکند که امکان کنترل وسایل الکترونیکی را از طریق این پورت فراهم میکند. از طریق این درگاه میتوان به دستگاه مورد نظر فرمان داد. در آینده خواهید دید که این امکان چقدر مورد استفاده خواهد بود.

 

dvi_male.jpg

این یکی DVI نام دارد. و همانی است که گفتیم در حال جایگزین شدن با HDMI است. این یک اتصال تصویری است که اغلب برای اتصال مانیتورهای LCD به کامپیوتر استفاده میشود. و ممکن است شما هم یکی از آنها را داشته باشید.


 

 

displayport2.jpg

اتصال آخر DisplayPort نام دارد. و برای اتصال بین کامپیوتر و مانیتور طراحی شده. اما هنوز به صورت عمده عرضه نشده است. این کابل علاوه بر سرعت بسیار بالای انتقال اطلاعات از DRM هم پشتیبانی میکند. DRM چیست؟ یک روش محافظت سخت افزاری از کپی رایت صوت و تصویر! میتوانید اطلاعات بیشتری در این مورد را در اینجا بخوانید.

+ نوشته شده در  2010/9/21ساعت 9:7 AM  توسط مهدی سالخورده  | 

‎کاهش رشد فروش نوت بوک در آمریکا و مقصر: تبلت ها


پ تاپ ها - Others
Written by Amir Sadeghpour   
Friday, 17 September 2010 18:41

NDP-notebook-report-narenji-ir.jpg

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

 

‎بر اساس این گزارش، که همانطور که در نمودار مشخص است، رشد فروش نوت بوک ها در آمریکا از ژانویه ۲۰۱۰ تقریباً به طور یکپارچه سیری منفی داشته و این تاریخ مقارن با ‎رونمایی آی پد اپل در ژانویه امسال بوده است.

 

‎این آمار نشان می دهد، رشد فروش نوت بوک از ۳۲ درصد در آگوست ۲۰۰۹ برای اولین بار به منفی چهار درصد در آگوست ۲۰۱۰ رسیده است. این نشان می دهد، تاثیر ورود تبلت ها به شدت بر رشد فروش نوت بوک ها موثر بوده است. و با توجه به اینکه فروش نتبوک ها نیز افزایشی نداشته، مقصر اصلی این مساله را باید تبلت ها دانست. با این اوصاف امید چندانی به بازگشت میزان فروش لپ تاپ ها به حد و اندازه های سابق شان نیست.

 

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

 

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

 

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

 

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

 

‎در اینجا شاید بپرسید «پس چه بلایی بر سر کیبورد می آید؟ با تبلت که نمی شود تایپ کرد!؟». البته حق با شما است و کیبوردها فعلاً در خدمت من و شما خواهند بود تا زمانی که متد های جدید جایگزین آنها شوند. پس فعلاً جای نگرانی نیست. البته کیبوردهای تاچ که تبلت ها دارند، تا حدودی جایگزین کیبوردهای معمولی هستند، اما بسیاری از ما حاضر به تعویض حس تایپ کردن با لمس حروف، نیستیم. به هر حال آینده مشخص می کند و تکلیف مان را خواهیم فهمید.

 

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

 

CNN

+ نوشته شده در  2010/9/21ساعت 9:5 AM  توسط مهدی سالخورده  | 

با سلام

پروژه های اماده برای تحویل به شرح زیر است دوستانی که تمایل به دریافت این پروژه ها دارند می توانند با شماره یا ایمیل با من ارتباط برقرار کنند:

۱- چراغ راهنمایی

۲- سیستم دفتر تلفن با فایل اکسس اسکیو ال

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

 

+ نوشته شده در  2010/7/24ساعت 9:11 PM  توسط مهدی سالخورده  | 

اوراکل هم هک شدني است!!!

يک پژوهشگر خبره امنيتي کامپيوتر راهي پيدا كرده که مي‌توان از طريق آن به ضعف‌هاي ديتابيس اوراکل نفوذ کرد و از راه دور به اطلاعات اين ديتابيس دست يافت.

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

ديويد ليچفيلد، محقق امنيتي موسسه نرم‌افزاري NGSSoftware، که شرکت امنيتي انگليسي است، اين باگ را کشف کرده است و گفته مي‌شود در صورتي که جلوي اين باگ گرفته نشود، اعتبار بزرگترين شرکت بانك اطلاعاتي دنيا که به‌تازگي يکي ديگر از ديتابيس‌هاي معروف يعني ماي‌سه‌کوئل را خريده است، خدشه‌دار خواهد شد.

وي پس از کنفرانس کلاه سياه که کنفرانسي امنيتي است و در واشنگتن برگذار شده، در مورد اين باگ گفت: «اين باگ طوري است که مي‌توان بدون شناسه و گذرواژه کنترل کامل ديتابيس را به‌دست گرفت و تمام ديوارهاي آتش را دور زد.»

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

او همچنين اعلام کرد، از آنجايي که اوراکل هنوز هيچ وصله‌اي را براي اين مشکل ارائه نکرده، تصميم گرفته است اين مساله را عمومي کند.

گفتني است سران اوراکل از هر گونه اظهار نظري در اين‌باره خودداري کرده‌اند.

ليچفيلد همچنين اعلام کرد که از هر 10ديتابيس اوراکل، 9تاي آنها به اين مشکل دچار هستند و مستعد حمله‌اند. او همچنين افزود که تغيير تنظيمات پيش‌فرض در نرم‌افزار اوراکل تنها کاري است که مي‌شود تا حدي از خطر را به‌کمک آن کاهش داد.

او همچنين افزود مشخص نيست بالاخره کدام هکر براي اولين‌بار مي‌تواند از اين حفره براي نفوذ به اوراکل سوءاستفاده کند.



[تصویر: 100867429075.jpg] 
+ نوشته شده در  2010/7/23ساعت 7:9 PM  توسط مهدی سالخورده  | 

اكسپلورر 8 محبوبترين شد

 


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


 آخرين نسخه مرورگر مايکروسافت در نهايت از مرورگر اينترنت اکسپلورر 6 پيشي گرفت و تا ژانويه سال جاري 22.3 درصد از بازار جهاني مرورگرها را به خود اختصاص داد. نکته جالب در اين است که IE8 تنها پس از 10 ماه موفق به کسب چنين محبوبيتي شده است.

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

در اين ميان مايکروسافت نيز براي جبران خسارت از کاربران دعوت کرد آخرين نسخه مرورگر اينترنتي اين شرکت را مورد استفاده قرار دهند که تا کنون هيچ گزارش سوء استفاده اي از آن دريافت نشده است. در نتيجه مرورگر محبوب IE6 ماه گذشته با سقوط 20.1 درصدي ناگهاني سهام خود در بازارهاي جهاني مواجه شد.

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

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

+ نوشته شده در  2010/2/24ساعت 10:55 AM  توسط مهدی سالخورده  | 

سیستم عامل گوگل Google Chrome Os

گوگل سیستم عامل مبتنی بر مرورگر کروم را معرفی کرد
وبلاگ رسمی گوگل اعلام کرد، این غول جستجوگر قصد دارد بزودی یک سیستم عامل اختصاصی بر مبنای مرورگر کروم (Chrome) معرفی نماید.
این سیستم عامل که فعلاً “Google Chrome OS” نام گذاری شده است به صورت کد باز بوده و سیستم عاملی بسیار سبک است که جهت نصب در نت بوک ها (netbook) بسیار مناسب می باشد. گوگل قصد دارد تا اواخر سال جاری کد نویسی این سیستم عامل را به پایان برساند و پس از آن در سال ۲۰۱۰ یک نت بوک مجهز به نرم افزارهای خود را معرفی نماید. همچنین، گوگل تائید کرده است که سیستم عامل Google Chrome OS قابلیت اجرا بر روی چیپست های x86 و ARM را دارا می باشد.
گوگل هم اکنون با کمپانی های تولید کننده گان عمده سخت افزار در حال مشورت است تا بهترین نت بوک را برای این سیستم عامل محیا نماید.
پروژه Google Chrome OS، پروژه ای جدید می باشد و کاملاً مجزا از اندروید (Android) خواهد بود. مهندس “ساندار پیچاهی” از مدیران برنامه ریز گوگل در این رابطه چنین می گوید: “سیستم عامل کروم برای افرادی ساخته شده است که بیشتر وقت خود را در اینترنت می گذرانند.”
از هم اکنون می توان پیش بینی کرد، شرکت های رقیب یعنی اپل و مایکروسافت روند توسعه این پروژه را با دقت زیر نظر داشته باشند. تا پیش از این گوگل توانسته بود نبض جستجوی اینترنت را در دست بگیرد و مجالی برای دیگران باقی نگذارد و اکنون ظهور این سیستم عامل جدید می تواند زنگ خطری باشد برای دیگران.
هرچند باید گفت پیشرفت در زمینه سیستم عامل ها نمی تواند کار چندان ساده ای برای گوگل باشد زیرا هم اکنون مایکروسافت ۹۶% بازار سیستم عامل های نت بوک را در اختیار دارد و با آمدن نسخه های جدید ویندوز، این عدد بیش از پیش تثبیت خواهد شد.
گوگل تا این لحظه قیمت این سیستم عامل را مشخص نکرده و تاریخ دقیق انتشار آن نیز اعلام نشده است. در خبر دیگری طی هفته گذشته گوگل برچسب آزمایشی را از روی برخی محصولات خود برداشت که مهمترین آنها جی میل بود. گوگل امیدوار است با این اقدام ارزش برنامه هایش و به طبع آن ارزش سهام آن کمپانی در بازارافزایش پیدا نماید
.
+ نوشته شده در  2010/2/8ساعت 6:29 PM  توسط مهدی سالخورده  | 

آموزش هارد به هارد کردن

اضافه كردن هارد دیسك به كامپیوتر یا عوض كردن هارد دیسك موجود از جمله كارهایی است كه بالاخره باید روزی انجام دهید اگر به كارهای فنی كامپیوترعلاقه دارید و دستی هم به آچار دارید ما به شما كمك می كنیم تا بتوانید این كار را انجام دهید

هارد به هارد hard to hard

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

آسان ترین قسمت این كار همان قسمت سخت افزاری است كه چند مرحله بیشتر ندارد و بسیار ساده است فقط باید شما را كمی با محیط داخلی كامپیوتر آشنا نمائیم و بگوئیم كه چگونه كار كنید.

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

سعی كنید به قطعات الكترونیكی داخل كامپیوتر یا روی هارد دیسك هم دست نزنید.

روی برد اصلی كامپیوتر كه بدان مادربرد می گویند معمولا دو سوكت وجود دارد كه برای اتصال هارد دیسك بكار می رود.اگر هارد دیسكتان را پیدا كنید یك كابل پهن بدان وصل است آن را دنبال كنید تا به یكی از این سوكتها برسید. آن هم کنار همین یكی است. اگر به نوشته های روی مادربرد توجه كنید این سوكت ها باید به نامهای IDE1 و IDE2 معرفی شده باشند. معمولا كامپیوتر از IDE1 بوت می شود پس هارد دیسكی كه دارای ویندوز یا OS است باید به این سوكت وصل شود. هارد دیسكها با نوعی كابل پهن به مادربرد وصل می شوند كه بدان ریبون كابل می گویند. طرفی كه یك كانكتور دارد به كنترلر روی مادر برد وصل می شود.
هارد به هارد hard to hard

طرف دیگر كه دو كانكتور دارد هر كدام به یك هارد دیسك وصل می شود. در مادربردهای جدیدتر هر كانكتور روی مادربرد می تواند تا دو هارددیسك را راه اندازی كند پس با دو عدد كانكتور جمعا تا 4 عدد هارددیسك را می شود راه انداخت. البته درایو CD هم در همین خانواده قرار دارد و معمولا آن را به IDE2 وصل می كنند. پس به احتمال زیاد شما باید یك هارددیسك داشته باشید كه روی IDE1 وصل است و یك درایو CD دارید كه روی IDE2 وصل است. به هر كنترلر تا دو درایو وصل می شود.

برای آنكه سیستم بفهمد كدام درایو اولی است و كدامیك دومی، جامپرهایی روی خود درایو وجود دارد كه باید جداگانه تنظیم شود. اولین هارد دیسك را Master می گویند و دومی را Slave گویند. باید روی بدنه هارد دیسك خود بدنبال لیبلها یا نوشته هایی بگردید كه نحوه تنظیم این جامپرها را بیان كرده باشد. اگر پیدا نكردید باید از سایت سازنده هارددیسك مشخصات فوق را بدست آورید.

اگر روی یك كابل فقط یك درایو وصل می كنید باید درایو را در حالت جامپر 1Drive قرار دهید و شاید روی درایو شما این حالت اسم دیگری مانند Single یا همان Master داشته باشد. فرقی نمی كند كه درایو مستر یا اسلاو را به كدامیك از دو كانكتور روی كابل وصل می كنید فقط باید جامپر آنها برای ماستر یا اسلاو درست باشد

برگرفته از سایت: P30p30

+ نوشته شده در  2010/2/7ساعت 6:27 PM  توسط مهدی سالخورده  | 

قابلیت های فایرفاکس 3.6

سرانجام پس از ۶ ماه کمپانی موزیلا, آخرین نسخه پایدار از مرورگر محبوب فایرفاکس را منتشر کرد. نسخه جدید فایرفاکس که تغییرات زیادی نسبت به نسخه‌های پیشین خود داشته با افزایش سرعت و کارآمدی مرورگر بیش از پیش سعی در بهبود تجربه وبگردی برای کاربر داشته است. به طوریکه نسخه 3.6 به میزان ۲۰٪ از فایرفاکس 3.5 سریع تر بوده و همچنین قابلیتهای جدید و منحصر به فردی را نیز دارا میباشد. در زیر فهرستی از جالبترین قابلیتها آورده شده است.

 

نسخه 3.6 به میزان ۲۰٪ از فایرفاکس 3.5 سریع تر بوده و همچنین قابلیتهای جدید و منحصر به فردی را نیز دارا میباشد. در زیر فهرستی از جالبترین قابلیتها آورده شده است.

Personas:
فایرفاکس

 این قابلیت که در نسخه های پیشین به صورت افزونه موجود بود به کاربر اجازه میدهد تا از میان بیش از ۳۰۰۰۰ قالب موجود ظاهر فایرفاکس خود را سفارشی کند بدون اینکه لازم باشد مرورگر را دوباره راه اندازی کند(ری استارت کند).

 

Plugin Updater:

از این پس فایرفاکس تمام افزونه های از رده خارج شما را که ممکن است باعث ضعف های امنیتی و یا کارآیی باشند شناسایی میکند.

 

 

افزایش پایداری فایرفاکس:

در نسخه جدید فایرفاکس با بهبود پایداری و کارآیی مرورگر به میزان بسیار کمتری شاهد کرش کردن فایرفاکس بر اثر برنامه ها جانبی خواهیم بود, بدون اینکه ذره‌ای از توسعه پذیری فایرفاکس کم شود.

 

Form Complete:

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

 

بهبود کارآیی:

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

 

Open Video and Audio:

با استفاده از ویژگی های شگفت انگیز HTML5 اکنون فایرفاکس میتواند ویدیو ها را به صورت Full-screen نمایش دهد.

+ نوشته شده در  2010/2/6ساعت 6:26 PM  توسط مهدی سالخورده  | 

اتصال بی سیم موبایل، لپ تاپ و کامپیوتر به اینترنت از طریق GPRS ایرانسل !

طریقه اتصال موبایل به سرویس Gprs

برای این کار ابتدا باید ببینید که گوشی شما امکان اتصال به اینترنت رو داره یا نه؟

برای این کار به قسمت گوشیهای با قابلیت GPRS سایت ایرانسل به این آدرس برید و مشخصات گوشی خود را چک کنید ، در صورتی که اسم گوشی شما در بین اسامی گوشی هایی بود که اینترنت رو پشتیبانی می کنند ، باید برای ادامه کار یک sms به ساختار دستوری زیر به شماره ۲۲۲۵ ارسال کنید:

S sherkat model

برای نمونه برای K750 می توانید پیام زیر را ارسال کنید:

S SonyEricsson k750i

همان طور که می بینید بعد از S نام شرکت و بعد مدل گوشی را ذکر کردیم.

پس از ارسال پیام به شماره ۲۲۲۵ پیغامی مبنی بر نصب تنظیمات Gprs برای شما ظاهر میشود که در صورت تایید آن تنظیمات اعمال شده و از این به بعد به راحتی می توانید به اینترنت دسترسی داشته باشید.


طریقه اتصال لب تاب و کامپیوتر به سرویس Gprs

1- بعد از اتصال موبایل به كامپیوتر و معرفی تمام درایوهای موبایل برنامه Sony Ericsson PC Suite را كه داخل سی دی موبایل است را نصب كنید.(البته گوشیهای نوكیا و دیگر گوشی ها هم برنامه PC Suite را دارند)

2- سپس برنامه Sony Ericsson PC Suite را از داخل برنامه های نصب شده بروی سیستم از استارت ویندوز پیدا كرده و گزینه Mobile Networking Wizard را انتخاب كنید

3- سپس روی گزینه New Connection یا Creat New Connection كلیك كنید.

4- در این قسمت دو گزینه وجود دارد که برای استفاده از امكانات GPRS ایرانسل گزینه اول به نام Packet Switched Data را انتخاب میكنیم و Next میکنیم.

5- در این قسمت باید مودم گوشی خود را انتخاب کنید که گوشی ما در اینجا از مدل K750 استفاده میكنم. (اگر قبلا گوشی را به كامپیوتر معرفی نكرده باشید نام مدل و مودم آن نشان داده نخواهد شد پس برای نصب درایور میتوانید با انتخاب گزینه Install modem درایو مودم گوشی را نصب كنید)

6- در قسمت Connetion name نام TarfandCity یا هر نام دلخواهی را که می خواهید برای نام کانکتشن خود انتخاب میکنید.

7- همانطور که در بالا گفتیم ایرانسل با فرستادن پیامک اتوماتیك تنظیمات گوشی شما را برای برقراری Gprs را انجام داده و لازم نیست در اینجا ما از تنظیمات دستی استفاده كنیم پس در این قسمت گزینه Use settings from an exiting را انتخاب میكنیم.

8- در این قسمت سیستم نام APN . كه حتما باید نام mtnirancell باشد را سرچ میكند.

9- در آخر به جای شماره تلفن این کد را وارد کنید #۸***۹۹* و قسمت User Name و password را خالی بگذارید.

حالا همه چیز آماده است اگر مراحل را به درستی انجام داده باشید الان می تونید به صورت بی سیم کامپیوتر و لب تاپ خودتون رو به اینترنت متصل کنید
!

+ نوشته شده در  2010/2/4ساعت 6:28 PM  توسط مهدی سالخورده  | 

من يک باربر اطلاعاتي هستم

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

مي توان به واسطه 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

+ نوشته شده در  2010/2/4ساعت 6:26 PM  توسط مهدی سالخورده  | 

نکته ای در Office 2010

آفیس 2010

همان طور که ممکن است بدانید مدت زمانی است که نسخه آزمایشی (بتا) مجموعه نرم افزاری آفیس به نام Office 2010 از سوی شرکت مایکروسافت منتشر شده است.

نرم افزارهای این مجموعه در حال حاضر در سایت مایکروسافت برای عموم و به طور رایگان جهت دانلود قرار گرفته‏اند.

همچنین نسخه نهایی آفیس 2010 طبق اعلام مایکروسافت در نیمه اول سال 2010 به طور رسمی منتشر خواهد شد

یکی از نکات جالبی که در نرم افزار Word 2010 نهفته است، قابلیت عکس‏برداری از صفحه Word و همچنین عکس‏برداری از سایر پنجره‏های باز موجود، می‏باشد.

فرض کنید قصد دارید از یکی از پنجره‏های ویندوز عکس بگیرید و آن را وارد محیط Word کنید.

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

لینک دانلود نسخه بتای Microsoft Office 2010 در انتهای ترفند موجود است.

بدین منظور:

نرم افزار Word 2010 را اجرا نمایید.

در نوار بالای صفحه به تب Insert بروید.

در محدوده Illustrations بر روی Screenshot کلیک کنید.

خواهید دید که (ترفندستان) پیش نمایشی از کلیه پنجره‏هایی که هم اکنون باز است ظاهر خواهد شد. یکی از این پنجره‏ها طبعاً خود  Wordاست .

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

آفیس 2010

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

همچنین در صورتی که بخواهید تنها از قسمت خاصی از صفحه، عکس بگیرید کافی است پس از کلیک بر روی Screenshot بر روی Screen Clippingکلیک کنید.

با این کار ظاهر صفحه شفاف خواهد شد و با استفاده از کلیک چپ ماوس می‏توانید محدوده مورد نظر که می‏خواهید از آن عکس بگیرید را مشخص کنید. با رها کردن کلید ماوس، عکس گرفته می‏شود و مستقیماً وارد صفحه Word می‏گردد.

 

دانلود نسخه بتای Microsoft Office Professional Plus 2010 از سایت مایکروسافت:

 

دانلود نسخه بتای نرم افزار Microsoft Visio Premium 2010 از سایت مایکروسافت:

 

دانلود نسخه بتای نرم افزار Microsoft Project Professional 2010 از سایت مایکروسافت:

 

برگرفته از سایت ترفندستان

+ نوشته شده در  2010/2/4ساعت 6:21 PM  توسط مهدی سالخورده  | 

18 11 2009
Closure Tools

مدتی نزدیک به دو هفته است که گوگل یکی از پروژه های موفق خودش رو که پشت تعدادی از سرویس هایش یعنی Gmail ، Docs و Maps قرار دارد  رو اوپن سورس کرده.

Closure Tools مجوعه ای از ابزار ها است که برای توسعه دهندگان وب در نظر گرفته شده است. این مجوعه شامل موارد زیر است.

Closure Compiler

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

برای امتحان این ابزار به صورت آنلاین به اینجا مراجعه کنید:

http://closure-compiler.appspot.com/home

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

Closure Inspector

یک افزونه فایرفاکس هست که به افزونه Firebug اضافه می شه. کار اصلی این افزونه ایجاد امکان دیباگ کردن کدهای جاوا اسکریپتی که obfuscated شده هستند است. همچنین این ابزار اماکاتی مانند source mapping و stack trace پیشرفته تر و امکان unit test رو به فایرفاکس شما اضافه خواهد کرد.

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

Closure Library

کتابخانه ای استاندارد شده توسط گوگل برای جاوا اسکریپت هست. این کتابختانه امکانات زیادی مانند طراحی رابط کاربر ، unit testing ، کار با rich-text و تبادل داده ها با سرور و غیره رو فراهم می کنه.

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

Closure Templates

ابزار یا فریم ورکی هست که امکان تولید کد های html دینامیک رو فراهم می کنه. این ابزار هم برای Java و هم برای Javascript پیاده سازی شده است. در صورتی که به صورد دینامیک با جاوا اسکریپت ظاهر صحات رو تغییر می دید این قالب ها کار شما رو سریع تر خواهند کرد.

+ نوشته شده در  2010/1/18ساعت 7:40 PM  توسط مهدی سالخورده  | 

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


در اکثر برنامه های کامپیوتری نیاز به ذخیره و بازیابی داده ها وجود دارد. داده هایی که بدون آن ها سیستم نرم افزاری ما معنایی ندارد. برنامه نویسان معمولاً راه های مختلفی برای این کار سراغ دارند. کسانی که با دات نت فریم ورک برنامه نویسی می کنند راه های مختلفی برای دسترسی به داده ها دارند. در این مطلب با تکنولوژی های مایکروسافت برای این کار آشنا خواهیم شد و سه ORM معروف دنیای دات نت را معرفی خواهیم کرد. مایکروسافت انتخاب های زیادی برای دسترسی به داده ها به برنامه نویسان دات نت می دهد که شما باید با بررسی آن ها و با توجه به نیازهای خودتان یکی از آن ها را انتخاب کنید.

ADO.NET

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 برنامه ای بسیازید که با چند نوع دیتابیس مختلف کار کند.

Linq to SQL

مایکروسافت با دات نت فریم ورک 3.0 و 3.5 یک ORM به نام Linq to SQL را به عنوان بخشی از پروژه LINQ خود عرضه کرد. این شرکت مدت ها پیش از آن قول داده بود که یک ORM برای دات نت فریم ورک طراحی کند اما تا نسخه 3.0 دات نت فریم ورک خبری از آن پروژه نشد. Linq to SQL به شما اجازه می دهد که کوئری های LINQ را روی دیتابیس های SQL Server اجرا کنید. علاوه بر این از یک Mapping Framework بهره می برد که به برنامه نویسان اجازه Map کردن جدول های یک دیتابیس را به کلاس ها و بالعکس می دهد. این کار در ویژوال استادیو می تواند به صورت ویژوال یا کدنویسی انجام گیرد. به این صورت که برای هر جدول از دیتابیس یک کلاس تعریف می شود که هر ستون از یک جدول به عنوان یک Property درون آن کلاس تعریف می شود.

نمایی از ابزار طراحی ویژوال Linq to SQL

به مثال زیر توجه کنید :
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

Entity Framework یک فریم ورک ORM برای دات نت فریم ورک است که نسخه یک آن به همراه دات نت فریم ورک 3.5 سرویس پک 1 عرضه شد اما مورد استقبال توسعه دهندگان قرار نگرفت. نسخه 2 این فریم ورک به صورت بتا به عنوان بخشی از ویژوال استادیو 2010 قابل دسترس است. ADO.NET Entity Framework نام اصلی این فریم ورک است و جزئی از تکنولوژی ADO.NET است.

ابزار طراحی Entity Framework در ویژوال استادیو

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

NHibernate

نمی توان در مورد ORMها در دات نت صحبت کرد اما نام NHiernate را ذکر نکرد. NH یک فریم ورک ORM اوپن سورس برای دات نت فریم ورک است که از روی پروژه موفق Hibernate جاوا وارد دنیای دات نت شد. توضیحات بیشتر در مورد NHibernate توضیحات اضافی است، زیرا این فریم ورک هم وظیفه ORMهای دیگر را انجام می دهد. اکثر برنامه نویسانی که از NH برای نگاشت استفاده می کنند، ابتدا کلاس های خود را تعریف می کنند و سپس با استفاده از یک فایل XML آن ها را به جدول های دیتابیس Map می کنند. Linq to SQL و Entity Framework برخلاف NHibernate از روش Model-first یا مبتنی در دیتابیس استفاده می کنند، به این معنی که هر دو ORM تصور می کنند شما دیتابیسی در اختیار دارید که می خواهید آن به تعدادی آبجکت Map کنید.

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

انتخاب از میان روش های بالا به عهده خود شماست. در این مطلب کوتاه نمی توان به بررسی تمام زوایا و تفاوت های میان آن ها پرداخت. در مطالب آینده سعی میکنم در مورد نحوه استفاده از هر کدام یک مثال عملی بزنم (البته به جز NHibernate).

+ نوشته شده در  2010/1/18ساعت 7:4 PM  توسط مهدی سالخورده  | 

isa server (ایزا سرور مایکرو سافت)

ISA Server چیست؟

ISA Server چیست؟
شرکت مایکروسافت نرم افزارهای متعددی را تحت عنوان Microsoft Server System در کنار سیستم عامل اصلی سرور خود یعنی ویندوز عرضه کرده که وظیفه ارائه سرویس های متعددی را از انواع شبکه ای گرفته تا امنیت و غیره به عهده دارند.
Internet Security & Acceleration Server که مخفف ISA Server است، نرم افزاری محصول شرکت Microsoft می باشد که به منظور افزایش امنیت در ارتباطات اینترنتی و دسترسی سریع تر به شبکه وب طراحی و پیاده سازی شده است. به عبارتی دیگر این نرم افزار یک دروازه امنیتی است که شبکه را از دسترسی هکرها و کرم های مزاحم موجود که به طرق مختلف به شبکه دسترسی دارند مصون می دارد و این کار، از طریق فیلتر کردن در سطح application و پاکت های داده انجام می شود. در شبکه، داده ها برای انتقال به بخش های کوچکتری شکسته می شوند که در اصطلاح به آنها پاکت گفته می شود.
ISA Server در محیط هایی با سیستم عامل های مختلف کار می کند ولی در عین حال بیشترین بهره وری را در کار با سیستم عامل ویندوز دارد. ISA Serverدر کنار امکانات موجود در سیستم عامل ویندوز از قبیلMicrosoft active directory و VPN) Virtual Private Network) و در اجتماع با آنها به کارایی بالاتر و مدیریت بهتر در شبکه کمک می کند. cache کردن یا به عبارتی ذخیره سازی داده ها از طریق ISA Serverو پاسخ دادن به درخواست هایی که داده های آنها در Web cache موجود است، ترافیک در شبکه اینترنت را کاهش داده که این باعث کاهش ازدحام در شبکه و افزایش میزان پهنای باند برای پاسخ دهی بهتر به دیگر درخواست ها در شبکه می شود. ISA Server دسترسی به شبکه را در موارد مختلف از قبیل زمان، دسترسی کاربران، نوعApplication ها و.... محدود می کند و این کار کیفیت مدیریت در شبکه را ارتقا می دهد در نهایت ISA Server محصول قابل توجهی از سوی شرکت مایکروسافت است که در زمینه امنیت در شبکه ها ارائه شده است.

آشنایی با ISA Server
برنامه قدرتمند ارتقاء و امنیت شبکه مایکروسافت ISA Server نام دارد این برنامه با استفاده از سرویس ها،سیاست ها و امکاناتی که در اختیار کاربران قرار می دهد قادر است به عنوان راه حلی در شبکه های مجازی (VPN)و یا برپا کردن فضای حایل به عنوان Cache جهت دسترسی سریع تر به صفحات وب مورد استفاده قرار گیرد. همچنین این برنامه قادر است با ایجاد یک دیواره آتش در لایه Application شبکه، فعالیت سرویس های مختلف یک شبکه ویندوزی مثل وب سرور IIS ، سرویس های دسترسی از راه دور (Routing And Remote Access) را از طریق فیلترگذاری و کنترل پورت ها تحت نظر گرفته و فضای امنی را برای آن ها فراهم کند. این برنامه با استفاده از نظارت دائمی خود بر پروتکل امنیتی SSI و فیلتر کردن درخواست های HTTP که به سرور می رسد وب سرور و ایمیل را از خطر حمله هکر ها دور نگه می دارد .به همین ترتیب کلیه ارتباطات شبکه ای که با یک سرور بر قرار می شود از ارتباط Dial up ساده گرفته تا ارتباط با سرور Exchange و یا IIS مشکوک با سرور باید مسدود گردد.
سایت مایکروسافت برای بررسی اهمیت وجود ISA در یک شبکه کلیه راه حل های این برنامه را که با استفاده از سرویس ها و امکانات ویژه موجود در آن ارائه گشته است به هفت سناریو یا وضعیت مختلف تقسیم کرده که به آن ها می پردازیم.

سناریوی اول
از ISA برای تأمین امنیت ایمیل ها استفاده می شود. ISA SERVER با استفاده از دو روش استاندارد یعنی SSL DECRYOTION و همچنین HTTP FILTERING اولا از ورود کد های مشهور به MALICIOUS که عمدتا بدنه انواع کرم ها و ویروس ها را می سازند جلوگیری به عمل می آورد و ثانیا محتوای در خواست های HTTP را برای بررسی مجوز دسترسی آن ها و صلاحیت دریافت و ارسال اطلاعات مورد کنکاش قرار می دهد .در این حالت ISA همچنین از هر نوع اتصال افراد با اسم کاربردی ANONYMOUS که می تواند منشأ شکستن رمز عبور های مجازی یک سرویس دهنده ایمیل شود جلوگیری می کند. به هر حال با وجود این که یک ایمیل سرور مثل Exchange راه حل های امنیتی مخصوص به خود را دارد اما وجود ISA به عنوان دیواره آتش، یک نقطه قوت برای شبکه به حساب می آید.
ضمن این که در نسخه های جدید ISA امکان ایجاد زنجیره ای از سرور های ISA که بتوانند با یک سرور Exchange در تماس بوده و در خواست های کاربران را با سرعت چند برابر مورد بررسی قرار دهد باعث شده تا اکنون به ISA عنوان فایروالی که با قدرت انجام توازن بار ترافیکی، سرعت بیشتری را در اختیار کاربران قرار می دهد در نظر گرفته شود.



سناریوی دوم
ISA می تواند در تأمین امنیت و دسترسی از راه دور نیز مورد استفاده قرار گیرد. در این سناریو ، یک شرکت برخی از اطلاعات سازمان خود را برای استفاده عموم در معرض دید و یا استفاده کاربران خارج از سازمان قرار می دهد.به عنوان مثال بسیاری از شرکت ها مسائل تبلیغاتی و گاهی اوقات سیستم سفارش دهی خود را در قالب اینترنت و یا اینترانت برای کاربران باز می گذارند تا آن ها بتوانند از این طریق با شرکت ارتباط برقرار نمایند. در این صورتISA می تواند به صورت واسط بین کاربران و سرویس های ارائه شده توسط وب سرور یا بانک اطلاعاتی SQL SERVER که مشغول ارائه سرویس به محیط خارج است قرار گرفته و بدین وسیله امنیت دسترسی کاربران به سرویس های مجاز و حفاظت از منابع محرمانه موجود در سیستم را فراهم آورد.



سناریوی سوم
در این سناریو، دو شبکه LAN مجزا متعلق به دو شرکت مختلف که در برخی موارد همکاری اطلاعاتی دارند توسط فضای اینترنت و از طریق سرور ها و دروازه های VPN با یکدیگر در ارتباط هستند. به عنوان مثال یکی از شرکای یک شرکت تجاری، محصولات آن شرکت را به فروش رسانده و درصدی از سود آن را از آن خود می کند. در این روش به صورت مداوم یا در ساعات معینی از شبانه روز امکان رد و بدل نمودن اطلاعات بین دو شرکت مذکور وجود دارد. در این زمان ISA می تواند با استفاده از روش ENCRYPTION از به سرقت رفتن اطلاعات ارسالی و دریافتی در حین مبادله جلوگیری کند.در حالی که هیچکدام از دو طرف احساس نمی کنند که فضای حایلی در این VPN مشغول کنترل ارتباط بین آنهاست.به علاوه این که با وجود ISA کاربران برای اتصال به سایت یکدیگر باید از دو مرحله Authentication ) احراز هویت) یکی برای سرور یا دروازه VPN طرف مقابل و دیگری برای ISA عبور کنند که در این حالت یکی از بهترین شیوه های بر قراری امنیت در شبکه های VPN است.
در این سناریو ، وجود یک ISA SERVER تنها در طرف سایت اصلی یک شرکت می تواند مدیریت برقراری امنیت در کل فضای VPN هر دو طرف را به عهده گیرد و با استفاده از دیواره آتش لایه Application از عبور کد های مشکوک جلوگیری کند.



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

 

سناریوی پنجم
سناریوی بعدی زمانی مطرح می شود که یک شرکت قصد دارد با بر پایی یک سیستم مرکزی در محل اصلی شرکت، سایر شعبات خود را تحت پوشش یک سیستم (مثلا یک بانک اطلاعاتی) متمرکز درآورد. از این رو باز هم در اینجا مسأله اتصال شعبات شرکت از طریق VPN مطرح می شود.در این صورت ISA با قرار داشتن در سمت هر شعبه و همچنین دفتر مرکزی به صورت آرایه ای از دیوارهای آتش
( Array Of Firewall ) می تواند نقل و انتقال اطلاعات از سوی شعبات به دفتر مرکزی شرکت و بالعکس را زیر نظر داشته باشد . این مسأله باعث می شود تا هر کدام از شعبات و دفتر مرکزی به منابع محدودی از یکدیگر دسترسی داشته باشند . در ضمن با وجود امکان مدیریت و پیکر بندی متمرکز کلیه سرورهای ISA نیازی به مسئولین امنیتی برای هر شعبه نیست و تنها یک مدیر امنیت از طریق ISA سرور موجود در دفتر مرکزی می تواند کلیه ISA سرورهای شعبات را تنظیم و پیکر بندی کند.



سناریوی ششم
کنترل دسترسی کاربران داخل دفتر مرکزی به سایت های اینترنتی ، سناریوی ششم کاربرد ISA محسوب می شود. در این جا ISA می تواند به کمک مدیر سیستم آمده و سایت ها ، لینک ها ی URL و یا انواع فایل ها یی که از نظر وی نامناسب تشخیص داده شده را مسدود کند. در همین هنگام فایروال نیز کار خود را انجام می دهد و با استفاده از سازگاری مناسبی که بین ISA و Active Messing ویندوز وجود دارد اولا از دسترسی افراد غیر مجاز یا افراد مجاز در زمان های غیر مجاز به اینترنت جلوگیری شده و ثانیا می توان از اجرا شدن برنامه هایی که پورت های خاصی از سرور را مثلا جهت استفاده برنامه های Instant Messaging مورد استفاده قرار می دهند جلوگیری نمود تا بدین وسیله ریسک ورود انواع فایل های آلوده به ویروس کاهش یابد .



سناریوی هفتم
در تمام سناریوی قبلی که ISA در بر قراری ارتباط مناسب و امن بین سایت های اینترنت , کاربران یا شعبات شرکت نقش مهمی را ایفا می کرد یک سناریوی دیگر نیز نهفته است و آن سرعت انتقال اطلاعات بین تمام موارد فوق از سایت های اینترنتی گرفته تا اطلاعات سازمانی است. سیستم Array Cache موجود در این برنامه باعث می شود تا هر کدام از کاربران چه در محل اصلی شرکت و چه از محل شعبات بتوانند برای دیدن اطلاعات یا سایت های مشابه راه میان بر را رفته و آن را از هر کدام از ISA های موجود در شبکه VPN یا LAN دریافت کنند و بدین وسیله حجم انتقال اطلاعات با محیط خارج را تا حدود زیادی در سیستم متوازن نمایند.



عملکرد
ISA SERVER کلیه سناریوهای تعیین شده را بر اساس سه قاعده مختلف یعنی سیستم، شبکه و دیواره آتش محقق می سازد که در این جا به این سه قاعده اشاره می کنیم:
Network Rule -1
ISA SERVER با استفاده از قوانین شبکه ای موجود و تعریف شده در بانک اطلاعاتی خودش نحوه ارتباط دو یا چند شبکه را به یکدیگر در یک فضای معین مشخص می سازد. در این قاعده که توسط مدیر سیستم قابل تنظیم است مشخص می گردد که شبکه های مورد نظر طبق کدام یک از دو روش قابل طرح به یکدیگر متصل می شوند . این دو روش عبارتند از:

الف- NAT (Network Address Translation)
این روش، یک ارتباط یک طرفه و منحصر به فرد است. بدین معنی که همیشه یکی از شبکه ها نقش شبکه اصلی و داخلی (Internal) و بقیه شبکه ها نقش شبکه های خارجی (External) را بازی می کنند. در این روش شبکه داخلی می تواند قوانین و شیوه دسترسی به اطلاعات و رد و بدل شدن آن ها در فضای بین شبکه ها را تعیین کند ولی این امکان از سایر شبکه های خارجی سلب گردیده و آن ها تابع قوانین تعریف شده در شبکه داخلی هستند. در این روش همچنین ISA آدرس IP کامپیوترهای مبدا یک ارتباط NAT را به وسیله عوض کردن آن ها در IP خارجی خودش از دید کامپیوترهای یک شبکه (چه کامپیوترهای متصل از طریق LAN و چه کامپیوترهای خارجی ) مخفی می کند. به عنوان مثال مدیر یک شبکه می تواند از ارتباط بین کامپیوترهای متصل شده از طریق VPN را با اینترنت از نوع یک رابطه NAT تعریف کند تا ضریب امنیت را در این ارتباطات بالا ببرد.

ب- Rout
این نوع ارتباط یک ارتباط دو طرفه است. بدین معنی که هر دو طرف می توانند قواعد امنیتی خاصی را برای دسترسی شبکه های دیگر به شبکه محلی خود تعریف کنند. به عنوان مثال ارتباط بین شبکه های متصل شده به یکدیگر در فضای VPN می تواند یک ارتباط از نوع Rout باشد.
با توجه به این مسائل، ارتباطات فایل اطمینان یک شبکه با شبکه های مجاور ) مثل شعبات شرکت ) می تواند از طریق Rout و ارتباطات محتاطانه شبکه با کاربران خارجی و کسانی که از طریقRadius یا وب به شبکه دسترسی دارند می تواند از نوع NAT تعریف شود.

Firewall Rule -2
علاوه بر نقش مستقیمی که سیاست های تعریف شده در قواعد دیواره آتش در نحوه ارتباط بین شبکه ها بازی می کند و می تواند موجب مسدود شدن ارتباطات خارج از قواعد تعریف شده در Network Rule شود، این قواعد همچنین می تواند با تعریف دقیقی که از پروتکل های HTTP , FTP , ONS , RPC و …انجام می دهند کلیه درخواست ها از انواع مذکور را زیر نظر گرفته و به عبارتی فیلتر نمایند. در این روش مدیر امنیت شبکه می تواند امکان دسترسی تعدادی از کاربران را در ساعات خاص و به محتوای مشخص مجاز یا غیر مجاز کند. به عنوان مثال وی می تواند تصاویر موجود بر روی صفحات وب را از طریق فیلتر کردن فهرستی از پسوندهای انواع فایل های گرافیکی در یک قاعده از نوع HTTPمسدود کند در حالی که کاربران همچنان بتوانند آن فایل ها را از طریق پروتکل دیگری مثل FTP دریافت یا ارسال کنند.
همچنین در قواعد مربوط به فایروال می توان دسترسی کاربران یا گروه های کاربری را به تعدادی از آدرس های URL یا IP های مشخص مسدود کرد. ضمن آنکه قواعد مربوط به نحوه دسترسی کاربران برای انجام اموری مثل انتشار صفحات وب (Web Publishing)و امثال آن هم در همین جا تعریف می گردد.

System Rule -3
در این قسمت بیش از سی قاعده مربوط به دسترسی وجود دارد که قابل انتساب به شبکه محلی می باشند. این قواعد نحوه ارتباط سرویس های یک شبکه را با یکدیگر و همچنین با ISA مشخص می نماید. به عنوان مثال سرویس DHCP که کلیه درخواست ها و پاسخ های مربوط به انتساب دینامیک آدس IP به کامپیوترهای یک شبکه را مدیریت می کند یا سرویس DSN که وظیفه ترجمه اسامی و آدرس های شبکه را انجام می دهد مورد استفاده ISA قرار گرفته تا بتواند هم موقعیت خود در شبکه و با سرور هایی که سرویس های فوق را ارائه می دهند تشخیص دهد و هم با اطلاع از نحوه پیکر بندی شبکه و ارتباط آن با محیط خارج اقدام به کنترل آن از طریق قواعد مربوط به شبکه و دیواره آتش بنماید. به طور کلی سیاست های موجود در قواعد سیستمی، روابط میان ISA ، سایر منابع و سرورهای موجود در شبکه را مشخص می نمایند.
+ نوشته شده در  2009/11/28ساعت 8:8 PM  توسط مهدی سالخورده  | 

مروری بر یونیکس :

 آنچه در خصوص حملات بر علیه این سیستم عامل در فصول بعد به آنها نیاز دارید !

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

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

 

منابع و مآخذ

نفوذگری در شبکه و روشهای مقابله        مهندس احسان ملکیان      علمی فرهنگی

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

فن آوران شبکه                                  مهندسی حمید هاشمی

سیستم های عامل                 ویلیام استالینگز                      نشرشیخ بهائی

کار رو رایانه                                                                          ادبستان

+ نوشته شده در  2009/11/23ساعت 7:37 PM  توسط مهدی سالخورده  | 

JSP

نگاهي به 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

+ نوشته شده در  2009/11/21ساعت 9:0 PM  توسط مهدی سالخورده  | 

ASP.Net

 مقدمه

    با به وجود  آمدن 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 براي دستگاه هاي موبايل تبديل خواهند شد.

+ نوشته شده در  2009/11/20ساعت 9:48 PM  توسط مهدی سالخورده  | 

چرا نرم‌افزارها می میرند ؟

اشاره :
معمولاً وقتی سازمان یا شركتی نرم‌افزاری را سفارش می‌دهد، هیچ‌گاه به این موضوع فكر نمی‌كند كه ممكن است قبل از تحویل گرفتن آن، نرم‌افزار او بمیرد و از آن محصول نتواند استفاده كند. یا اگر نرم‌افزار را سالم تحویل بگیرد باز هم به این موضوع فكر نمی‌كند كه این نرم‌افزار روزی می‌میرد.

سازمان‌های بزرگ هزینه‌های قابل‌توجهی را صرف خرید تجهیزات IT از سخت‌افزار گرفته تا نرم‌افزار و تجهیزات شبكه‌ای می‌كنند و نكته قابل توجه این‌كه بیشترین درصد خرابی و مشكلات از آن نرم‌افزار است، اما به راستی چرا این‌گونه است؟ چرا در اكثر پروژه‌های نرم‌افزاری كشورمان این مشكل دیده می‌شود؟ تجربه شخصی من برای پاسخ دادن به این سؤالا‌ت، عدم توجه به هشت نكته مهم را دخیل می‌داند:

1- یكی از مشكلات پروژه‌های نرم‌افزاری نداشتن برنامه كاری یا داشتن برنامه زمان‌بندی غیرحقیقی است. به عنوان مثال، در حالی كه نظر كارشناسی این است كه مدت زمان اتمام پروژه با توجه به اجزای آن چهار ماه طول خواهد كشید، شما به عنوان مدیر پروژه نرم‌افزاری نباید قول بدهید كه پروژه دو ماه دیگر به اتمام می‌رسد. این كار باعث خواهد شد به دلیل كمبود وقت كیفیت نرم‌افزار كم شود.

2- به‌كارگیری نرم‌افزاری كه كیفیت پایینی داشته باشد حتماً با شكست روبه‌رو می‌شود. تصور كنید كه روی اجزای سیستم‌های نرم‌افزاری آزمایش كاملی صورت نگیرد و از روش‌های آزمایش مكرر در هنگام برنامه‌نویسی استفاده نشود. اگر نیازهای كاربران (نه به صورت كامل بلكه جزئی) تغییر كند سیستم دیگر نمی‌تواند قابل استفاده باشد.

3- نباید فكر كنیم اتفاق خارق‌العاده‌ای رخ می‌دهد و كاربران سیستم همان‌گونه كه ما به آن‌ها می‌گوییم، با سیستم رفتار می‌كنند. شاید ورود اطلاعات زیاد و رفتارهای مختلف كاربران در سیستم تأثیر داشته باشد و باعث شود نتیجه خوبی از پروژه نگیریم.

4- اگر چه تغییر كلی نیازهای كاربران پروژه نرم‌افزاری را با مشكل روبه‌رو می‌كند، اما باور كنید كه كاربران نیازهای جدیدی خواهند داشت. بهتر است در پروژه‌های نرم‌افزاری از روش‌های آبشاری قدیمی استفاده نكنیم و از روش‌های نوین مانند test driven development بهره بگیریم.

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

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

7- كاربران اصلی سیستم در طول مراحل طراحی نرم‌افزارها حضور ندارند، به همین دلیل است كه وقتی نرم‌افزار آماده می‌شود می‌خواهند آن را تغییر دهند. كار آن‌ها مانند این موضوع است كه تنها اندازه‌های خود را به خیاط بدهیم و بگوییم حوصله پرو را نداریم. حاصل كار شاید لباسی باشد كه اندازهِ شما باشد، اما به احتمال خیلی زیاد كارایی كافی را نخواهد داشت.

8- فرض كنید نرم‌افزار عاری از اشكال است و در اختیار كاربر قرار می‌گیرد. حال اگر كاربر به دلیلی وقت خود را صرف ایرادگیری از سیستم كند یا اطلا‌عات مورد نیاز را به آن وارد نكند پروژه نرم‌افزاری به نتیجه نخواهد رسید. برخی از كاربران سیستم فكر می‌كنند كه وظیفه برنامه‌نویس وارد كردن اطلاعات به سیستم است.

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

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

نویسنده امین صفایی

+ نوشته شده در  2009/11/18ساعت 9:12 PM  توسط مهدی سالخورده  | 

از قلب ویندوز خود نسخه ی پشتیبان تهیه کنید

در زمان حاضر همه ی کاربران سیستم عامل ویندوز میبایستی از این نکته با اطلاع باشند که رجیستری ویندوز در اصل قلب تپنده ی این سیستم عامل محسوب میشود. رجیستری دقیقا بخشی از ویندوز میباشد که در آن هزارن مورد از جزئیات مورد نیاز این سیستم عامل برای مدیریت سیستم ذخیره شده است، با توجه به اهمیت چنین بخشی در سیستم عامل ویندوز کمپانی مایکروسافت ترتیبی داده است تا رجیستری در دو نسخه بر روی ویندوز ذخیره شود تا اگر نسخه ی اصلی آسیب دید ویندوز به سراغ نسخه ی پشتیبانی که خودش فراهم کرده است برود. اما بارها پیش می آید که هر دو نسخه ی رجیستری ذخیره شده توسط سیستم عامل ویندوز آسیب ببینند و زمانی که رجیستری آسیب ببیند میبایستی ویندوز و تمامی برنامه های تحت آن از ابتدا نصب گردند.
اما راه حل ساده تری نیز هست و آن هم اینکه شما نسخه ی کپی مجزایی را از رجیستری ویندوزتان به وجود آورید، این امر با استفاده از برنامه ی backup که در ویندوز XP نسخه ي PRO گنجانده شده است امکان پذير است و شما ميتوانيد اين برنامه را در مسير Accessories/System Tools بيابيد.
برنامه ي ذکر شده توسط XP نسخه ي خانگي به صورت پيش فرض نصب نميگردد ولي شما ميتوانيد آن را بوسيله ي يک CD ويندوز XP نسخه ي Home به آساني نصب نماييد٬ ابتدا CD را در درون CD-ROM قرار داده و سپس وارد مسير Drive:\VALUEADD\MSFT\NTBACKUP شويد. سپس يک کليک دوبل بر روي فايل NTBACKUP.MSI نمائيد تا برنامه ي نصب فعال گردد٬ پس از اتمام مراحل نصب شما ابزار مذکور را به آساني در دسترس ميابيد.
اين برنامه در حالت پيش فرض به صورت يک Wizard اجرا ميشود مگر اينکه شما حالت پيش فرض آنرا تغيير دهيد٬ براي تغيير حالت پيش فرض بر روي عبارت Advanced Mode کليک نماييد تا صفحه ي جديدي ظاهر شود٬ در اين صفحه قسمتي را که تحت عنوان Backup نامگذاري شده است کليک کنيد بعد از آن در پنجره سمت چپ يک تيک در مقابل آيکون System State بزنيد.
حالا شما ميبايستي مکاني را براي ذخيره نسخه پشتيبان رجستيريتان معين کنيد توجه داشته باشيد که حجم اين نسخه ي پشتيبان چيزي در حدود ۵۰۰ مگابايت خواهد بود پس جايي را انتخاب نمائيد که فضاي کافي وجود داشته باشد٬ پس از معين کردن مکان ذخيره ي فايل يک نام همانند "BACKUP" يا چيزي مشابه آن براي فايل پشتيبان در نظر بگيريد. برنامه ي Back up ويندوز به صورت خودکار پسوند BKF را به نام انتخابي شما خواهد افزود.
حالا کليد Start Backup را کليک کنيد در صورتي که شما جايي از هارد ديسکتان را براي ذخيره نسخه ي پشتيبان انتخاب نموده ايد تهيه ي اين نسخه تنها يکي دو دقيقه طول ميشکد اما اگر محل ذخيره ي آنرا بر روي يک CD تعيين کرده ايد تهيه نسخه پشتيبان چيزي در حدود ۱۰ دقيقه طول خواهد کشيد. توجه داشته باشيد که ويندوز به صورت خودکار يک نسخه پشتيبان از رجيستري را در C:\WINDOWS\REPAIR ذخيره مينمايد.
در آخر زماني که شما ويندوز XP نسخه ي PRO يا HOME را اجرا مينماييد ميبايستي Recovery Console را در آن نصب نمائيد براي نصب قسمت مذکور CD ويندوز خود را در درون درايو مربوطه که در اينجا ما آنرا D نامگذاري ميکنيد قرار دهيد. در صورتي که برنامه ي پيش فرض نصب ويندوز فعال شد آنرا cancel کنيد٬ حالا گزينه ي Run را از Start Menu انتخاب نمائيد و سپس عبارت D:\i386\winnt32.exe/cmdcons را تايپ نموده و دستور العمل مربوطه را طي نمائيد. پس از reboot نمودن کامپيوتر option جديدي را ميابيد که در آن ميتوانيد Recovery Console را فعال سازيد و با استفاده از آن نسخه هاي پشتيبان رجتسريتان را که قبلا تهيه کرده ايد را جايگزين نسخه ي رجيستري آسيب ديده ويندوزتان نمائيد.

به نقل از the reporter

+ نوشته شده در  2009/11/16ساعت 8:51 PM  توسط مهدی سالخورده  | 

GPS قسمت اخر

درجه دسترسی

الف) عمومی

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

ب ) هواپیما ،  چراغ علاءالدین

سال‌ها قبل اگر به کابین خلبان و یا ناوبر سر می‌زدید، خلبان، مهندس پرواز و ناوبر همگی به طور دائم در حال بررسی وضعیت ناوبری، موتور، ... بودند که در پروازهای طولانی خسته‌کننده بود. خلبان خودکار (اتوپایلوت) نیز کاربری محدود دارد اما در هواپیماهای مدرن امروزی، کامپیوتری به نام سیستم مدیریت پرواز FMS (Flight Management (System به طور هوشمند وجود دارد که خلبان دستورات دریافتی پروازی از مرکز Despatch زمین را به حافظه این کامپیوتر وارد می‌کند.

شما حتما در داستان علا‌ءالدین و چراغ جادو ملاحظه کرده‌اید که غول معروف داستان، علاء الدین را هر جا که اراده می‌کرد، می‌برد این مثال در مورد ماهواره و خلبان نیز صدق می‌کند. خلبان هم اطلاعات پروازی Flightplan را از طریق FMS به حافظه ماهواره وارد کرده و از GPS می‌خواهد که او را به فرودگاه موردنظرش راهنمایی کند (مقصد). با توجه به اینکه مشخصات و مختصات کلیه فرودگاه‌های دنیا در حافظه اصلی ماهواره ثبت است، بنابراین ماهواره اطلاعات دریافتی از هواپیما را پردازش کرده و مختصات مسیر پرواز (طول و عرض جغرافیایی – زمان، ارتفاع، سرعت ...) را روی مونیتور خلبان به نمایش درمی‌آورد (نصب این مونیتور در کابین مسافران در پروازهای برون‌مرزی اجباری است).حال، خلبان پس از بلند شدن از زمین کافی است که فرمان را روی خلبان خودکار قرار دهد و استراحت کند و یا به کابین مسافران رفته و با آنها صحبت کند. زیرا FMS با دریافت اطلاعات لحظه‌ای از ماهواره، ارتفاع، جهت و مسیر مناسب را انتخاب می‌کند. شگفت آنکه GPS به خاطر ارتباط با رادار هوا Weather Radar در صورت بدی هوا، مسیر هواپیما را تغییر می‌دهد و پرواز را ایمن می‌سازد. آری، حال شما کافی است در کابین مسافران به صندلی خود تکیه داده و استیک خود را با خیال راحت میل کنید و یا از خواب عمیق لذت ببرید زیرا شما در پناه تکنولوژی قرن بیست و یکم پرواز می‌کند.

+ نوشته شده در  2009/11/5ساعت 5:12 PM  توسط مهدی سالخورده  | 

GPS قسمت دهم

زمان همه چيز است؟

وقتي كه 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 برای مقاصد نظامی انحرافات را محاسبه، تصحیح و مخابره می‌کند.

+ نوشته شده در  2009/11/3ساعت 8:41 PM  توسط مهدی سالخورده  | 

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" " را از ماهواره دريافت مي كند و موقعيت ماهواره را تعين مي كند.
+ نوشته شده در  2009/11/1ساعت 7:33 PM  توسط مهدی سالخورده  | 

GPS قسمت هشتم

ماهواره ای با گیرنده ای کوچک

چند نمونه از گیرنده‌های 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 سال است و بعد از اين مدت ماهواره فرسوده در فضا رها مي شود و ماهواره اي جديد جايگزين آن مي شود

اگر به هر دليلي انرژي خورشيد به ماهواره نرسد ( مثل خسوف يا كسوف ) ماهواره ها با استفاده از باتري هاي پشتيبان خود را به صورت روشن نگه مي دارندهمچنين هر ماهواره چند موشك پيش برنده دارد كه با كمك آنها خود را در مسير درست هدايت مي كنند

+ نوشته شده در  2009/10/27ساعت 8:55 PM  توسط مهدی سالخورده  | 

GPS قسمت هفتم

فنی و مهندسی:

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

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

اعلام مکان :

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

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

 

 

کاربرد نظامی اولین هدف:

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

البته ناگفته نماید، این سیستم هم مانند اینترنت توسط وزارت جنگ آمریکا با هدف نظامی راه اندازی شد اما با گسترش این فن آوری کاربرد غیرنظامی آن نیز گسترش یافت ، البته بسیاری از امکانات سیستم تنها در اختیار نظامیان آمریکا ست!!!

 

ماهواره هاي سيستم

۲۴ ماهواره ي GPS در مدارهايي بفاصله ۳۶۶۰۰ كيلومتري از سطح دريا گردش مي كنند. هر ماهواره دقيقا طي ۱۲ ساعت با سرعت ۱۱ هزار كيلومتر بر ساعت يك دور كامل بدور زمين مي گردد.
اين ماهواره ها نيروي خود را از خورشيد تامين مي كنند ولي باتري هايي نيز براي زمانهاي خورشيد گرفتگي!!! و يا مواقعي كه در سايه ي زمين حركت مي كنند بهمراه دارند.( اگر ماهواره ملی بود در این مواقع با مشکل روبرو می شدیم!!!!!!!!!)

 راكتهاي كوچكي نيز ماهواره ها را در مسير درست نگاه مي دارند. به اين ماهواره ها NAVSTAR نيز گفته مي شود.


+ نوشته شده در  2009/10/26ساعت 7:21 PM  توسط مهدی سالخورده  |