ایران اسکریپت

علی قلعه بان

متخصص و محقق فناوری اطلاعات

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

مطالب دسته: مقالات

تفاوت ماژول و کلاس در برنامه نویسی دات نت

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


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


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

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

ادامه مطلب...

بک آپ گیری و بازگرداندن بانک اطلاعاتی در لینوکس

بک آپ گیری و بازگرداندن بانک اطلاعاتی در لینوکس : دستوراتی که در این آموزش قصد دارم به شما معرفی کنم به مدیران بانک های اطلاعاتی در لینوکس و  مای اسکیول کمک خواهد کرد تا از بانک های اطلاعاتی بک آپ گیری و یا بک آپ مدنظر را ریستور نمایند این آموزش در حول محور سه دستور اصلی mysql و mysqldump وmysqlimport خواهد بود البته در این اموزش ما فرض را بر این میزارم که از قبل مای اسکیول بر روی سیستم نصب و در حال استفاده میباشد

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

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

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

در صورتیکه که بخواهید بصورت یکجا از تمامی بانک های موجود بک آپ گیری نمایید

اگر بخواهید صرفا از Structure بانک اطلاعاتی مدنظر بک آپگیری نمایید

اگر بخواهید صرفا از داده های موجود در بانک بدون بک آپگیری نمایید

نحوه بک آپگیری از یک table خاص  در بانک

نحوه بک آپگیری از table های متفرقه و متفاوت

نحوه بک آپگیری از بانکی بصورت ریموت

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

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

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

ادامه مطلب...

آشنایی با مبانی ارتباطات ماهواره ای

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

انواع خدماتی که ارتباطات ماهواره ای فراهم میکند :

