middlejava
274 members
5 photos
4 videos
44 files
221 links
Канал о backend и Java. Здесь вы найдёте статьи, книги, вакансии, описание работы с фреймворками и библиотеками Spring, Hibernate, JOOQ, Lombok и др., учебные задачи, анонсы мероприятий.
По всем вопросам прошу связываться по email middle.java@mail.ru
Download Telegram
to view and join the conversation
#meetup #moscow #mongodb #python

Митап: Scalability Meetup #9

На митапе Scalability Camp поговорим про распределенные архитектуры на примере построения пайплайнов для дата аналитики и масштабирования MongoDB.

-- MongoDB: от мегабайт до петабайт не расплескав смузи
-- Lambda и Kappa архитектуры глазами дата инженера

четверг, 6 июня 2019 г.
19:30 до 21:30


https://www.meetup.com/ru-RU/Scalability-Camp/events/261525352


Митап: Python Breakfast Moscow #2 (Junior Edition)

Python завтрак в новом формате. В этот раз у нас будут модерируемые столы, один из которых специально для начинающих разработчиков на Python.

-- Работа с данными в Python: как, чем и что можно улучшить — делимся опытом. Модератор стола — Николай Марков
-- Проблемы джуниора на публичных мероприятиях или секция для всех тех, кто пишет мне (или думает про себя) о том, что они джуниоры и пока понаблюдают — обсудим как понять стоит ли идти на то или иное мероприятие если вы ещё джуниор (спойлер: стоит) и как вести себя среди "матерых разработчиков", чтобы не ударить в грязь лицом. Модератор стола — Владимир Протасов
-- Свободное обсуждение (за любым столом). Без модератора.

Вход бесплатный, вы платите только за свой завтрак.

четверг, 6 июня 2019 г.
09:30 до 12:00


https://python-breakfast.timepad.ru/event/992203/

https://t.me/middle_java
#testing #bdd #tdd #mocking #stubbing #tutorial

How to test software.

-- Part I: mocking, stubbing, and contract testing
We’ll cover the techniques of mocking and stubbing, and test-driven development to help each testing layer. First, let’s review a concept "the test pyramid". This helps illustrate the difference between different kinds of tests and when it’s advantageous to do them.
https://circleci.com/blog/how-to-test-software-part-i-mocking-stubbing-and-contract-testing/

-- Part II: TDD and BDD
In this post, I’m going to cover two methods for software development that take testing into consideration at the outset: test-driven development (TDD) and behavior-driven development (BDD). Using these methodologies will improve the way you think about software development, and greatly enhance the efficacy of your tests
https://circleci.com/blog/how-to-test-software-part-ii-tdd-and-bdd/

\\\\\

Как тестировать ПО.

-- Часть 1:
Мы расскажем о методах мокирования и использования заглушек, а также о разработке на основе тестов, чтобы помочь каждому уровню тестирования. В первую очередь рассмотрим концепцию "тестовая пирамида". Это поможет проиллюстрировать разницу между различными видами тестов и покажет когда полезно их выполнять.

-- Часть 2:
В этом посте я расскажу о двух методах разработки программного обеспечения, которые с самого начала учитывают тестирование: разработка на основе тестирования (TDD) и разработка на основе поведения (BDD). Использование этих методологий улучшит ваши взгляды на разработку программного обеспечения и значительно повысит эффективность ваших тестов.

t.me/middle_java
#java #spring #jpa #pagination #tutorial

Spring boot pagination and sorting example

Learn to request and display only chunk of data from database using pagination and sorting inputs and query parameters in spring boot and spring data applications.

\\\\\

Пример пейджинга и сортировки в Spring Boot

Научимся запрашивать и отображать только часть данных из базы данных, используя пейджинг и сортировку входных данных и параметров запросов в приложениях Spring Boot и Spring Data.

https://howtodoinjava.com/spring-boot2/pagination-sorting-example

t.me/middle_java
#java #stream #completablefutures

Streaming Java CompletableFutures in Completion Order

Java 8 brought us tools like CompletableFuture and Stream API.
let’s try to combine them both and create a Stream that returns values from a collection of CompletableFutures as they arrive.

\\\\\

