middlejava
378 members
6 photos
4 videos
47 files
230 links
Канал о backend и Java. Здесь вы найдёте статьи, книги, вакансии, описание работы с фреймворками и библиотеками Spring, Hibernate, JOOQ, Lombok и др., учебные задачи, анонсы мероприятий.
По всем вопросам прошу связываться по email middle.java@mail.ru
Download Telegram
to view and join the conversation
#tutorial #microprofile #microservice #istio

Use MicroProfile OpenTracing and distributed tracing with Istio to enhance system observability.

In this code pattern, we’ll look at how Open Liberty, MicroProfile, and Open Tracing work alongside Istio to create an end-to-end view of requests flowing through a simulated manufacturing facility, based off of the original instrument craft shop. You’ll have an understanding of distributed tracing and a way to capture, visualize, and tell the story of what happens to an individual request.

In this pattern, we'll go through these steps:

- Installing Istio, enabling tracing and providing access to a dashboard.
- Add MicroProfile and OpenTracing to Open Liberty project.
- Run a simple microservice based application and explore a distributed tracing UI.
- Investigate application failures using information from distributed tracing.

\\\\\

Использование MicroProfile OpenTracing и распределенной трассировки с Istio для повышения наблюдаемости системы.

В этом тьюториале мы рассмотрим, как Open Liberty, MicroProfile и Open Tracing работают вместе с Istio для создания end-to-end представления запросов, проходящих через моделируемую компанию на базе мастерской по изготовлению инструментов. У вас будет понимание распределенной трассировки и способах захвата, визуализации запросов и понимания того, что происходит с отдельным запросом.

Мы выполним следующие шаги:

- Установка Istio, включение трассировки и предоставление доступа к панели инструментов.
- Добавление MicroProfile и OpenTracing в проект Open Liberty.
- Запуск простого приложения на основе микросервиса и изучение пользовательского интерфейса распределенной трассировки.
- Исследование сбоев приложений, на основе информации из распределенной трассировки.

https://github.com/IBM/opentracing-istio-troubleshooting/blob/master/README.md

https://t.me/middle_java
#java #spring

Weekly Java news by Eugene.
Еженедельная подборка новостей по Java от Евгения.

Highlights:

-- A mechanism for executing Gradle builds inside a Maven project

-- A basic example of an API gateway and service discovery using Spring Cloud Gateway

-- And while encrypted DNS is becoming more prevalent, it still presents many challenges

https://www.baeldung.com/java-weekly-288

t.me/middle_java
SQL-sbornik_retseptov_O_39_Reilly_260419092328.pdf
3.5 MB
#books #sql #russian

SQL. Сборник рецептов — Энтони Молинаро

Автор: Энтони Молинаро
Издательство: Символ-Плюс
Год: 2009
ISBN: 978-5-93286-125-7, 5-93286-125-8
PDF: 3 Мб

t.me/middle_java
#companyculture #peopleoperations

Presentation: Building and Scaling a High-Performance Culture

Randy Shoup discusses team
Autonomy - how high-performing companies own their destiny from idea to development to deployment to operations;
Trust - how we need to foster a culture of trust among the individuals on a team, and between the teams themselves;
Pragmatism in the product development process - how we need to define the problem we are solving, and solve it in the simplest way possible.

\\\\\

Презентация: создание и расширение культуры высокопроизводительной работы

Randy Shoup ведёт беседу про:
Автономность - как высокопроизводительные компании управляют своей судьбой, от идеи до разработки и от развертывания до эксплуатации;
Доверие - как нам нужно развивать культуру доверия между людьми в команде и между самими командами;
Прагматизм в процессе разработки продукта - как мы должны определять проблему, которую решаем, и решать ее самым простым способом.

https://www.infoq.com/presentations/autonomy-trust-pragmacy-teams

t.me/middle_java
вакансии-2019-07-10.pdf
304.9 KB
#job #java

В Сбербанке открыты новые вакансии:

Москва:
-- Java-разработчик
-- Старший инженер по разработке (системный аналитик)
-- Главный инженер по разработке (Инженер по сопровождению)

Санкт-Петербург:
-- Главный инженер по разработке (Java)

Подробное описание в приложенном файле.

Если интересно, то прошу присылать резюме на ящик middle.java@mail.ru

