Рубрики
Kotlin Кодинг

Kotlin после Groovy

Привет!

Хотелось бы сегодня рассказать про мой процесс перехода с Groovy на Kotlin, об отличиях, преимуществах и недостатках этих языков. Я подразумеваю что у вас уже есть опыт работы с Groovy, вы знаете и используете большинство вспомогательных методов/приемов (далее сахар).

Начнем с предпосылок смены языка на нашем проекте. Нам потребовалось срочно подготовить проект под увеличивающиеся нагрузки (примерно в 10-100 раз). Что, во-первых, привело к жесткой смене архитектуры, а во-вторых, мы решили сменить и основной язык программирования.

Рубрики
AngularJS JS Кодинг

Обновление Money-Splitter

Ездили недавно с друзьями на Алтай. Поездка вышла достаточно утомительной, но, сейчас не об этом. По окончанию поездки встал вопрос денег: кто кому и сколько должен. Кто-то ехал без наличных, кто-то, наоборот, взял денег с запасом и одалживал. В итоге, как обычно, нужно было составлять документ со всеми тратами и делить на всех.

И тут я подумал, у меня же уже есть приложение, чтобы делить один счет на всех (оно мало применимо, если расплачивался не 1 человек), почему бы не улучшить его чуть-чуть и не сделать возможность следить не только за тем кто сколько потратил, но и кто сколько заплатил.

Рубрики
AngularJS

Money-Splitter

Всем привет! После устройства на новую работу — приходится активно изучать новый стек технологий. В связи с этим, решил сделать небольшой проект на AngularJS.

Начнем с причины. Здесь все просто. Идем с друзьями, например в кафе или в магазин, покупаем целую кучу всяких штук. Расплачивается, обычно кто-нибудь один, потом остальные ему переводят деньги. В простых случаях чек достаточно ровно разделить на всех. Но, иногда, бывает что кого-нибудь это не устраивает. И тут начинается долгий расчет на бумажке кто сколько потратил.

Чтобы избавиться от необходимости это вручную считать, я создал свое простое приложение «Money Splitter«.

Рубрики
Кодинг

Денормализация для увеличения производительности

Первый раз я столкнулся с намеренной денормализацией около года назад (на самом деле уже больше, статья давно в черновиках). В то время мы (Orange[UC]e) занимались оптимизацией скорости работы нашего JavaFX клиента. В одном из отчетов необходимо было осуществлять поиск по последним цифрам номеров телефонов. А в БД номера телефонов хранились в прямом виде. К моему большому сожалению, MariaDB (форк MySQL) не имеет возможности использовать индексы при поиске по концу строки (а номера у нас хранились в виде строк). Решение данной проблемы стало добавление столбца с перевернутым номером телефона, и добавлением индекса для этого столбца. Столбец с «прямым» номером решили тоже оставить, т.к. времени на переписывание логики на использование только перевернутого номера не было. Таким образом у нас получилось 2 столбца, которые содержат одни и те же данные.

Последний раз с денормализацией для увеличения производительности я столкнулся совсем недавно (около трех месяцев назад). Здесь все получилось намного интереснее. Подробности под катом.

Рубрики
Android Без рубрики

Google картонки

Всем привет! Сегодня поговорим про виртуальную реальность 🙂

Все, наверное, уже слышали, а может даже и пробовали Oculus Rift. Если вкратце, то это «шлем» виртуальной реальности. Мало того, что он выводит картинку в 3D, так еще и реагирует на повороты головы пользователя. В общем, как только я об этой штуке узнал, сразу захотел ее себе.

Чуть позже Google решили продвинуть подобные технологии в массы и выпустили Google Cardboard. Это что то вроде бюджетной версии Oculus, где в качестве шлема выступает картон с 2 линзами, а в качестве экрана — смартфон пользователя. Эта новость меня приятно удивила, но на тот момент заказать такие — было большой проблемой. Сделать самому — возможно, но нужны линзы, а я понятия не имел где их можно взять.

Под катом — подробности про мои Google Cardboard.