Код на вынос
16 subscribers
1 photo
4 links
Про то, как решения сталкиваются с реальностью.
Факапы, идеи, опыт, код — без глянца.
Download Telegram
Channel created
👋 Привет! Это CodeToGo (Код на вынос)

Канал про IT и все, что с ним связано. Делюсь опытом, находками и размышлениями.

Что будет:
- 📚 Истории из IT-практики (поучительные, смешные, странные)
- 🔍 Разборы проектов и кейсов
- 💥 Честные рассказы о факапах и уроках
- 📝 Обзоры того, что зацепило
- 🧠 Мысли вслух на около-IT темы

Иногда с кодом, иногда без. Иногда серьезно, иногда нет.

Короче, добро пожаловать в мои IT-заметки!
Подписывайтесь и включайте 🔔, чтобы ничего не пропустить.

#welcome #it #опыт #кейсы #факапы #ит #itshchen
❤‍🔥1🎉1🤩1
🤦‍♂️ Факап: Легаси монолит и его секреты

Получаю в работу старый PHP-монолит. README есть… но .env — нет. .env.example? Тоже нет.
Коллеги? Утонули в митингах. Никто не подскажет.

Думаю: "Ну ок, пара переменных для БД…"
Стандартные DB_HOST, DATABASE_URL, MYSQL_HOST... Ничего 😤

Пришлось включать дедукцию:
grep -r "getenv(" .


И вот оно — LEGACY_DB_CONNECTION_STRING, OLD_SYSTEM_DB_CREDS и ещё куча неожиданных имён. Угадать их? Практически нереально.

Собираю пазл: .env начинает вырисовываться.
Иду в GitLab → Settings → CI/CD → Variables. Не все репозитории доступны, не все креды нашёл...
Но имя базы удалось вытащить из связанного проекта. А зная имя и имея доступ к базе — остальное дело техники.

Монолит завёлся!

Вывод: в legacy проектах свои правила.
Не угадывай — ищи систематически.🔍

P.S. после того, как нашел — документируй, впрочем это уже совершенно другая история 😅

А вы сталкивались с подобными монолитами? Как находили скрытые переменные? Делитесь в комментариях👇

#факап #legacy #монолит #codetogo #itshchen
🔥2👍1
📑 Документация? Потом, потом… а потом поздно

Есть проект: микросервис на Node.js + пара Go-шных утилит. Всё работает, CI настроен, деплой катится без проблем. Казалось бы – живи и радуйся.

Но приходит день, когда нужно поднять проект с нуля.
Думаю: "Окей, README на месте, всё будет легко…"

Открываю. А там всего два шага:

git clone ...
npm install

И всё 😅

Ни про переменные окружения, ни про сторонние сервисы (S3, Redis, очереди), ни про то, в каком порядке запускать утилиты.
Спрашиваю у коллег: "А где дока?"
Ответ: "А, ну там всё в Confluence описано, но в старом разделе, а ещё часть на Notion, а ещё один человек писал себе локальные заметки…"

Короче, документация была. Но раскидана по трём системам и половина устарела.

Итог: вместо часа на развёртывание я убил два дня. Сначала собирал информацию по крупицам, потом писал нормальный README, а заодно добавил docs/SETUP с пошаговой инструкцией.

Теперь любой новичок разворачивает проект за 20 минут!

Вывод:
Документация – это не "потом". Если сегодня её нет, завтра её будут искать все. Лучше потратить лишний час сейчас, чем два дня потом.

А вы?
Документация у вас централизована или "у каждого своя система"? Делитесь опытом 👇

#факап #документация #codetogo #itshchen
🔥2👍1