t.me/middle_java
#hibernatetips #tutorial

Question:
I need to map tables of a legacy database using the SINGLE_TABLE strategy. But these tables don’t contain a discriminator column, and I can’t change the table definition.
Is there any other way to define the mapping to a specific subclass?


Solution:
Yes, Hibernate provides a proprietary annotation that allows you to provide an SQL snippet that returns a discriminator value. So, you don’t necessarily need a discriminator column.
Read more...

\\\\\

Вопрос:
Мне нужно смапить таблицы старой базы данных, используя стратегию SINGLE
_TABLE. Но в этих таблицах нет столбца дискриминатора, а определение таблицы я изменить не могу.
Есть ли другой способ определить маппинг на конкретный подкласс?


Решение:
Да, Hibernate предоставляет специальную аннотацию, позволяющую создать фрагмент кода SQL, возвращающий значение дискриминатора. Таким образом, столбец дискриминатора не обязателен нужен .
Читать далее...

https://thoughts-on-java.org/hibernate-tips-single_table-strategy-without-discriminator-column/#more-21972

https://t.me/middle_java
#java #spring

Weekly Java news by Eugene.
Еженедельная подборка новостей по Java от Евгения.


Highlights:

-- An overview of Kotlin scope functions

-- A new option in the Spring Initializr - gives us​ a peek at generated projects

-- And a collection of resources to kickstart your journey into AWS

https://www.baeldung.com/java-weekly-289

t.me/middle_java
Spring_Boot_2_Recipes.pdf
8.5 MB
#books #sql

Spring Boot 2 Recipes,
Marten Deinum,
2018

Solve all your Spring Boot 2 problems using complete and real-world code examples. When you start a new project, you’ll be able to copy the code and configuration files from this book, and then modify them for your needs. This can save you a great deal of work over creating a project from scratch.
Using a problem-solution approach, Spring Boot 2 Recipes quickly introduces you to Pivotal’s Spring Boot 2 micro-framework, then dives into code snippets on how to apply and integrate Spring Boot 2 with the Spring MVC web framework, Spring Web Sockets, and microservices. You’ll also get solutions to common problems with persistence, integrating Spring Boot with batch processing, algorithmic programming via Spring Batch, and much more. Other recipes cover topics such as using and integrating Boot with Spring’s enterprise services, Spring Integration, testing, monitoring and more.

t.me/middle_java
#java #lombok #fluxtion #java10

In this article, I am combining two products, Lombok and Fluxtion, to demonstrate how tools can reduce both the code written and time to delivery while improving the readability of the code. The use of var from Java 10 improves the situation even further. Both products and var use inference at build time to accelerate development.

\\\\\

В этой статье я объединю два продукта - Lombok и Fluxtion, чтобы продемонстрировать, как эти инструменты могут сократить и объем кода и время его доставки, одновременно улучшая читаемость кода. Использование var из Java 10 еще больше улучшает ситуацию. Lombok, Fluxtion и var используют вывод типов во время сборки для ускорения разработки.

https://dzone.com/articles/simplify-event-processing-with-lombok-and-fluxtion

t.me/middle_java
#interview

Какие вопросы задавать программистам на собеседовании

Часто, при собеседовании кандидатов на позиции программистов сосредотачиваются на технических вопросах, наподобие, «Зачем нужен виртуальный деструктор?», предлагают разобрать фрагмент кода с хитрым синтаксисом, который редко встречается в реальной жизни или просто дают тестовое задание. В результате студент-олимпиадник может отлично пройти интервью, а человек с 10 годами работы нет. Между тем, далеко не факт, что студент, начитавшийся книжек, будет эффективно работать, а не тратить время на рассказы начальству «как правильно программировать» и разработку очередного красивого четырехколесного велосипеда.
Конечно, технические вопросы на собеседовании задавать нужно, но не менее полезно спросить о подходах к разработке, которые использовались на прошлых местах работы и поинтересоваться мнением кандидата о том, как правильно делать, а как нет. Человек, который работал в команде с хорошо поставленными процессами, вероятно, избавлен от привычек выкладывать несобирающийся код, ломать тесты и заниматься излишним рефакторингом.

https://pmlife.ru/opyt/voprosy-programmistam-na-sobesedovanii

t.me/middle_java
#java #spring

