Size: a a a

2019 April 12
middlejava
#spring #performance #testing #java #programming

Weekly Java news by Eugene.

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

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

https://t.me/middle_java
источник
2019 April 14
middlejava
#gridgain #monitoring

Вебинар "Мониторинг распределенных систем".

25 апреля, 17:00 (время московское)

Денис Механиков, инженер команды Customer Solutions GridGain, в ходе часового вебинара расскажет про:  

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

В результате участники вебинара получат чек-лист, который можно использовать в работе.

Регистрация:
https://intl.gridgain.com/ru/resources/webinars/monitoring

https://t.me/middle_java
источник
2019 April 15
middlejava
#unittesting #antipatterns #programming

Unit Testing Anti-Patterns

Full List with explanation

\\\\\

Анти-паттерны в юнит-тестировании

Полный список с объяснениями

https://www.yegor256.com/2018/12/11/unit-testing-anti-patterns.amp.html

https://t.me/middle_java
источник
middlejava
#tceh #meetup #backend

Митап для backend-разработчиков.

Revolut и Leroy Merlin приглашают бэкенд-разработчиков на вечернюю встречу Backend Meetup. Будем говорить о системах обмена сообщениями, об использовании Kotlin на бэкенде и подводных камнях, с которыми сталкиваемся.

25 Апреля, 19:00
Малый конференц-зал, г. Москва, ул. Мясницкая, д. 13, стр. 18

https://tceh.com/events/backend-meetup/

https://t.me/middle_java
источник
middlejava
#meetup #sonarqube #ruby

Сегодня день богат на новости про митапы.
Сразу два новых мероприятия:

1. Continuous code quality в java проектах. Формальные методы анализа алгоритмов.

Москва, среда, 17 апреля 2019 г., с 18:30

Тема: качество разработки ПО с точки зрения разработчиков и автоматизация процесса обнаружения деффектов больших систем.
- Как и зачем использовать SonarQube как часть процесса непрерывной интеграции кода проекта?
- Формальные методы анализа алгоритмов.

Митап бесплатный, регистрация обязательная:
https://align-technology.timepad.ru/event/944318/

2. Ruby Meetup meta/conf

Воронеж, суббота, 20 апреля 2019 г., с 10:00

Митап бесплатный, регистрация:
https://railsclub.timepad.ru/event/944287/

https://t.me/middle_java
источник
middlejava
#serverless #architecture

Why serverless is revolutionary for product managers.

https://itnext.io/why-serverless-is-revolutionary-for-product-managers-c545e598b476

\\\\\\

Перевод статьи на русский язык:
Почему бессерверные технологии – это революция в продукт-менеджменте

https://m.habr.com/ru/company/piter/blog/444730/

https://t.me/middle_java
источник
2019 April 16
middlejava
#springboot #oauth #kubernetes #microservices

Build a Microservice Architecture with Spring Boot and Kubernetes

In this tutorial, you’re going to use Kubernetes to deploy a Spring Boot microservice architecture to Google Cloud, specifically the Google Kubernetes Engine (GKE). You’re also going to use Istio to create a service mesh layer and to create a public gateway. The whole thing is going to be secured using Okta OAuth JWT authentication.

\\\\\

Создание микросервиснуй архитектуры с помощью Spring Boot и Kubernetes

В этом руководстве будет использован Kubernetes для развертывания микросервисной архитектуры Spring Boot в Google Cloud, в частности, Google Kubernetes Engine (GKE). Также будет использован Istio для создания слоя service mesh и публичного шлюза. Все это будет защищено с помощью JWT аутентификации Okta OAuth.

https://www.javacodegeeks.com/2019/04/build-microservice-architecture-spring-boot-kubernetes.html

https://t.me/middle_java
источник
middlejava
#git #education

5 Free Courses to Learn Git and Github in Depth

\\\\\

5 бесплатных курсов для глубокого изучения Git и Github

https://dev.to/javinpaul/5-free-courses-to-learn-git-and-github-in-depth-jpp

https://t.me/middle_java
источник
middlejava
#systemdesign #interview

Top 20 System Design Interview Questions for Java Programmers

\\\\\

20 популярных вопросов для собеседования по системному проектированию для Java разработчиков

http://www.java67.com/2018/05/top-20-system-design-interview-questions-answers-programming.html

https://t.me/middle_java
источник
2019 April 17
middlejava
#springboot #rsocket #reactiveprogramming #springtips

