Новокшанов Евгений
Backend-разработчик
Backend разработчик с опытом разработки микросервисов. Специализируюсь на разработке на таких языках как Golang, Python, C++. Позитивный, открытый, исполнительный, умею работать в команде. Есть желание развивать свои hard и soft skills. Готов справляться с любыми препятствиями для решения поставленных задач.
Разработка облачно-ориентированного языкового сервера для Go

Стек проекта
- Golang: go/packages, go/parser, go/types
- LSP (Language Server Protocol)
- go-git
- VS Code Extension API
Проблема
Традиционные языковые серверы (gopls) не адаптированы для облачных IDE. Основные ограничения:
- - Монолитная архитектура: холодный старт занимает десятки секунд
- - Ориентация на локальное состояние
- - Неэффективная работа с историей версий кода
Решение
Этап 1: Семантический анализ
- Использование go/packages для загрузки проекта
- Построение AST через go/parser
- Анализ типов с помощью go/types
Этап 2: Поисковый индекс
- Трансформация модели в оптимизированный индекс (KSU)
- Хранение определений и использований
- Быстрый поиск по символам
Архитектура

- 1. Клиент (VS Code) → LSP запросы
- 2. Языковой сервер → Обработка запросов
- 3. Индексер → Построение KSU индекса
- 4. Git-интеграция → Индексация истории коммитов
Результаты
- ✓ Реализовано ядро анализатора Go-кода
- ✓ Разработан прототип LSP-сервера
- ✓ Поддержка навигации в крупных проектах (Kubernetes)
- ✓ Индексация по Git-коммитам
- ✓ ~3000 строк кода на Go