Size: a a a

2019 March 18
middlejava
#java #web #servlet

A Java Web Application Without a web.xml

In this tutorial, we’re creating a Java web application using Servlet 3.0+.

We’ll take a look at three annotations – @WebServlet, @WebFilter, and @WebListener – that can help us nix our web.xml files.

\\\\\\

Веб-приложение на Java без web.xml

В этом тьюториале мы создадим веб-приложение на Java с использованием Servlet 3.0+.

Мы рассмотрим три аннотации - @WebServlet, @WebFilter и @WebListener - которые помогут нам избавится от файлов web.xml.

https://www.baeldung.com/java-web-app-without-web-xml

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

24.03.2019 в 15:00 в Москве состоится очередное Clojure DOJO - мероприятие где участники ведут совместную разработку на Clojure.
Место проведения: Москва, ул. Кузнецкий Мост, 19с1, "Циферблат"

https://www.meetup.com/ru-RU/Moscow-Clojure-Script-Meetup/events/259740385/?recEventId=259740385&eventId=259740385&gj=wcs1_e&rv=wcs1_e&_af=event&_af_eid=259740385&chapter_analytics_code=UA-122303479-1&recNumber=1&rv=wcs1_e

https://t.me/middle_java
источник
middlejava
#java #functional #vavr

Functional programming in Java with Vavr

Functional programming is becoming more and more popular nowadays, and popular imperative languages, like Java, started trying to create functional mechanisms.
Java, from version 8, also supports functional programming with its streams and Vavr library provides many features, which extends standard Java functional mechanisms.
Vavr gives us a lot of features, which turn Java into a real functional programming language.
Here are main features of Vavr.

\\\\\\\\

Функциональное программирование на Java с Vavr

В настоящее время функциональное программирование становится все более популярным, и известные императивные языки, такие как Java, начинают предусматривать функциональные механизмы.
Java, начиная с версии 8, также поддерживает функциональное программирование со своими стримами (streams), а библиотека Vavr предоставляет множество функций, расширяющих стандартные функциональные механизмы Java.
Vavr предоставляет нам множество функций, которые превращают Java в настоящий функциональный язык программирования.
В данной статье приведены основновные компоненты Vavr.

https://blog.pragmatists.com/functional-programming-in-java-with-vavr-9861e704301c

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

6 Mistakes Scrum Masters Should Avoid, and Their Remedies

We will be looking at some of the best practices for the Agile team member known as the “scrum master,” who can help any organization drive toward success. Here are a few of the pitfalls, with possible remedies, to help illustrate the role of a scrum master.

\\\\\\

6 ошибок, которые следует избегать Scrum мастеру и способы их устранения

Мы рассмотрим некоторые из лучших практик для участника Agile команды, известного как «Scrum master». Рассмотрим различные подводные камни и возможные защитные методики, которые помогут проиллюстрировать роль scrum мастера.

https://www.javacodegeeks.com/2019/03/mistakes-scrum-masters-avoid-remedies.html

https://t.me/middle_java
источник
2019 March 19
middlejava
#java #concurrency #checklist #codereview

A brilliant piece of information.
Code Review Checklist: Java Concurrency.

\\\\\

Шикарная статья.
Чек-лист для код-ревью с точки зрения  многопоточности.

https://medium.com/@leventov/code-review-checklist-java-concurrency-49398c326154

https://github.com/code-review-checklists/java-concurrency/blob/master/README.md

https://t.me/middle_java
источник
middlejava
#javascript #asynchronous #callback

Статья на русском языке (article is in Russian).

Решение проблем колбэков с помощью Async

https://code.tutsplus.com/ru/tutorials/solving-callback-problems-with-async--cms-26591

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

Сколько зарабатывают разработчики разных квалификаций.
Подробный обзор за последние 1.5 года.

https://m.habr.com/ru/company/moikrug/blog/443810/

https://t.me/middle_java
источник
2019 March 20
middlejava
#functionalprogramming #oop #java

Functional Programming Is Just a Safety Restriction on Object Orientation.
Interesting point of view on Functional Programming.

\\\\\\

Функциональное программирование - это просто ограничение безопасности при объектно-ориентированном подходе.
Интересная точка зрения на функциональное программирование.

https://dzone.com/articles/inversion-of-coupling-control-1

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

In this minibook we’re going to go through some of the most anticipated questions (and their answers) to help you get going in job interviews and make a good impression with your knowledge.

JavaScript Interview Questions includes:

- Javascript: An Overview
- Theoretical Questions
- Code Output Questions
- Write Code Questions
- Rapid Fire – Tricky Questions
- Essential Questions
- General Questions

