Показаны сообщения с ярлыком java8. Показать все сообщения
Показаны сообщения с ярлыком java8. Показать все сообщения

30 ноября 2016

Напочитать: Про разработку

Разгребаю скопившееся летом. 
1. Отличный доклад с обзором проблем распределенных систем.
2. В очередной раз про Property-Based Testing 
3. Как писать интеграционные тесты с ElasticSearch и LDAP рассказывает Micha Kops. Вообще, надо сказать, что его учетка на Bitbucket вызывает во мне чувство, которое можно передать только одной картинкой. Но молодец, да.


4. Отрелизили 20 версию Guava, в  которой появилась кучка нового, в том числе и пакетик с классами про графы.
5. Весьма интересный и крайне простой инструмент  - Architectural Decision Records. Только я бы не оформлял каждое  решение в отдельный документ, их надо слегка смантически структурировать.
6. Пространный набор предъяв к Docker. Обоснованно, чо.
7. О том как тестировать код с RxJava - тут.
8. Отличная байка от Тагира Валеева про лямбды и анонимные классы.
9. Тяжелая наркомания про генерацию исходного кода или диалекты Java - recaf
10. Рассказ про нюансы ProtoBuf
11. Бенчмарк (несмотря на то что Шипилев не велит) 114 алгоритмов хэширования.
12. Rocket Data и Falcor - два очень интересных проекта под IOS и Android от LinkedIn и Netflix соответственно которые представляют собой Middle-Tier для данных  в мобильных приложениях.
13. В Google уже совсем охуели в атаке перестали заморачиваться на тему вопроса "зачем оно надо?" и захерачили еще один фреймворк для DI - Tiger.
14. Yahoo (жив, курилка) заопенсорсил Pulsar - своя Kafka с преферансом и куртизанками.

Ну и напоследок - философское :
Probably the biggest problem is the state-space. Software is highly non-linear and discontinuous, unlike for example a bridge, or most other physical objects. If you change or remove a single bolt from a bridge, it is still the same bridge and its characteristics are largely the same. You need to remove quite a number of bolts for that to change, and the effects become noticeable before that (though they do get catastrophically non-linear at some point!). If you change one bit in a piece of software, the behavior is completely unpredictable. It could be the same, it could just crash, it could quietly corrupt data. That's why all those corner cases in the layers matter so much. Again, coming back to the bridge, if one beam has steel that has a slightly odd edge-case, it doesn't matter so much, you don't have to know everything about every beam, as long as they are within rough tolerances. And there are tolerances, and you can improve your odds by making things with tighter tolerances than required. Again, with software it isn't really the case, discrete problems are much harder than continuous ones.


16 июня 2016

Напочитать: Автоматизация тестирования: Disruptor


Два доклада про тестирование в LMAX  вдохновили.
Потому и  Disruptor.

1. Адовый рассказ про то как делать Continuous Delivery на биржеквых проектах от LMAX.
2. Продолжение темы, только более философское, но тоже от выходца из LMAX.
3. Про автоматизированное тестирование CRIU и суровый линуксовый жесткач
4.  Подборка статей от пользователя @irony_iron на хабре про автоматизацию очень сурового системного тестирования - антивирусы и перезагрузки, инсталляторыавтологины в винду. Очень хардкорно!
5. XPath, JsonPath... теперь GPath - очередная path-нотация для JSON. Но в RestAssured.
6. Про то как скалировать тестирование на Robot Framework под Docker - презентация, видео, код
7. Про Jenkins Workflow - с картинками и примерами.
8. Log4J теперь говорят не тормозит.
9. Almost 16% of our tests have some level of flakiness associated with them! This is a staggering number; it means that more than 1 in 7 of the tests written by our world-class engineers occasionally fail in a way not caused by changes to the code or tests - и другие интересности от Google как они борятся с  flaky tests. Спойлер: все банально!!!
10. Про автоматизацию тестирования c мобильными устройствами , но не теми про которые вы подумали.
11. Маленький хак для тех кто использует Spring Test.
12. Гойко Аджич про то как сократить издержки на большие тестовые наборы - на самом деле тэги по функциональности, отсутствие зависимостей при запуске тестов, выделение утилитарного слоя кода, хорошие имена для тестов.
13. Про то как взять и упороться функциональщиной из Java8 в Selenium-тестах - с примерами и картинками.
14. Очень полезная вещь - Jenkins-у можно править конфиги удаленно, сам несколько раз пользовался.
15. PowerShell и Jenkins.
16. Github выпустил Spectron 3.0 - тестовый фреймворк для своего поделия Electron (Desktop приложения на node.js) написанный поверх  CrhomeDriver и WebDriverIO.
17. Maven + JUnit + интегрционные тесты  и все как мы любим.

22 марта 2016

Тестирование: Java: Самый быстрый хак


Уже давным давно вышла Java8, но мир намного многограннее, чем думают в Oracle и многим требуется писать код основного проекта на 6 и 7 версиях Java.
А вот писать тесты в таком проекте очень хочется, и хочется лямбд, функциональных интерфейсов и вот этого всего.

Выход есть и вот он:
1. Ставим java8 на ваш сервер CI и локально
2. В pom.xml прописываем вот такую вот конфигурацию плагина для компиляции
2.1 Если вы уже успели вляпяться в богомерзкий gradle, то пробуем так - у меня завелось 3. Улыбаемы и пашем машем!

08 декабря 2015

Напочитать: Java-related issues


Очень много работы, поэтому бложек выходит не регулярно. 
 По крайней мере, до конца года.

1. Spotify слил в open-source свои наработки по микросервисам и мониторингу.
2. Еще один проект Мартина Томпсона - Argona.
3. Еще одна реализация библиотеки для формирования dot-файлов. Если вы думаете что этого г.... на каждом углу, то мои вам соболезнования.
4. Следующая порция хардкора про ресолвинг зависимостей, с благой целью - ресолвингом зависимостей на лету в уже работающее приложение. Читать тут.
5. Пара хороших overview-шпаргалок про коллекции и стримы в Java. Раз и два.
6. Концентрированный рассказ что же такое этот ваш Kubernetes.
7. Про тонкости отличий вертикального от горизонтального декорирования. Для эстетов, так сказать.
8. Динамическая инъекция кода в Java. Для этого правда нужно запускаться на JDK. Но можно и без этого.
9. Весьм интересный проект - byte-buddy.
10. Рекурсия безопасная для стэка. Ничего нового, но мало ли.
11. Промисы на Java - JDeferred.
12. О том почему ненавидят Spring - со многими пунктами согласен.
13. Хороший hello world по Spark а вот тут по Hadoop
14. QBit - Everything is a queue
15. инструменты для работы с JVM - топ-6 + bonus section.