مزرعه چاپارل

همه چیز و هیچ چیز

مزرعه چاپارل

همه چیز و هیچ چیز

ضدویروس چیست ؟

ضدویروس چیست ؟


نرم‌افزار ضدویروس (Anti-Virus) که با نام‌های ویروس‌یاب و ویروس‌کش هم شناخته می‌شود، نرم‌افزاری است که با مشاهده و بررسی محتوای پرونده‌ها به دنبال الگوهای آشنای ویروس‌ها یا کرم‌های اینترنتی می‌‌گردند. در صورت مشاهده این الگوها که به آن امضای ویروس (Virus Signature) گفته می‌شود، از ورود آن به کامپیوتر شما و اجرا شدن‌اش جلوگیری می‌کنند و یا به شما هشدار لازم را می‌‌دهند و از شما دستور می‌گیرند که آیا فایل را حذف کنند و یا سعی نمایند آن را اصلاح و پاکسازی کنند.

شرکت‌های سازنده نرم‌افزارهای ضدویروس، با ساخته شدن ویروس‌های جدید، الگوهای نرم‌افزاری آنها را کشف و جمع آوری می‌کنند و به همین علت اغلب لازم است تا این نرم‌افزارها هر از چندگاهی به‌روزرسانی (Update) شوند تا الگوهای جدید ویروسها را دریافت کنند.

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

بسیاری از اوقات هنگامی که شما آنها را شناسایی می‌‌کنید و از بین می‌‌برید، خبر ندارید که ویروس برای ورود مجدد و فعال شدن در کامپیوتر شما قبلاً چارهء لازم را اندیشیده است و راه‌های دیگری (Backdoors) برای حمله مجدد به رایانه یا شبکه رایانه‌ای شما ایجاد کرده است
ادامه مطلب ...

زیست ‌انفورماتیک چیست ؟

زیست ‌انفورماتیک چیست ؟


بیوانفورماتیک یا زیست‌داده‌ورزی علم نوینی است که در آن با استفاده از کامپیوتر، نرم‌افزارهای کامپیوتری و بانکهای اطلاعاتی سعی می‌گردد تا به مسائل زیستی بخصوص در زمینه‌های یاخته‌ای و ملکولی پاسخ داده شود. در این علم با بکارگیری رایانه سعی می‌گردد تا تحقیقات وسیعتری در خصوص پروتئین‌ها و ژنها بعمل آید.

دو فعالیت برجسته‌ای که بیوانفورماتیک دانان به آن مشغول هستند پروتئومیک و ژنومیک می‌باشد.

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

پروتئومیک به آنالیز پروتئین‌های یک موجود زنده گفته می‌شود.

علاوه بر ژنومیک و پروتئومیک، شاخه‌های دیگری از علوم زیستی وجود دارند که در بیو انفورماتیک از آنها استفاده می‌شود که عبارت‌اند از: متابولومیک و ترانسکریپتومیک. در هرکدام از این بخش‌ها سعی می‌شود تا به سوالات و پیچیدگیهای علم حیات (زیست شناسی) پاسخ داده شود.

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

علم بیوانفورماتیک می‌تواند ابزاری در جهت توسعه تکنولوژی مهندسی ژنتیک و مهندسی پروتئین باشد. برخی از محققین امروزی، فصل جدیدی در حوزه علم بیوانفورماتیک معرفی می‌کنند که نام آنرا زیست سیستم Systems-Biology نهاده‌اند. زیست سیستم یا دستگاه زیستی دست یافته جدیدی است که برای پاسخگوئی به مباحث پیچیده زیستی توسط محققان بکار می‌رود. زیست سیستم شامل برهمکنش میان ژنومیک و پروتئومیک و نیز داده‌های بیوانفورماتیک است که برای درک کامل از فعالیتهای سیستم‌های زیستی بکار می‌رود. امروزه شناخت توالی DNA به تنهائی پاسخگوی نیاز علمی دانشمندان زیست شناس نمی‌باشد بلکه مکانیسم عمل ملکول‌ها و اجزاء سلولی به شدت مورد توجه قرار گرفته. تحقیقاتی که امروزه در زمینه سلولهای بنیادین، تمایز سلولی، بیان ژنها و نحوه عملکرد آنها و نیز نحوه عملکرد و همکاری کلیه اجزاء سلول مثل میتوکندی و یا پلاستها صورت پذیرفته به عنوان دادهای خام برای علم بیوانفورماتیک بکار میرود. برای اطلاعات بیشتر میتوانید از سایت http://www.ibp.ir استفاده کنید

