Обо мне
Кто делает сайты и как
Я веб-разработчик: делаю лендинги и небольшие сервисы на Go. Почти все проекты на этом сайте учебно-демонстрационные: бренды вымышленные, данные демо, код приватный и открывается по запросу. Исключение — один реализованный клиентский сайт (клиента не называю).
Здесь нет отзывов и цифр о заказах: показываю только то, что можно проверить, то есть работающий код, тесты и README с ограничениями.
Принципы
- 01
Просто и проверяемо
Стандартная библиотека Go, понятная структура пакетов, тесты на то, что действительно важно: конкурентный захват задач, двойная бронь, протокол WebSocket.
- 02
Честные ограничения
В каждом README есть раздел «Ограничения»: один токен вместо ролей, один процесс, at-least-once вместо exactly-once. Лучше сказать заранее, чем объяснять потом.
- 03
Доступность по умолчанию
Контраст по WCAG AA, видимый фокус, работа с клавиатуры, уважение к prefers-reduced-motion, mobile-first вёрстка.
- 04
Без секретов в коде
Настройки идут через переменные окружения, токены генерируются при старте, если не заданы.
- 05
Один бинарник
Фронтенд встроен в Go-сервис через embed, запуск не требует установки зависимостей; для SQLite используется драйвер без CGO.
Как мы будем работать
- 01
Разговор
Выясняем задачу, аудиторию и ограничения. Если сайт не нужен, скажу об этом сразу.
- 02
Договорённости
Состав работ, сроки и что считается готовым. Письменно, без сюрпризов.
- 03
Сборка
Короткие итерации: промежуточный результат можно открыть и потрогать.
- 04
Проверка
Тесты, мобильные экраны, доступность, нагрузка на форму и API.
- 05
Запуск
Docker-образ или статика, инструкция по запуску, передача кода.
Честно о границах
- Почти все проекты учебно-демонстрационные; один сайт — реализованный клиентский, имя клиента не называется. Отзывы и цифры по заказам здесь не заявляются.
- Race-детектор (go test -race) на моей рабочей машине не запускается из-за отсутствия C-компилятора; он выполняется в CI.
- Свой слой WebSocket не проходил Autobahn Test Suite: корректность проверена собственными тестами. В продакшене разумнее брать проверенную библиотеку.
- Демо-данные в проектах (история мониторинга, ссылки, задачи) сгенерированы и помечены в интерфейсах как демо.
- Контакты: только почта. Телефон и соцсети намеренно не указаны.