Больше года назад я запустил SVG4Читать полностью »
Больше года назад я запустил SVG4Читать полностью »
Недавно я запустил небольшой хобби-проект GameStory — сервис, в котором можно собирать игровые коллекции, отмечать прохождения, выставлять оценки и сохранять свою игровую историю. Изначально проект планировался вообще как личный, но, увидев поддержку друзей, я решил превратить его во что-то большее.
Одной из функций проекта стал календарь прохождений. Он показывает, в какие дни пользователь играл, начинал или заканчивал игры. Я рассчитывал, что календарём будут пользоваться люди — ну или хотя бы один человек: я.
Первым по-настоящему заинтересовался робот.
За один день он открыл мой календарь 88 632 разаЧитать полностью »
Изначально это был монолитный портал на Laravel 8, где user‑фронт и admin‑фронт лежали рядом с беком в одной папке.
Проект ставился каждому клиенту на его собственный хостинг, и единого портала «для всех» не существовало, между клиентами отличался и бек, и фронт.
Для крупной федеральной компании из телеком-сектора наша команда разработала закрытую семейную платформу для сотрудников и их детей. Один родительский аккаунт объединяет несколько детских профилей, а внутри находятся тематические районы, викторины, мини-игры, творческие задания, личный прогресс, баллы и общий рейтинг.
Я аналитик, а не разработчик. Весь код для созданной нами платформы написал Claude Opus через Claude Code. Рассказываю без хайпа: как выглядит реальный workflow, где нейросеть незаменима, где она бесполезна, и какая инженерная дисциплина обязательна, чтобы это не превратилось в тыкву на боевом.
Сразу обозначу рамку, чтобы снять половину вопросов из комментариев.
Я не умею писать продакшн‑код. Я аналитик: читаю код, рассуждаю о системах, проектирую поведение — но профессионально не кодю. Тем не менее у нас в проде работает нетривиальное веб‑приложение, и каждую строчку кода написала нейросетьЧитать полностью »
MyPrepod — крупнейший портал отзывов о преподавателях российских ВУЗов. Он стал таким не только засчет того, что даже на момент MVP 2017 года он был UX‑удобнее для студентов, чем СтудИзба или professorrating, но и засчет полной анонимности. Можно написать отзыв о преподе с умного холодильника Samsung, без авторизаций и пред‑модерации. Сказать все, что бы хотел сказать, не опасаясь «пометочки» от преподавателя около твоей фамилии, и уже спокойным пойти на пересдачу.
Проблема N+1 стара как мир. Инструментов много: Debugbar хорош локально, Telescope тяжеловат для продакшена. Мне хотелось решения, которое будет «стучать» в Slack или Telegram именно тогда, когда проблема случилась на проде, и при этом сразу показывать пальцем на виновную строку кода.
Основная магия происходит через подписку на события базы данных в Laravel. В сервис-провайдере пакета мы слушаем QueryExecuted:
DB::listen(function (QueryExecuted $query) {
// 1. Проверяем дубликаты (N+1) по хэшу SQL
// 2. Замеряем время выполнения (Slow Query)
// 3. Если порог превышен — запускаем репортеры
});
Привет! Недавно мы с проектом (а по факту я в гордом одиночестве) переезжали с MySQL на PostgreSQL. Зачем? Проект — гео‑сервис для рыбаков: карта с точками, поиск рядом, фильтры по регионам, водоёмам и рыбам. MySQL стал тормозить на гео‑запросах, а PostGIS обещал скорость и порядок. Плюс мы всё равно переезжали на новый VDS – решили заодно сменить СУБД, пока данных не стало неприлично много.
Продом обкатано: читать будет полезно.
1. Исходные данные (чтобы понимали масштаб)
Проект не огромный, но и не игрушечный:
В современной разработке критически важно отслеживать состояние всех компонентов приложения. Особенно это актуально для production-окружений, где каждая минута простоя может стоить денег и репутации. Сегодня я хочу рассказать о пакете Laravel Pulse — инструменте для комплексного мониторинга здоровья Laravel-приложений.
Laravel Pulse — это пакет для Laravel, который позволяет отслеживать состояние различных компонентов вашего приложения: базы данных, Redis, файловых хранилищ, Horizon, Node.js окружения и даже проверять безопасность зависимостей через Security Checker.
Пакет предоставляет:
✅ Команды Artisan для проверки всех компонентов