Обновить
128K+

Java *

Объектно-ориентированный язык программирования

244,5
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Понимание Dagger 2

Время на прочтение3 мин
Охват и читатели22K
Ниже вы увидите вольный перевод статьи Miquel Beltran, опубликованной на
Medium 12 февраля 2016 года. Целью статьи является формирование понимания базового механизма работы Dagger 2.
Читать дальше →

[Видео] Java Jam: правда о Java в Badoo, реалтайм-кодинг под Vert.x, собственный API и spring-стартеры

Время на прочтение1 мин
Охват и читатели4.9K


На прошлой неделе в стенах Яндекс.Денег прошла встреча Java-разработчиков. На ней много говорили про Vert.x, обсуждали пользу от Kotlin, когда все и так неплохо, а также особенности разработки собственного REST-подобного API.


Самое время поделиться записями докладов от Яндекса, Badoo, Альфа-Лаборатории и Яндекс.Денег.

Приглашаем на Atlassian Meetup 12 декабря

Время на прочтение1 мин
Охват и читатели2.5K


Друзья, приглашаем всех неравнодушных на очередную встречу Atlassian Meetup, которая пройдёт 12 декабря в московском офисе Mail.Ru Group. Как всегда, в программе интересные доклады о способах и особенностях использования продуктов линейки Atlassian.
Читать дальше →

Проектирование API на Java. Разработка приложений, построенных на базе SOA, с использованием технологий JAX-WS и JAX-RS

Время на прочтение5 мин
Охват и читатели9.7K
Доброго всем! У нас открылся новый курс, в рамках, которого мы решили попробовать новый для нас формат — открытые уроки по разным темам, доступные для всех. В понедельник прошло первое занятие такого формата, запись которого мы вам представляем. Под катом доступно краткое изложение теории и ссылка на проект.

Ссылка на видео
Читать дальше →

Использование buildSrc для внедрения дополнительной логики в Gradle

Время на прочтение4 мин
Охват и читатели30K

Интересная заметка от Madis Pink в блоге ZeroTurnaround RebelLabs. Если кто-то вас разбудит посреди ночи и спросит: «какую фичу в Gradle должен знать каждый?» — с уверенностью отвечай, что это buildSrc. Это особый магический Gradle-проект внутри твоего репозитория, доступный всем файлам build.gradle в виде библиотеки.


Описанный далее подход позволяет писать код на удобном тебе JVM-языке, и результат использовать прямо в своих сборочных скриптах. Как бонус, можно покрыть юнит-тестами особо хитрые моменты в этих скриптах. Добро пожаловать под кат!

Читать дальше →

Анонс Java-конференции JBreak 2018: Соединяем точки

Время на прочтение12 мин
Охват и читатели4.7K

Пришло время рассказать о нашей новой конференции — JBreak 2018. Для нетерпеливых, визитная карточка мероприятия:



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


Так получилось, что у меня много друзей в возрасте около 25 лет. Все они искренне верят, что не доживут до 30, и спрашивают — ну как там, по другую сторону? Еще они спрашивают, как стать настоящим программистом (что бы это ни значило). А еще — стоит ли ехать на конференцию. Отвечаю: пока что здесь замечательно, стать успешным разработчиком можно и нужно, и чтобы объяснить это — у меня есть три истории.

Spring WebSocket. How it works?

Время на прочтение4 мин
Охват и читатели59K
Доброго времени суток уважаемые хабравчане. На моем текущем месте работы было принято решение перевести взаимодействие с web клиентом на WebSocket. Серверная часть написана на Java с использованием фреймворка Spring. В данной статье я хотел поделиться особенностью устройства Spring WebSocket.
Читать дальше →

Берегите ревьюверов: методы автоматизации анализа кода

Время на прочтение7 мин
Охват и читатели8.9K
Ревью кода — это не какая-то формальная мера, а бесценная возможность для начинающих программистов быстрее вникать в специфику проекта. Но связан этот этап с рисками кровоизлияния в глаза от того количества материалов, которые ревьюверам приходится просматривать и обмозговывать.

В этой статье мы расскажем, как снять с ревьюверов заботу о таких банальных, но важных вещах, как проверка на соответствие принятому стилю написания кода, соблюдение соглашений, специфичных только для конкретного проекта. В качестве примера будем брать код Android-приложений, но методику можно использовать и для любого Java-кода.
Читать дальше →