Spring Tips: RSocket Messaging in Spring Boot 2.2

In this installment of Spring Tips Josh revisits RSocket, the reactive application protocol from, among others, Facebook, this time looking at the brand new Spring Framework 5.2 and Spring Boot 2.2 integration.

\\\\\

Spring Tips: Обмен сообщениями с помощью RSocket в Spring Boot 2.2

В этой части Spring Tips Джош вновь рассматривает RSocket, протокол реактивных приложений, поддерживаемый в частности  Facebook. В этот раз обращается к принципиально новой теме интеграции Spring Framework 5.2 и Spring Boot 2.2.

http://spring.io/blog/2019/04/15/spring-tips-rsocket-messaging-in-spring-boot-2-2

https://t.me/middle_java
источник
2019 April 18
middlejava
#kotlin #tutorial #education

Learn Kotlin

The following items make up this learning path (Units 4 – 17 to come):

🔹 1. Series
Unit 1: Overview of the Kotlin learning path
Understand why you should learn Kotlin and how this learning path will help you.
https://developer.ibm.com/series/learn-kotlin/
🔹 2. Tutorial
Unit 2: Set up your Kotlin development environment
Install requisite software so that your computer will be set up and ready to write Kotlin code.
https://developer.ibm.com/tutorials/learn-kotlin-2/
🔹 3. Tutorial
Unit 3: Object- and function-oriented programming concepts and principles
Get a basic understanding of object-oriented and function-oriented programming concepts.
https://developer.ibm.com/tutorials/learn-kotlin-3/

https://t.me/middle_java
источник
2019 April 19
middlejava
#education #web

The 2019 Web Developer RoadMap

\\\\\

План обучения веб разработчика в 2019 году

https://hackernoon.com/the-2019-web-developer-roadmap-ab89ac3c380e

https://t.me/middle_java
источник
2019 April 20
middlejava
#productivity

How do you stay motivated for the entirety of your project?

An interesting discussion with useful tricks and advices.

\\\\\

Как вы остаетесь мотивированным в течение всего проекта?

Интересное обсуждение с полезными советами и хитростями.

https://dev.to/_baruchadi/how-do-you-stay-motivated-for-the-entirety-of-your-project-2i6f

https://t.me/middle_java
источник
2019 April 21
middlejava
#spring #reactive #kotlin #java #hibernate

Weekly Java news by Eugene.

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

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

https://t.me/middle_java
источник
2019 April 22
middlejava
#tutorial #concurrency #java

Java Concurrency Essentials

In this course, you will dive into the magic of concurrency. You will be introduced to the fundamentals of concurrency and concurrent code and you will learn about concepts like atomicity, synchronization and thread safety.
As you advance, the following lessons will deal with the tools you can leverage, such as the Fork/Join framework, the java.util.concurrent JDK package. To sum those up, you will learn about testing concurrent applications.

Java Concurrency Essentials includes:

- Introduction to Threads and Concurrency
- Concurrency Fundamentals: Deadlocks and Object Monitors
- The java.util.concurrent Package
- Performance, Scalability and Liveness
- Fork/Join Framework
- Testing Concurrent Applications

https://t.me/middle_java
источник
middlejava
#linux #hardware #tutorial

Learn Linux, 101: Configure hardware settings

In this tutorial, learn to configure and check the hardware for your Linux system. Learn to:

- Enable and disable integrated peripherals
- Configure systems with or without external peripherals such as keyboards
- Distinguish different types of mass storage devices
- Understand cold-plug and hot-plug devices
- Know what hardware resources devices use
- Use tools to list and manipulate devices
- Understand sysfs, procfs, udev, and dbus

\\\\\

Learn Linux, 101: Настройка параметров оборудования

В этом руководстве вы научитесь настраивать и проверять оборудование вашей системы Linux. Вы научитесь:

- Включать и отключать встроенную периферию
- Настраивать системы с внешними периферийными устройствами, такими как клавиатуры, или без них.
- Различать различные типы запоминающих устройств
- Понимать устройства с холодной и горячей заменой
- Узнавать, какие аппаратные ресурсы используют устройства
- Использовать инструменты для просмотра и управления устройствами
- Понимать sysfs, procfs, udev и dbus

https://developer.ibm.com/tutorials/l-lpic1-101-1/

https://t.me/middle_java
источник
middlejava
#hibernate #entitylistener #tutorial

Hibernate Tips: How to activate an entity listener for all entities

