رویکردهای نوین در فضای سایبری - بخش اول

گاهنامه رویکردهای نوین در فضای سایبری – شماره یکم

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

  

  

موضوعات مورد اشاره در این شماره:

 

 
 
· معرفی دو کتاب: «آگاهی وضعیتی سایبری» و «جنگ سایبری و حقوق جنگ»
· هک شناختی (Cognitive Hacking)
· اینترنت اشیاء نظامی
· هک تلگرام و واتساپ
· بدافزار دستگاه پوز
· مصورسازی حملات سایبری
· نمونه ای از مراکز پدافند سایبری
· اینترنت اشیا و تغییر چشم انداز امنیت سایبری
· ردگیری حملات سایبری از طریق تحلیل داده های حجیم
· معرفی دو کتاب: «آگاهی وضعیتی سایبری» و «جنگ سایبری و حقوق جنگ»
 
 

 

 

 

Comments (0) Posted to مطالب علمی 08/20/2016 Edit

دانلود جدیدترین کتب تخصصی دانشگاهی

  

 

فروشگاه اینترنتی کتاب – خرید آنلاین کتاب – دانلود کتاب الکترونیکی


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

 

ورود به کتابخانه دیجیتال - دانلود کتب الکترونیکی

 

     برای مشاهده کتب، کلیک نمایید.

  

Comments (0) Posted to مطالب علمی 03/05/2016 Edit

دانلود کتب الکترونیکی 2015 و 2016


راه اندازی بخش دانلود کتب الکترونیکی

Comments (0) Posted to مطالب علمی 12/22/2015 Edit

حل تمرین های درس ریاضی مهندسی پیشرفته دکتر نجفی زاده دانشگاه آزاد اراک

 

حل تمرین های درس ریاضی مهندسی پیشرفته دکتر

نجفی زاده دانشگاه آزاد اراک

حل تمرین های درس ریاضی مهندسی پیشرفته دکتر نجفی زاده دانشگاه آزاد اراک

 

 

پی دی افیک فایل فشرده حاوی یک فایل:
۱. حل تمرین های درس ریاضی مهندسی پیشرفته دکتر نجفی زاده دانشگاه آزاد اراک
نوع فایل: PDF
تعداد صفحات: ۹۰
حجم: ۳۵۸ KB

  ادامه مطلب

Comments (6) Posted to مطالب علمی 11/12/2014 Edit

بروشور جزئیات کارگاه سالانه آزمایشگاه فناوری وب 1391


چهارمین کارگاه سالانه آزمایشگاه فناوری وب دانشگاه فردوسی مشهد در تاریخ 14 بهمن لغایت 17 بهمن برگزار می گردد. به شرکت‌کنندگان در کارگاه‌ها، گواهي حضور از طرف آزمايشگاه تخصصي فناوري وب دانشگاه فردوسي اعطا مي‌شود.

   

 

 

ثبت نام

زمان ثبت نام پیش از موعد 22 دی 1391 می‌باشد.

تاریخ برگزاری کارگاه‌ها: شنبه 14 بهمن الی سه‌شنبه 17 بهمن 

ساعت برگزاری کارگاه‌ها: حضوری از 8 الی 12  و مجازی 14 الی 18

 

عنوان کارگاه

موضوعات

ارائه دهندگان

تاریخ

وب معنایی

مقدمه و آشنایی، زبان‌های وب معنایی (XML، RDF و OWL)

برنامه نویسی وب معنایی (Jena)، ساخت آنتولوژی (Protege)

بهشيد بهكمال

(دانشجوی دکترای نرم‌افزار)

 

صمد پایدار

(دانشجوی دکترای نرم‌افزار)

14/11/91

پردازش زبان طبیعی

مفاهیم بازیابی اطلاعات (IR)

ابزارهای پردازش زبان طبیعی

 

خلاصه‌سازی

 

ترجمه ماشینی

محسن کامیار

(دانشجوی دکترای نرم‌افزار)

احمد استیری

(دانشجوی ارشد نرم‌افزار)

آصف پورمعصومی

(دانشجوی دکترای نرم‌افزار)

 احمد جکیان طوسی

(کارشناس ارشد هوش)

15/11/91

معماری موتورهای جستجو

مقدمه و معماری کلی

 

خزنده‌ها

 

شاخص‌گذاری

 

رتبه بندی

محسن کامیار

(دانشجوی دکترای نرم‌افزار)

ریحانه امامدادی

(دانشجوی ارشد نرم‌افزار)

فاطمه عبیری

(دانشجوی ارشد نرم‌افزار)

اعظم فیض‌نیا

(دانشجوی ارشد نرم‌افزار)

16/11/91

Hbase و Hadoop

آشنایی و راه‌اندازی

فتانه زرین‌کلام

(کارشناس ارشد نرم افزار)

آرش شاهکار

(دانشجوی ارشد برق)

محبوبه دادخواه

(دانشجوی دکترای نرم‌افزار)

17/11/91

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

صفحه 1

صفحه 2

هزینه ثبت نام برای هر کارگاه

شرایط

مبلغ

دانشجویی پیش از موعد با شرکت آنلاین

20000 تومان

دانشجویی پیش از موعد با شرکت حضوری

30000 تومان -برای دانشجویان دانشگاه فردوسی 20000

عادی پیش از موعد با شرکت آنلاین

40000 تومان

عادی پیش از موعد با شرکت حضوری

60000 تومان

 زمان ثبت نام پیش از موعد 22 دی 1391 می‌باشد و به مبلغ ثبت نام‌های پس ا ز این تاریخ 10000 تومان افزوده خواهد شد.

شماره  حساب: 425054937 بانک تجارت شعبه دانشگاه فردوسي - بنام آقای دکتر حمیدرضا پوررضا

ثبت نام 

 

برای مشاهده جزئیات بیشتر اینجا را کلیک نمایید. 

 

Comments (3) Posted to مطالب علمی 01/20/2013 Edit

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


آنچه در این مقاله  می خوانید

ü        هاست یا سرویس دهنده وب چیست ؟

ü        هاست خوب باید چه ویژگی هایی داشته باشد

ü        خصوصیات هاست شرکت توسعه مجازی برای پرتال pars cms

ü        شرکت توسعه مجازی چه چیزی را در اختیار مشتریان قرار می دهد ؟

ü        راه اندازی وب سایت بر روی هاست های دیگر

 

 

 

هاست یا سرویس دهنده وب چیست ؟

           

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

 

اما هاست یا میزبان وب وب چیست ؟ به کامپیوتر سرویس دهنده ای که در اینترنت اطلاعات وب سایت را در خود نگه داری می کند web server یا web host می گویند . در واقع زمانی که شما آدرس یک وب سایت را در نوار آدرس مرورگر خود وارد می نمایید , از کامپیوتری که میزبانی این وب سایت را بر عهده دارد ، تقاضا می کنید تا این سایت را برای مرورگر شما بفرستد .

 

                       

هاست خوب باید چه ویژگی هایی داشته باشد

           

 

تمام ميزبانان وب (web hosting) خدمات مشابهي ارائه مي کنند. يک شخص يا يک شرکت، صفحات وب خود را بر روي سرويسگر (server) ميزبان قرار مي دهد و تمام مردم جهان از طريق مرورگر خود آن صفحات را مي بينند. ولي متاسفانه اين کل قضيه نيست. کيفيت و کارائي يک سايت وب به پهناي باند، امکانات سرويسگر و ساختار فني شرکت ميزبان بستگي دارد. ميزباني به شکلهاي مختلفي ارائه مي گردد. ميزباني اشتراکي (shared hosting)، ميزباني اختصاصي (dedicated hosting) و اشتراک جا براي سرويسگر (colocation)، بعلاوه هزاران پارامتر ديگر براي هر روش.

 

پارامترهای انتخاب یک هاست مناسب :

قابليت اطمينان :

 

هنگام انتخاب ميزبان وب، بايد به اندازه، سرعت، تنوع ارتباط اينترنت، سخت افزار و نرم افزار مورد استفاده ميزبان توجه کنيد. قابليت اطمينان خيلي مهم است. آيا زمان بالا بودن (uptime) سرويسگر از زمان پايين بودن (downtime) آن بيشتر است ؟ همچنين زمان پاسخگوئي ميزبان خيلي مهم است. کيفيت و استاندارد منبع انرژي اضطراري و همچنين امنيت سرويسگر نيز خيلي مهم است. اما يکي از مهمترين پارامترهاي لازم که در زمان انخاب ميزبان در نظر مي گيريد، کيفيت و سطح خدمات مشتري است.

 خدمات مشتري

 

ارائه 24 ساعته خدمات مشتري شعار بيهوده اي است مگر اينکه افرادي که به تماسها پاسخ مي دهند، در زمينه رايانه، حرفه اي باشند. سطح فني مسئول پاسخگوئي ساعت 4 صبح چقدر است ؟ چطور به مهندس فني در زمانهاي غير کاري مي توان دسترسي داشت ؟ آيا مهندس کشيک از طريق سيستم pager از اشکال سيستم خبردار مي شود ؟ اينها اگر سايت شما ساده و کوچک است زياد مهم نيستند ولي براي سايتهاي بزرگ و پيچيده، حياتي مي باشند.

 زمان پاسخگوئي

 

اين پارامتر خيلي مهم است. قبل از عقد قرارداد با شرکت ميزبان، براي بخش مشتريان آنها يک نامه الکترونيک بزنيد و اگر کمتر از 2 ساعت جواب گرفتيد، آنگاه اقدام کنيد. با ارسال يک نامه به بخش پشتيباني، چقدر طول مي کشد تا جواب بگيريد ؟ جواب آنها چقدر مفيد و قابل استفاده است ؟ اگر يک شرکت ميزبان در سايت خود بخش سوالهاي متداول (faq) کاملي داشته باشد، بايد به سوال شما سريعتر جواب دهد چون تيم آنها درگير پاسخگوئي به 500 مشتري براي مسائل ساده مثل کپي سايتشان در اينترنت (upload) نمي شوند.

 زمان مطمئن بالا بودن سرويسگر

 

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

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

 چيدمان سازمان شرکت ميزبان

 

