23 июля 2015

Напочитать: Околосервисный выпуск

1. Gradle отрелизил версию 2.5. Две основные плюшки в релизе - непрерывная сборка при изменении исходников и правила замены исходников чтобы не компилить все и каждый раз.Ну и отличная презенташка на тему того что Gradle умеет.
2. Хорошая статья про монады. Оказывается я давно ими пользуюсь.
3. Amazon выпускает свою имплементацию TLS  - s2n.
4. Отличный маленький и жутко полезный инструмент от Алексея Рагозина - jvm-tools.
5. Интересная оберточка для транслирования исключений - ET (github).
6. Может быть в Java 9 выпилят Unsafe. Непонятно зачем, но понятно что из этого будет.Тут вот контрнаброс про это.
7. Отличное выступление Чеда Фаулера про то как они Wunderlist на микросервисы распиливали.


8. Случилось что-то страшное или Скайп начал поворачиваться лицом к людям. Вот даже релизят АПИ.
9. Maven Best Practices.
10. Отличное  live-demo того что можно сделать с помощью Spring Boot (это если кто не знает платформочка для создания микросервисов)

11. Транзакции в распределенной (как правильно - распределенная или распердЮленная? :)) системе - ну может быть. Паттерн Saga под капотом (еще тут от MS про него же). 

14 июля 2015

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

Лето. Затишье. Да и мне уже в отпуск хочется.
  1. Долго и нудно о том что такое исследовательское тестирование. От авторов самой концепции исследовательского тестирования
  2. О полуавтоматизации для тестирования локализаций в Netflix - тут
  3. Netflix Test Studio уже как-то попадала ко мне в напочитать, но вот тут про нее более развернуты рассказ. Точнее про то почему в нее пришлось воткнуть Kafka.
  4. Еще один рассказ как преуспеть с интеграционными тестами - на этот раз из мира .NET - но да суть неизменна.
  5. Недотестировали. забили, забыли на 500 миллионов долларов - баги в космосе дорогие.
  6. Большая книжка про то как начать автоматизировать на Python - тут.
  7. Онлайн-конференция TestLabs пройдет 25 июля. Инфа тут.
  8. Мне вот порой кажется что тестировщики без пирамид не могут. Нуващеникак!!! Вот еще раз про пирамиды и качество
  9. Коротенько и емко про то что стоит за тестированием на основе моделей - состояния и их диаграммы.
  10. Рассказ про кошерный BDD от John Ferguson Smart - того самого который сделал Thucydides (ныне Serenity)
  11. Рассказ от Etsy о том как они на LXC+Chef строили свою тестовую инфраструктуру - раз и два.
  12. Infer. Статический анализатор кода от Facebook. Ссылочки (раз, два, три).
    Из последнего  white-paper-а вы можете узнать что:
    - большие продуктовые компании инвестируют в инструменты статического анализа.
    - Infer был изначально сделан не в Facebook, Facebook попробовал его и решил купить компанию, стоящую за Infer (Monoidics).
    - этот инструмент анализирует код композитно - то есть не весь каждый раз, а только изменения и натягивает эти изменения на предыдущие результаты и за этим стоит математика.
    - есть отдельная система которая по хэшам определяет места в коде чтобы понимать какой changeset что дает на продашене.

    К чему это все здесь?  К тому, что не нужно стесняться делать свои инструменты для обеспечения качества своего кода. Статические анализаторы кода могут поймать только общие вещи, расширять их можно (и даже нужно), но иногда приходится писать и свои. Если у вас получится, то вас купит Facebook :). 

07 июля 2015

Книга: Сэм Кейнер. Руководство фасилитатора. Как привести группу к принятию совместного решения

Дочитал.
Это не просто книга, а почти что фундаментальная книга.



Пару лет назад мне довелось присутствовать на двух мероприятиях, которые для нас проводили тренеры (фасилитаторы) из одной Очень Известной Компании.
Оба мероприятия были двухдневными, оба фасилитатора были профессионалами своего дела.
Но оба не довели группу до момента инсайта.
Точнее даже так - им обоим было не суждено это сделать, но они старались.

Читая книгу Кейнера, я то и дело наталкивался на описание приемов фасилитации, техник и подходов, которые использовали те двое фасилитаторов.
Я по памяти насчитал полтора десятка приемов и методик из книги, которые они использовали.
Теперь картинка разложилась по полочкам, я смог увидеть суть того, что они делали, и касательно как минимум одного из мероприятий могу сказать, что цель все же была достигнута.  Та цель которую ставил заказчик всего этого мероприятия.

О самой книге.

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

Книга очень хорошо погружает вас в модель дискуссии Кейнера, на которой он собственно и учит фасилитировать.
Модель - жизнепригодная, я часто вижу именно такую модель развития дискуссий в коллективе. (Хотя это конечно же не значит что она единственная.)

По ходу книги Кейнер рассказывает о куче нюансов и приемов которые позволяют с этими нюансами работать, ну или хотя бы о них узнать.

Приводить свой конспект книги я не вижу никакого смысла - книга несмотря на свой небольшой объем (300 страниц) набита практическими знаниями и примерами.

Это настольная книжка на долгое время потому что фасилитация практический навык, который нужно просто тренировать.

Оценка 9/10.


Отдельное спасибо хочу сказать Диме Лазареву, который согласился привезти мне экземпляр этой книги на CodeFest в Новосибирск в этом году.



06 июля 2015

Напочитать : Накипевший выпуск.


  1. Если слова  Java +  JNI + С++ вам знакомы и вызывают боль то вам может быть полезно тут.
  2. Отличный перевод манифеста Twelve-Factor-App  на Хабре.
  3. Stefan Tilkov на Craft Conference 2014 рассказывал об архитектуре, архитекторах и пичальках. Смотреть тут.
  4. О том что Hola ссучилась и какие угрозы могут нести расширения в браузерах  - как для пользователей, так и для продуктов , с примерами и картинками.
  5. Очень пространное эссе о трудностях общения компилятора Java и JVM.
  6. Step-by-step guide про то как начать с node.js, если вам конечно не противно.
  7. Новый статический анализатор кода от Facebook. Правда вроде как без правил по которым анализировать, зато опенсорс, OCaml под капотом и все понты, дада.
  8. Простые правила написания безопасного кода. Ну совсем простые.
  9. Как дебажить maven сборку - написано тут, несмотрите на слова Eclipse.
  10. Рассказ от Spotify о том как они мигрировали базу данных  пользователей без downtime c PostgreSQL на Cassandra.
  11. Как пользоваться FUSE через С и Java и вроде бе даже без крови
  12. Вопросы которые нужно задать себе когда хочешь странного SOA микросервисов.
  13. Release plan на Java 9 готов, осталось взять и написать. Плохая новость - не будет JSON API, Money & Currency API. Хорошие новости - тут уж на суд каждого. 
  14. О том как хорошо потрахаться с try-with-resources через мутационное тестирование с pitest.
  15. О том как устроен UI десктопного плеера Spotify, причем здесь богомерзкий javascript и Chromium Embedded Framework. И такого будет дальше только больше. (Лавеча слышал цифру что Facebook переиспользует более 50% кода какого-то компонента в iOS и Android приложениях через этот ващ  Javascript).
Следующий про тестирование.