Size: a a a

2019 May 13
middlejava
#java #tutorial

Advanced Java Tutorial

This course is designed to help you make the most effective use of Java. It discusses advanced topics, including object creation, concurrency, serialization, reflection and many more. It will guide you through your journey to Java mastery.

Content:

1  How to create and destroy objects
2  Using methods common to all objects
3  How to design Classes and Interfaces
4  How and when to use Generics
5  How and when to use Enums and Annotations
6  How to write methods efficiently
7  General programming guidelines
8  How and when to use Exceptions
9  Concurrency best practices
10  Built-in Serialization techniques
11  How to use Reflection effectively
12  Dynamic languages support
13  Java Compiler API
14  Java Annotation Processors
15  Java Agents

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

Сегодняшние вакансии:

В Сбербанке открыты следущие вакансии (Москва):
- Middle/Senior java-разработчик
- Разработчик Python
- Администратор тестовых сред АС ЕФС
- Ansible Developer for Database Administration
- Инженер систем мониторинга

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

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

https://t.me/middle_java
источник
2019 May 14
middlejava
#rest #soap #java

Differences Between REST and SOAP APIs

This article discusses the differences between REST and Soap APIs. Therefore, after reading these articles, readers will probably understand why, when and how any of these two APIs are used to develop these APIs. We first try to understand what web services are, move towards its concepts and then contradict and contrast these two major types of web services.

\\\\\

Различия между API REST и SOAP

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

https://examples.javacodegeeks.com/enterprise-java/differences-between-rest-soap-apis

t.me/middle_java
источник
2019 May 15
middlejava
#webinar #freeinternet #roskomnadzor

Заходите 16 мая в 13.00мск к нам на вебинар!
Поговорим про закон о суверенном Рунете

- Как принимался;
- Что включает;
- Реперные точки вступления в силу;
- Схема исполнения и подзаконки;
- Чем грозит: обществу, владельцам сайтов, интернет-провайдингу;
- Какие законы могут последовать за ним.

Будут слайды, документы, весёлые картинки.

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

Будем вместе с вами разбираться

Регистрация:  https://events.webinar.ru/4747163/2335363

t.me/middle_java
источник
middlejava
#docker #container #database

Running databases in Docker at scale (video)

Running services in Docker has become more or less mainstream. Running databases in Docker, however, is not that widespread. At Uber, we’re migrating all our storage solutions to run in Docker containers, and in this talk we will look at why that’s a good idea and what kind of tooling we’re building to support running many thousands of MySQL databases, Cassandra nodes, ElasticSearch nodes, and more.

\\\\\

Запуск баз данных в Docker с масштабированием (видео)

Запуск сервисов в Docker стал более или менее распространенным явлением.  Работа с базами данных в Docker, однако, не так широко распространена.  В Uber мы переводим все наши решения хранения данных в контейнеры Docker и в этом докладе мы рассмотрим, почему это хорошая идея и какие инструменты мы создаем для поддержки работы тысяч баз данных MySQL, узлов Cassandra и ElasticSearch и многих других инструментов.

https://jaxenter.com/running-databases-docker-scale-158264.html

t.me/middle_java
источник
2019 May 16
middlejava
#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
источник
2019 May 17
middlejava
#angular #tutorial

Angular Tutorial Series

Angular, a structural framework for dynamic web apps, lets you use HTML as your template language and enables you to extend HTML’s syntax to express your application’s components clearly and succinctly. The ease in which it allows developers to build expressive, readable and quick to develop web applications has fueled its popularity.  Luckily, getting up to speed on developing with Angular v2+ involves mastering just a handful of basics which we cover in this series of Angular tutorials below.

\\\\\

Обучающая серия по Angular

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

t.me/middle_java
источник
middlejava
#ithumor #bugfixing

How we fix bugs

Как мы фиксим баги

t.me/middle_java
источник
2019 May 18
middlejava
#testing #tdd #spring #java #architecture #kafka #microservices

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


Highlights:
- An application of Test-Driven Development to a basic Java program
- An overview of data mesh, a new enterprise data architecture
- And new releases of Spring Core and Spring Boot are available

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

https://t.me/middle_java
источник
2019 May 19
middlejava
#job #story

Как программист зарабатывал $13 тыс. в месяц в Украине и дорос до $23 тыс. в США

Выводы

Сейчас я имею около $23K в месяц чистыми. Обычно в США говорят про доходы до налогов, и кажется, что такая сумма не такая ах. А вот $23K после налогов — это прям уже очень достаточно :)

Если подытожить, то:

-- Бывали моменты, когда я совсем уходил в работу, что иногда стреляло по моему здоровью.
-- Правильная организация времени позволит вам сделать намного больше, и даже в Facebook немного потупите.
-- Не стоит скидывать со счета старые технологии. К примеру, в стартапе у меня мейнстрим, а в моей другой профессиональной жизни — очень часто говно мамонта. Но оно приносит намного больше денег, чем самая блестящая новенькая технология.
-- На каждый товар есть свой покупатель. Все дело в наглости и смелости.
-- Инженерия — это ремесло, а не постоянная гонка за модными тенденциями.
-- Найдите свой баланс. Он не всегда в использовании чего-то самого нового и плача о старых технологиях. Ведь, в конце концов, важен результат, который вы приносите клиенту, и что вы делаете после работы. Я, к примеру, когда-то учил Silverlight. Классная, новая, блестящая технология была :)