چه سخت افزاري استفاده شده است ؟ چه سيستم عامل و وب سروري در حال کار است ؟ ساختار شبکه داخلي چگونه است ؟ پس از بدست آوردن اين اطلاعات از شرکتهاي ميزبان مختلف، مي توانيد شرکتهاي ضعيف را از ليست انتخابي خود حذف کنيد.

 

ساختار فيزيکي ارتباط با اينترنت و ارتباط سرويسگرها با شبکه چگونه است ؟ مسيريابها (router) چه ساختاري دارند ؟ آيا تعداد آنها متعدد و داراي پشتيبان هستند ؟ در چه حجمي از فعاليت، ارتقاء سخت افزار انجام خواهد شد ؟ آيا از سخت افزارهاي استاندارد بازار استفاده شده است ؟  اين پارامترها بسيار مهم هستند مخصوصا زماني که اطلاعات حياتي تجارت و شرکت شما در آنجا ميزباني بشود.

 

هرگاه بازديد کننده اي سايت شما را مشاهده مي کند، اطلاعات و تصاوير از طريق ارتباط اينترنت به سمت کاربر ارسال مي شود و در رايانه او ذخيره مي گردد. اين ارتباط اينترنت، محدود است و ممکن است در اثر ترافيک بالا، کند شود. 99 درصد سايتهاي اينترنتي ترافيک حدود يک تا دو گيگابايت ايجاد مي کنند.

 قابليت اطمينان شرکت ميزبان

 

اين پارامتر بسيار حياتي است. خرابي سرويسگرها يک واقعيت زندگي است. همه پيام "...server not responding" را بارها ديده اند. شرکت ميزباني که خرابي سرويسگرها را پذيرا باشد، پذيراي شکست است. يک شرکت مسئول بايد بداند که خرابي سرويسگرها جزئي از عمليات روزانه تجارت آنها است و بايد با اين مسئله خيلي باز برخورد کنند. سايت شما بايد در 98 درصد زمانها قابل دسترس باشد.

 محافظت در مقابل قطع برق

 

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

 حفاظت در مقابل بلاياي طبيعي

 

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

 ميزان امنيت سرويسگرها

 

اين پارامتر هم خيلي مهم است. سياستها و تنظيمات امنيتي شرکت چگونه است ؟ آيا ديوار آتش (firewall) در شبکه وجود دارد ؟ آيا متخصص امنيت در تيم آنها وجود دارد ؟ ميزباناني که اين امکانات را ندارند در مقابل خراب کاران (hacker) آسيب پذير خواهند بود.

 

 

 

Comments (0) Posted to مطالب علمی 06/08/2012 Edit

يک فايل HTML چيست؟


يک فايل HTML چيست؟
·         HTML را "اچ تي ام ال" و يا اچتمل بخوانيد.
·         HTML برگرفته از حروف اول Hyper Text Markup Language ميباشد.
·         يک فايل HTML فايلي از نوع text ميباشد که متشکل از markup tag ها ميباشد.
·         مرورگر يا Browser از روي markup tag ها مي فهمد که چگونه بايد صفحه را نمايش بدهد.
·         يک فايل HTML بايد داراي انشعاب htm و يا html باشد.
·         يک فايل HTML فايلي از نوع text ميباشد که با هر اديتور ساده اي قابل ايجاد است.
·         وظيفه اصلي تگ هاي اچتمل ( markup tags ) بيان چگونگي نمايش اطلاعات ميباشد.

ميخواهيد که يک فايل اچتمل بسازيد؟

اگر از ويندوز مايکروسافت استفاده ميکنيد، Notepad را باز کرده (Mac کارها از SimplaeText استفاده کنند. ) و متن زير را در آن تايپ کنيد:

			<html>
			
			<head>
			
			<title>Title of page</title>
			
			</head>
			
			<body>
			
			This is my first html page. <b>This text is bold</b>
			
			</body>
			
			</html>
			

سپس فايل را با نام مثلا test.html در درايو c: ذخيره کنيد.

براي ديدن فايل اچتمل بالا در مرورگر يا Brower تان ( معمولا اينترنت اکسپلورر و يا نتسکيپ نويگيتور ) کافي است که از روي منوي File/Open file فايل بالا را از روي محل ذخيره شده بخوانيد. ( به آدرس فايل در قسمت Address توجه کنيد، مثلا c:test.html)
يکي از مهمترين وظايف مرورگرها نمايش صفحات اچتمل ميباشد، چه اين صفحات روي کامپيوتر شما ذخيره شده باشند و يا اينکه از اينترنت خوانده شوند. با کليک روي
يک لينک فايلي شبيه فايل ذخيره شده توسط شما از روي وب سرور توسط مرورگرتان خوانده شده و سپس نمايش داده خواهد شد!!! ( به آدرس فايل در قسمت Address توجه کنيد. )


توضيح مثال بالا

اولين تگ مثال بالا تگ <html> ميباشد. از روي اين تگ، مرورگر نوع متن يعني اچتمل بودنش را يافته و از روي <html/> انتهاي متن اچتمل را ميبابد.

متن بين تگ <head> و تگ <head/> اطلاعات شناسنامه اي يا "Header information" متن اچتمل بوده و نمايش داده نخواهند شد. در اين مثال با کمک تگهاي <title> و <title/> تيتر و يا Title صفحه که در اين مثال عبارت "Title of page" ميباشد در بالاي مرورگر نمايش داده خواهد شد.

متن بين تگ <body> و انتهاي آن يعني تگ <body/> تنها اطلاعاتي است که توسط مرورگرنمايش داده خواهند شد.

متن بين تگ <b> و انتهاي آن يعني تگ <b/> بصورت Bold و يا توپر نمايش داده خواهند شد.


انشعاب فايل htm يا html ؟

اغلب مرورگرها هر دو نوع انشعاب را به خوبي ميشناسند ولي ترجيحا به هنگام ذخيره فايلهاي اچتمل از html استفاده کنيد.( استفاده از انشعابهاي سه حرفي مانند htm مربوط به قديم و سيستم عاملهائي چون DOS بودند.)


نکته اي در مورد اديتورهاي اچتمل ( HTML Editors )

با وجوديکه با استفاده از اديتورهاي اختصاصي اچتمل مانند FrontPage و يا Claris Home Page امکان نوشتن و طراحي صفحات اچتمل بصورت WYSIWYG يا "What You See Is What You Get" وجود دارد اما توصيه ميشود که از اديتورهاي معمولي متن براي تهيه صفحات خود استفاده کرده، عملکرد تگها را شناخته و هيچگاه بدون اينکه بدانيد کاربرد يک تگ چيست آنرا بکار نبريد.

منظور از وب چيست؟
§         وب شبکه اي است متشکل از تمامي کامپيوترهاي دنيا، شبکه اي از شبکه ها.
§         اينترنت، وب، WWW ، web يا World Wide Web همگي يک چيزند.
§         تمامي کامپيوترهاي وب ميتوانند با هم ارتباط داشته باشند.
§         کامپيوترهاي موجود در وب با کمک استاندارد ارتباطي يا پروتوکل HTTP با هم ارتباط برقرار ميکنند .
نحوه کارکرد وب چگونه است؟
§         اطلاعات وب داخل فايلهائي به نام Web Pages و يا صفحات وب قرار دارند.
§         اين فايلها يا صفحات روي Web Server يا کامپيوترهاي سرويس دهنده وب ذخيره شده اند.
§         براي ديدن صفحات وب از نرم افزاري به نام مرورگر و يا Web Browser استفاده ميشود.
§         دو مرورگر Internet Explorer و Netscape Navigator جزو معروفترين مرورگرها حساب ميشوند.
§         مرورگر Internet Explorer متعلق به شرکت مايکروسافت و مرورگر Netscape Navigator متعلق به شرکت نت اسکيپ ميباشد.

مرورگرها چگونه به خواندن صفحات وب ميپردازند؟
§         يک مرورگر با کمک يک Request درخواستي براي خواندن يک صفحه از وب سرور ميکند.
§         اين Request يا درخواست بر اساس استاندارد ارتباطي يا پروتوکل HTTP بوده و شامل آدرس صفحه مورد نظر ميباشد.
§         آدرس يک صفحه وب چيزي شبيه www.khaterat.com/faq.html است. بخش //:http نوع پروتوکل و يا استاندارد ارتباطي را تعيين ميکند، www.khaterat.com نام دومين يا Domain است و faq.html نام صفحه اي است که بايد خوانده شود.

مرورگرها چگونه صفحات وب را نمايش ميدهند؟
§         چگونگي نمايش يک صفحه وب بصورت مستتر در آن وجود دارد.
§         مرورگرها از روي دستورالعملهاي داخل صفحات وب و با کمک تگ ها به نمايش صفحات ميپردازند.
§         وظيفه اصلي تگ هاي اچتمل ( HTML tags ) بيان چگونگي نمايش اطلاعات ميباشد.
§         يک تگ اچتمل چيزي شبيه <p> اين تگ پاراگراف است! </p> است.

چه کساني استاندارد هاي وب را تعيين ميکند؟
§         تعيين استاندارد هاي وب ربطي به شرکتهاي مايکروسافت و يا نت اسکيپ ندارد.
§         World Wide Web Consortium يا W3C متولي تعيين استانداردهاي وب است.
§         HTML, CSS and XML از مهمترين استانداردهاي تصويب شده وب ميباشند.
§         آخرين استاندارد HTML استاندارد XHTML 1.0 ميباشد .
§          

عناصر HTML

يک فايل اچتمل متني از نوع text است که از عناصر يا element ها تشکيل ميشود و براي ايجاد عناصر از تگ ها يا tags استفاده ميشود. در اين فصل با عناصر و تگ ها اچتمل آشنا خواهيد شد.

