پيغام مدير :
امیدوارم مطالب این وبلاگ برای شما دوست عزیز سازنده و مفید باشه
تنها خواهش من اینه که با دادن نظرات مفیدتون منو تو بهتر شدن این وبلاگ راهنمایی کنید .
با تشکر - مدیر وبلاگ

--------------------
كد لينك ما :
براي دريافت جديد ترين عکسها و فيلمها و همچنين جديد ترين موزيک ها اينجا عضو شويد :
اخبار جدید
آموزشی
معرفی و دانلود نرم افزار
موبایل
بازی
سخت افزار
متن باز (Open Source)
شبکه
آموزش فتوشاپ و ترفند های آن
ماهواره
معرفی و دانلود E-Book
برنامه نویسی
FireFox Add-On's
دانلود Icon
درباره فیلتر . . .
Babylon Glossary's
نرم افزارها ، آنتی ویروسها و مسائل امنیتی
ترفندهای رجیستری اینترنت و کامپیوتر
لپ تاپ (Laptop)
آبان 1388
مهر 1388
شهریور 1388
مرداد 1388
تیر 1388
خرداد 1388
اردیبهشت 1388
فروردین 1388
اسفند 1387
بهمن 1387
دی 1387
آذر 1387
آبان 1387
مهر 1387
شهریور 1387
مرداد 1387
تیر 1387
خرداد 1387
اردیبهشت 1387
فروردین 1387
اسفند 1386
بهمن 1386
دی 1386
آذر 1386
آبان 1386
مهر 1386
شهریور 1386
مرداد 1386
تیر 1386
خرداد 1386
اردیبهشت 1386
فروردین 1386
اسفند 1385
بهمن 1385
دی 1385
آذر 1385
آبان 1385
مهر 1385
شهریور 1385
مرداد 1385
تیر 1385
خرداد 1385
اردیبهشت 1385
فروردین 1385
براي جستجو در همين صفحه وبلاگ واژه كليدي مورد نظرتان را وارد کنيد :

