تبليغاتX
پایگاه تخصصی برق مخابرات

پایگاه تخصصی برق مخابرات

__((جدید ترین مقاله های برق مخابرات را در این مخابرات دونی مشاهده کنید))__

تلفن و مراکز تلفنی

تلفن و مراکز تلفنی

روش تبديل به ديجيتال :

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

 

براي ارسال چندين كانال تلفني از روشهاي مختلف كه به تمام مدولاسيون خوانده ميشود ( Modulation) خوانده ميشود استفاده مي گردد .

 

مالتي پلكس تقسيم مكاني    SDM = Space Division Multiplex                          

مالتي پلكس تقسيم فركانس        FDM= Freqency  Division  Multiplex               

مالتي پلكس تقسيم زمان    TDM = Time Division Multiplex                             

مالتي پلكس دامنه  PAM = Pulse Amplitude Modulation                            

مدولاسيون كد  PCM = Pulse Code Modulation                                          

 

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

 

اين تلاش منجر به پيدايش روش مالتي پلكس تقسيم فركانس يا  FDM   گرديد كه عبارت از تقسيم باند پهن فركانس به باندهاي فركانس فرعي مي باشد . هر باند فرعي داراي يك سيگنال كارير  ( carrier )    سينوسي است كه با يك سيگنال تلفني مدوله مي شود .بعد از ارسال اين  سيگنال در گيرنده عمل دمدولاسيون انجام شده و سيگنال تلفن به وسيله فيلتر هاي دقيق از سيگنال كارير جدا مي گردد. در اين روش پهناي باند را 60 تا 108  كيلو هرتز در نظر گرفته و آنرا به 12 قسمت  4 كيلو هرتزي تقسيم ميكنند.

به ازاي هر 4 كيلو هرتز يك ارتباط يعني كلا 12 ارتباط را ميتوان روي يك خط ارسال كرد . در اين روش چون فيلترهاي بسيار دقيقي براي بيرون كشيدن پهناي باند هر مشترك لازم است روش خوبي نيست .

 

 

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

در اين روش از تقسيم زمان به زمان هاي مجزا روي هر مسير استفاده ميگردد .به اين شكل كه در هر 125 ميكرو ثانيه 32 كانال ايجاد ميگردد . هريك از كانال ها از نظر باند صوتي  4 KHZ    است . يك كانال در هر كدام از پريود ها ي متوالي مختص يك سيگنال تلفني است . بنابراين بطور همزمان ميتوان چندين سيگنال تلفني را ارسال كرد . اساس TDM  بر پايه اين تئوري است كه براي انتقال سيگنال هاي تلفني ارسال كامل شكل موج لازم نيست وكافي است كه از موج در فواصل زماني نمونه برداري شده و اين نمونه ها ارسال گردند. وقتي از شكل موج نمونه برداري مي شود اين تغيير شكل را به عنوان مدولاسيون دامنه پالس PAM   ميگويند.

 

 

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

 

سید مهرداد قادریان

 

+ نوشته شده در  پنجشنبه بیست و هفتم اردیبهشت 1386ساعت 11:29 قبل از ظهر  توسط MeHrDaD  | 

اترنت ده گيگابايتي‌ روي كابل مسي

 
 
اترنت ده گيگابايتي‌ روي كابل مسي
 
 
استاندارد10GBase-T كابل رده 6A را وارد بازار مي‌كند
 

 
تا چندي پيش، بحث استفاده از اترنت گيگابيت در رايانه‌هاي خانگي داغ بود. اين فناوري پر سرعت، بازار را به سوي استفاده از كابل‌هاي رده 5e و 6 سوق داد. كارت‌هاي واسط شبكه سه سرعتي 1000.100.10 به مديران شبكه امكان داد سرمايه‌گذاري موجود خود را تنظيم كنند. با كاهش قيمت اين كارت‌ها، استفاده از اترنت گيگابيت به سرعت رو به افزايش گذاشت. در سرعت‌هاي گيگابيت و بالاتر، از ظرفيت كابل‌هاي رده 5e به طور كامل استفاده شد و زمان آن فرا رسيد كه رده جديدي از كابل‌ها معرفي شوند: كابل‌هاي رده 6. اين كابل‌ها مشخصاتي داشتند كه كاربران را از يك ارتباط قدرتمند و قابل اطمينان در سرعت گيگابيت مطمئن مي‌كرد. با حركت پرشتاب بازار به سمت اين فناوري پيشرفته‌تر، 10Gbit/sec روي كابل مسي، به چالشي اساسي براي توسعه‌دهندگان چنين شبكه‌ها و كابل‌هايي تبديل شد. امروزه استاندارد چنين كابل‌هايي در مشخصه IEEE 802.3an 10GBase-T آمده است.


منبع: Cabling Installation&Maintenace

توافق بر سر 10GBase-T و ارائه ديگر استانداردهاي جديدِ پس از آن، حركت به سوي اترنت بسيار قابل اطمينان
10GB را، همانند حركت به سوي اترنت گيگابيت در طول چند سال گذشته، شتاب بسياري بخشيد.
در استاندارد جديد پهناي باند كانال‌ها دو برابر كابل‌هاي رده 6 و پنج برابر كابل‌هاي رده 5e در نظر گرفته شده است تا صوت، صدا و تصوير بتوانند طول صد متري كابل را با كيفيت بالا طي كنند.
 
به منظور اطمينان از پشتيباني مشخصه‌ كابل از 10GBase-T، استاندارد در حال تدوين كابل‌هاي رده 6A /كلاس EA  شرايط را بالاتر از شرايط مورد نياز IEEE برده است. استانداردهاي جديد، مديران شبكه را از سرمايه‌گذاري روي اين فناوري كه داراي عملكرد بسيار بالا و قابل قبولي است، مطمئن مي‌كنند.

استاندارد 10GbEبه بيان ساده‌
توسعه اوليه استاندارد اترنت 10Gbit توسط كميته IEEE 802.3ae  و عمدتاً بر اساس فناوري فيبر نوري بود. چهار فرستنده/گيرنده نوري انتخاب شدند: 10GBase-LR در باند 1310nm براي فيبر تك مد، 10GBase-ER در باند 1550nm و براي فيبر تك مد، 10Base-SR در باند 850nm براي فيبر چند مد بهينه شده با ليزر(كه در استاندارد بين‌المللي به نام فيبر OM3 خوانده مي‌شود)؛ و 10GBase-LX4 براي مالتي‌پلكس تقسيم طول موج گسترده ‌(WWDM) براي فيبرهاي چند مدي و تك مدي كه از قبل نصب شده‌اند.

فناوري اترنت 10Gbitهمچنان در حال تكامل است و به صورت گسترده‌اي در بازار رو به رشد رايانه مورد استفاده قرار مي‌گيرد. سرورهاي blade، شبكه سوييچ شركت‌ها، سرويس‌دهنده‌هاي ويديويي و كاربردهايي از اين قبيل مي‌توانند از سرعت ذخيره‌سازي، سيستم پشتيباني، كنفرانس از راه دور و سيستم‌هاي نجات 10GbE بهره ببرند. پيشرفت‌هاي علمي صورت گرفته جذابيت‌هاي لازم را از نظر تراكم بالاتر، توان مصرفي كمتر و قيمت مناسب‌تر براي مشتريان فراهم نموده است. پذيرش 10GBase-T در بازار، زمينه را براي رشد و توسعه بيشتر اين استاندارد باز مي‌كند.


توسعه استاندارد سرعت بالا
البته استاندارد منتشر شده 10GBase-T شرايط لازم را براي انتقال سيگنال بيان كرده است، اما در زمينه كابل‌هاي ارتباطي همچنان مشكلاتي وجود دارد. از آنجا كه شرايط معين شده در استاندارد 10GBase-T بالاتر از كابل‌هاي رده 6/كلاس E است، 10GBase-T با استفاده از كابل‌هاي UDP مذكور تنها مي‌تواند محدوده اندكي را پوشش دهد.

مؤسسات استاندارد كابل در حال تدوين مستنداتي در مورد كابل‌هاي نصب شده رده 6/كلاس E يا كابل‌هاي بهتر از آن (TSB-155 به وسيله EIA/TIA و TR24750 به‌ وسيله ISO/IEC) هستند تا با كمك آن‌ها بتوان راهكارهايي براي پشتيباني بهتر از 10GBase-T يافت. اين راهكارها ايده‌هاي مختلفي را دربرمي‌گيرد؛ از دسته ‌نكردن كابل‌ها با هم گرفته تا جايگزيني قطعات مختلف به منظور به حداقل رساندن هم‌شنوايي كانال‌هاي مجاور و ارتقاي عملكرد فركانس بالا.

حداكثر فاصله را مي‌توان در برخي موارد به 37 متر و شايد كمتر رساند. مؤسسات استانداردسازي با در نظر گرفتن اين محدوديت‌ها، به سرعت به توسعه مشخصه جديدي براي رده/ 6A كلاس EA پرداختند تا بتواند ارسال در فاصله‌هاي صد متري را تضمين كند.

استاندارد 10GBase-T تا پيش از اين به مشخصه كانال رده /6A كلاس EA اطلاق مي‌شد. از آنجا كه اين استاندارد مراحل نهايي خود را طي كرده است، بعيد به نظر مي‌رسد در مشخصه آن تغييرات بيشتري اعمال شود (در پايان سال 2007 منتظر انتشار اين استاندارد باشيد). به موازات اعلام اتمام استاندارد IEEE 10GBase-T و ورود قريب الوقوع استاندارد رده 6A /كلاس EA، كاربران نهايي اطمينان دارند تأسيسات داراي كابل كلاس EA استاندارد شبكه‌بندي خود را نيز نهايي كرده اند و مي‌توانند از مزاياي آن بهره كامل ببرند.

رده‌هاي كابلي شرايط حداقلي را براي استفاده در شبكه‌هاي LAN بيان مي‌كنند، در حالي كه رده /6A كلاس EA  حداقل استاندارد را براي استفاده در بازارهاي تجاري معرفي مي‌نمايد و از اين رو از سطح استاندارد بالاتري برخوردار است. امروزه ترافيك شبكه‌ها به خاطر ارسال نامه‌هاي الكترونيكي‌اي كه داراي الصاق‌هاي سنگين‌تر و برنامه‌هاي پيچيده‌تر هستند و تعداد آن‌ها نيز نسبت به گذشته بسيار بيشتر شده، بالا رفته است. علاوه بر اين، محيط‌هاي جديد چندرسانه‌اي با جريان ويديويي خود، شبكه‌هاي نسل قديم را از نفس انداخته‌اند.

امروزه شركت‌ها علاقمندند از پهناي باند بيشتري برخوردار باشند؛ زيرا در آينده‌اي نه چندان دور، حجم ارسال نامه و اطلاعات، بسيار بيشتر از امروز خواهد بود. همچنين لازم است بهره‌وري شبكه ارتقا يابد. به اين معني كه اطلاعات به درستي و آن هم تنها يك بار فرستاده شوند. در شرايطي كه شبكه برخي شركت‌ها بايد 24 ساعته و هفت روز هفته سرويس دهي كند، اطمينان از عملكرد بهتر رده 6/ كلاس EA باعث آرامش خاطر صاحبان چنين شبكه‌هايي است.

نگاه به جلو
تحليلگران صنعتي پيش‌بيني مي‌كنند بازار شبكه‌هاي گيگا، پنج تا ده سال ديگر همچنان فعال خواهد بود. در اترنت گيگابيت نيز ديديم كه نبودِ استاندارد IEEE، مانع پذيرش انواع جديد كابل در بازار شد. از اين رو معرفي استاندارد IEEE 802.3an 10GBase-T اطميناني را براي شركت‌ها به وجود آورد تا با خاطري آسوده كابل‌هاي رده 5 و6e  را با كابل‌هاي سازگار با كلاس EA جايگزين كنند.

رده /6A كلاس EA با ارتقاي مشخصه كابل، با توجه به پذيرش IEEE 802.3an، راه را براي گسترش ارتباط
10GbEبه ميزان زيادي هموار كرد. به نظر مي‌رسد اكنون زمان مناسبي براي ارتقاي قابليت‌هاي بلندمدت شبكه شما باشد. اطمينان دارم كه مدت زيادي طول نخواهد كشيد كه اين سرعت نيز از نظر كاربران عادي مي‌شود؛ زيرا نياز به پهناي باند بيشتر هر روز افزايش مي‌يابد و قيمت كارت‌هاي واسط آن كم و كمتر مي‌شود. شايد زمان تحقق اين پيش‌بيني فردا نباشد، اما مطمئناً در طول مدتي كه شبكه شما كار مي‌كند، اين اتفاق خواهد افتاد.

كاربران نهايي مي‌دانند كه كابل‌ها استانداردهاي مختلفي دارند و هر يك نيز از حدي از كارايي برخوردارند. مطمئناً فروشندگان خواهند گفت: <كابل ما استاندارد است> و مشتري بايد به سرعت بپرسد: <كدام استاندارد؟> تا پاسخ خود را به صورت كامل دريافت كنند. پيشنهاد ساده و روشن من، مراجعه به مشخصه فعلي ISO/IEC كلاسEA است؛ زيرا استاندارد آن قوي‌تر از بقيه است و با مشخصه‌هاي بين‌المللي نيز هماهنگي دارد.

هر نوع پيش‌بيني درباره نياز آينده به پهناي باند همان‌قدر صحيح است كه پيش بيني بيل گيتس درباره ميزان نياز به. RAM او سال‌ها پيش گفته بود: <64K RAM نياز همه را برآورده مي‌كند.> تنها چيزي كه درباره ده تا بيست  سال آينده مي‌توان گفت آن است كه ساختار سيستم كابلي، پي‌سي و فناوري شبكه به طور كامل متحول خواهد شد.

تداوم رشد و توسعه رايانه‌ها براساس قانون مور، (كه گفته بود ظرفيت پردازنده‌ها هر هيجده ماه دو برابر مي‌شود كه معادل قرار گرفتن يك صفر در جلوي عدد ظرفيت در هر پنج سال است)، در كنار پياده‌سازي فناوري جديد باس، ظرفيت ذخيره‌سازي بالاتر و تراشه‌هايي با سرعت دسترسي بيشتر، راه را براي افزايش پهناي باند هموار كرده است.

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

شبكه‌هاي يك و 10Gb قبلاً هم در شركت‌هايي كه با انتقال حجم عظيمي از تصاوير، ويديو و ذخيره‌سازي و پياده‌سازي داده در حجم‌هاي بالا سروكار داشتند پياده شده است، اما تاكنون قيمت كارت‌هاي واسط آن بيش از توان پرداختي عموم مردم بوده است. با اين همه روند كاهشي قيمت اين كارت‌ها و گسترش پياده‌سازي كابل‌هاي رده /6E كلاس EA و معرفي الكترونيك 10GBase-T اميد را براي فراگيرشدن استفاده از ادوات الكترونيكي 10GbE  افزايش داده و راه را براي افزايش پهناي باند در دسترس بيشتر كرده است.

ميزان نياز به پهناي باند يا كاربردهاي مبتني بر شبكه در پنج سال آينده غيرقابل پيش‌بيني است. اين موضوع بحث‌هاي فراواني را درباره نوع كابل‌هايي كه بايد مورد استفاده قرار گيرد، به‌ وجود آورده است. كابل‌هاي رده /6E  كلاس EA نه تنها از نظر اقتصادي به صرفه هستند، بلكه بهبود بسيار زيادي را در بهره‌وري كاربردهاي امروزي به ‌وجود خواهند آورد. 

شك و شبهه‌هايي كه امروزه درباره پياده‌سازي كابل‌هاي رده /6E كلاس EA وجود دارد، تشابهاتي با بحث‌هاي ده سال گذشته درباره پياده‌سازي كابل‌هاي5e  دارد. در آن زمان نيز برخي كارشناسان ظرفيت اين رده كابل‌ها را بيش از نياز عموم پيش بيني مي‌كردند. در حالي كه امروزه فناوري‌هاي موجود ظرفيت قابل استفاده از كابل‌هاي 5e و 6  را به انتهاي خود رسانده‌اند و براي ارتقاي كارايي بايد به سراغ كابل‌هاي رده /6E كلاس EA رفت.

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

