قید کلید خارجی (Foreign Key Constraint

همانطوری که از عنوان پیداست، کلید خارجی یک نوع قید (constraint) است که اجازه ی درج هر مقداری را در ستون (یا ستونها) مورد نظر نمی دهد. قید کلید خارجی برای پیاده سازی Referential Integrity استفاده می شود که جزئی از Data Integrity هستند.

داده های موجودیت های مختلف در جداول مختلفی ذخیره می شوند، بنابراین برای دستیابی به اطلاعات نیاز هست که بین جداول پیمایش کنیم، مدل رابطه ای (Relational Model) برای این منظور یک مکانیزمی را در اختیار گذاشته است که کلید خارجی (Foreign Key) نامیده می شود.

یک Foreign Key دارای خصیصه ها و ویژگی های زیر است:

  • این یک ستون (یا چند ستون) از یک جدول است که به مقدار موجود در جدول دیگر اشاره و ارجاع می کند.

  • جدولی که دارای کلید خارجی است، جدول فرزند (child) یا referencing گفته می شود. و به جدول دیگر جدول والد (parent) یا referenced گفته می شود.

  • یک کلید خارجی یک ارتباط مستقیم با کلید اصلی یا کلید کاندید (unique) جدول parent را تشکیل می دهد. بنابراین مقادیر FK محدود به مقادیر درج شده در parent-key می باشد. این قید کلید خارجی، Referential Integrity نامیده می شود. این قیود را با کمک دستورات تعریفی (Declarative) ایجاد می کنیم. که به اصطلاح به آنها Declarative Referential Integrity یا DRI به شکل خلاصه گفته می شود. (برای جامعیت داده ها بویژه Referential Integrity نرم افزار SQL Server دو مکانیزم در اختیار ما قرار داده است یکی تعریفی و دیگری رویه ای، رویه ای مثل trigger)

  • data type کلید خارجی بایستی با data type کلید parent یکسان باشد. یا اینکه data type کلید خارجی قابل تبدیل (convertible) به نوع داده parent-key باشد.

  • برخلاف Primary Key ها که نمی توانند Nullable باشند، کلیدهای خارجی می توانند Null بپذیرند. البته بدیهی است که باید ستون کلید خارجی Allow Null باشد.

  • Foreign Key ممکن است Primary Key نیز باشد. بطور مثال در یک ارتباط یک به یک، در یکی از جداول کلید اصلی، کلید خارجی نیز هست.

  • در بعضی از سناریو ها ممکن است که parent-key یک foreign key در همان جدول باشد. یعنی کلید خارجی به کلید اصلی همان جدول ارجاع می کند. که به اصطلاح به آن self-referncing گفته میشود. یک طراحی معروفی که می توانیم مثال بزنیم، جدول کارمندان است.

  • هدف از ایجاد کلید خارجی جلوگیری از درج رکورد های یتیم (Orphan) است. یعنی اگر قیدی وجود نداشته باشد می توانیم در جدول Child مقادیری را درج کنیم که در جدول Parent هنوز درج نشده اند. مثلا برای فردی انتخاب واحد کنیم که جزء دانشجویان نبوده است. این موضوع باعث زیر سوال رفتن جامعیت داده ها شده و در تمام موارد مشکل ساز خواهد بود.

به دو تصویر زیر دقت کنید. در تصاویر زیر parent table و child table و primary key و foreign key کاملا مشخص است.
(این تصویر همراه با برخی از مطالب دیگر را از کتابی به نام
Visual Quikstart Quide SQL Third Edition By Chris Fehily انتخاب کرده ام. اگر علاقه مند هستین که SQL را سریع، کامل، زیبا و مفهومی یاد بگیرید و آموخته هایتان را در نرم افزارهای تجاری مدیریت بانک اطلاعاتی چون SQL Server ، Oracle، Access و IBM DB2 و نرم افراهای open source ای چون MySQL بکار بگیرین این کتاب را حتما بخوانید!)

تعریف کلید خارجی

برای تعریف و ایجاد کلید خارجی دو حالت وجود دارد. یکی اینکه در زمان طراحی جدول این کلید تعریف شود و دیگری بعد از تعریف جدول بخواهیم کلید خارجی برای آن ایجاد کنیم. توجه داشته باشید که از ابزارهای کمکی طراحی بانک استفاده نخواهم کرد. تنها با تکیه بر دستورات DDL اینکار صورت خواهد گرفت.
حالت اول: فرض کنید یک جدول به نام Suppliers داریم که لیست تولید کنندگان در آن نگهداری می شوند. جدول دیگری به نام Parts محصولات را دربرگرفته است و جدول سومی که مشخص می کند کدام بخش توسط کدام تولید کننده آماده شده است.
به دستورات تعریف جداول زیر دقت کنید. کلید خارجی یک نوع قید است، قیود را می توانیم به دو شکل تعریف کنیم "قید ستونی یا Column Constraint" و "قید جدولی یا Table Constraint". در بعضی از مواقع ما ناچاریم که از قید نوع دوم یعنی قید جدولی استفاده کنیم. در جدول اتصال (جدول سوم) ترکیب دو ستون sno و pno کلید اصلی را تشکیل می دهند در اینجا بایستی از Table Constraint استفاده شود.

CREATE TABLE Suppliers
(sno VARCHAR(10) NOT NULL PRIMARY KEY,
 sname VARCHAR(50) NOT NULL);
 
CREATE TABLE Parts
(pno VARCHAR(10) NOT NULL PRIMARY KEY,
 pname VARCHAR(50) NOT NULL);

--=====  Column Constraint =======
CREATE TABLE supparts
(sno VARCHAR(10) NOT NULL
--Referential Integrity
  CONSTRAINT fk_sno
  REFERENCES suppliers (sno),
 pno VARCHAR(10) NOT NULL
--Referential Integrity
  CONSTRAINT fk_pno
  REFERENCES parts (pno),
 PRIMARY KEY (sno, pno));

 
--=====  Table Constraint =======
CREATE TABLE supparts
(sno VARCHAR(10) NOT NULL,
 pno VARCHAR(10) NOT NULL,
--Referential Integrity
CONSTRAINT fk_sno
FOREIGN KEY (sno)
REFERENCES suppliers (sno),

CONSTRAINT fk_pno
FOREIGN KEY (pno)
REFERENCES parts (pno),

PRIMARY KEY (sno, pno));

قسمتی که مربوط به نام قید می باشد یعنی CONSTRAINT const_name اختیاری هست. به این معنا که می توانید از آن صرف نظر کرده و SQL Server خود وظیفه ی نام گذاری ها را به عهده بگیرد. همانطوری که مشاهده می کنید در قید نوع ستونی ما نیاز به ذکر ماده ی FOREIGN KEY نداریم ولی در نوع جدولی نوشتن این ماده الزامی است.

حالت دوم: در این حالت ما بعد از ایجاد جدول با کمک دستور ALTER TABLE کلید های خارجی را برای ستون هایی که از قبل ایجاد شده اند تعریف می کنیم. نکته ای که وجود دارد این است که اگر داده هایی در جدول Child درج شده باشند که یتیم باشند (یعنی در جدول Parent وجود نداشته باشند) با خطای Conflict مواجه خواهید شد. (البته می توانید از امکان WITH NOCHECK استفاده کنید)

CREATE TABLE supparts
(sno VARCHAR(10) NOT NULL,
 pno VARCHAR(10) NOT NULL,
PRIMARY KEY (sno, pno)) ;

ALTER TABLE supparts
ADD CONSTRAINT fk_sno
FOREIGN KEY (sno)
REFERENCES suppliers (sno) ;

ALTER TABLE supparts
ADD CONSTRAINT fk_pno
FOREIGN KEY (pno)
REFERENCES parts (pno) ;

دیاگرامی که بعد از تعریف جداول و قیود بدست می آید به شکل زیر است:

ارتباطات بین جداول (relationships)

دو جدول به چند طریق می توانند به همدیگر Link شوند.

  • one-to-one

  • one-to-many

  • many-to-many

یک به یک: در این نوع از ارتباط هر سطر از جدول A تنها می تواند با یک سطر از جدول B جور (Match) شود. و بالعکس.

از این نوع ارتباط عموما برای موارد زیر استفاده می شود.

  • تفکیک کردن اطلاعات سری برای دلایل امنیتی

  • سرعت بخشیدن به Query با تجزیه کردن جدول

  • جلوگیری کردن از درج مقادیر NULL در جدول

در مورد سوم زمانی که نمونه های (instances) محدودی از یک موجودیت (entity) دارای مقدار برای برخی خصیصه ها (attributes) هستند مورد استفاده قرار می گیرد. بطور مثال فرض کنید در حال طراحی بانک برای یک مدرسه هستیم. در این مدرسه یک تیم فوتبال وجود دارد که تنها تعداد محدودی از دانش آموزان عضو آن هستند. برای هر فوتبالیست ما مشخصاتی چون "شماره پیراهن"، "پست"، "تعداد کل بازیها" و ... را نیاز داریم. حالا اگر ما این خصیصه های مربوط به فوتبالیست ها را داخل جدول "دانش آموزان" که مربوط به مشخصات کلی یک دانش آموز مدرسه ای است ذخیره کنیم قطعا این ستون ها برای چند بازی کن مقدار خواهد داشت و برای بقیه دانش آموزان مقدار NULL. در این حالت ما جدول را به دو جدول می شکنیم و یک ارتباط یک به یک بین این دو بوجود می آوریم.

به این تصویر دقت کنید که یک ارتباط یک به یک را از طریق یک نمودار و جدول شرح می دهد:

در این نوع، ارتباط بین primary-key دو جدول ایجاد شده است. بطور مثال کلید اصلی جدول royalties یک کلید خارجی نیز هست که به کلید اولیه جدول titles ارجاع داده شده است.

یک به چند: در این رابطه یک سطر در جدول A می تواند با چندین (صفر یا بیشتر) سطر از جدول B جفت و جور (Match) شود (و هر سطر از جدول B تنها با یک سطر از جدول A جور می شود). مثلا جدول Customers با جدول Orders یک ارتباط یک به چند دارند. به این معنا که یک مشتری می تواند صفر، یک یا هر چند تا سفارش در جدول سفارشات داشته باشد. یا اینکه هر انتشاراتی می تواند چندین کتاب انتشار دهد ولی هر کتاب توسط یک انتشارات به انتشار می رسد. برای مشاهده ی چنین ارتباطی به اولین نمودار و جدول در این مقاله رجوع کنید.

چند به چند: در این نوع ارتباط هر سطر از جدول A می تواند چندین سطر Match شده در جدول B داشته باشد و هر سطر از جدول B نیز می تواند با هر چند سطر از جدول A جور شود. مثلا در آمار پرواز، یک هواپیما توسط چندین خلبان به پرواز درامده و هر خلبان می تواند چندین هواپیما را به پرواز در آورد. در نتیجه یک سطر از جدول "هواپیما" می تواند با چندین سطر از جدول "خلبان" جفت و جور شود و با العکس. برای پیاده سازی این نوع ارتباط نیاز به یک جدول واسط (Junction Table) داریم. که در این جدول واسط دو کلید خارجی که به دو جدول اصلی ارجاع داده شده اند وجود دارد و ترکیب این دو ستون کلید اصلی را تشکیل می دهند (البته نه در تمام سناریوها).

مقادير قابل قبول انواع داده

مقادير قابل قبول انواع داده
مقادير عددی
مقادير اعداد صحيح از 63^2- تا1-63^2 bight
مقادير اعداد صحيح از 31^2- تا 1-31^2
Int
مقادير اعداد صحيح از 15^2- تا 1-15^2
Smallint
مقادير اعداد صحيح از 0 تا 255
Tinyint
مقادير اعداد صحيح با ارزش 0 و 1
bit
مقادير مقياس با دقت ثابت شده از 1+38^10 تا 1-38^10
decimal
مقادير
Decimal همچنين مي تواند تعريف شود به صورتNumeric ، دامنه مقادير يكسان مي باشد.
مقادير
Monetary (مالي) از 63^2- تا 1-63^2 (مقادير Money تا 0.0001 از هرواحد دقت دارد). Money
مقادير
Monetary از 3648 . 748 . 214- تا 3647 . 748 . 214 مي باشد Smallmoney
(مقادير
Small Monetary تا 0001/0 واحد دقيق مي باشد).
مقادير صحيح شناور (متغير) از 308+
E1.79- تا 308+E1.79 (مقادير Float فقط تقريبي مي باشد) Float
مقادير صحيح شناور متغير از 38+
E3.40- تا 38+E3.40 مي باشند (مقادير real فقط تقريبي مي باشد) real
مقادير تاريخ و زمان از 1.1753 ژانويه تا 31.9999 دسامبر مي باشد
datetime
(مقادير
Date Time تا 3 هزارم ثانيه يا 3.33 ميلي ثانيه دقت دارد) Smalldatedtime
مقادير تاريخ و زمان از 1 ژانويه و 1900 تا 6 ژوئن و 2079 مي باشد (مقادير
Smalldatetime تا 1 دقيقه دقت دارند)
مقادير کاراکتری
مقادير حرفي كدگذاري نشده با طول ثابت با طول حداكثر 8000 حرف مي باشد.
Char
مقادير حرفي كدگذاري نشده با طول متغير با طول حداكثر 8000 حرف مي باشد.
Varchar
داده كدگذاري شده با طول متغير با طول حداكثر 1-31^2 (647 . 741 . 073 . 1) حرف مي باشد.
Text
داده كدگذاري شده با طول ثابت با طول حداكثر 4000 حرف مي باشد
Nchar
داده كدگذاري نشده با طول متغير با حداكثر طول 4000 حرف مي باشد
nvarchar
داده كدگذاري شده با طول متغير با حداكثر طول 1-30^2 (823 . 741 . 073 . 1) حرف مي باشد
ntext
مقادير باينری (1 و 0)
داده باينري با طول ثابت با حداكثر طول 8000 بايت مي باشد
binary
داده باينري با طول متغير با حداكثر طول 8000 بايت مي باشد
Varbinary
داده باينري با طول متغير با حداكثر طول 1-31^2 (647 . 783 . 147 . 2) بايت مي باشد
Image
مقادير ديگر

اولین لپ تاپ مقاوم نظامی تولید شد

اولین لپ تاپ مقاوم نظامی تولید شد

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

 

 

 

 

اولین لپ تاپ مقاوم نظامی تولید شد

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

لپ تاپ Latitude E6400 XFR دل توانایی مقاومت در برابر جریانهای شدید باد و باران را با شدتی برابر 112 کیلومتر بر ساعت داشته و دامنه عملیاتی حرارتی آن از منفی 20 درجه تا 145 درجه فارنهایت اعلام شده است. در عین حال این لپ تاپ در ارتفاع 4 هزار و 572 متری می تواند به مدت 1 ساعت مورد استفاده قرار گیرد.

حداکثر ارتفاع ایمنی که در صورت سقوط آسیبی به لپ تاپ وارد نخواهد آورد 1.21 متر در زمان خاموشی و 91 سانتیمتر در زمان روشن بودن خواهد بود. نمایشگر لپ تاپ نیز به دلیل پوشش داده شدن توسط لایه ای مقاوم تحمل ضربه و لرزش شدید را خواهد داشت.

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

این محصول اولین نمونه از لپ تاپ های مقاوم است که توسط شرکت دل و در رقابت با شرکتهای پاناسونیک و لنوو ارائه شده است. این شرکت که عنوان دومین شرکت بزرگ تولید کننده لپ تاپ در جهان را به خود اختصاص داده است تاکنون تنها نمونه ای از لپ تاپ های نیمه مقاوم- Latitude E6400 ATG- را ارائه کرده بود.

بر اساس گزارش پی سی ورلد، Latitude E6400 XFR به پردازشگر دو هسته ای اینتل، نمایشگر 14 اینچی، کارت گرافیک تحت پوشش رم 8 گیگابایتی، حافظه 120 گیگابایتی، ویندوز ویستا ، سیستم وای- فای، جی پی اس مجهز است.

این لپ تاپ که وزنی بالغ بر 3.87 کیلوگرم دارد با قیمت 4 هزار و 300 دلار در ایالات متحده و برخی از کشورهای اروپایی و کانادا در دسترس کاربران قرار خواهد گرفت.

بهترین روش عکاسی با موبایل

بهترین روش عکاسی با موبایل

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

 

 

 

 

 

 

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

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

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

 

قوانین عکاسی را از یاد نبرید

 

به گفته سایت lifehacker پس انجام پرس و جو  و تحقیقات فراوان، بارزترین روش های عکاسی بصورت زیر بوده است:

 

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

1. استفاده از نور

 

در مرحله اول برای عکس براداری با هر دوربینی، این مهم است که سوژه مورد نظر دارای موقعیت تابش مناسب نور باشد و خود نیز مانع از تابش نور نباشیم.

در مورد دوربین گوشی ها این امر مهم تر است و باید بیشتر مورد توجه قرار گیرد(مگر شما بخواهید عکسی مانند یک نقاشی سیاه قلم داشته باشید!) 

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

2. لنز دوربین را تمیز کنید

 

 

 

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

در صورتی که لنز دوربین کثیف باشد، هیچکدام از راهنمایی های زیر برای یک عکس خوب و با کیفیت کارساز نخواهد بود.

احتمالا به دفعات این نکته را شنیده اید. اما هرچه از بی فایده بودن این ویژگی به صحبت بپردازیم، اغراق نکرده ایم. برای عکس برداری از فاصله کمتر، راه حل های مناسب تری موجود می باشد.

3. از بزرگنمایی دیجیتال بپرهیزید

 

 

 

به عنوان مثال می توانید بعد از عکس برداری، تصویر را (Crop) کوچک تر کنید . در واقع این همان کار Digital Zoom را انجام می دهد و کیفیت عکس را کاهش می دهد. بنابراین بهتر است خود به سوژه عکس نزدیک شویم.

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

3. مراقب نور فلش باشید

 

 

 

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

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

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

4. ارتقاء برنامه های کاربردی دوربین

 

 

 

شما می توانید از نرم افزار های جانبی

مانند: CameraZOOM FX برای سیستم عامل آندروید و یا +Camera برای iPhon  استفاده کنید نرم افزارهای جانبی که امروزه کم هم نیستند می توانند سطح عملکرد شما را به بالا می برند.

5. وضوح تصویر را کنترل کنید

 

اکثر برنامه های کاربردی دوربین ها این امکان را می دهند که شما تصاویری با کیفیت متفاوت بگیرید.

تصاویر با کیفیت پایین، برای ارسال سریع بصورت MMs بدلیل حجم کم، مناسب می باشد همچنین سریعتر در گوشی ذخیره می شود. اما اگر شما می خواهید عکسی بگیرید که قصد ارسال آن را ندارید، بهتر است در حالت بهترین کیفیت باشد.

توجه داشته باشید بعضی از گوشی ها نیز بعد از ارسال عکس به Email آن را تغییر اندازه و کیفیت می دهند.

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

6. روشن  کردن گزینه Stable Shot

 

 

 

7. Withe Balanceیکی از مواردی که شما باید به آن توجه داشته باشید، Withe Balance تصویر است.

 

 

 

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

اولین کاری که شما برای جلوگیری از این کار لازم انجام دهید:

بعد از باز کردن درب دوربین سریعا عکس نگیرید! بگذارید زمانی در حدود ۵ ثانیه صرف منطبق  شدن لنز دوربین با نور محیط شود.

اما اگر بعداز زمان سپری شده، هنوز تصویر مات به نظر می رسید، در قسمت تنظیمات دوربین گزینه مناسب را به صورت دستی تنظیم کنید. گزینه های نور در روز (daylight)، هوای ابری (cloudy) و یا فلورسنت (fluorescent) می باشند.

یکی از بزرگترین مشکلات دوربین گوشی ها، در تشخیش مقدار نوردهی مناسب بخصوص در زمان عکاسی در نور کم می باشد.ویژگی اکسپوژر (Exposur) یک گزینه مناسب برای تنظیم دوربین در نور کم می باشد.

8. میزان نور ورودی به لنز

 

 

 

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

تصاویر بر روی صفحه مانیتور کامپیوتر بهتر نمایان می‌شود و می توان در مورد آنها نظر داد و در صورت نیاز آنها را اصلاح نمود. برای اصلاح لزوما نیاز به کار با فتوشاپ بصورت حرفه‌ای نیست و با نرم‌افزارهای مختلف قابل انجام است. Gimp ، Paint.net، و یا حتی iPhoto کار را آسان کرده اند.

9. ویرایش عکس ها

 

 

 

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

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

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

10. Tweak the Color Levels

طراحی یک وب سایت فوق العاده

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

 

 

 

 

طراحی یک وب‌سایت فوق‌ العاده

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

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

 

 

طراحی یک وب‌سایت فوق‌ العاده

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

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

 

 

طراحی یک وب‌سایت فوق‌ العاده

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

اگر کمی ‌وقت بگذارید براحتی می ‌توانید چگونگی تعامل کاربر با منو یا لینک‌ های صفحه‌ تان را متصور شوید. اگر 3 ساعت به طور پیاپی روی یک طرح کار کنید، این فرآیند می ‌تواند سخت و کسل کننده باشد. بنابراین به خود استراحت بدهید و کمی‌ راه بروید حتی اگر 15 دقیقه باشد.

 

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

انجام طراحی برای مقایسه

 

 

 

طراحی یک وب‌سایت فوق‌ العاده

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

 

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

فضا گذاری

 

 

 

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

طراحی یک وب‌سایت فوق‌ العاده

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

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

مدل رابطه ای

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

اصطلاحات
کلید
خواص مدل
نرمالسازی
تبديل نمودار ER به مدل رابطه ای


مدل رابطه ای (relational model) در سال 1970 توسط ریاضیدانی به نام Edgar.F.Codd طراحی شد. مدل داده پيشنهادی یک مدل منطقی بر مبنای ریاضیات است که از منطق گزاره ها و تئوری مجموعه ها به عنوان زیربنا استفاده شده است.

يک پايگاه داده رابطه ای (relational database) پايگاه داده ای است که با مدل رابطه ای مطابقت داشته باشد و به صورت مجموعه ای از جدول هائی که از ديد کاربر قابل درک هستند ديده می شود.

یک سیستم مدیریت پایگاه داده رابطه ای (RDBMS) سيستمی است که داده را طبق مدل رابطه ای مديريت می کند.

RDBMS ها معمول ترین نوع سيستم های مديريتی پایگاه داده امروزی هستند (نظير Microsoft SQL Server، Microsoft Access، Oracle، MySQL، Sybase، DB2 و Informix).

اکثر RDBMS ها SQL را به عنوان زبان پرس و جوی خود بکار می برند.


اصطلاحات

جدول (رابطه)

پایگاه داده رابطه ای مجموعه ای از آرايه های دو بعدی است که جداول (table) يا رابطه (relation) ناميده می شوند. جدول مهمترین ساختار داده ای در سیستم پايگاه داده رابطه ای است.

هر جدول (یا رابطه) داده ها را به صورت سطر ها و ستون ها شکل می دهد. هر سطر شامل یک نمونه منحصر بفرد داده و مربوط به یک نمونه موجودیت است. ستون ها صفات خاصه آن موجودیت را بیان می کنند.

ترتيب سطرها و ستون ها در جداول اهميت ندارد.

تعداد ستون های هر جدول را درجه (Degree) و تعداد سطرهای آن را کاردینالیتی(Cardinality) می نامند.

تاپل (رکورد)

یک سطر از يک رابطه را یک تاپل (tuple) می نامند. هر تاپل در جدول نمایانگر یك نمونه از یك موجودیت است که ركورد هم گفته می شود.

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


مثال. رابطه Customer را درنظر بگيريد.

Customer Relation Example

فيلد (صفت خاصه)

هر ستون در جدول نشان دهنده یك صفت خاصه از یك نوع موجودیت است که فیلد (field) نامیده می شود. در هر فيلد نوع خاصی از داده ها ذخیره می شود.

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

دامنه

مجموعه ای از مقادیر مجاز یک ستون دامنه (domain) نام دارد. معمولا دامنه یک ستون از یک نوع داده است.

محصولات RDBMS مستقیما دامنه را حمایت نمی کنند بلکه مجموعه ای از انواع داده عددی، متن، تاريخ و غيره را دارند که نحوه ذخيره سازی داده ها را مشخص می کنند. تاثیر دامنه را بيشتر می توان روی قیدها و مکانیسم های ورود داده مشاهده کرد.

مقادیر صفات خاصه معمولا باید اتمیک باشند یعنی غیرقابل تفکیک باشند.

مقدار خاص null عضوی از هر دامنه است.

NULL

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

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

دانستن چگونگی برخورد RDBMS با null اهميت دارد زيرا مقادیر تهی نمی توانند در عمليات داده ای شرکت کنند.

بعضی از RDBMS ها null را اصلا ندارند. راه حل آنها تعریف یک ستون اضافی برای ستونی است که می تواند تهی باشد. این ستون معین می کند آیا ستون مرتبط به آن دارای مقدار معتبر است یا خیر.

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

پایگاه داده

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


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

Sell Example

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

PRODUCT(ProductNo, Description, ReorderLevel, Price, QtyInStock)
CUSTOMER(CustomerNo, First, Last, Address, CreditLimit)
SALE(SaleNo, SaleDate, CustomerNo, ProductNo, Qty, Amount, Salesrep)


کلید

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

کلید داری دو خاصیت را بايد دارا باشد؛ منحصر به فرد بودن و غیر تهی بودن(قانون اول جامعیت).

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

• کلید کاندید
• کلید ترکیبی
• کلید اصلی
• کلید خارجی

کلید کاندید

از مجموعه صفات خاصه یك رابطه آنهایی كه دارای دو ویژگی زیر هستند به عنوان كلید كاندید (candid key) در رابطه مذكور مطرح می شوند:

• منحصر به فرد و غير تهی بودن
• غیر قابل كاهش بودن، يعنی هیچ زیر مجموعه مناسبی از صفات خاصه تشكیل دهنده كلید، دارای خاصیت منحصر به فرد بودن نباشد.


مثال. شماره دانشجوئی و کد ملی کليدهای کانديد در جدول مشخصات دانشجو در دانشگاه می توانند باشند.


کلید ترکیبی

کلید ترکیبی (compound key) کليدی است که از ترکيب چند صفت خاصه ساخته می شود.


مثال. در رابطه دانشجو مجموعه نام و شماره شناسنامه می توانند به عنوان كلید ترکيبی در نظر گرفته شوند.


کلید اصلی

كلید اصلي (primary key)، كلید كاندیدی است كه توسط طراح پايگاه داده انتخاب و معرفی می شود. به عبارتی طراح بانك، یكی از كلیدهای كاندید را به عنوان كلید اصلی بر میگزیند.

در تعیین كلید اصلی از بین كلیدهای كاندید باید دو ضابطه زیر را در نظر گرفت:

• اهمیت كلید اصلی نسبت به سایر كلیدهای كاندید در پرس و جوها
• كوتاهتر بودن طول كلید كاندید از نظر تعداد بایت

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


مثال. شماره دانشجوئی در جدول مشخصات دانشجو را می توان به عنوان کليد اصلی انتخاب کرد.


کلید خارجی

کليد خارجی (foreign key) صفت خاصه ای در يک جدول است که در جدول دیگر نقش کلید اصلی یا کاندید را بازی کند.

کليد خارجی ارتباط بين دو جدول را برقرار می کند.

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

جدول شامل کلید خارجی را گاهی جدول فرزند و جدولی که به آن ارجاع دارد را جدول والد می نامند.


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


خواص مدل

مدل رابطه ای دارای ويژگی های زیر است:

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


نرمالسازی

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


تبديل نمودار ER به مدل رابطه ای

هر موجوديت در مدل ER به يک جدول در مدل رابطه ای تبديل می شود. صفات خاصه موجوديت ستون های جدول و هر نمونه موجوديت سطرهای آنرا را می سازند.

قبل از اينکه فرآيند تبديل انجام شود بايد مطمئن شويم که مدل ER تا حد ممکن ساده شده است.


مثال. موجوديت دانشجو را درنظر بگيريد.

ER map to relation

student(student_no, name, address, date_of_birth)

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

مثال. ارتباط يک به يک بين موجوديت های کارمند و قرارداد را درنظر بگيريد. هر کارمند يک قرارداد دارد و هر قرارداد مربوط به يک کارمند است.

ER map to relation

به رابطه زير تبديل می شود:

Employee(emp_no, name, cont_no, start, end, position, salary)

يا می تواند به صورت دو رابطه زير تبديل شود:

Employee (emp_no, name, contract_no)
Contract(cont_no, start, end, position, salary)
يا
Employee (emp_no, name)
Contract(cont_no, start, end, position, salary, emp_no)

در تبديل ارتباط ها يک به چند کليد اصلی موجوديت سمت "يک" به عنوان کليد خارجی در سمت ديگر قرار می گيرد.

مثال. ارتباط يک به چند دانشجو و رشته تحصيلی را درنظر بگيريد:

که به رابطه های زير تبديل می شود:

Student(student_no, s_name, address, DateOfBirth, module_no)
Module(module_no, m_name)

در ارتباط چند به چند يک رابطه جديد با کليد های اوليه هر دو موجوديت ساخته می شود.

مثال. ارتباط دانشجو و درس را درنظر بگيريد.

ER map to relation

که به رابطه های زير تبديل می شود:

Student(student_no, s_name, Address, DateOfBirth)
Course(Course_no, C_name)
Study(student_no, Course_no)

+Google : تهاجم ارتش گوگل به جبهه شبکه‌های اجتماعی

با «گوگل پلاس» بیشتر در گوگل پَلاس خواهیم بود! تهاجم بزرگ ارتش گوگل به جبهه شبکه‌های اجتماعی

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

سرانجام گوگل ساعاتی قبل در وبلاگ رسمی خود، پروژه گوگل پلاس یا Google+ را معرفی کرد. آیا با گوگل پلاس، گوگل به یک شبکه اجتماعی عظیم تبدیل خواهد شد؟ آیا موقعیت فیس‌بوک به خطر خواهد افتاد؟
ادامه نوشته

آز پایگاه

Enterprise manager         برای آغاز کردن

دکمه start موجودبر روی نوار وظیفه ویندوزراکلیک کنید.

روی آیتم       s program اشاره کرده واز لیست برنامه ها Microsoft sql server

را انتخاب نما یید .آیکون موجود در   Microsoft sql serverدریک لیست ظا هر می شوند.

روی آیکون برنامه enterprise manager  کلیک کنید.

enterprise manager  ابزارهایی در اختیار شما قرار می دهد که با استفاده از آنها می توانید

مدیریت sql server را انجام داده وپایگاه داده بسازید. پنجره این برنامه به دو قسمت تقسیم

می شود:کنسول درختی درسمت چپ و منطقه جز ئیات در سمت راست

برای مشاهده آیتم های موجود در زیر یک آیتم می توانید روی آیکون expand

که به شکل علامت  + است کلیک کنید .آیکون collapse که به شکل علامت – می باشد برای 

بستن آیتم بکار می رود.

ثبت کردن یک سرویس دهنده

1.    روی یکی از گروهای  موجود در کنسول  درختی راست کلیک کنید .

2.    دستور new sql server registration را از منوی انتخاب کنید.

3.    صفحه خوش آمد گویی ویزارد register sql server ظا هر می گردد دکمهnext  راکلیک کنید.اولین صفحه ویزارد ونام سرویس دهنده های شنا سا یی شده نشان داده می شود .

4.    اگر نام سرویس دهنده مورد نظر شما در لیست دیده می شودآن را انتخاب کرده و دکمه add راکلیک  کنید. در غیر این صورت آن رادر کادر متن با لای لیست تایپ کرده وسپس دکمه add را کلیک کنید.ویزارد نام سرویس دهنده را در لیست سمت راست نشان می دهد.

5.    دکمه next را کلیک کنید .ویزارد صفحه ایرا نشان می دهد که نوع مدل شنا سایی کاربر رااز شمادر خواست می کند.

6.    اگر مدیر سیستم به شما گفته است که از مدل شناسایی sqlserver استفاده کنید آیتم پایین را انتخاب کنید.

7.    دکمه nextراکلیک  اگر مدل شناسایی sql server راانتخاب کرده باشید شناسه کاربردی وکلمه عبور از شما در خو است می شود.

8.    دکمه nextرا کلیک تا این سرویس دهنده به گروه پیش فرض اضا فه شودویزارد صفحه نهایی را نشان می دهدواز شما می خواهد که سرویس دهنده جدید را تایید کنید.

9.    دکمه close راکلیک کنید.

10.                     دکمه finish را کلیک کنید ویزارد امور لازم برای سرویس دهنده را انجام داده وصفحه آخر رانشان می دهد .

 

نقش تنظیمات صحیح ویروس کش در پیدا کردن ویروسها

چرا بعضی از ویروس ها از دید ویروس کش پنهان می مانند ؟


اکثر کاربران با نصب یک ویروس کش و Scan کامپیوتر تصور می کنند که خطری از بابت ویروس ها و دیگر بدافزارها تهدیدشان نمی کند. حال آنکه تمام ویروس کش ها در حالت پیش فرض به طور عمیق و کامل سیستم را مورد Scan قرار نمی دهند و در نتیجه بسیاری از ویروس ها از دید ویروس کش پنهان می مانند به طوری که حتی ویروسهایی که در کتابخانه (library) ویروس کش تعریف شده اند هم شناسایی نمی شوند چه برسد به ویروس هایی که در کتابخانه ویروس کش تعریف نشده اند.
خاطر نشان می کنم با فعال سازی قابلیت Heuristic بدافزارهایی (شامل ویروس ، تروجان ،کرم و ...) که در کتابخانه ویروس کش تعریف نشده اند هم شناسایی و نابود می شوند. به عنوان نمونه ، خود من چند خط کد مخرب که توانایی از کار انداختن کامل ویندوز را داشت در یک فایل متنی از نوع TXT نوشته بودم که البته قابلیت اجرایی نداشت مگر آنکه در قالب یک فایل اجرایی مثل BAT یا EXE در می آمد، با این حال Avast آن را شناسایی نمود. این کد مخرب تاکنون در هیچ جا انتشار نیافته بود و در کتابخانه ویروس ِ ویروس کش هم قرار نداشت ولی قابلیت Heuristic و هوش مصنوعی Avast به راحتی آن را شناسایی کرد.
نکته: دلیل اینکه به طور پیش فرض قابلیت کشف اکتشافی یا Heuristic ویروس کش فعال نشده یا در سطح high تنظیم نشده است به خاطر سرعت بخشیدن به Scan می باشد. بعد از تنظیم ویروس کش روی حالت Heuristic سرعت Scan خیلی کم می شود.

اکثر ویروس کش ها از جمله Avg و Avast به طور پیش فرض تمام فایلها را مورد Scan قرار نمی دهند و فقط فایلهایی را که احتمال آلوده بودنشان بیش از انواع دیگر است Scan می کنند. لازم به ذکر است کاربر باید گزینه All Files را انتخاب کند تا تمام فایل ها Scan شوند.

بلوتوث ایمن ترین راه انتقال فایل

بلوتوث ایمن ترین را انتقال فایل بین وسایل الکترونیکی

بر خلاف تصور اکثر افراد بلوتوث ایمن ترین راه انتقال فایل بین دو کامپیوتر یا موبایل و یا هر دو (بین موبایل یا کامپیوتر) می باشد.
آنچه باعث ایجاد ذهنیت بد نسبت به بلوتوث شده ، انتقال ویروس های موبایل از طریق این درگاه می باشد.حال آنکه در انتقال ویروس بین دستگاه های موبایل ، فقط و فقط کاربران مقصرند به طوری که اگر کاربران هنگام مواجه شدن با پیغامی از طرف یک فرد ناشناش مبنی بر ارسال فایل یا پیغام Pairوexchange دکمه تایید را فشار ندهند هیچگونه خطری از جانب این پروتکل ارتباطی آنها را تهدید نمی کند.
نکته: بلوتوث خود را جز در مواقع مورد نیاز روشن نکنید.
نکته مهم (موبایل) : اگر با پیغام Pair یا Exchange موافقت کنید طرف مقابل دسترسی کاملی به گوشی شما خواهد داشت که از جمله آنها می توان به برقراری تماس از گوشی شما با شماره دلخواه و یا دسترسی به کلیه فایل ها (file manager) اشاره کرد.
در توضیح این مطلب که چرا بلوتوث بهترین راه انتقال فایل است باید بگویم در این پروتکل یک فایل را انتخاب کرده و آن را ارسال می کنید، بدین ترتیب فقط و فقط همان فایلی را که انتخاب کرده اید ارسال می شود و حتی اگر گوشی یا کامپیوتر شما پر از ویروس هم باشد هیچ ویروسی همراه فایل مورد نظر انتقال نمی یابد.
بدیهی است که اگر فایلی که ارسال کرده اید ویروسی باشد دستگاه مورد نظر نیز آلوده می شود.
حال کمی مو شکافانه تر قضیه را مورد بررسی قرار می دهیم :
فرض می کنیم به جای استفاده از بلوتوث، مموری موبایتان را به Ram reader کامپیوتری که ویروس داشته متصل کرده اید یا در بدترین حالت، موبایتان را به وسیله کابل به کامپیوتر آلوده متصل کرده اید. در مورد اول ویروس می تواند مموری را آلوده کند ولی در حالت دوم مموری و حافظه تلفن هر دو آلوده می شوند. تا اینجا از مزایای استفاده از بلوتوث به جای Ram reader و کابل USB مطلع شدیم.
نکته: اگر فقط Memory را داخل Ram reader بگذارید و گوشی موبایتان هم از نوع هوشمند نباشد (مثل اکثر گوشی های سامسونگ و LG) احتمال انتقال ویروس از مموری به حافظه تلفن همراه به طور خودکار وجود ندارد بدین ترتیب حافظه تلفن همراه از خطر ویروس ها در امان می ماند (مگر آنکه خودتان فایل ویروسی یا ویروس را به صورت دستی به حافظه تلفن همراه انتقال دهید.)
توضیحات : لازم به ذکر است ویروس های کامپیوتری در موبایل قابلیت اجرا ندارند.درست مثل اینکه ویروسهای ویندوز روی لینوکس و ویروس های لینوکس روی ویندوز عمل نمی کنند.

سخن پایانی: تا جای ممکن برای انتقال اطلاعات از بلوتوث و CD استفاده کنید و پیشنهاد می کنم به جای فلش مموری همیشه یک رابط بلوتوث در جیب خود داشته باشید و از طریق آن اطلاعات مورد نیازتان را از کامپیوتر به تلفن همراهتان انتقال دهید