ارتباطات نقطه به نقطه (Fixed Service Satellites (FSS
ارتباطات رادیویی و تلویزیونی (Broadcast Service Satellites (BSS
تلفن های ماهواره ای (Mobile Service Satellites (MSS

انواع ماهواره ها بر اساس مدارهای قرار گرفته :


(Geostationary Earth Orbit (GEO : این ماهواره ها در 35,863 کیلومتری از زمین قرار گرفته اند این نوع از ماهواره تحت تاثیر جو زمین بوده و همراه با گردش زمین می گردد از مزایای استفاده از این نوع ماهواره ها به علت فاصله کم با زمین منطقه تحت پوشش آنها میتواند بسیار پهناور باشد این نوع ماهواره بصورت 24 ساعته میتواند به منطقه خاصی دید داشته باشد و این گزینه ها این نوع از ماهواره ها را برای انواع کاربری ها مطلوب میسازد ولی از طرفی قرار گرفتن این ماهواره ها دقیقا در بالای مرکز خط استوا امکان ارسال اطلاعات توسط این ماهواره ها را به قطب های جنوبی و شمالی محدود و مشکل میسازد .

(Low Earth Orbit (LEO: این ماهواره ها به مراتب خیلی از نزدیکتر از ماهواره های قبلی به زمین میباشد در فاصله 500 تا 1500 کیلومتری زمین این ماهواره ها در یک مکان ثابت نبوده و در هر گذر خود تنها به مدت 15 تا 20 دقیقه قابل مشاهده میباشند این ماهواره ها قابل استفاده نبوده و شبکه ای از این ماهواره های متصل به هم امکان استفاده از خدمات آنها را فراهم میسازد .نسبت به ماهواره های بالا دارای سیگنال قدرتمندتری بوده و تاخیر کمی دارند که برای ارتباطات نقطه به نقطه بسیار مناسب میباشد و با پوشش محدوده کوچکتر از اتلاف پهنای باند نیز جلوگیری میکند ولی درمقابل به تنهایی قابل استفاده نبوده و باید شبکه ای از این ماهواره ها در مدار قرار گیرد که هزینه بر است و جاذبه های اتمسفری به مرور موجب انحراف تدریجی مدار در این نوع از ماهواره ها میشود .

(Medium Earth Orbit (MEO : این ماهواره ها در 8 الی 18 هزار کیلومتری از سطح زمین قرار دارند و در مورد عملکرد همانند ماهواره های LEO عمل میکنندو در هرگذر خود به مدت 2 تا 8 ساعت به چشم دیده میشوند و پهنای بیشتری نسبت به LEO را پوشش میدهند یکی از برتری های این نوع از ماهواره ها نسبت به LEO تعداد کمی از ماهواره برای تشکیل شبکه ماهواره ای نیاز میباشد ولی از طرف دیگر فاصله زیاد با زمین موجب میشود میزان تاخیر در ارسال بالا و همچنین قدرت سیگنال های ارسالی کم باشد ولی به هرحال بهتر از ماهوار های GEO میباشد .

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

(High Altitude Platform (HAP : این مدار یکی از مدل های جدید ارائه شده میباشد که در این روش یک شی یا هواپیما که در 20 کیلومتری از سطح زمین قرار گرفته به عنوان ماهوراه مورد استفاد قرار میگیرداین نوع از ماهواره شاید محدوده کمی را پوشش دهد ولی نسبت به همه انواع دیگر ماهواره ها قدرت سیگنال بسیار بالایی خواهدداشت و هزینه بسیار کمتری برای قراردادن این نوع از ماهواره درمدار در مقایسه با انواع دیگر ماهواره ها نیاز میباشد .

دسته بندی فرکانس های مورد استفاده توسط ماهواره ها
L–Band: 1 to 2 GHz : ارتباطات ماهواره ای
S-Band: 2 to 4 GHz : ویژه تحقیقات ناسا
C-Band: 4 to 8 GHz : ارتباطات نقطه به نقطه
X-Band: 8 to 12.5 GHz: ارتباطات نقطه به نقطه نظامیو جغرافیایی
Ku-Band: 12.5 to 18 GHz: ارتباطات نقطه به نقطه و رادیو تلویزیونی
K-Band: 18 to 26.5 GHz: ارتباطات نقطه به نقطه و رادیو تلویزیونی
Ka-Band: 26.5 to 40 GHz: ارتباطات نقطه به نقطه

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

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

 

ادامه مطلب...

نصب و راه اندازی ماشین مجازی Virtual Machine | علی قلعه بان

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

معرفی جامع لود بالانس Load balance در شبکه , الگوریتم و کاربردها | علی قلعه بان

معرفی جامع لود بالانس Load balance در شبکه , الگوریتم و کاربردها  : اگر بخواهیم تعریف ساده ای از لود بالانسر Load Balancer داشته باشیم همانطور که اسم آن پیداست Load Balancer ابزاری است برای توزیع بارکاری و درخواست های دریافتی بین سرورهای مختلف .بسیاری از شرکت های تجاری و سازمان ها که از اپلیکیشن های انلاین و مبتنی بر کلاود برای ارائه خدمات خود بهره می برند برای اینکه بتوانند خدمات بهینه و همیشه در دسترس برای کاربران و مشتریان خود فراهم سازند از این روش برای ارائه خدمات بهره می برند Load Balancer با توجه به در دسترس بودن مسیر های ممکن راه را برای درخواست ها باز و انها را به مسیر هدایت میکند بطور مثال شما میتوانید سایت های پرترافیکی مثل گوگل و یا یویتوب را در نظر بگیرید که   در عرض چند دقیقه میلیون ها درخواست به انها ارسال میشود و اگر این سامانه ها از این ابزارها بهره برداری ننمایند بالطبع امکان سرویس دهی مطلوب را نخواهند داشت .

Load Balancer ها یکی از بهترین روش ها برای توسعه زیرساخت یک اپلیکیشن سرور میباشد چرا که در صورت نیاز بیشتر به منابع به راحتی میتوان سرور جدید و منابع سخت افزاری جدیدی را به مجموعه اضافه کرد و به محض اضافه شدن منابع سخت افزاری جدید Load Balancer به صورت خودکار اقدام به انتقال ترافیک به ان منابع خواهد نمود بطور کلی Load Balancer دارای قابلیت بالانس و هدایت ترافیک در سه مجموعه زیر میباشد

Load Balance لایه 4 : هدایت ترافیک بر اساس داده های دریافتی از لایه های Transport و Network مانند ادرس آی پی و پورت های TCP
Load Balance لایه 7 : که قادر به تصمیم گیری برای هدایت ترافیک بر اساس داده های دریافتی از لایه application و مشخصات داده های دریافت شده مانند هیدرهای HTTP و…
(Global server load balancing (GSLB : نوع پیشرفته ای از مدل های بالا که در سطوح سرورهایی که در فواصل زیاد جغرافیایی با هم قرار گرفته اند عمل میکند .در تصاویر زیر میتوانید نمونه ای از هر کدام از حالت ها را مشاهده نمایید

حالت بدون Load Balance

Load Balance لایه 4

Load Balance لایه 7

Global server load balancing (GSLB)

الگوریتم های مورد استفاده در   Load Balance :

The Least Connection Method : در این حالت سرویسی که کمترین ارتباط و استفاده مورد نظر را دارد مورد استفاده قرار خواهد گرفت
The Round Robin Method : در این روش لیستی به صورت گردشی از مجموعه سرویس ها در گردش خواهد بود و در زمان دریافت درخواست بر اساس لیست به ان درخواست پاسخگو و سپس ان سرویس را به اخر لیست ارسال خواهد کرد و سرویس های دیگر را به مراتب بالا ارتقا خواهد داد
The Least Response Time Method : در این حالت سرویسی انتخاب خواهد شد که زیاد شلوغ نبوده و زمان پاسخگویی آن بالا باشد
The Least Bandwidth Method : در این حالت میزان آزاد بودن پهنای باند مبنای انتخاب سرویس خواهد بود
The Least Packets Method : در این حالت سرویس انتخابی سرویسی خواهد بود که کمترین بسته دریافتی را داشته باشد
The Custom Load Method : در این حالت سرویسی انتخاب خواهد شد که دارای کمترین تراکنش جاری را داشته باشد .

 

ادامه مطلب...

تکنولوژی FinFET اینتل و رکورد 100 میلیون ترانزیستور در هر میلی مترمربع | علی قلعه بان

تکنولوژی FinFET اینتل و رکورد 100 میلیون ترانزیستور در هر میلی مترمربع : همان طور که می دانید طبق پیش بینی قانون مور میزان تراکم تعداد ترانزیستور ها در هر میلی مترمربع در هر دو سال دو برابر خواهد شد بر همین اساس شرکت اینتل اعلام کرد که توانسته رکورد جدیدی در این زمینه ثبت کرده و حتی قانون مور را نیز به نوعی با این تکنولوژی جدید دست خوش تغییر کرده است تا جایی که توانسته اند تعداد100 میلیون ترانزیستور را در هر میلی متر مکعب جای دهند وبر این اساس این بار نه تنها 2برابر

ادامه مطلب...
 قالب وردپرس