https://t.me/middle_java
источник
middlejava
#rest #api #hikaku #spring

Spotting mismatches between your spec and your REST-API with hikaku.

If you provide a REST-API and you create it contract-first, you either use an approach that involves code generation or you have to find another way to make sure that your specification and your implementation don’t diverge over time. In this article, I want to show you how hikaku can help you to ensure that with just a few lines of code.

\\\\\\

Обнаружение несоответствий между спецификацией и REST API с использованием hikaku.

Если вы предоставляете REST API и создаете сначала его контракт, то вы, либо используете подход, который включает в себя генерацию кода, либо вам нужно найти другой способ убедиться, что ваша спецификация и реализация не расходятся во времени. В этой статье я хочу показать вам, как hikaku может может обспечить это всего несколькими строками кода.

https://blog.codecentric.de/en/2019/03/spot-mismatches-between-your-spec-and-your-rest-api/

https://t.me/middle_java
источник
middlejava
#java #spring #springsecurity #tutorial

Spring Security Custom Authentication Provider.

This tutorial will show how to set up an Authentication Provider in Spring Security to allow for additional flexibility compared to the standard scenario using a simple UserDetailsService.

\\\\\\\

Кастомный Authentication Provider в Spring Security.

В этом тьюториале показано, как настроить Authentication Provider в Spring Security, для создания дополнительной гибкости по сравнению со стандартным сценарием, когда используется простой UserDetailsService.

https://www.baeldung.com/spring-security-authentication-provider

https://t.me/middle_java
источник
2019 March 21
middlejava
#springboot #hibernate #tutorial #java

Spring Boot with Hibernate.

In this article, we’ll have a look at how to use Spring Boot with Hibernate.
We’ll build a simple Spring Boot application and see how easy it is to integrate it with Hibernate.

\\\\\\

Spring Boot с Hibernate.

В этой статье мы рассмотрим, как использовать Spring Boot с Hibernate.
Мы создадим простое приложение Spring Boot и посмотрим, как просто его интегрировать с Hibernate.

https://www.baeldung.com/spring-boot-hibernate

https://t.me/middle_java
источник
middlejava
#java #spring #spel

Spring Expression Language Guide.

The Spring Expression Language (SpEL) is a powerful expression language that supports querying and manipulating an object graph at runtime. It can be used with XML or annotation-based Spring configurations.

\\\\\

Руководство по применению SpEL в Spring.

Spring Expression Language (SpEL) - это мощный язык выражений, который поддерживает запросы и манипулирование графом объектов в рантайме. Он может использоваться в Spring с XML-конфигурациями или конфигурациями на базе аннотаций.

https://www.baeldung.com/spring-expression-language

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

Introduction to Serverless on Kubernetes.
Serverless computing is a code execution model that abstracts away all the infrastructural plumbing underneath the code, allowing the developer to focus solely on their code. These applications are made up of independent smaller services, many of which are event-driven, short-lived, and stateless.
This minibook is an introduction into serverless implemented on Kubernetes.

\\\\\\

Введение в бессерверные вычисления на Kubernetes.
Бессерверные вычисления (Serverless) - это модель выполнения кода, которая абстрагирует всю инфраструктурную среду под кодом, позволяя разработчику сосредоточиться исключительно на своем коде. Эти приложения состоят из небольших независимых сервисов, многие из которых основаны на событиях (event-driven), короткоживущие и не имеют состояния.
Данная мини-книга - введение в бессерверную архитектуру, реализованную на Kubernetes.

https://t.me/middle_java
источник
middlejava
#continuousdelivery #continuousintegration #jenkins #kubernetes

The popular but troubled Jenkins CI/CD system is being reworked to support cloud-native applications on the Kubernetes container-orchestration platform. The Jenkins X project is a response to user concerns that Jenkins had lost its luster and had developed configuration and stability issues.

Jenkins X is intended for Kubernetes users who want to adopt CI/CD or who want CI/CD and are moving to the cloud, without necessarily knowing anything about Kubernetes. Jenkins X builds on Jenkins with open source tools, promoting a Git branching and a repository model. A Jenkins distribution is used as the core CI/CD engine.

\\\\\

Популярная, но проблемная система CI/CD Jenkins переписывается для поддержки cloud-native приложений на платформе Kubernetes. Проект Jenkins X является ответом на опасения пользователей, что Jenkins потерял свой блеск и у него возникли проблемы с конфигурацией и стабильностью.