زوپس (xoops) چیست ؟

زوپس (xoops) چیست ؟


برنامه مدیریت محتوای زوپس، یک نرم‌افزار آزاد قدرتمند ‌است که با زبان پی‌اچ‌پی و با استفاده از پایگاه داده مای اس‌کیو‌ال برای راه‌اندازی وب‌گاه‌ها نوشته شده است. این نرم‌افزار از یک ساختار وابسته به بسته‌های جانبی (یا ماژولار) استفاده می‌کند که به کاربران، اجازه‌ی ویرایش و بروزرسانی وب‌گاه خود را می‌دهد. زوپس تحت اجازه‌ی عمومی همگانی (GPL) منتشر می‌شود و برای استفاده‌، ویرایش و توزیع همگان آزاد است. پروژه‌ی زوپس توانست مقام اول در زمنیه‌ی توسعه را در جایزه‌ی بهترین انجمن سال 2006 که توسط وب‌گاه سورس‌فورج‌دات‌نت ارائه می‌شود، کسب کند.

 

درباره

زوپس (انگلیسی: xoops) مخفف عبارت eXtensible Object Oriented Portal System به معنای سامانه‌ی درگاهی شیء‌گرای قابل گسترش است. اگرچه زوپس به در ابتدا به عنوان یک سامانه‌ی درگاهی بود اما بصورت یک سامانه‌ی مدیریت محتوا گسترش پیدا کرد. هدف اصلی زوپس، تبدیل شدن به یک بسته‌ی نرم‌افزاری است تا بتواند در راه‌اندازی وب‌گاه‌های کوچک، متوسط و بزرگ بکار آید. به عنوان مثال، برای راه‌اندازی یک وب‌نوشت یا یک مجله‌ی الکترونیکی می‌تواند یک وب‌گاه کوچک به حساب آید که با استفاده از زوپس می‌تواند با توجه به نیاز کاربران، گسترش پیدا کند و یا تغییراتی روی آن اعمال شود، که به عنوان مثال می‌توان به بسته‌های جانبی آن از جمله اخبار، تالارهای گفتگو، مرکز دریافت فایل، و... اشاره کرد! شایان ذکر است که سیستم زوپس از انعطاف زیادی برای طراحی نیز برخوردار می باشد، ولی به دلیل اینکه اکثر قالب ها پولی بوده، بیشتر کاربران فکر می کنند که از نظر گرافیکی جالب نیست! از خصوصیت های قالب های زوپسی این است که در زوپس قالب ها به زبان HTML نوشته می شوند که به دلیل رایج بودن این زبان به سازندهء قالب امکان عملیات بیشتری را می دهد. از دیگر امکانات فوق العادهء زوپس می توان به زیاد بودن ماژول های آن اشاره کرد که خودش طرفداران به سزایی دارد، شما در زوپس بیش از 2000 ماژول دارید که هر کدام برای یک کاربردی ساخته شده اند(البته تمامی این ها فارسی سازی نشده اند، شما می توانید تمامی فارسی ساز های زوپس رو در پروژهء فارسی سازی و در پروژه ای دیگر برای فارسی سازی پیدا کنید.
ادامه مطلب ...

زبان‌های برنامه‌نویسی ساخت‌یافته چیست ؟

زبان‌های برنامه‌نویسی ساخت‌یافته چیست ؟


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

 

برخی از زبانهای ساخت یافته:

    * پاسکال

    * سی

    * بیسیک

 

مثال

به عنوان مثال برای نوشتن برنامه‌ای که قرار است اطلاعات نمرات یک محصل را بگیرد و کارنامه آن را چاپ کند، زیر روالهای زیر لازم است:

    * زیر روالی ای برای خواندن اطلاعات ورودی

    * زیر روالی ای برای جمع اطلاعات ورودی و محاسبه معدل

    * زیر روالی برای چاپ اطلاعات به صورت یک جدول

    * زیر روالی برای اتصال به چاپگر و چاپ گزارش

هر زیر روال آنقدر کوچک می‌شود که برنامه نویس بتواند راحتتر کار کردن آن را درک کند ( هر زیر روال معمولاً 30 خط برنامه نویسی است) به این ترتیب برنامه نویس با نوشتن هر زیر روال بخشی از سیستم را تولید می‌کند و برنامه نویسان مختلف میتوانند بر روی زیر روالهای مختلف کار کنند تا در نهایت به اضافه نمودن آنها به یکدیگر برنامه نهایی ساخته شود.

در زبانهای ساختار یافته توابع کتابخانه ای فراوانی وجود دارند که سعی می‌کنند به برنامه نویس در برخی از رواله کمک کنند، مثلاً برای چاپ در مثال فوق، توابع کتابخانه‌ای برای سهولت انجام کار در این زیر روال، در زبان پاسکال، وجود دارد.

نسل بعدی این زبانهای برنامه نویسی زبانهای برنامه نویسی شی‌گرا میباشد.

زبان برنامه‌نویسی CLU چیست ؟

زبان برنامه‌نویسی 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 دارای این ویژگی نیست بیشتر زبان‌ها بطور تعجب آوری فاقد این خاصیت هستند. اما با توجه به مرکزیت حوزه متغیرها در الگول انتظار می‌رود که گسترش بعدی در جهت تعیین حوزه برای اشیا/خوشه‌ها باشد.

در CLU تبدیل نوع ضمنی وجود ندارد. در خوشه‌ها تبدیل نوع صریح با استفاده از «up» و «down» بین نوع داده انتزاعی و نمایش آن انجام می‌شود. یک نوع داده جهانی به نام «any» و یک روال «[]force» برای کنترل نوع وجود دارد. اشیا ممکن است تغییرپذیر یا غیرتغییرپذیر باشد به عنوان مثال انواع داده پایه غیرتغییرپذیر هستند.
ادامه مطلب ...

زبان برنامه‌نویسی سطح پایین چیست ؟

زبان برنامه‌نویسی سطح پایین چیست ؟


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

زبان‌های سطح پایین را گاهی به دو دسته نسل اول و نسل دوم تقسیم می‌نمایند.

 

اولین نسل

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

 

دومین نسل

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

     

                                                                "ADD CX INTEREST" or "RET"

زبان برنامه‌نویسی سطح بالا چیست ؟

زبان برنامه‌نویسی سطح بالا چیست ؟


زبان سطح بالا زبانی است که نسبت به زبان برنامه‌نویسی سطح پایین راحت‌تر قابل استفاده و قابل حمل بین سیستم‌های متفاوت و دارای انتزاع بیشتری هستند. چنین زبان‌هایی عموماً از عملیات CPU مانند مدل‌های دسترسی به حافظه و مدیریت حوزه دور هستند.

 

مشخصات زبان‌های سطح بالا

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

به بیان دیگر در حالی که زبان برنامه‌نویسی سطح بالا برنامه‌نویسی را آسان‌تر می‌نماید اما زبان برنامه‌نویسی سطح پایین برنامه‌های بهینه‌تری تولید می‌کند. در یک زبان سطح بالا این امکان را فراهم می‌سازد تا اجزای پیچیده را به اجزای ساده‌تر اما هنوز پیچیده تقسیم نموده تا برنامه‌نویس را از انجام کارهای پیچیده بازدارد. به این دلیل برنامه‌هایی که نیاز به کار با سرعت بالا و بهینه‌تر دارند باید با زبان سطح پایین نوشته شود حتی اگر زبان سطح بالا این کار را ساده‌تر سازد. زبانهای سطح بالا پر کاربردترین ودر عین حال جذابترین و کاربردی ترین محیط های برنامه نویسی را شامل می شوند، چرا که محیط آن کاربر پسند(User Friendly) بوده و یادگیری اصطلاحات و مفاهیم آن در محیط و قالبی گرافیکی به کاربر ارائه می شود، برنامه نویسان به راحتی به یادگیری دستورات و قواعد آن به دلیل اینکه به زبان محاوره ایی و انگلیسی نزدیک است می پردازند، اینگونه زبانها از سرعت کمتری نسبت به زبانهای سطح میانی و پایین برخوردار می باشد، به دلیل اینکه دستورات بایستی به زبان قابل فهم برای ماشین تبدیل گردند که این خود زمان بر می باشد، ولی در عین حال فضای کمتری اشغال می کنند که نمونه ایی از این زبانها، زبانهای برنامه نویسی پاسکال، C، ویژوال، دلفی، فرترن و جاوا می باشند. امروزه با توجه به ساختار پیچیده ریزپردازنده‌ها کامپایلرهای پیشرفته با استفاده از تکنیک‌های بهینه‌سازی برنامه‌های بهتری از برنامه‌های نوشته شده با دست فراهم می‌نمایند.
ادامه مطلب ...