بایگانی برچسب‌ها : مزیت

دانگل Dongle

دانگل یا Dongle چیست؟

دانگل (Dongle) یک قطعه کوچک سخت افزاری است که با اتصال به یک ابزار دیگر (نظیر رایانه، تلویزیون و …) قابلیتی را به آن اضافه می‌کند.

کاربردهای رایج دانگل‌ها

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

علاوه بر این‌ها برخی از دانگل‌ها برای محافظت از نسخه‌برداری غیرمجاز یک نرم‌افزار تجاری ساخته می‌شوند. به این ترتیب که نرم‌افزار همراه با یک دانگل سخت‌افزاری عرضه می‌شود و تا زمانی که این دانگل به دستگاه متصل نشده باشد نرم افزار کار نخواهد کرد. از نمونه‌های دیگر دانگل‌ها می‌توان به کارت‌خوان‌های اس دی (SD Card Reader)، آداپتورهای OTG و فلش درایوهای USB اشاره نمود.

مزایای دانگل‌ها

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

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

دانگل Dongle
رایانه شخصی کوچک Intel Compute Stick – دانگلی که با اتصال به پورت HDMI یک تلویزیون یا نمایشگر، آن را به یک رایانه کامل تبدیل می‌کند!
دانگل dongle
نمونه‌ای از یک دانگل Wi-Fi

پیوندهای پیشنهادی تک دیک

لییک واژه در ویکیپدیا

وب اپلیکیشن Web Application

وب اپلیکیشن یا Web Application چیست؟

وب اپلیکیشن یا نرم افزار کاربردی وب (Web Application به اختصار Web App) برنامه‌ای رایانه‌ای بر پایه مدل کلاینت – سرور می‌باشد که در مرورگرهای وب اجرا می‌شود. از جمله نرم‌افزارهای کاربردی وب می‌توان به فروشگاه‌های آنلاین، وب میل، سایت‌های ویکی، نرم‌افزارهای مدیریت پروژه و مدیریت تیم آنلاین، ابزارهای ویرایش آنلاین اسناد (نظیر واژه پردازها، ابزارهای پرزنتیشین و صفحات گسترده آنلاین)، ویرایشگرهای آنلاین تصویر و … اشاره نمود.

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

امروزه بسیاری از نرم افزارهای کاربردی (نظیر پیام رسان‌های Skype و WhatsApp، نرم‌افزارهای مجموعه Office و …) در کنار نسخه‌های قابل نصب دارای نسخه‌های تحت وب نیز می‌باشند. در مواردی که کاربر امکان نصب یک نرم افزار را ندارد (مانند رایانه‌های با دسترسی محدود شده) یا تمایل و فرصتی برای انجام این کار ندارد استفاده از وب اپلیکیشن‌ها می‌تواند گزینه‌ی کاملا راهگشایی باشد.

برخی از مزایای Web Application ها

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

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

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

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

نرم افزار کاربردی وب - وب اپلیکیشن Web Application
نمایی از وب اپلیکیشن Word Online از مجموعه Office Online در مرورگر فایرفاکس – بسیاری از قابلیت‌های Microsoft Office Word در نسخه تحت وب به صورت رایگان قابل استفاده است.

پیوندهای پیشنهادی تک دیک

لینک واژه در ویکیپدیا

کلاس Class

کلاس یا Class چیست؟

کلاس (Class) در برنامه نویسی شئ گرا، نوعی قالب برنامه نویسی قابل گسترش است که برای ایجاد اشیاء، تعیین مقادیر اولیه‌ی وضعیت و مشخص نمودن رفتار آن‌ها مورد استفاده قرار می‌گیرد.

شئ (یا آبجکت Object) هایی که از روی کلاس ساخته می‌شوند را یک نمونه (Instance) از آن کلاس می‌نامند. به عنوان مثالی ساده می‌توان کلاسی تحت عنوان Circle را در نظر گرفت که خصوصیات و اعمال (یا رفتار) اشیائی به نام دایره را تعریف می‌کند. با کمک این کلاس، برنامه‌نویس می‌تواند اشیاء (دایره‌های) مختلفی با خصوصیات (مرکز و شعاع) متفاوت ایجاد کند و اعمالی نظیر محاسبه شعاع و مساحت یا ترسیم دایره را روی هرکدام انجام دهد در حالی که تعریف و پیاده‌سازی تمامی این خصوصیات و اعمال یک بار حین تعریف کلاس صورت گرفته است.

آبجکت‌ها معمولا با کمک زیرروال خاصی به نام تابع سازنده‌ (Constructor) ایجاد می‌شوند. این تابع در بسیاری از زبان‌های برنامه نویسی هم نام خود کلاس بوده و وظیفه آماده‌سازی اولیه آبجکت و تعیین مقادیر اولیه متغیرها را برعهده دارد.

متغیرهایی که برای هر آبجکت متمایز و متفاوت هستند متغیرهای نمونه (Instance Variable) نامیده می‌شوند و وضعیت و خواص آن آبجکت را مشخص می‌کنند. متغیرهای دیگری نیز در Class ها تعریف می‌شوند که برای تمام اشیاء به اشتراک گذاشته می‌شود و به آن‌ها متغیرهای کلاس (Class Variable) می‌گویند (طبیعتا با تغییر مقدار این متغیرها توسط یک آبجکت مقدار آن در تمام آبجکت‌ها به همان صورت تغییریافته مشاهده می‌شود).

رفتار یک Class یا نمونه‌های آن توسط متدها (Method) یا توابع عضو (Member Function) مشخص می‌شود. متدها را نیز می‌توان به دو گروه متدهای نمونه و متدهای کلاس دسته‌بندی نمود. در واقع متدها عملی را روی آبجکت یا کلاس انجام می‌دهند.

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

نمونه‌ای از تعریف یک Class ساده با دو متغیر عضو و تابع سازنده آن به زبان Visual Basic .Net:

Public Class Employee
    Public FirstName As String
    Public LastName As String
       
    Public Sub New(ByVal f_name As String, ByVal l_name As String)
        FirstName = f_name
        LastName = l_name
    End Sub
End Class   

تغییردهنده‌های سطح دسترسی امکان کنترل سطح دسترسی به کلاس‌ها، متدها و اعضای آن‌ها را فراهم می آورد. به عنوان مثال تنها متدهای یک کلاس می‌توانند به اعضای خصوصی (Private) آن کلاس دسترسی داشته باشند.

بسته به زبان‌های برنامه نویسی مختلف، ممکن است یک کلاس، کلاس دیگری را در بربگیرد یا با مشتق شدن (به ارث بردن رفتارها و متغیرها) از یک کلاس دیگر، رابطه‌ای سلسله مراتبی با کلاس‌های والد برقرار کند. برای مثال کلاس Employee می‌تواند از کلاسی به نام People (با عناصر و متدهای مرتبط با افراد) مشتق شود چرا که از نظر منطقی هر Employee یک People نیز به شمار می‌رود.

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

پیوندهای پیشنهادی تک دیک

لینک واژه در ویکیپدیا