سال نو مبارک

بهار مبارک

(cascading style sheets) CSS

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

صاستفاده از شیوه نامه ها يا مختر (cascading style sheets) CSS با HTML 4.0 آغاز شد. بسیاری از قابلیت های دیگر که قبلاً در HTML وجود نداشت با CSS در دسترس طراحان قرار گرفت. شيوه ها باعث جداسازی محتوای صفحه از نحوه نمايش آن می شوند. اين جداسازی دسترسی یه محتوا را بهبود بخشيده انعطاف پذيری و کنترل بيشتری را در تعيين ويژگی های نمايشی عناصر در اختيار طراح صفحات وب قرار می دهد.

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

نکته. CSS ها تنها در برازرهای جديد (4.0 به بعد) پشتيبانی می شوند.

CSS Syntax

هر شيوه شامل دو قسمت است: گزينشگر (selector) ويک يا چند اعلان (declarations) . گزينشگر معمولا تگی از HTML است که می خواهيد فرمت آن را تعريف کنيد. هر اعلان شامل يک ويژگی (property) و يک مقدار (value) است. ويژگی خصوصيتی است که می خواهيد تغيير دهيد هر خصوصيت دارای يک مقدار است. اعلان ها هميشه به سميکولن ختم می شوند. و گروه اعلان ها درون آکولاد محصور می شوند.

CSS Syntax

مثال.

p
{
color : red;
text-align : center;
}


CSS به شما اجازه می دهد گزينشگر شيوه خود را توسط پارامترهای class و id مشخص و دسته بندی کنيد. هر عنصر HTML دارای دو خاصيت id و class است . خاصيت id تعيين کننده يک نام منحصر به فرد برای عنصر و خاصيت class به کلاسی که عنصر در آن عضويت دارد اشاره می کند. يک کلاس مجموعه ای از عناصر مختلف است که در يک گروه واحد قرار دارند.

گزينشگر id برای تعيين يک شيوه روی تنها يک عنصر منحصر بفرد بکار می رود. برای ارتباط شيوه با عنصر موردنظر از خصوصيت id در تگ HTML استفاده می شود. گزينشگرهای id توسط علامت ( #) مشخص می شوند.


مثال. شيوه زير بر روی عنصری که خاصيت id="para1" باشد اعمال می شود.

#para1 {
text-align:center;
color:red;
}


نکته. نام id را هرگز با اعداد شروع نکنيد زيرا در مرورگر Mozilla/Firefox کار نمی کند.


گزينشگر class برخلاف گزينشگر id برای اعمال يک شيوه روی گروهی از عناصر کاربرد دارد. يعنی می توانيد يک شيوه خاص را روی کليه تگ های HTML که در يک کلاس قرار دارند تنظيم کنيد. گزينشگر class با علامت نقطه ( .) آغاز مشخص می شود و از خاصيت class در تگ HTML استفاده می کنند.


مثال. کليه عناصری که class="center" است طبق شيوه center. در مرکز تراز می شوند.

.center {text-align:center;}

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

p.center {text-align:center;}


نکته. نام کلاس را هرگز با اعداد شروع نکنيد زيرا در مرورگر Internet Explorer کار نمی کند.


سه روش برای درج يک شيوه روی عناصر HTML وجود دارد: شيوه درونی، خارجی و درون خطی که در ادامه توضيح داده خواهند شد.


ساده ترین راه برای افزودن شيوه به یک صفحه استفاده از شيوه درونی (Internal Style Sheet) است. اين روش وقتی به کار می رود که هر صفحه شيوه جداگانه ای داشته شود.

شيوه درونی را بايد در بخش توسط تگ styleتعريف کرد.


مثال. شيوه زير رنگ زمينه صفحه را قرمز و حاشيه سمت چپ پاراگراف را 20 پيکسل تنظيم می کند.




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




وقتی يک شيوه منحصر به فرد برای يک عنصر تکی بکار می رود از شيوه درون خط (inline style) استفاده می شود. برای استفاده بايد صفت style در تگ مربوطه استفاده شود. صفت style می تواند شامل هر خاصيت CSS باشد.


مثال. شيوه درون خطی زير تغيير رنگ و حاشيه چپ پاراگراف را نشان می دهد.


This is a paragraph


هنگامی که قرار است شيوه ها بر روی چندین صفحه مختلف به طور یکسان اعمال شوند بهترین روش استفاده از یک فايل شيوه خارجی (external style sheet) و لينک کردن آن به صفحه موردنظر است. بدين صورت کدهای مربوط به شيوه فقط یکبار نوشته می شود. علاوه بر اين می توان ظاهر کل وب سايت را تنها با تغيير يک فايل عوض کرد.

هر صفحه بايد توسط تگ به فايل حاوی شيوه خارجی پيوند بخورد. تگ لينک در بخش head قرار می گيرد.


مثال. نحوه پيوند فايل شيوه mystyle.css به مستند.



مثال. برای مشاهده يک نمونه استفاده از شيوه خارجی فايل فشرده زير را دانلود کنيد (راست کليک کرده و save link as يا save target as ). سپس کد آنها در يک ويرايشگر متن ملاحظه کنيد. با دوبار کليک روی فايل خروجی را در مرورگر مشاهده کنيد.


مثال. تغيير رنگ زمينه

مثال. قرار دادن تصوير پيش زمينه

مثال. ثابت نگهداشتن تصوير زمينه

مثال. حذف زيرخط هايپرلينک

مثال. تغيير رنگ هايپرلينک 1

مثال. تغيير رنگ هايپرلينک 2

مثال. گالری تصاوير

مثال. تعيين فرمت نمايش جدول

مثال. مخفی کردن يک عنصر

نمونه سوالات ارشد مهندسی کامپیوتر

سلام 

نمونه سوالات ارشد کامپیوتر را از لینک زیر دانلود نمائید                          

نمونه سوالات ارشد کامپیوتر

تفاوتهای بین HUB SWITCH Broad cast uni cast هاب و سوئیچ

شبکه

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

در کارتهای شبکه دو آدرس موجود می باشد
1.physical address (MAC) 48 bit
2.logical address
(IP) 32 bit

MAC
=Media Access Controller
IP
=Internet Protocol

 

برای دیدن دو آدرس میتوان از دستور زیر استفاده کرد

 