نقش آزمايشگاه Systimax در ايجاد استانداردها
آزمايشگاه Systimax تجهيزاتي براي نهايي كردن استاندارد IEEE و نيز پيشنهاداتي براي استاندارد TIA/EIA وISO/IEC در اختيار دارد. در طول يك دهه، تيم تحقيق و توسعه Systimax محصولات و روش‌هاي فراواني را توسعه داده است كه منجر به استانداردهاي جديد براي كابل‌ها شده است.

كابل‌هاي رده /6A كلاس EA ،GigaSpeed x10D نتيجه آن چيزي است كه تأثير آزمايشگاه Systimax خوانده مي‌شود. مهندسان و طراحان اين آزمايشگاه با استفاده از ابزارهاي طراحي اولويتي مانند نرم‌افزار مدل modal decompose، از روش‌هاي top-down براي طراحي كانال‌هاي كابل LAN استفاده مي‌كنند. هر بخش كابل براي كار تحت شرايط عادي و پيك بهينه مي‌شود.

دانشمندان و مهندسان Systimax در تمام مؤسسات استاندارسازي مهم دنيا بسيار فعالند و در توسعه استانداردهاي جديد نيز نقش بسيارمهمي دارند. هدايت فني اين شركت استانداردهاي كابل‌كشي را بهبود زيادي بخشيده و از طريق معماري شبكه مبتني بر استاندارد، مزاياي زيادي را در اختيار شركت‌ها و صنايع مختلف قرار داده است.

استاندارد كابل‌ها هر چند هم كه ارتقا يابد، بيانگر حداقل‌ها است. شركت‌ها براي تضمين موفقيت خود در آينده‌اي نه چندان مطمئن، بايد با ارتقاي كيفيت، حاشيه اطميناني را در عمليات خود در نظر داشته باشند

سید مهرداد قادریان

+ نوشته شده در  دوشنبه هفدهم اردیبهشت 1386ساعت 9:55 بعد از ظهر  توسط MeHrDaD  | 

همه چيز درباره‌ ASP.NET 2.0

همه چيز درباره‌
 
ASP.NET 2.0
 

 

فناوري ASP.NET يك بستر برنامه‌نويسي است كه بر اساس سيستم CLR در چارچوب دات نت كار مي‌كند. اين فناوري امكاني را فراهم مي‌آورد تا در سايه آن برنامه‌نويس بتواند با استفاده از هريك از زبان‌هاي برنامه‌نويسي موجود در چارچوب دات نت، صفحات دايناميك و نرم‌افزارهاي تحت وب توليد كند. نسخه اول ASP.NET توانست با فراهم ساختن قابليت‌هاي پيشرفته زبان‌هاي برنامه‌نويسي شي‌گرا، همچون ويژوال بيسيك دات نت و سي شارپ، تحول بزرگي را نسبت به نسل قبلي (ASP) ايجاد كند. نسخه دوم ASP.NET همان مسير را با بهبود عملكرد موتور ASP.NET در زمينه مديريت و توسعه نرم‌افزار و نيز آسان‌تر كردن روند برنامه‌نويسي طي كرده است. در اين مقاله مهم‌ترين تغييرات و قابليت‌هاي جديد ASP.NET2.0 را بررسي خواهيم كرد. مخاطب اين مقاله برنامه‌نويساني هستند كه قبلاً با فناوريASP.NET آشنايي پيدا كرده‌اند و اكنون مايلند به تدريج به پلتفرم جديد مهاجرت كنند.


شكل 1

تازه‌هاي ASP.NET 2.0 
اولين سؤالي كه براي هر برنامه‌نويس علاقمند به ASP.NET به وجود مي‌آيد اين است كه نسخه دوم اين فناوري چه ويژگي‌ها و قابليت‌هاي جديدي دارد و كدام قسمت‌ها نسبت به نسخه اول دچار تغيير و تحول شده‌اند و اگر كسي بخواهد پلتفرم برنامه‌نويسي خود را به  ASP.NET 2.0 منتقل كند، آيا مجبور است تمام دانش و تجربه خود در زمينه ASP.NET 1.x را دور بريزد و از نو بياموزد؟

با خواندن اين مقاله پاسخ همه اين سؤالات را خواهيد يافت. خوشبختانه معماري ASP.NET 2.0 به گونه‌اي است كه لازم نيست زحمات و تجربيات گرانبهاي خود در كار با ASP.NET 1.x را دور بريزيد.

مي‌توانيد از قابليت‌هاي جديد نسخه دوم استفاده كنيد و همزمان سورس كدهايي كه با ASP.NET 1.x نوشته‌ايد را با كمي تغيير، در پلتفرم جديد مورد بهره‌برداري قراردهيد.

خبر خوب اين است كه ASP.NET 2.0 صد‌درصد با ASP.NET 1.x سازگار است. بنابراين مي‌توانيد برنامه
ASP.NET 1.x خود را بدون حتي يك خط تغيير در سورس كد روي سروري كه براي اجراي ASP.NET 2.0 تنظيم شده است، اجرا كنيد. شكل 1 نمايي از پنجره تنظيمات يك سايت روي  IIS 6.0 را نشان مي‌دهد كه امكان تغيير دادن فناوري‌ASP.NET را از نسخه يك به دو و يا برعكس فراهم مي‌كند.

اين tab ويژه، پس از نصب NET Framework 2.0 روي ويندوز سرور، به ساير Tabها در پنجره تنظيمات سايت افزوده مي‌شود. براي آزمودن ادعاي فوق، كافي است پنجره تنظيمات سايتي كه هم‌اكنون با ASP.NET 1.x نوشته‌ايد را باز كنيد و آن را روي نسخه دوم ASP.NET تنظيم كنيد و دوباره سايت را اجرا نماييد. همه چيز مانند قبل بدون تغيير قابل‌مشاهده خواهد بود.

اما اجازه دهيد ببينيم تغييرات در كجا رخ داده‌اند. اگر معماري يك نرم‌افزار تحت وب را مطابق با معماري معروف سه لايه (3Tier) فرض كنيم، يعني ساختار نرم‌افزار يك سايت از لايه‌هاي نمايش (Presentation)، موتور اصلي نرم‌افزار (Business Layer) و ارتباط با پايگاه داده‌ها (Data Layer) تشكيل شده باشد، آن‌گاه مي‌توان گفت كه در
 ASP.NET 2.0 بيشترين و مهم‌ترين تغييرات در لايه نمايش رخ داده‌اند؛ هرچند كه بهبودهايي در دو لايه ديگر نيز رخ داده و قابليت‌هاي سودمند و جالبي نيز به كل مجموعه افزوده شده است.

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

ولي اگر جزو آن دسته از برنامه‌نويسان هستيد كه با استفاده از نمونه سورس كدهاي مجاني در اينترنت يا با تكيه بر خلاقيت خودتان، اشيا و قابليت‌هاي پايه‌اي ASP.NET 1.x را توسعه داده‌ايد و كامپوننت‌ها و قابليت‌هاي جديدي ايجاد كرده‌ايد، ممكن است هنگام رجوع به قابليت‌هاي جديد نسخه دوم، در انتخاب ميان سورس كد خودتان و شيوه جديد به‌كار رفته در نسخه دوم بر سر دوراهي قرار بگيريد. خوشبختانه  ASP.NET 2.0 راهي را پيش روي اين دسته از برنامه‌نويسان گذاشته كه به كمك آن مي‌توانند به يك وضعيت متعادل از هر دو حالت برسند كه تركيبي از سورس كد قبلي خودتان و قابليت‌هاي جديد نسخه دوم است. در اين مقاله مفصلاً به اين موضوع خواهيم پرداخت، اما پيش از آن اجازه بدهيد مرور سريعي بر تعدادي از ويژگي‌هاي آشكار پلتفرم ASP.NET 2.0 داشته باشيم.

برخي ويژگي‌هاي پلتفرم ASP.NET 2.0
1- براي آشنايي با فضاي كلي برنامه نويسي در  Visual Studio 2005  خوب است قبل از آموختن  ASP.NET 2.0  به مقالات و كتاب‌هاي تأليف شده درباره محيط برنامه نويسي ويژوال بيسيك 2005 يا سي شارپ 2005 نگاهي بيندازيد. همانطور كه مي‌دانيد  ASP.NET 2.0 بر شالوده فناوري دات نت 2 بنا شده است و بدون آشنايي با شيوه برنامه‌نويسي با يكي از زبان‌هاي دات‌نت2 نمي‌توانيد از ASP.NET 2.0 استفاده كنيد. يك نمونه از اين مقالات قبلاً در ماهنامه شبكه (شماره 65) به چاپ رسيده است. همچنين خواندن مقالات نگاهي به قابليت‌هاي جديد 2005 SQL Server (شماره 68) و كسب‌وكار هوشمند در SQL Server 2005 در شماره 69 را به منظور آشنايي با نرم‌افزار  2005 SQL Server توصيه مي‌كنم.

2- فايل‌هاي موسوم به <پروژه> در ويژوال استوديوي  2005 حذف شده‌اند و اكنون همه چيز در فايل solution هر پروژه قرار دارد. بنابراين مديريت پروژه‌هاي ASP.NET اكنون آسان‌تر از گذشته است و سايت‌ها مي‌توانند به سادگي از مكان فيزيكي فعلي خود باز شوند.

3- در محيط  Visual Web Developer 2005 يا  Visual Studio 2005، يعني محيطي كه برنامه‌هاي ASP.NET 2.0  داخل آن نوشته مي‌شوند، دو روش براي اجراي سايت‌ها و صفحات دايناميك وجود دارد. روش اول همان روش قديمي است. به اين ترتيب كه يك وب‌سايت روي IIS تعريف مي‌كنيد و سپس هنگام تعريف يك پروژه جديد، آدرسHTTP  آن سايت را به ويژوال استوديو مي‌دهيد تا فايل‌هاي پروژه را آنجا بگذارد. در اين صورت هنگام بازكردن و اجراي سايت، اين صفحات روي آدرس HTTP سايت مربوطه باز مي‌شوند. در اين حالت شما براي آزمايش كاركرد سايتي كه درست كرده‌ايد، نيازمند اجراي وب سرور IIS هستيد.

شكل 2

