ضدویروس چیست ؟
نرمافزار ضدویروس (Anti-Virus) که با نامهای ویروسیاب و ویروسکش هم شناخته میشود، نرمافزاری است که با مشاهده و بررسی محتوای پروندهها به دنبال الگوهای آشنای ویروسها یا کرمهای اینترنتی میگردند. در صورت مشاهده این الگوها که به آن امضای ویروس (Virus Signature) گفته میشود، از ورود آن به کامپیوتر شما و اجرا شدناش جلوگیری میکنند و یا به شما هشدار لازم را میدهند و از شما دستور میگیرند که آیا فایل را حذف کنند و یا سعی نمایند آن را اصلاح و پاکسازی کنند.
شرکتهای سازنده نرمافزارهای ضدویروس، با ساخته شدن ویروسهای جدید، الگوهای نرمافزاری آنها را کشف و جمع آوری میکنند و به همین علت اغلب لازم است تا این نرمافزارها هر از چندگاهی بهروزرسانی (Update) شوند تا الگوهای جدید ویروسها را دریافت کنند.
ویروسهای رایانهای برنامههایی دارای درجهای از هوشمندی هستند و روشهای بسیاری وجود دارد که توسط آنها اطلاعاتی از رایانهء شما به نویسندهء ویروس یا افراد سودجوی دیگر ارسال شود. بهعنوان مثال، شما در حال نگاه کردن به یک فیلم روی اینترنت هستید، یا در حال خواندن یک نامه و بسیاری کارهای عادی دیگر... و بدون آنکه بدانید در همان زمان به ویروسی اجازه دادهاید تا کامپیوتر شما را بررسی و تحلیل کند.
زیست انفورماتیک چیست ؟
بیوانفورماتیک یا زیستدادهورزی علم نوینی است که در آن با استفاده از کامپیوتر، نرمافزارهای کامپیوتری و بانکهای اطلاعاتی سعی میگردد تا به مسائل زیستی بخصوص در زمینههای یاختهای و ملکولی پاسخ داده شود. در این علم با بکارگیری رایانه سعی میگردد تا تحقیقات وسیعتری در خصوص پروتئینها و ژنها بعمل آید.
دو فعالیت برجستهای که بیوانفورماتیک دانان به آن مشغول هستند پروتئومیک و ژنومیک میباشد.
ژنومیک شامل تجزیه و تحلیل دادهها و اطلاعات ژنتیکی بخصوص ژنوم موجودات است. در حقیقت ژنوم را باید توالی کل دیانای موجود در سلولهای یک جاندار دانست که بهعنوان ماده ژنتیکی عمل مینماید و سبب بروز صفات وراثتی (فنوتیپ) میشود. با انتقال ماده وراثتی از یک نسل به نسل دیگر، صفات ارثی از یک نسل به نسل بعد منتقل میشود. در موجوداتی که تولید مثل جنسی دارند، ژنها از طریق سلول جنسی نر (اسپرم) و سلول جنسی ماده (اوول) به نوزاد منتقل میشود. بطور خلاصه باید گفت که ژنومیک شامل توالی یابی و آنالیز ژنها و رونوشتهای آنها در یک موجود زندهاست.
پروتئومیک به آنالیز پروتئینهای یک موجود زنده گفته میشود.
علاوه بر ژنومیک و پروتئومیک، شاخههای دیگری از علوم زیستی وجود دارند که در بیو انفورماتیک از آنها استفاده میشود که عبارتاند از: متابولومیک و ترانسکریپتومیک. در هرکدام از این بخشها سعی میشود تا به سوالات و پیچیدگیهای علم حیات (زیست شناسی) پاسخ داده شود.
در حوزه سوختوساز بدن سعی میشود تا دادههایی که در خصوص متابولیتهای سلولی هستند مورد مطالعه و تجزیه وتحلیل قرار گیرد و در علم ترانسکریپتومیک دادهایی که در خصوص رونویسی از روی دیانای است مورد بحث و بررسی قرار میگیرد.
زوپس (xoops) چیست ؟
برنامه مدیریت محتوای زوپس، یک نرمافزار آزاد قدرتمند است که با زبان پیاچپی و با استفاده از پایگاه داده مای اسکیوال برای راهاندازی وبگاهها نوشته شده است. این نرمافزار از یک ساختار وابسته به بستههای جانبی (یا ماژولار) استفاده میکند که به کاربران، اجازهی ویرایش و بروزرسانی وبگاه خود را میدهد. زوپس تحت اجازهی عمومی همگانی (GPL) منتشر میشود و برای استفاده، ویرایش و توزیع همگان آزاد است. پروژهی زوپس توانست مقام اول در زمنیهی توسعه را در جایزهی بهترین انجمن سال 2006 که توسط وبگاه سورسفورجداتنت ارائه میشود، کسب کند.
درباره
زبانهای برنامهنویسی ساختیافته چیست ؟
زبانهای برنامهنویسی ساختیافته زبانهایی هستند که در آن برنامهنویسی قدمها و روالهایی را که لازم است تا برنامه به جواب برسد، مشخص میکند. در این روش از برنامه نویسی، انجام یک روال به روالهای کوچکتر تقسیم میشود و به این ترتیب یک برنامه با شکسته شده به ریز برنامهای کوچکتر سعی میکند تا عملکرد مد نظر را پیدا سازی کند.
برخی از زبانهای ساخت یافته:
* پاسکال
* سی
* بیسیک
مثال
به عنوان مثال برای نوشتن برنامهای که قرار است اطلاعات نمرات یک محصل را بگیرد و کارنامه آن را چاپ کند، زیر روالهای زیر لازم است:
* زیر روالی ای برای خواندن اطلاعات ورودی
* زیر روالی ای برای جمع اطلاعات ورودی و محاسبه معدل
* زیر روالی برای چاپ اطلاعات به صورت یک جدول
* زیر روالی برای اتصال به چاپگر و چاپ گزارش
هر زیر روال آنقدر کوچک میشود که برنامه نویس بتواند راحتتر کار کردن آن را درک کند ( هر زیر روال معمولاً 30 خط برنامه نویسی است) به این ترتیب برنامه نویس با نوشتن هر زیر روال بخشی از سیستم را تولید میکند و برنامه نویسان مختلف میتوانند بر روی زیر روالهای مختلف کار کنند تا در نهایت به اضافه نمودن آنها به یکدیگر برنامه نهایی ساخته شود.
در زبانهای ساختار یافته توابع کتابخانه ای فراوانی وجود دارند که سعی میکنند به برنامه نویس در برخی از رواله کمک کنند، مثلاً برای چاپ در مثال فوق، توابع کتابخانهای برای سهولت انجام کار در این زیر روال، در زبان پاسکال، وجود دارد.
نسل بعدی این زبانهای برنامه نویسی زبانهای برنامه نویسی شیگرا میباشد.زبان برنامهنویسی CLU چیست ؟
CLU یک زبان برنامهنویسی نوشته شده توسط باربارا لیسکف و دانشجویانش در دانشگاه MIT در سالهای ۱۹۷۴ و ۱۹۷۵ است. ویژگی مهم این زبان استفاده از سازندهها شامل کدهای قابل اجرا بر اشیا انتزاعی است که قدم مهمی در جهت پیشرفت برنامهنویسی شیگرا بود. با این وجود بیشتر ویژگیهای شیگرا مانند وراثت در این زبان وجود ندارد و بعضی وقتها این زبان را با دستورات خستهکننده آن میشناسند. زبانهای CLU و آلفارد به مفاهیم شیگرا بسیار نزدیک میگردند اما یک زبان شیگرا نیستند.
خوشهها
دستورات CLU بر اساس الگول است و این دستورات پایه بسیاری از زبانهای جدید است. مفهوم کلیدی اضافه شده به این زبان مفهوم خوشه است که به عنوان سیستم گسترش نوع و پایه نام زبان است. خوشهها در این زبان همان مفهوم شی در زبانهای شیگراست. برای مثال در اینجا دستورات CLU برای ساخت نوع پیچیدهتری از اعداد ارائه شده است:
complex_number = cluster is add, subtract, multiply, ....
rep = record [ real_part: real, imag_part: real ]
add = proc ... end add;
subtract = proc ... end subtract;
multiply = proc ... end multiply;
...
end complex_number;
با وجود این که خوشهها شیوه نسبتاً پیشرفتهای برای ایجاد ساختار برنامهها بود اما هیچگونه ساختار برای خوشهها وجود نداشت. نام خوشهها جهانی است و هیچگونه مکانیسم فضای نام برای گروهبندی خوشهها وجود ندارد و نمیتوان آنها را در داخل یکدیگر بصورت محلی تعریف نمود. تنها ClََU دارای این ویژگی نیست بیشتر زبانها بطور تعجب آوری فاقد این خاصیت هستند. اما با توجه به مرکزیت حوزه متغیرها در الگول انتظار میرود که گسترش بعدی در جهت تعیین حوزه برای اشیا/خوشهها باشد.
زبان برنامهنویسی سطح پایین چیست ؟
در علوم رایانه زبان برنامهنویسی سطح پایین زبانی است که به مقدار کم یا هیچ انتزاعی نسبت به ریزپردازنده فراهم نمینماید. عبارت سطح پایین به این معنی نیست که این زبان نسبت به زبان برنامهنویسی سطح بالا ارزش کمتری دارند بلکه به معنای عدم وجود انتزاع بین این زبان و ساختار ریزپردازنده است از این جهت گاهی این زبانها را نزدیک به سختافزار نیز مینامند. سطح بالا و سطح پایین نسبی هستند و یک برنامهنویس جاوا ممکن است زبان سی را سطح پایین بداند در حالی یک برنامهنویس سی زبان ماشین را در سطحی پایینتر از خود میداند.
زبانهای سطح پایین را گاهی به دو دسته نسل اول و نسل دوم تقسیم مینمایند.
اولین نسل
اولین نسل زبان برنامهنویسی کد ماشین است. این زبان تنها زبانی است که بصورت مستقیم توسط ریزپردازنده درک میگردد. در حال حاضر برنامهنویسان از زبان ماشین استفاده نمیکنند چرا که همانند زبان اسمبلی نیاز به توجه به جزئیات زیادی داشته که زبان سطح بالا خود آنها را برطرف مینماید. و برای هر دستور نیاز به یافتن کد عددی متناسب با آن دستور است. به این دلیل زبانهای نسل دوم که یک سطح انتزاع بالاتر از کد ماشین قرار دارد بوجود آمدند.
دومین نسل
زبان نسل دوم زبان اسمبلی است. این زبان با وجود این که در سطح انتزاع بالاتری قرار دارد اما ساختار ریزپردازنده مانند ثباتها و دستورالعملها را مورد توجه قرار میدهد. این دستورالعملهای ساده سپس تبدیل به کد ماشین میگردد. کد اسمبلی را میتوان به سطح بالاتری از انتزاع گسترش داد. به عنوان مثال زبان اسمبلی را میتوان بصورت قابل خواندنتری مانند کد زیر نوشت.
"ADD CX INTEREST" or "RET"
زبان برنامهنویسی سطح بالا چیست ؟
زبان سطح بالا زبانی است که نسبت به زبان برنامهنویسی سطح پایین راحتتر قابل استفاده و قابل حمل بین سیستمهای متفاوت و دارای انتزاع بیشتری هستند. چنین زبانهایی عموماً از عملیات CPU مانند مدلهای دسترسی به حافظه و مدیریت حوزه دور هستند.
مشخصات زبانهای سطح بالا
عبارت زبانهای سطح بالا بدین معنی نیست که این زبان نسبت به زبانهای سطح پایین برتر هستند بلکه اگر شما میزان اطلاع از نحوه عملکرد رایانهها را به عنوان ملاک در نظر بگیرید برعکس این مطلب درست است. عبارت زبان سطح بالا در حقیقت به معنای دوری این زبانها از زبان ماشین است. به جای کار کردن با ثباتها، آدرسهای حافظه، و فراخوانی پشته زبان برنامهنویسی سطح بالا از متغیرها، آرایهها، و عبارات پیچیده ریاضی و منطقی استفاده مینماید. این زبانها مستقیما مانند زبان اسمبلی به زبان ماشین ترجمه نمیگردند. ویژگیهای دیگر همانند توابع کار با رشتهها، مفاهیم شیگرایی، و کار با ورودی و خروجی در فایلها در آنها وجود دارد.