تبليغاتX
کامپیوتر

کامپیوتر

مسائل مربوط به کامپیوتر

مايكروسافت سيستم عامل جديدي طراحي كرده است

SINGULARITY، از بنيان با ويندوز فرق دارد.

به گزارش بخش خبر شبكه فن آوري اطلاعات ايران، از ايلنا، بخش تحقيقتي مايكروسافت، نمونه اوليه‌‏اي از يك سيستم عامل ريز هسته (MICRO KERNEL) طراحي كرده كه به SINGULARITY معروف است. مهمترين مشخصه اين سيستم عامل جديد اين است كه هيچ ارتباط يا مشابهتي با ويندوز ندارد.
براساس اين گزارش، برخلاف تصور عمومي، ويندوز تنها سيستم عاملي است كه مايكروسافت بر روي آن سرمايه‌‏گذاري كرده است.
محققان اين شركت، سيستم عامل جديد را از ريشه متفاوت با ويندوز مبتني بر ريز هسته طراحي كرده‌‏اند.
گفتني است، اين شركت هنوز هيچ جزيياتي در مورد اين سيستم عامل، قابليت‌‏ها و زمينه‌‏هاي كاربري آن منتشر نكرده است.

+ نوشته شده در  شنبه بیست و هشتم آبان 1384ساعت 18:37  توسط مینو  | 

راه‌‏اندازي سيستم اينترنتي جديد آن هم از نوع گازي

محققان مي‌‏گويند: مي‌‏توان از شبكه‌‏هاي گاز خانگي براي ارسال سيگنال‌‏هاي فراپهن باند استفاده كرد.

به گزارش بخش خبر شبكه فن آوري اطلاعات ايران، از ايلنا ، تصور اين كه كاربران اينترنت براي اتصال به شبكه از لوله‌‏هاي گاز منزل خود استفاده كنند تا حد زيادي عجيب و شايد خنده‌‏دار به نظر مي‌‏رسد.
اما محققان يك شركت در سانتياگوي آمريكا به اسم نتركام سرگرم طراحي روشي براي استفاده از سيگنال‌‏هاي بي‌‏سيم فراپهن باند جهت انتقال داده‌‏ها از طريق لوله‌‏هاي گاز طبيعي با سرعت پهن باند هستند.
محققان شركت نتركام ادعا مي‌‏كنند: فناوري جديد اين شركت امكان دسترسي به اينترنت با سرعت 100 مگابيت بر ثانيه در خانه‌‏هاي كاربران را فراهم مي‌‏كند، چنين سرعتي امكان دريافت فايل‌‏هاي صوتي و ويديويي در زمان خيلي كوتاه را فراهم مي‌‏كند.
البته كارشناسان مي‌‏گويند: هنوز چنين فناوري‌‏ صرفا يك ادعا بوده و عملا به كار گرفته نشده است.
اما نحوه عمل فناوري پهن باند از طريق لوله‌‏هاي گاز چگونه است؟ شركت نتركام از انتقال دهنده‌‏ها و گيرنده‌‏هاي راديويي فراپهن باند براي ارسال سيگنال‌‏هاي بي‌‏سيم از طريق لوله‌‏ها در هنگام جريان گاز استفاده مي‌‏كند.
فرا پهن باند يا UWB يك فناوري ارتباطي در حال توسعه است كه داده‌‏هاي شبكه‌‏اي را با سرعت خيلي بالايي ارسال مي‌‏كند، اما در سطوح توان بالاتر ممكن است با سيگنال‌‏هاي بي‌‏سيم تداخل كند.
اما اين مشكل هنگامي كه سيگنال‌‏هاي فراپهن باند از طريق لوله‌‏هاي گاز دفن شده ارسال مي‌‏شود پيش نمي آيد ، در نتيجه مي‌‏توان بدون آن كه تداخلي ايجاد شود حجم بالايي از داده را از طريق لوله‌‏هاي گاز منتقل كرد.
در حالي كه بسياري ايده محققان شركت نتركام را خنده‌‏دار مي‌‏دانند اين محققان همچنان مصمم هستند كه در آينده نه چندان دور طرح خود را عملي كنند.
در صورتي كه اين فناوري عملي شود و اينترنت پرسرعت از طريق لوله‌‏هاي گاز به خانه‌‏هاي كاربران بيايد ، مي‌‏توان منتظر تحولات اساسي در بازار دسترسي به پهن باند بود.

+ نوشته شده در  شنبه بیست و هشتم آبان 1384ساعت 18:36  توسط مینو  | 

قدم اول در انيميشن اينترنتي فرمت رنگ ها

از: عصر ارتباط