https://dou.ua/lenta/articles/my-salary-3/

https://t.me/middle_java
источник
2019 May 20
middlejava
#tutorial #java #microservices #microprofile

Write a simple MicroProfile application

In this series, write a sample MicroProfile application that provides a single URL for a meeting, which can then be "started" by one person, and everyone else gets redirected. Learn, also, how to update the MicroProfile application, perform asynchronous tasks in the application to perform background maintanance, add WebSockets, and use CDI Events.

\\\\\

Пишем простое приложение MicroProfile

В этой серии статей напишем приложение MicroProfile, которое предоставляет единый URL-адрес для собрания, который затем может «запускать» один человек, а все остальные будут перенаправлены. Также вы узнаете, как обновить приложение MicroProfile, запустить асинхронные задачи в приложении для выполнения фонового обслуживания, добавить WebSockets и использовать ивенты CDI.

🔹 Part 1: Set up the MicroProfile meeting application on Open Liberty
https://developer.ibm.com/tutorials/write-a-simple-microprofile-application-1/

🔹 Part 2: Add persistence
https://developer.ibm.com/tutorials/write-a-simple-microprofile-application-2/

🔹 Part 3: Use Java EE concurrency
https://developer.ibm.com/tutorials/write-a-simple-microprofile-application-3/

🔹 Part 4: Use WebSockets and CDI events
https://developer.ibm.com/tutorials/write-a-simple-microprofile-application-4/

https://t.me/middle_java
источник
2019 May 21
middlejava
#activemq #jms

5 Minutes or Less: ActiveMQ with JMS Queues and Topics

This post introduces you to both ActiveMQ and JMS.

\\\\\

5 минут или меньше: ActiveMQ + очереди и топики JMS

Этот пост знакомит вас с ActiveMQ и JMS.

https://tomitribe4.wpengine.com/blog/5-minutes-or-less-activemq-with-jms-queues-and-topics/

https://t.me/middle_java
источник
2019 May 23
middlejava
#kotlin #loops

Loops in Kotlin

Kotlin provides its own way of looping on ranges.
I wanted to list a few ways of looping it Kotlin.

\\\\\

Циклы в Kotlin

Kotlin предоставляет свой собственный способ организации циклов на диапазонах.
Перечислим несколько способов организации циклов в Kotlin.

https://www.jworks.io/loops-in-kotlin/

https://t.me/middle_java
источник
2019 May 24
middlejava
#hibernatetips

Hibernate Tips: The best way to remove entities from a many-to-many association

Question:

I was asked the following question:

What’s the best way to remove entities from a many-to-many association?

Solution:

The mapping of a many-to-many association seems to be easy. But there are a few rules you need to follow to avoid common pitfalls:

🔹 You should map the association to a Set.
🔹 You should not use CascadeType.REMOVE.
🔹 You should provide utility methods to add entities to and to remove them from a bidirectional association.
🔹 You need to clean up all associations if you remove the entity that doesn’t own the association.

https://thoughts-on-java.org/hibernate-tips-the-best-way-to-remove-entities-from-a-many-to-many-association/#more-22069

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

When only unit tests are written without writing integration tests

Когда пишут юнит тесты и не пишут интеграционные тесты

t.me/middle_java
источник
2019 May 27
middlejava
#java #meetup

Митап Java Party
28 мая 2019

Яндекс.Маркет приглашает на митап, посвященный разработке на Java. Докладчики расскажут, как создавался маркетплейс Bringly: как писали бэкенд сервиса, создавали собственную систему CI/CD и автоматизировали релизные процессы. Покажут инструменты для функционального тестирования интеграции с базой данных.

Участие бесплатное.
Нужна регистрация.

https://events.yandex.ru/events/meetings/28-may-2019/

t.me/middle_java
источник
2019 May 28
middlejava
#java #spring

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


Highlights:
-- An intro to Spring Reactive transactions, with milestones for MongoDB and RDBC2
-- A fresh write-up on dealing with technical debt
-- And recent disasters reminding programmers of our responsibility for quality software and safety

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

https://t.me/middle_java
источник
2019 May 29
middlejava
#java #interview

Top 75 Programming Interview Questions Answers to Crack Any Coding Job Interview

\\\\\

75 самых популярных вопросов с ответами, чтобы пройти любое собеседование по программированию

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

t.me/middle_java
источник
2019 May 30
middlejava
#productivity #softwaredevelopment #video #course

Video Course — Developer Productivity

In this video course I'll cover topics, concepts and tools that helped me becoming more productive and effective as a developer.

\\\\\

Видео-курс — Продуктивность разработчика

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

https://www.youtube.com/watch?v=IScZNGylkVI

https://t.me/middle_java
источник
2019 May 31
middlejava
#webinar #microservices #kafka #rabbitmq #spring

Boosting Microservice Performance with Kafka, RabbitMQ, and Spring Webinar

Jun 6

This free webinar will teach you how to use open-source solutions like Spring Cloud Stream, RabbitMQ, and Apache Kafka to maximize your distributed systems' capabilities while minimizing complexity.

\\\\\

Вебинар "Повышение производительности микросервиса с помощью Kafka, RabbitMQ и Spring"

6 июня

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

https://content.pivotal.io/webinars/jun-6-boosting-microservice-performance-with-kafka-rabbitmq-and-spring-webinar

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