👋 Привет! Это CodeToGo (Код на вынос)
Канал про IT и все, что с ним связано. Делюсь опытом, находками и размышлениями.
Что будет:
- 📚 Истории из IT-практики (поучительные, смешные, странные)
- 🔍 Разборы проектов и кейсов
- 💥 Честные рассказы о факапах и уроках
- 📝 Обзоры того, что зацепило
- 🧠 Мысли вслух на около-IT темы
Иногда с кодом, иногда без. Иногда серьезно, иногда нет.
Короче, добро пожаловать в мои IT-заметки!
Подписывайтесь и включайте 🔔, чтобы ничего не пропустить.
#welcome #it #опыт #кейсы #факапы #ит #itshchen
Канал про IT и все, что с ним связано. Делюсь опытом, находками и размышлениями.
Что будет:
- 📚 Истории из IT-практики (поучительные, смешные, странные)
- 🔍 Разборы проектов и кейсов
- 💥 Честные рассказы о факапах и уроках
- 📝 Обзоры того, что зацепило
- 🧠 Мысли вслух на около-IT темы
Иногда с кодом, иногда без. Иногда серьезно, иногда нет.
Короче, добро пожаловать в мои IT-заметки!
Подписывайтесь и включайте 🔔, чтобы ничего не пропустить.
#welcome #it #опыт #кейсы #факапы #ит #itshchen
❤🔥1🎉1🤩1
🤦♂️ Факап: Легаси монолит и его секреты
Получаю в работу старый PHP-монолит. README есть… но
Коллеги? Утонули в митингах. Никто не подскажет.
Думаю: "Ну ок, пара переменных для БД…"
Стандартные
Пришлось включать дедукцию:
И вот оно —
Собираю пазл:
Иду в GitLab → Settings → CI/CD → Variables. Не все репозитории доступны, не все креды нашёл...
Но имя базы удалось вытащить из связанного проекта. А зная имя и имея доступ к базе — остальное дело техники.
Монолит завёлся! ✅
Вывод: в legacy проектах свои правила.
Не угадывай — ищи систематически.🔍
P.S.после того, как нашел — документируй, впрочем это уже совершенно другая история 😅
А вы сталкивались с подобными монолитами? Как находили скрытые переменные? Делитесь в комментариях👇
#факап #legacy #монолит #codetogo #itshchen
Получаю в работу старый 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 на месте, всё будет легко…"
Открываю. А там всего два шага:
И всё 😅
Ни про переменные окружения, ни про сторонние сервисы (S3, Redis, очереди), ни про то, в каком порядке запускать утилиты.
Спрашиваю у коллег: "А где дока?"
Ответ: "А, ну там всё в Confluence описано, но в старом разделе, а ещё часть на Notion, а ещё один человек писал себе локальные заметки…"
Короче, документация была. Но раскидана по трём системам и половина устарела.
Итог: вместо часа на развёртывание я убил два дня. Сначала собирал информацию по крупицам, потом писал нормальный README, а заодно добавил docs/SETUP с пошаговой инструкцией.
✅ Теперь любой новичок разворачивает проект за 20 минут!
Вывод:
Документация – это не "потом". Если сегодня её нет, завтра её будут искать все. Лучше потратить лишний час сейчас, чем два дня потом.
А вы?
Документация у вас централизована или "у каждого своя система"? Делитесь опытом 👇
#факап #документация #codetogo #itshchen
Есть проект: микросервис на Node.js + пара Go-шных утилит. Всё работает, CI настроен, деплой катится без проблем. Казалось бы – живи и радуйся.
Но приходит день, когда нужно поднять проект с нуля.
Думаю: "Окей, README на месте, всё будет легко…"
Открываю. А там всего два шага:
git clone ...
npm install
И всё 😅
Ни про переменные окружения, ни про сторонние сервисы (S3, Redis, очереди), ни про то, в каком порядке запускать утилиты.
Спрашиваю у коллег: "А где дока?"
Ответ: "А, ну там всё в Confluence описано, но в старом разделе, а ещё часть на Notion, а ещё один человек писал себе локальные заметки…"
Короче, документация была. Но раскидана по трём системам и половина устарела.
Итог: вместо часа на развёртывание я убил два дня. Сначала собирал информацию по крупицам, потом писал нормальный README, а заодно добавил docs/SETUP с пошаговой инструкцией.
✅ Теперь любой новичок разворачивает проект за 20 минут!
Вывод:
Документация – это не "потом". Если сегодня её нет, завтра её будут искать все. Лучше потратить лишний час сейчас, чем два дня потом.
А вы?
Документация у вас централизована или "у каждого своя система"? Делитесь опытом 👇
#факап #документация #codetogo #itshchen
🔥2👍1
🕒 Магический cronjob
Есть проект на старом сервере. Всё работает, но иногда “само чинится”.
Один сервис падает, через пару минут – снова жив. Пока он в рамках текущего окружения – не критично, но на носу запланирована миграция. Думаю: "Чудеса?".
Начинаю разбираться. Логи пустые. Мониторинг молчит. Но каждый день в одно и то же время сервис как будто "перезапускается".
Оказалось: ещё 5 лет назад админ добавил cronjob с рестартом сервиса каждый час. Без документации. Без комментария.
И да, этот “магический костыль” маскировал реальные проблемы с памятью.
✅ настроил нормальный мониторинг, исправил утечки и только после этого убрал этот
Вывод: если что-то работает "само собой" – скорее всего, это кто-то тайно подставил костыли.
А у вас попадались такие "магические
#факап #cron #legacy #codetogo #itshchen
Есть проект на старом сервере. Всё работает, но иногда “само чинится”.
Один сервис падает, через пару минут – снова жив. Пока он в рамках текущего окружения – не критично, но на носу запланирована миграция. Думаю: "Чудеса?".
Начинаю разбираться. Логи пустые. Мониторинг молчит. Но каждый день в одно и то же время сервис как будто "перезапускается".
Оказалось: ещё 5 лет назад админ добавил cronjob с рестартом сервиса каждый час. Без документации. Без комментария.
И да, этот “магический костыль” маскировал реальные проблемы с памятью.
✅ настроил нормальный мониторинг, исправил утечки и только после этого убрал этот
cronjob. Сервис перестал "умирать" и "воскресать".Вывод: если что-то работает "само собой" – скорее всего, это кто-то тайно подставил костыли.
А у вас попадались такие "магические
cron’ы"? Делитесь историями 👇#факап #cron #legacy #codetogo #itshchen
🔥2👍1
🎉 Каналу всего несколько дней, а у меня за мой трудовой стаж накопилось куча историй для вас.
И да — факапов в IT хватает, и старых, и новых 😅
Но! Я не хочу, чтобы "Код на вынос" был только заметками факапера🥲
Иногда хочется делиться мыслями, наблюдениями и просто разговаривать об IT.
Так что впереди будут не только "как я облажался", но и "как я смотрю на профессию", "какие вещи/темы/тренды/штуки меня зацепили" и даже немного философии 💭
👉 Кстати, в комментариях можете написать, о чём интереснее было бы почитать!
В общем, будет разно, но так или иначе около ИТ! 👍
Подписывайтесь и включайте 🔔, чтобы ничего не пропустить.
#планы #itlife #codetogo #itshchen
И да — факапов в IT хватает, и старых, и новых 😅
Но! Я не хочу, чтобы "Код на вынос" был только заметками факапера🥲
Иногда хочется делиться мыслями, наблюдениями и просто разговаривать об IT.
Так что впереди будут не только "как я облажался", но и "как я смотрю на профессию", "какие вещи/темы/тренды/штуки меня зацепили" и даже немного философии 💭
👉 Кстати, в комментариях можете написать, о чём интереснее было бы почитать!
В общем, будет разно, но так или иначе около ИТ! 👍
Подписывайтесь и включайте 🔔, чтобы ничего не пропустить.
#планы #itlife #codetogo #itshchen
🎉2🤩1