در روش دوم كه روش جديدي در ASP.NET 2.0 است نيازي به وجود IIS نيست. اين روش به صورت پيش‌فرض روي ويژوال استوديوي 2005 تنظيم شده و هنگام آزمايش و مشاهده يك صفحه دايناميك در حالت اجرا، يك وب سرور كوچك روي يك پورت تصادفي خاص (روي http://localhost) اجرا مي‌شود و صفحات سايت به كمك آن قابل اجرا و مشاهده خواهند بود. (شكل 2)

اين روش سه مزيت دارد كه عبارتنداز:
‌‌‌‌نيازي به نصب IIS نيست. بنابراين مي‌توان كار برنامه‌نويسي را روي يك ويندوز دسكتاپ (مثلاً اكس‌پي) انجام داد. ضمناً نيازي به نصب نسخه استاندارد SQL Server هم نيست؛ زيرا ويژوال استوديو به روش مشابهي مي‌تواند به كمك يك نرم‌افزار كوچك‌تر به نام SQL Server 2005 Express Edition كه همراه ويژوال استوديو نصب مي‌شود، نياز به وجود يك پايگاه اطلاعاتي را تأمين كند.

‌‌‌‌ عدم نياز به فايل‌هاي موسوم به <پروژه>. هر سايتي مي‌تواند از محل فيزيكي خودش به آساني باز شود؛ زيرا اجباري در وابسته كردن پروژه به يك IP خاص نيست.

‌ امنيت بيشتر در محيط برنامه نويسي. عدم نياز به ‌IIS براي تست صفحات عملاً به اين معنا است كه مي‌توانيد اصلاً IIS ‌را نصب نكنيد و لابد مي‌دانيد كه هرچه تعداد سرويس‌هاي درحال اجرا روي يك سيستم كمتر باشد، امنيت آن بيشتر است. ضمن اين‌كه اجراي سايت روي يك پورت تصادفي از localhost امكان حدس‌زدن URL صفحات پروژه را براي هكرها دشوار مي‌سازد.

4- ويژوال استوديوي 2005 بر خلاف نسخه 2003 همه روش‌هاي دسترسي به يك سايت راه دور را به صورت مناسب و آسان در اختيار برنامه‌نويس مي‌گذارد. بنابراين اگر مي‌خواهيد سايت پروژه خود را از طريق ‌FTP يا از طريق شبكه (فايل سيستم) آپلود كنيد، ابزار قدرتمندي براي اين منظور در اختيار شماست. شكل 3 نمايي از ابزار Copy Web Site را نشان مي‌دهد. به كمك اين ابزار مي‌توانيد پروژه خود را مستقيماً به سايت مقصد آپلود كنيد.

شكل 3

5- ويژوال استوديوي 2005 امكانات مفصلي براي كار با بانك‌هاي اطلاعات دارد. به گونه‌اي كه شما را از مراجعه مستقيم به اينترفيس مديريت SQL Server يا ديگر بانك‌هاي اطلاعاتي تقريباً بي‌نياز مي‌كند. مي‌توانيد به كمك اين ابزارها جداول بانك اطلاعاتي خود را طراحي كنيد يا براي اجراي فرامين مختلف روي بانك‌اطلاعاتي Stored Procedure بنويسيد (شكل 4) و اين توابع را همانجا داخل ويژوال استوديوي اشكال‌زدايي (Debug) نماييد. مي‌كوشيم روش استفاده از اين ابزارها و امكانات را در شماره‌هاي آتي ماهنامه به تفصيل شرح دهيم.

شكل 4


6- شيوه Code-behind در  ASP.NET 2.0 متحول شده است. به اين صورت كه ديگر لازم نيست متغيرهاي عضو(Member Variables) را در ابتداي سورس كد پشت هر صفحه اعلان (Declare) كنيد. فناوري ASP.NET 2.0 از يك سازوكار جديد به نام Partial Class استفاده مي‌كند كه به موتور دات‌نت امكان مي‌دهد تمام سورس كد صفحه را به صورت دايناميك و در همان زمان اجرا كامپايل كند و داخل يك كلاس بگذارد. به اين ترتيب سهولت زيادي در استفاده از شيوه Code-behind پديد مي‌آيد؛ زيرا ديگر لازم نيست به محض افزودن يك Server Control به صفحه، Event Handler آن را در كد پشت صفحه نيز معرفي كنيد.

شكل 5


در ASP.NET 1.x اين كار ضروري است. به همين جهت، به مجرد اعمال كوچك‌ترين تغييري در يكي از صفحاتي كه از شيوه Code-behind استفاده مي‌كند، بايد كل پروژه را دوباره كامپايل و آپلود كنيد. اين مشكل در ASP.NET 2.0 به كلي حذف شده است. به اين ترتيب سرعت پيشبرد پروژه‌هاي طراحي سايت افزايش مي‌يابد و ايجاد تغييرات در صفحات، مستلزم كامپايل كردن مجدد پروژه نيست. شكل 5 سورس كد پشت صحنه يك صفحه دايناميك را نشان مي‌دهد كه مملو از انواع Server Controlها است، ولي ‌Code-behind آن فقط سه خط است كه شامل اعلان Partial Class همان صفحه است و خبري از اعلان Event Handlerها نيست. بقيه كد صفحه (مانند كد تابع Page Load) را مي‌توانيد همچون سابق بيفزاييد.

7- مكانيزم مشابهي براي كلاس‌هاي مستقل نيز پيش‌بيني شده است. به اين ترتيب كه مي‌توانيد علاوه بر آپلود كردن كلاس‌هاي كامپايل شده به صورت dll داخل پوشه bin، سورس بعضي از كلاس‌ها را داخل پوشه App&Code  بگذاريد. اين كلاس‌ها در ابتدا كامپايل نمي‌شوند، اما در زمان اجراي نرم‌افزار، به مجرد نياز به آن‌ها، كامپايل مي‌شوند و قابل استفاده خواهند بود.

معماري و مدل Provider در ASP.NET 2.0
همان‌طور كه پيشتر هم گفتيم، معماري ASP.NET 2.0 به گونه‌اي است كه مي‌توانيد هم از كدهايي كه قبلاً نوشته‌ايد استفاده كنيد و هم از ويژگي‌ها و قابليت‌هاي نسخه دوم اين فناوري بي‌بهره نمانيد. اين ويژگي كه در حقيقت مهم‌ترين ويژگي ASP.NET 2.0 است، از طريق مدلي به نام Provider Model فراهم مي‌شود. بسياري از قابليت‌هاي ASP.NET 2.0 از طريق Providerها در اختيار برنامه‌نويس قرار مي‌گيرند.

‌Provider به زبان ساده يك كامپوننت يا شيء قابل اتصال (Pluggable) است كه مي‌توان قابليت‌هاي آن را توسعه داد يا به كلي آن را با يك كد موجود تعويض كرد. منطق Provider ها در حقيقت از همان منطق شيء گرايي در برنامه نويسي الهام گرفته است. به بيان ديگر، مي‌توانيد كاركرد و عملكرد آن قسمت از پلتفرم  ASP.NET 2.0 را كه با مدل Provider نوشته شده است توسعه دهيد يا كالبد آن را به كلي با كد دلخواه خودتان عوض كنيد. آنچه براي موتور ASP.NET 2.0 مهم است اينترفيس و Syntax اين Providerها است و كاري با محتواي درون آن‌ها ندارد.

بنابراين اگر از عملكرد قسمتي از  ASP.NET 2.0 راضي نيستيد، ‌مي‌توانيد كد جديدي براي انجام وظايف آن بنويسيد. در اين‌صورت موتور  ASP.NET 2.0 به طور خودكار كد شما را اجرا خواهد كرد. سيستم مديريت كاربران
(User Membership)، مديريت حالت (Session State Management)، معماري شخصي‌سازي (Personalization) و ماجول Site Navigation در نسخه دوم ASP.NET از جمله قسمت‌هايي هستند كه با مدل Provider ‌نوشته شده‌اند و شما مي‌توانيد از قابليت‌هاي آن‌ها استفاده كنيد يا كدي را كه قبلاً خودتان نوشته‌ايد، جايگزينشان كنيد.

مثلاً احتمال زيادي دارد كه تاكنون كلاسي براي انجام كارهاي امنيتي مانند Login و نگهداشتن اطلاعات كاربراني كه وارد سيستم شده‌اند و نيز مديريت سطح دسترسي آنان نوشته باشيد. اگر بخواهيد پلتفرم كاري خود را به
 ASP.NET 2.0 منتقل كنيد و مايل باشيد از API جديد اين نسخه براي كارهاي امنيتي استفاده كنيد، بايد سورس كد قبلي خود را كنار بگذاريد. اگر براي نوشتن اين كد زحمت زيادي كشيده باشيد، چنين كاري مطلوب شما نيست.
پلتفرم ASP.NET 2.0 اين امكان را در اختيار شما مي‌گذارد كه راهي براي استفاده از كد موجود خود پيدا كنيد.

در حقيقت معماري ASP.NET 2.0 با الهام از منطق شي‌ء گرايي، طوري نوشته شده است كه شما بتوانيد ازSyntax متدها (توابع) و خواص (Properties) كلاس‌هاي نوشته شده در اين نسخه استفاده كنيد؛ بدون اين‌كه مجبور باشيد به كد داخل اين متدها و خواص محدود بمانيد. بنابراين Providerها پوسته‌هايي هستند كه مي‌توانيد دور كد موجود خود بكشيد. طوري كه موتور ASP.NET 2.0 بتواند زبان آن را بفهمد و با آن كار كند.
 
فايده اين كار چيست؟ مزيت اين مدل هنگامي آشكار مي‌شود كه شما بدانيد برخي قابليت‌ها در ASP.NET 2.0 به يكديگر وابسته‌اند. به عنوان مثال، ماجول شخصي‌سازي به ماجول امنيتي وابستگي دارد. بنابراين اگر بخواهيد از اولي استفاده كنيد، بايد Syntax ماجول دوم طوري باشد كه ASP.NET 2.0 منطقش را درك كند. اگر كد موجود خود را بدون تغيير به درون يك برنامه ASP.NET 2.0 تزريق كنيد، ماجول Personalization منطق آن را درك نخواهد كرد؛ هرچند كه مي‌توانيد همچون گذشته كارهاي مربوط به Login و سطح دسترسي كاربران را به كمك كد دست‌ساز خود انجام دهيد.

علاوه بر اين، استفاده از مدل Provider اين حُسن را دارد كه در آينده نيز اگر قابليت جديدي به ASP.NET افزوده شود، شما همچنان مي‌توانيد ميان كد موجود خود و ‌API جديد پل ارتباطي برقرار كنيد. مايكروسافت براي آن ‌دسته از برنامه‌نويسان كه مايل به استفاده از مدل ‌Provider براي تزريق كد خود به ساختار  ASP.NET 2.0 هستند، يكToolkit فراهم كرده است كه مي‌‌توانيد آن را به همراه يك دوجين مقاله آموزشي از آدرس انتهاي مقاله (1) دريافت كنيد.

شكل 6

شكل 7

شكل 8


تصاوير 6 و 7 و 8 مثال بسيار ساده‌اي از منطق اين مدل را نشان مي‌دهد. در شكل 6 شما تصوير قسمتي از يك صفحه به نام login.aspx را در يكي از مثال‌هاي آموزشي ASP.NET 2.0 مشاهده مي‌كنيد كه Username وPassword كاربر را مي‌گيرد و عمليات احراز هويت و تصديق كاربر را انجام مي‌دهد. با اين وجود، اگر به كد پشت اين صفحه مراجعه كنيد، با كمال تعجب هيچ كدي براي Authentication در آنجا پيدا نخواهيد كرد.

پس اين كار چگونه صورت مي‌گيرد؟ اگر به سورس HTML صفحه مراجعه كنيد (شكل 7) متوجه مي‌شويد كه از دو سه كنترل جديد به نام‌هاي CreateUserWizard و CreateUserWizardStep و CompleteWizardStep استفاده شده است. اين كنترل‌ها عمليات ‌login را توسط API  پيش فرض ASP.NET 2.0 براي اين منظور انجام مي‌دهند.
اگر مي‌خواهيد بدانيد كدام تابع دقيقاً اين كار را انجام مي‌دهد، بايد به كلاس Membership مراجعه كنيد. در آنجا تابعي به نام ValidateUser خواهيد يافت.
 
در شكل 8 تعريف اين تابع را مي‌بينيد. اين، همان‌ جايي است كه مي‌توانيد كد خود را از طريق مدل Providerجايگزين كد موجود كنيد. در حقيقت تابع Membership.Provider.ValidateUser از نوع MustOverride است و بايد پياده سازي خاصي روي آن صورت بگيرد تا قابل استفاده باشد. موتور ASP.NET 2.0 پياده‌سازي خاص خود را از طريق Membership.ValidateUser در اختيار شما مي‌گذارد.

لايه نمايش و رابط بصري در  ASP.NET 2.0

نمونه‌سازي از صفحات و Master Page
دومين تغيير مهم در  ASP.NET 2.0 نسبت به نسخه قبل، ورود مدل جديدي به فرآيند ساخت صفحات به نام Master Page است. تمام طراحان وب، چه تازه‌كاران و چه كهنه‌كارها همواره با اين مسئله روبه‌رو بوده‌اند كه موضوع تغييرات و اصلاحات صفحات وب يك سايت بزرگ را چگونه ساده كنند. تصور كنيد يك سايت از  سي صفحه وب به وجود آمده باشد كه از حال و هوا و صفحه‌آرايي مشابهي پيروي مي‌كنند.
 
اگر يك روز بخواهيم تغيير كوچكي در ظاهر اين سايت به وجود بياوريم، مثلاً محل لوگوي سايت را از بالا و وسط صفحات به گوشه سمت راست بالاي صفحات جابه‌جا كنيم، همين كار ساده ممكن است ساعت‌ها وقت طراح را بگيرد؛ زيرا بايد اين كار را به صورت دستي سي‌بار تكرار كند. براي حل اين مشكل، از سال‌ها پيش راه‌حل‌هاي گوناگوني مطرح شده است. اگر اين سايت فقط از صفحات استاتيك تشكيل شده باشد، يك سري راه‌حل خاص و در صورتي كه از صفحات دايناميك ساخته شده باشد، يك سري راه حل ديگر پيشنهاد شده است.
 
مثلاً در حالت استاتيك، بعضي طراحان از تابع document.write در جاوااسكريپت براي ضميمه كردن سورس HTML قسمتي از صفحه در اين مثال، بالاي صفحه در تمام صفحات استفاده مي‌كنند و براي تغيير مورد نظر فقط فايل جاوااسكريپت را تغيير مي‌دهند. ولي اين راه مشكلات خاص خود را دارد كه مهم‌ترين آن، عدم امكان مشاهده سورس HTML در حالت اصطلاحاً Design يا WYSIWYG پس از تبديل آن به كد جاوا اسكريپت است و طراح بايد براي هرگونه تغيير در فرم و قيافه اين قسمت از تخيل خود كمك بگيرد.

بعضي از طراحان ديگر به قابليت Template سازي كه در برخي نرم‌افزارهاي طراحي وب مانند Dreamweaver گنجانيده شده است روي مي‌آورند. اين راه حل نسبتاً خوبي است، ولي چون استاندارد نيست، فقط همان نرم‌افزار زبان اين <عمليات Templateسازي> را مي‌فهمد و وقتي كل پروژه را از داخل نرم‌افزار ديگري مانند ويژوال استوديو باز مي‌كنيد، ديگر كارايي خود را از دست مي‌دهد.

در حالت دايناميك، دست طراح تا حدودي بازتر است. در دوران ASP طراحان از Server-side inculdes براي اين منظور استفاده مي‌كردند. به اين ترتيب كه بخش‌هايي از يك Layout مانند بالا (Header) و پايين (Footer) صفحات كه فرمي مشابه داشت را داخل صفحات ASP مستقلي مي‌گذاشتند و آن‌ها را ضميمه هر صفحه مي‌كردند. درASP.NET اين راه‌حل با بهره گيري از Web User Controls توسعه داده شده است.
 
بنابراين مي‌توانيد هرجايي از صفحه را كه احساس مي‌كنيد ممكن است بعداً احتياج به تغيير سراسري داشته باشد، به داخل يك فايل ascx منتقل مي‌كنيد و اين قسمت‌ها را ضميمه تمام صفحات مي‌كنيد تا بعداً اگر نياز به تغييري در آن قسمت بود، فقط با اصلاح يك فايل، كل صفحات تغييرات جديد را منعكس كنند.

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

مدل Master Page پاسخي به همين نياز است. شما در ASP.NET 2.0 نه تنها مي‌توانيد همچنان از Web User Controlها استفاده كنيد، بلكه راه حل معكوس آن، يعني Master Page نيز اضافه شده است. در حقيقت مدلMaster Page يك پياده‌سازي دايناميك از همان راه حل الگوسازي است كه در نرم‌افزاري مثل ‌Dreamweaver براي ساخت صفحات استاتيك مشاهده مي‌كنيد.

در اين روش ابتدا يك صفحه الگو (Master Page) مي‌سازيد. سپس هنگام ساختن هر صفحه خاص از سايت، در ابتداي كد صفحه به موتور ASP.NET 2.0 مي‌گوييد كه الگو ياMaster Page اين صفحه كدام صفحه است. در مرحله بعد داخل همين صفحه خاص به سيستم مي‌گوييد كه عناصر داخل الگوي اصلي را چگونه پر كند. صفحه Master Page چيز عجيبي نيست، بلكه خودش يك صفحه وب دايناميك معمولي است كه توسط كد خاصي آن را به عنوان Master Page معرفي مي‌كنيد.

تنها ويژگي اين صفحات آن است كه داخل آن‌ها با استفاده از Tagهاي مخصوصي به سيستم مي‌گوييد فلان قسمت محل نمايش فلان آبجكت است و فلان قسمت ديگر محل نمايش آبجكت ديگر. وقتي موتور ASP.NET ‌شروع به Render كردن يا توليد صفحه وب نهايي مي‌كند، ابتدا الگوي ‌Master Page را با آبجكت‌هاي داخل يك صفحه خاص جمع مي‌زند. شكل 9 قسمتي از يك ‌Master Page را نشان مي‌دهد. قسمت پررنگ شده محل نمايش يك آبجكت را نشان مي‌دهد. شكل 10 نمونه‌اي از يك صفحه ساده است كه ابتدا مرجع، يعني ‌Master Page مربوطه، و سپس محتواي آبجكت مورد نظر را در خود دارد. وقتي اين صفحه توليد مي‌شود، به جاي قسمت پررنگ شده در Master Page محتواي آبجكتي كه  ContentPlaceHolder1 ناميده مي‌شود، به نمايش درخواهد آمد.

ويژگي‌هاي راهكار ‌Master Page به دليل شباهتش به مدل الگوسازي در صفحات استاتيك به گونه‌اي است كه باعث مي‌شود طراحان وب حتي براي ساختن سايت‌هايي كه تاكنون به روش استاتيك ساخته مي‌شدند، تجديد نظر كنند و به فكر استفاده از  ASP.NET 2.0 بيفتند.

شكل 9

شكل 10

شكل 11

شكل 12


‌‌ كامپوننت‌هاي Data Source
سومين تغيير مهم در ASP.NET 2.0، به ميدان آمدن اشياي جديدي است كه Data Source ناميده مي‌شوند. چنان كه مي‌دانيد، در ASP.NET 1.x براي متصل كردن لايه نمايش يا همان صفحات وب (كه دربرگيرنده عناصر مختلف دايناميك مانند Server Control ها هستند) به لايه داده‌ها يا قسمت اصلي نرم‌افزار بايد برنامه‌نويس و طراح وب به صورت دستي مقداري كدنويسي كند. مثلاً اگر براي نمايش دادن فهرستي از مقالات از شيء ‌DataGrid استفاده كرده باشيد، براي متصل كردن آن به بانك اطلاعاتي SQL Server يا اوراكل يا اكسس بايد از اينترفيس ADO.NET  كمك بگيريد و مقداري كدنويسي كنيد تا نهايتاً يك شيء با ساختار و ماهيت IEnumerable مانند‌ DataSet يا DataReader توليد كنيد و آن را به عنوان ورودي به DataGrid تزريق نماييد. اين‌ها اساساً اشيايي مقيم در حافظه و غيرمتصل به پايگاه‌داده‌ها (disconnected) هستند كه هيچ تصويري درباره منشأ داده‌هايي كه داخل خودشان است ندارند. 

 علا‌وه بر اين، اگر بخواهيد روي اطلا‌عاتِ به نمايش درآمده كارهايي مانند مرتب‌سازي (storage)  يا صفحه‌بندي
(custom paging) انجام دهيد، بايد چند تابع و چند خط كدنويسي ديگر هم انجام دهيد و در سراسر كد آن صفحه به ويژه مراقب عملكرد صحيح كد خود در اين زمينه باشيد. فلسفه مطرح‌شده اشياي Data Source در ASP.NET 2.0اين است كه زحمت اتصال به پايگاه داده‌ها و مديريت‌كردن عملياتي مانند مرتب‌سازي را از برنامه‌نويسي كم كند. در حقيقت شما به وسيله Data Source به جاي اين‌كه به يك شيء IEnumerable متصل شويد، مستقيماً به خود بانك‌اطلا‌عاتي وصل مي‌شويد.

اشياي Data Source مي‌توانند تعدادي از عمليات پايه‌اي مانند Insert  ،Delete  ،Select  ،Update  ،Sort و Count   را انجام دهند و لازم نيست براي انجام اين عمليات كدنويسي اضافي انجام دهيد. براي استفاده از اشياي Data source بايد شيء مورد نظر شما قابليت استفاده از ‌Data Source را داشته باشد. شيء DataGrid اين قابليت را ندارد، اما در ASP.NET 2.0 شيء جديدي معرفي شده است كه GridView نام دارد و مدل توسعه يافته‌اي ازDataGrid است كه همان قابليت‌ها را به علاوه يك سري امكانات و توانايي‌هاي جديد در خود دارد.

يكي از اين قابليت‌هاي جديد، همين امكان اتصال به Data Source است. شكل 11 يك نمونه كد ساده را نشان مي‌دهد. در ابتداي اين كد يك شيء از نوع sqlDataSource معرفي شده‌است كه مي‌تواند فرمان‌هاي Select و‌Update را روي داده‌هاي يك جدول از يك بانك اطلاعاتي SQL Server اجرا كند. كمي پايين‌تر، يك GridView معرفي شده كه منبع اطلاعاتش همان ‌sqlDataSource بالايي است.

در پتلفرم ASP.NET 2.0 نوع ديگري از Data Sourceها نيز وجود دارند. شكل 12 يك نمونه ObjectDataSource را نشان مي‌دهد. در اين دسته از اشياء مي‌توانيد به جاي اتصال به پايگاه‌هاي اطلاعاتي متداول، داده‌هاي مورد نياز را از شيء ديگري كه خودتان ساخته‌ايد، بگيريد. مثال شكل 12 نشان مي‌دهد كه چگونه اين شيء فرامين Select و‌Update را با مراجعه به توابع GetArticles و ModifyArticles كه در شيء  MyObject تعريف شده‌اند به انجام مي‌رساند.

نكته جالب در مورد Data Source اين است كه اين‌ها اشيايي دوطرفه هستند كه هم براي نمايش اطلاعات (انتقال به GridView) و هم براي دريافت اطلاعات (گرفتن تغييرات و داده‌هاي جديد از GridView) قابل استفاده‌اند. كد شكل 13 يك ورودي از نوع Textbox را معرفي مي‌كند كه توانايي دريافت اطلاعات و منتقل كردن آن به Data Source را دارد. اين كار توسط تابعي به نام Bind انجام مي‌شود، كه معكوس تابع Eval است. تابع Eval كه براي نمايش اطلاعات استفاده مي‌شود براي همه برنامه نويسان ASP.NET 1.x كاملاً آشنا است. اكنون Data Source مسير بازگشت اطلاعات را نيز فراهم كرده است.

شكل 13


‌‌Web Parts 
عناصر Web Part از نرم‌افزار SharePoint به ارث رسيده‌اند و البته فناوري ASP.NET مايكروسافت يكي از آخرين پلتفرم‌هايي است كه به اهميت و جذابيت اين نوع المان‌هاي تحت وب پي‌برده است. عناصر Web Part بيشتر در پورتال‌ها كاربرد دارند. يك Web Part پنجره‌اي است كه اطلاعاتي را به كاربر نشان مي‌دهد. اما اين پنجره قابل بسته شدن نيز هست.

به عبارت ديگر، مي‌توانيد پنجره مربوط به يك سري اطلاعات خاص را كه علاقه‌اي به آن‌ها نداريد، ببنديد و دفعه بعد كه به سايت مراجعه و Login مي‌كنيد، تنظيمات پيشين شما هنوز معتبرند. مثلاً ممكن است به يك پورتال خبري مراجعه كنيد كه هرگونه خبر و مطلبي در آن پيدا مي‌شود. اما شما به گروه اخبار علمي و فرهنگي علاقه‌اي نداريد، ولي مطالعه اخبار ورزشي را دوست داريد. در اين صورت مي‌توانيد پنجره يا كادر مربوط به اخبار علمي، فرهنگي را ببنديد. از اين به بعد سايت مورد بحث فقط مطالب دلخواه شما را نمايش خواهد داد. اين بخش از ASP.NET 2.0 را مي‌توانيد در تركيب با سيستم Personalization  به‌كار ببريد.

شكل 14

‌‌ كنترل‌هاي جديد
فناوري ASP.NET 2.0 حاوي 45 شيء جديد از نوع Server Control است. تمام اين اشياي جالب و سودمند را در كنار اشياي قديمي و متداول در صفحات ASP.NET را مي‌توانيد در پنجره Toolbox نرم‌افزار ويژوال استوديوي 2005 پيدا كنيد. شكل 14 نمايي از اين بخش را نشان مي‌دهد.
 
اين كنترل‌ها در چند دسته‌بندي‌ شامل Core براي گروه كنترل‌هاي اصلي و پرمصرف، Data براي كنترل‌هاي مربوط به اتصال به منابع اطلاعاتي، Validation براي كنترل‌هاي بررسي اعتبار ورودي‌هاي تايپ شده توسط كاربر، Navigation براي كنترل‌هاي مربوط به تسهيل ايجاد منو و نقشه سايت براي راهنمايي بازديدكننده، ‌Login براي كنترل‌هاي مربوط به ثبت‌نام و ورود و خروج كاربران، WebParts براي كنترل‌هاي ساخت Web Partها در صفحه وب، HTML براي المان‌هاي كلاسيك وب و Crystal Reports براي كنترل‌هاي مخصوص توليد گزارش از روي داده‌ها است.

‌‌Themes 
تم‌ها موجودات جديدي در فضاي ASP.NET هستند كه به دنياي طراحي صفحات دايناميك طراوت مي‌بخشند. تم‌ها پوسته‌هايي هستند كه مي‌توانيد روي صفحات خود بكشيد. هر تم از مجموعه‌اي از فايل‌هاي CSS، تصاوير و پوسته كنترل‌ها تشكيل شده است. يك پوسته كنترل (Control Skin) يك فايل متني است كه تنظيمات بصري پيش‌فرض يكServer Control را در خود دارد. به عنوان مثال، مي‌توانيد به يك DataList در صفحه يك پوسته نسبت بدهيد. در اين صورت ظاهر گرافيكي و بصري آن مطابق موارد درج شده در فايل مذكور خواهد بود.

‌‌Localization 
براي ساختن يك سايت بزرگ و چندزبانه مي‌توان روش ساده‌ و در عين حال دشواري را در پيش گرفت: از هر صفحه به ازاي هر زبان يك نسخه بسازيد. به اين ترتيب براي آماده كردن سايتي كه مثلاً سي صفحه دارد، طراح بايد نود صفحه بسازد. آيا اين روش خوبي است؟ البته كه نه و تازه بايد درمورد Duplicate كردن ديتابيس و ساير منابع اطلاعاتي سايت هم فكري كرد. پس راه‌حل چيست؟

برنامه‌نويسان وب طي چند سال اخير متدولوژي‌هاي مختلفي را براي ساختن سايت‌هاي چند زبانه پيشنهاد كرده‌اند. اغلب اين راهكارها را تحت عنوان Localization مي‌توان دسته بندي كرد.

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

فناوري ASP.NET 2.0 مدعي است كه پياده‌سازي اين راهكار را براي برنامه‌نويسان آسان كرده است. گذشت زمان ميزان صحت اين ادعا را روشن خواهد كرد. به هرحال يك API نيز براي اين راهكار درنظر گرفته شده است.

سرويس‌هاي موتور ASP.NET 2.0

‌‌Configuration 
يكي از مهم‌ترين ويژگي‌هاي جديد ASP.NET 2.0 اصلاح سيستم تنظيمات نرم‌افزار است. برنامه‌نويسان ASP.NET   با فايل web.config و اهميت آن آشنايي دارند. مي‌توانيد پارامترها و تنظيمات نرم‌افزاري دلخواه را در اين فايل قرار دهيد. اين مقادير در سراسر برنامه و براي همه بازديدكنندگان سايت معتبر خواهد بود. در ASP.NET 2.0 مي‌توانيد از طريق يك API ساده و راحت، داخل كد برنامه خود، اين تنظيمات را تغيير دهيد و مقادير جديد پارامترها را در فايلweb.config ثبت كنيد.

‌‌Site Counter  
يكي ديگر از قابليت‌هاي جالب و به‌دردبخور كه به ASP.NET 2.0 افزوده شده است، ماجول شمارش تعداد بازديدكنندگان سايت است. شمارنده‌ها را همه طراحان وب و اغلب دارندگان سايت‌هاي اينترنتي دوست دارند؛ زيرا به آن‌ها نشان مي‌دهد چقدر بازديدكننده دارند و اين بازديدكننده به كدام قسمت‌ها بيشتر مراجعه مي‌كنند. برنامه‌نويسان ASP.NET 1.x معمولاً خودشان راه‌‌حل‌هاي مختلفي را براي آمارگيري از بازديدكنندگان سايت پياده مي‌كنند؛ مگر اين‌كه سرور ميزبان سايت (Host Server) از قبل به يكي از نرم‌افزارهاي تجاري آمارگيري از وضعيت بازديدكنندگان مجهز شده باشد. فناوري ASP.NET 2.0 اين كار را براي طراحان وب آسان كرده است. البته اين شمارنده خيلي پيشرفته نيست و قابليت‌ها خوبي دارد و حتماً مورد توجه طراحان قرار خواهد گرفت.

‌‌Cache  
سيستم Cache نيز در  ASP.NET 2.0 تكاني خورده است. مهم‌ترين بهبود در سيستم Cache اضافه شدن پارامترSqlCacheDependency به Cache است. به كمك اين پارامتر مي‌توانيد Cache را به تغييرات ديتابيس وابسته كنيد، به گونه‌اي كه مثلاً به محض بروز تغييري در يكي از جدول‌هاي يك بانك اطلاعاتي، Cache آپديت شود. اين قابليت خيلي بدردبخور است و چيزي است كه برنامه‌نويسان انتظارش را داشتند. به كمك اين پارامتر كدنويسي سيستم نگهداري و بروزرساني اطلاعات يك سايت پربيننده (كه نياز مبرمي به Cache دارد) آسان مي‌شود.

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

‌‌Site Navigation 
در ASP.NET 2.0 به يكي ديگر از نيازهاي قديمي و متداول طراحان وب نيز پاسخ داده شده است؛ نياز به تسهيل ايجاد منو و نقشه سايت (به صورت دايناميك) از روي ساختار صفحات سايت. اكنون مي‌توانيد به كمك كنترل‌هاي جديدي كه در ASP.NET 2.0 دارك ديده شده‌است، اين كار را از فرم دستي و استاتيك خارج كنيد و به موتور ASP.NET اجازه بدهيد شما را در اين زمينه ياري دهد.

‌‌ امنيت‌
خوشبختانه طي يكي دو سال اخير امنيت برنامه‌هاي ASP.NET در اثر پيگيري مداوم برنامه‌نويسان علاقمند و كدنويسي اصولي و از همه مهم‌تر، ترويج اصول امنيتي در اين پلتفرم، به ميزان قابل ملاحظه‌اي افزايش يافته است. موتور ASP.NET 2.0 چكيده‌اي از اين تجربيات را در دل خود دارد، اما در كنار اين‌ها يكي دو قابليت جالب توجه نيز افزوده شده است: يكي امكان رمزنگاري بخشي از فايل web.config با استفاده از تگ كه براي نگهداري قسمت‌هاي حساس اين فايل خيلي مفيد است. ديگري، امكان رديابي كاربران ناشناسي كه از يك سايت بازديد مي‌كنند.

قابليت اخير اين امكان را به برنامه‌نويسان ASP.NET مي‌دهد تا بتوانند به كاربري كه هنوز Login نكرده‌است، يك كد شناسايي موقت نسبت دهند تا نحوه حركت او در سايت را مانيتور كنند. اين قابليت علاوه بر كاربردهاي امنيتي، فوايد ديگري نيز دارد. مثلاً از همين قابليت براي نسبت دادن تنظيمات شخصي (Personalization) به كاربراني كهLogin نكرده‌اند مي‌توان استفاده كرد.

آموزش ASP.NET 2.0
واضح است كه هنوز هم بهترين منبع براي يادگيري ASP.NET 2.0 و ديگر موضوعات مرتبط با برنامه‌نويسي و طراحي وب، مطالعه كتاب‌هاي سومند در اين زمينه است. گلچيني از اسامي و مشخصات بهترين كتاب‌هاي دنيا در زمينه ASP.NET 2.0 را مي‌توانيد از لينك انتهاي مقاله (2) پيدا كنيد. ولي در ويژوال استوديوي 2005 روش جالب و جديدي هم به ديگر روش‌هاي آموزشي افزوده شده كه مي‌توان آن را آموزش از طريق مثال‌هاي هدفمند ناميد.

اهالي مايكروسافت نام ‌Starter Kits يا كيت‌هاي آموزشي براي مبتديان را بر اين مثال‌ها گذاشته‌اند. يك كيت آموزشي ASP.NET 2.0 شامل يك پروژه كامل و قابل اجرا است كه تنها با دو سه كليك قابل نصب و اجرا است. فهرست كامل اين كيت‌ها را از آدرس موجود در انتهاي مقاله (3) مي‌توانيد ببينيد و كيت‌هاي دلخواه خود را دانلود كنيد. پس از نصب هر كيت بايد برنامه ويژوال استوديو را باز كنيد و فرمان Create New Web Site را از منوي فايل اجرا كنيد. در پنجره محاوره‌اي مربوط به ايجاد پروژه جديد مي‌توانيد يكي از كيت‌هاي نصب شده در قسمتTemplates را انتخاب كنيد. سپس ويژوال استوديو به صورت خودكار يك سايت از روي الگوي تعريف شده در كيت آموزشي مي‌سازد و براي اجرا و مشاهده صفحات سايت كافي است كليد ‌F5 را فشار دهيد

سید مهرداد قادریان

+ نوشته شده در  دوشنبه هفدهم اردیبهشت 1386ساعت 9:48 بعد از ظهر  توسط MeHrDaD  | 

بهينه‌سازي فايل‌هاي PDF

بهينه‌سازي فايل‌هاي PDF

 
يكي از پركاربردترين فرمت‌ها براي ارائه مطالب، مقالا‌ت، فايل‌هاي راهنما و ...،PDF است. فرض‌كنيد مي‌خواهيد مطلبي را كه خودتان تهيه كرده‌ايد با فرمت PDF در اختيار عموم قرار دهيد. اگر قصد داريد تنها كاربران كامپيوتر، مخاطبان شما باشند كار مشكلي پيش‌رو نداريد. اما تلا‌ش‌كنيد يك قدم فراتر نهيد و كاربران تجهيزات همراهي مانند Pocket PC ،Mobile Phone و ... را نيز جذب مطلب خود نماييد. در ادامه مواردي را براي رسيدن به اين هدف مرور خواهيم كرد و از ابزارهاي متداول بهره‌خواهيم‌برد؛ البته با كمي دقت بيشتر.


بهينه‌سازي فايل‌هاي PDF را در دو حالت بيان مي‌كنيم: حالت اول زماني است كه فايل از قبل ساخته شده است و امكان دوباره‌سازي آن وجود ندارد. حالت بعدي هنگام ساخت فايل‌هاي PDF است. براي اين‌كار از برنامه Adobe Acrobat 7.0 Professional بهره خواهيم بود. 

 بهينه‌سازي فايل‌هاي از قبل ساخته شده

فعال كردن نمايش سريع در وب
فعال بودن اين ويژگي باعث مي‌شود در يك زمان تنها قسمت درخواست شده فايل در سمت كاربر بارگذاري شود. بدين‌معنا كه اگر كاربر صفحه سوم يك مقاله 35 صفحه‌اي را براي مشاهده درخواست كند، تنها صفحه سوم مقاله براي او به نمايش درخواهد آمد. از منوي Edit ابزار Preferences را برگزينيد. از سمت چپ اين پنجره روي General  كليك نماييد. از ابزارهاي موجود در Miscellaneous گزينه Save As Optimizes for Fast web view را فعال نماييد. با كليك دكمه OK تغيير انجام شده ذخيره مي‌شود. حال مي‌توانيد با استفاده از كليدهاي تركيبي Shift+Ctrl+S فايل را دوباره ذخيره نماييد.

تصوير‌1

جداسازي فونت‌‌هاي غيرضروري
فونت‌هاي توكار فايل‌هاي PDF باعث افزايش حجم اين فايل‌ها مي‌شوند. ممكن است تعدادي از فونت‌هاي غيرضروري باشند. براي پاك‌كردن آن‌ها به‌ اين‌صورت عمل نماييد. از منوي Advanced گزينه PDF Optimizer را انتخاب نماييد. به قسمت Fonts برويد و فونت‌هاي اضافي را از فهرست Embedded fonts خارج نماييد. (تصوير‌1)


 فشرده‌سازي عكس‌ها
كاهش كيفيت تصويري عكس‌ها و فشرده‌‌كردن اجزاي تصوير مي‌تواند در كاهش اندازه فايل‌هاي PDF راهگشا باشد. براي رسيدن به اين هدف ابتدا سراغ منوي Advanced برويد. سپس روي PDF Optimizer كليك نماييد.
 
برنامه قسمت Image را در اختيار كاربر قرار داده است. با استفاده از سه قسمت Color Images ،Grayscale Images وMonochrome Images مي‌توانيد نوع فشرده‌سازي و متغيرهاي مربوط به كاهش حجم PDF را اعمال نماييد.

 حذف اجزاي اضافه
در پنجره PDF Optimizer به سراغ قسمت Clean Up برويد. اين ابزار امكان حذف اجزاي غيرضروري فايل PDF را به كاربر مي‌دهد. موارد بسياري در اين پنجره قرار دارند. با كمي دقت و آگاهي كامل از گزينه‌ها مي‌توانيد آن‌ها را انتخاب كنيد و حجم فايل PDF را كاهش دهيد. توجه كنيد ابتدا گزينه Object Compression Options را رويCompress Document Structure قرار دهيد. پس از تغيير در اين زبانه، برنامه به‌طور خودكار نام جديدي را براي ذخيره‌سازي دوباره فايل PDF درخواست مي‌كند. كافي است نام مناسبي را وارد‌نماييد.

تصوير2

از جمله گزينه‌هاي موجود در اين صفحه مي‌توان به موارد زير اشاره كرد:

- پاك كردن Bookmarkهاي غيرفعال

- پاك كردن لينك‌‌هاي ناسالم

- اعمال خصوصيت نمايش سريع در وب به فايل. (تصوير2)
 

بهينه‌سازي فايل‌ها در هنگام توليد PDF 
زماني كه قصد داريد فايل PDF توليديِ شما در تجهيزات همراه نيز به راحتي قابل مشاهده باشند، توجه به حجم و ابعاد فايل از اصول مهم است.


در اينجا سعي شده است راه‌هاي پيشنهاد شده باعث بهينه‌شدن فايل‌هاي PDFشوند و موجب از دست‌‌رفتن يكپارچگي اين‌گونه فايل‌ها نشوند. با اين ديدگاه كار را آغاز مي‌كنيم.

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

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

تصوير‌3

- اين‌بار از ابزار Acrobat Distiller استفاده خواهيم كرد. اين ابزار را به نحوي تنظيم مي‌كنيم كه در هنگام توليد فايل‌هاي PDF، كوچكي فايل لحاظ شود.

پس از اجراي برنامه از منوي كركره‌اي Default Settings گزينه Smallest File Size را انتخاب نماييد. پنجره برنامه را ببنديد. در مرحله بعد نيز از آن استفاده خواهيد كرد. (تصوير‌3)

- زماني كه برنامه Acrobat Distiller باز است، كليدهاي تركيبي Ctrl+E را بفشاريد. به زبانه Images برويد. انتخاب فرمت JPEG از منوي كركره‌اي Compression براي عكس‌هاي رنگي (Color Images) و Grayscale مناسب‌ترين گزينه است.

همچنين CCITT در عكس‌هاي سياه و سفيد (Monochrome Images) مي‌تواند انتخابي بهينه باشد. ابزارImage Quality را نيز در اختيار داريد.

به ترتيب بهترين تا بدترين (و يا بالا‌ترين تا پايين‌ترين) كيفيت در اين ابزار فهرست شده‌اند. بهينه‌ترين انتخاب، گزينه‌هاي متوسط به پايين اين قسمت است.

تصوير‌4

- در همين پنجره به سراغ قسمت Fonts مي‌رويم. در قسمت Always Embed تمام فونت‌هاي موجود را پاك نماييد. همچنين مي‌توانيد فونت‌هايي را كه از آن‌ها هيچ‌وقت استفاده نمي‌كنيد، به قسمتNever Embed  اضافه نماييد.
 
براي بهينه‌تر شدن فايل PDF گزينه %Subset embedded fonts when percent of characters used is less than100 را غيرفعال نماييد. (عكس 4)

- در پنجره Adobe PDF Settings روي قسمت Advanced كليك نماييد. تمام امكانات موجود در اين پنجره را غيرفعال كنيد. تعدادي از اين ابزارها عبارتند از:


- استفاده از دستورات موجود در فايل Post Script) PS) به جاي تنظيمات برنامه

