Записки о миграции на Java 10

Здравствуй, хабр. Как ты помнишь, недавно произошёл официальный релиз Java 10. Учитывая, что практически все сейчас используют преимущественно 8-ку, с выходом 10-ки нас ждут такие вкусности как модульность (вошла в 9-ку) и local variable type inference. Звучит неплохо, можно попробовать поэкспериментировать с переносом какого-нибудь существующего проекта на 10-ку. О том, …

Нечеткий поиск (fuzzy search) в реляционных базах данных

Для поиска нужной информации на веб-сайтах и в мобильных приложениях часто используется поиск по словам или фразам, которые пользователь свободно вводит с клавиатуры (а не выбирает например из списка). Естественно, что пользователь может допускать ошибки и опечатки. В этом случае полнотекстовый поиск, полнотекстовые индексы, которые реализованы в большинстве базы данных …

[Видео] Как мы провели очередной Android Paranoid

Android почти исполнилось десять лет. Мы решили отметить это праздничным чаепитием со всеми, кто пришел в питерский офис Яндекса на второй митап Android Paranoid. Сказано — сделано. К нашему сожалению, маршмеллоу, шоколадное печенье и желейные бобы закончились еще 28 марта. Вместо них — доклады, записанные на видео, и короткая выжимка …

[Из песочницы] Как я проходил тестовое задание на летнюю стажировку в Яндекс

Привет Хабр, сегодня я расскажу о том, как я проходил тестовое задание на летнюю стажировку в Яндекс. Эта публикация будет полезна начинающим разработчикам, любителям олимпиадного программирования, тем кто неравнодушен к С++ и Java, или просто хочет прочесть интересную статью после трудного рабочего дня. Чего ожидать от этой статьи? Introduction, о …

JavaScript, Java, какая теперь разница?

На прошлом JPoint пообещал написать статью про использование GraalVM для смешивания Java и JS. Вот она. В чем проблема? В повседневной практике часто встречаются приложения, состоящие из двух частей: JavaScript-фронтенд и Java-бэкенд. Организация интеропа между ними требует усилий. Как правило, делают их люди с разных сторон баррикад, и при попытке …

JPoint 2018: разбор полётов

6-7 апреля 2018 года в Москве проводилась Java-конференция JPoint 2018. Далее представлен «разбор полётов» конференции, прошедшей при активной поддержке и участии популярного подкаста Разбор полётов: информация и впечатления о докладах, организации мероприятия, проиллюстрированные большим количеством фотографий. Читать дальше → from Хабрахабр / Все публикации подряд / Java https://ift.tt/2qCTId1

Как подписать сообщение алгоритмом ГОСТ Р 34.11/34.10-2001 на Java

В этот статье я расскажу, как подписать произвольное сообщение приватным ключом и сертификатом по алгоритму ГОСТ Р 34.11/34.10-2001 присоединённой (attached) подписью на языке Java. Для проекта электронного документооборота мне потребовалось сделать подпись алгоритмом ГОСТ. Несмотря на то, что появился он давным-давно, к своему удивлению, я не смог найти в сети …

[Перевод] Знакомство с реактивными потоками – для Java-разработчиков

Привет, Хабр! Сегодня мы вернемся к одной из тем, затрагиваемых в нашей замечательной книге “Реактивные шаблоны проектирования“. Речь пойдет об Akka Streams и потоковой передаче данных в целом — в книге Роланда Куна этим вопросам посвящены главы 10 и 15-17. Читать дальше → from Хабрахабр / Все публикации подряд / …

IntelliJ IDEA 2018.1 — улучшенный анализ кода, поддержка частичных коммитов Git, Android Studio 3.0 и многое другое

Привет, Хабр! Недавно мы запустили IntelliJ IDEA 2018.1 – первое большое обновление в этом году. В нем вас ждет множество важных улучшений: поддержка частичных коммитов Git, отображение внешних аннотаций в коде, функциональность, добавленная из Android Studio 3.0, и многое другое. Ниже мы расскажем об этом подробнее, а попробовать новую версию …

