Rider - IDE от JetBrains для разработки под платформу .NET. Он состоит из двух частей:
Эти части соединяются по специальному протоколу и работают как единое приложение.
Для хранения данных в программах на .NET часто выбирают базу данных MS SQL Server. При этом задача IDE состоит в том, чтобы уметь устанавливать соединение с пользовательской базой данных, показывать и позволять редактировать схемы и таблицы, предлагать автодополнение в SQL коде и синхронизировать базу данных с проектами для хранение в системе контроля версий.
Для решения этой задачи в Rider сейчас подключена часть часть другого продукта JetBrains — DataGrip. DataGrip умеет устанавливать соединение с различными СУБД, в том числе с MS SQL, однако у используемого драйвера есть проблема: он не поддерживает shared memory protocol (популярный механизм подключения к MS SQL в .NET). Для доступа по другим протоколам пользователям приходится настраивать их серверное окружение, что неудобно, и не всегда возможно.
DataGrip написан на Java, и поэтому может использовать только драйверы СУБД, написанные на Java. А драйвера, поддерживающего shared memory protocol, на Java до сих пор не написали. Но существует такой драйвер, написанный на C#.
Поэтому для решения проблемы мы хотим реализовать свой адаптер для работы с БД на Kotlin, который не будет подключаться к неё напрямую, а будет вместо этого общаться с C#-бэкендом, который уже (с помощью готового драйвера) будет общаться с СУБД по протоколу Shared Memory.
В рамках задачи вам предстоит:
В качестве бонуса после реализации такого механизма можно будет подключаться к любым базам данным, к которым написаны адаптеры на .NET, но не написаны на JVM. Например, к MS Access или MS Excel.
В случае успешного выполнения задания на стажировке, мы рассматриваем возможность пригласить стажёра в команду на постоянной основе (что может быть неудобно для студентов младших курсов, кто бы хотел после стажировки вернуться к полноценной учёбе).
Вопросы по проекту можно присылать в телеграм @xtmq1
Обязательные
Будет плюсом