Задача
Собрать материал так, чтобы каждый урок открывался самостоятельно, сохранял структуру обучения и не зависел от соседних файлов или внешних библиотек.
Проекты · 2028
Четыре проекта показывают полный цикл моей работы: от структуры пользовательского опыта до тестов, серверной логики и защищённой обработки внешних данных.
Learning experience · HTML delivery
Комплект из 15 самостоятельных уроков и 15 отдельных тестов для последовательного обучения на трёх рабочих станциях.
Собрать материал так, чтобы каждый урок открывался самостоятельно, сохранял структуру обучения и не зависел от соседних файлов или внешних библиотек.
Разделил программу на три пятидневных маршрута, встроил стили, изображения, схемы и видео, вынес тесты в отдельные страницы и подготовил единый формат контрольных точек.
Релизный пакет содержит 37 файлов. Внутренняя структура, CRC и manifest-проверка прошли успешно; видеоматериалы приведены к MP4/H.264 с AAC.
Frontend · Interaction design
Набор переносимых HTML-приложений с собственным контентом, изображениями и интерактивной логикой.
Подготовить шесть курсов так, чтобы пользователь мог открыть каждый файл отдельно и пройти материал без установки зависимостей и подключения к сети.
Встроил данные и сценарии в HTML, реализовал состояния заданий, повторные попытки и обработку ошибок хранилища. Сохранил единый визуальный язык и мобильную структуру.
Финальная папка содержит ровно шесть курсов и два отчёта. Выполнено 24 проверки адаптивных страниц; тренажёр прошёл 7 сценариев и 35 вариантов решений.
Application security · Python
Усиление учебного Python-сервиса против обращений к внутренним адресам и неконтролируемого потребления ресурсов.
Закрыть небезопасное принятие loopback, private и link-local адресов, проверить DNS-ответы и ограничить размер и длительность входных медиа до создания временных файлов.
Создал изолированную исправленную копию, добавил проверку credentials, портов, IP и каждого DNS-ответа. Ограничил заявленный размер 1 ГиБ и длительность четырьмя часами.
До исправления исходная версия не проходила 4 из 5 security-регрессий. Исправленная версия прошла 5 из 5 защитных и 7 из 7 обычных тестов без реальных сетевых запросов.
Backend · Data integrity
Apps Script и Google Sheets как доверенный контур для доступа, оценивания, прогресса и истории попыток.
Убрать критичную бизнес-логику из браузера, не отдавать правильные ответы клиенту и не принимать присланный пользователем процент как итог обучения.
Реализовал серверные методы получения заданий и отправки ответов, проверку назначения, полноты и допустимых вариантов. Результаты записываются в Attempts, Answers и Progress.
Набор содержит 39 реальных вопросов. Подменённые клиентом значения score=999 и percent=100 были проигнорированы: сервер сохранил фактический результат 1/2, или 50%.
Компетенции
На отдельной странице собраны технологии, практики и результаты, в которых они применялись.
Открыть компетенции