Блеск и нищета Java для настольных систем

Вы не поверите, но в 2018 году всё ещё нужно разрабатывать Desktop приложения. Представьте себе такой клуб анонимных Java программистов, запойных и беспробудных, которые сидят и делятся своими проблемами. — Здравствуйте, меня зовут Юрий, я пишу Desktop приложения в 2018 году. — Здравствуй, Юрий, давайте ему похлопаем, он смог поделиться …

[Перевод] Разбор основных концепций параллелизма

Всем кофе! Завтра у нас плавненько стартует практически юбилейный поток курс «Разработчик Java» — уже шестой по счёту начиная с апреля прошлого года. А это значит, что мы снова подобрали, перевели интереснейший материал, которым делимся с вами. Поехали! Эта памятка поможет Java-разработчикам, работающим с многопоточными программами, понять основные концепции параллелизма …

[Из песочницы] JNI: Подружим Java и C++

Введение Бывают моменты, когда в Java некоторые действия выполняются за пределами обычных Java-классов. Например, необходимо исполнить код, написанный на C/C++ или другом каком-нибудь языке. В данной статье рассмотрим данный вопрос с практической точки зрения, а именно напишем простой пример взаимодействия кода Java с кодом C++, используя JNI. Статья не содержит …

Рустам Мехмандаров и Александр Тарасов — семантические чудеса и автоматизация экспериментов на jug.msk.ru

5 апреля 2018 года, как раз накануне конференции JPoint 2018, прошла очередная встреча московского сообщества Java-разработчиков jug.msk.ru. Рустам Мехмандаров рассказал об опыте решения задач с использованием Apache Jena. Александр Тарасов поведал про использование DSL на основе языка Kotlin для автоматизации экспериментов. Читать дальше → from Хабрахабр / Все публикации подряд …

[Перевод] О стримах и таблицах в Kafka и Stream Processing, часть 1

* Michael G. Noll — активный контрибьютор в Open Source проекты, в том числе в Apache Kafka и Apache Storm. Статья будет полезна в первую очередь тем, кто только знакомится с Apache Kafka и/или потоковой обработкой [Stream Processing]. В этой статье, возможно, в первой из мини-серии, я хочу объяснить концепции …

[Питер] Встреча JUG.ru с Дмитрием Александровым — Java на GPU

В среду, 11 апреля, в петербургском офисе компании T-Systems пройдет встреча JUG.ru с Дмитрием Александровым, Java Champion-ом, ведущим экспертом-программистом в T-Systems. Тема встречи — Java на GPU. Участие бесплатное, регистрация обязательная. Зарегистрироваться можно тут. Сегодня GPU-ресурсы доступны не только на игровых ПК, но и на ноутбуках или облачных машинах. Ценой …

Концепция BaselineTopology в Apache Ignite 2.4

На момент появления в Apache Software Foundation проекта Ignite он позиционировался как чистое in-memory-решение: распределенный кэш, поднимающий в память данные из традиционной СУБД, чтобы выиграть во времени доступа. Но уже в релизе 2.1 появился модуль встроенной персистентности (Native Persistence), который позволяет классифицировать Ignite как полноценную распределенную базу данных. С тех …

Открытый вебинар «Примеры паттернов»

Доброго дня! Намедни наш замечательный Виталий Чибриков в рамках его курса «Разработчик Java» провёл открытый урок, где разобрал в чём же польза паттернов в проектировании и вне, на примере нескольких из них в формате: постановка проблемы, решение и пример для каждого. Если есть какие-то вопросы, то можете задать их тут …

Использование rrd4j для OpenHab2 persistence

OpenHab – популярный сервер «умного дома» (или IoT, как сейчас модно говорить) и уже обозревался на Хабре. Тем не менее, документации по отдельным аспектам настройки сервера не так много, как хотелось бы. А на русском её, считай что и нет. Важной особенностью OpenHab является модульность. Сам по себе сервер обеспечивает …