run -->cmd --> ipconfig /all
همچنین باتایپ دستور زیر میتوان آدرس فیزیکی (کارت شبکه) را مشاهده کرد
run -->cmd --> getmac

انواع کابل های شبکه

1.ُco-axial cable
2.TP cable(Twisted Pair)
3.Fiber optical cable

co-axial cable

کابل کواکسل (کابل هم محور) انعطاف پذیر با دو هادی متشکل از یک سیم مسی,یک لایه عایق محافظ ,روکش تابیده شده فلزی ویک محافظ خارجی با مواد مقاوم در برابر آتش تشکیل شده است کابلهای هم محور به طور گسترده ای در شبکه قرار میگیرند این کابلها همچون سیمهای مورد استفاده در تلویزیون کابلی است
co-axial cable

TP cable(Twisted Pair)
کابل زوج به هم تابیده
کابلی متشکل از دو رشته سیم عایق دار جداگانه که به هم تابیده شده اند .این کابل برای کاهش تداخل سیگنالهای حاصل از منابع رادیویی است . یکی از این دو سیم سیگنال حساس را حمل میکند و دیگری سیم زمین است
کابل زوج به هم تابیده به دو نوع دسته بندی میشوند
STP(Shielded Twisted Pair)
UTP(Unshielded Twisted Pair)
TP cable Twisted Pair
STP(Shielded Twisted Pair)
کابلی متشکل از یک یا چند جفت سیم بهم تابیده و روکشی از فویل و رشته مسی .تاباندن باعث میشود که جفت سیمها تداخلی برای یکدیگر بوجود نیاورند و روکش هم از تداخل خارجی جلوگیری میکند.بنابراین میتوان از آن برای انتقال سریع جهت فواصل طولانی بکار برد
UTP(Unshielded Twisted Pair)

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

Fiber optical cable

کابل فیبر نوری نوعی کابل است که در شبکه ها مورد استفاده قرار میگبرد و سیگنالها را بصورت نوری منتقل میکند ,بر خلاف کابلهای هم محوروزوج بهم پیچیده که آنها رابه صورت الکتریکی انتقال می دهد.قلب هدایت کننده نوردر این کابلها شیشه یا فیبر پلاستیکی است که هسته نانیده میشود
Fiber optical cable

 UTP CABLEانواع سیم کشی
straight-through cable
cross-over cable
rolled cable
  • straight-through cable
برای دستگاههای غیرمشابه استفاده میشود. نظیر
switch to pc
hub to pc
router to switch
router to hub
Straight Cable
1.White.Orange 1.White.Orange
2.Orange 2.Orange
3.White.green 3.White.green
4.Blue 4.Blue
5.White.Blue 5.White.Blue
6.Green 6.Green
7.White.Brown 7.White.Brown
8.Brown 8.Brown

  • cross-over cable
برای دستگاههای مشابه استفاده میشود. نظیر

pc to pc
switch to switch
hub to hub
router to router
router to pc
hub to switch

cross-over cable

1.White.Orange 1.white.Green
2.Orange 2.Green
3.White.green 3.White.Orange
4.Blue 4.Blue
5.White.Blue 5.White.Blue
6.Green 6.Orange
7.White.Brown 7.White.Brown
8.Brown 8.Brown

  • rolled cable(roll over)
برای اتصال بین کامپیوتر به روتر ویا سوئیچ استفاده میشود
rolled cable(roll over)
1.White.Orange 1.Brown
2.Orange 2.white.Brown
3.White.green 3.Green
4.Blue 4.White.Blue
5.White.Blue 5.Blue
6.Green 6.White.Green
7.White.Brown 7.Orange
8.Brown 8.white.Orange



HUB 
هاب به وسیله ای که خطوط ارتباطی را در یک نقطه مرکزی به یکدیگر متصل میکند و اتصال مشترکی برای تمامی وسایل فراهم میکند گفته میشود
به زبان ساده هاب یکی از تجهیزات شبکه است که بوسیله آن دو یا چند کامپیوتر را بوسیله آن متصل میکنند
هاب

  SWITCH
سویئچ به وسیله ای  که بسته ها را مستقیما به پورت های مرتبط با نشانی های خاص شبکه هدایت میکند گفته میشود
به زبان ساده سوئیچ همان کار هاب را میکند امامزیتهای بیشتری دارد و گرانتر است 
باعث بهبود کارکرد شبکه از طریق ارائه پهنای باند بیشتر برای کاربران میشود
سوییچ

switch باعث تفکیک collision در یک شبکه میشود
collision
یا تصادم نتیجه عملکرد دو وسیله یا ایستگاه کاری در یک شبکه که اقدام به انتقال همزمان سیگنال ها از طریق یک کانال میکند.نتیجه این کار انتقال مغشوش خواهد بود

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

به زبان ساده از روتر زمانی استفاده میشود که میخواهیم کامپبوترها را با range ip مختلف به هم متصل کنیم

روتر
 

تفاوتهای بین هاب و سوئیچ

  Different between Hub and Switch
1.always broad cast 1.first time broad cast,second time uni cast
2.10 mbps 2.100 mbps
3.half duplex 3.full duplex
4.No ARP 4.ARP
5.No MAC table 5.MAC table
6.physical layer 6.data linke layer

توضیحات در مورد جدول فوق
  (one to all)Broad cast
مبدا پیام را به همه گیرندها انتقال میده تا زمانی که مقصد مورد نظر را پیدا کند

(one to one)uni cast

مبدا دقیقا پیام را به مقصد مورد نظر انتقال میدهد

(
Mega Bits Per Second)mbps
یک میلیون بیت در ثانیه

Half Duplex

اگر یک نقطه را مبدا در نظر بگیرید و نقطه دیگر را مقصد ,در یک زمان ارتباط تنها در یک جهت میتواند صورت بگیرد.مثلا در دستگاه واکی تاکی و یا بی سیم در یک زمان فقط یک طرف میتواند صحبت کند

Full Duplex

در یک زمان ,ارتباط میتواند دو طرفه جریان داشته باشد مثل تلفن در یک زمان هر دو طرف میتوانند صحبت کنند

ARP
(Address Resolution Protocol)
پروتکلی است برای تعیین نشانی سخت افزاریIP to MAC