Weekly Java news by Eugene.
Еженедельная подборка новостей по Java от Евгения.


Highlights:

-- A guide to enabling and working with Java Preview Features

-- An interesting report on current trends in Java technology adoption

-- And Spring Tools 4.3.1 is released

https://www.baeldung.com/java-weekly-290

t.me/middle_java
#webinar #jvm #heapdump

30 июля 2019 г. c 19:00 до 21:00 МСК пройдёт
вебинар посвящённый работе с дампами памяти JVM.
включающий теоретическую и практическую части.

Программа вебинара:

Что такое дамп кучи JVM и как его получить?
Обзорная мини-лекция, освящающая особенности дампов памяти JVM, способы их получения и терминологию, используемую при их анализе.

Анализ дампов прикладных приложений в Eclipse Memory Analyzer
Eclipse Memory Analyzer один из бесплатных инструментов анализа хипдампов. Будет продемонстрирована работа с этим инструментом на примерах дампов реальных Java приложений.

VisualVM, работа с дампами памяти
Будут продемонстрированы основные возможности VisualVM в формате мастер-класса. Участникам будет предоставлена возможность повторить все шаги на своих компьютерах.

Анализ дампов памяти из командной строки
Графические инструменты, такие как VisualVM и Eclipse MAT, конечно хороши, но иногда удобнее провести анализ дампа JVM из консоли. Будут продемонстрированы возможности анализа дампов используя OQL и JavaScript в консольном режиме.

https://aragozin.timepad.ru/event/1026333

t.me/middle_java
Стажер в Java школу.docx
16.8 KB
#job #java #junior

ПАО Сбербанк приглашает IT-специалистов и студентов последних курсов технических ВУЗов пройти бесплатное обучение в Москве по направлению Java с возможностью последующего трудоустройства в штат компании.
Занятия будут проводиться в московском офисе ПАО Сбербанк 3 месяца по 2 занятия в неделю в вечернее время (4 академических часа).

Кого рассматриваем на обучение:
-- IT-специалистов, желающих освоить Java.
-- студентов старших курсов (4 курс бакалавриата, 5, 6 курс магистратуры, выпускники ВУЗов, специалисты с возможность работать full – time).

Подробное описание в приложенном файле.

Если интересно, то прошу присылать резюме на ящик middle.java@mail.ru

t.me/middle_java
Shablony_korporativnykh_prilozheniy.pdf
54.4 MB
#book #designpatterns

Название: Шаблоны корпоративных приложений
Автор: Мартин Фаулер
Издательство: Вильямс
Год: 2016
Формат: pdf
Размер: 54,4 Мб
Качество: Хорошее
Язык: Русский

t.me/middle_java
#softwaredevelopment #junior #tips

5 tips for your first 5 days as a new dev

Starting your first developer position can be daunting. Even after a few years, switching companies can be stressful. Here are a few tips to make transitioning into a new team easier, especially focused on new developers.

\\\\\

5 советов на первые 5 дней работы начинающего разработчика

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

https://dev.to/wuz/5-tips-for-your-first-5-days-as-a-new-dev-1h8l

t.me/middle_java
#docker #containers

10 docker-compose and docker commands that are useful for active development

\\\\\

10 вариантов использования команд "docker-compose" и "docker" полезных при активных деплоях

https://dev.to/aduranil/10-docker-compose-and-docker-commands-that-are-useful-for-active-development-22f9

t.me/middle_java
#java #spring #microprofile #hibernate

Weekly Java news by Eugene.
Еженедельная подборка новостей по Java от Евгения.


Highlights:

-- Shell support in Java is worth looking into now
-- Debugging NPEs is about to get easier
-- And a very interesting look into the risk of transitive dependencies

https://www.baeldung.com/java-weekly-292

t.me/middle_java
Which IDE do you primarily use? Какой IDE вы пользуетесь больше всего?
anonymous poll

IntelliJ IDEA – 58
👍👍👍👍👍👍👍 83%

Eclipse – 4
▫️ 6%

NetBeans – 3
▫️ 4%

VS Code – 3
▫️ 4%

Android Studio – 1
▫️ 1%

Another – 1
▫️ 1%

Spring Tool Suite
▫️ 0%

Visual Studio
▫️ 0%

JDeveloper
▫️ 0%

👥 70 people voted so far.