Honeycomb نام ابزاری است که با هدف ایجاد تحولی در زمینهٔ دیباگ کردن نرمافزار طراحی شده که دولوپرهای این ابزار امیدوارند تا از طریق این سرویس، پروسهٔ دیباگینک را با توجه به نیازهای مختلف دولوپرها تسهیل کنند.
Bug Bounty چیست؟
زمانی که نرمافزارها در هر حوزهای وارد شده و کارهای روزانهٔ مختلفی را تحت سیطره خود قرار دادهاند اما در عین حال باگهای زیادی دارند، چه اتفاقی میافتد؟ واضح است که یک کابوس برای دولوپرها آن نرمافزار تداعی میشود. پاسخ مدیرعامل شرکت HackerOne برای این مسئله اجرای طرح به اصطلاح Bug Bounty است (این طرح به گونهای برنامهریزی شده است تا هکرهای کلاه سفید ماهر بتوانند با شناسایی و رفع باگهای نرمافزارهای مختلف و گزارش آنها، به کسب درآمد بپردازند.)
Charity Majors، یکی از مهندسین ارشد اَسبق فیسبوک و از مؤسسان استارتاپ Honeycomb، روش دیگری برای حل این مسئله پیشنهاد میدهد:
دولوپرها باید با دیباگ کردن به صورت لایو (زنده) و استفاده از سرویسهای در دسترس قرار داده شده، باگهای برنامههاشون رو از بین ببرن.
شاید اجرای این امر در برنامههای سادهتر قدیمی چندان دشوار نباشد، ولی در برنامههای امروزی که دارای پیچیدگیهای زیادی هستند چندان قابلاجرا به نظر نمیرسد! به هر حال، برای پاسخ به چنین نیازی سرویس Honeycomb رسماً در آوریل 2017 راهاندازی شد و بر اساس ادعای این استارتاپ، سولوشن (راهحل) ارائه شده توسط آنها، سریعترین و آسانترین روش برای دیباگ کردن اپلیکیشن است. با در نظر گرفتن پیشینهٔ مؤسسان این #استارتاپ، این ادعا قابلاعتماد به نظر میرسد چرا که با دهها رویکرد مختلف که برای دیباگ کردن پروژهها در اختیار دولوپرها قرار دارد، دولوپرهای سرویسهایی همچون Docker و GitHub از سولوشن هانیکامب استقبال کرده و ادعا میکنند که این روش منجر به کامل شدن چرخهٔ توسعهٔ نرمافزاری میشود.
میجرز در یک مصاحبه این ادعا که امکان پیدا کردن جایگاهی برجسته در بازار پررقیب ابزارهای دیباگینگ برای استارتاپ هانیکامب وجود نخواهد داشت را رد کرده و اعتقاد دارد که سرویس دیباگینگ هانیکامب به نوعی مشابه روش ساخت اِسکمای دیتابیسهای NoSQL است؛ به عبارت دیگر، کار با این سرویس به نوعی انعطافپذیر است.
اولین سؤالی که ممکن است به ذهن خطور کند این است که هانیکامب چگونه امیدوار است در بازار پررقیبی که در آن تعداد زیادی نرمافزار از جمله GDB ،Microsoft Visual Studio Debugger و غیره برای دیباگ کردن وجود دارد، هم از لحاظ محصول و هم سهم بازار، موفق شود. پاسخ میجرز در مورد این سؤال جالب توجه است:
همه به ما میگفتن که برای موفق شدن دچار مشکل میشیم در حالی که چنین اتفاقی نیفتاد. ما شروع خوبی داشتیم، چه از نظر توجه خبری و چه از نظر ثبتنامها در وبسایت (و حتی مشتریانی که حاضر به پرداخت حق عضویت هستن.) تنها ابزار معرفی ما در این مدت به وسیلهٔ افرادی بود که با سایت ما آشنا شده بودن و همچنین اطلاعاتی که من در اکانت توئیتر خود قرار داده بودم.
چرا یک Debugger جدید میتواند باعث تغییر شود؟
مسلماً باز تشنهٔ راهکاری برای مسئلهای است که تاکنون حل نشده و این در حالی است که تاکنون سرویسی به طور کامل موفق به حل مشکلات بسیار پیچیدهٔ در پروسهٔ دیباگینگ نرمافزار نشده است! به عبارت دیگر، دولوپرها به ابزاری چندجانبه، کامل و انعطافپذیر که قابلیت ایجاد فیدبک به صورت اصطلاحاً Real-time (آنی) را داشته باشد به شدت نیاز دارند. بررسی مداوم سیستم، سرویسها و کدها یک امر بسیار حیاتی است که هانیکامب ادعا میکند این کار را بهخوبی انجام میدهد.
در واقع، میتوانید با استفاده از اطلاعاتی که در اختیار دارید، اتفاقاتی که در اپلیکیشن رخ میدهند را پیشبینی کنید و تستهایی برای آنها بنویسید و این در حالی است که هانیکامب به گونهای طراحی شده است که تمامی دادههای ورودی را فارغ از منشأ آنها بپذیرد که بدین ترتیب دولوپرهایی که بر روی کدهای به اصطلاح Legacy (قدیمی) کار میکنند نیز میتوانند از هانیکامب بهره ببرند.