MAC Table
(Media Access Control)
این لایه فرعی دستیابی به شبکه فرعی را مدیریت میکند,قابها را از یکدیگر جدا میکند

  Internetwork devices
         switch                 PC                روتر

OSI Layers هفت لایه شبکه

OSI Layers هفت لایه شبکه

OSI(Open System Interconnection)
 

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


1.Physical Layer NETWORK LAYER
2.Data Link Layer
3.Network Layer
4.Transport Layer
5.Session Layer
UPPER LAYER
6.Presentaion Layer
7.Application Layer


برای فهم بهتر از لایه آخر شروع میکنیم

در این لایه کاربر فعل و انفعال داخلی با سیستم دارد
دو عملکرمهم در این لایه است
آغاز کردن رویداد
(فرض را بر این بگذارید پنجره یاهو مسنجر باز است و شما متن مورد نظر
را نوشته اید زمانی که کلید ورود را میزنید آن زمانی است که رویداد شروع به آغاز(راه اندازی)میکند
نمایش خروجی
زمانی است که طرف مقابل متن مورد نظر شما را مشاهده میکند

  • Example:smtp,ftp,telnet,pop3

 

 

 

دو عملکرمهم در این لایه است
فرمتی که در مبدا ارائه می دهیم همان فرمت را در مقصد دریافت میکنیم بفرض اگر در مبدا فایل عکس باشد در مقصد هم عکس دریافت میشود
اطلاعات در مبدا بصورت رمز میشود و در مقصد کشف رمز میشود -باعث میشود اطلاعات به بصورت مطمئن به مقصد برسد

  • Example:bmp,jpeg,text,asci
 

 

در این لابه ارتباط بین دو سیستم برگذار میشود
سه عملکرمهم در این لایه است
چه زمانی ارتباط برقرار میشود
اداره کردن و نگهداری لایه
متوقف کردن لایه 

  • Example: ATM servers,SQL servers,oracel servers
 

 

سه عملکرمهم در این لایه است
دایر کردن اتصال نقطه به نقطه
انتقال دادن اطلاعات
بازیابی خطا
در این لایه دو نوع کنترل کننده جریان داده موجود میباشد انتقال داده ها از طریق یک سیستم از نقطه ورود تا مقصد
1.windowing size
2.source squanching=buffering
در ابتدا مبدا سیگنال معینی به مقصد میفرستد,سپس مقصد جواب میدهد به مبدا همراه با سیگنالهای تصدیق,اگر مبدا سیگنال تصدیق را از مقصد دریافت کند اتصال نقطه به نقطه رادایر میکند

  • Example:online song,tcp/udp
 

 
 

دو عملکرد مهم در این لایه است
Routing
Route convergence


Routing

فرآیند هدایت بسته ها در بین شبکه ها از مبدا به مقصد را گویند


انواع مختلفRouting

1.RIP(Routing Information Protocol)
2.IGRP
(Interior Gateway Routing Protocol)
3.EIGRP
(Enhanced Interior Gatway Routing Protocol)
4.OSPF
(Open Shortest Path First)
Route Convergence
زمانی است که  توسط روتر برای بروز در آوردن تغییرات در تمامی روترها گرفته میشود
  • Example:IP,IPX,APPLETALK
 

 
2.DATA LINK LAYER

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

Preamble

Destination Hardware Address

Source Hardware Address

Length

Data

FCS


 

FCS(Frame Check Sequence)

برای پیدا کردن خطادر فرم بکار میرود


همچنین در این لایه دو زیر لایه وجود دارد

 
MAC(Media Access Controller)
LLC
(Logical Link Control)
  • Example:switch,bridges
   

 
 
1.PHYSICAL LAYER

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

 
  • Exaple:port,cables,RJ45,hubs,repeaters

کلاس های آدرس ای پی شبکه IP Addressing subnet mask

ای پی (IP) یک آدرس منطقی که برای مشخص کردن دستگاه در ارتباط بین شبکه ها تعیین میشود
از چهار رقم تشکیل شده است که با نقطه از هم جدا میشوند بطور مثال 192.168.10.20
هر عدد هشت بیت است که در مجموع میشود 32 بیت 32=8*4
اعداد  بکاربرده شده دسیمال هستند و بین 255-0 می باشند

همانطور که گفته شد هر ip address از 32 bit تشکیل شده است و هر ip از چهار بخش تشکیل شده است که به هر بخش octet نیز گفته میشود بطور مثال 192 یک octet میباشد

  • IP Address Classes

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


 

Class A 1-126
Class B 128-191
Class C 192-223
Class D 224-239
Class E 240-254

 

مثلا  ip 10.10.10.1 با توجه به اینکه رقم اول آن 10 است نشان دهنده این اسنت که در کلاس A می باشد

  ip 192.168.10.20 با توجه به اینکه رقم اول آن 192 است نشان دهنده این است که در کلاس C می باشد

 

  • Loop Back

اگر دقت کرده باشین عدد 127 در کلاسهای فوق نبود به این دلیل است که این عدد برای چک کردن کارت شبکه مورد استفاده قرار میگیرد و اگر بخواهیم از صحت سالم بودن کارت شبکه اطمینان حاصل کنید میتوانید از این آدرس استفاده کنید
  ping 127.0.0.1
کلاس A
شبکه های کلاس A برای شبکه هایی که تعداد شبکه هایشان کم ,ولیکن تعداد میزبانهایشان زیاد است و معمولا برای استفاده توسط انستیتوهای دولتی و آموزشی انتخاب میشوند مناسب هستند
در یک آدرس شبکه کلاس A ,بخش نخست آن نشان دهنده آدرس شبکه (network address) و سه بخش دیگر نیز نشاندهنده آدرس میزبان (host address) در شبکه است.بطور مثال IP 10.20.20.20 عدد 10 به آدرس شبکه و عدد 20.20.20 به آدرس میزبان تعلق دارد
در آدرس دهی کلاس A اولین بیت صفر میباشد

01111111 = 0 + 64 + 32+ 16+ 8+ 4+ 2+ 1 = 127

کلاس B
شبکه های کلاس B برای شبکه هایی که تعداد شبکه هایشان بین شبکه های بسیار بزرگ و بسیار کوچک است در نظر گرفته شده است
در یک آدرس شبکه کلاس B دو بخش نخست آن نشان دهنده آدرس شبکه و دو بخش دیگر نشاندهنده آدرس میزبان است
بطور مثال IP 172.16.10.10 عدد 172.16 به آدرس شبکه تعلق دارد و عدد 10.10 به آدرس میزبان تعلق دارد
ِدر آدرس دهی کلاس B دومین بیت صفر میباشد

10111111 = 128+ 0+ 32+ 16+ 8+ 4+ 2+ 1 = 191

 

کلاس C
شبکه های کلاس C برای شبکه هایی که تعداد شبکه های زیادی دارند اما میزبان کمتری دارند تدارک داده شده است
در یک آدرس شبکه کلاس C , سه بخش نخست آن نشان دهنده آدرس شبکه و بخش آخر به آدرس میزبان تعلق دارد
بطور مثال IP 192.168.10.20 عدد 192.168.10 به آدرس شبکه و 20 به آدرس میزبان تعلق دارد
در ای پی آدرس دهی کلاس C , سومین بیت صفر میباشد

11011111 = 128 + 64+ 0+ 16+ 8+ 4 + 2+ 1 = 223

 

کلاس D
آدرس کلاس D برای Multicasting استفاده میشود
بدلیل اینکه این آدرس رزو شده است بهمین دلیل از بحث درباره آن خوداری میکنیم
در کلاس D چهارمین بیت صفر میباشد

11101111= 128+64+32+0+8+4+2+1=239

Multicasting
فرایند ارسال یک پیام,همزمان به بیش از یک مقصد در شبکه را گویند
کلاس E
آدرسهای کلاس E برای research and Development استفاده میشود

 


 

در هر کلاس دو نوع IP Address(آدرس ای پی ) موجود میباشد

آدرس ای پی خصوصی
Private address
آدرس ای پی عمومی public address

Private address

برای تعیین شبکه های محلی استفاده میشود و برای استفاده از آنها احتیاج به هیچ مجوزی نیست
public address

برای تعیین شبکه های عمومی استفاده میشود و باید از سازمان IANA مجوز داشت

IANA(Internet Assigned Numbers Authority)

چگونه میتوان تشخیص داد ای پی عمومی است یا خصوصی ؟
برای IP های خصوصی یک رنج موجود میباشد اگر IP در آن رنج بود خصوصی است در غیر اینصورت IP عمومی است

 

PRIVATE  IP  ADDRESS

Class A 10.0.0.0 10.255.255.255
Class B 172.16.0.0 172.31.255.255
Class C 192.168.0.0 192.168.255.255

 

ادامه مطالب


ادامه نوشته

سیستم ساختار فایل

دانلود جزوه سیستم ساختار فایل موسسه پارسه


زبان برنامه نویسی اسمبلی

 آموزش مرجع

 اسمبلی

 پسورد فايل: www.balout.blogfa.com

دانلود فايل: دانلود

ادامه مطالب

ادامه نوشته

امنیت در شبکه‌های بی‌سیم

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

شبکههای بیسیم، کاربردها، مزایا و ابعاد

تکنولوژی شبکه‌های بی‌سیم، با استفاده از انتقال داده‌ها توسط اموج رادیویی، در ساده‌ترین صورت، به تجهیزات سخت‌افزاری امکان می‌دهد تا بدون‌استفاده از بسترهای فیزیکی همچون سیم و کابل، با یکدیگر ارتباط برقرار کنند. شبکه‌های بی‌سیم بازه‌ی وسیعی از کاربردها، از ساختارهای پیچیده‌یی چون شبکه‌های بی‌سیم سلولی -که اغلب برای تلفن‌های همراه استفاده می‌شود- و شبکه‌های محلی بی‌سیم (WLAN – Wireless LAN) گرفته تا انوع ساده‌یی چون هدفون‌های بی‌سیم، را شامل می‌شوند. از سوی دیگر با احتساب امواجی همچون مادون قرمز، تمامی تجهیزاتی که از امواج مادون قرمز نیز استفاده می‌کنند، مانند صفحه کلید‌ها، ماوس‌ها و برخی از گوشی‌های همراه، در این دسته‌بندی جای می‌گیرند. طبیعی‌ترین مزیت استفاده از این شبکه‌ها عدم نیاز به ساختار فیزیکی و امکان نقل و انتقال تجهیزات متصل به این‌گونه شبکه‌ها و هم‌چنین امکان ایجاد تغییر در ساختار مجازی آن‌هاست. از نظر ابعاد ساختاری، شبکه‌های بی‌سیم به سه دسته تقسیم می‌گردند : WWAN، WLAN و WPAN.

مقصود از WWAN، که مخفف Wireless WAN است، شبکه‌هایی با پوشش بی‌سیم بالاست. نمونه‌یی از این شبکه‌ها، ساختار بی‌سیم سلولی مورد استفاده در شبکه‌های تلفن همراه است. WLAN پوششی محدودتر، در حد یک ساختمان یا سازمان، و در ابعاد کوچک یک سالن یا تعدادی اتاق، را فراهم می‌کند. کاربرد شبکه‌های WPAN یا Wireless Personal Area Network برای موارد خانه‌گی است. ارتباطاتی چون Bluetooth و مادون قرمز در این دسته قرار می‌گیرند.

شبکه‌های WPAN از سوی دیگر در دسته‌ی شبکه‌های Ad Hoc نیز قرار می‌گیرند. در شبکه‌های Ad hoc، یک سخت‌افزار، به‌محض ورود به فضای تحت پوشش آن، به‌صورت پویا به شبکه اضافه می‌شود. مثالی از این نوع شبکه‌ها، Bluetooth است. در این نوع، تجهیزات مختلفی از جمله صفحه کلید، ماوس، چاپگر، کامپیوتر کیفی یا جیبی و حتی گوشی تلفن همراه، در صورت قرارگرفتن در محیط تحت پوشش، وارد شبکه شده و امکان رد و بدل داده‌ها با دیگر تجهیزات متصل به شبکه را می‌یابند. تفاوت میان شبکه‌های Ad hoc با شبکه‌های محلی بی‌سیم (WLAN) در ساختار مجازی آن‌هاست. به‌عبارت دیگر، ساختار مجازی شبکه‌های محلی بی‌سیم بر پایه‌ی طرحی ایستاست درحالی‌که شبکه‌های Ad hoc از هر نظر پویا هستند. طبیعی‌ست که در کنار مزایایی که این پویایی برای استفاده کننده‌گان فراهم می‌کند، حفظ امنیت چنین شبکه‌هایی نیز با مشکلات بسیاری همراه است. با این وجود، عملاً یکی از راه حل‌های موجود برای افزایش امنیت در این شبکه‌ها، خصوصاً در انواعی همچون Bluetooth، کاستن از شعاع پوشش سیگنال‌های شبکه است. در واقع مستقل از این حقیقت که عمل‌کرد Bluetooth بر اساس فرستنده و گیرنده‌های کم‌توان استوار است و این مزیت در کامپیوترهای جیبی برتری قابل‌توجه‌یی محسوب می‌گردد، همین کمی توان سخت‌افزار مربوطه، موجب وجود منطقه‌ی محدود تحت پوشش است که در بررسی امنیتی نیز مزیت محسوب می‌گردد. به‌عبارت دیگر این مزیت به‌همراه استفاده از کدهای رمز نه‌چندان پیچیده، تنها حربه‌های امنیتی این دسته از شبکه‌ها به‌حساب می‌آیند.

ادامه مطالب

ادامه نوشته

شبکه های کامپیوتری

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

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

شبکه کامپیوتری چیست ؟
اساسا یک شبکه کامپیوتری شامل دو یا بیش از دو کامپیوتر وابزارهای جانبی مثل چاپگرها، اسکنرها ومانند اینها هستند که بطور مستقیم بمنظور استفاده مشترک از سخت افزار ونرم افزار، منابع اطلاعاتی ابزارهای متصل ایجاده شده است توجه داشته باشید که به تمامی تجهیزات سخت افزاری ونرم افزاری موجود در شبکه منبع1(Source) گویند.
در این تشریک مساعی با توجه به نوع پیکربندی کامپیوتر ، هر کامپیوتر کاربر می تواند در آن واحد منابع خود را اعم از ابزارها وداده ها با کامپیوترهای دیگر همزمان بهره ببرد.
" دلایل استفاده از شبکه را می توان موارد ذیل عنوان کرد2" :
1 - استفاده مشترک از منابع :
استفاده مشترک از یک منبع اطلاعاتی یا امکانات جانبی رایانه ، بدون توجه به محل جغرافیایی هریک از منابع را استفاده از منابع مشترک گویند.
2 - کاهش هزینه :
متمرکز نمودن منابع واستفاده مشترک از آنها وپرهیز از پخش آنها در واحدهای مختلف واستفاده اختصاصی هر کاربر در یک سازمان کاهش هزینه را در پی خواهد داشت .
3 - قابلیت اطمینان :
این ویژگی در شبکه ها بوجود سرویس دهنده های پشتیبان در شبکه اشاره می کند ، یعنی به این معنا که می توان از منابع گوناگون اطلاعاتی وسیستم ها در شبکه نسخه های دوم وپشتیبان تهیه کرد ودر صورت عدم دسترسی به یک از منابع اطلاعاتی در شبکه " بعلت از کارافتادن سیستم " از نسخه های پشتیبان استفاده کرد. پشتیبان از سرویس دهنده ها در شبکه کارآیی،، فعالیت وآمادگی دایمی سیستم را افزایش می دهد.
4 - کاهش زمان :
یکی دیگر از اهداف ایجاد شبکه های رایانه ای ، ایجاد ارتباط قوی بین کاربران از راه دور است ؛ یعنی بدون محدودیت جغرافیایی تبادل اطلاعات وجود داشته باشد. به این ترتیب زمان تبادل اطلاعات و استفاده از منابع خود بخود کاهش می یابد.
5 - قابلیت توسعه :
یک شبکه محلی می تواند بدون تغییر در ساختار سیستم توسعه یابد وتبدیل به یک شبکه بزرگتر شود. در اینجا هزینه توسعه سیستم هزینه امکانات وتجهیزات مورد نیاز برای گسترش شبکه مد نظر است.
6 - ارتباطات:
کاربران می توانند از طریق نوآوریهای موجود مانند پست الکترونیکی ویا دیگر سیستم های اطلاع رسانی پیغام هایشان را مبادله کنند ؛ حتی امکان انتقال فایل نیز وجود دارد".
در طراحی شبکه مواردی که قبل از راه اندازی شبکه باید مد نظر قرار دهید شامل موارد ذیل هستند:
1 - اندازه سازمان
2 - سطح امنیت
3 - نوع فعالیت
4 - سطح مدیریت
5 - مقدار ترافیک
6 - بودجه
مفهوم گره " Node" وایستگاههای کاری " Work Stations "]1] :
" هرگاه شما کامپیوتری را به شبکه اضافه می کنید ، این کامپیوتر به یک ایستگاه کاری یا گره تبدیل می شود.
یک ایستگاه کاری ؛ کامپیوتری است که به شبکه الصاق شده است و در واقع اصطلاح ایستگاه کاری روش دیگری است برای اینکه بگوییم یک کامپیوتر متصل به شبکه است. یک گره چگونگی وارتباط شبکه یا ایستگاه کاری ویا هر نوع ابزار دیگری است که به شبکه متصل است وبطور ساده تر هر چه را که به شبکه متصل والحاق شده است یک گره گویند".
برای شبکه جایگاه وآدرس یک ایستگاه کاری مترادف با هویت گره اش است.

