В этом выпуске
— Большие релизы: Linux, Spring, Spark, Protobuf, Aeron
— Большие покупки: SoftBank покупает ARM
— «Облачное» будущее Java EE
— Боремся с coordinated omission в бенчмарках
… и многое другое
1. Новости
1.1.Большие релизы
Чем лучше всего заниматься в разгар лета? Конечно пахать до седьмого пота, подготавливая новые версии классных продуктов! За прошедшие две недели вышла масса интересных релизов. Без комментариев, просто ссылки:
Linux 4.7: kernelnewbies.org/Linux_4.7
Spring 5.0 M1: spring.io/blog/2016/07/28/spring-framework-5-0-m1-released
Spring Boot 1.4: spring.io/blog/2016/07/28/spring-boot-1-4-released
Spark 2.0: databricks.com/blog/2016/07/26/introducing-apache-spark-2-0.html
Protobuf 3.0: github.com/google/protobuf/releases/tag/v3.0.0
Aeron 1.0: github.com/real-logic/Aeron/wiki/Change-Log
1.2. Облачное будущее Java EE
Ссылка: http://www.infoworld.com/article/3098007/java/oracle-to-reboot-java-ee-for-the-cloud.html
Oracle сохраняет интригу о дальнейшей судьбе Java EE, но дает определенные намеки. По словам Thomas Kurian, все будет очень круто: там и микросервисы, и reactive, и облака, и NoSQL. Амбициозно. Достаточно четкий сигнал остальному миру: «мы своего не упустим».
1.3. Японцы покупают ARM
Ссылка: http://www.wsj.com/articles/softbank-agrees-to-buy-arm-holdings-for-more-than-32-billion-1468808434
Японская бизнес-группа SoftBank объявила о покупке производителя производителя чипов ARM. Цена вопроса — 32 миллиарда долларов. Да, Internet of Things шагает по планете. Поэтому скорее выпиливайте Unsafe откуда только можно. Иначе задеплоят завтра Ваш микросервис на iPhone 7 — замучаетесь проблемы с эндианами и alignment-ами решать :-)
На фоне этой большой покупки немного меркнет другая история успеха, разрешившаяся в конце июля:
2. Почитать
2.1. Бенчмаркаем правильно
Ссылка: http://psy-lob-saw.blogspot.ru/2016/07/fixing-co-in-cstress.html
Nitsan Wakart рассказывает о своей борьбе с феноменом coordinated omission в утилите для бенчмаркинга Cassandra'ы. Проблема противная: если вы бомбардируете сервер синхронными запросами, то как только он начинает задыхаться, начинает буксовать и Ваша бенчмарк-тулза. Поэтому в такого рода бенчмарках очень легко получить неадекватные цифры, прохлопав момент подвисания сервера.
Статья поможет Вам освежить в голове основы теории очередей, и в очередной раз напомнит, насколько осторожно необходимо интепретировать результаты бенчмарков.
2.2. Что такое fail-safe итератор?
Ссылка: https://stuartmarks.wordpress.com/2016/07/27/there-is-no-such-thing-as-a-fail-safe-iterator-in-java/
Автор задается казалось бы банальным вопросом — что есть fail-safe итератор? Но далее он показывает, что «fail-safe» в контексте итераторов, это примерно как «реордеринг» в concurrency. То есть крайне размытое понятие, практически ничего не говорящее о поведении конкретного итератора.
2.3. Зачем менять Postgres на MySQL
Ссылка: https://eng.uber.com/mysql-migration/
Ребята из Uber рассказывают, почему они заменили Postgres на MySQL. Виновата архитектура — во время апдейтов Postgres приходится делать больше записей на диск в сравнении с MySQL, которая меньше пишет ценой дополнительных чтений. Это влечет за собой ряд негативных эффектов. Например, слишком дорогую репликацию между дата-центрами.
Такое глубокое погружение в тему забавно контрастирует с одним из устоявшихся (анти)паттернов ООП-мира: «скрыть детали реализации». Как показывает практика, «скрывать» надо с умом.
3. Мудрость
3.1. Кто ясно мыслит, тот ясно излагает
"A common fallacy is to assume authors of incomprehensible code will be able to express themselves clearly in comments." - @KevlinHenney
— Rich Rogers (@RichRogersIoT) 22 июля 2016 г.
3.2. Про низкоуровневые языки
"A programming language is low level when its programs require attention to the irrelevant."
- Alan J. Perlis.— Jared Smith (@sublimecoder) 22 июля 2016 г.
4. Юмор
4.1. Скоро в вагонах метро
ВЫКУП ТЕХНИЧЕСКОГО ДОЛГА ТЕХНИЧЕСКИЕ МИКРОКРЕДИТЫ МИКРОЗАЙМЫ БЕЗ ВОРКЛОГА БЕЗ АРХИТЕКТУРЫ БЕЗ РЕВЬЮ ВСЕ КОММИТЫ РАССМАТРИВАЕТ РОБОТ
— 80x86 (@vasilenkos) 28 июля 2016 г.
4.2. Не тем мы с Вами занимаемся
Предыдущие выпуски
#6 (04.07.2016 — 17.07.2016)
#5 (20.06.2016 — 03.07.2016)
#4 (06.06.2016 — 19.06.2016)
Автор: devozerov