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

03 февраля 2016

Напосмотреть: Smoking Aces

Очень уж "козырные" спикеры. Каждый в своей области.

1. Гради Буч о том откуда оно все пошло и куда оно все катится


2. Увэ Фридрихсен про паттерны устойчивости

3. Пэтти МакКорд про то чем же на самом деле стоит заняться HR-ам


4. Стивен Карвер о том что на самом деле было с Шаттлами, но больше про то, как тяжело менять менеджмент. Получил столько удовольствия от этого выступления.

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.

23 сентября 2015

Напочитать: Design Patterns Gang Bang


Чот поднакопилось про всякое design-related.

1.  Как менять уровни логирования в Runtime (java inside). Раз и два.
2. Зачем и как делать сериализацию ламбда-выражений. Мне вот почему-то в голову сразу пришла фраза "Давай заMap-Reduce-им это по-быстрому" но продолжать эту мысль я не буду - меня могут читать дети и Junior Developer-ы.
4. Использовать Repository вместо DAO. Наброс про новую точку зрения на яйцо.
5. О том как делать продукт с высокой степенью кастомизации и какие бывают подходы. От себя  - в жизни наблюдал как работают  Feature Toogle и что выходит из бранчевания продуктовых линий. С плагинами/расширениями - тоже еще тот адок.
6. Интересная презенташка про малоизвестные паттерны проектирования.
7. CRDT на Java. Видео с Goto Conference и статья.
8. Как программно на лету снять jstack и  почему так бывает нужно.
9. Отличное видео про обзор возможностей Hazelcast.

Пока все.  Скоро бложек (надеюсь что и я тоже) вернется к нормальному режиму публикаций Напочитать.

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 про него же). 

16 марта 2015

Напочитать: Rest in Peace


1. Отличный блог с обзорами Key-Value хранилищ. Туда даже попал наш one-nio и MapDB про который я писал как-то.
2. Java Deadlock-и для самых маленьких.
3. Долгое время задавался вопросом - как понять какого типа файл?  Ведь расширение можно приписать какое угодно... Никак - развернутый ответ тут.
4.  Как правильно готовить REST для запуска ядерных  ракет или их продажи - аллегорично, но зато по делу.
5. Просто великолепная статья от Мартина Фаулера о паттернах проектирования для данных которые изменяются во времени. Прям даже прослезился - давно такого он не писал.
6. Как взять и упороться на Java. Если честно,то ребята молодцы - не очковать компилироваться в проде. Напишу-ка я отдельный пост даже про это.
7. Google выпустил еще одну реализацию RPC ,  на этот раз поверх  HTTP2 (описание и гитхаб).
8. О том, что MongoDB по умолчанию не защищена и что из этого следует.  А вот тут пример реальных последствий - 40,000 MongoDB databases left unsecured on the internet
9. Баловаться ThreadLocal в Java - может быть опасно. Здесь объяснят почему.
10. Сроки, бюджеты, самолеты... Насим Талеб одобряэ.
Но в реальности внедрение NextGen превратилось в настоящий кошмар, с массой задержек, ревизий и неожиданных проблем. Корпорация Lockheed Martin начала разработку софта в далёком 2002 году и должна была закончить в 2010 году.
В 2007 году систему подвергли ряду тестов и обнаружили огромное количество багов. Она путала рейсы и самолёты, а иногда воздушные суда бесследно пропадали с экрана.
Lockheed Martin попыталась исправить баги, но программа продолжала глючить. В апреле 2014 года система обрушилась в центре управления полётами Лос-Анджелеса, когда в воздушное пространство залетел самолёт-разведчик U-2 на высоте более 18 000 метров, вдвое выше высоты пассажирских самолётов, что вывело из строя логику NextGen.
Очередной дедлайн для NextGen установлен на весну 2015 года: на пять лет позже изначально планируемого срока и с превышением проектного бюджета на $500 млн, пишет Wired. 
11. О том что автоматизация тестирования Swing-овых приложений на Java уже не такая уже и суровая.
12. Живой пример того как можно сборку приложения организовать в Docker и не ставить эти всякие ваши мавены. А вот тут показано как с этим всем жить так чтобы оно шевелилось и правильно кэшировалось.
13. 5 минутное видео о том что можно делать если у вас в руках есть контейнер и система управления ими.


Ну и о главном.

The time has come to end the era of Codehaus - Codehaus закрывается.

To meet developers where they are, we ourselves migrated nearly a thousand of our own open source projects from Google Code to GitHub - Google Code закрывается.

Groovy уходит под Apache Software Foundation



06 октября 2014

Напочитать: постотпускное

Высебедаженепредставляете сколько я выдавливал из себя этот выпуск. 
После отпуска очень тяжело взять себя в руки.

1. Небольшой пример как тестировать accessability с помощью Selenium
2. Отличная презентация про Model-Based Testing 
3. Navigation Timing API теперь няшно и на node.js. Смотреть на гитхабе.
4. Небезызвестная компания Crisp (это там где Хенрик Книберг и Матиас Скарин) запустила свой канал на YouTube.
И продолжая тему Crisp вообще и Книберга в частности.
Два видео про инженерную культуру в Spotify
https://labs.spotify.com/2014/03/27/spotify-engineering-culture-part-1/
https://labs.spotify.com/2014/09/20/spotify-engineering-culture-part-2/
5. О том почему не нужно запускать ssh-сервера в Docker-контейнерах. Честно я даже до такого не додумался бы, но кого-то уже видимо прижало.
6. MySQL обзаведется REST API  - возрадуемся же этому.
7. О том как расово-правильно писать сообщения к коммитам в Git - отличная статья.
8. Хороший пример того что такое testability - Firefox позволяет подставить значения геолокации и как это делать с помощью WebDriver.
9. Очень многие люди в один день прокричали про эту вот вики с паттернами автоматизации тестирования как будто там прям сокровенное знание. Хотя может и сокровенное.
10. Мои коллеги  - Олег и Саша - взяли и прикрутили ACID к Cassandra.  Молодцы, чо.
11. MapDB. Занимательная хрень, которая видимо должна хорошо вписываться в задачи миграции данных между хранилищами.
12. Запустить десктопное приложение внутри Docker - можно. Мсье знает толк в извращениях.
13. Вот прям просто процитирую
Первая причина вышеописанных проблем заключается в том, что удовлетворительно работающая система автоматизированных тестов зачастую сложнее самого тестируемого продукта и она сама по себе является программным продуктом. От разработчиков системы автоматизированных тестов требуется высокая квалификация в области разработки программного обеспечения, а таких людей в команде тестирования не много. В результате получаются тесты, которые очень дорого поддерживать и развивать. 

20 октября 2011

Java - Concurrency patterns: Disruptor


Буду краток.
После прочтения описания паттерна Disruptor очень хочется назвать авторов хитрожопыми пидорасами , однако памятуя о той работе которую они проделали все-таки они очень умные и прошаренные ребята.
До конца пока не понял как он работает, буду курить сорсы.