-  نگهداشتن خصوصيات Overprint در فايل

- ذخيره كردن تنظيمات در فايل PDF 

- ذخيره فايل‌هاي تصويري بدون فشرده‌سازي

- تبديل خطوط ساده به منحني (Curve) 

- نگهداري اطلا‌عات Document Structuring Convention) DSC) در فايل نهايي (عكس 5)

تصوير 5

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

مجموعه‌هاي آفيس 
- فايل‌هاي تصويري به كار رفته در فايل اصلي را تا حد امكان بهينه نماييد (از طريق كاستن از كيفيت و استفاده از فرمت‌هاي مناسب). 

- استفاده از يك ستون متن

- طراحي ابعاد سند، مناسب با صفحه نمايش تجهيزات همراه
برنامه‌‌هاي طراحي

- استفاده از تعداد كمتري نقطه در ترسيم مسيرها

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

- استفاده كمتر از جلوه‌هاي ويژه تصويري (مانند شفاف‌سازي و ...)

- بهينه‌كردن عكس‌‌هاي موجود در سند

- فشرده‌سازي متون و اَشكال موجود در سند

- يكي كردن لا‌يه‌هاي موجود در سند

- تبديل نكردن لا‌يه‌هاي متني به لا‌يه‌ها

سید مهرداد قادریان