Обработка Java CompletableFutures в стриме в порядке вызова Complete

Java 8 дала нам такие инструменты, как CompletableFuture и Stream API.
Давайте попробуем объединить их и создать стрим, который возвращает значения из коллекции CompletableFutures по мере их поступления.

https://4comprehension.com/streaming-completablefutures-in-completion-order/

https://t.me/middle_java
#tutorial #api #java #microservices #paas #cloud

Monitor response times of cloud Java microservices with Databases for MongoDB

This tutorial instructs you on how to check the response times of services hosted on IBM Cloud. This is a simple tool that can also show you how to do the basic CRUD operations in your Java application/microservice on strategic datasources like Cloudant, IBM Message Hub, MongoDB, Elastic Search, and more.

\\\\\

Мониторинг времени отклика облачных Java-микросервисов с базами данных MongoDB

В этом тьюториале рассказывается, как проверить время отклика сервисов, размещенных в IBM Cloud. Это простой инструмент, который также может показать вам, как выполнять базовые операции CRUD в вашем Java приложении/микросервисе со стратегическими источниками данных, такими как Cloudant, IBM Message Hub, MongoDB, Elastic Search и т.Д.

https://developer.ibm.com/tutorials/check-response-times-for-crud-services-with-mongodb-and-java-liberty/

https://t.me/middle_java
Java_разработчик_с_высоким_уровнем.docx
18.3 KB
#job #java

В Сбербанке открыта вакансия (Москва):
-- Java разработчик с высоким уровнем экспертизы

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

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

https://t.me/middle_java
01 jpoint_2019.rar
1.5 GB
#jpoint2019 #conference

Доклады с конференции Jpoint 2019

Часть 1 из 6

t.me/middle_java
02 jpoint_2019.rar
1.3 GB
#jpoint2019 #conference

Доклады с конференции Jpoint 2019

Часть 2 из 6

t.me/middle_java
03 jpoint_2019.rar
1.3 GB
#jpoint2019 #conference

Доклады с конференции Jpoint 2019

Часть 3 из 6

t.me/middle_java
04 jpoint_2019.rar
1.4 GB
#jpoint2019 #conference

Доклады с конференции Jpoint 2019

Часть 4 из 6

t.me/middle_java
05 jpoint_2019.rar
1.3 GB
#jpoint2019 #conference

Доклады с конференции Jpoint 2019

Часть 5 из 6

t.me/middle_java
06 jpoint_2019.rar
674.1 MB
#jpoint2019 #conference

Доклады с конференции Jpoint 2019

Часть 6 из 6

t.me/middle_java
#bug #softwaredevelopment #buglifecycle

LifeCycle Of A Testing Bug

A software bug is an error or fault in a computer program making it behave in unexpected ways. Bugs can be present at any stage during SDLC (Software development LifeCycle), or at the designing phase, development phase, user acceptance testing phase or even by the user.
Defect Life Cycle, also called the Bug Life Cycle, is a specific convention of states through which a bug passes beginning from the phase of discovery to defect fixation. The number of states that a defect is meant to pass through varies from organization to organization and project to project. The following are the basic stages in the lifecycle of a bug.

\\\\\

Жизненный цикл тестового бага

Программный баг - это ошибка или падение компьютерной программы, заставляющее ее вести себя неожиданным образом. Баги могут присутствовать на любом этапе SDLC (жихненный цикл разработки программного обеспечения): на этапе проектирования, разработки, приемочного тестирования или даже быть обнаруженными пользователем.
"Жизненный цикл дефекта", или "Жизненный цикл бага", представляет собой специальное соглашение о состояниях, через которые проходит баг, начиная с фазы обнаружения и заканчивая исправлением бага. Количество состояний, которые должен пройти баг, варьируется от организации к организации и от проекта к проекту. Ниже приведены основные этапы жизненного цикла бага.

https://www.lambdatest.com/blog/lifecycle-of-a-testing-bug

t.me/middle_java
#java #spring

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


Highlights:
-- A cache-friendly approach to creating S3 signed URLs
-- A database migration testing library for JUnit
-- And a discussion of testing in statically-typed vs dynamically-typed languages

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

t.me/middle_java
#tutorial #jooq #spring