اين روزها استفاده از انيميشن بسيارگسترده شده به طوري كه آن را مي توان در گوشه گوشه سايت هاي اينترنتي پيدا كرد.
پيش از اينكه در صفحات وب خودتان از تصاوير انيميشن استفاده كنيد بايد به چند سوال اساسي پاسخ بدهيد، سوال هايي مانند: هدف از ايجاد وب سايت چيست؟ قصد جذب چه نوع مخاطباني را داريد؟ به دنبال گفتن يا معرفي كردن چه كالا يا محصولي هستيد؟ انيميشن به جذابيت هاي وب سايت شما خواهد افزود و يا ازآن خواهد كاست ؟
اگربعد ازپرسيدن اين سولات همچنان مصمم به استفاده ازانيميشن در وب سايتتان بوديد بايد تصميم بگيريد كه با توجه به نوع طراحي و هدفتان ازآن، مي خواهيد ازچه نوع فايلي با چه فرمت يا سايزي استفاده كنيد.
وقتي واقع گرايانه به فرمت ها موجود دربخش تصويرو انيميشن نگاه كنيد متوجه مي شويد در عمل ،گزينه هاي محدودي براي انتخاب وجود دارد.
JPEG كه مخفف Joint Photographic Experts Group و يك فرمت 24بيتي است ، در حال حاضررايج ترين فرمت براي فشرده سازي عكس ها ، كارهاي هنري و تصاويرسياه و سفيد تصاويرمشابه به حساب مي آيد . هنگامي كه يك فايل به فرمت JPEG تبديل مي شود، اطلاعات آن به گونه اي منحصربه فرد در يكديگر تنيده مي شود كه اگر ضريب اين فشردگي
بيش از ميزان لازم باشد ممكن است تصاويرشما دچار پديده اي موسوم به درهم ريختگي شود كه لبه هاي تصاويرموجود درعكس را بدفرم مي كند.
GIF هم يكي ديگر از فرمت هاي رايج براي فشرده سازي نامه ها، كارتن هاي ساده و طراحي ها است و مخفف عبارت Graphic Intechange Format به حساب مي آيد.
فايل هاي GIF اغلب از مولفه هاي وكتوري ساخته شده اند كه به شكل خط و دايره است و به صورت رياضي تعريف مي شود. مولفه هاي وكتوري درست به علت ذات رياضي شان بسيار با كيفيت هستند و عملا مقياس پذيري روي آنها تاثيري ندارد، يعني مي توانيد تصاويررا هر چه قدر خواستيد كوچك يا بزرگ كنيد بي آنكه در كيفيت تصاويرخللي وارد شود. اما از سوي ديگردقت كنيد كه فايل هاي GIF ازروي اين تصاوير ساخته مي شوند و خود Bitmap هستند نه وكتوري، پس مقياس پذيري از كيفيت آنها خواهد كاست ، فايل هاي GIF رنگ هاي اندكي را ذخيره مي كنند ولي در مقابل به خوبي فشرده مي شوند.
ساير فرمت هاي رايج براي انيميشن هم بيشتر ويدئويي هستند تا انيميشن، مانند: (Audio- Video Inteleader) AVI (براي نرم افزارQuick) MOV Time،(Moring Picture Experts Group) MPEG (براي نرم افزار Flash Player) SWF و shockwave .
هنگامي كه مي خواهيد از تصاويرنقشه ها به صورت سه بعدي استفاده كنيد، فرمت هاي رايج عبارتند ازGIF ، JPEG كه قبلا هم راجع به آنها توضيح داديم و چند مزيت نام آشناي ديگر مانند: (‏Tagged Image Format)‏TIFF ، (مخصوص نرم افزارTarga ازشركت True Vision) ‏TGA و(Portable Network Graphics PNG( .
بين همه اين فرمت ها، PNG ازهمه مناسب تر است چون در حالت رنگي مي توان آن را به صورت 48بيتي و در حالت 16بيتي به صورت سياه وسفيد ذخيره سازي كرد . ضمن اينكه PNG مشكل درهم ريختگي ندارد و ميزان فشرده سازي درآن مشكلي ايجاد نمي كند. يك نكته ديگركه به محبوبيت PNGكمك مي كند اين است كه داراي قابليت تصحيح با گاما است . اين قابليت معمولا براي تصحيح خودكار سطح نوروكنتراست عكس به كار مي رود. PNG به صورت پيش فرض ازاين قابليت برخوردار است.
تنها نكته منفي استفاده از فايل هاي PNG اين است كه نسبت به فايل هاي JPEG، فضاي بيشتري را به خود اختصاص مي دهد . بنابراين هنگام استفاده ازPNG، بايد به تعادل ميان دو مولفه فضا و كيفيت توجه كنيد.

+ نوشته شده در  سه شنبه بیست و چهارم آبان 1384ساعت 13:33  توسط مینو  | 

شركت سان (SUN) براي جديدترين پردازنده خود نام UitrasparcT1 رابرگزيد

شركت سان ميكروسيستم براي جديدترين پردازنده خود نامي دائمي تراز نام قبلي آن يعني Niagara برگزيد.

به گزارش بخش خبر سايت http://www.IRITN.com ، شركت سان روز دوشنبه نام رسمي اين پردازنده را معرفي خواهد كرد. اين شركت قصد دارد اواخر اين فصل سيستم هاي داراي اين پردازنده را براي فروش به بازار عرضه كند. سان نام UitrasparcT1 را به عنوان نام رسمي اين پردازنده انتخاب كرده است.
فادي ازهاري، مدير بازاريابي سان خاطر نشان كرد كه سرعت اين پردازنده كه 75وات است در مقايسه با پردازنده دوهسته اي xeon شركت اينتل با توان مصرفي 135وات و پردازنده دو هسته اي اوپترون AMD با توان 95وات بسيار كمتر است .
اين پردازنده داراي هشت موتورپردازشگر مستقل يا هسته است . هريك ازاين موتورها قادر به اجراي همزمان 4رشته دستورالعمل است. سان براي اين شيوه پردازش چند رشته اي نام تجاري Cool Threads را برگزيده است .
چيپ ها با استفاده ازچندين هسته قادر به انجام همزمان بسياري از كارها خواهند بود. اين پردازنده قرار است تا سه ماه آينده در اختيار مشتريان قرار بگيرد.

+ نوشته شده در  سه شنبه بیست و چهارم آبان 1384ساعت 13:32  توسط مینو  | 

آن جا كسي است پنهان...

منبع : مجله شبكه شماره 58

فكر نمي كنيد PC شما كمي اسرارآميز شده است ؟ آيا اين اواخر کند كار نمي كند؟ آيا تنظيمات اينترنتي شما به طور مرموزي تغيير نمي كنند؟ آيا PC شما آن طور كه بايد،عمل مي كند؟ فكر نمي كنيد كه در كامپيوتر شما يك برنامه غير معمول وجود دارد؟ روبه رو شدن به اين سولات وبرخورد با رويدادهاي مشابه، ممكن است شما را سريع به ياد ويروس و به دنبال آن ،نصب يك ضد ويروس خوب بيندازد. اما به سرعت تصميم نگيريد. ممكن است اتفاقاتي كه درPC شما رخ مي دهند، دليل ديگري داشته باشند كه احتمالا بيانگررخنه يك جاسوس افزار است .
دلايل زيادي مثل نبود يك سيستم حفاظت منسجم و منظم، مي تواند اين نوع تهديدها را افزايش دهد. در اين مقاله با نشانه هاي بارزحضور يك جاسوس افزار آشنا مي شويم تا بتوانيم آنها را به راحتي شناسايي كنيم و از بين ببريم.
شناخت رسانه ها
رايج ترين نشانه هاي وجود يك جاسوس افزار را بايد در ظاهر سيستم خود بيابيد. بنابراين شايد اصلا نيازي به جستجوهاي وقت گير و كنكاش هاي فراوان نباشد. مثلا هنگامي كه به PC خود وارد مي شويد، ياهنگامي كه مرورگر اينترنتي خود را راه مي اندازيد. به طور غيرعادي با پنجره pop-up زيادي كه در قالب پيام هاي تبليغاتي و ياپيغام هاي اخطار ظاهرمي شوند، روبه رو خواهيد شد .
ديگر آنكه وقتي مرورگر خود را باز مي كنيد، متوجه مي شويد كه ظاهرآن به گونه اي غير عادي تغيير كرده است و مثال هاي ديگري از اين دست. پس اولين نشانه ها را بايددر ظاهر برنامه هاي خود بيابيد.
تغيير تنظيمات كليدي مرورگراينترنت به طور خودكار، از ديگرنشانه هاي وجود يك جاسوس افزاراست. مثلا سايت http://www.google.com را به عنوان Home page انتخاب كرده ايم. ولي هربار كه مرورگر را اجرا مي كنيم اولين صفحه اي را كه خواهيم ديد، چيز ديگري است. اين امر خصوصا در رابطه با Internet Explorer صادق است. زيراActiveXهايي كه از برخي سايت ها به طورناخواسته وارد PC مي شوند، مي توانند بدون آن كه شما متوجه چيزي شويد، به راحتي اين كاررا انجام دهند .
از ديگرپديده هاي غيرعادي كه ممكن است يك جاسوس افزار مسبب آن باشد . پيدايش نوار ابزارهاي ناآشنا و غير معمول در بخش هاي مختلف Internet Explorer است. ممكن است اين نوار ابزارهامستقيما زيرنوارآدرس IE قراربگيرند و يا در مواردي ديگرروي PC نصب گردند . ولي به گونه اي هوشمندانه با كليدها و ساير نوار ابزارها تركيب شوند كه يا اصلا متوجه آنها نشويم يا اگر هم بشويم، هيچ سوء ظني در مورد آنها نداشته باشيم.
براي آنكه بتوانيد ليستي از نوارابزارهاي افزوده شده به IE رامشاهده كنيد، Internet Explorer را باز كنيد و به منوي view- Toolbars سري بزنيد. توجه كنيد كه هرچيزي غيرازكليدها و نوارابزارهاي استاندارد Internet Explorer و دركل هربرنامه ثابتي، مي تواند نوعي جاسوس افزارباشد .
با چشماني باز به دسكتاپ نگاه كنيد
مخصوصا بعدازهرباراستفاده ازاينترنت و هربارروشن كردن كامپيوتر، حتما به آيكون ها نگاهي بيندازيد و مطمئن شويد كه آيكون مشكوك و جديدي- كه غيرعادي باشد – روي دسكتاپ اضافه نشده باشد.
اگر آيكون جديدي مشاهده كرديد، تا زماني كه ازماهيت آن مطلع نشده ايد، به هيچ وجه روي آن كليك نكنيدو اگرهم به اين نتيجه رسيديد كه اين آيكون براي شما ضرردارد، حتما آن را از دسكتاپ پاك كنيد و سپس بااستفاده ازيك برنامه anti spyware (ضدجاسوس افزار) سايربخش هاي مرتبط با آن را شناسايي و پاك كنيد.
لازم است اشاره كنيم كه در اين مورد حس كنجكاوي است كه باعث بروز دردسر مي شود. زيرا اغلب كاربران دوست دارند روي آيكون تازه وارد كليك كنند تا ببينند ماهيت آن آيكون چيست و اينجاست كه كار دستشان مي دهد. بنابراين اميدواريم كه در اين زمينه بتوانيد حس كنجكاوي خود را كنترل كنيد. چون درغير اين صورت ، آسيب هاي زيادي خواهيد ديد.
كم شدن سرعت ويندوز وبروز خطاهاي بسيار
همين دو مورد خود گواه اين است كه PC شما به خاطر نبود يك حفاظت منظم و منسجم، قرباني شده است. پيشنهاد مي شود فايل ها و برنامه هايي را كه به آن ها نياز نداريد پاك كنيد، برنامه هاي Startup سيستم را به حداقل ممكن برسانيد، و به طور منظم هارد ديسك را Defrag كنيد. انجام منظم اين اعمال به شما كمك مي كند جاسوس افزارها را راحت ترشناسايي كنيد.
به طور مثال ممكن است اين اواخر با پيغام هاي خطاي زيادي مواجه شده باشيد و يا اينكه سرعت پاسخگويي PC به نحو چشم گيري كاهش يافته باشد. اين ها مي تواند به خاطر وجود يك جاسوس افزار باشد كه در پشت پرده حافظه و به كارگيري CPU، باعث كندي پردازش آن شده است .

راهنماي گام به گام
جستجو براي يافتن جاسوس افزار
1-يكي از بهترين منابعي كه مي توان از طريق آن جاسوس افزارها را شناسايي كرد،رجوع به زبانه Processes دربخش Task Manager ويندوز است. اگر در ليست به فايلي برخورديد كه به نظرتان غيرعادي بود، نام و مشخصات پردازشي آن را برداريدو به سايت http://www.processlibrary.com مراجعه كنيد. در اين سايت مي توانيد درباره آن فايل بيشتر تحقيق كنيد.
2-اگر در ليست پردازشي پنجره Task Manager چيز مشكوكي نيافتيد، IE را باز كنيد.اگر Home page شما عوض شده است يا درقسمت Favorites انبوهي ازسايت هاي غير متعارف روبه رو شديد، در سلامت كامپيوتر خود ترديد كنيد. بهتر است به نوار ابزارها هم توجه كنيد و ببينيد كه آيا چيزي تغيير كرده و يا كم شده است يا خير .
3-خيلي از برنامه هاي جاسوس افزار سعي دارند ابتدا برنامه هاي امنيتي سيستم را غير فعال كنند. براي آنكه مطمئن شويد اين اتفاق نيفتاده است . يعني برنامه هاي امنيتي فعال هستند، پنجره Security Center دركنترل پانل رابازكنيد و مطمئن شويد كه هرآيتم رويON تنظيم شده است. چراغ هاي زردو قرمز شايد نشانگر اين باشد كه يك جاسوس افزار به رايانه شما نفوذ كرده است .
آيا آگهي افزارها واقعا جاسوس افزارند؟
آگهي افزارها لزوما خطرناك نيستند. ولي در نوع خود مي توانند تهديدي براي امنيت شما باشند. در يك بررسي كلي و اجمالي،adware نوعي تكنيك تبليغاتي است. به اين ترتيب كه برخي ازشركت هاي توليد كننده نرم افزار، درازاي دريافت مبلغي ازسايرشركت ها، بخشي از نرم افزارتوليدي خود را به تبليغ محصولات آن شركت اختصاص مي دهند. مثلا با ارائه هر نسخه جديداز نرم افزار، تنها چند تبليغ خاص در نرم افزار گنجانده مي شودويا هرگاه به اينترنت متصل مي شويد، نرم افزاربا سايت شركت سازنده اش ارتباط برقرار مي كند و تبليغ هاي جديد را دريافت مي كند و آن ها را به كاربرارائه مي دهد.
در يك دسته بندي كلي ، اين نوع نرم افزار را جزء جاسوس افزارها، جزئيات اطلاعات شخصي و ساير اطلاعات مهم رايانه شما گردآوري نخواهند شد. ولي ممكن است اين نوع برنامه ها فعاليت شما را روي اينترنت ردگيري كنند تا بفهمند بيشتر به چه سايت هايي مراجعه مي كنيد و چه موضوعاتي نظر شمارا جلب خواهد كرد تابراساس شما آگهي ارائه دهند.
نرم افزار به اشتراك گذاري فايل Bearshare، يك مثال خوب و آشكار از نحوه استفاده از چنين ابزارهايي است. اين برنامه شامل دو قسمت است كه دريافت هردوي آنها، رايگان والبته اجباري است! يعني كي از آنها بدون ديگري كار نمي كند. بخش اول شامل خود نرم افزار و بخش دوم شامل آگهي افزار نرم افزاراست كه نام آن when U است. اين برنامه تبليغاتي در هنگامي كه شما در اينترنت مشغول گشت زني هستيد، پيام هاي تبليغاتي خود را در قالب پنجره هاي Pop-up به شما ارائه مي دهد. در واقع تحمل كردن گاه و بي گاه اين گونه پنجره ها همان بهايي است كه شما در هنگام دريافت نرم افزارپرداخت نكرده ايد! به عبارت ديگر، شما بابت تهيه نرم افزار، مبلغي پرداخت نكرده ايد و شركت نيز براي داشتن درآمد، به تبليغ مي پردازد.
با اين حال مرز بين يك جاسوس افزاربا نرم افزارهايي از اين دست، خيلي شفاف به نظر نمي رسد و حتي شايد ازيك تارمونيز نازك تر باشد. پس اين خيلي غيرعادي نيست كه بگوييم يك adware ممكن است امروز بي خطر باشد، ولي فردا دردسرسازشود.
توصيه مي كنيم اگر به چنين برنامه هايي متكي هستيد، تا آنجايي كه مي توانيد به دنبال برنامه هاي جايگزين بگرديد. يعني به جاي adwareها، از freewareها استفاده كنيد تا خيالتان آسوده ترباشد. اگر دراين زمينه بازهم به اطلاعاتي بيشتر نياز داشتيد، به آدرس http://www.nonags.com مراجعه كنيد.
اين دو مسئله مخصوصا در كامپيوترهايي ديده مي شوند كه كاربران آن ها به طورغيرمعمول، اقدام به نصب نرم افزارهاي جديد و برنامه هاي گوناگون مي كنند و بديهي است كه خود اين كارنيز مشكلات را دو چندان مي كند. پس اگرPC شما بيش ازحد معمول كند است يا آن طوركه بايد، كار نمي كند، حتما زمان آن رسيده است كه بايك جاسوس روب، آن را اسكن كنيد.
از ديگرنشانه هاي وجود يك جاسوس افزار را مي توان در فهرست سايت هاي مورد علاقه درIE يافت. حتي اگر مدت زيادي است كه IE را كنار گذاشته ايد و ازمرورگرهاي ديگري استفاده مي كنيد، پيشنهاد مي كنيم سري به IE بزنيد و به محتويات منوي Favorite نگاهي بيندازيد. اگر ليستي از انبوه سايت هاي نامتعارف و بي ربط را مقابل خود ديديد و مطمئن شديد كه هيچ يك ازآن ها را خودتان به ليست اضافه نكرده ايد، پس حتما يك جاسوس افزار در كامپيوترشما وجود دارد.
توصيه مي كنيم اين عناوين را سريع از فهرست خارج كنيدو سپس به وسيله يك جاسوس روب ، كامپيوترتان را اسكن كنيد تا سايرفايل هاي مرتبط با اين آدرس ها پيدا و پاك شوند.
البته شايان ذكر است كه برنامه ضدجاسوس با اين پيش فرض كه ممكن است از پاك كردن آدرس هاي موجود در فهرست پشيمان شويد. هيچ آدرسي را پاك نخواهيد كرد و شما بايد خودتان اين كار را انجام دهيد.
همچنين بايد خاطر نشان كرد كه تنها وجود يك جاسوس روب نمي تواند تمام نيازهاي امنيتي شمارا برآورده كند. بلكه در كنارآن حتما بايد از فايروال ها و ضدويروس ها نيزاستفاده كنيد تا بتوانيد امنيت خوبي را براي كامپيوتر خود فراهم نماييد. البته نكته مهم ديگر هم آن است كه مطمئنا جاسوس افزارها و ويروس ها هم مجهز به ابزاري هستند و به زندگي شرارت بار خود ادامه دهند!
توجه بيشتربه System tray
بااين كارمي توانيد تمام برنامه هاي فعال در ويندوز را مشاهده كنيد و اگربرنامه اي مشكوك توجه شما را جلب كرد، با استفاده از بخش Seaurity Center ويندوز XP براي مقابله با آن اقدام كنيد.
البته اگرخيلي بدشانس باشيد، ممكن است جاسوس افزاري كه به PC شما نفوذ كرده است به قدري هوشمند باشد كه در بخش System tray ردپايي از خود باقي نگذارد و دور از چشم شما به كارخود ادامه دهد. ولي بازهم جاي نگراني وجود ندارد. اگربه بخش Task Manager Process مراجعه كنيد، ليست تمامي برنامه هايي كه به نحوي حافظه را اشغال نموده و CPU را نيزبه خود مشغول كرده اند، خواهيد ديد كه يكي از آن ها، حتما جاسوس افزار خواهد بود . يعني در آن جا نمي توانند خود را از ديد شما پنهان كنند.
البته ممكن است در تشخيص اين كه كدام پردازش واقعي است و كدام يك غير واقعي، به كمي كمك نياز داشته باشيد كه اگر هنگامي گام به گام مقاله حاضر را مطالعه كنيد، مشكلتان كمترخواهد شد .
آخرين موردي كه وقوع آن درPC شما از علائم بارز وجود يك جاسوس افزاراست، اين است كه هنگامي كه قبض كاركرد تلفن به خانه شما مي آيد دركادر مبلغ قابل پرداخت ، به رقمي نجومي برخورد خواهيد كرد، كه احتمالا شوك بزرگي به شما وارد خواهد كرد .
نوع خاصي از جاسوس افزارها كه به dialler هم مشهورند، با هر شماره تلفني كه در سيستم شما وجود داشته باشند، تماس خواهند گرفت . اين دردسر سازها معمولا توسط plug inهاي وب يا در قالبي كاملا عادي و مشروع وارد كامپيوتر مي شوند، هنگامي كه آنها راهي براي ورود به رايانه پيدا كردند، از مودم براي برقراري تماس هاي راه دوركه مي تواند هرجاي جهان باشد استفاده مي كنند.
فكرمي كنم حالا با جاسوس افزارها و نشانه هاي بارز وجود آن ها بيشتر آشنا شده باشيد و به اهميت وجود يك حفاظت كامل و همه جانبه كه براي شما امنيتي مناسب را فراهم آورد، پي برده باشيد.

+ نوشته شده در  دوشنبه بیست و سوم آبان 1384ساعت 17:31  توسط مینو  | 

آموزش اکسس (بخش سوم)

در اين يادداشت روش غيرفعال كردن دكمه Shift به هنگام باز شدن فايلهاي اكسس را توضيح خواهم داد . در ابتدا بايد مقدمه اي را عنوان كنم.

مقدمه
مطلب زير در زمينه افزايش امنيت سيستم ها است. نكته اي كه در زمينه امنيت هر نوع سيستمي بايد به آن توجه داشت اينست كه بطور كلي امنيت يك امر نسبي است .
بعبارت ديگر يك راه حل امنيتي ، قطعا جلوي بسياري از حملات عليه سيستم را خواهد گرفت ولي هيچگاه بطور كامل حملات را خنثي نخواهد كرد و هميشه حفره هاي امنيتي وجود خواهند داشت .
در يادداشت قبل گفتيم كه به هنگام باز شدن فايلهاي اكسس، Startup اجراء مي شود . به كمك گزينه هاي Startup مي توانيم از دسترسي كاربران به محيط طراحي برنامه جلوگيري كنيم . ولي همانطور كه قبلا گفته شد ميكرو سافت با انگيزه ايجاد سيستم امنيتي چند مرحله اي يك روش ضد امنيتي براي آن ايجاد كرده است و كاربران برنامه ما مي توانند با پايين نگه داشتن دكمه Shift از اجراء Startup جلوگيري كنند و وارد محيط طراحي شوند . حال اگر بخواهيم دكمه شيفت را غير فعال كنيم تا كسي نتواند وارد محيط طراحي شود بايد به اين طريق عمل كرد :

استفاده از خاصيت AllowByPassKey
خاصيت AllowByPassKey يكي از خواص شيء Database است كه:
اگر مقدار آن True باشد دكمه شيفت فعال است .
و اگر مقدار آن False باشد دكمه شيفت غير فعال است .

اين خاصيت عملا در ليست خواص يك Database نيست و بايد آنرا فقط براي اولين بار ايجاد (Create) كرد . بعد از ايجاد آن مي توان مقدار آنرا False يا True كرد .

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

سه دكمه روي يك فرم مطابق شكل بالا ايجاد كنيد و كدهاي زير را در آن بنويسد.
(نمايش كدهاي نوشته شده مناسب نيست ولي اگر آنرا در حافظه كپي كنيد و در ماجول فرمتان كپي كند بدرستي تمايش داده مي شود .)



'براي اولين دفعه :
Private Sub Create_Click()
On Error GoTo Er

Dim db As Database
Dim prp As Property
Set db = CurrentDb
Set prp = db.CreateProperty("allowbypasskey", dbBoolean, False)
db.Properties.Append prp
db.Close

Ex:
Exit Sub
Er:
If Err.Number = 3367 Then
MsgBox "اين خاصيت ايجاد شده و لازم نيست مجددا ايجاد شود"
End If
Resume Ex

End Sub

'جهت غير فعال كردن شيفت
Private Sub ShiftNo_Click()
Dim db As Database
Set db = CurrentDb
db.Properties("allowbypasskey") = False
db.Close
End Sub

'جهت فعال كردن شيفت
Private Sub ShiftOk_Click()
Dim db As Database
Set db = CurrentDb
db.Properties("allowbypasskey") = True
db.Close
End Sub

+ نوشته شده در  دوشنبه بیست و سوم آبان 1384ساعت 17:14  توسط مینو  | 

آموزش اکسس (بخش دوم)

تابع تبديل عدد به حروف
مقدمه :
در اين يادداشت تابع مربوط به تبديل عدد به معادل حروفي آن ارائه مي كنم . عمدتا در سيستم هاي مالي و حسابداري نياز است معادل حروفي اعداد هم نمايش داده شده يا چاپ شوند كه توابع زير اين نياز را پاسخ مي دهد. مثلا براي چاپ يك چك روي خود برگه چك ، علاوه بر نياز به چاپ مبلغ عددي چك لازمست تا مبلغ حروفي چك هم روي برگه چاپ شود.

نحوه استفاده از تابع :
تابع Adad كه در زير ارائه شده است يك عدد را بعنوان ورودي گرفته و معادل حروفي آن عدد در زبان فارسي را بعنوان خروجي توليد مي كند. مثلا (Adad(1373 مقدار"يكهزار و سيصد و هفتاد و سه" را بعنوان خروجي توليد مي كند.براي استفاده از اين توابع بايد از چند خط پايين تر (Start of Module) تا انتهاي اين يادداشت را در حافظه كپي (Copy) كرده و در يك ماجول جديد در اكسس يا VB ، Paste كنيد . ( توجه داشته باشيد كه نمايش كدهاي نوشته شده در اينجا راست به چپ است كه پس از كپي كردن آن در ماجول اكسس بشكل صحيح نمايش داده خواهد شد)



' *********** Start of Module ***********

'توابع تبديل عدد به معادل حروفي آن در زبان فارسي
'برنامه نويس : حميد آزادي اردكاني
'ويرايش اول : ارديبهشت 1380
' پست الكترونيك : azadi1355@yahoo.com
' آدرس وب : http://try.persianblog.com

Function Adad(ByVal Number As Double) As String
If Number = 0 Then
Adad = "صفر"
End If
Dim Flag As Boolean
Dim S As String
Dim I, L As Byte
Dim K(1 To 5) As Double

S = Trim(Str(Number))
L = Len(S)
If L > 15 Then
Adad = "بسيار بزرگ"
Exit Function
End If
For I = 1 To 15 - L
S = "0" & S
Next I
For I = 1 To Int((L / 3) + 0.99)
K(5 - I + 1) = Val(Mid(S, 3 * (5 - I) + 1, 3))
Next I
Flag = False
S = ""
For I = 1 To 5
If K(I) <> 0 Then
Select Case I
Case 1
S = S & Three(K(I)) & " تريليون"
Flag = True
Case 2
S = S & IIf(Flag = True, " و ", "") & Three(K(I)) & " ميليارد"
Flag = True
Case 3
S = S & IIf(Flag = True, " و ", "") & Three(K(I)) & " ميليون"
Flag = True
Case 4
S = S & IIf(Flag = True, " و ", "") & Three(K(I)) & " هزار"
Flag = True
Case 5
S = S & IIf(Flag = True, " و ", "") & Three(K(I))
End Select
End If
Next I
Adad = S
End Function


Function Three(ByVal Number As Integer) As String
Dim S As String
Dim I, L As Long
Dim h(1 To 3) As Byte
Dim Flag As Boolean
L = Len(Trim(Str(Number)))
If Number = 0 Then
Three = ""
Exit Function
End If
If Number = 100 Then
Three = "يكصد"
Exit Function
End If

If L = 2 Then h(1) = 0
If L = 1 Then
h(1) = 0
h(2) = 0
End If

For I = 1 To L
h(3 - I + 1) = Mid(Trim(Str(Number)), L - I + 1, 1)
Next I

Select Case h(1)
Case 1
S = "يكصد"
Case 2
S = "دويست"
Case 3
S = "سيصد"
Case 4
S = "چهارصد"
Case 5
S = "پانصد"
Case 6
S = "ششصد"
Case 7
S = "هفتصد"
Case 8
S = "هشتصد"
Case 9
S = "نهصد"
End Select

Select Case h(2)
Case 1
Select Case h(3)
Case 0
S = S & " و " & "ده"
Case 1
S = S & " و " & "يازده"
Case 2
S = S & " و " & "دوازده"
Case 3
S = S & " و " & "سيزده"
Case 4
S = S & " و " & "چهارده"
Case 5
S = S & " و " & "پانزده"
Case 6
S = S & " و " & "شانزده"
Case 7
S = S & " و " & "هفده"
Case 8
S = S & " و " & "هجده"
Case 9
S = S & " و " & "نوزده"
End Select

Case 2
S = S & " و " & "بيست"
Case 3
S = S & " و " & "سي"
Case 4
S = S & " و " & "چهل"
Case 5
S = S & " و " & "پنجاه"
Case 6
S = S & " و " & "شصت"
Case 7
S = S & " و " & "هفتاد"
Case 8
S = S & " و " & "هشتاد"
Case 9
S = S & " و " & "نود"
End Select

If h(2) <> 1 Then
Select Case h(3)
Case 1
S = S & " و " & "يك"
Case 2
S = S & " و " & "دو"
Case 3
S = S & " و " & "سه"
Case 4
S = S & " و " & "چهار"
Case 5
S = S & " و " & "پنج"
Case 6
S = S & " و " & "شش"
Case 7
S = S & " و " & "هفت"
Case 8
S = S & " و " & "هشت"
Case 9
S = S & " و " & "نه"
End Select
End If
S = IIf(L < 3, Right(S, Len(S) - 3), S)
Three = S
End Function

+ نوشته شده در  دوشنبه بیست و سوم آبان 1384ساعت 17:11  توسط مینو  | 

آموزش اکسس (بخش اول)

تعريف كلي از اكسسAccess
اكسس ابزاري براي توليد بانكهاي اطلاعاتي رابطه اي است. بانكهاي اطلاعاتي امكان گردآوري انواع اطلاعات را براي ذخيره ‌سازي ،جستجو و بازيابي فراهم مي‌كند.

اجزا بانك اطلاعاتي اكسس عبارتند از:

DataBase:

1. Table
2. Query
3. Form
4. Report
5. Macros
6. Modules

• ‏‏Table :(جدول ) هر جدول براي نگهداري داده‌هاي خام بانك اطلاعاتي است.داده‌ها را شما در جدول وارد مي‌كنيد.جداول سپس اين داده‌ها را به شكل سطرها و ستونهايي سازماندهي ميكند.

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

• Form :متداولترين روش استفاده از فرمها،براي ورود و نمايش داده‌ها است.

• Report :گزارش ها مي‌توانند بر اساس جدول ،پرس‌وجوها باشند ،قابليت گزارش چاپ داده‌ها مي‌باشدگزارشها را مي‌توان بر اساس چند جدول و پرس‌وجو تهيه نمود تا رابطه بين داده‌ها را نشان داد.

• Macro :ماكروها به خودكار كردن كارهاي تكراري ،بدون نوشتن برنامه‌هاي پيچيده يا فراگيري يك زبان برنامه نويسي ، ياري مي‌كند، در واقع ماكروها يكسري قابليت‌هايي هستند كه امكان سريع سازي را فراهم مي‌سازند.

• Modules : محيط بسيار قوي و با كيفيت براي برنامه‌نويسي محاسبات و عمليات پيچيده روي سيستم بانك اطلاعاتي.
-----------------------------------
الف ‌- تعريف دادهData :
هرگونه اطلاعات لازم و كاربردي درباره يك موجوديت را يك داده مي‌گويند.

ب‌- تعريف Fild :
به هر ستون يك جدول كه در بر گيرنده كليه اطلاعات مربوط به آن ستون مي‌باشد و بخشي از يك موجوديت را تشگيل ميدهد فيلد گفته مي‌شود.

ت‌- تعريف Record :
به هر سطر يك جدول كه اطلاعات مربوط به يك موجوديت را نشان مي‌دهد ، ركورد گويند.

ث‌- تعريف پايگاه داده‌اي ارتباطي:
پايگاه داده‌هاي ارتباطي، مجموعه‌اي از جدول‌هاي داده است كه يك فيلد مشترك در هر يك از جدولهاي موجود دارد و از طريق آن مي‌توان داده‌ها را بهم ربط داد.به اين مدل از پايگاه داده‌ها ، پايگاه داده‌هاي ارتباطي RelationShip مي‌گويند.

+ نوشته شده در  دوشنبه بیست و سوم آبان 1384ساعت 17:9  توسط مینو  | 

گزارشي از سرنوشت پروژه‌هاي طرح ملي لينوكس فارسي

از: ايرنا

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

در اين راستا پروژه‌هاي متعددي به صورت مناقصه در مرداد سال ‪ ۸۲‬به شركت هاي واجد شرايط واگذار شد كه تحت نظارت و هدايت مديريت طرح ملي لينوكس فارسي به پايان رسيده است.

مركز فناوري اطلاعات و ارتباطات پيشرفته شريف به حوزه آي تي ايرنا اعلام كرد كه خروجي اين پروژه‌ها در متن اصلي نسخه بين‌المللي نرم افزارهاي مربوط (در صورت وجود) قرار گرفته و از طريق سايت ‪projects.farsilinux.org‬ نيز قابل دسترس است.

اين پروژه‌ها كه شامل ‪ ۵‬پروژه مي‌باشد در بهار سال ‪ ۸۲‬اعلام‌عمومي شد كه هدف كلي اين پروژه‌ها تهيه پايه هاي لازم براي استفاده زبان فارسي در محيط "گنو-لينوكس" بوده است.

پروژه‌هاي فوق در بهار سال ‪ ۸۳‬به پايان رسيد كه شامل مرتب سازي فارسي، جستجوي نادقيق فارسي، نيازهاي شرايط محلي فارسي ايران، الگوريتم دو جهته "اتصال يوني كد"، تقويم رسمي ايران، صفحه كليد فارسي ايران، حروف چيني با استاندارد "اوپن تايپ" و قلم مرجع بوده است.

اين مركز به نمايندگي از شوراي عالي انفورماتيك در بيستم اسفند ماه سال ‪ ۸۲‬به صورت رسمي براي ‪ ۸‬پروژه ديگر اعلان مناقصه كرد كه برخي از آنها به پايان رسيده است و برخي ديگر مراحل پاياني خود را طي مي‌كند.

اين پروژه‌ها در سطح بالاتري نسبت به پروژه هاي قبل آن قرار دارند به طوريكه به فارسي‌سازي كتابخانه‌هاي پايه‌اي و مياني سيستم عامل "گنو-لينوكس" مي پردازند.

اين پروژه‌ها شامل طراحي و پياده سازي لوح فشرده نمايشي لينوكس (‪ ،(Shabdix‬بررسي معماري و ثبت مشكلات زبان فارسي در نرم افزارهاي ‪Mozilla‬ به غير از ‪ Chatzilla‬هستند.

همچنين تعريف مشخصات ورهنمودهاي طراحي واسط كاربر(‪ (GUI‬فارسي، افزودن امكانات فارسي به كتابخانه ‪ C‬گنو، واژه نامه مرجع براي ترجمه محيط لينوكس ، افزودن امكانات فارسي به غلط ياب واژگان ‪ ،aspell‬افزودن امكانات فارسي به ‪ Novell Evolution‬و افزودن امكانات به پايگاه داده ‪ PostgreSQL‬از جمله ديگر پروژه‌هاي اجرا شده و يا در حال اجراست.

افزودن امكانات فارسي به نرم افزار مخدوم نامه‪ imp‬و افزودن امكانات فارسي به پايگاه داده ‪ My SQL‬از جمله ديگر پروژه‌ها محسوب مي‌شود.

كميته فني در ادامه روند فعاليت طرح ملي لينوكس فارسي و رفع مشكلات موجود براي استفاده از زبان فارسي در سيستم عامل "گنو-لينوكس" و ديگر نرم افزارهاي متن باز، ضرورت انجام پروژه‌هايي را در سال ‪ ۸۴‬تشخيص داده كه در اسفند ‪ ۸۳‬اعلام عمومي شد.

با توجه به ارائه ‪ ۴۴‬پيشنهاد از ‪ ۲۲‬شركت و تيم نرم افزاري براي ‪۱۰‬ پروژه مذكور، مركز فناوري اطلاعات و ارتباطات پيشرفته دانشگاه صنعتي شريف اين پيشنهادها را بررسي فني كرده و نتايج مناقصه مربوط را در ارديبهشت ماه اعلام كرد.

‪ ۱۰‬پروژه امسال شامل "طراحي و پياده سازي سه قلم ‪ Outline‬براي كاربردهاي واسط كاربري"، "ترمينال و چاپ"، "افزودن پشتيباني فارسي در كتابخانه هاي (+‪ "GNOME (GTK‬و"افزودن پشتيباني فارسي در كتابخانه‌هاي ‪"ICU‬ است.

همچنين "افزودن پشتيباني فارسي در كتابخانه هاي (‪" ،"KDE (Qt‬بررسي و ثبت مشكلات فارسي در ‪" ،"Openoffice.org‬رفع نواقص فارسي مرورگر موزيلا"، "ترجمه محيط گرافيكي ‪ GNOME‬به فارسي" از ديگر پروژه‌هاي سال جاري است.

از ديگر پروژه‌ها مي‌توان به"ترجمه محيط گرافيكي ‪ KDE‬به فارسي"، "فارسي سازي ابزار مديريت كارگزار ‪" ،"webmin‬توليد يك لغت نامه چند زبانه براي استفاده در محيط لينوكس در راستاي شفاف سازي و اطلاع رساني عمومي اشاره كرد.

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

زمان، هزينه و شرح خدمات تمامي اين پروژه در پورتال اطلاع رساني طرح ملي لينوكس فارسي به آدرس ‪ http://www.farsilinux.org‬قرار دارد.

+ نوشته شده در  پنجشنبه نوزدهم آبان 1384ساعت 12:36  توسط مینو  | 

آموزش تنظيمات TCP\IP در لينوكس

منبع:شبكه شماره:53


قبل از تصميم گيري براي نصب و راه اندازي TCP\IP بر روي لينوكس بايد از آماده بودن فايل سيستم براي اين كار مطمئن شويد. براي اين كار كافي است چند گام ساده را طي كنيد. نخست آنكه بايد از نصب بودن نرم افزار شبكه اطمينان بيابيد. اين موضوع در زمان نصب لينوكس از كاربر سوال مي شود و در اكثر مواقع و در بيشتر توزيع هاي لينوكس بهصورت پيش فرض انتخاب شده است. توجه داشته باشيد كه دايركتوري proc \ يكي از مكان هايي است كه اطلاعات شبكه اي لينوكس در آنجا ذخيره مي شود. وجود اين دايركتوري يكي از نشانه هاي نصب بودن امكانات شبكه اي در لينوكس است. زماني كه از محتويات دايركتوري proc \ ليست مي گيريد (يعني با دستور cd به اين مسير برويد و سپس فرمان ls را اجرا كنيد). در صورتي كه دايركتوري proc \ در سيستم شما موجود نباشد به احتمال زياد ناگزير خواهيد بود كه كرنل سيستم عامل خود را مجددا” كامپايل كرده و گزينه \proc را برگزينيد. به اين منظور بايد به دايركتوري سورس لينوكس يعني \usr\src\linux تغيير مسير داده و روتين تنظيمات (يا configuration ) كرنل را اجرا كنيد. دستور اين كار چنين است:Make config اگر در محيط گرافيكي X-windows كار مي كنيد،مي توانيد از ابزارهاي گرافيكي استفاده كرده و دستور مقابل را تايپ كنيد: Make xconfig در زمان كامپايل كرنل از شما سوال مي شود كه آيا به پشتيباني از procfs نياز داريد يا خير.به اين مورد پاسخ مثبت دهيد. همين موضوع باعث ساخته شدن دايركتوري \proc در سيستم شما خواهد شد. دايركتوري \proc هميشه در زمان راه اندازي لينوكس به طور خودكار mount مي شود. وجود خطي مشابه با خط زير در فايل \etc\fstab شرايط mount خودكار اين دايركتوري را فراهم مي كند. None \ proc proc defaults گام بعدي كه قبل از نصب و راه اندازي TCP\IP لازم است برداشته شود،انتخاب نام ميزبان (hostname ) سيستم است. براي اين كار مي توان از دستور مقابل استفاده كرد: Hostname…name… در دستور بالا به جاي name نام مورد نظر خود را براي ميزبان قرار دهيد. در اينجا ذكر اين نكته ضروري است كه اگر سيستم شما در شبكه قرار دارد و در نتيجه داراي يك نام domain كامل هستيد،مي توانيد در دستور فوق از نام كامل سيستم و Domain استفاده كنيد. مثلا” : Hostnameyourname.yourdomain.com در هر صورت يك ورودي جديد در فايل etc\hosts\ ساخته خواهد شد كه منعكس كننده نتيجه اجراي دستور بالاست. توصيه مي شود كه از اين موضوع براي اطمينان از صحت عملكرد دستور قبلي حتما” استفاده كنيد. نكته ديگري كه بايد قبل از راه اندازي TCP\IP بر روي سيستم خود در نظر بگيريد آن است كه بايد يك نشاني IP براي شناسايي سيستم خود در شبكه انتخاب كنيد. به طور معمول فايل etc\netyworks شامل تمامي نام ها و نشاني هايي است كه سيستم شما در شبكه با آن ها سرو كار دارد. نرم افزارهاي كاربردي از اطلاعات موجود در اين فايل براي تعيين نشاني هاي مقاصد منابع موجود در شبكه استفاده مي كنند. در فايل etc.networks دو ستون براي فهرست كردن نام سمبوليك و نشاني IP منابع شبكه در نظر گرفته شده است. در بسياري از موارد در فايل هاي etc\networks مدخلي براي درايور loopback وجود دارد. در زير نمونه اي از يك فايل etc\networks آورده شده است: Loopback 12.0.0. Marlin-net 147.154.0 BNR 47.0.0.0 در نمونه فايل فوق،دو شبكه به همراه نشاني هاي IP آن ها ثبت شده اند. توجه داشته باشيد كه در نشاني هاي IP فقط بخش شبكه در نشاني IP ذكر شده است و به جاي بخش انتهايي نشاني ها،صفر قرار داده شده است.

رابط شبكه
يكي از كارهاي ديگري كه در شبكه بندي لينوكس بايد انجام شود،تعيين رابط شبكه براي سيستم عامل و ديگر ابزارهاي نرم افزاري آن است. اين كار توسط دستور ifconfig انجام مي شود. اجراي اين دستور به همراه ذكر نشاني IP باعث مي شود تا لايه شبكه كرنل لينوكس بتواند با رابط شبكه ارتباط برقرار كند. بدين ترتيب سيستم عامل مي تواند از طريق رابط شبكه به تبادل اطلاعات با دنياي خارج بپردازد. كاربر بايد به ازاي هر يك از درايوهاي شبكه،رابط هاي شبكه مربوط را برپاكند،بدين معني كه بايد براي هر يك از درايوهاي شبكه،رابط هاي شبكه مربوط را بر پا كند. بدين معني كه بايد براي هر يك از درايوهاي ppp ,loopback و يا اترنت،يك بار فرمان ifconfig اجرا شود. ترتيب كار به صورت زير است: ifconfig interface-name ip- address در دستور بالا،به جاي interfacename بايد نام اختصاري درايور قرار داده شود. بعد از آن كه دستور ifconfig اجرا شد و در نتيجه رابط شبكه فعال گرديد. كاربر بايد از دستور route براي ايجاد و يا حذف مسيرها در جدول مسير يابي (routing table ) كرنل استفاده كند. اين عمل از آن جهت اهميت دارد كه سيستم بتواند توسط جدول مسيريابي ،ديگر منابع شبكه را بيابد. از دستور فوق به صورت زير استفاده مي شود: Route add\delip-address توجه داشته باشيد در هر مورد استفاده از دستور فوق بايد يكي از حالات add يا del بكار برده شوند. در صورتي كه بخواهيد محتويات فعلي جدول مسيريابي سيستم را مشاهده كنيد،مي توانيد به اين صورت عمل كنيد: $ Route (يعني استفاده از دستور route بدون هيچ سوئيچ ) اگر اين دستور را اجرا كنيد،ممكن است چيزي شبيه متن زير ببينيد.(در اين مثال،سيستم مورد نظر فقط داراي مدخل درايور loopback بوده است)
$route
Kernel Routing table
Destination Gateway Genmask Window Use Lface
Loopback *255.0.0.0u1936 0 16 lo
يادآوري مي كنيم كه يك روش ديگر نمايش داده هاي جدول مسيريابي ،استفاده ا زدستور مقابل است: Netstat –rn در دستور فوق سوئيچ r باعث نمايش جدول مسيريابي و سوئيچ n منجر به نمايش نشاني هاي ip به جاي اسامي نمادين مي شوند. در جداول مسيريابي ستون هايي كه اهميت دارند. ستون مربوط به نام مقصد مثلا” loopback ،ستون مربوط به ماسك مانند Genmask و نهايتا” ستون نام رابط شبكه هستند. شما مي توانيد توسط دستور route به همراه سوئيچ n ،داده هاي جدول مسيريابي را به صورتي مشاهده كنيد كه در آن به جاي اسامي سمبوليك،از نشاني هاي ip استفاده شده باشد. همان طور كه قبلا” اشاره شد،در شرايط معمول سيستم هاي مجهز به سيستم عامل لينوكس داراي يك رابط loopback و يك رابط شبكه نظير اترنت هستند كه بايد به ترتيب تنظيم شوند.

تنظيم رابط loopback
همان طور كه قبلا” اشاره كرديم ،رابط loopback توسط برخي از نرم افزارها براي كاركرد طبيعي مورد استفاده قرار مي گيرد.از آن گذشته تعداد ديگري از نرم افزارهاي كاربردي تحت لينوكس نيز از اين رابط براي كاربردهاي عيب يابي كمك مي گيرند. يادآوري مي كنيم كه نشاني ip يك رابط شبكه loopback به صورت 127.0.0.1 نوشته مي شودو فايل etc\hosts\ بايد يك ورودي براي loopback باشد. در اين جا مناسب است كه خاطر نشان كنيم كه نشاني loopback را مي توان به صورت هاي گوناگوني نوشت و اصولا” هر نشاني به فرم 127.x.x.x (x به معني عددي بين 0 تا 255 است) پذيرفتني است. اينكه چرا عادت كرده ايم كه از يونيكسي اوليه چنين مرسوم بوده است. در صورتي كه ورودي مربوط به رابط loopback در فايل \etc\hosts ثبت نشده ifconfig lo استفاده كنيم.

تنظيم رابط اترنت
براي تنظيم اترنت (مثلا” كارت شبكه) هم مي توانيد همان مراحل قبلي را مجدد تكرار كنيد. فقط توجه داشته باشيد كه نام رابط شما چيزي مانند eth0 يا eht 1 است و نشاني ip را نيز بايد به نشاني ip انتخابي خود تغيير دهيد. در اين جا زماني كه قصد اجراي دستور ifconfig را براي رابط شبكه داريد،نيازي به مشخص كردن ماسك شبكه نخواهيد داشت. زيرا سيستم عامل مي تواند مقدار پارامتر ماسك را به طور خودكار از نشاني ip داده شده به دست آورد. به عنوان مثال مي توانيد براي ثبت نشاني 147.123.20.1 از يكي از خطوط زير استفاده كنيد:
Ifconfig 147.123.20.1 ifconfig 147.123.20.1 nemask 255.25.255.0 براي بررسي صحت انجام عمليات مي توانيد بار ديگر از دستور ifconfig eht 0 استفاده كنيد. نشاني Broadcast بر اساس نشاني ip سيستم محلي تنظيم شده است. اين عمل از آن جهت توسط TCP\IP انجام مي گيرد كه تمام سيستم هاي موجود در شبكه به يك باره در دسترس قرار گيرند. مقدار و اندازه Maximum Transfer Unit هم به طور معمول بر اساس استانداردهاي شبكه هاي اترنت به مقدار حداكثر مجاز يعني 1500 تنظيم مي شود. همان طور كه مي دانيد گام بعدي اضافه كردن نشاني اترنت به جدول مسيريابي كرنل است . نشاني ip مورد نياز براي همراهي در دستور route همان نشاني شبكه بدون ذكر پارامتر محلي است . براي آنكه تمام شبكه محلي را در يك نوبت پوشش دهيم،از گزينه net در دستور route كمك مي گيريم. در نتيجه شكل استفاده از دستور route براي مثال ما به صورت زير خواهد بود:Route add –net 147.123.20.0 اين دستور تمامي سيستم هاي موجود در شبكه محلي را كه توسط نشاني 147.123.20.0 شناسايي مي شوند، را به جدول مسيريابي اضافه مي كند. در سيستم هاي موجود در شبكه را به صورت دستي به جدول مسيريابي اضافه كنيد. روش ديگر آن است كه از فايل \etc\networks فقط براي مشخص كردن بخش فهرست هايي از نام ها و نشاني هاي ip باشد،به عنوان مثال در صورتي كه در اين فايل ،ورودي مربوط به شبكه اي به نام foobamet داشته باشيم،مي توانيم تمام شبكه كمك دستور زير به جدول مسيريابي اضافه كنيم: Route add foobar-net استفاده از فايل etc\networks اين اشكال امنيتي را به همراه دارد كه به تمام سيستم هاي موجود در شبكه اجازه دسترسي و مجوزهاي يكساني داده مي شود. پس از آنكه مسيرها به جدول مسيريابي كرنل اضافه شدند،مي توانيد براي بررسي صحت تنظيمات،از دستور ping براي هر يك از سيستم هاي شبكه استفاده كنيد. براي اين كار يا بايد نام سيستم مقصد را داشته باشيد و يا آنكه نشاني ip آن را بدانيد. اين اطلاعات مي توانند از طريق فايل \etc\hosts و يا سرويسي مانند DNS به دست آيند. پس از آنكه مراحل فوق به درستي انجام گرديدند،سيستم لينوكس شما قادر خواهد بود كه به هر يك از سيستم هاي موجود در شبكه محلي توسط پروتكل TCP\IP متصل شود. در صورتي كه شبكه مورد نظر كوچك باشد،اين عمل كفايت مي كند و كار در همين جا خاتمه يافته مي شود . اما در شبكه هاي بزرگتر و يا شبكه هايي كه از پروتكل هاي ويژه اي استفاده مي كنند و يا در آن ها Gateway به كار رفته باشد،نياز به طي مراحل ديگري وجود خواهد داشت. در صورتي كه قصد اضافه كردن سيستم هاي ديگري را به شبكه داشته باشيد كه از TCP\IP استفاده مي كنند،مي توانيد همانند مراحل قبلي ،نام و نشاني IP هاي آن ها را به فايل \etc\hosts اضافه كنيد. سيستم هايي به نام godzilla و godzilla.tpci ،مجهز به سيستم عاملي (كه از TCP\IP پشتيباني مي كند)هستند. و قادرند به كمك teinet يا ftp به سيستم لينوكسي ما متصل شوند (توجه داشته باشيد كه كاربر چنين سيستم هايي فقط زماني قادر خواهد بود به سيستم شما login كند كه مجوزهاي مربوط را براي آنها تنظيم كرده باشيد.) در صورتي كه نام يا نشاني يك سيستم راه دور در فايل \etc\hosts ثبت شده باشد،شما قادر خواهيد بود كه توسط ابزارهايي مانند telnet يا ftp با آن سيستم ارتباط داشته باشيد.
Name service و Name resolver
پروتكل TCP\IP از ورودي هاي فايل \etc\hosts براي ترجمه اسامي به نشاني هاي IP استفاده مي كند. به عنوان مثال،زماني از نامي مانند darkstar را در آن بيابد. در صورتيكه چنين ورودي در اين فايل موجود نباشد، شما قادر به اتصال چنين سيستمي نخواهيد بود. اما تصور كنيد كه تعداد سيستم هاي موجود در شبكه زياد باشند و شما قصد اتصال به تعداد بيشتري از سيستم ها را داشته باشيد و در اين صورت تنظيم و اضافه كردن يكايك نام ها و نشاني هاي ip به جدول مسيريابي كاري خسته كننده و زمان برخواهد بود. سرويس BIND كه مخفف عبارت Beekeley internet Name Domain Service است براي حل اين مشكل ايجاد شده است. بعدها BIND در DNS يا Domain Name System نيز پياده سازي شد. در حال حاضر اكثر توزيع هاي لينوكس به BIND مجهز هستند و در بعضي از نسخه ها هم DNS از قبل پياده سازي شده است. BIND و DNS هر دو مقوله هاي پيچيده اي هستند كه بسياري از كاربران لينوكس را فراري مي دهند. در صورتي كه شبكه شما به يك DNS سرور متصل باشد و يا آنكه قصد استفاده ا زسرور DNS ISP را داشته باشيد،نيازي به اجراي BIND بر روي سيستم خود نخواهيد داشت. اما در عوض بايد سيستم خود را به گونه اي تنظيم كنيد كه قادر به استفاده از سرور DNS باشد. در چنين مواقعي،به جاي آن كه نام ها و نشاني هاي يكايك سيستم هاي متصل به شبكه را به فايل \etc\hosts اضافه كنيد،كلانيت DNS و يا مجموعه اي از روتين هاي كتابخانه اي در لينوكس،فراخواني مي شوند و با استفاده از سرور DNS نام هاي مورد نظر را به نشاني هاي مربوطه آن ها ترجمه يا Resolver مي كنند. Name Resolver توسط فايل \etc\resolv.conf تنظيم مي شود. به طور معمول اين فايل شامل راهنماي (directive ) جستجو و راهنماي Name server است. راهنماي جستجو به شكل زير به كار برده مي شود: Searchdomain 1 domain2 domainN در عبارت فوق هر يك از domain ها توسط فهرستي از پسوندهاي دامنه اي جايگزين مي شوندكه Name Resolver به اسامي ميزباني اضافه مي كند كه به صورت كامل مشخص نشده باشد.به عنوان مثال،راهنماي جستجوي زير توجه كنيد: Search xyz.com us.xyx.com europe.xyz.com در صورتي كه نامي مانند http://www.abc.com به كار گرفته شده باشد،مي گوييم كه اين نام به صورت كامل بيان شده است. در چنين وضعيتي ،از راهنماي جستجو استفاده نخواهد شد. اما اگر يك سرويس TCP\IP از نامي مانند WWW استفاده كند كه به شكل كامل نيست،در اين صورت راهنماي جستجو سعي خواهد كرد تا اين نام را به ترتيب به صورت اسامي مشابه با http://www.xyz.com و http://www.us.xyz.com و ... تعبير كند. سرورهاي DNS مورد استفاده Name Resolver توسط راهنماي nameserver مشخص مي شود: Nameserver ipaddress كه در آن پارامتر ipaddress نشاني ip سرور DNS است. به عنوان مثال در صورتي كه نخستين سرور DNS داراي نشاني IP برابر با 199.231.13.10 باشد، در اين صورت راهنماي DNS به شكل زير خواهد شد: Nameserver 100.231.13.10 در هر مورد مي توان حداكثر مي توان سه نشاني سرور DNS مشخص كرد كه هر يك داراي راهنماي nameserver خود هستند و در يك خط ثبت مي شوند. مطلب ديگري كه مي تواند توسط كاربر تنظيم شود،ترتيب مراجعه به DNS يا فايل \etc\hosts در زمان ترجمه نام است. بدين ترتيب معني كه كاربر مي تواند با كمك فايل \etc\nsswitch.conf انتخاب كند كه براي ترجمه نام،نخست به DNS مراجعه شود و سپس به فايل \etc\hosts و يا بر عكس . در هنگام استفاده از سيستم هاي بزرگ و يا در زماني كه قصد استفاده از تمام سرويس هاي اينترنتي در سيستم لينوكس خود داشته باشيد،لازم خواهد بود كه مشخصه هاي BIND به درستي تنظيم شده باشند،خوشبختانه چنين تنظيمي فقط كافي است كه يك بار انجام شود. براي اين كار به نرم افزار BIND نياز خواهد بود كه در اكثر توزيع هاي جديد لينوكس پيش بيني شده است.

دروازه يا Gateway
زماني كه دو يا چند شبكه به يكديگر متصل مي شوند،از Gateway استفاده مي شود. Gateway ماشيني است كه به عنوان رابط بين چند شبكه عمل مي كند و اطلاعات را بر اساس نشاني هاي ip آن ها به شبكه هاي مربوطه هدايت و مسيردهي مي كند. زماني كه قرار باشد يك سيستم لينوكسي به عنوان Gateway كار كند،بايد چند تغيير در تنظيمات فايل هاي configuration شبكه اعمال شود. براي آنكه بتوان از سرويس هاي يك سيستم ديگر به عنوان Gateway استفاده كرد،بايد به جدول مسيريابي،اطلاعاتي از Gateway قرار باشد شبكه اي را به اينترنت متصل سازد. اين عمل توسط دستور زير قابل تنظيم است: Route add default gw netgate در دستور بالا، natgate نام سيستمي در شبكه است كه قرار است به عنوان يك gateway به كار گرفته شود. اين نام در دستور بالا بعد از كليد واژه gw ذكر مي شود. معني عبارت default در دستور بالا به اين معني است كه تمام سيستم هاي موجود در شبكه قادر به اتصال به اينترنت از طريق Gateway هستند. در صورتي كه قصد ارتباط دادن دو شبكه توسط يك Gateway در بين باشد،بايد نام شبكه دوم در فايل etc\networks\ قيد شده باشد و در اين صورت شكل نوشتاري دستور route به صورت زير است: Route add big-corp gw gate-serv در دستو رفوق از سيستمي به نام gateserv براي دسترسي به شبكه اي به نام bigcorp مي توان استفاده كرد. نكته ديگر آنكه اگر به همين جا اكتفا شود،كاربران فقط قادر خواهند بود كه اطلاعات را به سيستم ها ي مقصد در شبكه دوم ارسال كنند و قابليت دريافت اطلاعات از آن سيستم ها وجود نخواهد داشت. براي حل اين مسئله لازم است كه در جداول مسيريابي سيستم هاي شبكه دوم تنظيماتي انجام شود. اگر قصد استفاده از سيستم محلي خود را به عنوان ارتباط دهنده دو شبكه داشته باشيد،بايد سيستم خود را به دو كارت شبكه ( يا دو اتصال PPP و يا SLIP ) مجهز كنيد. فرض كنيد كه قصد استفاده از سيستم خود را براي اتصال دو شبكه به نام هاي Small-net و big-net داشته باشيم و شرايط سخت افزاري اين كار فراهم شده باشد. نخستين گام آن است كه رابط هاي اترنت كارت هاي شبكه هر يك با نشاني هاي خودشان تنظيم شوند. به عنوان مثال ممكن است سيستم شما در شبكه بزرگ تر داراي نشاني ip برابر با 163.12.34.36 باشد و در شبكه كوچك تر نشاني سيستم 147.123.12.1 باشد. در اين صورت لازم خواهد بود كه دو ورودي در فايل \etc\hosts براي ساده تر عمل ترجمه نام (Name resolution ) ايجاد كنيم. مثلا” به اين ترتيب 163.12.34.36 merlin.big-net.com merlin-iface1
147.123.12.1 merlin.small-net.com merlin-iface2
در اين مثال فرض شده است كه سيستم شما در هر دو شبكه داراي نام merlin است كه كاملا” قانوني است در مورد فوق اسامي رابط ها نيز به جهت سهولت قيد شده اند. پس از اين مرحله بايد از فرمان ifconfig براي برقراري ارتباط بين رابط ها و اسامي هاي به كار رفته در فايل \etc\hosts استفاده كنيم: ifconfig eth 0 merlin-iface1 ifconfig eth1merlin-iface2
و نهايتا” لازم است كه جدول مسيريابي را تغيير دهيم. براي اين كار از دستورات زير به صورت مشخص شده بايد استفاده كنيم: Route add big-net Route add small-net
زماني كه اين مراحل به درستي انجام شوند، مي توانيد از سيستم خود به عنوان يك Gateway براي برقراري ارتباط بين دو شبكه استفاده كنيد.

استفاده از ابزارهاي گرافيكي براي تنظيمات رابط هاي شبكه
تا اينجا از دستوراتي استفاده كرديم كه تمام مراحل لازم براي ايجاد و تنظيمات شبكه را از ابتداي كار توصيف مي كردند. زماني كه لينوكسي راه اندازي مي شود، به طور معمول نيازي به اجراي اسكريپت هايي نظير اسكريپت هاي فوق را نخواهيد داشت،علت اين موضوع آن است كه چنين اسكريپت هايي به طور خودكار در زمان راه اندازي اجرا مي شوند. اما اشكال كار در اينجا است كه اين اسكريپت ها ممكن است از يك توزيع لينوكس به توزيع ديگري كمي تفاوت داشته باشند،به عنوان مثال لينوكس هايي مانند slackware كه از اسكريپت هايي به سبك يونيكس BSD استفاده مي كنند. با لينوكس هايي مانند RedHat يا Fedora كه از اسكريپت هاي به سبك يونيكس VR4 پيروي مي كنند،از نظر اسكريپت هاي Shell ، تفاوت دارند. اما خوشبختانه،توزيع عاي لينوكس امروزي به همراه ابزارهاي گرافيكي عرضه مي شوند كه كار تنظيمات شبكه را تا حد بسيار زياد تسهيل مي كنند. اين ابزارها به طور خودكار تغييرات و ويرايش هاي شما را در اسكريپت هاي راه اندازي اعمال مي كنند. يكي از نخستين ابزارهاي گرافيكي تنظيمات لينوكس ، netcfg نام دارد . براي راه اندازي اين ابزار كافي است كه نام آن را از خط فرمان اجرا كنيد.

Linuxconf
ابزار بسيار قوي ديگر،linuxconf نام دارد كه مي توان از آن براي تنظيمات شبكه و بسياري از اعمال مديريتي ديگر استفاده كرد. از آنجايي كه از اين ابزار براي مسير دهي و اعمال پيچيده ديگر استفاده مي شود. فراگيري آن و كسب مهارت در آن كاملا” منطقي است. براي راه اندازي اين ابزار هم مي توانيد به سادگي نام آن را از خط فرمان اجرا كنيد. البته برنامه هاي گرافيكي ميزكارهايي مانند KDE يا GNOME هم بسته به نسخه لينوكسي كه از آن استفاده مي كنيد،ممكن است پيش بيني آيكوني براي فراخواني linuxconf را كرده باشند.

+ نوشته شده در  پنجشنبه نوزدهم آبان 1384ساعت 12:35  توسط مینو  | 

آموزش دلفی (بخش دوم)

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



type
TDay = (Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday)
var
Name : String; {256 Bytes}
X, Y : Integer; {4 + 4 = 8 Bytes}
List : array [0..10] of Double; {8 * 11 = 88 Bytes}
Today : TDay; {1 Byte}


دراین نمونه پس از پایان برنامه، تمام حافظه تخصیص داده شده فراخوانی و آزاد می شود.


تخصیص حافظه دینامیکی
در این حالت برنامه نویس احتیاج دارد تا انباره حافظه را شخصا" تخصیص و آزاد کند.

نوع Pointer
اشاره‌گرها در دلفی می‌توانند شکل‌های مختلفی را در برگیرد. نخست، نوع اشاره‌گری که یک آدرس حافظه را برای نوع ویژه‌ای از داده، همانند صحیح، رشته و غیره نگه میدارد (Typed Pointer).



var
;Number : ^Integer
;Name : ^String


دوم، اشاره‌گرهای بدون نوع. اشاره‌گرهای بدون نوع (Untyped Pointers) خیلی به نوع معمولی خود شبیه هستند. اما محدودیت‌هایی مثل اینکه باید به نوع خاصی اشاره (Point) کند را ندارد.



var
;Something : Pointer


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



begin
New(Something);
Dispose(Something);
end;


برای تخصیص حافظه کامپایلر باید بداند که نوع داده ما برای تخصیص حافظه چیست:



type
IntPtr = ^Integer;

var
Something : Pointer;
begin
Something := New(IntPtr);
Integer(Something^) := 10;
Dispose(Something);
end;



تخصیص بلاکی از حافظه
ما می‌توانیم از اشاره به بلاک‌هایی از تخصیص حافظه در سیستم استفاده کنیم. این کار را با رویه‌های GetMem و FreeMem برای تخصیص و آزاد سازی حافظه استفاده میکنیم.



var
Something : Pointer
begin
GetMem(Something, 100);
FreeMem(Something, 100);
end;



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



var
Something : Pointer;
MyString : PChar; // type PChar = ^Char;

begin
GetMem(Something, 100);
MyString := Something;
StrCopy(Something, 'Hello World');
FreeMem(Something, 100);
end;



حافظه Heap
Heap شامل قسمتی از حافظه موجود در یک برنامه است که آنرا حافظه پویا می نامیم. Heap بخشی است که در آن تخصیص و تعریف حافظه به صورت تصادفی (Random) اتفاق می‌افتد. این به آن معناست که اگر شما سه بلاک از حافظه را به طور متوالی تخصیص دهید، می توانید بعد از هر دستور آنرا از بین ببرید. مدیر Heap جزئیات را برای شما نگهداری می کند. بنابراین شما به سادگی می توانید یک حافظه جدید را با GetMem و یا بوسیله صدا زدن constructor هنگام ساختن یک شی درخواست کنید و دلفی به شما یک بلاک جدید را برخواهد گرداند. Heap یکی از سه فضای موجود در برنامه کاربردی را استفاده کرده و دوتای دیگر به صورت فضای یکپارچه (Global) و پشته قرار می گیرند.


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

+ نوشته شده در  پنجشنبه نوزدهم آبان 1384ساعت 12:34  توسط مینو  | 

آموزش دلفی (بخش اول)

منبع: dev.ir

تاریخچه زبان دلفی
دلفی در واقع یک کامپایلر پاسکال است. دلفی 6 نسل جدید کامپایلر های پاسکال است که شرکت Borland از زمان ایجاد اولین نسخه پاسکال توسط Andres Hejlsberg در 15 سال پیش به بازار عرضه کرد.

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

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

سال 1995 - Delphi1
در زمان استفاده از سیستم عامل DOS برنامه نویسان مجبور بودند از بین زبان پر قدرت ولی کم سرعت Basic و زبان کارآمد ولی پیچیده و نامفهوم Assembly یکی را انتخاب کنند. پاسکال با ارائه یک زبان ساخت یافته و یک کامپایلر سریع و کم نقص این شکاف را پرکرد. برنامه نویسان Windows 3.1 هم با تصمیم گیری مشابهی رو برو شدند. یکی زبان قدرتمند و سنگین ++C و یکی زبان ساده و محدود کننده Visual Basic .

ارائه Delphi1 در این مورد هم راه حل خوبی برای برنامه نویسان بود. دلفی مجموعه متفاوتی برای برنامه نویسی بود . طراحی و توسعه برنامه های کاربردی، ایجاد DLL ها، پایگاههای داده و ... که یک محیط ویژوال وسیع را تشکیل می داد. Delphi1 اولین ابزار برنامه نویسی ویندوز بود که محیط طراحی ویژوال، کامپایلر بهینه کد برنامه و دسترسی قوی به پایگاههای داده را در یک جا جمع کرد که آن را به یکی از بهترین ابزارهای روش نوین توسعه سریع نرم افزار (Rapid Application Development) تبدیل کرد. این مجموعه قدرتمند باعث شد که در همان زمان بسیاری از برنامه نویسان زبانهای دیگر به Delphi روی بیاورند و این موفقیت بزرگی برای Borland به حساب می آمد. همچنین بسیاری از برنامه نویسان پاسکال دلفی را ابزاری یافتند که توسط آن هم از توانایی و تجربه خود در برنامه نویسی پاسکال استفاده می کردند و هم توانایی کار در ویندوز را به دست آوردند. همچنین زبانی که در آن زمان با نام پاسکال شیئی (ObjectPascal) در دانشگاهها ایجاد شده بود یک زبان بسیار خشک و محدود کننده بود که اصلاٌ حالت کاربردی پیدا نکرد.

ویژگیهای دلفی مثل طراحی ظاهری حساب شده و کاربر پسند آن باعث شد که زبان پاسکال شیئی عملاٌ از رده خارج شود. تیم طراحی VB در Microsoft قبل از حضور دلفی هیچ رقیب مهمی برای خود نمی دید. VisualBasic در آن زمان زبانی نا کارآ ، کم سرعت و کند ذهن بود. Visual Basic 3 در عمل اصلا توانایی رقابت با Delphi 1 را نداشت. در این سال شرکت Borland گرفتار یک سری مشکلات قضائی با شرکت Lotus بود که در نهایت هم متخلف شناخته شد. همچنین درگیری مشابهی هم با Microsoft بر سر تلاش در تغییر دادن فضای نرم افزار های Microsoft پیدا کرد. همچنین Borland مشغول طراحی و فروش طرح Quatro به شرکت Novell و طراحی پایگاه های داده dBase و Paradox بود که با استقبال قابل توجهی مواجه نشد.

در این زمان که Borland مشغول فعالیتهای قضایی و تجاری بود Microsft توانست گوی سبقت را از Borland برباید و قسمت اعظم بازار ابزار های برنامه نویسی تحت Windows را در اختیار بگیرد و سعی می کرد تا این طرز فکر را اشاعه دهد که چون Windows را طراحی کرده صلاحیت و توانایی تهیه بهترین ابزار های برنامه نویسی تحت آن را نیز در دست دارد. در این شرایط Borland با عرضه Delphi و نسخه جدید ++Borland C سعی کرد خدشه ای در فرمانروایی Microsoft وارد کند و سهمی در بازار بزرگ این محصولات داشته باشد.

سال 1996 - Delphi2
یک سال بعد Delphi2 تمام مزایای نسخه قبلی را تحت سیستم های جدید 32 بیتی (Windows 95,Windows NT) ارائه داد. همچنین Delphi2 با ارائه خصوصیات اضافه و کارکرد های قویتری نسبت به Delphi1 توانایی های خود را افزایش داد. (ازجمله ارائه کامپایلر 32 بیتی که سرعت بالایی به نرم افزار ها می بخشید، کتابخانه بزرگ و کاملی از اشیای مختلف، شیوه جدید و تکامل یافته ای برای اتصال به پایگاه های داده مختلف، ادیتور پیشرفته، پشتیبانی از OLE ، توانایی وراثت در فرمهای ویژوال و سازگاری با پروژه های 16 بیتی Delphi1 ). Delphi2 به معیاری برای سنجش و مقایسه همه ابزارهای توسعه نرم افزار در آن زمان تبدیل شد.

در آن زمان با ارائه سیستم 32 بیتی Windows95جهش بزرگی در سیستم عامل Windows رخ داد و Borland بسیار مشتاق بود که Delphi را به بهترین ابزار برنامه نویسی سیستم جدید تبدیل کند. نکته این که در آن زمان به منظور تاثیر در افکار عمومی و تاکید بر قدرت Delphi در سیستم عامل 32 بیتی قرار بود که نرم افزار با نام جدید Delphi32 به بازار عرضه شود ولی در آخرین مراحل به خاطر اینکه نشان دهند این زبان زبانی رشد یافته و تکامل یافته نسخه قبلی یعنی Delphi1 است نام Delphi2 را برای آن انتخاب کردند.

Microsoft تلاش کرد که با Visual Basic 4 با Delphi مقابله کند ولی از ابتدا کیفیت پایین آن و ضعف آن در انتقال برنامه های 16 بیتی به سیستم 32 بیتی و بروز اشکالات ساختاری در طراحی آن موجب شکست زودهنگام Visual Basic 4 شد. در این زمان هنوز تعداد زیادی از برنامه نویسان به Visual Basic وفادار بودند. Borland هنچنین روشها و ابزارهای قدرتمندی همچون PowerBuilder برای طراحی نرم افزار های Client/Server ارائه داد ولی Delphi هنوز آن قدر قدرتمند نشده بود که بتواند نرم افزارهایی که جایی در بین توسعه گران پیدا کرده اند را براندازد.

سال 1997 - Delphi3
از زمان تهیه و توسعه Delphi1 تیم توسعه Delphi در فکر گسترش و ایجاد یک زبان قدرتمند جهانی بود. برای Delphi2 این تیم تمام نیروی خود را صرف اعمال مربوط به انتقال تواناییها و کارکرد ها به سیستم 32 بیتی و همچنین اضافه کردن خصوصیات Client/Server و پایگاه داده کرد. در زمان تهیه Delphi3 تیم توسعه فرصت لازم برای گسترش مجموعه ابزار موجود را یافت و در این راستا کیفیت و کمیت ابزارهای Delphi بهبود یافت. به علاوه راه حل هایی برای مشکلات عمده و قدیمی برنامه نویسان تحت ویندوز ارائه شد. به ویژه استفاده از برخی فناوری های پیچیده و نا مفهوم (مثل COM و ActiveX وتوسعه نرم افزار های تحت Web وکنترل پایگاههای داده چند کاربره). روش نمایش کد برنامه همچنین توانایی کامل کردن خودکار کد (Code Completion) عملیات کد نویسی را راحت تر کرد. ضمن این که همچنان در بیشتر موارد اساس و متدولوژی برنامه نویسی مانند Delphi1 بود و بر پایبندی به قوانین اصولی Pascal تاکید می شد.

در این زمان رقابت شرکت های تولید کننده ابزار های برنامه نویسی بسیار تنگاتنگ شده بود. Microsoft با ارائه Visual Basic 5 به پیشرفت های خوبی دست یافت ازجمله پشتیبانی قوی از COM و ActiveX و ایجاد برخی خصوصیات و تغییرات کلیدی و اساسی در کامپایلر VB. ضمن این در همین سال Borland با پشتوانه قوی Delphi و با استفاده از ساختار موفق آن ابزارهای دیگری همچون Forte و BC++ Builder به بازار عرضه کرد.

تیم Delphi در زمان طراحی Delphi3 چند تن از اعضای کلیدی خود را از دست داد. Andres Hejlsberg معمار اصلی Delphi در اقدام غیر منتظره ای Borland را ترک کرد و تصمیم گرفت به رقیب دیرینه یعنی Microsoft بپیوندد. اما حرکت تیم Delphi متوقف نشد و معاون Hejlsberg که سالها تجربه همکاری با او را داشت توانست رهبری این تیم را به خوبی در دست بگیرد. همچنین مسئول فنی تیم (Paul Gross) هم در اقدام مشابهی به گروه Microsoft ملحق شد. این تغییرات بیشتر به خاطر اختلافات شخصی بین افراد تیم بود و نه به خاطر مسائل حرفه ای.

سال 1998 - Delphi4
Delphi4 بیشتر بر روی راحتتر کردن کار با دلفی متمرکز شد. مرورگر روال ها (Module Explorer) بهبود یافت و مرور و ویرایش Unit ها را راحت تر کرد. کنترل کد و کامل کردن خودکار کلاسها این فرصت را به کاربر داد که فکر و زمان خود را روی ساختار اصلی برنامه بگذارد و در وقت صرفه جویی کند. طراحی رابط کاربر هم کاملاٌ عوض شد و بهبود یافت و اشکال زدا (Debugger) نیز پیشرفت قابل توجهی داشت. Delphi4 قابلیتهای برنامه نویسان را در استفاده از تکنولوژیهای چند منظوره خارجی مثل MIDAS ، DCOM ، MIS و Corba افزایش داد.

در این سال Delphi جایگاه خود را در رقابت با دیگران مستحکم کرده بود و کم کم به سمت دست یابی به سودآوری مالی مورد نظر خود پیش می رفت. در واقع در این زمان بود که حاصل کار سنگین چند ساله تیم نمایان می شد. بعد از سالها آزمایش Delphi شهرت و محبوبیت خاصی پیدا کرد و دیگر برنامه نویسان Delphi توانایی جدا شدن از آن را نداشتند. در این زمان Borland به کار سوٌال برانگیزی دست زد و به منظور تبلیغ بیشتر و برتری در جنگ روانی با دیگر شرکتها نام Inprise را برای فعالیتهای تجاری خود برگزید.

ابزار های مربوط به فن آوری Corba را گسترش داد تا راه جدیدی برای سودآوری ایجاد کند. برای موفقیت در این زمینه Corba نیاز به رابط کاربر قدرتمندی داشت که در کنار توانایی های آن کار کردن با آن نیز راحت باشد. دقیقاٌ همان کاری که در سالهای قبل در مورد COM و برنامه نویسی تحت Web انجام شده بود و به موفقیت دست یافته بود. با این وجود بنا به دلایل مختلفی این گسترش و توسعه Corba هیچ وقت تکامل و موفقیتی که مورد نظر بود را به دست نیاورد و بر خلاف تبلیغات و سرمایه گذاری های انجام شده فن آوری Corba تنها توانست نقش کوچکی در روند رو به جلوی Delphi ایفا کند.

سال 1999 - Delphi5
Delphi5 در برخی زمینه ها پیشرفت های قبلی را ادامه داده است. اولاٌ مسیری را که Delphi4 با اضافه کردن ویژگیهای زیادی شروع کرده بود ادامه داد. Delphi4 باعث شد کارهایی که قبلاٌ به صرف وقت زیادی احتیاج داشت بسیار سریعتر انجام شود. Delphi به شکل امیدوار کننده ای به برنامه نویس این امکان را می دهد که بیشتر به برنامه ای که میخواهد بنویسد توجه کند و نه به قواعد برنامه نویسی و نوشتن کد های تکراری و خسته کننده. این ویژگیهای سودمند شامل رابط کاربر بهبودیافته و سیستم اشکال زدایی(Debugger) توانمند ، امکانات برنامه نویسی تیمی و ابزار های ترجمه می شود.

ثانیا Delphi5 خصوصیات جدیدی را در بر می گیرد که توسعه برنامه های تحت وب را واقعاٌ راحت کرده است. این ویژگیها شامل طراح اشیای مربوط به ASP برای ساختن صفحات (Active Server Page)، اشیایی موسوم به Internet Express برای پشتیبانی از XML و خصوصیات جدید MIDAS که آن را به یک ابزار همه کاره در پایگاه های داده تحت Web تبدیل کرد. در نهایت با صرف وقت ، هزینه و صبر زیاد توانست Delphi5 قدرتمند را عرضه کند. این فعالیت مدتها به طول انجامید و قبل از عرضه عمومی، Delphi5 بارها در بازبینی ها و آزمایشهای داخلی قسمتهای مختلف آن تغییر کرد و بهبود یافت.

Delphi5 در نیمه دوم سال 1999 به بازار عرضه شد و به نفوذ و تسلط بر بازار ادامه داد. در این زمان Visual Basic که کم کم به عضوی تحقیر آمیز برای Microsoft تبدیل می شد هم با پیشرفتهایی توانست در رقابت دوام بیاورد و از صحنه خارج نشود. در اقدام درست و به جایی نام Inprise دوباره به Borland بازگشت. این اقدام از سوی طرفداران و مشتریان قدیمی Borland با استقبال خوبی مواجه شد.

سال 2001 – Delphi6
در هنگام تهیه Delphi6 ساختار Delphi در زمینه های مختلف شکل گرفته بود و به یک تکامل نسبی رسیده بود. این مسئله باعث شد که تیم طراحی بتواند وقت خود را بر روی طرحی که مدتها تنها در حد یک نظریه بود بگذارد و آن را بسیار زودتر از آن که انتظار می رفت عملی کند: گام نهادن به محیط های فراتر از Windows . بیشتر نیروی توسعه گران Delphi در این مدت صرف رهانیدن Delphi از بند Windows شد که این خود در درجه اول مبارزه ای آشکار با سلطه Microsoft بود و ثانیاٌ راه برنامه نویسان را به سوی فضا های دیگر برنامه نویسی باز کرد. در ابتدا این عمل ریسک بزرگی بود و بیم آن می رفت که جایگاه Delphi در Windows هم به خطر بیفتد ولی در نهایت به نقطه رشد و قوتی بدل شد که Delphi را به یکی از بهترین ابزار برنامه نویسی Multi Platform تبدیل کرد.تکنولوژی CLX روالهای مختلف Delphi را با Kylix (عضو جدید خانواده Borland که در فضای Linux کار می کند) به اشتراک گذاشت و استفاده از سیستم بایت Java باعث شد که Delphi حتی از قید سخت افزار هم رها شود.

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

+ نوشته شده در  پنجشنبه نوزدهم آبان 1384ساعت 12:34  توسط مینو  | 

ترفندهايی جهت بدست آوردن مشخصات سيستم در VB.NET

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

به گزارش بخش مقالات سايت IRITN، از idevcenter ، در اين مقاله به بررسی روشهايی پرداخته ميشود که به کمک آن می‌توان چند مشخصه از مشخصات سيستم را بدست آورد و از آنها در برنامه‌های کاربردی خود استفاده کرد. اين ويژگیها با استفاده از فضانام System.Environment بدست می آيند. کلاس Environment شامل اطلاعاتی در مورد محيط کار و پلات‌فرم حاضر روی سيستم و همچنين وسايلی در اين زمينه می باشد. اين کلاس نمی‌تواند به ارث برده شود.

نام ماشين (MachineName):
به کار بردن خصوصيت MachineName از اين کلاس نام NetBIOS کامپيوتر مربوطه را برمی‌گرداند. با بکار بردن کد زير در رويداد کليک يک Button می‌توان نام ماشين را در يک جعبه متن نمايش داد:

TextBox1.Text = System.Environment.MachineName.ToString

ورژن سيستم عامل (OSVersion):
با استفاده از خصوصيت OSVersion می‌توانيد ورژن سيستم عامل کامپيوتر کاربر را شناسايی کنيد. برای مثال با بکار بردن کد زير روی ويندوز ايکس پی، عدد 5.1.2600 به عنوان نتيجه برگردانده ميشود.

TextBox1.Text = System.Environment.OSVersion.ToString
از موارد استفاده اين خصوصيت می‌توان به کنترل نسخه ويندوز قبل از اجرای برنامه اشاره کرد. به عنوان مثال اگر برنامه شما برای اجرا روی ويندوز ايکس پی نوشته شده است با کنترل مقدار خروجی اين خصوصيت از اجرای آن روی نسخه‌های پائين‌تر ويندوز جلوگيری شود.


دايرکتوری سيستم (SystemDirectory):
خصوصيت SystemDirectory، نام دايرکتوری سيستم کاربر را برمی‌گرداند.
TextBox1.Text = System.Environment.SystemDirectory.ToString

نام دامنه (UserDomainName):
اين خصوصيت نام دامنه شبکهء کامپيوتر ميزبان را اعلام ميکند. مقدار اين خصوصيت به طور معمول همان نام کامپيوتر ميزبان است. برنامه شما بايد تحت ويندوز ان تی 3.1 و يا بالاتر از به اجرا درآيد؛ درغيراينصورت يک استثناء برپا خواهد شد (PlatformNotSupportedException).

TextBox1.Text = System.Environment.UserDomainName.ToString

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

TextBox1.Text = System.Environment.UserName.ToString

ورژن CLR ‏(Version):
اين خصوصيت نگارش زبان معمول زمان اجرا (Common Language Runtime) را برمی‌گرداند.

TextBox1.Text = System.Environment.Version.ToString

TickCount:
اين ويژگی يکی از ويژگيهای جالب ويندوز است که کاربردهای فراوانی دارد. اين خصوصيت يک عدد 32 بيتی را برمی‌گرداند که نشان دهندهء زمانی است (بر حسب ميلی ثانيه) که از روشن شدن سيستم ميگذرد. اين مقدار از تايمر سيستم گرفته ميشود و در يک متغير عددی 32-بيتی علامتدار ذخيره ميشود. با توجه به اينکه اين مقدار 32 بيت طول دارد، بنابراين اگر سيستم شما 24.9 روز روشن بماند، اين مقدار صفر شده و ازنو شروع به شمردن ميکند. دقت کنيد اين خصوصيت نمی تواند کمتر از 500 ميلی ثانيه باشد. با بکار بردن کد زير ميتوان اين مقدار را در يک جعبه متن نمايش داد:

TextBox1.Text = System.Environment.TickCount.ToString
از جمله کاربردهای خصوصيت TickCount ميتوان به محدود کردن زمان استفاده از کامپيوتر توسط کاربر اشاره کرد که ميتواند کاربردهای فراوانی داشته باشد.

نکته: توجه داشته باشيد که TickCount با Tick تفاوت دارد. Tick عددی است با وقفه های به مدت 100 نانو ثانيه که شامل مدت زمانی است که از ساعت 12:00am مورخ 1/1/0001 ميگذرد. اين خصوصيت را ميتوانيد با استفاده از System.DateTime.Now.Ticks بدست بياوريد.

+ نوشته شده در  پنجشنبه پنجم آبان 1384ساعت 9:57  توسط مینو  | 

آموزش VB.NET (بخش دوم)

آشنايی با Visual Basic.NET- متغيرها
متغيرها حاملهای دربرگيرنده مقاديری هستند که در جريان يک برنامه کاربردی می توانند تغيير کنند. برنامه نويسی بدون آنها، اگر نگوئيم غيرممکن، اما به سختی امکان پذير است. در ASP.NET، متغيرها در چند لايه وجود دارند.
لايه اول، لايه Application است. در اينجا در هر صفحه برنامه کاربردی، همه متغيرها در دسترس همه کاربران قرار دارد. معمولا يک قطعه داده نسبتا کوچک که در معرض استفاده مکرر است، همانند اطلاعات مربوط به ارتباط با بانک اطلاعاتی، در اين لايه ذخيره می شود.
لايه دوم، لايه Session است. در اين لايه، همه متغيرها در سرتاسر برنامه کاربردی يا تا برقرار بودن جلسه کاربر، در دسترس يک کاربر بخصوص هستند.
لايه سوم و آخر، لايه Page است. در اينجا همه متغيرهای تعريف شده در صفحه در سرتاسر آن صفحه در دسترس هستند. متغيرهای تعريف شده در يک صفحه ASP.NET از صفحه ديگر قابل دستيابی نيستند.
به علاوه در زمان استفاده از code-behindها در صفحات ASP.NET، در پيمانه های کلاس خود به متغيرهای سطح Procedure ،Private ،Public و Block دسترسی داريد. متغيرهای عمومی در کلاس هايی که در آنها ايجاد شده اند و نيز پيمانه های کلاس ديگر قابل دسترسی هستند. جلوی اين متغيرها کلمه کليدی Public قرار می گيرد. متغيرهای خصوصی تنها در دسترس توابع و روال های کلاس هايی هستند که در آنها تعريف شده اند.
قبل از متغيرهای خصوصی کلمه کليدی Private قرار می گيرد. متغيرهای سطح Block تنها در بلوک های برنامه ايجاد کننده خود در دسترس می باشند. قبل از متغيرهای سطح Procedure و Block کلمه کليدی Dim قرار می گيرد.
نکته حائز اهميت اين است که بايد به خاطر بسپاريم که هميشه بايد نوع داده های متغير خود را تعريف کنيم. در زير ليستی از انواع داده های پشتيبانی شده در VB.NET آورده شده است.
Boolean: درست يا نادرست
Byte: برای داده های عددی 0 تا 255
Char: برای يک کاراکتر يونيکد
Date: اطلاعات تاريخ و زمان
Decimal: اطلاعات عددی صحيح
Double: داده های عددی اعشاری
Integer, Long, Short, Single: داده های عددی صحيح
Object: متغير حامل پيش فرض جهت نگهداری هر نوع شئ
String: رشته های حرفي
در نگارشهای قبلی ويژوال بيسيک و در VBScript همه متغيرها بطور پيش فرض از نوع داده variant بودند. Variant در VB.NET وجود ندارد و با نوع داده Object جايگزين شده است.

+ نوشته شده در  پنجشنبه پنجم آبان 1384ساعت 9:56  توسط مینو  | 

سلام

یه مدت نتونستم وبلاگ رو بروز کنم٬ اما بازم برگشتم

فقط نظر یادتون نره

+ نوشته شده در  پنجشنبه پنجم آبان 1384ساعت 9:55  توسط مینو  | 

آموزش VB.NET (بخش اول)

از: DEV.ir يک برنامه کامپيوتری ، از مجموعه ای دستورالعمل که نوع و نحوه انجام يک فعاليت را برای کامپيوتر مشخص می نمايند ، تشکيل می گردد. دستورالعمل های نوشته شده بعنوان نمونه ممکن است به کامپيوتر اعلام نمايند که تعدادی از اعداد را با يکديگر جمع و يا دو عدد را بايکديگر مقايسه و بر اساس نتيجه بدست آمده ، اتخاذ تصميم نمايد. دستورالعمل های نوشته شده ، صرفا" برای کامپيوتر قابل فهم و اجراء خواهند بود.کامپيوتر دستورالعمل های نوشته شده را اجراء و ماحصل آن رسيدن به اهدافی خواهد بود که بر اساس آن برنامه طراحی و پياده سازی شده است . دستورالعمل ها ، می بايست با استفاده از يکی از زبانها ی برنامه نويسی نوشته شده ( کد ينگ ) و در ادامه در اختيار کامپيوتر قرار داده شوند. زبانهای برنامه نويسی متعددی نظير : فرترن ، بيسيک ، کوبال ، پاسکال، ،C ، جاوا ، ويژوال بيسيک و ... وجود دارد. برنامه نويسی کامپيوتر ، مشابه آموزش گره زدن کفش به کودکان است . برای نيل به هدف فوق ، می بايست تمامی مراحل لازم بصورت شفاف به کودکان آموزش داده شود . کودکان با دنبال نمودن دستورالعمل های ارائه شده ، قادر به گره زدن کفش خود خواهند بود ( روش انجام اين کار برای آنان مشخص شده و بر اساس آن ، امکان نيل به هدف مورد نظر توسط کودکان فراهم می گردد ) . VB.NET ، زبانی است که می توا ن نحوه نيل به يک خواسته را بکمک آن بصورت شفاف ( نظير آموزش گره زدن کفش به کودکان ) مشخص و کامپيوتر با دنبال نمودن مراحل مشخص شده ، خواسته مورد نظر را محقق نمايد. با استفاده از VB.NET ، می توان محصولاتی راايجاد که زمينه استفاده از آنان در محيط ويندوز و اينترنت ، وجود خواهد داشت . فراموش نکنيم در زمان فراگيری يک تکنولوژی در ابتدا می بايست شيوه راه رفتن را بياموزيم و در ادامه اقدام به دويدن نمود . VB.NET يکی از زبان های حمايت شده در دات نت می باشد . با استفاده از زبان فوق علاوه بر اينکه می توان برنامه های مبتنی بر ويندوز را پياده سازی نمود ، امکان استفاده از آن بعنوان زبان مورد نظر در زمان ايجاد برنامه های مبتنی بر وب که از تکنولوژی ASP.NET استفاده می نمايند ، نيز وجود خواهد داشت . با توجه به اهميت و جايگاه خاص اين زبان در دات نت ، مجموعه مقالاتی در رابطه با آموزش اصولی اين زبان آماده شده که بتدريج بر روی سايت قرار خواهند گرفت . در اولين مقاله از اين مجموعه به معرفی اوليه VB.NET خواهيم پرداخت . در ابتدا لازم است با ويژگی های منحصر بفرد برنامه های مبتنی بر ويندوز در قياس با برنامه های مبتنی بر DOS ، آشنا شده و پس از مروری مختصر به روند شکل گيری نسخه های متعدد ويژوال بيسيک ، با نحوه نصب آن نيز آشنا شويم . برنامه نويسی مبتنی بر DOS در مقابل ويندوز برنامه نويسی مبتنی بر ويندوز دارای تفاوت های عمده ای نسبت به برنامه نويسی سنتی در محيط DOS است.برنامه های DOS ، مسيری دقيق و مشخص را ازابتدا تا پايان دنبال می نمايند . رويکرد فوق ، باعث بروز محدوديت هائی در رابطه با عملکرد برنامه ها از يکطرف و تحميل محدوديت هائی به کاربران در طی نمودن مسير مشخص شده ، می گردد. از زاويه ای خاص می توان عملکرد يک برنامه مبتنی بر DOS را مشابه قدم زدن در يک راهرو ( سالن )، در نظر گرفت . بمنظور رسيدن به نقطه انتهائی سالن ، می بايست طول سالن طی تا به انتهای آن رسيد . در اين راستا از موانع متعدد موجود در مسير ، می بايست عبور تا سرانجام به مقصد مورد نظر رسيد . در زمان پيمودن مسير ، صرفا" امکان بازنمودن درب های خاصی ، وجود خواهد داشت . ويندوز ، دنيای جديدی از برنامه نويسی مبتنی بر "رويداد" را ايجاد نموده است . کليک نمودن موس ، تغيير اندازه پنجره ، تغيير محتويات يک Textbox ، نمونه هائی از يک "رويداد" می باشند. کدهای نوشته شده ، نحوه برخورد با يک رويداد را مشخص می نمايد. برای رسيدن به انتهای يک سالن کافی است بر روی "انتهای سالن " ، کليک نمود و ديگر ضرورتی به پيمودن تمامی مسير تا رسيدن به انتهای سالن نخواهد بود . درصورتيکه به انتهای سالن رسيده باشيم و متوجه گرديم که اين مکان ، محلی نيست که انتظار آن را داشته ايم ، بسادگی می توان مقصد جديدی را برای خود انتخاب ، بدون اينکه ضرورتی به برگشت در نقطه آغازين مسير وجود داشته باشد. برنامه نوشته شده عکس العمل های لازم در ارتباط با حرکت شما را بهمراه عمليات مربوطه بمنظور تکميل فعاليت ها ی مورد نظر انجام خواهد داد . با استفاده از VB.NET ، می توان کدهای لازم بمنظور ارائه عکس العمل لازم در زمان تحقق يک رويداد را نوشت .در اين راستا ، برنامه نويسان می توانند کدهای لازم در رابطه با رويدادهائی که امکان تحقق آنها وجود دارد را نوشته تا در زمان بروز رويداد مورد نظر ، عکس العمل لازم از طرف برنامه صورت پذيرد.در اين زمينه می توان از نوشتن کدهای ديگر بمنظور برخورد با رويدادهای غيرضروری ، صرفنظر کرد. مثلا" ويندوز قادر به تشخيص رويداد"کليک " از "کليک مضاعف " است . اين بدان معنی است که اگر می خواهيد برنامه مورد نظر شما ،عکس العمل لازم در ارتباط با رويداد "کليک" را داشته باشد ، می بايست صرفا" کد مربوط به رويداد " کليک"، نوشته گردد و الزامی به نوشتن کدهای لازم بمنظور برخورد با رويداد "کليک مضاعف" ، وجود نخواهد داشت . در دنيای برنامه نويسی DOS ، کاربر عکس العمل لازم را نسبت به برنامه انجام می دهد در صورتيکه در ويندوز ، برنامه ها عکس العمل لازم را با توجه به رفتار کاربران ، انجام خواهند داد . يکی ديگر از مزايای مهم برنامه های ويندوز ، عدم وابستگی برنامه ها به يک سخت افزار خاص است . ويندوز تمهيدات لازم در خصوص ارتباط با سخت افزار را پيش بينی و برنامه نويسان نياز به آگاهی از نحوه عملکرد يک دستگاه سخت افزاری خاص بمنظور استفاده از آن ، نخواهند داشت . مثلا" برنامه نويسان ضرورتی به آگاهی از نحوه عملکرد هر نوع چاپگر ليزری، بمنظور ايجاد خروجی مورد نظر خود در برنامه ها ، نخواهند داشت. ويندوز، امکانات لازم در اين خصوص را از طريق ارائه روتين های عمومی که با درايورهای مورد نظر مرتبط می گردند ، فراهم می نمايد. شايد همين موضوع دليل موفقيت ويندوز باشد . روتين های عمومی اصطلاحا" Windows (API ) Application Programming Interface ناميده می شوند . تاريخچه ويژوال بيسيک قبل از معرفی ويژوال بيسيک در سال 1991 ، پياده کنندگان نرم افزار مجبور به تسلط و مهارت در زمينه استفاده از ++C بهمراه موارد پيچيده ای در اين خصوص بودند . بدين ترتيب ، صرفا" افراد خاص آموزش ديده، قادر به خلق نرم افزارهای قدرتمند بمنظور اجراء در محيط ويندوز بودند. ويژوال بيسيک ، محدوديت فوق را تغيير و می توان اين ادعا را داشت که امروزه خطوط زيادی از برنامه های نوشته شده با استفاده از ويژوال بيسيک کد شده است . ويژوال بيسيک ، ظاهر برنامه نويسی تحت ويندوز را با حذف عمليات اضافی برای نوشتن کدهای لازم جهت طراحی بخش رابط کاربر (UI) ، تغيير داده است . در اين راستا ، زمانيکه بخش رابط کاربر ، ترسيم می گردد ، برنامه نويس می تواند کدهای لازم بمنظور انجام عکس العمل مناسب در رابطه با رويداد ها را به آن اضافه نمايد . زمانيکه ماکروسافت نسخه شماره سه ويژوال بيسيک را ارائه نمود ، مجددا" دنيای برنامه نويسی با تغيير مهمی مواجه گرديد. در اين راستا امکانات مناسبی برای نوشتن برنامه های مبتنی بر بانک های اطلاعاتی ، در اختيار برنامه نويسان قرار گرفت. ماکروسافت بدين منظور محصول جديدی با نام DAO)Data Access Objects) را ارائه نمود . برنامه نويسان با استفاده از DAO ، امکان انجام عمليات متفاوت در رابطه با داده ها را ، بدست آوردند . نسخه های شماره چهار و پنج ، قابليت های نسخه سه را افزايش و اين امکان را برای پياده کنندگان نرم افزار فراهم نمود تا برنامه های خود را جهت اجراء در محيط ويندوز 95 ، طراحی و پياده سازی نمايند . در اين زمينه ، برنامه نويسان قادر به نوشتن کدهائی گرديدند که امکان استفاده از آنان توسط ساير پياده کنندگان نرم افزار که از زبانی ديگر استفاده می کردند، فراهم گرديد. نسخه شماره شش ويژوال بيسيک ، روش جديدی بمنظور دستيابی به بانک های اطلاعاتی را ارائه نمود: ADO)ActiveX Data Objects ) . يکی از اهداف اوليه طراحی ADO ، امکان دستيابی به بانک های اطلاعاتی برای پياده کنندگان برنامه های مبتنی بر وب است که از تکنولوژی ASP ، استفاده می نمايند. همزمان با ارائه جديدترين نسخه ويژوال بيسيک که VB.NET ناميده می شود ، بسياری از محدوديت های مرتبط با ويژوال بيسيک برطرف گرديد . در گذشته ويژوال بيسيک با انتفادات فراوان مواجه ( عدم وجود امکانات مناسب در مقايسه با جاوا و يا ++C ) و بسياری آن را نظير يک اسباب بازی در دنيای وسيع زبان های برنامه نويسی می پنداشتند. VB.NET با غلبه بر مشکلات نسخه های پيشين ، توانسته است در مدت زمان کوتاهی ، بعنوان يک ابزار پياده سازی بسيار قدرتمند مطرح و گزينه ای مناسب برای برنامه نويسان در تمامی سطوح باشد . نصب VB.NET برای نصب VB.NET ، از دو رويکرد متفاوت می توان استفاده کرد : • نصب بهمراه ويژوال استوديو دات نت • نصب نسخه استاندارد هر يک از گزينه های فوق ، امکان ايجاد برنامه های مبتنی بر ويندوز را فراهم می نمايند . مراحلی که در ادامه ذکر می گردد ، نحوه نصب ويژوال استوديو را تشريح می نمايد . مرحله اول : برنامه Setup.exe را از روی CD مربوطه فعال نمائيد. مرحله دوم : جعبه محاوره ای ، مراحل و اولويت های عمليات نصب را نشان خواهد داد. بمنظور صحت عملکرد VB.NET ، چندين Component نصب و يا بهنگام خواهند شد . اولين مرحله نصب، بهنگام سازی عناصر (Components) است . بر روی گزينه Windows Component Update ، کليک نمائيد. مرحله سوم : برنامه نصب در ادامه سيستم را بررسی تا نوع عناصری را که می بايست بهنگام گردند، مشخص گردد. دامنه فرآيند بهنگام سازی به وضعيت ماشينی که بر روی آن ويژوال استوديو دات نت نصب می گردد، بستگی خواهد داشت . مرحله چهارم : با توجه به اينکه ممکن است در زمان بهنگام سازی لازم باشد چندين مرتبه سيستم راه اندازی گردد ، از شما درخواست نام و رمز عبور شده تا ضرورتی به نشستن و نگاه کردن به کامپيوتر و واکنش لازم ( درج نام و رمز عبور به سيستم ) پس از هر مرتبه راه اندازی سيستم نباشد . بدين ترتيب در زمان راه انداری سيستم ، عمليات مربوطه بصورت اتوماتيک و بدون نياز به تايپ نام و رمز عبور ، انجام خواهد شد . عمليات فوق ، اختياری است و در صورتيکه گزينه فوق انتخاب نگردد ، با هر مرتبه راه اندازی سيستم، پيام مناسب ارائه و می بايست واکنش لازم ( تايپ نام و رمز عبور) را انجام داد . مرحله پنجم : در اين مرحله با فشردن دکمه ! Install Now ، بهنگام سازی عناصر (Components) آغاز می گردد . با اتمام هر يک از آيتم ها يک Check mark بمنزله اتمام مرحله مربوطه نشان داده می شود . در مقابل عنصر جاری برای بهنگام سازی نيز يک فلش قرمز رنگ نسان داده می شود. مرحله ششم : پس از بهنگام سازی عناصر ، مجددا" به صفحه اصلی Setup مراجعت و امکان نصب ويژوال استوديو دات نت فراهم می گردد.( کليک نمودن برروی گزينه Visiual Studio.NET ) نکته : در صورتيکه قصد داريد که از طريق ماشين فوق ، يک برنامه تحت وب پياده سازی نمائيد ، لازم است IIS و FrontPage Extensions قبلا" نصب شده باشد( بصورت پيش فرض در زمان نصب ويندوز 2000 نصب خواهد شد ) در صورتيکه ويژوال استوديو دات نت ، بر روی کامپيوتری نصب می گردد که دارای سيستم عامل ويندوز 2000 نسخه Professional است ، با يک پيام خطاء مواجه خواهيم شد( عدم وجود عناصر لازم ) با فشردن دکمه Install Component ، عمليات نصب IIS و Frontpage Extensions انجام خواهد شد . در صورتيکه دکمه Continue ، انتخاب گردد ، در آينده نمی توانيد برنامه های تحت وب را بصورت محلی بر روی کامپيوتر خود پياده سازی نمائيد . مرحله هفتم : نظير اکثر برنامه های نصب ، ليستی از گزينه های موجود ( شامل عناصر ) برای نصب در اختيار شما قرار می گيرد . شما می توانيد ، صرفا" آنچيزی را که بدان نياز داريد ، نصب نمائيد . مثلا" در صورتيکه ظرفيت درايو شما پايين و يا ضرورتی به استفاده از ويژوال ++C دات نت را نداريد ، می توان در اين مرحله از نصب آن صرفنظر کرد. هر گزينه ای که در اين مرحله انتخاب نمی گردد ، می توان در صورت ضرورت آن را در آينده نصب کرد. برای هر يک از امکاناتی که قرار است نصب گردند ، سه بخش اطلاعاتی متفاوت نمايش داده می شود : بخش Feature Properties . فايل ها ی مورد نظر برای نصب و ميزان فضای مورد نياز را نشان می دهد . بخش Feature description . هر Feature چيست و چه عملياتی را انجام می دهد . بخش Space Allocation ، وضعيت فضای ذخيره سازی هارد را با توجه به گزينه های انتخاب شده ، نشان خواهد داد . نکته : زمانيکه ويژوال استوديو دات نت ، اجراء می گردد مجموعه ای از اطلاعات بين ديسک و حافظه مبادله می گردد . بنابراين لازم است به ميزان کافی ظرفيت آزاد بر روی هارد ديسک وجود داشته باشد ، در اين راستا نمی توان دقيقا" مشخص نمود که به چه ميزان فضای آزاد نياز خواهد بود ولی حداقل يکصد مگابايت توصيه می گردد . مرحله هشتم : ويژوال استوديو دات نت ، شامل مجموعه ای گسترده از فايل های مستندات ( راهنما ) است . در اين مرحله می توان تنظيمات لازم در خصوص اجرای مستندات از طريق CD و يا دايرکتوری نصب شده بر روی هارد را انجام داد . در اين زمينه می توان يک مسير بر روی هارد را مشخص تا مستندات نصب و يا گزينه Run From Source را انتخاب تا بر اساس آن مستندات همچنان بر روی CD باقی بمانند . مرحله نهم : پس از انتخاب عناصر مورد نظر برای نصب ، با فشردن دکمه ! Install Now ، عمليات نصب آغاز می گردد . مدت زمان نصب ، بستگی به موارد انتخابی و نوع سيستم دارد . مثلا" نصب تمام ويژوال استوديو دات نت بهمراه تمامی مستندات بر روی يک ماشين با دارا بودن 256 مگابايت حافظه اصلی، سرعت 650 مگاهرتز و دوازده گيگابايـت هارد ديسک ، حدود يک ساعت طول خواهد کشيد . مرحله دهم : پس از اتمام مرحله قبل ، با انتخاب گزينه Service Release ، بررسی لازم در خصوص بهنگام سازی انجام می گيرد . اين عمليات از طريق اينترنت انجام خواهد شد . در اين زمينه به يک خط پرسرعت و مطمئن نياز خواهد بود .

+ نوشته شده در  پنجشنبه پنجم آبان 1384ساعت 9:52  توسط مینو  |