+ نوشته شده در  دوشنبه هفدهم اردیبهشت 1386ساعت 9:3 بعد از ظهر  توسط MeHrDaD  | 

ميكروكنترلر AVR

ميكروكنترلر AVR

خانواده میکروکنترلرهای AVR شامل طیف گسترده ای از آی سی ها است که از 8 پایه شروع و به 64 پایه ختم می شود. اما در بین این طیف گسترده تعدادی استفاده عمومی تری دارند مانند ATMEGA32 . که در تمام مثالهای آورده شده از این آی سی استفاده شده است .

مشخصات سخت افزاری ATMEGA32 :

شکل ظاهری و پایه ها:

ATMEGA32 در سه نوع بسته بندی PDIP با 40 پایه و TQFP با 44پایه و MLF با 44 پایه ساخته میشود که در بازار ایران بیشتر نوع PDIP موجود میباشد .

ATMRGA32 دارای چهار پورت 8بیتی ( 1 بایتی ) دارد که علاوه بر اینکه بعنوان یک پورت معمولی میتوانند باشند کارهای دیگری نیز انجام میدهند . بطور مثال PORTA میتواند بعنوان ورودی ADC (تبدیل ولتاژ آنالوگ به کد دیجیتال ) استفاده شود که این خاصیت های مختلف پورت در برنامه ای که نوشته میشود تعیین خواهد شد .
ولتاژ مصرفی این آی سی از 4.5 V تا 5.5V میتواند باشد .
فرکانس کار هم تا 16MHz میتواند انتخاب شود که تا 8MHz نیازی به کریستال خارجی نیست و در داخل خود آی سی میتواند تامین شود . فرکانس کار از جمله مواردی است که باید در برنامه تعیین شود . لازم به ذکر است که این فرکانس بدون هیچ تقسیمی به CPU داده میشود . بنابراین این خانواده از میکروکنترلرها سرعت بیشتری نسبت خانواده های دیگر دارند .
پایه ی شماره 9 نیز ریست سخت افزاری میباشد و برای عملکرد عادی آی سی نباید به جایی وصل شود و برای ریست کردن نیز باید به زمین وصل میشود .
پایه های 12 , 13 نیز برای استفاده از کریستال خارجی تعبیه شده است .


ساختار داخلی ATMGA32 :
برنامه ای که برای میکروکنترلر در کامپیوتر نوشته میشود وقتی که برای استفاده در آی سی ریخته میشود ( توسط پروگرامر مخصوص آن خانواده ) در مکانی از آن آی سی ذخیره خواهد شد بنام ROM . حال در ATMEGA32 مقدار این حافظه به 32KB ( 32 کیلوبایت ) میرسد .
در این آی سی مکانی برای ذخیره موقت اطلاعات یا همان RAM هم وجود دارد که مقدارش 2KB است .
در RAM اطلاعات فقط تا زمانی که انرژی الکتریکی موجود باشد خواهد ماند و با قطع باتری اطلاعات از دست خواهند رفت . به همین منظور در ATMEGA32 مکانی برای ذخیره اطلاعات وجود دارد که با قطع انرژی از دست نخواهند رفت . به این نوع حافظه ها EEPROM گفته میشود که در این آی سی مقدارش 1KB است و تا 100,000 بار میتواند پر و خالی شود .

نرم افزار
نرم افزار مورد نیاز برای برنامه نویسی :
حال میخواهیم طرز نوشتن برنامه برای میکروکنترلرهای خانواده ی AVR را شروع کنیم . پس برای اینکار نیاز به یک نرم افزار داریم که بتوانیم در آن برنامه ی خود را بنویسیم . یکی از نرم افزارهای قدرتمند برای انجام دادن اینکار نرم افزاریسیت بنام Bascom AVR . در این نرم افزار همانطور که از نامش معلوم است برنامه باید بزبان Basic که زبانی با سطح بالا (HLL) است نوشته شود . همچنین این نرم افزار دارای شبیه ساز داخلی برای تست کردن برنامه نوشته شده است که یکی از ویژگیهای این نرم افزار میباشد .


تحلیل برنامه

حال به توضیح تک به تک قسمتها میپردازیم :

۱:در قسمت معرفی آی سی از کلمه کلیدی $Regfile برای معرفی استفاده شده است . این دستور به این صورت است که باید بعد ازآن کلمه معرف آی سی مورد استفاده را در جلوی آن وارد کنیم . البته برای هر آی سی کلمه ی مخصوصی وجود دارد که برای ATMEGA32 باید کلمه ی M32def.dat را تایپ کرد . البته باید توجه داشت که این کلمه باید داخل یک جفت کوتیشن ( گ + Shift ) قرار گیرد :
$Regfile = “M32def.dat”

۲: در قسمت بعدی که تعیین فرکانس کاری است کلمه کلیدی $Crystal باید نوشته شود و آنرا باید مساوی با فرکانس کار بر حسب هرتز قرار داد :
$Crystal = 1000000

۳: حال به بخش معرفی سخت افزار رسیدیم . در این برنامه چون پورت B باید بتواند جریان بیرون دهد و سخت افزار خارجی ای که همان LED است را روشن کند بعنوان خروجی تعریف میشود . همیشه برای معرفی سخت افزار از کلمه کلیدی Config اسفاده میشود . پس برای خروجی کردن پورت B مینویسیم :
Config Portb = output

۴: چون در این برنامه نیازی به تعریف متغیری نبود به بخش برنامه اصلی میرویم و در این قسمت عددی را به پورت B خواهیم فرستاد تا طبق آن LED ها روشن شوند . البته ذکر این نکته لازم است که اگر بخواهیم عددی را در مبنای دودویی بنویسیم ابتدا باید &B را نوشته و بعد ععد مورد نظر را تایپ کنیم و همینطور برای نوشتن در مبنای هگز که &H تایپ میشود و اگر هیچکدام از کلمات ذکر شده را ننویسیم عدد در مبنای دسیمال محسوب میشود .

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

LCD :
در کل دو نوع LCD وجود دارد . یکی از آنها را LCD کارکتری گویند که فقط قابلیت نمایش حروف و اعداد و کارکترهایی همچون ؟ و ! و غیره را دارد و نوع دیگر LCD گرافیکی است که قابلیتهای LCD گرافیکی بعلاوه ی نمایش تصویر در آن جمع شده اند . هدف ما در اینجا کار با LCD کارکتری خواهد بود .

معرفی LCD کارکتری :
LCD های کارکتری خود به چند نوع دیگر از لحاظ اندازه تقسیم بندی میشوند . که از LCD هایی با 1 سطر و 1 ستون آغاز میشوند تا اندازهایی مثل 4 سطر و 40 ستون که البته تمام آنها از 16پایه تشکیل شده اند.


برای راه اندازی LCD توسط AVR نیازی به دانستن جزئیات طرز کار LCD نیست . برای کار با LCD علاوه بر پایه های تغذیه و CONTRAST ( تنظیم روشنایی ) که باید مانند شکل مداری پایین بایاس شوند نیاز به 6 پایه ی دیگر است که عبارتند از پایه های :
RS , E , DB4 , DB5 , DB6 , DB7 .

تحلیل برنامه :

۱:برای تعیین نوع LCD از کلمات کلیدی Config و بعد از آن Lcd استفاده شده و آنها را مساوی نوع LCD مورد استفاده قرار میدهیم که در اینجا نوع مورد استفاده دارای 2 سطر و 16 ستون میباشد. پس بصورت زیر خواهیم نوشت :
Config Lcd = 16*2

۲: در مرحله ی بعد ترتیب وصل کردن پایه ها را معرفی خواهیم کرد و برای اینکار پایه هایی از LCD را که برای راه اندازی آن استفاده میشود و قبلا نیز گفته شده بود را مساوی پایه هایی از میکروکنترلر قرار میدهیم که میخواهیم به آنها وصل شود و البته این نوع راه اندازی توسط AVR را که تنها با شش پایه صورت میگیرد را نوع راه اندازی PIN میگویند . پس طبق سخت افزار نشان داده شده بصورت زیر خواهیم نوشت :
Config Lcdpin = pin , Rs = porta.0 , e = porta.1 , db4 = porta.2 , db5 = porta.3 , db6 = porta.4 , db7 = porta.5
( به علامت , بین بخشها دقت کنید . )

۳: بعد از انجام کارهای بالا که جزو بخش معرفی سخت افزار محسوب میشوند به سراغ برنامه اصلی میرویم که کار آن نمایش متن روی LCD است و برای انجام اینکار از کلمه کلیدی LCD و در جلوی آن متنی که باید نمایش داده شود استفاده میکنیم و باید توجه داشت که متن را باید داخل کوتیشن قرار داد .

۴: در انتهای برنامه نیز END را مینویسیم .

نحوه ی کامپایل برنامه و پروگرام کردن IC

کامپایل برنامه نوشته شده :
بعد از نوشتن برنامه باید آنرا کامپایل کرد تا اگر اشتباهی در تایپ کلمه ای وجود داشته باشد برای اصلاح آن اخطار داده شود و فایلهای از جمله فایل هگز که برای پروگرام کردن نیاز است ابجاد گردند . برای کامپایل برنامه همانطور که در تصویر بخش اول نمایش داده شده است باید از دکمه ی F7 استفاده کرد . با انجام اینکار برنامه ی ما کامپایل خواهد شد .
پروگرام کردن IC :
بعد از کامپایل برنامه نوبت به آن رسیده است که با نحوه ریختن برنامه داخل IC یا باصطلاح پروگرام کردن آشنا شوید . پس نیاز است که یک دستگاه پروگرامر مختص به خانواده AVR داشته باشید . برای پروگرام کردن میکروکنترلرهای خانواده AVR انواع مختلفی پروگرامر که از استانداردهای خاصی پیروی میکنند وجود دارد که مصرف عمومی تر را پروگرامهای نوع STK200/300 دارند که البته دارای مدار بسیار ساده ایست و برای پروگرام کردن از کابل LPT ( پرینتر ) استفاده میکند و در بازار هم بیشتر این نوع پروگرامر یافت میشود .
هنگامیکه میخواهیم کار پروگرام کردن را شروع کنیم ابتدا باید پروگرامر را به کامپوتر وصل نموده و بعد از توسط محیطی از نرم افزار Bascom AVR نوع آنرا برای کامپیوتر معرفی کنیم ( اینکار فقط یکبار انجام شود کافیست ) . برای شناساندن پروگرامر به کامپیوتر از منوی Option گزینه Programmer را انتخاب میکنیم :

