Рубрика «java» - 147

Привет! Помните подборку юмористических IT-комиксов от Даниэля Стори (Daniel Stori). Первая часть собрала много положительных откликов. Сегодня мы вновь хотим порадовать всех очередной порцией веселья. Желаем приятного просмотра.

Комиксы Даниэля Стори (часть 2) - 1
Читать полностью »

«Есть плюсы как для админов, так и для разработчиков»: Олег Анастасьев про облако Одноклассников - 1

Публичными облаками давно никого не удивить, и про них вряд ли требуется что-то объяснять. С частными другая история: все знают об их существовании, но далеко не всем доводилось иметь с ними дело, так что чужой опыт интереснее.

Поэтому переход Одноклассников от подхода «каждый сервер занимается своей задачей» к облачному подходу «единый пул ресурсов распределяется по необходимости» вызвал у нас вопросы. Мигрировать такой большой проект с 11-летней историей на новую систему непросто — что именно побудило пойти на эти трудозатраты? Чем использование облака в ОК отличается от использования публичных сервисов? Почему проекту не подходят стандартные решения вроде Mesos и Kubernetes, а вместо этого было сделано собственное one-cloud?

На эти и другие вопросы нам ответил ведущий разработчик Одноклассников Олег Анастасьев, уже знакомый читателям Хабра.

Читать полностью »

Несмотря на то, что проблемы, связанные с дублированием кода, упоминаются довольно часто, актуальность этих проблем из года в год остается почти неизменной. Во многих популярных проектах количество клонов измеряется сотнями или даже тысячами.
В рамках данной статьи мне бы хотелось напомнить, что такое программные клоны, какие они влекут за собой проблемы и как с ними можно бороться. В статье приводятся примеры рефакторинга реальных клонов из популярного фреймворка Spring. В качестве инструментов используются Java 8, IDE IntelliJ IDEA 2017.1 и плагин Duplicate Detector 1.1.

Атака клонов. Как бороться с дублированием кода? - 1

Читать полностью »

Всем привет! В предыдущей части мы разобрались с базовой архитектурой, сетью и обменом сообщениями. Нарастим теперь функционал. Сделаем возможность войти, зарегистрироваться получив при этом сессионный id, который можно в будущем использовать для управления клиентом в процессе игры. Далее мы добавим чат, по сути все работает по его принципу: получили сообщение — разослали подписантам. Сделаем возможность создавать игровые комнаты, где будем собирать игроков и отправлять в бой. Синхронизировать перемещение клиентов и напоследок проверять выстрел на проверочном сервере. Будет много кода, я продолжаю пошаговое описание, чтобы можно было быстро разобраться и воспроизвести для своих нужд. Для тех, кто не знаком с первой частью, но хочет вынести для себя что-то полезное здесь и сейчас, я добавил реализацию алгоритма генерации фрактальных ландшафтов Diamond Square, в начало. Happy coding!

Часть 1. Общая картина, сборка библиотек, подготовка клиента и сервера к обмену сообщениями
Часть 2. Наращивание игрового функционала + алгоритм Diamond Square

MMO с нуля. Часть 2. Наращивание функционала + алгоритм Diamond Square - 1

Читать полностью »

Аудитория: Java Junior, любители холиворов, профессиональные написатели синглтонов

Любые замечания и предложения — очень приветствуются. Это мое первое видео, и не совсем понятно, нужен ли тут вообще такой контент. Считайте это закрытым альфа-тестом, только для посетителей хаба Java :)

Ниже дана полная текстовая расшифровка, кому не хочется тратить время на просмотр.

Читать полностью »

КДПВ

Доброго времени суток %username%,
Давай поговорим про языки программирования.

Давай раз и на всегда выясним какой из них лучше? Читать полностью »

На хабре уже было несколько хороших статей по установке и работе с Dagger 2:

Я же хочу поделиться своим опытом использования Dagger 2 на реальных проектах с реальными кейсами. Раскрыть читателю мощь и удобство как самого Dagger’а, так и такого его аспекта, как Subcomponent.

Перед тем, как пройти под кат, следует ознакомиться с вышеуказанными статьями.
Кого заинтересовал, you are welcome!

image

Читать полностью »

Приглашаем на митап «Java и Linux – Борьба за микросекунды» - 1

Привет!

Я, Алексей Рагозин, и мой коллега – Сергей Сорокин приглашаем вас на открытое мероприятие по теме «Java и Linux – Борьба за микросекунды». Мероприятие пройдет во вторник 8 августа в 19.00 в офисе Технологического Центра Дойче Банка. Все подробности и регистрация по ссылке.

Вот о чем мы планируем говорить.
Читать полностью »

Обзор возможностей библиотеки Apache Curator для Apache Zookeeper - 1

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

27 июля 2017 года прошла совместная встреча сообществ jug.msk.ru и Jenkins MSK. На встрече с докладами о Jenkins выступили Олег Ненашев («Groovy DSL в Jenkins и Pipeline. Как оно работает?») и Кирилл Толкачёв с Александром Тарасовым («DSL много не бывает. Мигрируем со Scripted Pipeline на Declarative (Live)»).

Олег Ненашев, Кирилл Толкачёв и Александр Тарасов про Groovy DSL и Pipeline в Jenkins на jug.msk.ru - 1
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js