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

От переводчика

Всем привет! Я продолжаю серию переводов, в которой мы по косточкам разбираем, что такое Dependency Injection.

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

В сегодняшнем переводе речь пойдет о том, что собой представляет DI-контейнер, его функциях, преимуществах использования и отличии от фабрик.

Контейнеры внедрения зависимостей и выгоды от их использования - 1
Читать полностью »

image
Этот небольшой список вопросов даст вам понимание самых важных концепций Spring, а так же поможет подготовится к собеседованию

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

Доброго времени суток всем читающим!

Меня часто спрашивают о том, как же установить JDK на ос Линукс, чаще всего это дистрибутив Ubuntu или же другие дистрибутивы основанные на Debian.

Так же у многих в последнее время возникает проблема с установкой JDK через терминал с помощью apt-get install в связи с разного рода ошибками. Чтобы не Читать полностью »

На заре 2018 хочется подвести итоги, и рассказать об изменениях в платформе CUBA за прошлый год. Если 2016 стал для нас революционным благодаря переходу в опенсорс, то 2017 стал годом планомерного развития: мы сфокусировались на предложении новых фич и услуг нашему сообществу.

Платформа CUBA в 2017: новые фичи, новые услуги, новые планы - 1
Читать полностью »

Москва, 13 марта

Видеозаписи выступлений на “Moscow Apache Ignite #1”

При организации второго митапа мы учли ваши пожелания: места будет БОЛЬШЕ, и Алексей Гончарук выступит с докладом для архитекторов.

Программа:
19:00 — 19:30 — приветственный кофе, сбор гостей

1. «Что нового в Apache Ignite 2.4» — Артем Шитов, инженер GridGain.
2. «Масштабирование Apache Ignite кластера для архитекторов» — Алексей Гончарук, главный архитектор GridGain.
3. «Операционный кэш данных на базе Apache Ignite. Практика построения и использования решения для страховой компании» — Дмитрий Косицын, технический директор Unitarius.

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

Привет! Представляю вашему вниманию перевод статьи "Surprisingly simple messaging with Spring Cloud Stream" автора Richard Seroter.

Существует множество вариантов взаимодействия микросервисов. Вы можете использовать обнаружение сервисов (Service Discovery, например, Spring Cloud Discovery Server/Client в реализации Netflix Eureka) и совершать прямые вызовы. Или можете использовать общую базу данных для обмена результами работы. Но брокеры сообщений продолжают оставаться популярным выбором.

Они варьируются от простых движков вроде Amazon SQS или RabbitMQ до событийных потоковых процессоров вроде Azure Event Hubs или Apache Kafka и вплоть до служебных шин вроде Microsoft BizTalk Server. Когда разработчики выбирают один из движков, они критически нуждаются в знаниях об их эффективности. Как вы можете повысить производительность разработчиков? Для Java разработчиков Spring Cloud Stream предлагает ценную абстракцию.

Spring Cloud Stream предлагает интерфейс для разработчиков, которым не требуются нюансы базового брокера. Этот брокер, Apache Kafka или RabbitMQ, настраивается самим Spring Cloud Stream. Связь с брокером и обратно от брокера осуществляется также через библиотеку Stream.

Что меня волнует, так это то, что все брокеры обрабатываются одинаково. Spring Cloud Stream нормализует поведение, даже если оно не является родным для брокера. Например, хотите создать конкурирующую модель консюмера для своих клиентов или секционировать обработку? Эти концепции ведут себя по-разному в RabbitMQ и Kafka. Нет проблем. Spring Cloud Stream делает работу одинаково прозрачной. Давайте фактически попробуем оба этих сценария.
Читать полностью »

Потенциально возможное продолжение книги Паттерны проектирования (Элизабет Фримен и другие).

На дворе 2017 год. В компанию, где работает старший разработчик Джо, пришел на стажировку молодой студент Мартин. Он целый год скрупулезно изучал Java по современному учебнику с акцентом на функциональные интерфейсы, лямбда-выражения и прочие новшества.
Читать полностью »

Статья представляет собой очень краткое введение в Simula.

Simula ((SIMIUlation LAnguage) ), первый язык программирования с классами и объектами, незаслуженно почти забытый, но из которого выросло современное ООП в том виде, в котором оно присутствует в нашем коде. Это язык для имитационного моделирования реальности. Разработчики новых языков программирования «оглядывались» на Simula при добавлении механизмов объектно-ориентированного программирования в свой язык. Однако Simula упоминается настолько редко, что в русской википедии на момент публикации был только хеллоуворд, а в сети куча устаревших ссылок.

Simula — 50 лет ООП - 1

Бьерн Страуструп, говоря о причинах создания C++, сказал так: «Этот язык возник потому, что автору потребовалось написать программы моделирования, управляемые прерываниями. Язык SIMULA-67 идеально подходит для этого, если не учитывать эффективность.»
Читать полностью »

Данная статья является шестой частью серии статей, предназначенных, по словам автора, для тех, кто не может разобраться с внедрением зависимостей и фреймворком Dagger 2, либо только собирается это сделать. Оригинал написан 23 декабря 2017 года. Перевод вольный.

Dagger 2 advanced part 1 image
Читать полностью »

Прошло полтора года как Microsoft закрыл случайно оказавшийся в корзине с Xamarin-ом RoboVM. Уже и официальный robovm.com канул в лету. Последняя opensource версия 1.8 была форкнута группой MobiVM и поддерживается на искусственном дыхании в рабочем состоянии и сейчас.

Сам RoboVM (тут и далее MobiVM форк я буду называть так) тесно переплетен с MacOSX и в оригинальном виде, будучи запущенным в Windows/Linux встречает сообщением, что код писать можно, компилировать нельзя. Встречая в cmake файлах/сети упоминании о Windows, принял вызов и решил довести дело к какому-либо результату.

Понадобится:

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


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