Чатбот, который «как Siri, только круче» на наивном Байесовском классификаторе

Время на прочтение4 мин
Охват и читатели18K
Всем, привет! Не секрет, что в последнее время в мире происходит резкий всплеск активности, по поводу исследования такой темы, как искусственный интеллект. Вот и меня это явление не обошло стороной.

Предыстория


Всё началось, когда в самолёте я посмотрел типичную, на первый взгляд американскую комедию – «Почему, он?» (англ. Why him? 2016). Там, у одного из ключевых персонажей в доме был установлен голосовой помощник, который нескромно позиционировал себя «как Siri, только круче». К слову бот из фильма умел не только вызывающе разговаривать с гостями, иногда ругаясь матом, но также контролировать весь дом и прилегающую территорию – от центрального отопления до смыва унитаза. После просмотра фильма, мне пришла идея реализовать что-то подобное и я начал писать код.
Читать дальше →

CubeDB: минималистичное хранилище счётчиков с многомерными ключами

Время на прочтение10 мин
Охват и читатели9.6K


Привет, Хабр! Меня зовут Дима Станко, я работаю в BI-команде Badoo в лондонском офисе. Так уж сложилось в нашей компании, что мы стараемся проводить как можно больше измерений активности пользователей. Это необходимо многим специалистам: разработчики тестируют работоспособность кода, коллеги из продуктовых команд убеждаются в гениальности своих идей, админы – в том, что энтропия восторжествует не этой ночью, а коллеги из отдела антиспама – что добро как раз побеждает зло в вечной и эпической схватке.


Обо всём этом мы писали много раз и будем писать ещё, поскольку считаем, что наступать на грабли и не рассказывать о них другим – нехорошо.

Новые возможности мониторинга Java приложений в Zabbix 3.4

Время на прочтение9 мин
Охват и читатели40K

Что случилось?


Вышел долгожданный релиз Zabbix 3.4, который принёс много полезных улучшений, среди которых оказались настраиваемые JMX endpoints и гибкое обнаружение MBean’ов.


Это так круто, да?


Если вы используете Zabbix и вам требуется мониторить Java приложения, то да — это может сильно облегчить вам жизнь, потому что раньше приходилось прибегать к различным ухищрениям, а теперь всё работает, как говорится, “из коробки”.


Читать дальше →

Реактивное программирование со Spring Boot 2. Часть 2

Время на прочтение5 мин
Охват и читатели20K

В первой части мы узнали, что такое реактивность и как с ней работать на базовом уровне. Если вы хотите продолжить изучение реактивного программирования с новым фреймворком от Spring, то добро пожаловать!
Читать дальше →

Реактивное программирование со Spring Boot 2. Часть 1

Время на прочтение6 мин
Охват и читатели50K

Не так давно вышла новая версия самого популярного фреймворка на Java: Spring Framework 5. Новая версия принесла много нового. Одно из самых больших нововведений — модель реактивного программирования. Совсем скоро выйдет Spring Boot 2, который существенно упростит создание микросервисов c данным подходом.

Если вы, как и я, хотите разобраться подробнее, что это такое и как это используется, то добро пожаловать под кат. Статья делится на две части — теоретическую и практическую. Сейчас мы постараемся разобраться, что значит быть реактивным. После чего попробуем использовать полученные знания для написания собственного микросервиса(часть 2).
Читать дальше →

Ближайшие события

Анонс Java-конференции JPoint 2018: JDK 9, высокие нагрузки и производительность JVM

Время на прочтение9 мин
Охват и читатели9.1K


Не успели еще улечься впечатления от Joker 2017, а мы уже готовим JPoint 2018. Точнее, мы начали готовить его уже пару месяцев назад, так что сегодня уже есть что анонсировать! Как видите, Java-конференции мы делаем без пауз.

Давайте посмотрим, что у нас есть:

  1. Название: Java-конференция JPoint 2018.
  2. Дата и место проведения: 6-7 апреля 2018 года, Москва, Конгресс-центр ЦМТ.
  3. 10 докладчиков уже подтвердили свое участие.
  4. Call For Papers.
  5. Выставка и стенды.
  6. Несколько тренингов.

Все подробности — под катом.