تگ هاي اچتمل (HTML Tags)

  • با کمک تگ هاي اچتمل عناصر و يا Elements ساخته ميشوند.
  • در زبان اچتمل حدود 80 عنصر تعريف شده است.
  • تگ هاي اچتمل بوسيله دو نويسه (char) > و < ساخته ميشوند.
  • تگ هاي اچتمل معمولا بصورت زوج ظاهر ميشوند، مانند <b>test</b>
  • تگ اول در يک زوج تگ مثلا <b> تگ شروع و تگ دوم مثلا <b/> تگ پاياني نام دارد.
  • متن بين تگ اول و تگ دوم در يک زوج تگ محتواي عنصر يا element content ناميده ميشود، مثلا "test"
  • تگ هاي اچتمل را ميتوانيد بوسيله حروف لاتين کوچک (lower case) و يا بزرگ (upper case) بنويسيد و case sensitive نيستند. براي مثال دو تگ <b> و <B> معادل هم هستند ولي شديدا توصيه ميشود که به خاطر سازگاري با XHTML از حروف کوچک استفاده شود.

عناصر اچتمل (HTML Elements)

مثال بخش مقدمه را در نظر بگيريد:

<html>

<head>

<title>Title of page</title>

</head>

<body>

This is my first html page. <b>This text is bold</b>

</body>

</html>

*** نمونه اي از يک عنصر اچتمل:

<b>This text is bold</b>

عنصر اچتمل بالا با تگ <b> شروع شده و با تگ <b/> پايان مي يابد. محتواي اين عنصر عبارت "This text is bold" است. لازم به ذکر است که کاربرد تگ <b> نمايش توپر يا bold متون است.

*** مثال دوم يک عنصر اچتمل (معلوم الحال) :

<body>

This is my first homepage. <b>This text is bold</b>

</body>

عنصر اچتمل بالا با تگ <body> شروع شده و با تگ <body/> پايان مي يابد. همانطور که ميبينيد گاهي يک عنصر حاوي يک يا چند تگ ديگر ميباشد.وظيفه تگ <Comments (0) Posted to مطالب علمی 06/05/2012 Edit

آشنائى با امضاى دیجیتال




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

به منظور ایجاد یک امضاى دیجیتال از یک الگوریتم ریاضى به منظور ترکیب اطلاعات در یک کلید با اطلاعات پیام ، استفاده مى شود . ماحصل عملیات ، تولید یک رشته مشتمل بر مجموعه اى از حروف و اعداد است .یک امضاى دیجیتال صرفا" به شما نخواهد گفت که " این شخص یک پیام را نوشته است " بلکه در بردارنده این مفهوم مهم است که : "این شخص این پیام را نوشته است " .

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

براى تشخیص و تائید هویت فرد ارسال کننده یک نامه الکترونیکى از چه مکانیزمهائى استفاده مى شود؟

فرض کنید یک نامه الکترونیکى را از یکى از دوستان خود دریافت داشته اید که از شما درخواست خاصى را مى نماید ، پس از مطالعه پیام براى شما دو سوال متفاوت مطرح مى گردد : الف ) آیا این نامه را واقعا" وى ارسال نموده است ؟ ب ) آیا متتواى نامه ارسالى واقعى است و وى دقیقا" همین درخواست را داشته است ؟

آیا وجود هر نامه الکترونیکى در صندوق پستى ، نشاندهنده صحت محتوا و تائید هویت فرد ارسال کننده آن است ؟

همانگونه که در مطلب " مراقب ضمائم نامه هاى الکترونیکى باشید " ، اشاره گردید ، سوءاستفاده از آدرس هاى
Email براى مهاجمان و ویروس ها به امرى متداول تبدیل شده است و با توجه به نحوه عملکرد آنان در برخى موارد شناسائى هویت فرد ارسال کننده یک پیام بسیار مشکل و گاها" غیرممکن است . تشخیص غیرجعلى بودن نامه هاى الکترونیکى در فعالیت هاى تجارى و بازرگانى داراى اهمیت فراوانى است .
یک نامه الکترونیکى شامل یک امضاى دیجیتال، نشاندهنده این موضوع است که محتواى پیام از زمان ارسال تا زمانى که به دست شما رسیده است ، تغییر نکرده است . در صورت بروز هر گونه تغییر در محتواى نامه ، امضاى دیجیتال همراه آن از درجه اعتبار ساقط مى شود .

نحوه عملکرد یک امضاى دیجیتال
قبل از آشنائى با نحوه عملکرد یک امضاى دیجیتال ، لازم است در ابتدا با برخى اصطلاحات مرتبط با این موضوع بیشتر آشنا شویم :

کلیدها (
Keys ) . از کلیدها به منظور ایجاد امضاهاى دیجیتال استفاده مى گردد . براى هر امضاى دیجیتال ، یک کلید عمومى و یک کلید خصوصى وجود دارد : کلید خصوصى ، بخشى از کلید است که که شما از آن به منظور امضاى یک پیام استفاده مى نمائید . کلید خصوصى یک رمزعبور حفاظت شده بوده و نمى بایست آن را در اختیار دیگران قرار داد . کلید عمومى ، بخشى از کلید است که امکان استفاده از آن براى سایر افراد وجود دارد . زمانى که کلید فوق براى یک حلقه کلید عمومى ( public key ring) و یا یک شخص خاص ارسال مى گردد ، آنان با استفاده از آن قادر به بررسى امضاى شما خواهند بود .

حلقه کلید (
Key Ring ) ، شامل کلید هاى عمومى است . یک حلقه کلید از کلید هاى عمومى افرادى که براى شما کلید مربوط به خود را ارسال نموده و یا کلیدهائى که از طریق یک سرویس دهنده کلید عمومى دریافت نموده اید، تشکیل مى گردد . یک سرویس دهنده کلید عمومى شامل کلید افرادى است که امکان ارسال کلیدعمومى در اختیار آنان گذاشته شده است .

اثرانگشت : زمانى که یک کلید تائید مى گردد ، در تقیقت منحصربفرد بودن مجموعه اى از حروف و اعداد که اثرانگشت یک کلید را شامل مى شوند . تائید مى گردد .

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

نحوه ایجاد و استفاده از کلید ها :

تولید یک کلید با استفاده از نرم افزارهائى نظیر
PGP ( اقتباس شده از کلمات Pretty Good Privacy )و یا GnuPG ( اقتباس شده از کلمات GNU Privacy Guard ) معرفى کلید تولید شده به سایر همکاران و افرادى که داراى کلید مى باشند .

ارسال کلید تولید شده به یک حلقه کلید عمومى تا سایر افراد قادر به بررسى و تائید امضاى شما گردند .

استفاده از امضاى دیجیتال در زمان ارسال نامه هاى الکترونیکى . اکثر برنامه هاى سرویس دهنده پست الکترونیکى داراى پتانسیلى به منظور امضاء یک پیام مى باشند .

 

Comments (0) Posted to مطالب علمی 06/05/2012 Edit

XSL


XSL چيست؟

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

دليل اساسي طراحي زبان XML markup، تفكيك داده هاي اطلاعاتي از داده‌هاي نمايشي است. داده‌هاي نمايشي در حقيقت همان كد نوشته شده در فايل XSL است.

تكنولوژي XSL :

XSL ، خود شامل دو زبان مستقل است.

1- XSLT (XSL Transformation )

2- (XSL Formatting Object) XSL-FO

كه XSLT براي تبديل XML document به يك فرمت ديگر مانند HTML ، SVG ،WML  و استفاده مي‌شود. و XSL-FO  روشي است كه چگونگي نمايش اطلاعات فايل XML  را شرح مي‌دهد. مشابه XSL–FO  در XML ، CSS نيز در HTML به همين منظور طراحي شده كه به‌جاي XSL-FO  قابل استفاده در فايل XSLT مي‌باشد.

XSLT 1.0  در نوامبر 1999 توسط W3C به صورت استاندارد معرفي شد و به همراه آن.XPath 1.0  و در آگوست 2002 آخرين نسخه آن به همراه XPath 2.0، release شد.

ساختار XSLT-1

 

- XSLT namespace

namespace استاندارد W3C  "http://www.w3.org/1999/XSL/Transform"مي‌باشد كه البته به هيچ آدرس فيزيكي‌اي اشاره نمي‌كند. 1999 نيز در اين namespace نشان‌دهنده سالي است كه URI توسط W3C به صورت استاندارد درآمد.

پروسسورهاي XSLT براي تشخيص attributeها و elementهاي تعريف شده در XSLT، از مكانيزم مربوط به namespaceها استفاده مي‌كنند. بدين ترتيب كه هر namespaceاي با يك اسم مشخص مي‌شود و استثنائا در مورد XSLT، اين اسم حتماً بايد xsl باشد و xsl قبل از elemnetها و attributeهاي خاص XSLT مي‌آيد.

-Stylesheet Element

<xsl:slytesheet>

<xsl:transform id=id extention–element–prefix=token version=number>

<!—content -->     

</xsl:transform>

element stylesheet مشابه transform مي‌باشد و خارجي‌ترين element مجاز در XSLT است

. انواع ELEMENT + هايي كه مي توانند درون stylesheet  قرار گيرند به شرح زير است.

import      strip-space         output

include            preserve-space    key

decimal-format                      variable

Namespace-alias                    param

Attribute-set                            template