مدل های شبکه:

در یک شبکه ، یک کامپیوتر می تواند هم سرویس دهنده وهم سرویس گیرنده باشد. یک سرویس دهنده (Server) کامپیوتری است که فایل های اشتراکی وهمچنین سیستم عامل شبکه که مدیریت عملیات شبکه را بعهده دارد - را نگهداری می کند.
برای آنکه سرویس گیرنده " Client" بتواند به سرویس دهنده دسترسی پیدا کند ، ابتدا سرویس گیرنده باید اطلاعات مورد نیازش را از سرویس دهنده تقاضا کند. سپس سرویس دهنده اطلاعات در خواست شده را به سرویس گیرنده ارسال خواهد کرد.
سه مدل از شبکه هایی که مورد استفاده قرار می گیرند ، عبارتند از :
1 - شبکه نظیر به نظیر " Peer- to- Peer "
2 - شبکه مبتنی بر سرویس دهنده " Server- Based "
3 - شبکه سرویس دهنده / سرویس گیرنده " Client Server"

ادامه مطالب

ادامه نوشته

برنامه سازی شبکه

( برنامه سازی شبکه)

دانلود فایل docx

دانلود فایل pdf

دانلود فایل پاورپوینت

منبع: کتاب طراحی و پیاده سازی زبان های برنامه سازی