Анонс митапа ThinkJava #6, Харьков

Время на прочтение1 мин
Охват и читатели2.1K
Приглашаем всех Java-разработчиков на шестую встречу ThinkJava-комьюнити! Будем говорить о разработке реактивных приложений, а перерывах — общаться на кофе-брейках и делиться впечатлениями об услышанном и собственным опытом.
Читать дальше →

Конференция Joker 2017: удивительные истории

Время на прочтение7 мин
Охват и читатели6.5K
Дополнение к обзору с подведением итогов конференции Joker, проходившей в Санкт-Петербурге 3-4 ноября 2017 года.

На какие темы какие доклады были на конференции, кто из спикеров принял участие, что было интересного, чем отличался этот год от предыдущих — обо всём можно прочитать дальше.


Читать дальше →

Обработка ошибок в формате JSON со Spring Boot

Время на прочтение5 мин
Охват и читатели39K
Часто при работе с микросервисами, построенными с помощью технологии Spring Boot, можно видеть стандартный вывод ошибок подобный этому:

{
    "timestamp": 1510417124782,
    "status": 500,
    "error": "Internal Server Error",
    "exception": "com.netflix.hystrix.exception.HystrixRuntimeException",
    "message": "ApplicationRepository#save(Application) failed and no fallback available.",
    "path": "/application"
}

Такой вывод может быть излишним и ненужным клиентам вашего сервиса. Если вы хотите упростить жизнь сторонним сервисам в случае ошибки, то как раз об этом и пойдет речь в данном посте.
Читать дальше →

Инстанцируем java.lang.Class

Время на прочтение13 мин
Охват и читатели41K


Конструктор java.lang.Class является одной из самых охраняемых сущностей в языке Java. В спецификации чётко сказано, что объекты типа Class может создавать только сама JVM и что нам тут делать нечего, но так ли это на самом деле?


Предлагаю погрузиться в глубины Reflection API (и не только) и выяснить, как там всё устроено и насколько трудно будет обойти имеющиеся ограничения.

Читать дальше →

Обзор Java 9

Время на прочтение5 мин
Охват и читатели60K
Всем доброго времени суток. В ноябре 2017 в Санкт-Петербурге прошло одно из самых примечательных событий года для отечественных Java-разработчиков: конференция Joker. На конференции было озвучено много тем, такие как GC, Concurrency, Spring Boot, JUnit 5 и другие, презентации по которым вы можете найти в открытом доступе на сайте конференции. Перечислять все смысла нет, так как по каждому топику можно составить отдельную статью с примерами и выдержками. Поэтому остановимся на главном.

Основной темой были нововведения в Java 9: ей посвятили аж две лекции, по модулям, и по всему остальному. Саму девятку Oracle изначально планировали выпустить еще в середине лета 2016, однако релиз был перенесен сначала на полгода, а потом и вовсе на вторую половину 2017. И вот, 21 сентября 2017, выход девятки состоялся.

Данная статья представлена именно как обзор новоиспеченной джавы, так как тема сама по себе большая, требующая целого цикла статей, которые, несомненно, будут при поступлении просьб от трудящихся.

Итак, по порядку. Как говорилось выше, нововведения в девятке можно разделить на два блока: общий и модульный. Придерживаясь хронологии Joker, начнем с первого.

1. Появление литералов в коллекциях


На самом деле литералы в коллекциях можно использовать с 7 версии, никто не запрещает выполнить следующее, если у вас установлен ProjectCoin:
Читать дальше →

Назад в будущее: как прошёл Joker 2017

Время на прочтение6 мин
Охват и читатели7.5K


Давно в Java-мире не было такого оживления, как этой осенью: наконец-то вышла «девятка», завершены и другие «долгострои» (Java EE 8, JUnit 5, Spring Framework 5), Java EE отправляется в Eclipse Foundation, коммерческие фичи Oracle JDK решено опенсорснуть, а сама Java переходит на полугодовой релизный цикл.

Как в таком урагане новостей может выглядеть Java-конференция? Надо сосредоточиться на этих новых темах, или думать о тех разработчиках, которые не то что на «девятку», а на «восьмёрку» ещё не перешли? Мы провели в Петербурге пятый по счёту Joker — и под катом подробно написали о том, как это было.
Читать дальше →