Космо-туманность
Категория: Эксперименты
Слои градиентов как небо
Винно-бордовое облако справа, холодный сине-серый слева, тёплое ядро, боке-точки — нарисованная CSS/канвасом туманность как фон витрины.
Теги: градиенты, фон, атмосфера
Категория: Эксперименты
Слои градиентов как небо
Винно-бордовое облако справа, холодный сине-серый слева, тёплое ядро, боке-точки — нарисованная CSS/канвасом туманность как фон витрины.
Теги: градиенты, фон, атмосфера
Ярослав Власов|Инженер-разработчик|Личная ОС и портфолио
Интерактивная 3D-сцена не запустилась: в этом браузере нет WebGL или отключён JavaScript. Ниже — то же самое текстом: кто я, чем занимаюсь, работы и контакты.
Ярослав Власов — Инженер-разработчик. СПбГУ · МКН · «Современное программирование», 2 курс. Санкт-Петербург.
Делаю системы целиком — от схемы базы и деплоя до шейдеров. Сайт, который вы сейчас крутите, и есть доказательство: он написан весь, от docker-compose до последней строки GLSL.
Личная ОС на своём сервере: планер, экзамен-мод, граф знаний, древо целей.
Next.js 16, PostgreSQL, Docker
Считает, успеешь ли к дедлайнам, и честно говорит, что подвинуть.
TypeScript, алгоритмы, тесты
Рендерер знания на голом R3F — им же нарисована эта страница.
three.js, WebGL, шейдеры
Построил: Next.js 16 + PostgreSQL + Docker Compose + Caddy с авто-HTTPS, слоёный доступ к данным (zod → repository → service).
Научился: Защита в глубину: редирект прокси — это UX, а не граница безопасности; настоящая проверка идёт первой строкой каждого серверного действия.
Построил: pg_dump → gzip → gpg одним конвейером, без открытого текста на диске; опциональная выгрузка шифрованного дампа наружу.
Научился: Бэкап без проверенного восстановления — не бэкап. И промежуточный файл на диске сводит на нет всё шифрование.
Построил: Движок приоритета и EDF-планировщик: считает, успеваешь ли к дедлайнам, и называет, что подвинуть. Всё покрыто тестами.
Научился: Алгоритм ценен ровно настолько, насколько ему верят. Поэтому планировщик не просто выдаёт план, а объясняет, почему задача оказалась выше.
Построил: Таймер и учёт фактических минут; оценки объёма подстраиваются под то, как реально идёт работа.
Научился: Обратная связь от факта к модели — дешёвый способ сделать систему точнее без единой новой формы.
Построил: Модель владения темой 0–5 поверх каталога предметов, отдельные движки расчёта, импорт плана подготовки.
Научился: Шкала владения полезнее галочки «выучил»: она показывает, где ты на самом деле, и куда идти дальше.
Построил: Граф знаний как проекционный слой над данными; Древо целей — в отдельных таблицах, с шифрованием содержимого AES-256-GCM.
Научился: Секретность надёжнее держать архитектурой, чем фильтром: приватная зона просто не импортируется публичной, и guard-тест это сторожит.
Построил: Whitelist-слепок графа наружу и отдельный редактор витрины: черновик, публикация снимком, откат.
Научился: Разделение «черновик / опубликовано» стоит одной таблицы, а спасает от главного страха — случайно показать лишнее.
Построил: Этот скролл-опыт на голом React Three Fiber: кристаллический череп, граф знаний внутри мозга, спуск по скелету, свои шейдеры пыли и туманностей.
Научился: В 3D почти любой видимый дефект — это не «не тот параметр», а не та модель. Дёрганую пыль вылечила не настройка, а переход к симуляции скоростей.