لازم به ذكر است كه elementهاي ياد شده(elementهاي فرزند xsl:stylesheettop-level element ناميده مي‌شوند. در مثال زير ساختار كلي stylesheet را به همراه top-level element ها و attribute هاي آنها مشاهده مي‌كنيد.

لازم به ذكر است كه علاوه بر elementهاي فوق‌الذكر xsl:stylesheet مي‌تواند شامل element  ها و namespace هاي ديگر نيز مي باشد. به طور مثال مي توانيد از المنت‌هاي SVG (svg:) يا XSL-FO (fo:) يا در كد XSLT استفاده نماييد.

در ادامه راجع به اين مطلب بحثي خواهيم داشت.

- <xsl:output>

با استفاده از اين element، فرمت فايل خروجي، به پروسسور XSLT اطلاع داده مي‌شود. به مثال زير توجه كنيد:

<xsl:stylesheet version="1.0"

xmlns:xsl=http://www.w3.org/1999/XSL/Transform

xmlns=:http://www.w3.org/TR/REC-html40">

<xsl:output method="html" indent="yes"/>

 

<xsl:template match="/">

    <html>

    <head><title> Testing the xsl : output element</title></head>

    <body>

        <p>  This is a simple stylesheet to show the effect of the xsl:output element .</p>

    </body>

    </html>

</xsl:template>

 

</xsl:stylesheet>

با توجه به اينكهattribute  method در المنت output برابر html قرار گرفته، خروجي بصورت كد HTML خواهد بود. و از آنجاكه indent="yes" ، تگهاي داخلي با فاصله بيشتري از لبه خط خواهند بود. (نسبت به تگ خارجي خود)

<html xmlns="http://www.w3.org/TR/REC-html40">

<head>

<title>Testin the  xsl:output element</title>

</head>

<body>

<p>

      This is simple stylesheet to show the effect of the xsl:output element.

</p>

</body>

</html>

توجه داشته باشيد كه اين، كد HTML است. براي ساختن XHTML كه well-formed HTML باشد، لازم است تا method="xml". و مي‌توانيدMIMETYPE  فايل خروجي را نيز با استفاده از attribute  mediatype مشخص سازيد. در زير به چند MIMETYPE خروجي مهم اشاره شده:

media-type = "text/html"      ………………    HTML

media-type = "image/svg"    ………………      SVG

media-type = "text/html"      .……………...   WML

و بالاخره براي چاپ خروجي به‌صورت text بايد attribute method را مساوي "text" قرار دهيد. در مثال قبل اگر output را به‌صورت <xsl:output method="text" indent="yes"/> تغيير دهيم خروجي به صورت زير درمي‌آيد:

Testing the xsl:output element

        This is a simple stylesheet to show the effectof the xsl:output element.

در مي‌آيد.

 

- <xsl:template>، <xsl:apply-templates>

<xsl:template> نيز يكي ديگر از top-level element هاست. با توجه به نحوه كار پروسسورXSLT  كه در ادامه آمده، پروسسور هر زماني كه به <xsl:template match="XPath-expression"> مي‌رسد، اگر بتواند در source tree (فايلxml) از نود جاري، مسير مشخص شده درmatch را با يكي از templateها match كند، آنگاه template مربوطه را اجرا خواهد كرد. در غير اين صورت به element بعدي در فايل XSLT مي‌رود. با توجه به فايل xml01.xml (كد شماره 1)، قطعه كد زير را در نظر بگيريد.

<xsl:template match=“/”>

         …………

    <xsl:apply-templates selecte="./Faculty"/>

         ………...

<xsl:template>

 

<xsl:template match="data/Faculty">

         …………

</xsl:template>

پروسسور كار خود را در فايل XSL  با اجراي <xsl:template match=“/”> مي‌كند. زمانيكه به فراخواني template مي‌رسد، (<xsl:apply-templates selecte="./Faculty"/>) نود جاري data است. هنگام فراخواني با توجه به XPath داده شده، نود جاري بهelement Faculty  تغيير مي‌كند. اكنون پارسر جهشي به templateهاي غير از match="/" مياندازد. و در صورتيكه templateاي پيدا كند كه مسير عبارت XPathدر match آن با مسير جاري پروسسور يكي باشد، آن template را اجرا مي‌كند. سپس به خط بعدي (بعد از فراخوانيtemplate) مي‌رود و كار خود را ادامه مي‌دهد.و دوباره مسير جاري همان data خواهد بود.

- <xsl:call-templates>

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

<xsl:template match="/">

         ………………..

<xsl:apply-templates  name="template  name"/>

         ………………..

</Xsl: template >

 

<xsl:apply-template  name="template  name"/>

         ………………..

</xsl:template>

در ضمن از توضيحات بالا ميتوان استنباط نمود كه با استفاده از اين روش مي‌توانيم templateهاي بازگشتي كاربردي‌اي را توليد كرد.

- <xsl:param>، <xsl:with-param>

همچون زبانهاي برنامه‌نويسي ديگر كه مي توانيم براي procedureها پارامترهاي ورودي تعريف كنيم، در موردXSLT و با templateها نيز مي توانيم به‌طور مشابه عمل نماييم. به مثال زير توجه كنيد:

<xsl:template name="template_name">

    <!-- a parameter with no default -->

    <xsl:param name="param0"/>

    <!-- a parameter with a default value of "value1" -- >

    <xsl:param name="param1" select="value1"/>

    <!-- a parameter with the parameter content given as a tree fragment -- >

    <xsl:param name="param2">

        <!-- parameter content -- >

    </xsl:param>

 

    <!-- template content -- >

 

</xsl:template>

ساختار XSLT-2

همانطور كه مشخص است templateاي تحت نام template_name با پارامترهاي param0، param1 و param2 تعريف كرديم و براي param2 و param1 مقدار پيش‌فرضي را در نظر گرفتيم كه اگر موقع فراخواني template مزبور برايparam1 و param2 مقداري در نظر گرفته‌ نشود، از مقدار پيش‌فرض استفاده مي‌شود.

<xsl:call-template  name = "template_name">

    <xsl:with-param  name = "param0" select="new_value0"/>

    <xsl:with-param  name = "param1 select="new_value1/>

    <xsl:with-param  name = "param2 select="new_value2>

        <!--parameter Content -- >

    </xsl:with-param>

</xsl:call-template>

 

- <xsl:value-of> :

اين element داخل template استفاده مي‌شود و با توجه به مسير عبارت XPath داده شد در attribute select آن، دربردارنده محتويات نود اشاره شده است. به طور مثال:
<xsl:value-of select="./Faculty/Daily/@MaleNo" />

 

كنترل اجراي المنت ها

با استفاده از 5 المنت كنترلي<xsl:if>، <xsl:choose>، <xsl:when>، <xsl:otherwise>
و
<xsl:for-each>  مي‌توان كنترل اجراي برنامه را در دست گرفت. همچون ساير زبانهاي برنامه‌نويسي.

- <xsl:if> :

اين element داخل template بكار مي‌رود. و در صورتيكه مقدار attribute test، true باشد، كد داخل آن اجرا مي‌شود.

<xsl:if test="@sortby='2'">

    <xsl:apply-templates select="./Faculty"/>

</xsl:if>

نكته: اگر در قانون if به else هم نياز بود، بايد از دستور <xsl:choose>، استفاده نماييد.

 

- <xsl:choose>، <xsl:when> و <xsl:otherwise>:

اين المنت‌ها با يكديگر، مشابه دستور switch-case دز c++ عمل ميكند. به مثال زير دقت كنيد:

<xsl:choose>

    <xsl:when test="@sortby='1'">

        <xsl:call-template name="template1"/>

    </xsl:when>

    <xsl:when test="@sortby='2'">

        <xsl:call-template name="template2"/>

    </xsl:when>

    <xsl:otherwise>

        <xsl:call-template name="template3"/>

    </xsl:othewise>

</xsl:choose>

 

- <xsl:for-each>

Comments (0) Posted to مطالب علمی 06/05/2012 Edit

JavaScript


JavaScript چيست؟


در اولين روزهاي تاسيس مجمع جهاني وب (
World Wide Web) دستورات HTML بسيار ساده و آسان بود, بطوريکه فراگيري فرامين مورد نياز بيشتر از چند روز طول نميکشيد ولي هنگامي که Web, شروع به پيشرفت نمود, طراحان خواستار کنترل بيشتري شده و در نتيجه مجموعه دستورات مورد نياز تهيه گرديد.
سپس از آنجاييکه صفحات وب, بهتر است به صورت ديناميک و متحرک باشند, طراحان نيز خواستار ارتباط بين بينندگان سايت و صاحبان آن شدند, در نتيجه استفاده از دستورات
HTML به تنهايي نياز آنها را برطرف نکرد و سپس شرکت Netscape براي ايجاد و کنترل ارتباط بين صاحبان سايت و بينندگان آن در صفحات Web از JavaScript کمک گرفت

 

مفهوم JavaScript


JavaScript دقيقا يک زبان برنامه نويسي ميباشد که به وسيله آن ميتوان بين کاربر و سايت ارتباط برقرار نمود. توجه داشته باشيد که استفاده از JavaScript در صفحات Web نيازي به نوشتن اسکريپتها نداشته و ميتوانيد اسکريپتهاي موجود در شبکه اينترنت را کپي و در مکان مورد نظر با ايجاد تغييرات مورد نياز استفاده کنيد, اما در صورتيکه يک برنامه نويس باشيد با استفاده از اين سايت خواهيد توانست اسکريپتهاي مورد نظرتان را بنويسيد.

 

قابليت JavaScript


به وسيله جاوا اسکريپت ميتوان قابليتهاي بيشماري از قبيل ايجاد ارتباط بين کاربر و سايت به صفحه
Web اضافه نمود. مثلا سايتهايي را مشاهده نموديد که با قرار گرفتن نشانگر موس بر روي دکمه مورد نظر بصورتي متفاوت (برجسته, تغيير محتويات درون دکمه) نمايش داده ميشود, اين عمل توسط JavaScript انجام شده و به اين تکنيک rollover گفته ميشود.
به وسيله
rollover ميتوان حالتي ايجاد نمود تا اطلاعات وارد شده توسط کاربر درون فرمها بطور صحيح باشند و در نتيجه در زمان و هزينه مربوط بتوان صرفه جويي نمود. ميتوان محاسبات لازم و مورد نياز عددي را بدين وسيله در دستگاه کاربر و بدون نياز به هيچ گونه فرايندي در serverها انجام داد تفاوت بين برنامهاي server-side و client-side بدين گونه است که در برنامه server-side برنامه توسط CGI در خود serverها اجرا ميشود مانند: برنامه ASP  ولي در برنامه هاي client-side برنامه در دستگاه کاربر اجرا خواهد شد.
از ديگر فرمت ها و قابليتهاي
JavaScript ميتوان, صفحات HTML را بر اساس عمل کارير نمايش داد. فرض کنيد که يک سايت آژانس مسافرتي را باز کرده و مقصد خود را هاوايي انتخاب کنيد, بوسيله اسکريپت ميتوان آخرين اطلاعات مسافرتي مورد نياز براي هاوايي را در صفحه اي جديد مشاهده نماييد.
به وسيله اين برنامه ميتوان بر
browser کنترل انجام داد و پنجره هاي جديدي را باز نمود, جعبه هاي پيغام را به کاربر اعلام نمود و بر روي قسمت status bar پنجره browser پيغام مخصوصي را نمايش داد.
همچنين بخاطر وجود قابليتهاي ويژه اي که در اين نوع برنامه نويسي وجود دارد ميتوان ساعت, تقويم و هر برنامه زماني ديگري نيز تهيه کرد.

 

 JavaScript يک برنامه Java نيست.


برخلاف شباهت اسمي موجود برنامه
Java و JavaScript, هيچگونه شباهتي بين اين دو برنامه وجود ندارد Java يک زبان برنامه نويسي بسيار کامل پيشرفته اي است که توسط شرکت sun microsystem تهيه شده و با استفاده از آن که نسل بعدي برنامه هاي c و ++c ميباشد, ميتوان تمامي برنامه مورد نياز را نوشته و در ضمن قطعات الکترونيکي استفاده کننده را نيز کنترل نمود. از خاصيتهاي ديگر Java اجراي برنامه نوشته شده توسط آن در تمامي مکانها با هرگونه سيستم عامل از قبيل Windows, Unix, Mac os ميباشد.
اساس
Java در برنامه هاي client-side براي ايجاد appletها ميباشد, اين برنامه هاي کوچک توسط شبکه اينترنت دريافت شده و درون خود browserها اجرا ميشوند بطوريکه بعلت وجود قابليت همه گير Java, اين برنامه در تمامي browserهايي که قابليت اجراي Java را دارند, کار ميکنند.
ميتوانيد بااستفاده از تگ <
APPLET> در سند HTML فرامين Java را بکار بگيريد و سپس هنگامي که browser تگ <APPLET> را مشاهده کرد, applet مورد نظر از server وارد دستگاه شده و در جاي تعبيه شده درون سند HTML اجرا ميشود.

 

اندکي در مورد تاريخچه JavaScript


در صورتيکه
JavaScript با نام Java تناسبي ندارد, پس چرا در نام خود شباهت دارند؟ پاسخ به اين سئوال را در استفاده از معروفيت نام موجود در بازار خواهيد يافت. بعد از اضافه نمودن قابليتهاي اسکريپت نويسي Netscape که اساسا زبان برنامه نويسي Livescript ناميده شده در همين موقع زبان gava معروفيت خاصي پيدا کرد و شرکت Netscape بعنوان اولين شرکت از آن در browserهاي خود استفاده کرد و نام آنرا به JavaScript تغيير اين زبان برنامه نويسي گسترش چشمگيري بدنبال داشت.

 

زبان ترکيبي:


زبان
JavaScript يک زبان برنامه نويسي "شي گرا" ميباشد. در اين قسمت مفهوم شي گرايي يک برنامه را با توجه به مفاهيم object مشخصات و اعمال, آنها را توضيح ميدهيم.
 

Object


در دنياي حقيقي اشياء مانند کامپيوتر, دوچرخه و ... ميباشند, در زبان
JavaScript اشياء درون browserها بوده و عبارتند از پنجره ها و فرم ها.
 

Properties


اشياء (
object) خود داراي مشخصه هايي ميباشد مثلا گربه داراي پوست ميباشد, کامپيوتر, کيبورد داشته و دوچرخه داراي چرخ است! در دنياي JavaScript پنجره داراي تيتر و فرمها داراي check box ميباشند.
تغيير مشخصه يک شي ميتواند آن را تغيير ميدهد, بطوريکه ميتوان همان مشخصه را در اشياي کاملا متفاوتي بکار برد.
فرض کنيد که داراي مشخصه اي بنام
empty هستيد, پس بنابرآنچه گفته شد اين مشخصه (خالي بودن) را ميتوانيد هم براي شکم گربه و هم براي کاسه گربه بکار ببريد!
 

Methods


کاري که اشياء ميتوانند انجام دهند,
Methods ناميده ميشود, که مثلا خرخر گربه, خرابي کامپيوتر, و چرخش دوچرخه را ميتوان عنوان نمود. اشياء زبان JavaScript نيز داراي methodsهايي ميباشد مثلا عمل کليک براي دکمه ها, بازکردن پنجره و انتخاب متن مورد نظر را بدنبال دارد. همانطور که توجه ميکنيد پرانتزها نمايانگر وجود method ميباشند.
 

کنترل وقايع (handling events)


events عملياتي بوده که کاربر در هنگام مشاهده صحنه طراحي شده انجام ميدهد.
پذيرش (
Submitting) يک فرم و تغيير مکان نشانگر ماوس برروي يک تصوير, دو نمونه از حالات و وقايع اتفاق افتاده ميباشند.
توسط دستورات بنام
event handlers, اين برنامه وقايع مورد نظر را کنترل ميکند. متداولترين کنترل کننده هاي وقايع در جدول فوق آورده شده اند و در آينده بيشتر در مورد آنها صحبت خواهيم کرد.
 

Event

onAbort

کاربر با اشياء کاري ندارد.

onBlur

کابر شي را تغيير ميدهد.

OnError

اسکريپت با اشتباه مواجه ميشود.

oncHange

کاربر برروي شي کليک ميکند.

onFocuse

کاربر يک شي را فعال ميکند.

onLoad

بارگزاري شي اتمام ميشود.

onMouseover

نشانگر ماوس بر روي شي ميرود.

onMouseout

نشانگر ماوس از روي شي کنار ميرود.

onSubmit

کاربر يک فرم را پذيرش ميکند.

onUnload

کاربر به پنجره کاري ندارد.

onSelect
 

کاربر محتويات شي را انتخاب ميکند.
 

**نکات مورد توجه

·         زبان JavaScript به حروف بزرگ و کوچک حساس ميباشد.

·         نام متغيرها با اعداد شروع نميشود. و در آنها فضاي خالي يا نقطه گذاري وجود ندارد. همچنين نبايد اسمي مشابه با کلمات از قبل رزرو شده و مخصوص JavaScript استفاده کرد.

عملگردها


عملگردها, علاماتي بوده که براي کار با متغييرها استفاده ميشوند. مطمئنا با عملگرهاي ساده رياضي مثل جمع, تفريق آشنا هستيد. براي اطلاع بيشتر به ديگر عملگرها به جدول فوق توجه کنيد.
 

X+Y (عددي)

دو عدد X و Y را با يکديگر جمع ميکند.

X+Y (حرفي)

عبارت داخلي Y و X را در کنار هم قرار ميدهد.

X-Y

Y را از X کم ميکند.

X*Y

Y و X را هم ضرب ميکند.

X/Y

X را بر Y تقسيم ميکند.

X%Y

خارج قسمت X بر Y را نشان ميدهد.

X++ , ++X

به X يک عدد اضافه ميکند. (X=X+1)

X-- , --X

از X يک عدد کم ميکند. (X=X-1)

X-
 

علامت X را عوض ميکند.
 

**نکات مورد توجه

·         هر چند دو عملگر X++ , ++X به مقدار X يک واحد اضافه ميکنند, اما در اصل دو عملگر متفاوت از يکديگر ميباشند. به عنوان مثال اگر X=5 باشد و ++Y=X باشد در نتيجه Y=5 و X=6 ميشود ولي در عبارت Y=++X مجهولهاي X و Y هر دو داراي مقدار 6 خواهد بود.

معادله ها

X=Y

مقدار X برابر Y قرار داده ميشود.

X+=Y

مانند معادله X=X+Y است.

X-=Y

مانند معادله X=X-Y است.

X*=Y

مانند معادله X=X*Y است.

X/=Y

مانند معادله X=X/Y است.

X%=Y

مانند معادله X=X%Y است.

 

 

نامعادله ها

X==Y

در صورتيکه X,Y مساوي باشند مفهوم, true را بر ميگرداند.

X!=Y

در صورتيکه X,Y نامساوي باشند مفهوم, true را بر ميگرداند.

X>Y

در صورتيکه X از Y بزرگتر باشد مفهوم, true را بر ميگرداند.

X>=Y

در صورتيکه X از Y بزرگتر يا برابر باشد مفهوم, true را بر ميگرداند.

X<Y

در صورتيکه Y از X بزرگتر باشد مفهوم, true را بر ميگرداند.

X<=Y

در صورتيکه Y از X بزرگتر يا برابر باشد مفهوم, true را بر ميگرداند.

X&&Y

در صورتيکه هم X و هم Y صحيح باشد مفهوم, true را بر ميگرداند.

XY

در صورتيکه يا X يا Y صحيح باشند مفهوم, true را بر ميگرداند.

X!
 

Comments (0) Posted to مطالب علمی 06/05/2012 Edit

CSS


CSS چيست ؟

CSS مكانيزم ساده اي است براي بكاربردن يك Style (مانند نوبت، رنگ، فضاگذاري و ) در  document هاي تحت وب، فايلهاي HTML ، XML، PHP و . CSS Level 1 W3C در دسامبر 1996 نوشت CSS 1  يك مدل فرمت ويژال ساده را توضيح مي‌دهد . به دنبال آن W3C در مي 1998، CSS 2 را بر مبناي CSS 1 نوشت با اين تفاوت كه CSS 2  قابليتهاي بيشتري را پشتيباني مي‌كند . قابليت‌هايي چون: امكان تعريف راحتتر فونتهاي قابلdownload ، قراردادن يك element‌ يا  table در position دلخواه و .

Netscape navigator V4.X و IE V3.0  به بعد از حداقل قابليت‌هاي CSS پشتيباني مي‌كند. همچنين IE V5.5 به بعد وV6.0 Netscape  دو browser متداولي هستند كه اكثريت قابليتهاي CSS2  را پشتيباني مي‌كنند.

مزاياي استفاده از CSS :

يكي از دلايل اساسي ايجاد CSS، كم كردن حجم فايلهاي اطلاعاتي است. بدين مفهوم كه در CSS يك style را يكبار نوشته و تحت نامي معرفي مي‌كنيم و در فايل HTML  يا XML يا XSL خود چندين بار از آن استفاه مي نماييم. و حتي مي توانيم از CSS نوشته شده خود در فايلهاي متعددي استفاده كنيم.

مي توانيم يك CSS كامل بنويسيم و تمام صفحات مربوط به web site خود را با همان CSS شكل دهيم و مديريت كنيم و با عوض كردن CSS طريقه نمايش web site خود را عوض كنيم.

چگونه مي توان يك CSS Style Sheet را معرفي كرد ؟

1)در فايل HTML  و XSL

