
Все, от ошибок новичка до новой функции: самая дикая неделя моего страсти проекта
8 июля 2025 г.Привет, хакерн, Кувгуап здесь.
Угадай, что? У меня есть экзамены за два дня. Да, фактические университетские экзамены. А что я думаю о 24/7? RAWPA (мой помощник по тестированию на проникновение). Мой страстный проект полностью похитил мой мозг, и у меня не было бы его иначе.
Итак, хотя я должен запомнить записи лекций, я подумал, что ускорим вас с дикой поездкой за последние несколько недель. Прежде чем я погрузился в ошибки и новую функцию, я должен сказать - я искренне думаю, что навык номер один в любой технической карьере - это отладка.
Речь идет не только о поиске ошибок; Речь идет об анализе проблем, понимании и решении. Это сверхдержава. Это круто создавать что -то новое, но возможность исправить то, что сломано - будь то ваш собственный код или целевая система - это то, где происходит настоящая магия.
Во всяком случае, давайте погрузимся в ошибки и безумие.
Моя первая ошибка: "ЧТО ЧЕРЕТСЯ?" UI
Я начну с ошибки новичка, которая вернулась, чтобы укусить меня. Я никогда не делал реального дизайна UI/UX до этого проекта. Я смотрел пару видео на YouTube, вдохновленных чистым внешним видом причудливого (инструмент, который я использовал для каркаса), и только начал… рисунок.
Нет отзывчивости устройства. Нет конкретных размеров экрана. Просто прямоугольники на экране. Это хорошо выглядело на моем ПК разработке, поэтому я подумал: «Поставьте его!» Несколько недель назад тестер по праву отметил, что мобильный вид был полностью сломан. Я провел два полных дня, разбросав этот беспорядок и делая приложение по -настоящему отзывчивым. Извлеченный урок: Подумайте обо всех экранах с первого дня.
Ошибка, которая закрыла Rawpa вниз
Помимо этого ... около двух дней назад я заметил, что функции на Rawpa провалились. Методологии не загружались, и другие данные отсутствовали. Быстрый взгляд на мою консоли рассказала историю:
FirebaseError: [code=resource-exhausted]: Quota exceeded.
Я ударил16 000 чтений и 20 000 пишетза один день. Это вся бесплатная квота на Firebase. С 33 пользователями это было безумно. Я был ошеломлен. Я мог бы либо подождать день, пока квота сбросится, либо я мог бы положить свою детективную шляпу и отладку.
Виновник? Серия логических ошибок, рожденных в ночных сессиях кодирования.
Бесконечная петля:Я создал функцию, которая непрерывно проверяла Firestore для обновлений, в случае, если я использовал свою панель администратора, чтобы отключить методологию. Это был глупый, грубый способ решения проблемы, и она забивала базу данных.
Синдром сонный дев:Новая функция, которую я строил, необходим для спасения его состояния. Вместо использования
localStorage
Для частых, небольших обновлений я писал в Firestore при каждом изменении. Почему? Потому что я был сонным и не думал прямо.
Кроме того, приложение загружало все функции Firestore при запуске, создавая очередь, которая привела к безумному времени нагрузки - иногда до 10 секунд. Я знал, что исправление, вероятно, кэшировало с чем -то вроде Redis, но я колебался. Это означало больше сложности и перемещения вещей на Vercel, который имеет ограничение на свободный план 12-API.
Угадай, что? Я все равно сделал это. Я интегрировалUpstash Redisдобавил переменные среды, внесли несколько изменений и бум - скорость значительно улучшилась. Иногда я бы хотел, чтобы я начал с next.js, но после неудачной попытки мигрировать я придерживаюсь своей настройки React + Vite и заставляю ее работать.
Новая функция, родившая
Итак, какова эта новая особенность, которую я создал, вызвал все хаос?
Это началось, когда я работал над целью Hackerone. Я использовал свой другой инструмент, Aawert, для Recon и понял, что мой мыслительный процесс полностью изменился с момента создания RAWPA. У меня было 79 субдоменов, чтобы проверить. Вместо того, чтобы использовать автоматический инструмент, такой как очевидец, я прошел через них вручную (я знаю, мне нравится хлопот).
Я нашел интересные конечные точки и потенциальные уязвимости, но у меня не было организованного способа отслеживать их, не теряя основного поезда мыслей. Тогда это поразило меня.
ПредставлениеПравление ОхотникаПолем
Это доска в стиле Канбан, построенная непосредственно в Rawpa, предназначенную для того, как думает Пентерестер. Вы можете создавать карты для всего: домены, методологии, выводы, отчеты, фрагменты кода, инструменты, вы называете это.
Когда я проверял эти 79 субдоменов, я разрабатывал эту доску. Я нашел нефильтрованный параметр поиска в одной конечной точке-обход основного фильтра UTF-8-и сразу же создал для нее карту, добавив ссылку и мои заметки. Это просто… нажало.
Правление Охотника сейчас живет на сайте! Вы можете проверить это сейчас.
Как быстрое обновление, я временно удалилRAWPA AIиПендовый оркестраторфункции. Мне нужно оптимизировать их и исправить некоторые проблемы с бэкэнд, прежде чем они будут готовы к прайм -тайм, и я хочу, чтобы опыт пользователя был идеальным.
Я упоминал, что у меня есть экзамены за два дня? Фу. Я постараюсь опубликовать еще пару обновлений, прежде чем я стану темным для учебы.
До следующего раза помните, что Rawpa - это общественный проект. Если у вас есть идеи, обратная связь или вы хотите внести свой вклад, используйте функцию «внести свой вклад» на сайте или свяжитесь со мной наLinkedInПолем Проверьте проект наhttps://rawpa.vercel.app/Полем
Мозг только начинается.
Оригинал