بعد از انتخاب این گزینه کادر نمایش داده شده که در قسمت نمایش داده شده توسط خط قرمز نوع پروگرامر را انتخاب میکنیم :
بعد از انجام تنظیمات بالا میتوان آی سی را پروگرام کرد . به این صورت که
گزینه Program را انتخا ب میکنیم . بعد از انتخاب این گزینه کادر زیر باز خواهد شد که با کلیک روی آیکون مربوط آی سی پروگرام میشود .
همچنین دستگاههایی برای تست برنامه نوشته شده وجود دارند که روی آنها تمام وسایل مورد نیاز مانند LCD و Keypad و ... قرار دارد و کاربرمیتواند با سیم بندی ای که براحتی توسط کابلهای مخصوصی انجام میدهد پورتهای آی سی را به سخت افزارهای جانبی اتصال دهد و برنامه خود را مورد آزمایش قرار دهد . به این دستگاهها Emulator میگویند.
 
سید مهرداد قادریان
+ نوشته شده در  پنجشنبه سیزدهم اردیبهشت 1386ساعت 7:16 قبل از ظهر  توسط MeHrDaD  | 

جزوه درس اصول پایه موبایل

جزوه درس اصول پایه موبایل

درس اصول پایه موبایل یک درس کاربردی است که از دیدگاه مهندسی سیستم موبایل و مخابرات بیسیم را مورد بررسی قرار می دهد. معرفی سیستم های GSM و ساختار آن و کانال های GSM و اپراتوری و توپولوژی های شبکه و همچنین بحث های سیگنالینگ از بخش های مهم این مجموعه به صورت اسلاید های Power point در حدود ۲۵۰ صفحه می باشد. به نظر من بد نیست به عنوان دروس هم نیاز اطلاعات مختصری هم از دروس مخابرات ۱ و شبکه های کامپیوتری داشته باشید. به نظر من این داشتن اطلاعات برای یک مهندس برق - مخابرات ضروری است. این جزوه توسط شرکت ارتباطات سیار تنظیم شده است. حجم فایل : ۵.۵ مگابایت - دانلود جزوه

سید مهرداد قادریان

+ نوشته شده در  پنجشنبه سیزدهم اردیبهشت 1386ساعت 7:14 قبل از ظهر  توسط MeHrDaD  | 

نمونه سوالات مخابرات دانشگاه ام - آی - تی

نمونه سوالات مخابرات دانشگاه ام - آی - تی

این هم نمونه سوالات درس مخابرات دوره کارشناسی دانشگاه ام آی تی برای شما عزیزان و علاقه مندان به درس مخابرات ۱

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

سید مهرداد قادریان

+ نوشته شده در  پنجشنبه سیزدهم اردیبهشت 1386ساعت 7:11 قبل از ظهر  توسط MeHrDaD  | 

مدار تشخیص صحبت!

مدار تشخیص صحبت!

 

مدار زير که از آی‌سی پردازش صوت HM2007  استفاده می‌کند عملکرد جالبی دارد. با استفاده از صفحه کليد و ميکروفن می‌توانيم کلماتی را ( حداکثر  ۴۰  کلمه ) به مدار آموزش داده و سپس هرگاه اين کلمات را از طريق ميکروفن بشنود شماره کلمه را روی نمايشگر نشان می‌دهد. برای دیدن مدار اینجا را کلیک کنید

وقتی مدار روشن می‌شود ابتدا حافظه RAM  مدار چک می‌شود و وقتی همه چيز آماده بود LED  قرمز روشن می‌شود به معنی اينکه مدار آماده دريافت فرمان است. برای آموزش مدار ابتدا شماره کلمه‌ را از طريق صفحه کليد وارد کنيد (در اين لحظه LED  قرمز خاموش خواهد شد) سپس کليد ≠ را فشار دهيد، حال مدار آماده دريافت صوت است لذا کلمه مورد نظر را از طريق ميکروفن برای مدار تکرار کنيد. مثلاً فرض کنيد کلمه شماره  ۱  می‌خواهيم کلمه ”ايران“ باشد. پس کليد  ۱  را فشار داده و سپس کلمه ايران را تلفظ ميکنيم. مدار تلفظ کلمه ايران را در مکان  ۱  حافظه ذخيره می‌کند. کلمات ديگر را نيز به همين ترتيب می‌توانيد به مدار آموزش دهيد.

تست مدار:

مدار تشخيص صدا بطور دائم به اصوات اطراف گوش می‌دهد و هرگاه کلمات موجود در حافظه‌اش را در بين صداهای شنيده شده بيابد شماره آن کلمه را روی نمايشگر نشان می‌دهد. از کاربردهای بسيار جالب اين مدار می‌تواند فرمانهای صوتی باشد. مثلاً بگوئيم ”کولر روشن“ و کولر روشن شود و ...

کدهای خطای مدار:

خطاهايی که برای مدار رخ می‌دهد بصورت کدهايی روی نمايشگر ظاهر می‌شود.

۵۵: يعنی کلمه شنيده شده خيلی طولانی است.

۶۶: يعنی کلمه شنيده شده خيلی کوتاه است.

۷۷: يعنی کلمه شنيده شده با کلمات موجود در حافظه Match  نيست.

سید مهرداد قادریان

+ نوشته شده در  پنجشنبه سیزدهم اردیبهشت 1386ساعت 6:57 قبل از ظهر  توسط MeHrDaD  | 

چشم الکترونیکی

چشم الکترونیکی

 

 چشم الکترونیکی دستگاهی است دقیق،ظریف و حساس برای کنترل حرکت و جابجایی اشیا یا افراد توسط نور. کافیست دستگاه را در محل مورد نظر نصب کنید و ترتیبی دهید که نور به مقدار لازم به سلول حساس دستگاه بتابد. به محض آنکه فرد یا شیئی از مقابل دستگاه عبور کند یا جابجا شود، بطوری که تابش نور به سلول حساس کاهش یابد و یا متوقف شود ، دستگاه فورا واکنش نشان میدهد و صدای بوق قوی از بلندگو پخش میشود.این دستگاه با ولتاژ 6 ولت کار میکند و مصرف آن در حالت بی کاری نزدیک به صفر است. بنابراین حتی اگر باتری خشک به آن وصل کنید ، مدتها دوام می آورد. ضمنا یک پتانسیومتر تنظیم حساسیت روی فیبر تعبیه شده است که به کمک آن میتوانید دستگاه را برای استفاده در شرایط نوری مختلف به دقت تنظیم نمایید. دستگاه چشم الکترونیک کاربردهای گوناگونی دارد که از جمله میتوان به کاربرد آن به عنوان دزدگیر در موسسات و منازل و اتومبیل ها اشاره کرد. ضمنا برای کنترل مسیر ها جهت آگاهی از ورود و خروج افراد نیز به کار می رود.
 
 نخستین بخش مدار را یک مولتی ویبراتور مرکب از ترانزیستورهای Tr2 و Tr3 تشکیل میدهد. مقدار خازنهای C1 و C2 طوری انتخاب شده است که سیگنالهای صوتی ثابتی با فرکانس حدود یک کلیو سیکل ایجاد میکند. این سیگنالها در پایه کلکتور ترانزیستور Tr3 قابل دریافت است و اگر یک گوشی کریستالی به پایه مذبور وصل کنید، سیگنالها را به صورت صدای سوت میشنوید. دومین بخش مدار، یک آمپلیفایر صوتی دو ترانزیستوری مرکب از ترانزیستورهای Tr4 و Tr5 است که به صورت مستقیم به یکدیگر وصل شده اند. ترانزیستور Tr4 که یک ترانزیستور تیپ مثبت PNP است، سیگنالهای صوتی را از طریق خازن C3 دریافت میکند و پس از تقویت سیگنالها، آنها را برای تقویت نهایی ( تقویت قدرت) به ترانزیستور Tr5 میدهد. پایه B ترانزیستور Tr1 از طریق سلول فوتورزیستانس Cds به ولتاژ مثبت وصل شده است و در حالتی که نور به صفحه Cds بتابد، مقاومت آن کاهش یافته ولتاژ مثبت قابل توجهی به پایه B میرسد و ترانزیستور را در حالت خاموشی نگهمیدارد که در این حالت ولتاژ تغذیه مولتی ویبراتور قطع است و کار نمیکند و لذا هیچ صدایی از بلندگو پخش نمیشود. اما همینکه مانعی بر سر راه تابش نور به Cds ایجاد شود، مقاومت آن افزایش می یابد و ولتاژ مثبت پایه B کاسته شده و در عوض پایه B از طریق پتانسیومتر Pot و مقاومت R1 ولتاژ منفی دریافت میکند که در نتیجه مدار مولتی ویبراتور به کار می افتد و صدای بوق از بلندگو پخش میشود. با تنظیم پتانسیومتر( مقاومت متغییر) میتوان ولتاژ پایه B ترانزیستور Tr1 را برای شرایط نوری مختلف به دقت تنظیم نمود
.

سید مهرداد قادریان

+ نوشته شده در  پنجشنبه سیزدهم اردیبهشت 1386ساعت 6:53 قبل از ظهر  توسط MeHrDaD  | 

ترفندهاي گوگل � بخش سوم

ترفندهاي گوگل � بخش سوم

 

cache
يک کپي از صفحه فهرست شده (indexed) توسط گوگل را پيدا مي کند، حتي اگر اين صفحه با آدرس اصلي قابل دستيابي نباشد و يا محتواي آن تغيير کرده باشد. اين روش مخصوصا براي صفحاتي که مکررا تغيير مي کنند مفيد است.

cache:www.yahoo.com

daterange
جستجوي شما را به يک تاريخ خاص يا محدوده اي از تاريخ، که در آن يک صفحه فهرست بندي شده است منحصر مي کند. ذکر اين نکته مهم است که جستجوي شما وقتي که يک صفحه توسط گوگل فهرست مي شود قابليت محدود شدن دارد، نه زمانيکه صفحه ايجاد مي شود. بنابراين وقتي که يک صفحه در 2 فوريه ايجاد مي شود و تا 11 آوريل توسط گوگل فهرست نمي شود، با استفاده از daterange در 11 آوريل پيدا خواهد شد. به خاطر داشته باشيد که گوگل صفحات را فهرست بندي مجدد مي کند. تغيير محدوده تاريخ به تغيير محتوا وابسته است. براي مثال گوگل صفحه اي را در 1 ژوئن فهرست مي کند، اين صفحه دوباره در 13 آگوست فهرست مي شود، اما محتواي آن تغيير نکرده است. تاريخ مورد جستجو با daterange هنوز 1 ژوئن خواهد بود.
daterange با تاريخ Julian کار مي کند نه با تاريخ Gregorian (تاريخي که از آن استفاده مي کنيم). مبدل هاي آنلاين براي تبديل وجود دارد، اما اگر مي خواهيد بدون هيچ دردسر فقط با گوگل جستجو کنيد، از واسط گوگل
FaganFinder استفاده کنيد....

 

+ نوشته شده در  دوشنبه دهم اردیبهشت 1386ساعت 9:55 بعد از ظهر  توسط MeHrDaD  | 

ترفندهاي گوگل � بخش دوم

ترفندهاي گوگل � بخش دوم

 

علاوه بر AND، OR و رشته هاي نقل قولي (quoted strings) ، گوگل ترکيبات خاص ديگري براي هر چه بهتر کردن جستجوي شما ارائه مي دهد.


گوگل يک موتور جستجوي full-text است، بنابراين تمامي يک صفحه وب را فهرست بندي مي کند. ترکيبات خاص به کاربران گوگل اين امکان را مي دهند تا قسمتهاي مختلف و يا نوع خاصي از اطلاعات را جستجو کنند. اين مسئله وقتي که با 2 بيليون صفحه وب مواجه مي شويد مطرح است و شما به هر فرصتي براي کم کردن نتايج جستجو نياز خواهيد داشت. مشخص کردن اين که کلمات کوئري شما تنها در عنوان و يا URL جستجو شود روشي مناسب براي کسب نتايج مورد نظر است، بدون اينکه به خاص بودن خود کلمات فکر کنيد...


 

 

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

intitle:�george bush�
allintitle:�money supply� economics


inurl
جستجوي شما را در URLهاي صفحات وب منحصر مي کند. اين ترکيب براي پيدا کردن صفحات help و search به خوبي کار مي کند. نوع allinurl: تمامي کلمات ليست شده در يک URL را جستجو مي کند، اما با بعضي از ترکيبات خاص ديگر، به خوبي ترکيب نمي شود.

inurl:help
allinurl:search help


intext
تنها متن body را جستجو مي کند (از متن لينک ، URLها و عناوين صرفنظر مي کند). نوع allintext: نيز وجود دارد اما مانند قبل، در ترکيب با بقيه نقش مناسبي ايفا نمي کند. در حاليکه استفاده از آن محدود است، استفاده از آن براي پيدا کردن کلماتي که ممکن است خيلي در URLها و لينک عناوين متداول باشند، مناسب است.

intext:�yahoo.com�
intext:html


inanchor
متن لينک انکر صفحه را جستجو مي کند. لينک انکر، متن توصيفي يک لينک است. براي مثال، انکر لينک در کد <a xhref=�http://www.oreilly.com>O�Reilly and Associates</a>، عبارت �O�Reilly and Associates� است.

inanchor:�tom peters�


site
اين امکان را مي دهد تا جستجوي خود را در يک سايت محدود کنيد. AltaVista بري مثال، دو ترکيب براي اين کار دارد (host: و domain:) اما گوگل تنها يک ترکيب دارد.

site:loc.gov
site:thomas.loc.gov
site:edu
site:
nc.us


link
ليستي از صفحات لينک شده به صفحه مشخص شده را بر مي گرداند. link:
www.google.com را وارد کنيد، ليستي از صفحاتي که به گوگل لينک شده اند را بر مي گرداند. نگران استفاده از http:// نباشيد؛ به نظر مي رسد در صورت وارد کردن آن، گوگل از آن صرفنظر مي کند. link: تنها با URLهاي عميق به خوبي کار مي کند، مانند raelity.org به جاي http://www.raelity.org/apps/blosxom.

 

+ نوشته شده در  دوشنبه دهم اردیبهشت 1386ساعت 9:54 بعد از ظهر  توسط MeHrDaD  | 

ترفندهاي گوگل � بخش اول

سلام

 

با توجه به اهمیت جستجو در وب برای پژوهشگران عزیز این سه پست را برای ترفند های جستجو در گوگل اختصاص داده ام

امیدوارم برای دوستان مفید واقع شود

 

ترفندهاي گوگل � بخش اول

* به طور کلي دو نوع از موتورهاي جستجو موجود است. در اولين نوع که فهرست موضوعي قابل جستجو ناميده مي شوند مانند !Yahoo، تنها عناوين و توصيفات سايت ها جستجو مي شود. نوع دوم يا موتورهاي جستجوي full-text ازعنکوبتهاي کامپيوتري شده براي فهرست بندي ميليون ها و بعضي مواقع بيليون ها صفحه استفاده مي کنند. اين صفحات با عنوان و محتوا جستجو مي شوند. گوگل يک موتور جستجوي full-text است.

* هر وقت شما از بيش از يک کلمه براي جستجو استفاده مي کنيد، موتور جستجو داراي روش پيش فرضي براي مديريت اين کلمات است. اين روش پيش فرض، پيش فرض Boolean است، که اين نوع بولين مي تواند AND يا OR باشد....

 

- پيش فرض بولين گوگل AND است؛ به اين معنا که اگر عبارات را بدون modifier ها وارد کنيد، گوگل همه آن ها را جستجو خواهد کرد:

- اگر مي خواهيد مشخص کنيد �اين کلمه يا آن کلمه مورد قبول است�، بين هر کلمه يک OR قرار دهيد:

snowblower OR snowmobile OR

- اگر مي خواهيد قطعا يک عبارت به همراه يکي از دو يا چند عبارت ديگر داشته باشيد، به کمک پرانتز آنها را گروه بندي کنيد:

snowblower (snowmobile OR �Green Bay�)


- به جاي OR مي تونيد از کاراکتر pipe  استفاده کنيد:

- اگر مي خواهيد يک کلمه در نتيجه جستجو ظاهر نشود از کاراکتر dash �-� استفاده کنيد.

snowblower snowmobile -�Green Bay�

- در اين صورت صفحاتي که شامل کلمات �snowblower� و �snowmobile� هستند، اما شامل عبارت �Green Bay� نيستند، جستجو مي شوند.

* دکمه �يا بخت و يا اقبال� يکي از ويژگي هاي جالب گوگل مي باشد. به جاي نشان دادن ليستي از نتايج جستجو، شما به مناست ترين سايتي که گوگل اعتقاد دارد به جستجوي شما مربوط است هدايت مي شويد. تلاش براي جستجوي کلمه �president� شما را به سايت http://www.whitehouse.gov مي برد.


