27 марта 2014

Напочитать: Микросервисное

Для затравки.
1. Сублимация опыта Spotify, часть первая
2. Подборка видео от Sauce Labs  про то как правильно готовить тесты с использованием WebDriver

И еще одно видео
https://www.youtube.com/watch?v=VHqT6EpHqYY



3. Ну а теперь основное - микросервисы.
Описание архитектуры и нафига оно надо
http://yobriefca.se/blog/2013/04/29/micro-service-architecture/

Куча рассуждений о том что же такое микросервисы в плане архитектуры - барокко или ампир.
http://literateprogrammer.blogspot.co.uk/2014/03/the-microservice-declaration-of.html

Не очень интересный но все-таки рассказ Fred George c OreDev
https://vimeo.com/79866979


Закрывает тему микросервисов Мартин Фаулер со-товарищи.
http://martinfowler.com/articles/microservices.html
http://www.infoq.com/presentations/Micro-Services



О том как мы используем микросервисы в автоматизации тестирования я собираюсь рассказать на предстоящем CodeFest.  Отпишите что-нить в комменты если дочитали до этого спойлера.

CodeFest: Спойлер

Немного спойлеров перед CodeFest

06 марта 2014

Напочитать: Технический выпуск

Давно не было выпусков полных технической жести.
Отчасти потому что жести нет, отчасти потому что про некоторую рассказать нельзя.

Но тем не менее.

1. Отличный обзор того что такое Guava и как ее готовить
http://www.infoq.com/presentations/Guava

2. Длинный и может быть не самый лучший рассказ о том что такое DropWizard, но в нем хорошо изложена мотивация того нафига он нужен.
http://www.infoq.com/presentations/Dropwizard

3. Я давно смотрю на Gradle и до сих пор не понимаю нафиг оно вообще.
Но тем не менее.

Рассказ о том что такое таски в Gradle
http://habrahabr.ru/post/167227

и рассмотрение Gradle Артемом Кошелевым (поддерживаю Артема по всем пунктам)
http://artkoshelev.github.io/posts/getting-started-with-gradle/

Видео с Клуба Анонимных Разработчиков в Киеве про build tools
http://video.yandex.ua/users/xpinjection/view/345/#hq

4. Тестирование с использованием виртуальных машин уже давно не является чем-то особенным.
Вслед за распространением самой идеи появляются и инструменты.
http://sourceforge.net/projects/rf-virtualbox-lib-py/
В 2011 году я создавал нечто подобное, но библиотекой это так и не стало.
От себя могу сказать что подобного рода библиотеки строятся поверх command-line-интерфейсов.

Такие интефейсы есть и у VirtualBox (reference, интересная статья ), и у VmWare WorkStation (ссылочка на reference)

5. Грядет. Я только об этом успел подумать, а умные дядьки из гугла уже давно подумали. И уже даже сделали.
Модульные девайсы, кастомизация своими руками, сменные модули.
Project Ara 

6. Как  нынче преподают java в Таллине
Код тут - https://github.com/zeroturnaround/java-fundamentals

7. Обновление Android SDK - поддержка фич Java 7.
  • String в switch-case выражениях;
  • Сокращенное описание generics (diamond operator <>);
  • Обработка исключения для нескольких типов (catch (E1 | E2 e));
  • Знаки подчеркивания в числовых константах (1_234_567);
  • Двоичные константы (0b0001).
  • Автоматическое управление ресурсами (try-with-resources)
Хабра.



Менеджерское.
Подпишусь под каждым словом.

Скажу честно, построить эту систему удалось не сразу. Много раз не получалось, я скатывался назад. Один из примеров: как только я для увеличения ответственности отменил контроль над приходом в офис (первый раз это было примерно в 2002 году), моментально были сорваны все сроки сдачи журналов, типографии стонали, сроки отгрузки были нарушены. Я снова ввел жесткую дисциплину, а сам начал думать, что же не так. Потом опять ввел свободный график, и опять не получилось, через два года еще раз — и опять провал… Сейчас мы работаем в режиме свободного графика и четырехдневной рабочей недели. Что для этого понадобилось? Замена людей на более взрослых, серьезных и адекватных. Взрослых с точки зрения психологической зрелости. Заменив людей, я впервые смог уехать из страны на полгода. Еще один бонус для меня лично — отсутствие унизительного для меня контроля, необходимости отдавать приказания.
Важно понимать цену перехода на четвертый тип управления. Люди, способные к самоорганизации, стоят намного дороже. Риски высоки — мы не знаем заранее, кто потянет, а кто нет, соответственно в любом случае поначалу будут срывы. Если мы даем людям свободу, надо приготовиться, что будут ошибки, за которые придется платить. Кроме того, есть руководители, которые тащатся, раздавая указания, и для них просто по стилю такая система не подойдет.