طراحي شده توسط علي کورشفر
www.iroom.ir
www.TakTemp.com
نسخه v6.1 سيستم عامل FreeBSD در اينترنت منتشر شد ( اخبار جدید )
عرضه FreeBSD 6.1، كه مدتها طرفداران را در انتظار گذاشته بود، امروز كه اين خبر را ميخوانيد در سايتهاي mirror سراسر جهان شروع شده است.
سرويس خبر شبکه آنلاين - عرضه نسخه جديد سيستم عامل FreeBSD در شبکه اينترنت آغاز شد.
FreeBSD 6.1 كارايي بهتر، حمايت وسيعتر از سختافزار و پايداري بهتري به همراه خواهد آورد. در
با اين كه نسخه 6 اين محصول در مجموع پايدار و بسيار كارآمد بود، ولي اشكالاتي داشت و راه را براي اصلاحات آينده باز گذاشته بود.
از زماني كه نسخههاي 5 و 6 اين محصول عرضه شدهاند، بعضي کارشناسان ميگويند كه عملكرد آنها، به ويژه در زمينه شبكه، به خوب نسخههاي v4.x نيست. به همين دليل، انتظار ميرفت اين اشكال در نسخه v6.1 برطرف شود. نسخه v6.1 اين مشكل را در سريهاي v6.x حل ميكند، و سريهاي v5.x با عرضه نسخه 5.5 اصلاح خواهند شد.اگر مايليد بدانيد اين نسخه چه ويژگيهايي دارد، سريعتر و پايدارتر شده است يا نه، كافي است آن را بگيريد و نصب كنيد.
FreeBSD چيست؟
FreeBSD يك سيستم عامل پيشرفته براي كامپيوترهاي سازگار با معماريهاي x86 (شامل پنتيوم و اتلون)، amd64 (شامل آپترون، اتلون 64، و EM64T)، Alpha/AXP، IA-64، PC-98 و UltraSPARC است. نام اين سيستم عامل از BSD گرفته شده است. BSD يك نسخه از يونيكس است كه بركلي (نام دانشگاه كاليفرنيا) تهيه كرده است.
نظر یادتون نره . . . من به نظرهای شما خیلی احتیاج دارم
لينك ثابت ![]()
آشنايي با Symbian سيستمعامل ويژه تجهيزات موبايل ( موبایل )
سيستمعامل سيمبيان و سازنده آن سيمبيان سيستمعاملي است كه توسط شركت انگليسي Symbian، براي تجهيزات سيار (mobile) طراحي شده است و با سيستمعاملهاي ديگري مانند Windows Mobile ،Palm OS و لينوكس رقابت ميكند. شركت سيمبيان در ژوئن 1998 در انگلستان تأسيس شد. سهامداران اين شركت در آغاز، شركتهاي Psion، نوكيا، اريكسون، ماتسوشيتا و موتورولا بودند. در سپتامبر 2003، موتورولا سهام خود را به شركت هاي Psion و نوكيا فروخت. در جولاي 2004 نيز سهام Psion توسط نوكيا، پاناسونيك، زيمنس و سونياريكسون خريداري شد. در نتيجه اين شركت در حال حاضر در مالكيت شركتهاي اريكسون، نوكيا، ماتسوشيتا (پاناسونيك)، زيمنس، سونياريكسون و سامسونگ است. طراحي ساختار سيمبيان سيمبيان سيستمعاملي با ساختار32 بيتي است كه با امكان مديريت همزمان چند برنامه (multi-tasking) براي تجهيزات موبايل طراحي شده است. در ادامه به برخي از ويژگيهاي اصلي اين سيستمعامل اشاره مي شود. lمعماري انعطافپذير مبتنيبر مدل كلاينت- سرور و نوعي از روش برنامهنويسي كه از نرمافزارهاي هر چند فشرده، ولي قدرتمند پشتيباني ميكند. lدسترسي بلادرنگ به دادههاي كاربر با استفاده از هسته قدرتمند چند وظيفهاي در پايينترين سطح نرمافزار و نيز يك چارچوب واسط كاربر بسيار ساده در بالاترين سطح. l طراحي پايدار نرمافزار با استفاده از مدل برنامهنويسي اشياي مبتني بر كامپوننت، سيمبيان را به نرمافزاري جامع و خاص در طراحي الگوها و چارچوبهاي مختلف تبديل كرده است. lسازگاري با تجهيزات و فناوريهاي مختلف. در پايينترين سطح اين سيستمعامل، كامپوننتهاي اصلي قرار دارند كه شامل هسته (kernel) و كتابخانه كاربر است كه به برنامههاي كاربردي سمت كاربر امكان ميدهد از هسته، درخواستهاي مختلفي بكنند. سيمبيان داراي ساختاري موسوم به microkernel است. بهگونهاي كه طراحان، كمترين نيازمنديهاي سيستم را در آن گنجاندهاند تا كارايي بالايي داشته باشد. در سطح دوم اين سيستمعامل، مجموعهاي از كتابخانهها قرار دارند كه كارهاي مختلفي چون تغيير شكل و اندازه فونتها، كار با بانك اطلاعاتي و فايلها را به عهده دارند. يك زيرسيستم بزرگ نيز براي كارهاي ارتباطي و شبكهاي وجود دارد كه شامل سه قسمت اصلي موسوم به ETel ،ESOCK و C32 است. با استفاده از APIهاي ETel، برنامههاي كاربردي ميتوانند گستره وسيعي از گزينهها را بدونتوجه به ساختار خود تجهيزات و تجهيزات سرويسدهنده در اختيار كاربر نهايي قرار دهند. اين انعطافپذيري بدين معني است كه توسعهدهندگان برنامههاي كاربردي بدون توجه به نوع تجهيزات، سرويسها و... ميتوانند نرمافزارهاي خود را توسعه دهند. همچنين ESOCK يك Socket Server و واسط كاربر ميان كاربران و پروتكلهاي سمت سرور است. C32 نيز كلاينتها را از طريق يك واسط سريال RS232 به پورت سريال پيادهسازي شده در كتابخانههاي فريمورك موسوم به comm server modules متصل مي كند. همچنين براي انتقال اطلاعات در برد كوتاه از امكانات ديگري مانند بلوتوث، پورت USB و IrDA استفاده شده است. تعدادي موتور برنامه كاربردي (application engine) نيز براي برنامههاي كاربردي معمول مانند تقويم، ذخيره آدرسها و فهرست وظايف طراحي شده است. امنيت شركت سيمبيان چند توصيه امنيتي را نيز به كاربران اين سيستمعامل پيشنهاد مي كند: - چنانچه برايتان ممكن است اطلاعات گوشي يا سيستم موبايل خود را به كامپيوتر خود نيز منتقل كنيد تا يك بكآپ از آن در اختيار داشته باشيد. - اتصال بلوتوث را تنها زماني كه به آن نياز داريد، در حالت visible قرار دهيد. روشن نگاه داشتن بلوتوث به اين معني است كه هركسي در محدوده ده متري شما قابليت تماس با دستگاه شما را دارد. - در يك گوشي مبتنيبر سيستمعامل سيمبيان هرگاه پيامي از طريق بلوتوث براي شما ارسال شود، پيام?RECEIVE MESSAGE نيز نمايش داده ميشود. چنانچه نميدانيد پيغام از سوي چه كسي فرستاده شده است يا انتظار دريافت آن را نداشتهايد، هرگز گزينه YES را انتخاب نكنيد. چنانچه با وجود انتخاب گزينه NO پيغام از روي نمايشگر حذف نشد، مكان خود را تغيير دهيد و دستگاه را به مد hidden سوييچ كنيد. - برنامههاي كاربردي را تنها از منابع مطمئن مانند وب سايت شركت سازنده گوشي يا وبسايتهايي مانندHandgo.com ،AllAboutSymbian.com ،My-Symbian.com و ديگر وبسايتهاي مطمئن ارائهدهنده برنامههاي كاربردي دانلود كنيد. - زماني كه يك برنامه كاربردي روي گوشي خود نصب مي كنيد، جزئيات آن مانند نام نرمافزار و سازنده آن نيز نشان داده ميشود. با استفاده از اين اطلاعات ميتوانيد از نصب برنامههايي كه ماهيت آنها مشخص نيست، خودداري كنيد. همچنين هنگام اتصال به اينترنت يا شبكههاي ديگر، ميتوان از نرمافزارهاي امنيتي ديگري نيز استفاده كرد. براي نمونه شركت سيمانتك، سازنده نرمافزارهاي امنيتي، آنتيويروس و فايروال ويژهاي براي گوشيهاي سري شصت و هشتاد شركت نوكيا طراحي كرده است. توسعه نرمافزارهاي مبتني بر سيمبيان سيمبيان، يك نرمافزار باز ولي نه به معناي اپنسورس است؛ يعني سورس كد آن در دسترس عموم نيست. در مقابل، تقريباً همه سورس كد آن، در اختيار شركاي اين شركت و شركتهاي سازنده گوشيهاي موبايل كه از اين پلتفرم استفاده ميكنند قرار دارد. همچنين APIهاي آن عموماً به صورت مستند شده در دسترس است و هر كسي ميتواند براي توسعه نرمافزارهاي مبتنيبر سيمبيان از آنها استفاده كند. پلتفرمهاي مختلفي مبتنيبر سيستمعامل سيمبيان وجود دارند كه يك كيت توسعه نرمافزار (SDK) در دسترس توسعهدهندگان برنامههاي كاربردي قرار ميدهند. شركتهاي بزرگ سازنده نرمافزار نيز نرمافزارهاي مختلفي را براي اين سيستمعامل طراحي ميكنند كه برخي از آنها پيش از اين در كامپيوترهاي شخصي نيز مورد استفاده قرار ميگرفتهاند. براي نمونه شركت ادوبي، سازنده نرمافزار Adobe Reader، نسخهاي از آن را براي پلتفرم سيمبيان توليد كرده است كه به كاربران امكان ميدهد از فايلهاي PDF در گوشيهاي نوكيا 6680 و دستگاههاي Nokia Communicator سري 9500 و نيز 9290.9210 استفاده كنند. اين نرمافزار را ميتوان از طريق اينترنت، به صورت ضميمه ايميل يا از كامپيوتر روي سيستم مبتنيبر سيمبيان نصب كرد. در شكل 1، اينترفيس اين نرمافزار را روي نمايشگر يك گوشي نوكيا 6680 مي بينيد. همچنين UIQ، پلتفرمي نرمافزاري براساس سيستمعامل سيمبيان است كه توسط شركت UIQ Technology ساخته شده است. در واقع، UIQ يك لايه واسط كاربر گرافيكي است كه امكان افزودن كامپوننتهاي مختلف به بخش اصلي سيستمعامل را فراهم ميكند. يكي از جالبترين امكانات براي توسعهدهندگان و برنامهنويسان اين پلتفرم، امكان برنامهنويسي بومي با ++C است؛ چرا كه هم خود سيستمعامل و هم پلتفرم توسعه آن با اين زبان نوشته شده است و به همين علت بالاترين كارايي را براي برنامههاي كاربردي فراهم ميآورد. UIQ3 تازهترين نگارش اين پلتفرم است.
پلتفرمهاي مختلفي براساس سيمبيان طراحي شده است كه شامل پلتفرمهاي باز مانند UIQ ،Nokia سري شصت، هفتاد و نود، و پلتفرمهاي بسته مانند NTT DoCoMo هستند. انعطافپذيري اين سيستمعامل به آن امكان ميدهد روي انواع گستردهاي از تجهيزات موبايل پيادهسازي شود. بزرگترين ويژگي اين سيستمعامل، طراحي آن براي تجهيزات كوچك دستي با منابع محدود است كه مي تواند ماهها و سالها روي آن اجرا شود.
به علت محدود بودن منابع حافظه در چنين تجهيزاتي، از روشهاي مختلفي براي استفاده بهينه از آنها استفاده شده است. برنامهنويسي سيمبيان، رويدادگرا (event-based) است و CPU زماني كه برنامههاي كاربردي مستقيماً با يك رويداد ارتباطي نداشته باشند، خاموش ميشود. به اين نوع برنامهنويسي، active objects گفته ميشود. چنانچه از اين روشها به خوبي استفاده شود، مدت كاركرد باتري نيز افزايش پيدا مي كند. به همين علت براي دستيابي به اين ويژگيها از زبان ++C براي برنامهنويسي و توسعه اين سيستمعامل استفاده شده است؛ هر چند بسياري از تجهيزات با پلتفرم سيمبيان ميتوانند بهوسيله زبانهاي ديگري چون PL ،Python، ويژوال بيسيك،Simkin و Perl نيز برنامهنويسي شوند.
سيمبيان نيز از حمله ويروسهاي مختلف دور نمانده و به علت كاربرد گسترده آن، سوژه ويروسنويسان شده است. معمولاً اين ويروسها خود را از طريق بلوتوث منتقل ميكنند. ولي اين ويروسها نه با استفاده از ضعفهاي امنيتي سيمبيان، بلكه با استفاده از روشهايي مانند پرسش از كاربر براي نصب يك نرمافزار كه بيشتر با يك هشدار براي لزوم نصب آن همراه است، خود را به سيستم كاربر منتقل مي كنند.
یک DVD ویندوز ویستا دارای بیش از 19500 درایور سخت افزاری است ( اخبار جدید )
... و در هر بروز رسانی بر این تعداد درایور افزوده می شود. شاید به همین دلیل حجم ویندوز ویستا 2 گیگابایت شده است!
آیا تاکنون برای شما پیش آمده که بدنبال درایور قطعه سخت افزاری خود باشید و آرزو کنید که ویندوز بصورت پیش فرض دارای این درایور بود و یا آنکه سرویس بروز رسانی مایکروسات می توانست درایور مورد نظر را برای شما فراهم سازد؟!
با استفاده از سیستم عامل ویندوز ویستا نه تنها این امکان برای کاربران فراهم شده است بلکه لیست دایور های قابل پشتیبانی با گذشت زمان از این تعداد نیز بیشتر خواهند شد.
مهندس و مدیر ارشد کمپانی مایکروسافت "Jim Allchin" که در بخش توسعه سیستم عامل ویندوز ویستا نیز فعالیت می کند با تائید این مطلب می افزاید، ویندوز ویستا بیش از هر ویندوز دیگری دارای قابلیت پشتیبانی از درایورهای سخت افزاری خواهد بود.
در حالیکه کاربران کامپیوتر همواره مشتاق آن هستند تا با مراجعه به سایت سازندگان قطعات سخت افزاری نسبت به دریافت جدیدترین درایور ها اقدام نمایند، فراهم آوردن هزاران درایور جدید و سازگار با سیستم عامل ویندوز ویستا توسط مایکروسافت در شبکه بروز رسانی این شرکت، کار را برای استفاده کنندگان بسیار آسان تر خواهد نمود.
"Jim Allchin" می گوید از زمانی که ویندوز ویستا به صورت نسخه نهایی (RTM) آماده شده، تاکنون نزدیک به 11700درایور جمع آوری شده است بگونه ای که ویندوز به محض نصب یک قطعه سخت افزاری جدید بر روی سیستم آنرا تشخیص می دهد و گزینه های مختلف را برای کاربر به نمایش می گذارد تا او بهترین درایور را انتخاب و نصب نماید.
البته بهترین روش آن است که شما ابتدا درایوری را که به همراه قطعه سخت افزاری خریداری شده در یک CD دریافت کرده اید نصب نمایید و پس از آن در صورت ارائه نگارش جدیدتر درایور، آنرا از طریق مایکروسافت دریافت کنید.
جيتكس 2006 / مايكروسافت عرضه ويندوز ويستا و آفيس 2007 را جشن گرفت ( اخبار جدید )
شركت مايكروسافت با معرفي سه نرمافزار جديد، سيستمعامل ويندوز ويستا، مجموعه آفيس 2007 و نرمافزار Exchange Server 2007 ، براي اولين بار در خاورميانه اين محصولات را رسما در معرض ديد عموم قرار داد.نسخههاي جديد اين نرمافزارها به دو زبان عربي و انگليسي عرضه و معرفي ميشوند.
مايكروسافت در حالي به معرفي تازهترين محصولات خود در جيتكس ميپردازد كه هفته گذشته اولين نسخه نهايي ويندوز ويستا رسما براي سازندگان كامپيوترهاي شخصي و ديگر فروشندگان عمده سيستمهاي كامپيوتري ارسال شد.قرار است توزيع عمومي ويندوز ويستا در خرده فروشيهاي سراسر دنيا همزمان با ايام خريدهاي كريسمس و شروع سال ميلادي 2007 آغاز شود.
از هنگام آغاز به كار نمايشگاه جيتكس 2006 جمعيت بسياري از بازديدكنندگان سالن شركتهاي نرمافزاري اين نمايشگاه براي مشاهده نسخه نهايي ويندوز ويستا و آفيس 2007 در اطراف غرفه مايكروسافت مشاهده ميشوند.
علي فراماوي، نائب رئيس نمايندگي مايكروسافت در اروپا، خاورميانه و آفريقا، در گفتگو با رسانه ITP مدعي شد "هركس كه از نزديك كار با ويندوز ويستا را لمس كند، برگشتن به نسخههاي قبلي ويندوز برايش دشوار خواهد بود" به گزارش ITP ، هماكنون چندين مشتري عمدي مايكروسافت در منطقه، از جمله هتل برجالعرب در دوبي، با همكاري مايكروسافت، اين نرمافزارهاي جديد را نصب و آماده بهرهبرداري كردهاند.
نظر یادتون نره . . . نظر یادتون نره
مامبو 4.6.1 فارسي منتشر شد ( معرفی و دانلود نرم افزار )
نسخه 4.6.1P فارسی نسبت به نسخه 4.6.1 انگلیسی تفاوت ها و مزیتهای زیادی دارد كه در ادامه به بعضی از این موارد اشاره میكنیم :
- حل باگ در لاگین ( برای حل این مشكل هنوز از طرف Mambo Foundation هیچ Patchی منتشر نشده - اما در نسخه فارسی این مشكل حل شده )
- حل باگ در كامنت ( برای حل این مشكل هنوز از طرف Mambo Foundation هیچ Patchی منتشر نشده - اما در نسخه فارسی این مشكل حل شده )
- تقویم شمسی در ارسال مطالب برای اولین بار بین CMS های مشابه
- حل كامل مشكل آرشیو و شمسی شدن تمام تاریخ ها
- حل مشكل prefix پیشفرض
- استفاده از ادیتور MOStlyCE_2.0 به صورت پیشفرض در نسخه 4.6.1P فارسی (این نسخه ادیتور در ورژن 4.6.2 انگلیسی قرار خواهد گرفت )
- قالب مدیریت
- قالب كاربری
- حل مشكل در كامپوننتهای Contact , Categories , Search
- حل مشكل تابع rotate
و ...
برای این نسخه تیم مامبولرن زحمت زیادی كشیده و بزرگترین هدف ما این بوده كه سیستم مدیریت محتوای فارسی قدرتمند و انعطاف پذیری در شان كاربران فارسی زبان منتشر كنیم .
این نسخه بر خلاف نسخه قبل كاملا به صورت كد باز منتشر شده است .
منو از نظرای خوبتون بی نصیب نکنین . . .
حمله ویروس ها به فایلهای چند رسانه ای ( اخبار جدید )
شرکت امنیتی مک آفی در روز سه شنبه خبر از حمله کرم جدید اینترنتی داد که فایل های Real Media را آلوده می سازد. فایل آلوده به هیچ عنوان دارای کد مخرب نمی باشد ، بلکه دارای یک لینک اضافی است که قربانی را به سایتی مخرب، هدایت می کند.
زمانی که قربانی فایل آلوده را باز نماید بلافاصله به یک وب سایت مخرب هدایت می شود که این وب سایت می تواند از آسیب پذیری در Internet Explorer استفاده نماید.
مدیر ارشد ضد ویروس McAfee در این مورد می گوید: "استفاده از این نمونه تکنیک اشکالات زیادی را نیز برخوردار می باشد اما با این وجود می تواند انتظارات حمله ور را برآورده کند."
تعداد قابل توجهی از مردم به امنیت فایل های تصویری اعتنا نمی کنند در حالی که در مورد فایل هایOffice Document و یا Screensaverها هوشیار می باشند.
"Val Smith" بنیان گذار OffensiveComputing.net می گوید: "من فکر می کنم که به دلیل حجم بالای فایلهای ویدیوئی کاربران بیشتر علاقه دارند که فایل های رسانه ای را اجرا نمایند تا اینکه آنها را ارسال نمایند و همینطور ویروس نویسان نیز بدنبال فایل های کم حجم تر هستند."
افزایش محبوبیت دانلود فایل های رسانه ای باعث شده است تا ویروس نویسان و هکرها به تکنیک های مخرب استفاده از این فایل ها روی بیاورند. بطوریکه بتازگی گوگل با خرید YouTube این معادله را ثابت می کند که فایل های رسانه ای محبوبیت بیشتری در اینترنت پیدا کرده اند و بطور حتم بزودی هدف ابزارهای مخرب قرار خواهند گرفت.
سال گذشته کرمی اینترنتی با نام Samy با استفاده از برنامه نویسی JavaScript و AJAX توانست توسط سایت Myspace.com خود را منتشر کند و یک میلیون پروفایل را آلوده سازد. و اکنون کارشناسان امنیتی بر این باور هستند که سایت هایی مانند YouTube.com نیز می توانند مورد هدف قرار گیرند.
گوگل در گزارشی که به سایت SecurityFocus فرستاده است می نویسد: "ما فرایندهایی را انجام خواهیم داد تا بتوانیم ایجاد چنین حملاتی را سخت تر کنیم. ما بطور محکم کار خواهیم کرد تا از کسانی که می خواهند با استفاده از سرویس ما ابزار مخرب منتشر کنند جلوگیری کنیم."
منیع : Winbeta.net
i - RAM ( سخت افزار )
i - RAM
One idea, although hardly new, is to create a solid-state drive with no moving parts whatsoever. Past attempts, such as Cenatek's RocketDrive, have been very costly and as a result have not found much acceptance in the retail market. The optimal result is to achieve the right price vs. capacity ratio; a drive large enough to install files or applications to that won't cost much more than the rest of the system's individual components. What we've received from Gigabyte may just fulfill those requirements. The i-RAM, or GC-RAMDISK as it is officially known, is a single PCI card that has support for up to 4GB of memory, using nothing more than standard DDR DIMMS, regardless of their respective speeds. Recognized as an ordinary drive by the system, it's a simple, straightforward approach at increased drive performance. Let's find out if this drive is "i"-RAM tough, or just a sheep in wolves's clothing.
یک ایده جدید ، هر چند سخت (شاید منظور این باشد : به شدت نوگرایانه) ، ساخت یک درایو حافظه از جنس نیمه هادی ها برای ذخیره اطلاعات بدون داشتن هیچ قسمت متحرکی است.تلاشهای گذشته همانند Cenatek’s Rocket Drive یا درایوهای سریع Cenatek خیلی پرهزینه بودند و لذا مورد پذیرش(مقبولیت) بازار قرار نگرفتند .
در اصل نتیجه مطلوب دارای نسبت مستقیم با بهای پرداختی و حجم (یا ظرفیت) ذخیره سازی است ، یک درایو که به حدی پر حجم باشد که قابلیت ذخیره فایل ها یا نصب نرم افزار ها را داشته باشد نباید بهای خیلی بیشتری از (گران تر از) سایر اجزای منحصر به فرد سیستم (منظور همان رایانه مورد استفاده است) ، داشته باشد .
i-RAM یا وسیله ای که ما آنرا GC-RAMDISK می شناسیم یک کارت PCI است که توانایی پشتیبانی تا 4 گیگابایت ظرفیت حافظه را دارد ، که در آن چیزی خارج از استاندارد کارتهای حافظه ی DDR-DIMMS بدون توجه به سرعت کارتهای حافظه مورد نیاز، استفاده نمی شود .(نمی توان استفاده کرد .) ( البته به نظر میرسد منظور از این چند خط اخیر نشان دادن راحتی و مقرون به صرفه بودن استفاده از این نوع فناوری است .)
از قابلیت های این قطعه ، تشخیص آن توسط سیستم به عنوان یک درایو حافظه ( همانند درایو های هارد دیسک) است .
استفاده از این قطعه یک راه ساده و صریح برای افزایش عملکرد سایر درایوهاست.
پس اجازه دهید پی ببریم که آیا این درایو بادوام همان i-RAM است یا بره ای در لباس گرگ .
"در پایان لازم به ذکر است در بعضی از قسمت ها برای درک بهتر موضوع ، با رعایت امانتداری و بدون دخل و تصرف در اصل موضوع ، تغییرات کوچکی در ترجمه داده شده است . "
ترجمه : top7news
ارایه ها در جاوا ( آموزشی )
آرايه ها
يك آرايه گروهي از متغيرهاي يك نوع است كه با يك نام مشترك به آنها ارجاع
مي شود . مي توان آرايه ها را براي هر يك از انواع ايجاد نمود و ممكن است اين
آرايه ها داراي يك يا چندين بعد باشند . براي دسترسي به يك عضو آرايه از نمايه
(index) آن آرايه استفاده مي شود . آرايه ها يك وسيله مناسب براي گروه بندي
اطلاعات مرتبط با هم هستند
نكته : اگر با Cو C++و آشنايي داريد ، آگاه باشيد . آرايه ها در جاوا بطور
متفاوتي نسبت به زبانهاي ديگر كار مي كنند
آرايه هاي يك بعدي
آرايه يك بعدي بطور ضروري فهرستي از متغيرهاي يكنوع است . براي ايجاد يك
آرايه ، بايد يك متغير آرايه از نوع مورد نظرتان ايجاد كنيد . فرم عمومي اعلان
يك آرايه يك بعدي بقرار زير است :
type var-name [ ];
نام متغير نوع
در اينجا type اعلان كننده نوع اصلي آرايه است . نوع اصلي تعيين كننده نوع
داده براي هر يك از اعضائ داخل در آرايه است . بنابراين ، نوع اصلي آرايه تعيين
مي كند كه آرايه چه نوعي از داده را نگهداري مي كند . بعنوان مثال ، در زير
يك آرايه با نام month-days با نوع آرايه اي از عدد صحيح اعلان شده است .
+ int month_days[ ];
اگر چه اين اعلان تثبيت مي كند كه month-days يك متغير آرايه است ، اما بطور
واقعي آرايه اي وجود ندارد . در حقيقت ، مقدار month-days برابر تهي (null)
مي باشد كه يك آرايه بدون مقدار را معرفي مي كند . براي پيوند دادن month-days
با يك آرايه واقعي و فيزيكي از اعداد صحيح ، بايد از يك عملگر new استفاده
نموده و به month-days منتسب كنيد. new يك عملگراست كه حافظه را اختصاص ميدهد. بعداnew " را با دقت بيشتري بررسي مي كنيم ، اما لازم است كه هم اكنون از آن
استفاده نموده و حافظه را براي آرايه ها تخصيص دهيد . فرم عمومي new آنگونه كه
براي آرايه هاي يك بعدي بكار مي رود بقرار زير ظاهر خواهد شد :
array-var=new type [size];
اندازه نوع متغير آرايه
در اينجا type مشخص كننده نوع داده اي است كه تخصيص داده مي شود، size مشخص كننده تعداد اعضائ آرايه است و array-var متغير آرايه است كه به آرايه پيوند مي يابد . يعني براي استفاده از new در تخصيص يك آرايه ، بايد نوع و تعداد
اعضايي كه تخصيص مي يابند را مشخص نماييد . اعضائ آرايه كه توسط new تخصيص مي يابند بطور خودكار با مقدار صفر مقدار دهي اوليه مي شوند . اين مثال يك
آرايه 12 عضوي از اعداد صحيح را تخصيص داده و آنها را به month-days پيوند
مي دهد .
+ month_days = new int[12];
بعد از اجراي اين دستور ، month-days به يك آرايه 12 تايي از اعداد صحيح
ارجاع خواهد نمود . بعلاوه كليه اجزائ در آرايه با عدد صفر مقدار دهي اوليه
خواهند شد .اجازه دهيد مرور كنيم : بدست آوردن يك آرايه مستلزم پردازش دو مرحله اي است.اول بايد يك متغير با نوع آرايه مورد نظرتان اعلان كنيد . دوم بايد حافظه اي كه
آرايه را نگهداري مي كند ، با استفاده از new تخصيص دهيد و آن را به متغير
آرايه نسبت دهيد . بنابراين در جاوا كليه آرايه ها بطور پويا تخصيص مي يابند .
اگر مفهوم تخصيص پويا براي شما ناآشناست نگران نباشيد . اين مفهوم را بعدا"
تشريح خواهيم كرد .
هر بار كه يك آرايه را تخصيص مي دهيد ، مي توانيد بوسيله مشخص نمودن نمايه
آن داخل كروشه [ ] به يك عضو مشخص در آرايه دسترسي پيدا كنيد . كليه نمايه هاي
آرايه ها با عدد صفر شروع مي شوند. بعنوان مثال اين دستور مقدار 28 را به دومين
عضو month-days نسبت مي دهد .
+ month_days[1] = 28;
خط بعدي مقدار ذخيره شده در نمايه 3 را نمايش مي دهد .
+ System.out.println(month_days[3]);
با كنار هم قرار دادن كليه قطعات ، در اينجا برنامه اي خواهيم داشت كه يك
آرايه براي تعداد روزهاي هر ماه ايجاد مي كند .
+ // Demonstrate a one-dimensional array.
+ class Array {
+ public static void main(String args[] ){
+ int month_days[ ];
+ month_days = new int[12];
+ month_days [0] = 31;
+ month_days [1] = 28;
+ month_days [2] = 31;
+ month_days [3] = 30;
+ month_days [4] = 31;
+ month_days [5] = 30;
+ month_days [6] = 31;
+ month_days [7] = 31;
+ month_days [8] = 30;
+ month_days [9] = 31;
+ month_days [10] = 30;
+ month_days [11] = 31;
+ System.out.println("April has " + month_days[3] + " days .");
+ }
+ }
وقتي اين برنامه را اجرا ميكنيد ، برنامه ، تعداد روزهاي ماه آوريل را چاپ
ميكند. همانطوريكه ذكر شد، نمايه هاي آرايه جاوا با صفر شروع مي شوند، بنابراين
تعداد روزهاي ماه آوريل در month-days[3] برابر 30 مي باشد .
اين امكان وجود دارد كه اعلان متغير آرايه را با تخصيص خود آرايه بصورت زير
تركيب نمود
: + int month_days[ ] = new int[12]
اين همان روشي است كه معمولا" در برنامه هاي حرفه اي نوشته شده با جاوا مشاهده
مي كنيد.مي توان آرايه ها را زمان اعلانشان ، مقدار دهي اوليه نمود . پردازش آن بسيار
مشابه پردازشي است كه براي مقدار دهي اوليه انواع ساده استفاده مي شود . يك
مقدار ده اوليه آرايه فهرستي از عبارات جدا شده بوسيله كاما و محصور شده بين
ابروهاي باز و بسته مي باشد . كاماها مقادير اجزائ آرايه را از يكديگر جدا
مي كنند . آرايه بطور خودكار آنقدر بزرگ ايجاد مي شود تا بتواند ارقام اجزايي
را كه در مقدار ده اوليه آرايه مشخص كرده ايد ، دربرگيرد . نيازي به استفاده از new
وجود ندارد . بعنوان مثال ، براي ذخيره نمودن تعداد روزهاي هر ماه ، كد
بعدي يك آرايه مقدار دهي اوليه شده از اعداد صحيح را بوجود مي آورد :
+ // An improved version of the previous program.
+ class AutoArray {
+ public static void main(String args[] ){
+ int month_days[ ] = { 31/ 28/ 31/ 30/ 31/ 30/ 31/ 31/ 30/ 31/ 30/ 31 };
+ System.out.println("April has " + month_days[3] + " days .");
+ }
+ }
وقتي اين برنامه را اجرا كنيد ، همان خروجي برنامه قبلي را خواهيد ديد .
جاوا بشدت كنترل مي كند تا مطمئن شود كه بطور تصادفي تلاشي براي ذخيره نمودن
يا ارجاع مقاديري خارج از دامنه آرايه انجام ندهيد . سيستم حين اجراي جاوا
كنترل مي كند كه كليه نمايه هاي آرايه ها در دامنه صحيح قرار داشته باشند . ( از
اين نظر جاوا كاملا"با Cاو C++و متفاوت است كه هيچ كنترل محدوده اي در حين اجرا
انجام نمي دهند . ) بعنوان مثال ، سيستم حين اجرا ، مقدار هر يك از نمايه ها به month-days را كنترل مي كند تا مطمئن شود كه بين ارقام 0 و 11 داخل قرار داشته
باشند . اگر تلاش كنيد تا به اجزائ خارج از دامنه آرايه ( اعداد منفي يا اعدادي
بزرگتر از طول آرايه ) دسترسي يابيد، يك خطاي حين اجرا (run-time error) توليد
خواهد شد.در زير يك مثال پيچيده تر مشاهده مي كنيد كه از يك آرايه يك بعدي استفاده
مي كند . اين برنامه ميانگين يك مجموعه از ارقام را بدست مي آورد .
+ // Average an array of values.
+ class Average {
+ public static void main(String args[ ] ){
+ double nums[ ] = {10.1/ 11.2/ 12.3/ 13.4/ 14.5};
+ double result = 0;
+ int i;
+
+ for(i=0; i<5; i++)
+ result = result + nums[i];
+
+ System.out.println("Average is " + result / 5);
+ }
+ }
آرايه هاي چند بعدي
در جاوا آرايه هاي چند بعدي در واقع آرايه اي از آرايه ها هستند . اين قضيه
همانطوريكه انتظار داريد ظاهر و عملكردي مشابه آرايه هاي چندبعدي منظم (regular)
دارد . اما خواهيد ديد كه تاوتهاي ظريفي هم وجود دارند . براي اعلان يك متغير
آرايه چند بعدي ، با استفاده از مجموعه ديگري از كروشه ها هر يك از نمايه هاي
اضافي را مشخص مي كنيد. بعنوان مثال ، عبارت زيرر يك متغير آرايه دو بعدي بنام twoD را اعلان مي كند .
+ int twoD[ ][ ] = new int[4][5];
اين عبارت يك آرايه 4در 5ر را تخصيص داده و آن را به twoD نسبت مي دهد . از
نظر داخلي اين ماتريس بعنوان يك آرايه از آرايه نوع int پياده سازي خواهد شد .
بطور فرضي ، اين آرايه را مي توان بصورت شكل زير نمايش داد .
Right index determines column.
|| || || || ||
\/ \/ \/ \/ \/
|
| [0][4] | [0][3] | [0][2] | [0][1] | [0][0] >
|
| |
| [1][4] | [1][3] | [1][2] | [1][1] | [1][0] >
Left index
determines |
| [2][4] | [2][3] | [2][2] | [2][1] | [2][0] .> row
|
| |
| [3][4] | [3][3] | [3][2] | [3][1] | [3][0] >
Given :int twoD[][] = new int [4][5];
برنامه بعدي هر عضو آرايه را از چپ به راست ، و از بالا به پايين شماره داده
و سپس مقادير آنها را نمايش مي دهد :
+ // Demonstrate a two-dimensional array.
+ class TwoDArray {
+ public static void main(String args[] ){
+ int twoD[][] = new int[4][5];
+ int i/ j/ k = 0;
+
+ for(i=0; i<4; i++)
+ for(j=0; j<5; j++ ){
+ twoD[i][j] = k;
+ k++;
+
+ }
+
+ for(i=0; i<4; i++ ){
+ for(j=0; j<5; j++)
+ System.out.print(twoD[i][j] + " ");
+ System.out.println)(;
+ }
+ }
+ }
خروجي اين برنامه بقرار زير خواهد بود : 0 1 2 3 4
5 6 7 8 9
10 11 12 13 14
15 16 17 18 19
هنگام تخصيص حافظه به يك آرايه چند بعدي ، كافي است فقط حافظه براي اولين
بعد را مشخص نماييد . مي توانيد ابعاد ديگر را جداگانه تخصيص دهيد . بعنوان
مثال ، كد زير حافظه اولين بعد twoD را هنگام اعلان آن تخصيص مي دهد . اين كد
حافظه دومين بعد را بصورت دستي اختصاص مي دهد .
+ int twoD[ ][ ] = new int[4][ ];
+ twoD[0] = new int[5];
+ twoD[1] = new int[5];
+ twoD[2] = new int[5];
+ twoD[3] = new int[5];
اگرچه در اين حالت اختصاص انفرادي حافظه به دومين بعد هيچ مزيتي ندارد، اما
احتمال چنين مزيتهايي وجود دارد . بعنوان مثال ، هنگاميكه ابعاد را بصورت دستي
اختصاص مي دهيد ، نيازي نيست كه همان ارقام براي اجزائ هر بعد را تخصيص دهيد .
همانطوريكه قبلا" گفتيم ، از آنجاييكه آرايه هاي چند بعدي واقعا" آرايه اي از
آرايه ها هستند ، طول هر يك از آرايه ها تحت كنترل شما قرار مي گيرند . بعنوان
مثال ، برنامه بعدي يك آرايه دو بعدي ايجاد مي كند كه در آن اندازه هاي دومين
بعد نامساوي هستند .
+ // Manually allocate differing size second dimension.
+ class TwoDAgain {
+ public static void main(String args[ ] ){
+
+
+ int twoD[ ][ ] = new int[4][ ];
+ twoD[0] = new int[1];
+ twoD[1] = new int[2];
+ twoD[2] = new int[3];
+ twoD[3] = new int[4];
+
+ int i/ j/ k = 0;
+
+ for(i=0; i<4; i++)
+ for(j=0; j
+ towD[i][j] = k;
+ k++;
+ }
+
+ for(i=0; i<4; i++ ){
+ for(j=0; j
+ System.out.print(twoD[i][j] + " ");
+ System.out.println)(;
+ }
+ }
+ }
خروجي اين برنامه بقرار زير مي باشد : 0
1 2
3 4 5
6 7 8 9
آرايه اي كه توسط اين برنامه ايجاد مي شود ، بصورت زير خواهد بود :
| [0][0] |
| [1][0] | [1][1] |
| [2][0] | [2][1] | [2][2] |
| [3][0] | [3][1] | [3][2] | [3][3] |
از آرايه هاي چند بعدي ناجور ( يا نامنظم ) در اكثر برنامه ها استفاده نميشود
زيرا برخلاف آنچه مردم هنگام مواجه شدن با يك آرايه چند بعدي انتظار دارند
رفتار مي كنند . اما اين آرايه ها در برخي شرايط بسيار كارا هستند . بعنوان
مثال ، اگر نياز به يك آرايه دو بعدي خيلي بزرگ داريد كه داراي تجمع پراكنده
باشد ( يعني كه يكي و نه همه اجزائ آن مورد استفاده قرار مي گيرند ) ، آنگاه
آرايه بي قاعده احتمالا" يك راه حل كامل خواهد بود .
اين امكان وجود دارد كه آرايه هاي چند بعدي را مقدار دهي اوليه نمود . براي
اينكار ، فقط كافي است هر يك از مقدار ده اوليه ابعاد را داخل مجموعه ابروهاي
ختص خودش قرار دهيد . برنامه بعدي يك ماتريس ايجاد مي كند كه هر يك از اجزائ
آن شامل حاصلضرب نمايه هاي سطرها و ستونها هستند. همچنين دقت نماييد كه مي توان از عبارات همچون مقادير لفظي داخل مقدار ده اوليه آرايه استفاده نمود .
+ // Initialize a two-dimensional array.
+ class Matrix {
+ public static void main(String args[] ){
+ double m[][] = {
+ { 0*0/ 1*0/ 2*0/ 3*0 };
+ { 0*1/ 1*1/ 2*1/ 3*1 };
+ { 0*2/ 1*2/ 2*2/ 3*2 };
+ { 0*3/ 1*3/ 2*3/ 3*3 };
+ };
+ int i/ j;
+
+ for(i=0; i<4; i++ ){
+ for(j=0 j<4; j++)
+ System.out.print(m[i][j] + " ");
+ System.out.println)(;
+ }
+ }
+ }
پس از اجراي اين برنامه ، خروجي آن بقرار زير خواهد بود : 0 0 0 0
0 1 2 3
0 2 4 6
0 3 6 9
همانطوريكه مشاهده مي كنيد، هر سطر در آرايه همانگونه كه در فهرستهاي مقدار
دهي اوليه مشخص شده ، مقدار دهي اوليه شده است .
مثالهاي بيشتري درباره استفاده از آرايه چند بعدي بررسي مي كنيم . برنامه
بعدي يك آرايه سه بعدي 3x4x5 ايجاد مي كند . سپس حاصل نمايه هاي مربوطه را براي هر عضو بارگذاري مي كند . در نهايت اين حاصل ها را نمايش خواهد داد :
+ // Demonstrate a three-dimensional array.
+ class threeDDatrix {
+ public static void main(String args[] ){
+ int threeD[ ][ ][ ] = new int[3][4][5];
+ int i/ j/ k;
+ for(i=0; i<3; i++)
+ for(j=0; j<4; j++)
+ for(k=0; k<5; k++)
+ threeD[i][j][k] = i * j * k;
+
+ for(i=0; i<3; i++ ){
+ for(j=0; j<4; j++ ){
+ for(k=0; k<5; k++)
+ System.out.print(threeD[i][j][k] + " ");
+ System.out.println)(;
+ }
+ System.out.println)(;
+ }
+ }
+ }
خروجي اين برنامه بقرار زير خواهد بود : 0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 1 2 3 4
0 2 4 6 8
0 3 6 9 12
0 0 0 0 0
0 2 4 6 8
0 4 8 12 16
0 6 12 18 24
دستور زبان جايگزين اعلان آرايه
يك شكل دوم براي اعلان يك آرايه بصورت زير وجود دارد :
type [ ] var-name;
نام متغير نوع
در اينجا كروشه ها بعداز مشخص كننده نوع مي آيند نه بعداز نام متغير آرايه .
بعنوان مثال دو شكل اعلان زير يكسان عمل مي كنند :
+ int a1[ ] = new int[3];
+ int[ ] a2 = new int[3];
دو شكل اعلان زير هم يكسان عمل مي كنند :
+ char twod1[ ][ ] = n
آرايه هاي دوباره ملاقات شده Arrays Revisited
آرايه ها بعنوان اشيائ پياده سازي مي شوند . بهمين دليل ، يك خصلت ويژه وجود
دارد كه مي توانيد از مزيت آن استفاده نماييد . بطور اخص ، اندازه يك آرايه
يعني تعداد اعضايي كه يك آرايه ميتواند نگهداري نمايد را مي توان در متغير
نمونه length پيدا نمود . كليه آرايه ها اين متغير را دارند، و اين متغير هميشه
اندازه آرايه را نگهداري مي كند. در اينجا برنامه اي وجود دارد كه اين خاصيت را
نشان مي دهد :
+ // This program demonstrates the length array member.
+ class Length {
+ public static void main(String args[ ] ){
+ int a1[ ] = new int [10];
+ int a2[ ] = {3/ 5/ 7/ 1/ 8/ 99/ 44/- 10};
+ int a3[ ] = {4/ 3/ 2/ 1};
+
+ System.out.println("length of a1 is " + a1.length);
+ System.out.println("length of a2 is " + a2.length);
+ System.out.println("length of a3 is " + a3.length);
خروجي اين برنامه بقرار زير مي باشد :
length of a1 is 10
length of a2 is 8
length of a3 is 4
همانطوريكه مي بينيد ، اندازه هر يك از آرايه ها بنمايش درآمده است . بياد
بسپاريد كه مقدار length كاري با تعداد اعضايي كه واقعا" مورد استفاده قرار
گرفته اند، نخواهد داشت . اين مقدار فقط منعكس كننده تعداد اعضايي است كه آرايه
براي نگهداري آن طراحي شده است .
در بسياري از شرايط مي توانيد عضو length را در معرض كاربردهاي مناسب قرار
دهيد . بعنوان مثال ، يك روايت توسعه يافته از كلاس stack را در اينجا مشاهده
مي كنيد. احتمالا" بياد داريد كه روايتهاي اوليه اين كلاس هميشه يك پشته ده عضوي
ايجاد مي كرد . روايت بعدي همين برنامه ، به شما امكان ايجاد پشته هايي به هر
اندازه دلخواه را مي دهد . از مقدار stck.length براي ممانعت از وقوع سرريزي
پشته استفاده شده است .
+ // Improved Stack class that uses the length array member.
+ class Stack {
+ private int stck[ ];
+ private int tos;
+
+ // allocate and initialize stack
+ Stack(int size ){
+ stck = new int[size];
+ tos =- 1;
+ }
+
+ // Push an item onto the stack
+ void push(int item ){
+ if(tos==stck.length-1 )// use length member
+ System.out.println("Stack is full.");
+ else
+ stck[++tos] = item;
+ }
+
+ // Pop an item from the stack
+ int pop )({
+ if(tos < 0 ){
+ System.out.println("Stack underflow.");
+ return 0;
+ }
+ else
+ return stck[tos--];
+ }
+ }
+
+ class TestStack2 {
+ public static void main(String args[ ] ){
+ Stack mystack1 = new Stack(5);
+ Stack mystack2 = new Stack(8);
+
+ // push some numbers onto the stack
+ for(int i=0; i<5; i++ )mystack1.push(i);
+ for(int i=0; i<5; i++ )mystack2.push(i);
+
+ // pop those numbers off the stack
+ System.out.println("Stack in mystack1:");
+ for(int i=0; i<5; i++)
+ System.out.println(mystack1.pop))(;
+
+ System.out.println("Stack in mystack2:");
+ for(int i=0; i<8; i++)
+ System.out.println(mystack2.pop))(;
+ }
+ }
دقت كنيد كه برنامه فوق دو پشته ايجاد مي كند : يكي با عمق پنج عضو ، و
ديگري با عمق هشت عضو . همانطوريكه مي بينيد ، اين حقيقت كه آرايه ها اطلاعات length خودشان را نگهداري مي كنند ، ايجاد پشته هايي به اندازه دلخواه را آسان می کند.
ارتقائ خودكار انواع در عبارات Automatic Type promotion in Expressions
علاوه بر انتسابها ، در شرايط ديگري هم تبديلات خاص انواع ممكن است اتفاق
بيفتد : در عبارات . حالتي را در نظر بگيريد كه در يك عبارت ، ميزان دقت لازم
براي يك مقدار واسطه گاهي از دامنه هر يك از عملوندهاي خود تجاوز مي نمايد .
بعنوان مثال ، عبارت زير را در نظر بگيريد :
+ byte a = 40;
+ byte b = 50;
+ byte c = 100;
+ int d = a * b / c;
نتيجه قلم واسطه a*b از دامنه هر يك از عملوندهاي byte خود تجاوز مي نمايد.
براي اداره اين نوع مشكلات ، جاوا بطور خودكار هر يك از عملوندهاي byteو shortو
را هنگام ارزشيابي يك عبارت به int ارتقائ مي دهد . اين بدان معني است كه زير
عبارت a*b با استفاده از اعداد صحيح و نه byte اجرا مي شود. بنابراين عدد 2000
نتيجه عبارت واسطه 50*40 مجاز است ، اگر چه aو bو هر دو بعنوان نوع byte مشخص شده اند .همانقدر كه ارتقائ خودكار مفيداست ، مي تواند سبب بروز خطاهاي زمان كامپايل (compile-time) گردد . بعنوان مثال ، اين كد بظاهر صحيح يك مشكل را بوجود مي آورد .
+ byte b = 50;
+ b = b * 2; // Error! Cannot assign an int to a byte!
اين كد تلاش مي كند تا 50*2 را كه يك مقدار كاملا" معتبر byte است به يك
متغير byte ذخيره كند . اما چون عملوندها بطور خودكار هنگام ارزشيابي عبارت به int
ارتقائ يافته اند ، جواب حاصله نيز به int ارتقائ يافته است . بنابراين
جواب عبارت اكنون از نوع int است كه بدون استفاده از تبديل cast امكان نسبت
دادن آن به يك byte وجود ندارد. اين قضيه صادق است ، درست مثل همين حالت ، حتي اگر مقدار نسبت داده شده همچنان با نوع هدف سازگاري داشته باشد .
در شرايطي كه پيامدهاي سر ريز (overflow) را درك مي كنيد، بايد از يك تبديل
صريح cast نظير مورد زير استفاده نماييد .
+ byte b = 50;
+ b =( byte( )b * 2);
كه مقدار صحيح عدد 100 را بدست مي آورد
قوانين ارتقائ انواع علاوه بر ارتقائ byteو short وبه int جاوا چندين قانون ارتقائ انواع را تعريف كرده كه قابل استفاده در عبارات مي باشند . اين قوانين بصورت زير هستند
اول
اينكه كليه مقادير byteو shortوبه int ارتقائ مي يابند ، همانگونه كه قبلا"
توضيح داده ايم . آنگاه اگر يك عملوند ، long باشد ، كل عبارت به long ارتقائ
مي يابد . اگر يك عملوند float باشد ، كل عبارت به float ارتقائ مي يابد . اگر
هر يك از عملوندها يك double باشند ، حاصل آنها double خواهد شد
برنامه بعدي نشان مي دهد كه چگونه هر يك از مقادير در عبارت ارتقائ مي يابد
تا با آرگومان دوم به هر يك از عملگرهاي دودويي ، مطابقت يابد
+ class Promote {
+ public static void main(String args[ ] ){
+ byte b = 42;
+ char c = 'a';
+ short s = 1024;
+ int i = 50000;
+ float f = 5.67f;
+ double d =. 1234;
+ double result =( f * b )+( i / c( - )d * s);
+ System.out.println((f * b )+ " + " +( i / c )+ " - " +( d * s));
+ System.out.println("result = " + result);
+ }
+ }
اجازه دهيد به ارتقائ انواع كه در اين خط از برنامه اتفاق افتاده ، دقيقتر
نگاه كنيم :
+ double result =( f * b )+( i / c( - )d * s);
در اولين زير عبارت يعني f*b، b، به يك نوع float ارتقائ يافته و جواب زير
عبارت نيز از نوع float خواهد بود . در زير عبارت بعدي يعني i/c، c، به يك نوع int
ارتقائ يافته و جواب آن زير عبارت نيز از نوع int خواهد بود . سپس در زير
عبارت d*s ، مقدار S به نوع double ارتقائ يافته و نوع زير عبارت نيز double
خواهد بود . در نهايت اين سه مقدار واسطه ، float، int،، double، در نظر گرفته
مي شوند . خروجي float بعلاوه int از نوع float خواهد شد . آنگاه اين نتيجه
منهاي آخرين double به نوع double ارتقائ يافته ، كه نوع مربوط به جواب نهايي
مقدمه اي بر سي شارپ : قسمت چهارم ( آموزشی )
آرايه ها در سي شارپ :
هنگامي آرايه ها ايجاد مي شوند كه بخواهيم با مجموعه اي از اطلاعات همجنس كار كنيم. براي نمونه از يك آرايه براي ذخيره تعدادي كاراكتر مي خواهيم استفاده نماييم. آرايه ها هم يك نوع متغير هستند پس بايد تعريف و مقدار دهي اوليه شوند ، نوع و تعداد اعضاي آنها نيز بايد معين گردد.
فرض كنيد 10 داده ي هم جنس داريم ( براي مثال رشته (string) ) و مي خواهيم آنها را ذخيره كنيم. يا مي توان 10 متغير مختلف را تعريف كرد و سپس تك تك آنها را مقدار دهي نمود و يا يك آرايه تعريف نمود و سپس در خانه هاي مختلف آن اين ده عضو را چيد. اين مطلب زماني حائز اهميت مي شود كه داده هاي همجنس و به نوعي مرتبط ما تعداد زيادي داشته باشند.
براي تعريف آرايه چندين راه مختلف وجود دارد :
براي تعريف آرايه ابتدا نوع آنرا مشخص مي كنيد سپس [] را بايد جلوي تعريف نوع بگذاريد اين دستور زبان است و چون چرا ندارد! در زبان سي كمي متفاوت بود. اين كروشه ها بعد از نام متغير مي آمدند. و سپس در اينجا نام يك متغير را كه بعدا به آن ارجا مي دهيم خواهيد گذاشت. براي مثال
Windows Blackcomb ویندوز شانه سیاه : ( معرفی و دانلود نرم افزار )
Date: 21 February 2006
Windows "Vienna” (formerly known as Blackcomb) is Microsoft’s codename for the successor to Microsoft Windows Vista and "Longhorn Server", originally announced in February 2000, but since subject to major Delays and rescheduling.
The code name "Blackcomb" was originally assigned to a version of Windows that was planned to follow Windows XP in both client and Server versions. However, in August 2001, the release of Blackcomb was pushed back several years and
تاریخ انتشار مقاله 21 فوریه 2006
ویندوز ویینا ( Vienna) که بیشتر آنرا با نام تجاری شانه سیاه (Blackcomb) میشناسند ، رمز نام (نام اختصاری) است که مایکروسافت برای جانشین ویندوز ویستا و لانگهورن سرور در فوریه سال 2000 خبرش را داد ، ولی بعد ها به خاطر موضوعات مهمی آنرا به تاّخیر انداخت . نام شانه سیاه در اصل اختصاص به ویندوزی داشت که برنامه ریزی شده بود تا در دو نوع سرویس گیرنده (Clint) و سرویس دهنده (Server) بعد از ویندوز XP بیاید.
هر چند در آگوست سال 2001 پروژه شانه سیاه رها شد و به اجبار چند سال به تاّخیر افتاد و ویندوز ویستا ( که در اصل نام آن همان لانگهورن بود ، که بعد از ادغام پروژه سوت زن( Whistler) و شانه سیاه ، به وجود آمد . ) ، به عنوان واسطی بین ویندوز XP و شانه سیاه ،آگهی انتشارش پخش شد . ( خبر انتشارش پخش شد . ) مدتی بعد از آن وضعیت پروژه شانه سیاه دچار تغییرات ، دگرگونی ها و دستکاری های حرفه ای شد ، سپس محدوده کاری شانه سیاه ( منظور نوع سرویسی که ارائه میدهد ) به طور کامل شروع به کاهش (تغییر) کرد تا اینکه به صورت یک سرویس دهنده (سرور) مجدداّ شروع شود . اما در ژانویه سال 2006 شانه سیاه مجددا به ویینا تغییر نام داد . ویینا همچنان در حال طراحی شدن برای دو وضعیت کلاینت و سرور است و با تخمین زمانی تحویل در سال 2011 . (هر چند تا کنون هیچ آگهی تبلیغاتی عمومی مبنی بر اینکه این زمان را به عنوان زمان تحویل مشخص کند وجود دارد . )
"در پایان لازم به ذکر است که در بعضی از قسمت ها برای درک بهتر موضوع ، با رعایت امانتداری و بدون دخل و تصرف در اصل موضوع ، تغییرات کوچکی در ترجمه داده شده است . "
2006 FIFA World Cup ( موبایل )

۹ سوال و ۹ جواب در مورد پورت IEEE 1394 - سئوال دوم ( آموزشی )
2. IEEE1394 توانايي انجام چه كارهايي را دارا ميباشد؟ IEEE 1394 در ابتدا تنها يك درگاه براي اتصال كامپيوتر به دوربينهاي فيلم برداري ديجيتال براي كاربردهاي ويديويي بود. IEEE1394 همچنين به عنوان يك استاندارد درگاه ديجيتال به وسيلهDigital VCR Conference (DVC) و Digital Video Broadcasters(DVB) در اروپا به عنوان درگاه تلويزيون ديجيتال مورد تاييد قرار گرفته بود. VESA))Video Experts Standards Association نيز اين گذرگاه را به عنوان گذرگاه شبكه هاي خانگي پذيرفته است. اما اين تنها آغاز كار است. تعداد زيادي از توليدات غير ويديويي قبلا" استفاده از IEEE 1394 را در آغاز نموده اند. از جمله اين ابزارها ميتوان به دوربينهاي عكاسي ديجيتال, چاپگرها و اسكنرهاي با سرعت و دقت بالا, هاب هاي شبكه و ابزارهاي جانبي ذخيره سازي اطلاعات اشاره نمود.
مایکروسافت صداهای موجود در ویندوز ویستا را چگونه انتخاب کرده است ( اخبار جدید )
یک گروه موسیقی در مرکز مایکروسافت، به مدت 18 ماه سرگرم ساختن یک آلبوم برای ویندوز ویستا بودند. در نهایت از این آلبوم تنها قطعاتی با مدت زمانی چند ثانیه انتخاب و بکار گرفته شدند.
این قطعات چند ثانیه ای آهنگ، سپس در قسمت های مختلف ویندوز ویستا مورد استفاده قرار می گیرد و یک کاربر عادی ممکن است از لحظه ی شروع ویندوز تا زمان خاموش کردن آن صدها بار این صدا ها بشنود.
به گفته ی "استیو بالمر" برای آنکه این قطعات کوچک موسیقی با یکدیگر همخوانی داشته باشند و هارمونی منظمی را تشکیل دهند مایکروسافت تصمیم گرفت از موسیقی دانی به نام "رابرت فریپ" استفاده نماید.
"فریپ"، به واسطه ی همکاری مستمر با گروههای متعدد موسیقی Rock در دهه 70 میلادی و بخصوص همکاری با گروه "King Crimson" دارای تجربه و شهرت می باشد.
آهنگ: صداهای جدید ویندوز ویستا (نقل از Showbuzz)
آلبوم ماه آگوست MSDN بصورت رایگان قابل دریافت شد ( اخبار جدید )

Symantec AntiVirus Corporate v10.2.224 برای ویندوز ویستا ( معرفی و دانلود نرم افزار )
AVG Free Edition 7.5.430a828 ( معرفی و دانلود نرم افزار )
مقدمه ای بر تکنولوژی DSL - بخش دوم : خطوط تلفن ( شبکه )
خطوط تلفن
خطوط معمولی تلفن از ذوج سیمهای مسی تشکیل شده است. این سیم ها را شرکت ارائه دهنده خدمات تلفن یا همان شرکت مخابرات در منزل شما نصب میکند. این سیمها به صورت ذاتی توانایی حمل داده های بسیار بیشتری را نسبت به آنچه برای انتقال مکالمات تلفنی ساده به آن نیاز است دارا میباشند. این مساله به این معنی است که این خطوط میتوانند یک محدوده وسیع از فرکانسها را که بسیار بیشتر از میزان درخواستی برای انتقال صداست حمل کنند. تکنولوژی DSL از این ظرفیت اضافه برای حمل داده ها بر روی سیم مسی بدون مختل کردن توانایی خطوط تلفن برای حمل مکالمات ساده استفاده مینماید. تمام کاری که DSL انجام میدهد, استفاده از فرکانسهای مختلف و قابل انتقال بر روی خطوط تلفن برای انجام این وظایف ویژه است.
برای درک درست تکنولوژی DSL, شما باید در ابتدا دو نکته مهم را در ارتباط با خطوط معمولی تلفن بدانید. اولین نکته مفهومی است که از طرف متخصصین POTS (یا Plain Old Telephone Service) نامیده میشود. یکی از مهمترین مسائلی که POTS را برای انتقال فرکانسهای مختلف محدود میکند نه سیم ها هستند و نه فاصله. بلکه سوئیچهایی هستند که در سر راه خطوط مخابراتی قرار گرفته اند. تلفن ها و دیگر تجهیزات معمولی تلفن میتوانند صدای انسان را که شامل تنهای صدای معمولی است و بین فرکانس صفر تا 3400 هرتز قرار دارند به راحتی منتقل کنند. این محدوده فرکانسی بسیار کوچک است. برای مثال آن اگر آن را با محدوده فرکانسی مورد استفاده در بلندگو های استریو مقایسه کنید خواهد دید که این بلندگو ها از فرکانسهای بین 20 تا 20000 هرتز که تا 5 برابر بیش از فرکانسهای ذکر شده است استفاده مینمایند. علاوه بر این سیم های مورد استفاده در شبکه تلفن توانایی حمل فرکانس هایی تا چندین میلیون هرتز را دارا میباشند. استفاده از بخشی چنین کوچک از ظرفیتهای سیمهای انتقال در تلفن یک دلیل فنی و شاید تا حدودی تاریخی دارد. به خاطر داشته باشید که استفاده از سیم های زوج مسی در سیستم تلفن به بیش از صد سال قبل و ابتدای تولد تلفن باز میگردد.
با توجه به این موضوع که برای اتصال هر خانه و یا هر شماره به شبکه تلفن باید از یک ذوج سیم مسی از مرکز تا محل مورد نظر استفاده کرد, تعداد سیم های مورد نیاز برای اتصال حجم وسیعی از مشترکان بسیار زیاد خواهد بود. به همین خاطر به وسیله محدود کردن فرکانسها میتوان تعداد بسیار زیادی از سیم ها را درون کابل ها و یا کانالهای کوچک بسته بندی کرد بدون اینکه نگرانی از بابت تداخل میان این سیم ها وجود داشته باشد. اما این محدودیت برای تجهیزات جدیدی (مانند تجهیزات DSL) که داده ها را به صورت دیجیتال و با سرعت بالا بر روی سیمها منتقل میکنند مانع مهمی نخواهد بود و به همین خاطر میتوان از ظرفیت اضافه سیم های تلفن به صورت کاملا مناسب و بدون وجود خطر تداخل استفاده کرد. در حقیقت تکنولوژی DSL نیز همین کار را انجام میدهد.
انواع رايج ADSL
Asymmetrical DSL) (ADSL)) یا DSL نا متقارن:
بیشتر ادارات کوچک و خانه ها توسط ADSL یا DSL نا متقارن به اینترنت متصل هستند. در این نوع از اتصال DSL , فرکانسها بر روی خط تلفن, با فرض اینکه مصرف کنندگان بیشتر به دریافت اطلاعات از اینترنت میپردازند تا به ارسال آن , تقسیم بندی شده است. با توجه به همین فرض معمولا پهنای باند در دسترس مشترکان برای دریافت اطلاعات بین 3 تا 4 برابر پهنای باند آنها برای ارسال اطلاعات است. با استفاده از این شیوه و با توجه به اینکه مصرف کنندگان خانگی و اداری بیشتر به دریافت اطلاعات میپردازند تا به ارسال آن میتوان از پهنای باند موجود به شکل بهینه تری استفاده نمود.
Very high bit-rate DSL)VDSL) یا DSL با پهنای باند بالا:
نوعی از اتصال DSL است که تنها در مسافت های کوتاه قابل اجراست. این امر به این معناست که مشترک یا مصرف کننده حتما باید دارای فاصله اندکی تا سرویس دهنده یا مرکز مخابرات باشد. به علت وجود محدودیت های فیزیکی برای اجرا, و هزینه های بسیار بالا, این سرویس بسیار محدود بوده و تنها توسط مشتریان خاصی مورد استفاده قرار میگیرد.
Symmetric DSL )SDSL) یا DSL متقارن:
این سرویس بیشتر توسط شرکتهای کوچکی که حجم زیادی از اطلاعات را بر روی اینترنت ارسال میکنند مورد استفاده قرار میگیرد. با توجه به متقارن بودن این اتصال, سرعت ارسال و دریافت داده ها در آن یکسان است. اما هنگام استفاده از این سرویس نمیتوانید به طور همزمان از خط تلفن خود برای برقراری تماسهای تلفنی معمولی استفاده کنید.
Rate-Adaptive DSL)RADSL) :
نیز یکی دیگر از نمونه های DSL است که در آن مودم میتواند با توجه به طول خط و کیفیت سیگنال, سرعت اتصال را تنظیم نماید تا جلوی بروز خطا هایی همچون تضعیف بیش از حد سیگنال گرفته شود.
DirectX 10 و اهمیت آن در صنعت کامپیوتر های شخصی ( سخت افزار )
بخش دوم DirectX 10 : Chris نیاز به امکانات مشخصی جهت بهره گیری کامل از سخت افزار گرافیکی سیستم دارد که این امکانات و خصیصه ها تنها در سیستم عامل ویندوز ویستا موجود است. ما یک هدف بزرگ را برای دراختیار گذاشتن تجربه گرافیکی جدید به کاربران در نظر گرفته ایم و همانطور که قبلا گفتم، DirectX 10 کاملا از پایه و بدون استفاده از نسخه های قبلی این واسط گرافیکی ساخته شده است و بنابر این هیچگونه سازگاری با نسخه های قبلی از سیستم عامل ویندوز ندارد. نمای از بازی Crysis بر پایه DirectX 10
BD : به غیر از رشته های کوتاه تر (Shorter Program Strings)، مزیت اصلی Shader Model 4.0 نسبت به نسخه 3.0 آن برای توسعه دهندگان بازی های کامپیوتری چست؟
Shader Model 4.0 : Chris به توسعه دهندکان اینگونه نرم افزار ها اجازه انجام محاسبات پیچیده بیشتری را در تراشه های گرافیکی (GPU) می دهد. این عمل ضمن کاهش بار پردازش از پردازنده سیستم را که باعث عدم بهره گیری از قدرت کامل تراشه گرافیکی می شود، اجازه انجام محاسبات سنگین مربوط به هوش مصنوعی و نیز افزایش تعداد آیتم ها را در صحنه در اختیار توسعه دهندگان قرار خواهد داد.
در عین حال DirectX 10 به همراه Shader Model 4.0 به لطف پشتیبانی از سایه زن های متحد (Unifyed Shaders) انعطاف پذیری و خلاقیت بسیار بیشتری را در اینگونه توسعه دهندگان قرار خواهد داد.
BD : شرکت های ATI و nVIDIA هردو درحال طراحی و ساخت تراشه های گرافیکی سازگار با DX10 هستند. به نظر شما این تراشه های گرافیکی در مقایسه با کنسول های بازی Xbox 360 و PS3 چگونه عمل خواهد کرد؟
Chris : این موضوع و تلااش این دو شرکت در مورد DirectX 10 بسیار هیجان انگیز است. اما بهتر است این سوال را از خود آنها بپرسید!
BD : به غیر از برتری های DX10 در مورد بازی های کامپیوتری، این نسخه چه نقشی را در برنامه های کاربردی آینده بازی خواهد نمود؟
Chriss : کلا DirectX فراتر از صرفا یک واسط و مجموعه دستورها برای بازی های کامپیوتری است. در گذشته نیز بسیاری از برنامه های کاربردی از CAD/CAM و 3DStudio گرفته تا برنامه های پزشکی و تصویر برداری نیز از مزایای DirectX بهره گرفته اند. با این حال DirectX 10 باز هم نسبت به نسخه های قبلی قطعا امکانات بسیار مناسب تری را در اختیار اینگونه برنامه ها خواهد گذاشت. به یک نکته دقت کنید! ویندوز ویستا از DirectX 10 به عنوان یک مولفه گرافیکی استفاده می کند - پس ویندوز ویستا هم خود یک برنامه کاربردی استفاده کننده از DirectX 10 محسوب می شود!
BD : نحوه تعامل DX10 با کاربرانی که از سخت افزار DX10 استفاده نمی کنند چگونه خواهد بود؟
DirectX 10 : Chriss و ویندوز ویستا کاملا با تمامی برنامه ها و بازی های منطبق با نسخه های قدیمی تر DirectX سازگار هستند. کسانی که در زمان انتشار ویندوز ویستا، سخت افزار منطبق بر DirectX 10 را در اختیار ندارند و یا تهیه نکرده اند، هنوز هم قابلیت اجرای بازی ها و برنامه های برپایه DirectX 10 را خواهند داشت. DirecrX 9 هم در ویندوز ویستا برای این گروه از کاربران در نظر گرفته شده است. با این حال جالب است بدانید کاربرانی که با استفاده از سخت افزار منطبق بر DirectX 10 بازی های DirectX 9 را اجرا کنند شاهد افزایش کیفیت و بازده آن خواهند بود!
درعین حال توسعه دهندگان نیز می توانند با خیالی آسوده به تولید بازی ها و نرم افزار های بر اساسDirectX 9 برای ویندوز ویستا بپردازند.
منبع : سایت سخت افزار
تفاوت های CPU های AMD وIntel ( سخت افزار )
شرکت AMD خواهان ترکیب پردازنده و تراشه گرافیکی است ( اخبار جدید )
شرکت AMD به عنوان دومین تولیدکننده بزرگ پردازندههای کامپیوتری هماکنون پس از خریداری یکی از بزرگترین شرکتهای تولید کننه تراشههای گرافیکی یعنی شرکت ATI، خواهان یکی کردن پردازندهها و تراشههای گرافیکی مورد استفاده در کامپیوترهاست. شرکت AMD در طرحی به نام Fusion اعلام کردهاست خواهان ترکیب پردازندههای تولیدی خود و پردازندههای گرافیکی ساخت ATI و تولید پردازنده محاسباتی-گرافیکی جدیدی است که در اواخر سال 2007 و یا اوایل 2008 به بازار عرضه خواهد شد.
هماکنون کامپیوترهای شخصی و لپتاپها از یک پردازنده اصلی به عنوان مغز کامپیوتر( (CPUو یک تراشه گرافیکی( (GPUبه عنوان مرکز محاسبات گرافیکی کامپیوتر استفاده میکنند که AMD خواهان ترکیب این دو تراشه با یکدیگر است.
به گفته کارشناسان کامپیوتری، ترکیب پردازنده و تراشه گرافیکی علاوه بر افزایش کلی کارایی کامپیوتر، سبب کاهش قابل توجه برق مصرفی کامپیوترها نیز خواهد شد. به علاوه ترکیب پردازنده با تراشه هزینههای تولید کامپیوترهای شخصی را نیز کاهش داده و از پیچیدگی برد اصلی(مادربرد) کامپیوترها نیز میکاهد که این امر به کاهش قیمت کامپیوترها در بازار منجر میشود. از سوی دیگر ترکیب پردازنده و تراشه گرافیکی با یکدیگر میتواند سبب کوچکتر شدن حجم کامپیوترها و همچنین تولید کامپیوترهای جیبی کوچکتر با قابلیتهایی مشابه کامپیوترهای امروزی شود.
شرکت AMD به تازگی خریداری شرکت عظیم ATI به قیمت 5.4 میلیارد دلار را به پایان رسانده و ظهور تراشههای ترکیبی Fusion احتمالا نخستین ثمره یکی شدن این دو غول الکترونیکی خواهد بود.
منبع خبر : ایرنا
آشنایی با ارتباط DSL : قسمت اول ( آموزشی )
اگر مثل من هنوز از یک اتصالDial-Up برای دسترسی به اینترنت استفاده میکیند, حتما" بارها برایتان اتفاق افتاده که ساعتها منتظر دریافت یک فایل کوچک مثلا 20 مگابایتی از اینترنت مانده باشید. یا اینکه هنگام مرور صفحات وب پیچیده ای با تصاویر متعدد و با کیفیت بالا دقایقی به صفحه خالی مرورگر وب تان خیره شده اید! در این مقاله قصد داریم به بررسی تکنولوژی ADSL که در حال رواج یافتن در کشور است بپردازیم
بخس اول : مقدمه
البته راههای دیگری نیز مانند استفاده از ارتباط ماهواره ای یا خطوط اختصاصی وجود دارند اما معمولا" آنقدر پیچیده و پر هزینه هستند که مصرف کنندگان خانگی و یا شرکتها کوچک به سادگی از خیر آنها میگذرند! ولی راه دیگری هم وجود دارد که نیاز به هزینه و تجهزات اضافی چندانی ندارد و مانند اتصال Dial-Up به راحتی میتواند از طریق خط تلفن شما را با سرعتهای بسیار بالایی به ایترنت متصل کند.
به تکنولوژی که تمامی موارد ذکر شده را به راحتی در دسترس تمامی مصرف کنندگان قرار میدهد Digital Subscriber Line (خط دیجیتال مشترک) یا به اختصار DSL گفته میشود. در این مقاله سعی داریم تا بدون وارد شدن به مسائل پیچیده فنی و تکنیکی , نگاهی کلی داشته باشیم به تکنولوژی DSL و مزایا و معایب آن.
همانطور که در ابتدا نیز ذکر شد DSL یک اتصال بسیار پر سرعت است که از سیم های معمولی تلفن برای ارتباط با اینترنت و ارسال یا دریافت اطلاعات استفاده میکند در ادامه و به صورت مختصر به تعدادی از مزایای DSL اشاره میکنیم:
شما در حالی که به اینترنت متصل هستید میتواند به از طریق تلفن تماسهای صوتی برقرار کنید. استفاده از سرویس DSL سبب اشغال شدن خط تلفن شما نخواهد شد.
سرعت اتصال از طریق تکنولوژی DSL بسیار بالاتر از سرعت اتصال به اینترنت از طریق اتصال های معمولی Dial-Up است.
برای اجرای DSL به سیم کشی مجدد نیازی نخواهد بود و شما میتوانید از خطوط معمولی تلفن که تا کنون نیز از آنها استفاده میکردید, بهره ببرید.
شرکت های ارائه دهنده خدمات DSL همیشه یک مودم DSL را به عنوان بخشی از خدمات به شما ارائه خواهند کرد. به همین خاطر میتوانید با قیمت بسیار ارزان تر و به طور مطمئن تری از خدمات ارائه شده استفاده نمایید.
اتصال DSL هنگامی که شما به مخابرات یا به شرکت ارائه دهنده خدمات نزدیک تر هستید نسبت به زمانی که از آنها دور هستید بهتر عمل میکند.
این اتصال هنگام ارسال داده ها کندتر از هنگام دریافت آنها عمل مینماید.
این سرویس همه جا در دسترس نمیباشد. در حقیقت برای دسترسی به آن خدمات دهنده باید در محل نزدیکی به شما قرار داشته بشد.
در ادامه سعی خواهیم کرد به زبانی کاملا ساده توضیح دهیم که یک اتصال DSL چگونه و با استفاده از چه شیوه هایی قادر است تا اطلاعات و داده های بیشتر را بر روی یک خط تلفن استاندارد انتقال داده و در عین حال به شما امکان دهد که هنگام برقراری تماسهای تلفنی همچنان On-Line بمانید. اما قبل از آن لازم است تا با نکاتی در باره خطوط تلفن و نحوه انتقال صدا در آنها آشنا شویم.
منبع : سایت سخت افزار
نظر یادت نره . . . با نظرای خوبتون راهنماییم کنید باور کنید خوشحال میشم
۹ سوال و ۹ جواب در مورد پورت USB - قسمت اول ( آموزشی )
در اين مقاله به سراغ آقاي بهزاد فرخي كارشناس بخش پشتيباني فني شركت خدمات آواژنگ رفته ايم و از ايشان در رابطه با درگاه ناشناخته IEEE 1394 سوالاتي پرسيديم كه در ادامه 9 سوال و جواب منتخب اين گفتگو آورده شده است .
سئوال اول :
1. IEEE 1394 چيست؟
IEEE1394 با نامهاي ديگري نيز از قبيل Apple FireWire و Sony I-LINK شناخته ميشود . اين اسامي يك درگاه ديجيتال ارزان قيمت, انعطاف پذير و با استفاده آسان است كه ميتواند بسياري از مشكلات مصرف كنندگان را براي اتصال ابزارهاي جانبي با سرعت بالا به PC و به يكديگر را حل نمايد.
اين گذرگاه براي اولين بار توسط شركت Apple معرفي شد و سپس توسط گروه كاري 1394 در داخل موسسه مهندسان برق و الكترونيكInstitute of Electrical and Electronics Engineers (IEEE) توسعه داده شده و استاندارد گرديد. استاندارد IEEE 1394 كليه مشخصات مورد نياز براي اين گذرگاه را تعريف مينمايد. اين گذرگاه به خاطر استفاده مستقيم از داده هاي ديجيتال كه نياز به تبديل داده ها را از ميان برميدارد توانايي انتقال سيگنالها با كيفيتي بسيار بهتر را دارا ميباشد. بعلاوه اين گذرگاه با استفاده از يك كابل سريال نازك و كوچك بسياري از مشكلات به وجود آمده توسط گذرگاههاي موازي عريض با كابلهاي پهن و بزرگ را حل مينمايد.
همچنين اين گذرگاه با نصب كاملا" خودكار كليه پيچيدگيهاي نصب نرم افزاري به صورت دستي را حذف نموده است. با پشتيباني از عملكرد Hot-Plug توانايي نصب نمودن و برداشتن ابزارها را در زمان كار سيستم بدون نياز به Reboot ارائه مي نمايد. IEEE1394 گذرگاهي بينهايت انعطاف پذير و قابل تنظيم است و ميتواند در سرعتهاي 100,200,400Mbps به وسيله يك كابل پيوسته بسته به نوع نياز عمل نمايد. با استفاده از اين گذرگاه ميتوان ابزارها را به صورت ستاره اي به همراه يك هاب مركزي و يا به صورت حلقوي و بدون نياز به هاب مركزي به يكديگر متصل نمود. همچنين به وسيله IEEE 1394 ميتوان ابزارها را بدون نياز به اتصال به يك PC به يكديگر نيز متصل كرد و اتصالاتPeer-To-Peer به وجود آورد.
اين گذرگاه با استفاده از تكنيكهايي زمانهاي بحراني به وجود آمده در انتقال اطلاعات جرياني مخصوصا" كاربردهاي صدا و ويديو را از ميان برداشته و به اين صورت از هزينه ميكاهد.
مقدمه اي بر سي شارپ : قسمت سوم ( آموزشی )
ساختارهاي تصميم گيري :
در بسياري از موارد هنگام برنامه نويسي لازم است تا از عبارات شرطي استفاده كنيم. براي انجام اينكار دو روش عمده وجود دارد. استفاده از if و يا switch . از if بيشتر براي مقايسه هايي تكي و كوچك استفاده مي شود و حاصل مقايسه ي آن يا true است و يا false . از عبارت switch هنگامي استفاده مي شود كه مقايسه هاي متعددي بايد در مورد يك مقدار صورت گيرد.
هر دو عبارت if و switch توسط عبارتهايي Boolean كنترل مي شوند ( true و يا false ) . در هنگام استفاده از if اگر عبارت Boolean حاصل اش true باشد اولين قسمت شرط اجرا مي شود و سپس برنامه از انتهاي if ادامه پيدا مي كند. اگر حاصل عبارت Boolean مساوي false باشد كنترل برنامه به قسمت else منتقل مي شود.
مثال :
يك پروژه ي جديد console باز كنيد و نام آنرا ex04 بگذاريد. سپس كد زير را در آن وارد و جرا كنيد :
using System;
namespace ex04
{
class Class1
{
[STAThread]
static void Main(string[] args)
{
Console.WriteLine("Enter 1 character to be evaluated");
char cUserInput = (char) Console.Read();
if ( char.IsDigit( cUserInput ) )
Console.WriteLine("The char is a number!");
else
Console.WriteLine("The char is not a number!");
}
}
}
نكاتي در مورد كد فوق :
1- سي شارپ به كوچكي و بزرگي حروف حساس است . براي مثال cUserInput با cUserinput فرق مي كند.
2- حتما بايد بعد از if پرانتزها ذكر گردد.
3- حتما بايد داخل if يك عبارت Boolean ذكر شود مانند if(x>5) .
4- در سي شارپ مقايسه ي تساوي دو عبارت با == و انتساب با = انجام مي شود. ( موارد 1 و 4 مواردي هستند كه اغلب تازه كاران با آن مشكل دارند! ) براي مثال if(i==3) صحيح است اما if(i=3) در سي شارپ معنايي ندارد.
5- اگر بعد از if يك خط كد قرار گيرد نيازي به آوردن آكولاد ها نيست. هنگامي نياز به آكولادها مي باشد كه بيش از يك خط بايد بعد از if قرار گيرد.
6- در سي شارپ همانند اسلاف خودش براي تبديل نوع هاي داده ايي مي توان به صورت زير نيز عمل كرد : (char) Console.Read() ; يعني دريافتي Read به char تبديل مي شود .در اين مورد باز هم صحبت خواهد شد.
7- همانطور كه ذكر شد در سي شارپ همه چيز شيء است حتي نوع هاي پايه ايي مانند char . با استفاده از متد IsDigit آن مي توان چك كرد كه آيا ورودي آن عدد است يا خير؟ ( در مورد متدها صحبت خواهد شد )
استفاده از switch :
بهتر است اين مورد را با يك مثال دنبال كنيم.
پروژه ي سي شارپ جديدي به نام ex05 در حالت console در VS.NET باز كنيد. دراينجا مي خواهيم يك كلاس جديد تعريف كرده و توسط خاصيتي كه در آن ايجاد مي كنيم متوجه شويم روز جاري مطابق سيستم چه روزي است .
يك كلاس جديد از منوي پروژه ،با استفاده از گزينه ي Add class به برنامه اضافه كنيد و نام آنرا در ابتدا clsDate بگذاريد.
using System;
namespace ex05
{
///
/// Summary description for clsDate.
///
public class clsDate
{
public clsDate()
{
//
// TODO: Add constructor logic here
//
}
public string systemDayOfWeek
{
get
{
string res="";
switch( System.DateTime.Now.DayOfWeek.ToString())
{
case "Saturday" :
res = "شنبه";
break;
case "Sunday" :
res = "يک شنبه" ;
break;
case "Monday":
res = "دوشنبه";
break;
case "Tuesday":
res = "سه شنبه";
break;
case "Wednesday":
res = "چهار شنبه";
break;
case "Thursday":
res = "پنج شنبه";
break;
case "Friday":
res = "جمعه" ;
break;
}
return res ;
}
}
}
}
هنگام ذخيره كردن اين كد ويژوال استوديو به شما اخطار مي دهد كه كد داراي حروف يونيكد است. از منوي فايل گزينه ي advanced save options را انتخاب كنيد. در اينجا مي توان نوع ذخيره سازي را يونيكد انتخاب كرد.
براي استفاده از كلاس فوق مانند مطالبي كه در قسمت قبل گفته شد عمل مي كنيم :
using System;
namespace ex05
{
class Class1
{
[STAThread]
static void Main(string[] args)
{
clsDate m_var = new clsDate();
Console.WriteLine( m_var.systemDayOfWeek );
Console.ReadLine();
}
}
}
هر چند حالت console يونيكد را پشتيباني نمي كند ولي اصل برنامه براي ما مهم است و در آينده بيشتر از آن استفاده خواهيم كرد.
همانطور كه ملاحظه كرديد اگر از switch استفاده نمي شد بايد از 7 عدد if استفاده مي گرديد كه اصلا ظاهر حرفه اي و شكيلي نداشت!
با استفاده از عبارت زير كار مقايسه شروع مي شود. روز سيستم در يافت شده و وارد بدنه ي switch مي گردد. سپس توسط case ها چك مي شود تا تساوي آن با عبارت بعد از case به اثبات برسد.
switch( System.DateTime.Now.DayOfWeek.ToString())
اگر هر كدام از عبارات بعد از case صحيح بودند كار پس از آن كه در اينجا انتساب است انجام شده و سپس توسط break كنترل برنامه از switch خارج مي شود و ادامه ي كار دنبال مي گردد.
اگر هيچكدام از case ها صحيح نبودند مي توان از گزينه ي default هم در صورت نياز استفاده كرد. اين حالت در يك چنين مواقعي اجرا مي گردد.
تاریخهای رسمی عرضه ی ویندوز ویستا ( اخبار جدید )
سرانجام مایکروسافت تاریخ نهایی و رسمی عرضه ی محصولات جدید خود یعنی Office 2007 و ویندوز ویستا (Windows Vista) را اعلام کرد.
کمپانی مایکروسافت روز 30م ماه نوامبر را تاریخ عرضه ی این دو محصول اعلام کرده است. طبق این تاریخ ویندوز ویستا، 5 سال و 3 ماه و 5 روز پس از عرضه ی ویندوز XP عرضه خواهد شد. پیش بینی می شود، با ارائه ی این نسخه از سیستم عامل ویندوز، همانند ویندوز XP تحولی در دنیای سیستم عامل ها ایجاد گردد.
این خبر توسط یکی از منابع قابل اعتماد یعنی APC Magazine گزارش شده است.
از معماري CPU چه ميدانيد؟ ( سخت افزار )
پيش از آنكه به بررسي معماري نسل آينده پردازندههاي اينتل بپردازيم ابتدا اجازه دهيد تا داسنتنيهاي ابتدايي كه علم به آن ضروري به نظر ميرسد را تشريح كنيم:
كدهاي اجرايي سيستم عامل و نرمافزارها در آخرين مرحله پيش از ارسال به پردازنده، ميبايست به زبان ماشين و اسمبلي تبديل شود، بالغ بر 50 درصد كدهايي كه پردازنده اجرا ميكند عمليات «Load» (بارگذاري از حافظه به ثبات هاي داخلي پردازنده( و عمليات «Store» (ذخيرهسازي از ثباتهاي داخلي به حافظه كامپيوتر( را ديكته ميكنند، از اين ميان، اكثريت كدها «بارگذاري» و بخش اندكي كدهاي «ذخيرهسازي» هستند. 15 الي 20 درصد كدها مختص دستورالعملهاي انشعابي مانند if، then و else است كه روال پيش روي برنامه را با شروط مشخصي تعيين ميكنند.
ساير كدها بيشتر شامل دستورالعملهاي ساده رياضي مانند ADD (جمع) يا MUL (ضرب) ميشوند. در اين بين تنها درصد كمي از كدها به دستورالعملهاي سطح بالاي محاسباتي ديگر مانند DIV(تقسيم) يا SQRT (به توان دو) ترجمه ميشود. هر يك از اين دستورالعملها براي اجرا به ترتيب وارد يكي از خطلولههاي پردازنده ميشود، در هر خط لوله به طور استاندارد پنج واحد زير وجود دارد:
• «واحد واكشي»: در اين واحد دستورالعمل از حافظه اصلي خوانده شده و به ثباتهاي داخلي پردازنده منتقل ميشود،دستورالعمل واكشي شده الگويي از بيتها به زبان ماشين است كه در بر گيرنده نوع عملگر و آدرس عملوندهاي آن است.
• «واحد كدگشايي»: در اين واحد الگوي دستورالعمل از داخل ثبات پردازنده خوانده شده و با کدگشايي آن واحد اجرايي را براي اجراي محاسبات درخواست شده آماده ميكند.
• «واحد واكشي عملوند»: اين واحد، دادههايي كه آدرس آنها در دستورالعمل ذكر شده را از حافظه كاشه، به ثباتهاي داخلي پردازنده انتقال ميدهند.
• «واحد اجرايي»: پس از حصول اطمينان از موجوديت دادهها در داخل ثباتهاي پردازنده و آماده سازي واحد اجرايي، واحدهاي رياضي و منطقي موجود در بخش اجرايي پردازنده (ALU)، محاسبه دستورالعمل را آغاز ميكنند.
• «واحد بازگيري»: در اين مرحله نتيجه محاسبات كه داخل ثباتهاي پردازنده ذخيره شده به حافظه كاشه يا حافظه اصلي كامپيوتر منتقل ميشود.
واحدهاي مذكور به صورت استاندارد در هر پردازندهاي وجود دارند با علم به اين مطلب در ادامه به نوآوريهاي معماري Core™ و مقايسه آن با معماري K8 خواهيم پرداخت.
منبع مقاله : سایت سخت افزار
..: آخرين ارسال ها :..
All Rights Reserved 2005-2006 © by top7news.Blogfa.com
This Template Designed By Ali Kouroshfar and TakTemp For Blogfa
www.TakTemp.com - www.2Temp.com - www.3Music.ir - www.iRoom.ir
| ||