Архив автора: Yuriy Artamonov

Yuriy Artamonov

До последнего времени Юрий принимал активное участие в разработке опенсорс-фреймворка CUBA Platform, специализируясь на архитектуре и фронтенд-технологиях. Преподавал в Самарском университете разработку приложений для мобильных устройств, основы UI/UX и менторил студентов. В настоящее время работает в компании JetBrains в команде IntelliJ IDEA Ultimate. Когда выдаётся свободное время, пишет статьи и контрибьютит в проекты с открытым исходным кодом. Обожает реализовывать странные идеи с лозунгом: «А почему бы и нет?».

Используем Leaflet JS для географических данных

Итак, задача на сегодня:

  1. Отобразить некий уголок земного шара на карте
  2. Выделить интересную область карты
  3. Пометить ключевые объекты
  4. Добавить описания
  5. Реагировать на зум карты, отображая только нужную информацию

Для всего этого воспользуемся открытыми картами — Open Street Map и библиотекой JavaScript — Leaflet JS.

Читать далее »

Встраиваем Jetty

Про встраивание веб-сервера Jetty написано много руководств, где чаще всего приводят такой код:

И тут нас ждёт разочарование — мы должны запускать Jetty с ресурсами из файловой системы:

  • «/WEB-INF/web.xml»
  • «../src/main/webapp»

Появляется ощущение, что нас кто-то обманул, и на душе горько.
Меня не остановил этот провал, и я пошёл до конца.

Читать далее »

Университетские работы студентов СГАУ на Github

ssau-github
Студенты СГАУ теперь могут писать проекты на Github под флагом университета.
Всех ждём тут: samara-state-aerospace-university

Приветствуются лабораторные, курсовые и дипломные работы. Не дайте сгинуть им в небытье!

Операционные системы и фарс с производительностью

Закончился простой тест производительности двух ОС: Windows 7 и Linux (Xubuntu 12.10)

Эксперимент:

  1. Выбирается проект на Java, с большим числом модулей, проектных файлов, зависимостей и этапов сборки
  2. Собирается начисто без замеров времени
  3. Собирается повторно, время замеряется, этот этап повторяется несколько раз, вычисляется среднее время

Использовались: система сборки Gradle (режим --daemon), JDK 1.7_13 (x64).
Файловые системы: Windows — NTFS, Linux — ext4.
Все ОС в тесте 64-битные, файлы проекта и файлы системы (а также приложений) расположены на разных физических дисках.
Для виртуальной машины использовался Oracle Virtual Box (4.1), в качестве хоста Windows 7, без дополнительного дискового кэша на стороне VM.

Итого:

Операционная система Время сборки, сек (PC 1) Время сборки, сек (PC 2) Время сборки, сек (PC 3)
Windows 7 20.5 22.0 21.2
VM Xubuntu 12.10 14.6
Xubuntu 12.10 9.4 9.6

Приведённые результаты для машины, на которой пробовались все варианты ОС, получены без специальных настроек производительности.

Результаты плачевны. И можно сколь угодно спорить о настройках, тюнинге, особенностях. Интегральная производительность вот такая.
Ну а я уже перешёл на правильную ОС.

Сортировка вставками

Сегодня мы рассмотрим реализацию алгоритма сортировки вставками на Scala. Это очень интересный алгоритм сортировки, не быстрый (сложность O(n^2)), но обладающий парой особенностей:

  1. Не сортирует уже упорядоченные данные
  2. Позволяет выполнять сортировку динамически выбираемых данных

Для начала случай с сортировкой массива:

Читать далее »

Собираем проект на Scala при помощи Gradle

Итак, сегодня мне вдруг захотелось написать проект на Scala.
Как быть? Куда бежать?

Для проекта требуется:

  1. Скрипт сборки для работы без IDE
  2. Возможность запускать тесты при помощи скрипта сборки
  3. Маленький скрипт сборки, лучше без XML
  4. Возможность генерации проектных файлов IDE с настроенным окружением для работы
  5. Интеграция с IDE на уровне зависимостей

Читать далее »

Часы медитации

Угрюмым зимним вечером хочется отдохнуть от дел насущных.

Да выпить чаю.

Упрощаем тестирование и программирование с Groovy DSL

Сложный страшный код для создания тестовых данных

Тут я даже не стал показывать пример заполнения каких-либо списков, это просто превращается в муку. Но я же не поплакать этот пост пишу!

Читать далее »

Видеонаблюдение на коленке

Преамбула

Вот захотелось Ивану Царевичу видеонаблюдение для государства своего, да так чтобы удалённое!
Чтобы, даже когда он в отпуске на карибах, он знал что в королевстве делается!

Что есть?

  1. Дешёвая камера Logitech за 500 деревянных
  2. Компьютер с белым IP
  3. Прямые руки

Реализация до боли проста: VLC + Приложение на Java

Читать далее »

Выбор багтрекера

Какую систему учёта ошибок использовать для своего проекта?

Я за свою недолгую (молодой ещё) карьеру успел попробовать многое: FlySpray, Mantis, Trac, JIRA, BugGenie. Много видел хороших идей и подходов, но всё как-то не было привязанности к чему-то одному. Недавно вопрос о выборе багтрекера встал вновь. Ну так давайте разбираться, а что ж использовать.

Читать далее »