Jenkins X предназначен для пользователей Kubernetes, которые хотят адаптировать CI/CD или которым нужен CI/CD и они переходят в облако, без обязательных знаний о Kubernetes. Jenkins X основан на Jenkins с open-source инструментами и продвигает модели ветвления и хранилища Git. В качестве ядра CI/CD используется дистрибутив Jenkins.

https://www.infoworld.com/article/3366428/jenkins-tries-to-reinvent-itself-as-cloud-native-for-kubernetes.html

https://t.me/middle_java
источник
2019 March 22
middlejava
#tutorial #springboot #angular #wso2siddhi #microservice #rest

Lightweight Real-Time Analytics With Spring Boot + WSO2 Siddhi
In this post, we learn how to tackle microservice development using Spring Boot, Angular, WSO2 Siddhi, and more.

Are you looking for a way to create a lightweight real-time analytics engine? This article explains how to do exactly that by combining a fast, embeddable real-time analytics library (WSO2 Siddhi) with an immensely popular microservices platform, Spring Boot. As a bonus, I will show you how to do that in under 5 minutes with code generation! After following this article, you'll be able to generate a full-fledged Java/Spring Boot project with a documented REST API, friendly, responsive front-end, basic Spring security, comprehensive test coverage, and database integration with just a few shell commands! The generated code will be your foundation for real-time microservice application.

\\\\\\\

Легковесная realtime аналитика с применением Spring Boot + WSO2 Siddhi
В этой статье мы узнаем, как разработать микросервис с использованием Spring Boot, Angular, WSO2 Siddhi и др.

Вы ищете способ создания легковесного аналитического realtime движка? В этой статье объясняется, как именно это сделать, комбинируя быструю встраиваемую realtime библиотеку для аналитики (WSO2 Siddhi) с чрезвычайно популярной платформой микросервисов Spring Boot. В качестве бонуса я покажу вам, как сделать это за 5 минут с генерацией кода! После прочтения этой статьи вы сможете создать полноценный проект Java/Spring Boot с документированным REST API, с дружественным, отзывчивым интерфейсом, базовой безопасностью Spring, полноценным тестированием и интеграцией БД с помощью всего лишь нескольких shell команд! Сгенерированный код станет вашей основой для микросервисных realtime приложений.

https://dzone.com/articles/lightweight-real-time-analytics-with-spring-boot-w

https://t.me/middle_java
источник
middlejava
#mockito #unittest #tdd #bdd

Mockito is an open source testing framework for Java released under the MIT License. The framework allows the creation of test double objects (mock objects) in automated unit tests for the purpose of Test-driven Development (TDD) or Behavior Driven Development (BDD).

In this ebook, we provide a compilation of Mockito programming examples that will help you kick-start your own web projects. We cover a wide range of topics, from initialization and simple test cases, to integration with JUnit, Maven and other frameworks.

Mockito Programming Cookbook includes:

- Mockito Tutorial for Beginners
- Test-Driven DevelopmentWith Mockito
- Mockito Initmocks Example
- Mockito Maven Dependency Example
- Writing JUnit Test Cases Using Mockito
- Mockito: How to mock void method call
- Spring Test Mock Example
- Mockito Captor Example
- Mockito ThenReturn Example

https://t.me/middle_java
источник
middlejava
#humor #notahumor #marketing

Have you ever seen a click farm?

This one in China has thousands of devices hooked up to generate views and engagement.

\\\\\\

Вы когда-нибудь видели ферму для кликов?

На одной из таких в Китае тысячи устройств подключены для генерации просмотров и вовлечения.

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

https://t.me/middle_java
источник
2019 March 23
middlejava
#springboot #kotlin #springsecurity #testing #java #programming

Weekly Java news by Eugene.

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

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

https://t.me/middle_java
источник
2019 March 24
middlejava
#java #uuid #education

UUID (Universal Unique Identifier) represents a 128-bit long unique value. It’s also popularly known as GUID (Globally Unique Identifier).

We can use UUID class for generating a random file name, a session or a transaction id. Another popular usage of UUID is for generating primary key values in the database.

In this tutorial, we will talk about different available versions for the variant type 2. We will also cover some methods exposed by the Java UUID class.

\\\\\\\\

UUID (Universal Unique Identifier - универсальный уникальный идентификатор) представляет собой уникальное значение длиной 128 бит. Он также широко известен как GUID (Globally Unique Identifier - глобальный уникальный идентификатор).

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

В этом тьюториале мы поговорим о различных версиях, в частности, версии-2. Мы также рассмотрим некоторые методы, предоставляемые классом UUID в Java.

https://www.javacodegeeks.com/2019/03/java-uuid.html

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