-
Заметка об экспериментах со SnappyDB (NoSQL KeyValue DB под Android)
Небольшая заметка про SnappyDB. Это NoSQL база данных под Android, которая базируется на LevelDB и алгоритме сжатия Snappy. LevelDB – это key-value база данных. Написана Google-ом для каких-то своих мега проектов. Snappy – метод сжатия данных, сбалансированный на скорость (т.е. приоритет быстрота, а не степень сжатия). Также написана Google-ом. Авторы SnappyDB на своем блоге приводят…
-
Мини-пост про scala туториал
Какая-то компания (udemy.com) прислала ссылку на их тьюториал по Scala и попросили разместить её, т.к. нашли мой старый вольный перевод на русский язык мини-учебника по Scala. Думаю поэтому они предположили, что возможно я релевантен или читали этого блога релеванты… Если честно, лично я делал ту старую публикацию когда вел курс по выбору на физтехе (практикум…
-
Шаблонизатор mustache и Java.
В этом году решил изменить вековые традиции и в Java проектах начать использовать вместо велосити (анг. Apache Velocity) популярный хипстерский мусташ (анг. Mustache). Дело в том, что в обычной жизни я, как правило, обхожусь вообще без шаблонизаторов и в простых случаях использую регулярки (regexp-ы). Когда нужно использовать сложные шаблоны для генерации текстовых файлов, то подключаю…
-
Android Design Support Library
Наконец Google сделал эту библиотеку с материальными виджетами! Важно! Возможно в официальной документации developer.android.com ошибка. Вместо: ‘com.android.support:support-design:22.0.0′ нужно указывать: ‘com.android.support:design:22.2.0′
-
Про FOP, SVG, PDF и значение дизайна.
Коворкинг интересен тем, что в нем можно встретить интересных людей. Следующая история произошла после краткой беседы с Димой Гарником, арт-директором небольшой дизайн-студии. У Димы была идея создать простой сайт для автовизиток. Идея несложная, но интересная. Вы заходите на сайт, указываете номер телефона и сообщение (например: “Мешает машина? Звони!“). Затем вы получаете развертку, из которой можно…
-
Обновление времени в Java.
Заметка об обновлении времени, на которую у меня все никак не хватало времени. Речь идёт о смене временных зон для Oracle JDK/JRE. Такие изменения могут быть вызваны например отменой летнего/зимнего времени, сокращением часовых поясов за счет их объединения и другими обстоятельствами. Для этих целей можно использовать Timezone Updater Tool. Чтобы выполнить обновление нужно выполнить следующие…
-
HTTPS авторизация по сертификату
Отправка простых HTTP запросов из Java уже хорошо описана в различных источниках, например в официальном туториале, поэтому пересказывать в очередной раз как работать с URL и выкладывать примеры кода не вижу смысла. В случае если приходится работать с защищенным HTTPS соединением, также особых осложнений у большинства программистов возникнуть не должно (возможно кроме случаев с самозаверенными…
-
Заметки по Derby DB
Нельзя сказать, что к Derby DB у меня особо теплые отношения. Первое знакомство с ней произошло много лет назад, когда на работе возникла идея прикрутить Derby вместо полноценной базы данных, чтобы проще было готовить демку программы к выставке. Идея была в том, что если взять легковесную встраиваемую базу, то тогда развертывание демонстрационного дистрибутива сильно упростится…
-
Распараллеливание задач в Java через InvokeAll
Одно время у меня были некоторые сомнения имеет ли смысл публиковать эту статью, т.к. в целом мне нечего сказать такого, что нельзя было найти в официальной документации об invokeAll. Затем, при общении с другими программистами, стал время от времени замечать не совсем правильное (на мой взгляд) понимание его работы. Поэтому пока есть свободное время решил…
-
DCE VM + HotSwap
Горячая замена. Исходной предпосылкой было как-то упростить процесс разработки/отладки. В некоторых ситуациях, например когда запуск-перезапуск приложения или теста занимает продолжительное время, очень удобно пользоваться возможностью подправить логику работы уже запущенной программы. В поисках решения наткнулся на довольно занятное решение – Dynamic Code Evolution VM. Данная виртуальная машина является результатом работ проведенных в рамках исследовательского проекта…