پنج دلیل برای استفاده از Protocol Buffer بجای JSON -قسمت اول
فهرست مطالب مقاله پنج دلیل برای استفاده از Protocol Buffer بجای JSON -قسمت اول
پنچ دلیل برای استفاده از Protocol Buffer بجای JSON -قسمت اول
معماری های سرویس گرا شهرت خوبی در میان برنامه نویسان و توسعه دهندگان به عنوان یک روش واکشی داده ها کسب کرده اند. این سرویس ها از JSON برای ارتباط با HTTP استفاده می کنند. اگرچه JSON مزایای مختلفی مثل نحوه تبادل فرمت داده ها، قابل خواندن و فهم ساده و.. را دارد ولی دردسرهای خاص خودش را هم دارد. زمانیکه مرورگر و جاوااسکریپت مستقیما داده را مصرف نمیکنند -مخصوصا در زمان سرویس های داخلی- یک شکل ساختار یافته مثل Protocol Buffer مربوط به گوگل میتواند جایگزین مناسب تری نسبت به JSON برای کد کردن داده ها باشد. چنانچه قبلا هیچ آشنایی با بافر گوگل نداشته اید نگران نباشید در این مقاله یک معرفی مختصر از آن را ارائه میدهیم.
معرفی مختصر Protocol Buffer
اولین سؤال این هست که Protocol Buffer چیست؟! برطبق آنچه که در اسناد ذکر شده است Protocol Buffer یک روش کد کردن داده های ساختار یافته با یک فرمت کارآمد و قابل گسترش است.
گوگل از Protocol Buffer برای سرویس های داخلی خودش استفاده میکند. این پروتکل یک قالب کد باینری است که به شما این امکان را میدهد تا یک شِما برای داده هایتان با زبانی که میخواهید بسازید. مثل چیزی که در تکه کد زیر میبینید:
شما میتوانید یک پیام را با جزئیات مختلفش داخل namespace و یا در بالای کدتان تعریف کنید. تکه کدی که در بالا تعریف کردیم مربوط به یک شیء به نام Person است که سه فیلد: id, name و email دارد. علاوه بر نام گذاری یک فیلد شما میتوانید موارد دیگری را هم مشخص کنید مثل نوع داده ای که قرار است در آن ذخیره شود -مثلا در تکه کد بالا از نوع int32 و string استفاده شده- و یا نوع اعتبار سنجی فیلدها که مقداردهی آنها الزامی و یا اختیاری است (که با استفاده از کلمات کلیدی required و optional مشخص میشود) و شماره گذاری فیلدها که باعث بهتر کد زدن در code behind میشود.
Protocol Buffer با زبان های مختلفی مثل Java, C, Go و … میتواند نوشته شود و همچنین بسیاری از زبان های جدیدی که در دوروبرتان میبینید با آن سازگارند. Ruby هم از این قضیه مستثنی نیست گرچه تفاوتهای مختصری بمنظور کد و دیکد کردن داده ها با استفاده از Protocol Buffer دارد. این به این معنی است که یک مشخصه می تواند برای انتقال اطلاعات بین سیستم ها صرف نظر از زبان اجرای آنها مورد استفاده قرار گیرد.
بعنوان مثال هنگام نصب ruby-protocol-buffers یک کتابخانه با نام ruby-protoc هم نصب میشود که قابلیت ترکیب با کتابخانه اصلی Protocol Buffer را دارد و بطور خودکار فایل های طبقه بندی شده خامی را برای کد و دیکد کردن اطلاعات شما در اختیارتان قرار میدهد.

همانطور که مشاهده میکنید با ارائه یک شِما، یک کلاس بطور اتوماتیک ساخته شده تا برای کد و دیکد کردن داده ها داخل Protocol Buffer از آن استفاده کنید.
اکنون که یک مرور کلی در مورد Protocol Buffer داشتیم بیایید تا نکات جزئی تری راجب آن را بررسی کنیم. در ادامه مقاله(در قسمت بعد) پنج دلیل برای استفاده از Protocol Buffer را ذکر خواهیم کرد. با ما همراه باشید.
مقالات مرتبط
الگوریتم شرطی
الگوریتمهای شرطی یکی از پایهایترین مفاهیم در برنامهنویسی هستند که به برنامه امکان تصمیمگیری بر اساس شرایط مختلف را میدهند. در این نوع الگوریتمها، برنامه ابتدا یک شرط منطقی را بررسی میکند و سپس با توجه به درست یا نادرست بودن آن، مسیر مناسب را اجرا میکند. ساختارهای شرطی معمولاً با دستورهای if، else و else if پیادهسازی میشوند و میتوانند بهصورت تکمسیره، دومسیره یا چندمسیره طراحی شوند. در این مقاله، مفهوم الگوریتم شرطی، انواع ساختارهای شرطی، نقش عملگرهای حسابی، مقایسهای، منطقی و انتسابی، همچنین ترتیب اولویت عملگرها بررسی شده است. علاوه بر آن، با استفاده از مثالهایی به یادگیری شما کمک خواهیم کرد.
ساختمان داده
ساختمان داده (Data Structure) یکی از مهمترین مفاهیم علوم کامپیوتر و برنامهنویسی است که نحوه سازماندهی، ذخیرهسازی و مدیریت دادهها را برای افزایش سرعت و کارایی الگوریتمها مشخص میکند. در این مقاله با تعریف ساختمان داده، انواع ساختمان دادههای خطی و غیرخطی، آرایه (Array)، لیست پیوندی (Linked List)، پشته (Stack)، صف (Queue)، درخت (Tree)، گراف (Graph)، مجموعه (Set) و نگاشت (Map) آشنا میشوید. همچنین کاربرد، مزایا، معایب و تفاوت هر ساختار داده را همراه با مثالهای ساده و قابل فهم بررسی میکنیم تا بتوانید بهترین ساختمان داده را برای حل مسائل برنامهنویسی و توسعه نرمافزار انتخاب کنید.
الگوریتم ترتیبی
الگوریتم ترتیبی یکی از سادهترین و پایهایترین انواع الگوریتم در برنامهنویسی است که در آن دستورها بهصورت مرحلهبهمرحله و دقیقاً به همان ترتیبی که نوشته شدهاند اجرا میشوند. در این نوع الگوریتم، خبری از شرط، تکرار یا انشعاب پیچیده نیست و همین موضوع باعث میشود برای آموزش مفاهیم اولیه برنامهنویسی، حل مسائل ساده و نمایش جریان منطقی برنامه بسیار کاربردی باشد. در این مقاله مفهوم الگوریتم ترتیبی، ساختار کلی آن، مثالهایی مانند جمع دو عدد و محاسبه محیط مستطیل، مزایا، محدودیتها و جایگاه آن در فلوچارتها بررسی میشود.
منطق کامپیوتر
فهرست مطالب این مقاله منطق کامپیوتر چیست ؟ در کامپیوتر همه چیز به صورت صفر و یک کار میکند، یعنی همه چیز یا صفر است یا یک، یا روشن است
جاوا چیست؟
جاوا چیست؟ یک زبان برنامه نویسی شیء گرا یا Object Oriented قدرتمند و چند سکویی Cross platform است که اولین بار توسط شرکت Sun Microsystems در سال 1995 معرفی شد