ترجمه مهندس جعفرنژاد قمی

تاريخچه  ++C


++C بر مبنای زبان برنامه نويسی C است. زبان C در سال 1972 در آزمايشگاه Bell Telephone نوسط Dennis Ritchie به عنوان زبان پياده سازی برای سيستم عامل يونيکس طراحی شد. مقدار زيادی از برنامه نويسی يونيکس با زبان C انجام شده است. C در نتيجه تکوين پروسه ای است که با يک زبان قديمی تر به نام BCPL شروع شده بود. زبان BCPL زبانی بر اساس زبان B بوده است که توسط Ken Thompson در آزمايشگاه Bell طراحی شده بود.

به دليل اينکه C زبان قدرتمند و انعطاف پذيری بود، سريعا گسترش پيدا کرد. برنامه نويسان شروع به استفاده از آن برای انواع برنامه ها کردند. سازمان های مختلف شروع به پياده سازی نسخه های C خود شدند. تا اينکه در سال 1983، ANSI استاندارد C را تنظيم کرد که به عنوان ANSI Standard C شناخته می شود. کامپايلرهای بعدی C از اين استاندارد پيروی کردند.

زبان برنامه نويسي ++C بر اساس زبان C توسط Bjarne Stroustrup ابداع شد. آنچه امروزه ++C ناميده مي شود از سال 1979 آغاز شده است. نسخه اوليه آن "C with classes" ناميده شد که بعدا به ++C تغيير کرد. ++C کليه ويژگی های زبان C را داراست. تفاوت بين آنها اينستکه ++C شي گرائی را پشتيبانی می کند. البته پيشرفت های ديگری هم دارد برای مثال کار با رشته ها و سروکارداشتن با خطاها در آن قوی تر است.

