تیم توسعه نرم‌افزار زومیت از چالش‌های خود در نبود اینترنت می‌گوید؛ بازگشت به فلش، کابل و USB

پنج‌شنبه 25 دی 1404 - 19:00
مطالعه 5 دقیقه
تیم فنی کد برنامه نویسی
یک هفته است که با قطعی اینترنت دست به گریبان هستیم و با فلش و کابل USB برای حفظ کارکرد سایت‌ها و تداوم ارتباط با مخاطبان می‌جنگیم.
تبلیغات

تقریبا هیچ کسب‌وکاری نیست که نبودن اینترنت گریبانش را نگرفته باشد. تیم توسعه نرم‌افزار زومیت (Forge) می‌گوید در این شرایط انجام کارهایی که پیش‌تر زمان کمی برای انجامش لازم بود، حالا ساعت‌ها طول می‌کشد یا به‌دلیل نبودن دسترسی به منابع، اصلا انجام نمی‌شود. به گفته رضا صبح گل، مسئول تیم فرانت‌اند زومیت، تقریبا ۸۰ درصد فرایند کاری این تیم با قطعی اینترنت، مختل شده است.

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

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

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

به‌روزرسانی‌ها غیرممکن شده‌اند

در حال حاضر چون امکان دانلود فایل‌ها وجود ندارد، همه به‌روزرسانی‌هایی که تیم فنی نیاز دارد، غیرممکن است. مسئول تیم فرانت‌اند زومیت می‌گوید: «حتی اگر کدها از قبل روی سیستم‌های لوکال (کامپیوترهای شخصی) موجود باشند، باید فرایند به‌روزرسانی را به‌صورت دستی و با زحمت زیاد روی کامپیوتر انجام داد و سپس تغییرات را به کلاد منتقل کرد.» 

این در حالی است که معمولاً این کار به‌صورت خودکار انجام می‌شود و فقط کافی است یک دستور (command) اجرا شود تا سایت به‌روزرسانی شود. اما در شرایط فعلی، دسترسی به آن دستور هم وجود ندارد و باید تمام مراحل را به‌صورت دستی طی کرد. زمان هر به‌روزرسانی از ۱۰ دقیقه به حدود ۲ ساعت افزایش یافته که حداقل یک نفر از اعضای تیم را به‌‌طور کامل درگیر می‌کند.
- رضا صبح‌گل، مسئول تیم فرانت‌اند زومیت

انجام کارهای ۱۰ دقیقه‌ای حالا چند ساعت زمان می‌برد

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

صبح‌گل مثال می‌زند و می‌گوید: «من دیروز قصد داشتم در یکی از صفحات استاتیک زومیت تغییراتی ایجاد کنم و بخشی از کد مورد نیاز را در سیستم خودم نداشتم. مجبور شدم روی سیستم یکی دیگر از توسعه‌دهنده‌های تیم، این کار را انجام دهم اما او هم ابزاری که برای به‌روزرسانی سایت لازم بود را نداشت. در نهایت کدی را که روی سیستم او ایجاد کرده بودم، به یک فلش منتقل کردم و بعد از انتقال فلش به کامپیوتر متوجه شدم که ساپورت نمی‌شود.»

«با هزار بدبختی، کد را از یک سیستم دیگر به کامپیوتر خودم منتقل کردم و تمام مراحل به‌روزرسانی را از طریق کامپیوترم انجام دادم تا یک به‌روزرسانی ساده که باید نهایتا ۱۰ دقیقه طول می‌کشید، با دردسرهای فراوان و صرف وقت زیاد، انجام شود.»

این مشکلات فقط محدود به یک سایت نبود و تیم فرانت‌اند که مسئولیت به‌روزرسانی هفت وب‌سایت تیم رسانه‌ای زومیت و پنل کاربری را به‌ عهده دارند، مجبور شدند هشت بار این فرايند طولانی را تکرار کنند. علاوه‌ بر این، وب‌سایت‌ها نسخه دسکتاپ و موبایل هم دارند که باعث می‌شود این فرایند ۱۶ بار تکرار شود.

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

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

چالش بستن کامنت‌های سایت از نظر تیم توسعه

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

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

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

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

چالش‌های بخش محصول؛ زمانی که به جهان دسترسی نداریم

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

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

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

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

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

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

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

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

تبلیغات
تبلیغات

نظرات