Привет, Константин, вы можете начать представляться?
Привет Гиртян! Меня зовут Константин Чикарев. Последние 5 лет я работал веб-разработчиком на Java. Я живу в Москве, в Российской Федерации.
Antilogic Software — что это за компания?
Antilogic Software была создана в конце ноября 2007 года мной, хотя в будущем я соберу вокруг себя небольшую команду. Моя идея состоит в том, чтобы создать инструмент базы данных с бесплатным ядром и недорогими плагинами для разработчиков и администраторов баз данных.
Тем не менее, это не моя основная работа, и я сейчас занимаюсь разработкой Epictetus в свободное время, но я думаю, что не за горами выпуск рабочей версии.
Почему вы решили разработать инструмент базы данных?
Проект был начат моим другом и бывшим коллегой 4 или 5 лет назад, когда он сделал несколько полезных компонентов для мониторинга базы данных. Затем он решил создать кроссплатформенный и кросс-инструментальный инструмент, похожий на TOAD и PL / SQL Developer. Позже он заморозил проект и отдал его мне.
Я использовал часть этого проекта для создания Epictetus. Я уверен, что разработчикам нужен самый мощный инструмент для работы с базами данных, и не только под Windows. Во всяком случае, я один из них.
The application used to be called "Chronos" and now "Epictetus". What's the story?
Да, сначала это был «Хронос». Это была не моя идея. Хронос — греческий бог, отец других богов. Звучит эпично. ? Но для большинства людей это связано со временем. Вы можете найти множество приложений с таким именем для управления временем, периодического планирования и т. Д. Итак, я решил изменить название, пока продукт еще неизвестен. Надеюсь, Эпиктет труднее запомнить, но он уникален. Я думаю, что Эпиктет был очень интересным. Он родился рабом и стал свободным и философом. Марк Аврелий считал его своим вторым учителем после отца.
Какие базы данных поддерживает Epictetus?
Он поддерживает Oracle, MS SQL, MySQL, Firebird и HsqlDB. Я начал с них, потому что я использую их (или использовал их) сам, чтобы я мог сам выполнить тесты. Я собираюсь добавить поддержку как можно больше. Следующие базы данных, которые будут поддерживаться, будут H2 и PostgreSQL. Любой может связаться со мной и запросить поддержку для конкретной базы данных, которая будет добавлена.
Каковы основные функции инструмента?
Текущий выпуск предоставляет следующие основные функции:
- Выполнение запроса. Могут быть выполнены все текущие или выбранные части запросов с указанием результатов и времени выполнения. Есть кнопки для загрузки следующей страницы или всех данных. Вы можете изменить лимит в настройках подключения.
- Браузер объектов базы данных. Таблицы, представления, процедуры, триггеры, последовательности и т. Д. Можно просматривать.
Наиболее полезная функция здесь — загрузка первичных и внешних ключей. После загрузки вы можете увидеть выделение (первичные ключи, отмеченные красным, а внешние — синим), отредактировать данные (обновить, удалить и вставить строки) и перейти к таблице, к которой относится внешний ключ:
Вы можете просматривать BLOB и CLOB и сохранять их на диске:
И если BLOB содержит сериализованный объект Java, вы можете просмотреть его содержимое, если у вас есть такой класс в CLASSPATH. Но это секретный трюк!
- Мониторинг. На основе JFreeChart вы можете добавлять свои запросы, устанавливать периоды их выполнения и выбирать выходные поля. Эта функция может использоваться для визуальной статистики, но пока не является официальной, потому что я хочу сделать ее более удобной для пользователей.
Также обратите внимание, что Epictetus имеет многопоточную модель: во время выполнения вашего запроса вы можете редактировать текст или открывать другое окно для дальнейшей работы.
Инструмент основан на платформе NetBeans. Почему?
Прежде всего, платформа NetBeans основана на Swing. Я только что попробовал один раз и сразу понял, что мы потратили много времени на создание функциональности, которую платформа NetBeans уже имеет в комплекте бесплатно. Например, сейчас я работаю над поддержкой проекта. Я реализовал класс «ProjectFactory» в NetBeans и добавил свою реализацию в поиск NetBeans:
public class EpicProjectFactory implements ProjectFactory
{
private static final String PROJECT_FILE_NAME = "project.epic";
public boolean isProject(FileObject fileObject)
{
return fileObject.getFileObject(PROJECT_FILE_NAME) != null;
}
public Project loadProject(FileObject fileObject, ProjectState projectState) throws IOException
{
if (isProject(fileObject))
{
// load project
return new EpicProject(fileObject, projectState);
}
return null;
}
public void saveProject(Project fileObject) throws IOException, ClassCastException
{
// save project
...
}
}
С этого момента пользователь может загружать и сохранять проекты. Проекты также можно открывать и сохранять, а недавно закрытые проекты можно легко открыть.
Каковы наиболее полезные функции платформы NetBeans для вас?
- Плагины. Поскольку я хочу написать это сам, эта функция является «обязательной».
- Управление библиотекой. Я могу легко включить все, что NetBeans предоставляет в мой проект.
- Мастер действий. Всего три щелчка, и у меня есть новое действие, с пунктом меню и кнопкой на панели инструментов.
- Готовый интерфейс. Он готов к работе (окна стыковки, меню и панель инструментов, а также пользовательский интерфейс для настройки).
Также я собираюсь использовать редактор NetBeans вместо нашего.
Какие планы на будущее?
Я собираюсь продвигать продукт и создать раздел сообщества на сайте, где конечные пользователи смогут выбирать, что они хотят видеть в будущих выпусках. Вот некоторые идеи уже:
- Добавить поддержку для всех JDBC-совместимых баз данных.
- Создание плагинов для разработчиков с функциями различных баз данных.
- Сделайте плагины для администраторов баз данных (для мониторинга, миграции, репликации).
- Возможно, я добавлю скриптинг (сейчас я склонен к JavaFX).
- Вскоре я сделаю интерфейс для создания представлений, последовательностей, триггеров и других объектов, чтобы добавить автозаполнение и поддержку выполнения PL / SQL.