نسخه اول ++C ابتدا در AT&T در سال 1983 استفاده شد. اولين نسخه تجاری آن در اکتبر 1985 به بازار آمد. در سال 1998 ANSI و ISO متفقا ++C را استاندارد کردند. به همين دليل اغلب ++C محض را ANSI Standard ++C يا ISO Standard ++C می نامند.

با تکامل ++C يک کتابخانه استاندارد هم با آن شکل گرفت. اولين کتابخانه استاندارد ++C کتابخانه stream I/O بود که امکاناتی برای جايگزينی توابع قديمی C مانند printf و scanf مهيا کرد. بعد از آن مهمترين کتابخانه استاندارد کتابخانه Standard Template بود.

توجه داشته باشيد که کد C در کامپايلر ++C کامپايل می شود اما عکس آن صادق نيست و کد ++C لزوما در کامپايلر C کامپايل نمی شود.


ادامه مطالب

ادامه نوشته

تگ های پايه

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

سرتيتر

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


مثال.

This is a heading 1

This is a heading 2

This is a heading 3

تگ های فوق در مرورگر به صورت زير مشاهده می شوند.



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

نکته. موتورهای جستجو از سرتيترها برای ايندکس زدن ساختار و محتوای صفحات وب استفاده می کنند.

پاراگراف

اطلاعات اغلب به صورت پاراگرافی از متن ها هستند. هر پاراگراف بايد به طور واضح در مستند تگ بخورد. هر پاراگراف می تواند اطلاعات فرمت بندی را داشته باشد. تگ<p> يک پاراگراف را مشخص می کند

خط افقی

تگ<hr> برای ايجاد يک خط افقی استفاده می شود. خطوط افقی برای جدا کردن صفحه و سازماندهی ظاهر صفحه مفيد هستند.

لينک

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

انواع پيوند ها توسط تگ تعريف می شود. آدرس مقصد توسط صفت href مشخص می شود.


آشنائی با تگ های HTML

طراحی صفحات وب نيازمند آشنائی با تگ های HTML می باشد. در اين درس با HTML و نحوه طراحی سايت های وب آشنا خواهيد شد.


مستندات (Hyper Text Markup Language) HTML، يا به عبارت ديگر صفحات وب، فايل های متنی هستند که از عناصر HTML ساخته شده اند. HTML در حقيقت يک زبان نشانه گذاری (markup language) است که برای توصيف ساختار منطقی يک مستند استفاده می شود.

برازر يا مرورگر وب (web browser) برای خواندن مستندات HTML و نمايش آنها به صورت صفحات وب مورد استفاده قرار می گيرند.

به کمک HTML يک صفحه وب به صورتی طراحی می شود که توسط يک مرورگر وب روی هر ماشين يا سيستم عاملی خوانده و تفسير شود به عبارت ديگر مستقل از ماشين (device independent) باشد.

عناصر HTML با استفاده از تگ های HTML توصيف می شوند. وظيفه اصلی تگ ها تعيين چگونگی نمايش اطلاعات است. به اين وسيله نحوه نمايش يک صفحه وب به صورت مستتر در آن قرار می گيرد. مرورگرها با کمک تگ ها به نمايش صفحات وب می پردازند.


هر صفحه وب از مجموعه ای عناصر مانند سرتيتر، پاراگراف، ليست، تصوير و غيره تشکيل شده است. هر عنصر توسط اطلاعات کنترلی به نام تگ (tag) احاطه می شود. هر تگ بين دو کاراکتر < و > قرار می گيرد.

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

تگ ها معمولا به صورت جفت هستند مانند و . تگ اول را تگ شروع (start tag) و تگ دوم را تگ پايان (end tag) می نامند. تگ های پايانی شامل يک علامت اسلش (/) هم هستند. به متن بين اين تگ ها عنصر محتوايی (element content) گفته می شود.


مثال. متن زير به صورت سرتيتر تعيين می شود.

Text in H1 style

مثال. تاکيد روی متن.

this text is not bold
this text is bold
this text is not bold


تگ های HTML حساس به متن (case-insensitive) نيستند.


مثال. هر دو تگ زير توسط برازر درک می شود.

this text is bold
this text is not
this text is bold


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


مثال. نحوه درست و نادرست تودرتو کردن تگ ها.