Using jOOQ With Spring

jOOQ is a library which helps you to get back in control of your SQL. It can generate code from your database and lets you build typesafe database queries by using its fluent API.
jOOQ helps you to solve the performance problems caused by ORM tools because you (and not the ORM tool) decide what kind of SQL queries your applications executes against its database.
The following five part tutorial will help you get started with jOOQ.

\\\\\

Использование jOOQ со Spring

jOOQ - это библиотека, которая помогает вам взять под контроль SQL. Она может генерировать код на основе базы данных и позволяет строить к ней типобезопасные запросы с помощью гибкого API.
jOOQ помогает решить проблемы с производительностью, вызванные инструментами ORM, потому что вы (а не ORM) решаете, какие SQL-запросы приложения выполняют к базе данных.
Следующее руководство из пяти частей поможет вам начать работу с jOOQ.

https://www.petrikainulainen.net/using-jooq-with-spring

t.me/middle_java
#kafka #elk #logging

Kafka Logging with the ELK Stack

Kafka and the ELK Stack — usually these two are part of the same architectural solution, Kafka acting as a buffer in front of Logstash to ensure resiliency. This article explores a different combination — using the ELK Stack to collect and analyze Kafka logs.

\\\\\

Логгирование Kafka с помощью стека ELK

Kafka и стек ELK - обычно эти два компонента являются частью одного архитектурного решения: Kafka выступает в качестве буфера перед Logstash для обеспечения отказоустойчивости. В этой статье рассматривается другая комбинация - использование стека ELK для сбора и анализа журналов Kafka.

https://logz.io/blog/kafka-logging

t.me/middle_java
вакансии-2019-06-18.pdf
204.4 KB
#job #java

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

-- Java Developer
-- Senior Java Developer
-- Front-End Разработчик (React Js)
-- Системный аналитик
-- Специалист по тестированию

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

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

t.me/middle_java
#clickhouse #centos

How To Install and Use ClickHouse on CentOS 7

ClickHouse is an open-source, column-oriented analytics database created by Yandex for OLAP and big data use cases. ClickHouse's support for real-time query processing makes it suitable for applications that require sub-second analytical results. ClickHouse's query language is a dialect of SQL that enables powerful declarative querying capabilities while offering familiarity and a smaller learning curve for the end user.

\\\\\

Неплохой тьюториал про конфигурирование и использование ClickHouse в CentOS 7.

ClickHouse - это колоночная аналитическая СУБД с открытым кодом, созданная Яндексом для OLAP и обработки больших данных. Поддержка ClickHouse обработки запросов в режиме реального времени делает его подходящим для приложений, которые требуют аналитических результатов за доли секунды. Язык запросов ClickHouse - это диалект SQL, который обеспечивает мощные возможности декларативных запросов, делая обучения конечного пользователя более комфортным и быстрым.

https://www.digitalocean.com/community/tutorials/how-to-install-and-use-clickhouse-on-centos-7

t.me/middle_java
#monitoring #grafana #prometheus

The combination of Prometheus and Grafana is becoming a more and more common monitoring stack used by DevOps teams for storing and visualizing time series data. Prometheus acts as the storage backend and Grafana as the interface for analysis and visualization.

Prometheus collects metrics from monitored targets by scraping metrics from HTTP endpoints on these targets. But what about monitoring Prometheus itself?

Like any server running processes on a host machine, there are specific metrics that need to be monitored such as used memory and storage as well as general ones reporting on the status of the service. Conveniently, Prometheus exposes a wide variety of metrics that can be easily monitored. By adding Grafana as a visualization layer, we can easily set up a monitoring stack for our monitoring stack.

Let’s take a closer look.

\\\\\\

Prometheus и Grafana становятся все более распространенным стеком мониторинга, используемым командами DevOps для хранения и визуализации time series данных. Prometheus выступает в качестве хранилища данных, а Grafana - в качестве интерфейса для анализа и визуализации.

Prometheus собирает метрики от отслеживаемых целей, вытаскивая метрики из HTTP endpoints этих целей. Но как насчет мониторинга самого Prometheus?

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

Давайте глянем поближе.

https://logz.io/blog/prometheus-monitoring/

https://t.me/middle_java