CSS را به سه طريق مي توان در فايل HTML يا XSL  اعمال كرد. روش كار در هر دو نوع فايل تقريباً مشابه يكديگر است. ما در مورد HTML كه كاملتر است صحبت مي كنيم.

1-   لينك كردن يك CSS خارجي ( external )

2-   import كردن يك CSS خارجي

3-   استفاده از CSS به صورت internal

توجه داشته باشيد كه تعريف CSS، به هر صورت، بايد در داخل تگ < head >  قرار گيرد.

به مثال زير توجه كنيد.

< HTML >

    <HEAD>

        <LINK  REL = “stylesheet”  TYPE = “text/css”  HREF = “css1.css”/>

        <STYLE TYPE = “text/css” >

            @IMPORT URL (css2.css) ;

            H1 {color : red;

                    text- decorataion : none ; }

        < /Style >

    </HEAD>

    <BODY>

        <H1> this css example </H1>

    </BODY>

</HTML>

2) در فايل XML

براي اعمال CSS در فايل XML  بايد به طريق زير رفتار كنيم:

<? xml version = “1.0” ?>

<? xml-stylesheet href = “css1.css” type = “text/css” ?>

<  root >

  .
  .
  .

< /root >

3) در فايل SVG

رجوع شود به بخش SVG