صحيح
this text is bolded and centered correctly
غلط
this text is bolded and centered incorrectly

صفت خاصه تگ

تگ ها علاوه بر تعيين فرمت يک عنصر HTML می توانند ويژگی های آن فرمت را هم مشخص کنند. ويژگی های يک تگ توسط صفات خاصه (attribute) آن مشخص می شود. صفات اطلاعات اضافه تری درباره عنصر می دهند و هميشه در تگ شروع قرار می گيرند.

صفت هميشه به صورت جفت نام و مقدار می آيد که به صورت زير نوشته می شوند:

name = "value"


مثال. تگ زير يک شيوه سرتيتر را راست چين می کند.


this text has a heading
level two style and is
aligned to the left


مقادير صفت هميشه در علامت کوتيشن (") قرار می گيرند. تک کوتيشن (') هم می تواند گذاشته شود اما معمولا از دوتا کوتيشن استفاده می شود. در مواردی که مقدار صفت خودش دارای کوتيشن است نياز به استفاده از تک کوتيشن است.


نکته. ضرورتی نيست مقادير خصوصيات را درون گيومه قرار دهيد مگر اينکه مقدار شامل کاراکتر space باشد.
نکته. بعد يا قبل از علامت مساوی گذاشتن فضای خالی الزامی نيست.
نکته. تنها تگ شروع دارای صفت خاصه است و اطلاعات خصوصيات در تگ پايانی ذکر نمی شود.


هشت تگ وجود دارند که بايد در هر مستند HTML يا صفحه وب ظاهر شوند. اين هشت تگ با ترتيب زير در صفحه وب قرار می گيرند.

web Page Content

کل مستند توسط تگ و احاطه می شود. هر صفحه وب به دو قسمت سر و بدنه تقسيم می شود که توسط تگ های … و … مشخص می شوند.

بخش head اطلاعات کنترلی که توسط مرورگرها و سرورها مورداستفاده قرار می گيرند را دربر می گيرد. اين اطلاعات در مرورگر نمايش داده نمی شوند.

کليه صفحات وب دارای يک عنوان (title) هستند که در بالای پنجره مرورگر نمايش داده می شود. عنوان توسط موتورهای جستجو هم مورد استفاده قرار می گيرد.

بجز بخش عنوان که اجباری است تگ های ديگر در قسمت head ممکن هرگز توسط افراد عادی استفاده نشود.

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

يک صفحه وب را مشابه هر فايل متنی ديگر می توان در يک اديتور متنی ساده مانند Notepad توليد کرد ولی حتما بايد با پسوند htm يا html ذخيره شود.

مستند فوق در مرورگر به صورت زير ديده می شود:

Browser Title

نکته. اديتور های قديم اجازه تنها سه کاراکتر را برای پسوند می داد در اديتور های جديد بهتر است از پسوند .html استفاه شود.
نکته. فايل HTML را می توان بسادگی با استفاده از اديتورهائی مانند FrontPage يا DreamWeaver ايجاد کرد. اما اگر می خواهيد يک طراح وب حرفه ای شويد توصيه می شود که ابتدا از يک اديتور متنی ساده برای يادگيری HTML استفاده کنيد.
نکته. اگر فايل HTML را اصلاح کرديد ممکن است در برازر تغييرات مشاهده نشود چون برازر صفحات شما را cache می کند و مجدد نمی خواند. از دکمه Refresh/Reload برای بروز کردن صفحه وب خود استفاده کنيد.
نکته. می توانيد همه نوع مرورگری را برای ديدن صفحه خود انتخاب کنيد نظير Internet Explorer، Mozilla، Netscape يا Opera. البته بعضی مثال های پيشرفته احتياج به آخرين نسخه مرورگر دارد.
نکته. از منوی View در برازر خود گزينه Source يا Page Source را انتخاب نمائيد تا کد منبع يک صفحه وب را ببينيد.

ادامه مطالب
ادامه نوشته

برنامه سازی تحت وب

سلام

فایل پروژه مربوط به درس برنامه سازی تحت وب آقای مهندس مرتضوی را می توانید از لینک زیر دانلود نمایید

 

http://www.mediafire.com/download.php?3gp7u2erwkgddkx

 

سيستم هاي عدد نويسي

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

سيستم هاي عدد نويسي
سيستم عددی اعشاری
سيستم عددی دودوئی
سيستم عددی هگز


سيستم هاي عدد نويسي

در کارهای روزمره از سيستم عددی اعشاری يا مبنای 10 استفاده می شود. اين سيستم برای کامپيوتر مناسب نيست و برای سادگی سخت افزار، کليه اطلاعات به شکل بيت های روشن و خاموش رمز می شوند. بنابراين سيستم عددی باينری که تنها شامل ارقام صفر و يک است برای اين منظور بسيار مناسب است. عدد 1 (on) مشخص کننده +5 ولت و عدد صفر (off) مشخص کننده 0.5 ولت است.

برای تعيين مبنای عدد يک حرف کوچک در انتهای آن قرار می گيرد. مثاال 45h به معنی عدد 45 در مبنای شانزده است. و 11010011b يعنی اين عدد در مبنای 2 است. اين روشی است که اسمبلر اعداد را در برنامه های اسمبلی تشخيص می دهد.


سيستم عددی اعشاری (Decimal)

اعداد اعشاری يا مبنای 10 از 10 رقم (0 تا 9) تشکيل شده اند. هر رقم به توانی از 10 مرتبط است که نشان دهنده ارزش مکانی رقم در عدد است.

234 = 2 × 102 + 3 × 101 + 4 × 100
     = 200 + 30 + 4

سيستم عددی دودوئي (binary)

سيستم باينری بر اساس تنها دو وضعيت است: روشن (1) يا خاموش (0)، بنابراين درمبنای 2 است. يک رقم باينری يک بيت ناميده می شود (در واقع کلمه Bit مخفف Binary Digit است).


تبديل باينری به اعشاری

مقدار يک عدد باينری بر اساس بيت های 1 و ارزش مکانی آنها بدست می آيد. ارزش مکانی هر بيت توانی از 2 است. برای محاسبه مقدار اعشاری يک عدد باينری، کافی است هر رقم از راست به چپ در ارزش مکانی اش ضرب شده سپس کليه اعداد با هم جمع شوند.


مثال 1. تبديل عدد 11001b به مبنای 10.

Binary: 11001
Decimal: 1 × 2^4 + 1 × 2^3 + 0 × 2^2 + 0 × 2^1 + 1 × 2^0
     = 16 + 8 + 0 + 0 + 1
     = 25

مثال 2. تبديل عدد باينری 10010000 به مبنای 10.

Binary: 1 0 0 1 0 0 0 0
Decimal: 1×2^7 + 0×2^6 + 0×2^5 + 1×2^4 + 0×2^3 + 0×2^2 + 0×2^1 + 0×2^0
     =128 + 0 + 0 + 16 + 0 + 0 + 0 + 0
     =144

کاراکتر ^ نشان دهنده عمل توان است.

 

ادامه مطالب
ادامه نوشته

زبان اسمبلی

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

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


مقايسه زبان اسمبلی و زبان های سطح بالا

دو دسته اصلی زبان های برنامه نويسی عبارتند از:

1. زبان های سطح بالا
    • مانند C++، Pascal، Java و Visual Basic.
2. زبان های سطح پايين
    • زبان ماشين
    • زبان اسمبلی

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

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


زبان ماشين

هر خانواده ای از پردازنده ها دارای مجموعه ای از دستورالعمل های منحصر بفرد است که زبان ماشين ناميده می شود. مجموعه دستورالعمل های يک پردازنده (Instruction Set) مجموعه ای از اعداد دودوئی است که ماشين می تواند آنها را درک و اجرا کند. هر نوع CPU تنها زبان مخصوص خود را درک می کند و دارای مفسری بنام microprogram است که دستورات زبان ماشين را به سيگنال های سخت افزاری تفسير و ترجمه می کند.


مثال 1. اعداد دودئی زير يک دستورالعمل ماشين اينتل است که عدد 5 را در ثبات AL قرار می دهد.

1011 0000 0000 0101

مثال 2. دستور زير ثبات های EAX و EBX را جمع کرده و حاصل را در ثبات EAX ذخيره کند.

0000 0011 1100 0011


هر دستورالعمل زبان ماشين شامل کد منحصر بفردی دارد که کدعملياتی (Operation Code) يا Opcode ناميده می شود. Opcode هميشه در ابتدای دستورالعمل قرار می گيرد. اکثر دستورات شامل داده هم هستند که توسط دستورالعمل استفاده می شود و عملوند (Operand) نام دارند.

کاملا واضح است که برنامه نويسی به زبان ماشين بسيار دشوار است. درک معنی دستورالعمل های کدشده زبان ماشين برای انسان کار خسته کننده ای است. خوشبختانه برای هر خانواده از پردازنده ها يک زبان اسمبلی ارائه می شود که دستورالعمل های زبان ماشين را به صورت نمادی و قابل فهم تر نشان می دهند.


زبان اسمبلی چيست؟

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

يک برنامه اسمبلی مانند برنامه های سطح بالا به صورت text نوشته می شود. هر دستورالعمل زبان اسمبلی يک نمايش نمادی (يک کد الفبائی کوتاه) از يک دستورالعمل ماشين است، که به اين صورت معنی دستور واضح تر از کد زبان ماشين می شود.


مثال 1. کلمه mov نمادی برای عمل انتقال داده است. دستور اسمبلی زير جمع ثبات AL و عدد 5 را نشان می دهد.

mov AL,5

مثال 2. کلمه add يک نماد برای دستورالعمل جمع است. دستور جمع ثبات های EAX و EBX به صورت زير نوشته می شود.

add EAX, EBX

مشاهده می شود که به اينصورت درک معنی دستور بسيار روشن تر از کد ماشين معادل است.

مثال 3. دستوری که عملوندی ندارد و فلگ carry را صفر می کند.

clc

مثال 4. دستور زير عدد يک را به ثبات AX اضافه می کند.

inc AX

مثال 5. دستور جمع مقدار متغير Count با محتوای ثبات به صورت زير است.

mov AX,Count


هر دستور اسمبلی می تواند همراه با ليستی از عملوند ها باشد. فرم کلی دستورالعمل های اسمبلی به صورت زير است:

mnemonic operand(s)

عملوند دستورالعمل می تواند از انواع زير باشد :

• ثبات. عملوندهائی که مستقيما به محتوای ثبات های پردازنده مراجعه می کنند. مانند ثبات AL در مثال 1.
• متغير يا حافظه ای. عملوندهائی که به داده ای در حافظه اشاره دارند. مانند متغير Count در مثال 5.
• فوری. اين عملوندها مقادير ثابتی هستند که در داخل دستورالعمل قرار می گيرند. در مثال 1عدد 5 يک عملوند فوری است.
• ضمنی. عملوندهائی که صريحا در دستور ذکر نمی شوند. در مثال 4عدد يک با ثبات AL جمع می شود. عدد يک عملود ضمنی است.


اسمبلر

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

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

محبوب ترين اسمبلرها برای پردازنده ها ی خانواده اينتل عبارتند از:

• ماکرواسمبلر Microsoft’s Assembler MASM
• توربو اسمبلر Borland’s Assembler TASM
• و ASM86

برنامه ديگری که برای رديابی اجرای برنامه و بررسی محتوای حافظه کاربرد دارد ديباگر(Debugger) است که استفاده از آن بهترين راه برای يادگيری برنامه های اسمبلی و روند اجرای آنهاست. ديباگر برنامه ای است که اجازه بررسی ثبات ها و حافظه را بعد از اجرای هر دستور برنامه می دهد و خصوصا برای تست برنامه های اسمبلی مفيد است.

برنامه Debug از جمله ساده ترين ديباگرهاست که توسط MS-DOS عرضه شده است. CodeView همراه با ميکروسافت اسمبلر می آيد که اجازه می دهد کد منبع برنامه ها، بلاک های حافظه و ثبات ها را مشاهده کنيد. Turbo Debugger بورلند هم به همين صورت است.

يک برنامه ديگر همراه با اسمبلر برنامه لينکر(Linker) است که فايل های مجزای توليد شده توسط اسمبلر يا کامپايلر را به يک برنامه اجرائی تبديل می کند. برنامه Link که همراه فايل های MS-DOS می باشد يکی از متداولترين برنامه های لينکر می باشد.