Question:
We use an EntityListener to write an audit log. Is there an easy way to attach the EntityListener to all entities?

Solution:
In most cases, you register an EntityListener for an entity using the @EntityListeners annotations on an entity class. That works fine if you use different listeners for each entity class.
But it’s inconvenient if you want to assign the same listener to all entity classes. In that situation, it’s easier to use an XML configuration to register the EntityListener to all entities by default.

\\\\\\

Hibernate Tips: Как активировать entity listener для всех сущностей

Вопрос:
Мы используем EntityListener для записи журнала аудита. Есть ли простой способ присоединить EntityListener ко всем сущностям?

Решение:
В большинстве случаев вы регистрируете EntityListener для сущности, используя аннотации @EntityListeners для класса сущности. Это прекрасно работает, если вы используете разные слушатели (listeners) для каждого класса сущностей.
Но это неудобно, если вы хотите назначить одного и того же слушателя всем классам сущностей. В этой ситуации проще использовать конфигурацию XML для регистрации EntityListener для всех объектов по умолчанию.

https://thoughts-on-java.org/hibernate-tips-how-to-activate-an-entity-listener-for-all-entities/#more-21788

https://t.me/middle_java
источник
2019 April 23
middlejava
#profiling #performance

Continuous Profiling in Production: What, Why and How (video)

Richard Warburton and Sadiq Jaffer talk about the ins and outs of profiling in a production system, the different techniques and approaches that help understand what’s really happening with a system. This helps solve new performance problems, regressions and undertake capacity planning exercises.

\\\\\

Непрерывное профилирование в продакшене: что, почему и как (видео)

Richard Warburton и Sadiq Jaffer рассказывают о тонкостях профилирования в проме, о различных методах и подходах, которые помогают понять, что на самом деле происходит с системой.  Это помогает решать новые проблемы производительности, регрессии и планировать мощности.

https://www.infoq.com/presentations/cotinuous-profiling-production

https://t.me/middle_java
источник
middlejava
#git #programming

Why you should not use feature branches

\\\\\

Почему не стоит использовать feature branches

https://dev.to/jpdelimat/why-you-should-not-use-feature-branches-h68

https://t.me/middle_java
источник
middlejava
#hibernate #education

Difference between query, native query, named query and typed query (Hibernate)

Query

Query refers to JPQL/HQL query with syntax similar to SQL generally used to execute DML statements(CRUD operations).
In JPA, you can create a query using entityManager.createQuery(). You can look into API for more detail.
In Hibernate, you use session.createQuery()


NativeQuery

Native query refers to actual sql queries (referring to actual database objects). These queries are the sql statements which can be directly executed in database using a database client.
JPA : entityManager.createNativeQuery() Hibernate (Non-JPA implementation): session.createSQLQuery()


NamedQuery

Similar to how the constant is defined. NamedQuery is the way you define your query by giving it a name. You could define this in mapping file in hibernate or also using annotations at entity level.


TypedQuery

TypedQuery gives you an option to mention the type of entity when you create a query and therefore any operation thereafter does not need an explicit cast to the intended type. Whereas the normal Query API does not return the exact type of Object you expect and you need to cast.

\\\\\\

В чем различия между query, native query, named query и typed query (Hibernate)

Query

Query относится к JPQL / HQL-запросу с синтаксисом, аналогичным SQL, обычно используемому для выполнения операторов DML (операций CRUD).
В JPA вы можете создать запрос с помощью entityManager.createQuery (). Вы можете посмотреть в API для более подробной информации.
В Hibernate вы используете session.createQuery ()


NativeQuery

NativeQuery имеет отношение к фактическим запросам sql (ссылается на фактические объекты базы данных). Эти запросы представляют собой операторы sql, которые могут напрямую выполняться в базе данных с помощью клиента базы данных.
JPA: entityManager.createNativeQuery () Hibernate (Non-JPA реализация): session.createSQLQuery ()


NamedQuery

Аналогично тому, как определяется константа. NamedQuery - это способ определения запроса путем присвоения ему имени. Вы можете определить это в mapping файле в hibernate или также использовать аннотации на уровне entity.


TypedQuery

TypedQuery дает вам возможность упоминать тип сущности при создании запроса, и поэтому любая операция после этого не нуждается в явном приведении к намеченному типу. Принимая во внимание, что обычный Query API не возвращает точный тип объекта, который вы ожидаете, и вам нужно привести его.

https://t.me/middle_java
источник