<> 

CSS2

چگونه مي توان يك style sheet CSS نوشت.

قوانين CSS :

CSS بر اساس قوانين كار مي كند. هر قانون يك selector دارد كه به منزله اسم آن قانون است. به انضمام يك يا چند property.

 

انواع selector ها :

1)   Element Type

همانطور كه قبلاً هم ديديم مي توان از تگ‌هايي مثل   < p >، <h2> ، <h1 >  و يا اگر روي XML  و XSL كار مي كنيم از نام تگهاي فايل XML  مربوطه به عنوان selector استفاده كنيم.

به طور مثال:

H2 { background–color : blue; }              in CSS

< H2 > hello world < H2 >                              in XSL

2)   ID

در elementهايي كه attribute يكتايي به نام ID داشته باشند، بكار مي رود.

# fancy { color : red; font–style : italic}    in CSS

<P ID = “fancy”> hello  world </P>                  in XSL

نكته 1: دستور p # fancy { color : red; font-style: italic; } درCSS فقط در مورد تگ هاي ‍‍P  كهID  آنها برابر fancy است كار مي كند.

نكته 2: دستور * # fancy در مورد هر تگي با ID برابر fancy  كار مي كند.

3) class

اين نوع selector در هر تگي قابل استفاده است فقط كافيست كه attribute را به تگ مورد نظر اضافه كنيم.

يادآوري : نكته 1 و 2 مذكور در مورد قبلي، در اين مورد نيز صدق مي كند.

.Selector { color : red; } in CSS

<P class = “Selector”> hello  warld</P>

4)pseudo – class

5) pseudo -  element

2- property  ها :

انواع بسيار زيادي از propertyهاي قابل استفاده در CSS 1 و CSS 2 وجود دارد كه مهارت در نوشتن CSS مفيد و مؤثر، به شناخت اين property ها بستگي دارد. به دليل وسعت مطالب در اين بخش تنها به آنچه كه در پروژه نياز بوده بسنده مي كنيم. توصيه مي شود براي اطلاع بيشتر به مراجع ذكر شده مراجعه نماييد.

Background properties   ⌂

 

- Back ground- color

  Value:        color

  Example :   H1{background-color : #FF00FF}

 

      - Background-image

        Value: uir

  Example:    BODY{background-image : url("marble.gif";)}

 

      - Background-repeat

  Value:        repeat | repeat–x | repeat-y | no-repeat

  Example :    bady{background-repeat : repeat-y ;}

در صورتي كه يك image به عنوان background ، elementاي انتخاب شود از طريق اين خاصيت مي توانيم مشخص كنيم كه آيا تصوير تكرار شود يا نه و اگر تكرار شود به چه صورت ؟

Repeat : تصوير به صورت موزائيكي از چپ به راست و از بالا به پايين چيده مي‌شود. (عمودي وافقي)

Repeat –x : تصوير تنها يك رديف از چپ به راست چيده مي‌شود.( افقي)

Repeat –y : تصوير تنها يك رديف از بالا به پايين چيده مي‌شود.( عمودي )

no-Repeat : يك نسخه از تصوير به عنوان زمينه element نمايش داده مي‌شود.

Background-position

Value :         [percentage | length] {1,2} | [top | center | bottom]

Example :     body{background-position : right top}

 

Background

Value :         [<background-color> | <background-image> |

                  <background-repeat> | <background-position>]

Example :     P{background : url("class-png";) groy 50% repeat}

 

خاصيت background در بردارنده تمام خواصي است كه قبلاً ذكر شد.

Cursar property

اين خاصيت شكل نمايش mouse روي element مورد نظر را مشخص مي‌كند.

- cursor

  Value :       [<uri>,]*[default | position | move | text | help | wait | …]

  Example :    P{cursor : url("mything.cur";), url("second.cur";), text;}

 

Default : حالت عادي شكل موس.

Position  : به شكلي ظاهر مي‌شود كه دارد به يك link  اشاره مي‌كند.

Mouse  : به شكلي ظاهر مي‌شود كه دارد چيزي را جابجا مي‌كند.

Text : به شكلي ظاهر مي‌شود كه به يك متن اشاره مي‌كند.

Help  : شكل help موس.

Wait : شكل حالت انتظار موس.

Font propertis

- font-family

  Value:                  [family-name]+

  Example :   {font-family : "Tahoma" , “Lotus” , "Jadid"}

 

اسم فونت يا فونتهاي مورد نظر را مي‌نويسيم. اگر روي دستگاه مربوطه اولين فونت معرفي شده وجود داشت آن element  را با همان فونت شماره 1 نشان مي‌دهد در غير اينصورت فونت شماره 2 معرفي شده را نمايش مي دهد و همينطور الي آخر

- font-style

  Value:        normal | italic

 

- font–weight

Value :            normaL | bold | bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800

| 900

كلفتي و نازكي فونت مورد نظر را تعيين مي‌كند.

Normal : كه همان font–weight = 400  است.

Bold : كلفتي 700

Bolder : كلفتي 900  

Lighter : كلفتي 100

و براي تنظيم دقيق تر كلفتي فونت مي‌توانيد از اعداد استفاده كنيد.

- font –size

  Value : <absolute-size> | <relative-size> | <lenght> | <percentage>

 

 

 absolute-size:

شامل نمونه‌هايي از اندازه فونت است. xx-small ، x-small ، small ، medium ، large ، x-large  ، . xx-large

relative-size :

اندازه فونت را نسبت به اندازه پيش‌فرض آن مشخص مي‌كند. Large - smaller

length : طول فونت را مشخص مي‌كنيم.

percentage : طول فونت را با درصد مشخص مي‌كنيم.

- font

  Value :       [<font-style> || <font-weight>] || <font–size> || <font–family>

  Example :        P{font : bold italic large tahoma badr}

مانند background خاصيت فونت نيز در بردارنده تمام خواص ذكر شده است.

 

introduce

 

مقدمه :

تا قبل از پيدايش XML ارتباط بين بانكهاي ارتباطي از انواع متفاوت به سختي انجام مي‌شد و عملاً غير ممكن بود براي ارتقاء data base به يك database قوي‌تر( مثلاً تبديل access به SQL Server) بزرگترين مشكلي كه رخ مي‌نمود عبارت بود از: چگونگي انتقال صحيح اطلاعات با كمترين هزينه زماني و مالي. علاوه بر آن با توجه به سلايق و امكانات نرم‌افزاري كاربران لازم است تاdocument ها با فرمت هاي مختلفي در اختيار قرار گيرد. ازجمله فرمت هاي معمول، HTML، PDF، DOC، TXT و در بعضي موارد فرمت‌هاي گرافيكي از جمله SVG را مي‌توان نام برد. فرض كنيد اين اطلاعات از طريق يك‌ database تأمين مي‌شود. دو مسأله هزينه‌بر در اين رابطه وجود دارد.

1) براي ايجاد هر كدام از اين فايلها برنامه طرف server بايد يك query از database بگيرد تا بتواند اطلاعات خام را بدست آورد. و بعد فايل HTML  ، PDF و را بسازد مي‌بينيم كه به‌ازاي ايجاد هر كدام از اين فايلها كه محتواي يكساني دارند، يكبار بايد query گرفته شود.

2) فرض كنيد كاربر بخواهد از بيش از يك فرمت استفاده نمايد. لازم است تا فايلهاي درخواستي از server  به client منتقل شود.

XML  فراتر از يك زبان / تكنولوژي برتر XML      

ايده ايجاد يك زبان استاندارد text based  قابل شناسايي توسط هر ماشين و applicationاي با موفقيت بسيار روبرو شد. مخصوصاً كه‌در چند سال اخير applicationهاي تحت وب رشد چشمگيري داشتند و exchange كردن داده بين applicationها امري ناگزير بود.

به منظور مرتفع ساختن اين نياز پروتكل‌هايي براي تبادل داده (با فرمت XML) بين ماشين‌ها و applicationها بوجود آمد كه از آن جمله مي‌توان به XML-RPC،SOAP، RDF و WDDX اشاره نمود. هدف دوم از ايجاد XML، كه هدف اين پروژه نيز مي ب

