بایگانی برچسب‌ها : کد

کد Code

کد یا Code چیست؟

اصطلاح کد (Code) در دانش رایانه دارای دو مفهوم متمایز در حوزه‌های برنامه نویسی و ارتباطات می‌باشد.

1. در برنامه نویسی، منظور از این اصطلاح دستوراتی است که توسط یک برنامه نویس و براساس قواعد یک زبان برنامه نویسی نوشته می‌شود. به عبارت بهتر می‌توان واژه Code را در این کاربرد معادل با اصطلاح Source Code دانست. نوشتن کد (کدنویسی) که در زبان انگلیسی معادل فعل Code (یا Coding) می‌باشد نیز به عمل نوشتن این دستورات اطلاق می‌شود.

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

به فرایند تبدیل اطلاعات به فرم Code شده، کدگذاری یا انکودینگ (Encoding) می‌گویند. هدف از این عمل معمولا حفظ امنیت یا فشرده نمودن داده‌ها برای ذخیره‌سازی یا انتقال از طریق یک کانال ارتباطی می‌باشد. به عکس فرایند کدگذاری که طی آن، Code به فرم قابل فهم توسط گیرنده تبدیل می‌شود نیز کدگشایی یا دیکودینگ (Decoding) می‌گویند. به عنوان مثال ممکن است در نوعی کد ساده، حروف الفبا طی الگوریتمی به ارقام باینری کدگذاری شوند. فرض کنید در این نوع Code فرضی حرف “آ” به 0 و حرف “ب” به 01 کد شود. بنابراین واژه “آب” در این سیستم باید به صورت 001 کدگذاری و ارسال یا ذخیره شود.

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

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

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

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

کد کیو آر QR Code

کد کیوآر یا QR Code چیست؟

QR Code نوعی کد دوبعدی است که توسط ماشین‌ها قابل خواندن می‌باشد و حاوی اطلاعاتی راجع به یک کالا یا هرآیتمی است که کد به آن اختصاص داده شده است. این اصطلاح مخفف عبارت Quick Response Code می‌باشد. کدهای کیوآر با عنوان بارکد دوبعدی نیز شناخته می‌شوند.

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

کدهای کیوآر دارای انواع مختلفی می‌باشد. بسته به ابعاد و میزان تصحیح خطای یک کد کیوآر، گنجایش آن برای نگه‌داری داده‌ها متفاوت خواهد بود. به عنوان مثال، بیشترین گنجایش این کدها مربوط به نسخه‌ی 40 (با ابعاد 177×177) و پایین‌ترین سطح تصحیح خطا (یعنی L) می‌باشد. در این حالت می توان 7,089 رقم یا 4,296 کاراکتر (ترکیب رقم، حرف و علائم) را با نرخ تصحیح خطای 7 درصد ذخیره نمود.

جالب است بدانید کدهای QR می‌توانند در بالاترین سطح تصحیح خطا (یعنی H) تا 30 درصد از کدکلمه‌ها را بازیابی نمایند. این بدان معنی است که حتی اگر حدود یک سوم از تصویر کد پاره یا مخدوش شده باشد باز هم اطلاعات به صورت صحیح قابل خواندن است!

از جمله مشهورترین اپلیکیشن‌های مخصوص برای اسکن کدهای کیوآر می‌توان به i-nigma و Zapper و QR Code Reader اشاره نمود که نسخه‌های مخصوصی از آن‌ها برای آیفون، دستگاه‌های اندرویدی و ویندوزی عرضه شده است. برای تولید این کدها نیز می‌توان از نرم افزار رایگان QR-Code Studio و یا سرویس‌های آنلاین QR Code Generator استفاده نمود.

برخی از کاربردهای رایج QR code

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

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

کد کیوآر QR code
کد کیوآر برای نشانی وبسایت تک دیک

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

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

منبع باز Open Source

منبع باز یا Open Source چیست؟

نرم افزار منبع باز یا متن باز (Open Source) به نرم افزارهایی گفته می‌شود که همراه با سورس کد عرضه می‌شوند و صاحب امتیاز نرم افزار مطالعه و بررسی، تغییر و توزیع آن را به صورت رسمی و با هر هدفی مجاز دانسته است. (نحوه خواندن این اصطلاح به صورت “منبعْ باز” می‌باشد.)

در نقطه مقابل این نوع نرم افزارها، نرم افزارهای مالکیتی یا اختصاصی (Proprietary software) قرار می‌گیرند که با عنوان منبع بسته (Closed Source) نیز شناخته می‌شوند.

نرم افزارهایی که منبع آن ها در اختیار عموم قرار گرفته است اما از لحاظ قانونی مجوز تغییر یا توزیع مجدد آن‌ها صادر نشده است به نرم افزارهای “سورس – در دسترس” (Source-Available) موسوم هستند.

از جمله رایج‌ترین محصولات منبع باز می‌توان به سرور اچ تی تی پی آپاچی (Apache HTTP Server)، مرورگر موزیلا فایرفاکس، مجموعه آفیس LibreOffice، ویرایشگرهای تصاویر GIMP و Inkscape و سیستم مدیریت محتوای وردپرس و جوملا اشاره کرد.

فواید و چالش‌های استراتژی منبع باز

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

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

منبع باز - متن باز Open Source
نرم افزارهای Open Source

سورس کد Source Code

سورس کد یا Source Code چیست؟

سورس کد (Source Code) مجموعه‌ای از دستورالعمل‌های رایانه‌ای است که معمولا در قالب متن ساده و به یک زبان برنامه نویسی کامپیوتری نوشته می‌شود. در واقع برنامه نویسان با نوشتن سورس کد، اعمالی که باید توسط رایانه انجام شود را مشخص می‌کنند.

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

اغلب نرم افزارها تنها در قالب یک فایل اجرایی برای استفاده کاربر منتشر می‌شوند اما در صورتی که سورس کد نرم افزار نیز منتشر شود و مطالعه، تغییر و توزیع آن توسط دیگران از سوی تولیدکننده نرم افزار مجاز دانسته شود نرم افزار را منبع باز (بخوانید: منبعْ باز یا Open Source) می‌نامند.

جالب است بدانید الزاما تمام سورس کد یک برنامه به یک زبان برنامه نویسی نوشته نمی‌شود. برای مثال ممکن است بخش‌هایی از یک برنامه به زبان C# نوشته شود و بخشی دیگر از آن برای اجرای بهینه‌تر به زبان C++ نوشته شده و در قالب یک فایل dll در سورس کد اصلی مورد استفاده قرار گیرد.

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

در تصویر زیر می‌توانید نمونه‌ای از سورس کدهای ساده برنامه سلام دنیا را به زبان‌های PHP و C++ همراه با کامنت‌های تک خطی (خطوط سبز رنگ) مشاهده کنید.

سورس کد Source Code
نمونه‌ای از Source Code ساده برنامه سلام دنیا به زبان‌های برنامه نویسی C++ (قطعه کد بالایی) و PHP (قطعه کد پایینی)

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

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