* بعضي از موتورهاي جستجو نسبت به بزرگ يا کوچک بودن حرف حساس هستند (case sensitive). گوگل case sensitive نيست. اگر شما کلمات Three، three يا THREE را جستجو کنيد، نتايج يکساني حاصل مي شود.

* گوگل بيشتر از 10 کلمه را در يک کوئري، شامل ترکيبات خاص، قبول نمي کند.

* گوگل از stemming يا توانايي استفاده از نشان ستاره * در قسمتي از يک کلمه پشتيباني نمي کند. براي مثال، *moon در يک موتور جستجو که از stemming پشتيباني مي کند، کلمات �moonlight�، �moonshot�، �moonshadow� و � جستجو مي شوند. هر چند گوگل نشان ستاره را به عنوان جايگزين يک کلمه کامل قبول مي کند. جستجو براي عبارت �three * mice� در گوگل، �three blind mice�، �three blue mice� و � را پيدا خواهد کرد.

«سید مهرداد قادریان»

+ نوشته شده در  دوشنبه دهم اردیبهشت 1386ساعت 9:46 بعد از ظهر  توسط MeHrDaD  | 

مديريت شبكه در پنج لايه

مديريت شبكه در پنج لايه

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


با وجود تنوع سيستم‌هاي مديريت شبكه يا Network Management System) NMS)، ساختار آنها كمابيش شباهت‌هايي به يكديگر دارد. در تمامي اين سيستم‌ها عناصر مديريت‌شونده شامل كامپيوترها و ساير تجهيزات شبكه، به صورت دوره‌اي و يا در صورت مشاهده شرايط خاص (مانند خرابي يك بخش) به صورت آني، پيامي حاوي اطلاعات لازم در مورد رويداد پيش‌آمده و وضعيت فعلي خودشان، براي سيستم مديريت كننده ارسال مي‌كنند. اين سيستم نيز با توجه به نوع پيام دريافت شده، عملياتي همچون توليد آلارم، ثبت رويداد، توقف عمليات و يا سعي در برطرف‌سازي مشكل را به انجام مي‌رساند. 

البته مكانيسم مديريت‌كننده نيز مي‌تواند خود راساً اقدام به بررسي وضعيت عناصر مديريت‌شونده در شبكه نمايد. همان‌طور كه در شكل 1 نشان داده شده است، عناصر مديريت شونده بايد حاوي موجوديتي موسوم به كارگزار مديريت (Agent) باشند كه مسئوليت جمع‌آوري اطلاعات لازم و ارسال آنها را به سيستم مديريت شبكه بر عهده دارد. در پاره‌اي مواقع اين موجوديت نقش واسطي (proxy) را بين سيستم مديريت شبكه و تعدادي از عناصر ديگر بر عهده دارد. استفاده از واسطه‌ها به كاهش تعداد پيام‌هاي اضافي در سطح شبكه كمك مي‌نمايد.


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

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


شكل2- توابع پنجگانه مديريت شبكه

توابع اصلي سيستم مديريت شبكه
سازمان بين‌المللي استانداردها موسوم به ISO مدلي را براي سيستم‌هاي مديريت شبكه پيشنهاد نموده كه به استانداردي جهت شناخت و مقايسه قابليت‌هاي آنها تبديل گرديده است. اين مدل توابع سيستم مديريت شبكه را در پنج حوزه قرار مي‌دهد (شكل 2) كه به طور خلاصه با حروف اول آنها يعني FCAPS شناخته مي‌شوند:

1- مديريت خطا (Fault Management) 

2- مديريت پيكربندي (Configuration Management) 

3- مديريت حسابرسي (Accounting Management) 

4- مديريت كارآيي (Performance Management) 

5- مديريت امنيت (Security Management) 

البته بسياري از سيستم‌هاي موجود، در عمل تنها بخشي از توابع پنجگانه فوق را اجرا مي‌كنند و همواره نمي‌توان تناظر يك به يك بين قابليت‌هاي كاربردي يك سيستم مديريت شبكه و توابع فوق مشاهده نمود. در ادامه اشاره‌اي مختصر به توابع هر گروه خواهيم داشت.

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

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


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

مديريت كارآيي: اين گروه از توابع، اندازه‌گيري و نمايش پارامترهاي كارآيي شبكه همچون نرخ عبوري برونداد
(Throughput)، زمان پاسخ‌دهي و نرخ بهره‌وري خطوط (Line Utilization) را برعهده دارند كه به تلاش براي حفظ اين پارامترهاي كيفي در سطح مطلوب منجر مي‌گردد.

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


مديريت امنيتي: وظيفه دارد دسترسي به منابع شبكه را كنترل نمايد و از دسترسي عوامل خارج از شبكه ممانعت به عمل‌آورد. به اين ترتيب امكان بهره‌گيري غير مجاز (عمدي و يا سهوي) از منابع شبكه وجود نخواهد داشت. مديريت امنيت مي‌تواند منابع يك بخش از شبكه را از ديد و استفاده كاربران ساير بخش‌ها، دور كند. البته براي دستيابي به اين هدف، شناسايي منابع حساس و ايجاد نوعي تناظر بين كاربران مجاز و اين منابع لازم مي‌باشد. مديريت امنيت همچنين سوابق كليه استفاده‌هاي نابجا از منابع شبكه را براي استفاده‌هاي بعدي مديران امنيتي شبكه، ثبت مي‌نمايد.


 مديريت خطا

* توليد، گزينش و اعلان هشدار‌ها
* تشخيص مشكلات
* تصحيح مشكلات
* آزمايش و پذيرش
* بازيابي شبكه

 مديريت پيكربندي

* تنظيمات آغازين سيستم‌ها
* تداركات شبكه
* تشخيص خودكار
* ذخيره و بازيابي تنظيمات
* مديريت پايگاه داده‌

 مديريت حسابرسي

* ثبت ميزان استفاده از شبكه
* توليد صورت حساب

 مديريت كارآيي

* جمع آوري اطلا‌عات مرتبط‌
* توليد گزارش‌ها
* تحليل اطلا‌عات‌

 مديريت امنيت

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


البته در برخي موارد و برحسب نياز، دو گروه ديگر از توابع را نيز در زمره توابع سيستم مديريت شبكه قرار مي‌دهند: مديريت دارايي‌‌ها (Assessment) و مديريت برنامه‌‌ريزي (Planning).

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


شكل 3- نمايي از لايه هاي مديريت شبكه

لايه‌هاي مديريت شبكه
پيچيدگي و تعدد وظايف سيستم مديريت شبكه باعث گرديده تا مطابق استاندارد شبكه‌هاي مديريت مخابراتي موسوم به TMN، آن‌ها را در چهار لايه جاي دهند كه بر روي يك لايه فيزيكي متشكل از تجهيزات شبكه، قرار دارند. (شكل 3)، در اين مدل هر لايه تعريف خود را دارد:

لايه عناصر (Element Layer): متشكل از عناصر مديريت شونده در سراسر شبكه مي‌باشد.



لايه مديريت عناصر (Element Management Layer):
متشكل از واحدهاي نرم‌افزاري است كه هر يك قادر به مديريت گروه خاصي از عناصر شبكه مي‌باشند. هر واحد اين لايه به كمك نرم‌افزار كارگزار موجود در گروه تجهيزات مربوط به خود و پروتكل SNMP به گردآوري اطلاعات لازم راجع به عناصر آن گروه اقدام مي‌كند و البته داراي ديد كاملي از شبكه و همبندي بين عناصر آن نمي‌باشد.


لايه مديريت شبكه (Network Management Layer):
اين لايه اطلاعات لازم راجع به عناصر شبكه را از طريق لايه مديريت عناصر به‌دست مي‌آورد و با ايجاد يك تصوير يكدست از كليت شبكه، كنترل آن را به صورت يك موجوديت واحد در اختيار مي‌گيرد.