Comments (0) Posted to مطالب علمی 06/05/2012 Edit

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


Kasra می نویسد:

شايد تاکنون برای شما اين سوال مطرح شده باشد که  علت افت ناگهانی سرعت کامپيوتر و  کند کار کردن آن چيست و برای بهبود و يا افزايش سرعت آن می بايست چه اقدام و يا اقداماتی را انجام داد ؟ پاسخ به سوال فوق متغير بوده و ممکن است دلايل متعددی در اين رابطه وجود داشته باشد . در برخی موارد ممکن است با رعايت برخی نکات ساده در خصوص نحوه نگهداری سيستم مشکل برطرف گردد و در موارد ديگر ممکن است مجبور به ارتقاء سيستم و يا تعويض قطعات مسئله دار  گرديم . در این ترفند قصد داریم به برخی نکات اوليه به منظور بهبود کارآئی سيستم اشاره کنیم. 

اجرای دقيق Scan disk : وجود اشکال در فايل های ذخيره شده بر روی هارد ديسک ممکن است کاهش کارآئی سيستم و بروز اشکالات فيزيکی هارد ديسک را بدنبال داشته باشد . با اجرای برنامه Scan disk  می توان تعداد زيادی از خطاهای موجود بر روی هارد ديسک را برطرف نمود . برنامه فوق بررسی لازم در خصوص وجود اشکالات فيزيکی بر روی هارد ديسک را نيز انجام خواهد داد . بخاطر داشته باشيد که با توجه به ظرفيت هارد ديسک نصب شده بر روی کامپيوتر ، فرآيند بررسی وضعيت هارد ديسک می تواند مدت زمان زيادی بطول انجامد و نمی بايست در اين فاصله عمليات خاصی را انجام داد .  
حذف فايل های موقت موجود بر روی هارد ديسک : فايل های موقت به آندسته از فايل ها اطلاق می گردد که معمولا" پس از نصب يک برنامه همچنان بر روی هارد ديسک باقی می مانند و می توان بدون نگرانی اقدام به حذف آنان نمود  . 
حذف اطلاعات موجود در Cache برنامه مرورگر : فايل های cache شده ، به آندسته از فايل هائی اطلاق می گردد که در زمان استفاده از اينترنت بر روی سيستم شما باقی مانده و  اغلب شامل تصاويری می باشند که به منظور نمايش صحيح صفحات وب ، برنامه مرورگر مجبور به دريافت آنان از اينترنت شده است .
defrag نمودن فايل های موجود بر روی هارد ديسک : defrag ، سازماندهی فايل های موجود بر روی هارد ديسک را  بگونه ای انجام خواهد داد که امکان بازيابی آنان با سرعت بيشتری ميسر می گردد . 
اجرای يک برنامه ويروس ياب : اغلب ويروس های کامپيوتری درصد بالائی از منابع سيستم را استفاده می نمايند . همين موضوع می تواند کاهش کارآئی سيستم را بدنبال داشته باشد . برخی از ويروس ها حتی می توانند باعث از کارافتادن کامل سيستم گردند . به منظور برخورد موثر با ويروس های موجود همواره سعی نمائيد که از يک برنامه آنتی ويروس بهنگام شده استفاده کرده و عمليات پويش به منظور يافتن ويروس را در فواصل زمانی خاصی تکرار نمائيد . 
بررسی سيستم به منظور وجود Spyware : تعداد زيادی از وب سايـت ها بدون آگاهی شما اقدام به نصب Spyware بر روی سيستم شما می نمايند . يک spyware می تواند صرفا" در حد و اندازه يک کوکی ساده باشد که وب سايت های ملاقات شده توسط شما را در خود ثبت می نمايد و يا برنامه هائی باشند که امکان دستيابی ساير افراد به کامپيوتر شما را فراهم می نمايند . در اين رابطه می توان از برنامه های متعدد Anti Spyware به منظور پويش و برخورد با اين نوع برنامه ها استفاده نمود . 
غيرفعال نمودن برنامه های نصب شده غيرضروری  :يکی ديگر از دلايلی که می تواند کاهش سرعت کامپيوتر را بدنبال داشته باشد ، تعداد و تنوع برنامه هائی است که در زمان راه اندازی سيستم اجراء می گردند. در ويندوز XP می توان با استفاده از برنامه کاربردی MsConfig برنامه هائی را که در زمان راه انداری سيستم فعال می گردند مشاهده و در رابطه با آنان تعيين تکليف نمود . با استفاده از برنامه MsConfig  صرفا" می توان ليست برنامه هائی را که در زمان راه اندازی سيستم اجراء می گردند مشاهده نمود و  نمی توان از اين طريق آنان را حذف نمود . پيشنهاد می گردد که حتی المقدور از نصب برنامه های غير ضروری بر روی کامپيوتر اجتناب گردد ، چراکه هر برنامه پس از نصب درصدی از منابع سيستم را استفاده خواهد کرد و بديهی است که در اينچنين مواردی می بايست در انتظار کاهش کارآئی سيستم بود.  بخاطر داشته باشيد که برای حذف يک برنامه از روی کامپيوتر از برنامه هائی موسوم به Uninstall می بايست استفاده گردد . حذف فولدرهای حاوی برنامه به تنهائی در اين رابطه کافی نبوده و اطلاعات مربوط به آنان همچنان در ريجستری باقی خواهد ماند  .
پاک کردن ريجستری : ريجستری تنظيمات و اطلاعات مورد نياز ويندوز و ساير برنامه های نصب شده را در خود نگهداری می نمايد . به موازات افزايش فرآيندهای نصب و يا Uninstall ممکن است اطلاعات غيرضروری متعددی در ريجستری باقی بماند . در چنين مواردی می توان برای حذف اطلاعات غيرضروری موجود در ريجستری از برنامه های کاربردی متعددی استفاده نمود .  
ايجاد يک فايل Swap با ظرفيت ثابت : هر يک از نسخه های ويندوز تابع يک رويکرد خاص برای Paging و فايل swap ذخيره شده بر روی هارد ديسک می باشند. پس از اشغال تمامی فضای حافظه اصلی از فايل swap به منظور ذخيره اطلاعات استفاده خواهد شد . اندازه فايل فوق ثابت نبوده و می تواند با توجه به شرايط موجود تغيير نمايد . پس از استفاده از تمامی فضای حافظه و ظرفيت اختصتاص يافته برای فايل swap ، ويندوز اقدام به افزايش ظرفيت آن می نمايد . در صورت تحقق چنين شرايطی سرعت و کارآئی سيستم کاهش پيدا خواهد کرد . برای مشخص نمودن ظرفيت فايل swap می توان از گزينه System موجود  در control panel استفاده نمود ( System |Advanced | Performance Settings | Advanced | Virtual memory  ;) . مثلا" می توان حداقل و حداکثر ظرفيت فايل swap را مشابه و معادل سيصد مگابايت در نظر گرفت . 
بهنگام نمودن درايورهای سيستم : پيشنهاد می گردد  همواره درايورهای مربوط به کارت ويدئو و کنترل کننده IDE  بهنگام شده و از جديدترين درايورهای ارائه شده مرتبط با آنان استفاده گردد  .   
استفاده از حافظه RAM بيشتر و هارد درايوهائی با 7200 دور در دقيقه ( RPM ) : حافظه اصلی و هارد درايو دو قطعه اصلی در کامپيوتر می باشند که نسبت به پردازنده دارای سرعت بمراتب کمتری می باشند . افزايش حافظه RAM می تواند اثرات مثبتی را در ارتباط با سرعت اجرای برنامه های کامپيوتری بدنبال داشته باشد . سعی گردد از هارد درايوهائی استفاده گردد که RPM ( دور در دقيقه ) بالائی داشته باشند ( نظير 7200 دور در دقيقه ) . 
تبديل سيستم فايل : در صورتی که بر روی سيستم شما ويندوز 95 نصب شده است ، ويندوز از سيستم فايل FAT 16 استفاده می نمايد . در صورت تبديل سيستم فايل فوق به  FAT 32 ، سرعت سيستم افزايش نخواهد يافت ولی حجم و تعداد فايل هائی را که می توان بر روی هارد ديسک ذخيره نمود ، افزايش می يابد . در صورت استفاده از ويندوز XP و يا 2000 ، ارتقاء FAT16/32 به NTFS بهبود کارآئی و امنيت سيستم را بدنبال خواهد داشت . توجه داشته باشيد که پس از تبديل سيستم فايل ، امکان برگشت به وضعيت قبلی وجود نخواهد داشت. نسخه های ويندوز  95 ، 98 ، SE و ME قادر به خواندن اطلاعات از سيستم فايل NTFS نمی باشند .  بنابراين در صورتی که قصد استفاده از سيستم به صورت  dual-booting ( نصب بيش از يک سيستم عامل و انتخاب يکی از آنان در زمان راه اندازی سيستم ) را داشته باشيد و يا تمايل به اشتراک درايوهای موجود بين چندين سيستم عامل را داريد ، بهتر است که از FAT32 استفاده نمائيد . 
در صورتی که تمامی موارد اشاره شده منجر به حل مشکل کاهش سرعت نگردد ، می توان هارد ديسک را مجددا" فرمت و اقدام به نصب سيستم عامل و ساير نرم افزارهای دلخواه نمود و يا در صورت ضرورت سخت افزار سيستم را ارتقاء داد. 

برگرفته از وب
 

Comments (0) Posted to مطالب علمی 05/17/2012 Edit

روبات ها به جنگ ما مي آيند!!!

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

 

آيا روبات ها هميشه تحت کنترل انسان ها خواهند بود و از انسان ها فرمان مي برند يا روزي سر به طغيان بر خواهند داشت؟ روبات ها از دو سو به سرعت در حال پيشرفت هستند؛ از يک سو روز به روز پيشرفته تر مي شوند، گستره توانايي شان افزايش مي يابد و وظايف حساس تري بر عهده مي گيرند. از سوي ديگر تعداد آنها به سرعت در حال افزايش است و پيش بيني مي شود به زودي زندگي ما را پر کنند.

