Чтобы добавлять сообщения и комментарии, .

@mismatch:
mismatch

Thinking In Parallel — а нужно ли распараллеливать решение задачи? Всегда ли это уменьшает время решения? Вопрос распараллеливания — это вопрос оптимизации. Об этом и не только говорит Brian Goetz в этом видео.

@mismatch:
mismatch

youtube.com — !адекватное Java — интервью!

@mismatch:
mismatch

youtu.be — для тех, кто пишет многопоточные программы и использует разделяемое изменяемое состояние, но еще не в курсе, чем это может обернуться.

@mismatch:
mismatch

habrahabr.ru — отличный юмор для тех, кто понимает ;)

@mismatch:
mismatch

vimeo.com — неплохое систематизированное введение в RxJava для тех, кто потерялся в документации

@mismatch:
mismatch

somethingsimilar.com — Notes on Distributed Systems for Young Bloods

@mismatch:
mismatch

habrahabr.ru — «Красота» кода — зло! Никогда не называйте код «красивым», даже мысленно. Самый изощрённый говнокод получается из стремления «сделать красиво». Код может быть читаемым, предсказуемым, лаконичным — но никак не красивым!

Что тут скажешь? Сердцу не прикажешь :) Смотришь на один код и умиляешься, а от другого плеваться хочется. И в этот момент не раскладываешь код по полочкам. Это уже, когда джуну объясняешь, что такое хорошо и что такое плохо.

Но, конечно, я не спорю, что "Самый изощрённый говнокод получается из стремления «сделать красиво»", потому что никто не отменял «хотели как лучше, а получилось как всегда». И, конечно, рефакторинг не должен превращаться в лоботомию. Поэтому сплюнули, включили мозги и принялись за работу.

@mismatch:
mismatch

youtu.be — введение в Kafka Streams

@mismatch:
mismatch

youtu.be — Perfect Scalability (by Michael Nash). При идеальной масштабируемости чем больше добавляем ресурсов тем большую нагрузку система может выдержать и эта зависимость линейная. Избегайте разделяемого состояния и соревнования за доступ к нему (за счет дублирования данных). Не полагайтесь на порядок операций (сделайте их идемпотентными). Минимизируйте общение между компонентами вашей системы, отдавайте предпочтение асинхронному взаимодействию. Разрабатывайте компоненты так, чтобы падение одного из них не приводило к падению всей системы. Масштабируемая система должна быть децентрализованной и постоянно развиваться пока функционирует. Применяйте command sourcing, чтобы справиться с пиковыми нагрузками, — принимайте и запоминайте комманды сразу, применяйте, когда есть свободные ресурсы. Сложные системы плохо масштабируются.

@mismatch:
mismatch

infoq.com — One Weird Trick for Making Perfect Software — Pieter Hintjens (автор ZeroMQ) рассказывает о результато-ориентированном подходе к созданию идеального ПО. Идеальное ПО в первую очередь помогает конечным пользователям решать их собственные проблемы и успешно на рынке. Его разработка движима неудовлетворенными потребностями пользователя. Эти потребности документируются в виде набора небольших проблем, каждую из которых можно достаточно легко держать в голове и решить за относительно короткое время (не более нескольких часов — чем меньше, тем лучше). При этом разработка ведется так, что один коммит решает одну проблему и новая проблема решается преимущественно за счет добавления нового кода, минимально затрагивая существующий. Этот подход требует определенной компетенции от разработчика и не предполагает разгребания технического долга.

@mismatch:
mismatch

codepen.io — арпеджиатор на javascript

@mismatch:
mismatch

infoq.com — Тесты или продвинутая система типов? На что положиться? И то и другое требует дисциплины. При этом качество тестов может существенно варьироваться — не зря же придумали мерить покрытие и мутационное тестирование.

@mismatch:
mismatch

ted.com — Адам Грант: Неожиданные привычки тех, кто мыслит оригинально

@mismatch:
mismatch

infoq.com — если вы все еще пишете на ООП языке, но поглядываете в сторону ФП, морщась при упоминании монад и аппликативных функторов, этот доклад для вас.

@mismatch:
mismatch

youtu.be — полезно послушать, если вы пишите свой фронтэнд на react.js

@mismatch:
mismatch

youtu.be — хороший вводный доклад о HATEOAS и о том как добавить его в свой REST сервис, используя Spring Hateoas.

@mismatch:
mismatch

ted.com — Тим Урбан: Что происходит в голове у закоренелого прокрастинатора

@mismatch:
mismatch

youtu.be — самый мощный и "бесполезный" доклад на конференции ReactEurope о силе ограничений и уровнях абстракции.

@mismatch:
mismatch

skillsmatter.com — BDD + DDD или как, общаясь с заказчиком, перенести знания из предметной области в код. При кодировании этих знаний вы можете обнаружить, что каких-то понятий не хватает. Это нормально. Продолжайте общаться с заказчиком, задавайте уточняющие вопросы. Главное, не сводите это общение к обсуждению UI.

@mismatch:
mismatch

infoq.com — хороший доклад, который стоит послушать, чтобы понять как event sourcing и cqrs могут помочь вашей микросервисной архитектуре.