لايه مديريت سرويس (Service Management Layer): كنترل سطح كيفي خدماتي مانند شبكه‌هاي خصوصي مجازي (VPN)  و تلفن اينترنتي بر عهده اين لايه است. فراهم‌كنندگان خدمات شبكه مجبور به عقد قراردادي با مشتريان خود موسوم به توافقنامه سطح خدمات يا (SLA (Service Level Agreement مي‌باشند، كه در آن سطح كيفي خدمات مورد نياز و جريمه‌هاي متعلقه در صورت ناتواني فراهم كننده از ارائه اين سطوح مشخص مي‌گردد.
 
لايه مديريت خدمات، در عمل ابزاري براي گردانندگان شبكه جهت حفظ چارچوب و عمل به تعهدات SLA مي‌باشد.

لايه مديريت تجاري (Business Management Layer): در بالاترين لايه، مديريت تجاري قرار دارد كه موضوعاتي همچون روابط بين شبكه‌اي را به لحاظ موضوعات مالي و تجاري كنترل مي‌كند. اين لايه با ساختار كلي مديريت سازماني فراهم‌كننده و مشتريان بزرگ آن در ارتباط تنگاتنگ مي‌باشد و از برخي لحاظ ماهيت متفاوتي نسبت به ساير لايه ها دارد.

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

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

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

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

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

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

 استفاده آسان: به كارگيري برخي از سيستم‌هاي مديريت شبكه، مترادف طي كردن دوره‌هاي طولاني آموزش جهت كسب مهارت لازم در كار با آنها مي‌باشد. اما رقابت و لزوم كاهش هزينه‌ها، چنين الزاماتي را نمي‌پذيرد. يك سيستم مديريت شبكه مدرن بايد در تمامي مراحل پياده‌سازي، راه‌اندازي و به كارگيري با استفاده از رابط‌هاي گرافيكي (GUI) و فرآيندهاي استاندارد، نيازهاي آموزشي پرسنل را به حداقل برساند.

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

1- رابط گرافيكي كاربران (GUI) 

2- نقشه همبندي شبكه (Map Network Topology) 

3- سيستم مديريت پايگاه داده (DBMS) 

4- مكانيسم استاندارد جمع‌آوري اطلاعات از تجهيزات

5- منوهاي قابل تغيير و سفارشي

6- مكانيسم ثبت رويدادها (Log) 

برخي از پلتفرم‌هاي مديريت شبكه داراي قابليت‌هاي اضافي چون ابزارهاي ترسيم گرافيكي، اينترفيس‌هاي برنامه‌نويسي كاربردي (API) و ماجول‌هاي امنيتي مي‌باشند. اصولاً سه معماري متداول براي پياده سازي اين پلتفرم‌ها وجود دارد:

شكل 4 - معماري سلسله مراتبي در مديريت شبكه



1. معماري متمركز

2. معماري توزيع شده

3. معماري سلسله مراتبي

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

شكل 5 - نمايي از نرم‌ افزار مديريت شبكه What,s up Gold  What

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

در معماري توزيع‌شده، عملاً شبكه به بخش‌هاي كوچكتري تقسيم مي‌شود كه يك سيستم مديريت شبكه در راس هر يك از آنها قرار دارد. هر بخش به تنهايي قادر به اجراي توابع مديريت و توليد گزارش مي‌باشد. مي‌توان با تمركز اطلاعات در يك نقطه مركزي، مديريت سراسري را نيز به طور همزمان اجرا نمود كه به اين ترتيب تلفيقي از مزاياي دو معماري متمركز و سلسله مراتبي به‌دست مي‌آيد. (شكل 4)



در بازار سكو‌هاي مديريت شبكه سه عنوان HP OpenView ، Sun SunNet Manager و IBM NetView در راس قرار دارند كه در ميان آنها HP OpenView از جايگاه ممتازي در رده شبكه‌هاي بزرگ برخوردار است و در عمل به صورت استانداردي براي حفظ سازگاري ميان محصولات مديريت شبكه درآمده است.


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

به عنوان مثالي ديگر، مي‌توان از نرم‌افزار What's up Gold نام برد. اين برنامه محصول شركت Ipswitch، يك نرم‌افزار مديريت شبكه جمع و جور و ارزان قيمت مي‌باشد كه از قابليت‌هاي مناسبي برخوردار است و مي‌توان نسخه آزمايشي آن را از نشاني
www.ipswitch.com/downloads دريافت نمود.

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

تشخيص كليه عناصر داراي آدرس IP در شبكه و ايجاد نقشه توپوگرافيك از شبكه و زيرشبكه‌هاي آن به صورت كاملاً خودكار

نظارت بر عملكرد كليه‌ تجهيزات و سرويس‌هاي شبكه و راه‌اندازي مجدد سرويس‌ها در صورت نياز.

ارسال آلارم‌هاي هشداردهنده بر روي كنسول‌هاي مديريت و يا از طريق e-Mail ،SMS و تلفن.

اجراي خودكار برنامه‌هاي بازيابي و رفع خطا.

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

ثبت تغييرات كارآيي سيستم‌ها و سرويس‌ها و جمع‌آوري آمار استفاده از شبكه.

توليد خودكار فهرست رويدادها و گزارش‌هاي آماري از آنها

 

سید مهرداد قادریان

+ نوشته شده در  پنجشنبه ششم اردیبهشت 1386ساعت 7:22 قبل از ظهر  توسط MeHrDaD  | 

ترانزيستورهاي نامريي طراحي شدند

ترانزيستورهاي نامريي طراحي شدند

محققان ترانزيستورهاي نامريي فوق مدرن طراحي كردند كه استراتژي‌هاي جديدي را براي ايجاد شفافيت الكترونيكي فراهم مي‌كنند.

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

مدل‌هاي جديد بدون سيم‌هاي قابل مشاهده طراحي شدند كه از هر دو قابليت نامريي بودن و كارايي سطح بالا برخوردارند.

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

سید مهرداد قادریان 

+ نوشته شده در  پنجشنبه ششم اردیبهشت 1386ساعت 7:15 قبل از ظهر  توسط MeHrDaD  | 

نانو الكترونیك

نانو الكترونیك

در سال ۱۹۵۶ گوردون مور بنیان‌گذار اینتل تحلیلی ارایه كرد كه بر طبق آن هر ۱۸ ماه تعداد ترانزیستورهای بكار رفته در ریزپردازهای اینتل دو برابر می شود كه نصف شدن ابعاد گیت ترانزیستورها با شرط ثابت بودن اندازه تراشه سیلیكونی در آن می‌تواند نتیجه این قوانین باشد. این قاعده به قانون مور موسوم شد. این نصف شدن در واقع پیام‌آور ابعاد اقتصادی بود یعنی هر چه گیت كوچكتر می‌شد ترانزیستور می‌توانست سریعتر سوئیچ كند و درنتیجه انرژی كمتری مصرف می‌شد و تعداد بیشتری ترانزیستور در یك تراشه سیلیكون جای می‌گرفت. افزایش تعداد ترانزیستورها و بازدهی آنها، هزینه را كاهش می‌دهد بنابراین مقرون به صرفه‌تر این بود كه هر ترانزیستور تا حد امكان كوچكتر شود، این كوچك‌سازی بالاخره در نقطه‌ای متوقف می‌شد بنابراین برای ادامه رشد صنعت الكترونیك باید به فكر فناوریهای جایگزین بود، فناوری كه مشكلات گذشته را حل كرده و توجیه اقتصادی داشته باشد و اینبار نانو تكنولوژی بود كه توانست به كمك الكترونیك بیاید و فناوری الكترونیك مولكولی یا همان نانو‌الكترونیك بنا نهاده شد.
نانو تكنولوژی یك رشته وابسته به ابزار است ابزارهایی كه به مرور در حال بهتر شدن است نانو تكنولوژی و شاخه‌های كاربردی آن مانند نانوالكترونیك درواقع تولید كارآمد دستگاهها و سیستم‌ها با كنترل ماده در مقیاس طولی نانو است و بهره‌برداری از خواص و پدیده‌های نوظهوری است كه در این مقیاس توسعه یافته است.
صنعت الكترونیك امروزی مبتنی بر سیلیكون است سن این صنعت به حدود ۵۰ سال می‌رسد و اكنون به مرحله‌ای رسیده است كه از لحاظ تكنولوژیكی، صنعتی و تجاری به بلوغ رسیده است. در مقابل این فناوری، الكترونیك مولكولی قرار ارد كه در مراحل كاملاً ابتدایی است و قرار است این فناوری به عنوان آینده و نسل بعدی صنعت الكترونیك سیلیكونی مطرح شود. الكترونیك مولكولی دانشی است كه مبتنی بر فناوری نانو بوده و كاربردهای وسیعی در صنعت الكترونیك دارد. با توجه به كاربردهای وسیع الكترونیك در محصولات تجاری بازار می‌توان با سرمایه‌گذاری و تامل بیشتر در فناوری نانو الكترونیك در آینده‌ای نه چندان دور شاهد سود‌دهی كلان محصولاتی بود كه جایگزین فناوری الكترونیك سیلیكونی شده‌اند. میل، اشتیاق و علاقه مصرف‌كنندگان و نیاز بازار به محصولات جدید با قابلیتهای بالا سازندگان و صنعتگران را بر آن می‌دارد كه با سرمایه‌گذاری در این فناوری شاهد رشد و شكوفایی اقتصادی هر چه بیشتر باشند، ولیكن با توجه به اهمیت نانوتكنولوژی و نیز نانو الكترونیك كه به عنوان یك شاخه كاربردی از نانو تكنولوژی مطرح است لزوم سرمایه‌گذاری كلان در درازمدت و ریسك‌پذیری و تشكیل مراكز R&D توسط دولتمردان پیش از پیش احساس می‌شود.
برای پیشبرد فناوری نانو الكترونیك و نتیجه رساندن آن سه مرحله راهبردی پیشنهاد می‌شود كه با پیاده‌سازی این سه‌مرحله می‌توان نانو الكترونیك را جایگزین فناوری الكترونیك سیلیكونی كرد ونسل جدیدی از محصولات الكترونیكی را وارد بازار ساخت.
● مرحله اول:
مولكولی در نظر گرفته می‌شود باید كاربردهایی ساده ارزان و غیر پیچیده‌ای باشند تا اطمینان نسبی به الكترونیك مولكولی ایجاد شده و سرمایه‌گذاری‌ها به سمت آن هدایت شود و از طرفی كارایی این فناوری ثابت شود. به بیان ساده وشفاف و مقایسه نسل جدید محصولات كه بر پایه این فناوری جایگزین شده‌اند، توجیه كاربرد این محصولات و ایجاد اطمینان در مصرف‌كنندگان می‌تواند به عنوان بهترین حامی اقتصادی در این مرحله باشد.
● مرحله دوم:
تولیدات اولیه الكترونیك مولكولی (نانو الكترونیك) باید مكملی برای فناوری سیلیكون باشند اینگونه نباشد كه انقلابی رااز همان آغاز و ابتدا شروع كرده و این ادوات و فناوریهای جدید تافته جدا بافته باشد و هیچ ربطی به فناوری سیلیكونی نداشته باشد زیرا فناوری سیلیكونی یك صنعت جا افتاده است. پس اگر نانوالكترونیك را بتوان مكملی برای فناوری سیلیكونی بكار برد شاهد پیشرفت قابل ملاحظه‌ای در این فناوری نوپا بوده و جایگزین مناسبی برای نسل آینده محصولات الكترونیكی در نظر گرفته شده است.
● مرحله سوم:
مرحله سوم مبحث كاملاً جدیدی است كه اصلاً در دسترس فناوری سیلیكون نبوده و نانوالكترونیك می‌تواند بعد از طی مراحل اول و دوم به آن بپردازد، یك مثال ساده وروشن این موضوع، نمایشگرها هستند، نمایشگرهای متداول كاملاً سخت و غیرقابل انعطاف هستند ولی با استفاده از الكترونیك مولكولی ومولكول‌هایی كه در صفحه نمایش استفاده داشته باشد بنابر این كابرد‌هایی وجود دارد كه از دسترس فناوری سیلیكون، آن هم بخاطر جامد و كریستالی بودن ذاتی‌اش دور بوده و برای الكترونیك مولكولی قابل دستیابی است. وقتی كه نانو الكترونیك جا افتاد و وارد بازار محصولات الكترونیك شد آنگاه می‌توان نسل جدیدی از محصولات را به دست آورد كه شامل پردازندهایی ۱۰۰۰ مرتبه سریعتر از نوع امروزی باشند. اگر این مرحله با موفقیت طی شود حدوداً یك دهه طول خواهد كشید تا نسل جدید محصولات الكترونیكی مبتنی بر الكترونیك مولكولی یا الكترونیك در ابعاد نانومتر (نانو الكترونیك) ظهور یابد.
● بررسی امكانات موجود:
برای ساخت ابزارهای مولكولی باید دید از چه چیزهایی می‌توان استفاده كرد،‌وسایلی كه در اختیار است و تاكنون مدنظر بوده است به شرح ذیل هستند:
ـ نانو لوله‌ها
ـ حلقه‌های بنزنی
ـ پلیمرها
ـ DNA
● نانو لوله‌ها:
اگر یك صفحه تخت گرافیكی مدنظر باشد و به شكلی بتوان آن را به صورت نواری در نظر گرفت و لوله كرد یك نانو لوله مفروض به دست می‌آید كه ساختار آن همان ساختار گرافیت بوده و یك هگزاگونال است. این ماده در سال ۱۹۹۱ در ژاپن كشف شده و به علت خصوصیات جالب آن مورد توجه قرار گرفت. یك خاصیت جالب این مواد آن است كه بر حسب اینكه در چه جهتی خم شود دارای خاصیت نیمه‌هادی و یا فلزی می‌شود. قطر یك نانو لوله كمتر از ۲ نانومتر است و از این نانو لوله می‌توان به عنوان یك سیم كوانتومی یا یك سیم غیرفعال استفاده كرد به عنوان مثال این لوله می‌تواند به عنوان یك سیم انتقال هنگام اعمال اختلاف پتانسیل از یك الكترود به الكترود دیگر عمل كند كه این موضوع مثالی از اتصالات غیرفعال می‌تواند باشد.
نانو لوله دارای خاصیت فلزی است این خاصیت رسانش نه فقط در طول بلكه در عرض نانو لوله نیز وجود دارد برای حالت سیمهای مولكولی غیرفعال، بهتر است كه نانو لوله دارای خاصیت رسانش باشد، اگر باشد، نانو لوله دارای گاف انرژی خواهد بود كه شبیه نیمه هادی خواهد شد. اگر نانو لوله كربنی روی سطحی قرار داده شود و نوك STM (مولكول نانو لوله‌های كربنی) رابه سطح آن نزدیك شود، چنانچه ولتاژی را بین بستری كه نانو لوله روی آن قرار دارد و نوك STM اعمال شود جریانی عبور خواهد كرد، بر حسب مقدار جریانی كه عبور می‌كند، می‌توان تشخیص داد كه گاف انرژی چقدر است.
● حلقه بنزنی:
حلقه‌های بنزنی به خاطر چگالی حالت بالا كه بر روی حلقه‌های خود دارند جانشینی برای سیمهای كوانتومی در نظر گرفته می‌شود.
● پلیمرها:
از نمونه‌هایی كه به عنوالن سیمهای مولكولی فعال یا غیرفعال می‌توان نام برد پلی‌تیوفن (PT) یا پلی‌انیلین است كه داخل یك سیكلود كسترین۱ (CD) قرار گرفته باشد این دو ماده در اصل پلیمرهایی هستند كه به عنوان قسمتهای هادی سیم بكار می‌روند این پلیمرها شبیه حلقه‌ بنزنی است كه به همدیگر چسبیده‌اند و دو سر آن به دو الكترود طلا وصل شده است. اتصالات سیمهای مولكلولی به الكترودهایش توسط اتم‌های گوگرد برقرار می‌شود سطحی كه این پلیمر بر روی آن قرار می‌گیرد ممكن است قسمتی از جریان را بكشد یعنی اینكه یك جریان اتلافی داشته باشد برای اینكه مانع از این جریان اتلافی شد باید این سیم را داخل یك حفاظ مولكولی قرار داد این حفاظ نیز شبیه نانو لوله كربنی است اما دارای قطر بسیار بزرگتر و ساختار پیچیده‌تری است لذا این لوله مولكولی مانع عبور جریان اتلافی از دیواره‌های سیم و انتقال آن به سطح تماس می‌شود.

● DND:
DNA نمونه‌ای از سیم‌های فعال است. ساختمان DNA كاملاً شناخته شده است و به طور خودكار این ساختمان ایجاد می‌شود، برای تولید آن مانند پلیمرها مشكلی وجود ندارد فقط باید خواص آن مورد بررسی قرار گیرد تا متوجه چگونگی تغییرات آن شد برای این منظور به ذكر مثالی پرداخته می‌شود:
به منظور استفاده از DNA برای محاسبه جریان بر حسب ولتاژ، یك فاصله ۸ نانومتری بین دو الكترود پلاتین مفروض می‌شود، پس با اعمال یك ولتاژ می‌توان جریان را محاسبه كرد.
نكته‌ای كه از شكل بالا برداشت می‌شود این است كه نمودار جریان بر حسب ولتاژ نموداری نامتقارن است، یعنی اینكه جریان برای ولتاژی مثلاً بین ۱- و ۲ ولت اجازه عبور ندارد در حالی كه برای ۲- و ۱- جریان می‌تواند عبور كند و این یعنی اینكه DNA می‌تواند عمل یكسوسازی را انجام دهد. در مورد هدایت از داخل DNA سه نظریه مد نظر است، یكی اینكه DNA یك نیمه هادی با گاف خیلی بزرگ است. دیگر اینكه DNA یك نیمه هادی با گاف كوچك ونیز اینكه DNA دارای خاصیت فلزی است.
موضوع در اصل این است كه DNA ماده بسیار پیچیده‌ای است كه شرایط محیطی به شكل بسیار زیادی می‌تواند بر روی خواص آن تاثیر بگذارد یكی از این شرایط محیطی موثر حضور آب است، DNA‌یی كه در محیط خشك باشد با DNAیی كه در محیط مرطوب باشد بسیار متفاوت است. لذا با توجه به شرایط محلی حاكم بر DNA نمی‌توان یك نتیجه قطعی در مورد اینكه DNA فلز است یا نیمه فلز بیان كرد اما آنچه كه مسلم است این است كه DNA یك نیمه هادی با گاف بزرگ است.
در حالت عادی یونهایی وجود دارد كه با دستكاری آنها می‌توان خواص هدایتی DNA را تغییر داد یعنی می‌توان امید داشت كه با افزودن یونهایی بتوان حتی آن را به فلز تبدیل كرد یك نكته جالب دیگر این است كه می‌توان از DNA به عنوان قالب استفاده كرد و در مكانهای مشخصی روی DNA یكسری فلزات را قرار داد تا یك سیم فلزی دور DNA ایجاد شود. در این حالت DNA به عنوان قالبی برای پایدار نگه داشتن سیم مورد نظر استفاده قرار گیرد. بررسی پایداری DNA با توجه به شرایط محلی حاكم بر سیستم نیز امكان‌پذیر است. هدایت DNA در دو مسیر مشخص صورت می‌گیرد. وقتی DNA را به عنوان هدایت‌كننده جریان در نظر گرفته شده یك بار می‌تواند در جهت موازی محورش جریان را عبور دهد و یك بار نیز می‌تواند عمود بر محورش جریان را عبور دهد، حال برای هدایت در جهت عمود بر محور می‌توان اینگونه فرض كرد كه وقتی نوك STM (مولكول نانو لوله‌های كربنی) در بالای DNA قرار می‌گیرد جریان به شكل عمود از جفت‌های بازی كه وجود دارد وارد نوك STM می‌شود این كار می‌تواند هم به عنوان آزمایشی برای دیدن تصویر DNA و هم برای اندازه‌گیری عبور جریان جفت‌های بازی به كار رود ومی‌توان بدین شكل رسانش AT و CG (جفت‌های بازهایی كه در مارپیچ DNA وجود دارند) را محاسبه كرد.
DNA می‌تواند یك ابزار در تولید محصولات نانو‌الكترونیك كاربرد‌های فراوانی داشته باشد، با توجه به اینكه DNA به طور طبیعی در طبیعت و سلولهای موجودات زنده وجود دارد می‌توان از آن در تولید دیگر محصولات نانوتكنولوژی همانند نانوموتورها سود جست. كنترل و پایداری DNA نیز با توجه به خواص ذاتی و محلی آن امكان‌پذیر بوده و جای تامل و بحث دارد.
● نتیجه‌گیری:
۱ـ آنچه كه مسلم است، الكترونیك مولكولی دارای آینده‌ای درخشان است و با آهنگ بسیار سریعی در حال رشد و تكامل است. از این رو توجه خاصی را می‌طلبد.
۲ـ نتایج عملی رشد و توسعه شاخه‌های نانوتكنولوژی مانند نانوالكترونیك سبب ساخت تجهیزاتی خواهد شد كه در مقایسه با گذشته اختلاف فاحش داشته و نسل كاملاً جدیدی با قابلیت‌های منحصر به فرد خواهد بود.
۳- نانو لوله‌ها و DNA به عنوان دو ابزار كارآمد در تولید محصولات نانوالكترونیك از اهمیت خاصی برخوردارند، ولیكن در این میان DNA به دلیل داشتن خواص محلی و وجود آن در بدن موجودات زنده از اهمیت بیشتری برخوردار است.
۴- با توجه به دو شاخص تعداد مقالات علمی و اختراعات ثبت‌شده، در نانو تكنولوژی می‌توان نتیجه گرفت كه این شاخصها می‌توانند اطلاعاتی مفید در مورد تكامل این فناوری را نشان دهند و برای طرح برنامه‌ها و استراتژیها مناسب باشند.
۵- نانوتكنولوژی و شاخه‌های كاربردی آن در علوم مختلف مانند نانوالكترونیك به عنوان پدیده‌هایی نوظهور هنوز قبل از تجاری سازی محصولاتشان، احتیاج به پیشرفت در هر دو زمینه علمی و تكنولوژیكی را دارد. با توجه به اینكه هم‌اكنون برخی از محصولات این فناوری در بازار وجود دارد پیش‌بینی اینكه كدامیك از محصولات آینده بهتری دارند (از نظر رقابتی) نیاز به بررسی بیشتر شاخصهای این فناروی در بخشهای صنعت و زیرمجموعه‌های این فناوری دارد.
۶- با توجه به اهمیت فناری نانو و كاربردهای روزافزون آن در دنیا باید تحقیقات دانشگاهی و دولتی تواماً صورت گیرد و به علت اینكه اهداف تحقیقاتی این فناوری پایه‌ای و درازمدت است بخش صنعت توان سرمایه‌گذاری بر روی تحقیقات درازمدت و مخاطره‌آمیز را نداشته، از این رو حمایت دولتمردان به عنوان پشتوانه‌ای مهم در این فناوری خواهد بود علاوه بر این ایجاد ساختارهای جدید در دانشگاهها و آزمایشگاههای ملی برای توسعه این فناوری لازم است نیازمندیها و انتظارات فناوری نانو و شاخه‌های كاربردی آن در علوم مختلف مانند نانوالكترونیك فراتر از تمامی چیزهایی است كه مقررات سنتی دانشگاهی، آزمایشگاهی ملی و یا حتی تمام صنعت می‌تواند فراهم كند و به خاطر همین مشكلات است كه یك حركت و اندیشه ملی پایه‌ریزی و با حمایت دولتی در زمینه این فناوری حیاتی به نظر می‌رسد.
با توجه به پتانسیل‌های موجود ایران در زمینه مهندسی الكترونیك، لزوم یك مركز R&D دولتی كه به حمایت محصولات تولیدی الكترونیكی صنایع پرداخته و بتواند در آینده بازار تجاری محصولات نانو‌الكترونیك را به دست بگیرد به شدت حس می‌شود و اگر تدبیری اندیشیده نشود متاسفانه باید گفت كه همانند گذشته باید مصرف‌كننده خوبی بوده و شاهد سودهای كلان تجاری دیگر كشورها و سرمایه‌گذاران بود.

ماهنامه صنعت برق

تهیه:سید مهرداد قادریان

+ نوشته شده در  پنجشنبه ششم اردیبهشت 1386ساعت 7:13 قبل از ظهر  توسط MeHrDaD  |