روبات ها به جنگ ما مي آيند؟

آيا روبات ها هميشه به انسان ها ياري مي دهند و زندگي آنها را ساده تر و لذت بخش تر مي کنند يا روزي براي انسان دردسرساز خواهند شد؟ آيا ممکن است در آينده به ستيز با انسان ها برخيزند. يا اين پرسش ها تنها به درد ساختن فيلم هاي تخيلي مي خورد؟

 

اگر به اين مباحث علاقه داريد، هر روز با وبلاگ خودتون همراه باشید.

 

اربک ساج مي گويد: «تسليم يک روبات شدن آن قدرها هم که فکر مي کنيد دور از ذهن نيست. فقط يک لحظه تصور کنيد سرش پوشش ندارد؛ پر از الکترود است. سيم هاي زيادي در آن نيست. سيم هاي نانوي مويي هم زياد نيستند. در بخش رسانه اي کمپين MIT در کيمبريج هستم. بخش تخصصي مربوط به روبات ها، بيشتر شبيه به اتاق يک جوان است تا يک لابراتوار. اتاقي پر است از انبوه کابل ها، جعبه هاي قديمي پيتزا و اسباب بازي ها و روبات هاي به هم ريخته و سرهم نشده. روبات انسان نماي يک و نيم متري که سه چرخ هم دارد مي آيد، به دور و بر اتاق نگاهي مي اندازد. با چشم هاي آبي پف کرده، تک تک به محققان خيره مي شود و من فکر مي کنم فرزندان همين روبات ها ممکن است چند سال ديگر با همين حالت بيايند و يقه سازندگانشان را بگيرند.»

 

او اضافه مي کند: «ساعتي قبل داشتم فيلم مربوط به همين روبات انسان نما به نام نکسي را روي اينترنت مي ديدم. به دوربين نگاه مي کرد و با صداي زنانه، خودش را معرفي مي کرد. فيلم را صدها نفر ديده بودند. چشمان نکسي بزرگ و صورتش بچه گانه بود. عده اي در باره فيلم  نظر داده بودند به جز چند نفر که از آن تعريف کرده بودند اکثريت خوششان نيامده بود؛ «اصلا شبيه انسان نيست»، «احمقانه است.» و «چندش آور است!»؛ اينها جمله هايي بود که نوشته بودند. مي خواستم به تمام کساني که اين طور بيرحمانه و بدون توجه به تلاش هاي شبانه روزي انجام شده براي ساخت اين روبات نوشته بودند، بگويم: آينده روبات هاي انسان نما درخشان است. اگر هنوز هم اين روبات ها چندان انسان ها را به وجد نمي آورند ولي به سرعت در حال پيشرفتند. مطمئنا در آينده نزديک، بچه ها عاشق روبات ها خواهند بود. من که شخصاً نکسي را دوست دارم! او يک روبات اجتماعي است.

 

نکسي؛ روباتي است که سلام مي کند، با شما دست مي دهد و اگر به او نزديک شويد شما را بغل مي کند. او به صدا حساس است و جمله هاي ساده اي را که برايش تعريف شده مي تواند تشخيص داده و به آنها عکس العمل نشان دهد. البته اگر اين جمله ها شمرده تلفظ  شوند. يکي از اعضاي تيم سازنده اش در باره آن مي گويد: اميدواريم در آينده نکسي هاي جديدتري بسازيم که از محدوده چند جمله اوليه فراتر رفته و با انسان مکالمه کنند، اگر چه نمي توانيم انتظار داشته باشيم در اوايل کار اين مکالمات جذاب باشند.»

روبات ها به جنگ ما مي آيند؟

اربک ساج ادامه مي دهد: «در مورد پيشرفت سريع روبات ها و پيچيده شدن آنها شک ندارم ولي موضوع اين است که اگر امروز نکسي مي تواند به صورت انسان ها نگاه کند و به چشمان آنها خيره شود و لبخند بزند، فردا روباتي ساخته خواهد شد که مي توانيم ادعا کنيم عاشق مي شود، دوست مي دارد، مي ترسد و حتي فريب مي دهد، وقتي روباتي به اين اندازه هوشمند ساخته شود و بتواند با ذهن انسان رابطه برقرار کند، آنگاه چطور مي توان مطمئن بود که مانند يک انسان انديشه نکند و به دنبال آمال و آرزوهاي خودش نرود؟ انديشيدن به اين مساله انسان را از جامعه در حال گسترش روبات ها به هراس مي اندازد.»

 

- روبات ها چگونه ظهور کردند؟

روبات ها در پيمودن سير تکامل داروين نيز خيلي با انگيزه تر و پرتلاش تر از انسان هستند. اين طور که نشان داده اند براي اينکه به تکامل برسند مثل انسان ها تنبل نيستند و نيازي به آن هزاره هاي دراز ندارند.

نخست در سال 1921 کلمه روبات را «R.U.R» ، يک دپارتمان علمي در کشور چک معرفي کرد، اول مي خواستند يک دستگاه الکترونيکي بسازند که ارزان قيمت باشد و در صنعت، بعضي از کارهاي ساده و طاقت فرساي انسان را به عهده بگيرد ولي همين هيات علمي در دهه هاي 40 و 50 ميلادي روبات هايي ساخت که مهندسين اش، خودشان تعجب کرده بودند! در اين دوره رفته رفته پديده اي به نام روباتيک ظهور کرد و معلوم شد داستان هاي آيزاک آسيموف چندان هم تخيلي نيستند.

روبات ها به جنگ ما مي آيند؟

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

 

- از روبات بايد ترسيد

روزي که روبات ها اسلحه به دست بگيرند آيا نبايد از آنها ترسيد؟ اين سوال ها را ابتدا پاتريک لين مطرح کرد. او استاد فلسفه دانشگاه کاليفرنياي آمريکاست و ظاهراً هم خيلي از روبات ها ترسيده. او مي گويد: «روبات ها بسيار پر کاربرد و به دردبخور هستند و پيشرفته تر شدن آنها مي تواند به نفع ما باشد. اما بايد حد و مرزي قائل باشيم. نبايد به آنها آزادي مطلق بدهيم. به شما هشدار مي دهم اگر امروز اين روبات ها را وارد کارهاي حساس و سرنوشت ساز کنيد ديگر نمي توانيد براي آينده تان تصميم بگيريد. اگر امروز به دست آنها اسلحه داديد فردا با همين سلاح ها در مقابل شما خواهند ايستاد!»

او حتي روبات هاي خانگي و روبات هاي به اصطلاح اجتماعي را هم بي خطر نمي داند. مي گويد: «مگر هدف نهايي شما آن نيست که اين روبات ها را مانند انسان احساساتي بار بياوريد؟ آن وقت اگر از شما؛ صاحبانشان توقعاتي داشتند آيا تضمين مي دهيد آنها را برآورده کنند؟ اصلا شما رمان فرانکشتاين را خوانده ايد؟»

او معتقد است روبات ها احساس تعلق خاطري به آرمان ها و ارزش هاي انساني نمي کنند. او مي گويد تا دير نشده بايد خط قرمزي براي روبات هاي در حال پيشرفت ترسيم کرد و مسووليت هاي حساس مانند رانندگي و از آن خطرناک تر وظايف نظامي را از آنها گرفت. او مي افزايد: «ترميناتور را فراموش کنيد، آن فقط يک فيلم تخيلي است. اسلحه دادن به دست يک روبات بازي با جان انسان هاست.»

ساخت روبات هايي که تنها جنبه سرگرمي دارند يا کارهاي خانه را انجام مي دهند، زياد خطرناک به نظر نمي رسد. آنها امکاناتي ندارند که ما را تهديد کنند يکي از اين نوع روبات ها روباتي است که با شما پينگ پنگ بازي مي کند. البته او هنوز خيلي ناشي است. روباتي کوتاه قد هم اخيرا ساخته شده. يک توپ رنگي را برايش پرتاب مي کنيد، مي رود و آن را مي آورد. دوست داشتني تر و بامزه تر از آن است که بخواهد دردسر ساز شود.

 

روبات ها به جنگ ما مي آيند؟

- فقط اگر يک لحظه ...

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

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

يکي از شرکت هاي روباتيک اعلام کرده در حال کار روي پروژه عظيم روباتي به نام روبات مغز است گفته اند در سال 2019 آن را عرضه خواهند کرد کسي نمي داند دقيقا چيست شرکت سازنده اش گفته، آنچه در حال ساخت آن است يک مغز تمام عيار است؛ مغزي مانند مغز انسان! چيزي که مي توانيم با اطمينان بگوييم اين است که روبات ها فعلا در اختيار ما هستند هنوز مي توانيم آينده آنها را هر طور که خواستيم تعيين کنيم. اما آيا شرکت هايي که روبات مي سازند و سود سالانه کلاني از فروش توليداتشان به دست مي آورند حاضر مي شوند برخي توليداتشان را متوقف کنند يا در بعضي زمينه ها کارشان را محدود کنند؟ شايد سال 2019 ديگر براي اين کار دير شده باشد از طرف ديگر، عده اي خطرساز شدن روبات ها را اصلا باور ندارند و آن را يک شوخي بامزه مي پندارند کوين وارويک استاد دانشگاه ريدينگ انگليس يکي از آنهاست او اصلا نگران پيشرفت چشم گير روبات ها نيست و مي گويد: «مگر ما آنها را نمي سازيم؟ پس ديگر نگراني براي چيست؟ وقتي ما آنها را تهيه و توليد مي کنيم به اين معني است که از نظر فکري ما از آنها برتريم. نبايد از آنها بترسيم هر چقدر هم که پيشرفته و هوشمند شوند ما همواره يک پله از آنها بالاتريم هميشه در مشت ما خواهند بود!»

 

برگرفته از همشهري

Comments (0) Posted to مطالب علمی 12/08/2010 Edit


درباره من

احمد استیری

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

پست الکترونیکی من:
UniversityDataInfo{@}yahoo.com

آخرين مطالب بروز شده

موضوعات

پيوندها

کلی

Feeds