Все, от ошибок новичка до новой функции: самая дикая неделя моего страсти проекта

Все, от ошибок новичка до новой функции: самая дикая неделя моего страсти проекта

8 июля 2025 г.

Привет, хакерн, Кувгуап здесь.

Угадай, что? У меня есть экзамены за два дня. Да, фактические университетские экзамены. А что я думаю о 24/7? RAWPA (мой помощник по тестированию на проникновение). Мой страстный проект полностью похитил мой мозг, и у меня не было бы его иначе.

Итак, хотя я должен запомнить записи лекций, я подумал, что ускорим вас с дикой поездкой за последние несколько недель. Прежде чем я погрузился в ошибки и новую функцию, я должен сказать - я искренне думаю, что навык номер один в любой технической карьере - это отладка.

Речь идет не только о поиске ошибок; Речь идет об анализе проблем, понимании и решении. Это сверхдержава. Это круто создавать что -то новое, но возможность исправить то, что сломано - будь то ваш собственный код или целевая система - это то, где происходит настоящая магия.

Во всяком случае, давайте погрузимся в ошибки и безумие.

Моя первая ошибка: "ЧТО ЧЕРЕТСЯ?" UI

Я начну с ошибки новичка, которая вернулась, чтобы укусить меня. Я никогда не делал реального дизайна UI/UX до этого проекта. Я смотрел пару видео на YouTube, вдохновленных чистым внешним видом причудливого (инструмент, который я использовал для каркаса), и только начал… рисунок.RAWPA login vs Whimsical login

Нет отзывчивости устройства. Нет конкретных размеров экрана. Просто прямоугольники на экране. Это хорошо выглядело на моем ПК разработке, поэтому я подумал: «Поставьте его!» Несколько недель назад тестер по праву отметил, что мобильный вид был полностью сломан. Я провел два полных дня, разбросав этот беспорядок и делая приложение по -настоящему отзывчивым. Извлеченный урок: Подумайте обо всех экранах с первого дня.

Ошибка, которая закрыла Rawpa вниз

Помимо этого ... около двух дней назад я заметил, что функции на Rawpa провалились. Методологии не загружались, и другие данные отсутствовали. Быстрый взгляд на мою консоли рассказала историю:

FirebaseError: [code=resource-exhausted]: Quota exceeded.

Я ударил16 000 чтений и 20 000 пишетза один день. Это вся бесплатная квота на Firebase. С 33 пользователями это было безумно. Я был ошеломлен. Я мог бы либо подождать день, пока квота сбросится, либо я мог бы положить свою детективную шляпу и отладку.Firestore quota reached

Виновник? Серия логических ошибок, рожденных в ночных сессиях кодирования.

  1. Бесконечная петля:Я создал функцию, которая непрерывно проверяла Firestore для обновлений, в случае, если я использовал свою панель администратора, чтобы отключить методологию. Это был глупый, грубый способ решения проблемы, и она забивала базу данных.

  2. Синдром сонный дев:Новая функция, которую я строил, необходим для спасения его состояния. Вместо использованияlocalStorageДля частых, небольших обновлений я писал в Firestore при каждом изменении. Почему? Потому что я был сонным и не думал прямо.

Кроме того, приложение загружало все функции Firestore при запуске, создавая очередь, которая привела к безумному времени нагрузки - иногда до 10 секунд. Я знал, что исправление, вероятно, кэшировало с чем -то вроде Redis, но я колебался. Это означало больше сложности и перемещения вещей на Vercel, который имеет ограничение на свободный план 12-API.

Угадай, что? Я все равно сделал это. Я интегрировалUpstash Redisдобавил переменные среды, внесли несколько изменений и бум - скорость значительно улучшилась. Иногда я бы хотел, чтобы я начал с next.js, но после неудачной попытки мигрировать я придерживаюсь своей настройки React + Vite и заставляю ее работать.Upstash console

Новая функция, родившая

Итак, какова эта новая особенность, которую я создал, вызвал все хаос?

Это началось, когда я работал над целью Hackerone. Я использовал свой другой инструмент, Aawert, для Recon и понял, что мой мыслительный процесс полностью изменился с момента создания RAWPA. У меня было 79 субдоменов, чтобы проверить. Вместо того, чтобы использовать автоматический инструмент, такой как очевидец, я прошел через них вручную (я знаю, мне нравится хлопот).

Я нашел интересные конечные точки и потенциальные уязвимости, но у меня не было организованного способа отслеживать их, не теряя основного поезда мыслей. Тогда это поразило меня.

ПредставлениеПравление ОхотникаПолем

Hunter's Board

Это доска в стиле Канбан, построенная непосредственно в Rawpa, предназначенную для того, как думает Пентерестер. Вы можете создавать карты для всего: домены, методологии, выводы, отчеты, фрагменты кода, инструменты, вы называете это.

Когда я проверял эти 79 субдоменов, я разрабатывал эту доску. Я нашел нефильтрованный параметр поиска в одной конечной точке-обход основного фильтра UTF-8-и сразу же создал для нее карту, добавив ссылку и мои заметки. Это просто… нажало.

Правление Охотника сейчас живет на сайте! Вы можете проверить это сейчас.

Как быстрое обновление, я временно удалилRAWPA AIиПендовый оркестраторфункции. Мне нужно оптимизировать их и исправить некоторые проблемы с бэкэнд, прежде чем они будут готовы к прайм -тайм, и я хочу, чтобы опыт пользователя был идеальным.

Я упоминал, что у меня есть экзамены за два дня? Фу. Я постараюсь опубликовать еще пару обновлений, прежде чем я стану темным для учебы.

До следующего раза помните, что Rawpa - это общественный проект. Если у вас есть идеи, обратная связь или вы хотите внести свой вклад, используйте функцию «внести свой вклад» на сайте или свяжитесь со мной наLinkedInПолем Проверьте проект наhttps://rawpa.vercel.app/Полем

Мозг только начинается.


Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE