Сравниваем Java 8, RxJava, Reactor

Автор: admin от 26-04-2017, 23:05, посмотрело: 288

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

Люди часто спрашивают меня:
Зачем мне вообще использовать RxJava или Reactor, если то же самое можно сделать с помощью Streams, CompletableFutures и Optionals?


Сравниваем Java 8, RxJava, Reactor


Проблема, на самом деле, в том, что большую часть времени вы занимаетесь решением простых задач и вам действительно не нужны эти библиотеки. Но когда все усложняется, вам приходится писать какой-то уродский кусок кода. Затем этот кусок кода становится все более и более сложным и трудно поддерживаемым. В RxJava и Reactor есть много удобных функций, которые будут удовлетворять вашим потребностям еще долгие годы.


Давайте определим 8 критериев, которые помогут нам понять разницу между этими библиотеками и стандартными возможностями Java:

Категория: Программирование, Веб-разработка, Android

 

От Oracle к PostgreSQL – путь длиною в 4 года, доклад Андрея Рынкевича

Автор: admin от 26-04-2017, 22:40, посмотрело: 800

2017 год стал значимым событием для PG Day — мы преобразовали наше мероприятие в крупнейшую конференцию, посвященную базам данных.

Мы не изменяем своим традициям и готовим насыщенную и интересную программу, посвященную Посгресу. Тем не менее, общение с коллегами и обратная связь от участников дают однозначно понять, что огромное количество специалистов занимается эксплуатацией нескольких систем для хранения данных, вынужденно или же по собственному решению. Мы не хотим лишать коллег возможности пообщаться друг с другом, обменяться опытом и найти способы решить свои проблемы. Именно поэтому, в 2017 году PG Day делится на 5 параллельных потоков по различным направлениям: PostgreSQL, MySQL, Oracle, MS SQL Server, NoSQL решения и другие бесплатные и коммерческие СУБД.

Не смотря на то, что радикальные изменения в структуре ПГ Дня начались только в этом году, интерес к нашему мероприятию от колег по цеху стал появляться уже значительно раньше. На одном из прошлых PG Day Андрей Рынкевич представил интереснейший доклад От Oracle к PostgreSQL – путь длиною в 4 года, основанный на опыте миграции в компании Phorm, расшифровку которого мы рады представить читателям Хабра.

Категория: Админитстрирование » Системное администрирование

 

Лямбда-исчисление на JavaScript

Автор: admin от 26-04-2017, 20:25, посмотрело: 181

Привет! В этой статье я хочу в очередной раз взглянуть на лямбда-исчисление. Теоретическую сторону вопроса на хабре обсуждали уже множество раз, поэтому взглянем на то, как лямбда-исчисление может выглядеть на практике, например, на языке javascript (чтобы примеры можно было выполнять прямо в браузере).
Итак, основная идея: всё есть функция. Поэтому мы ограничим себя очень узким кругом возможностей языка: любое выражение будет либо анонимной функцией с одним аргументом (x => expr), либо вызовом функции (f (x)). То есть весь код будет выглядеть похожим образом:
id = x => x
double = f => x => f (f (x))

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

Категория: Программирование

 

Восстановление базы 1С Предприятия (DBF) после форматирования

Автор: admin от 26-04-2017, 20:00, посмотрело: 240

Люди в погоне за комфортными для них условиями работы зачастую не задумываются о безопасности и сохранности своих данных и рано или поздно сталкиваются с вопросами их утраты. Рассмотрим обращение клиента с

Категория: Админитстрирование » Системное администрирование

 

Подборка полезных материалов по Azure

Автор: admin от 26-04-2017, 19:10, посмотрело: 179

У нас накопилось много бесплатных материалов по работе с облаком, поэтому мы решили поделиться с вами самыми последними из них. Под катом вы найдёте описание 6 курсов и 12 книг/гайдов по обучению работе с Azure.

Подборка полезных материалов по Azure

Категория: Компании » Microsoft

 

Спортивный анализ данных, или как стать специалистом по data science

Автор: admin от 26-04-2017, 17:10, посмотрело: 243

Меня зовут Пётр Ромов, я — data scientist в Yandex Data Factory. В этом посте я предложу сравнительно простой и надежный способ начать карьеру аналитика данных.

Многие из вас наверняка знают или хотя бы слышали про Kaggle. Для тех, кто не слышал: Kaggle — это площадка, на которой компании проводят конкурсы по созданию прогнозирующих моделей. Её популярность столь велика, что часто под «кэглами» специалисты понимают сами конкурсы. Победитель каждого соревнования определяется автоматически — по метрике, которую назначил организатор. Среди прочих, Kaggle в разное время опробовали Facebook, Microsoft и нынешний владелец — Google. Яндекс тоже несколько раз отметился. Обычно Kaggle-сообществу дают решать задачи, довольно близкие к реальным: это, с одной стороны, делает конкурс интересным, а с другой — продвигает компанию как работодателя с солидными задачами. Впрочем, если вам скажут, что компания-организатор конкурса задействовала в своём сервисе алгоритм одного из победителей, — не верьте. Обычно решения из топа слишком сложны и недостаточно производительны, а погони за тысячными долями значения метрики не настолько и нужны на практике. Поэтому организаторов больше интересуют подходы и идейная часть алгоритмов.

Спортивный анализ данных, или как стать специалистом по data science

Kaggle — не единственная площадка с соревнованиями по анализу данных. Существуют и другие: DrivenData, DataScience.net, CodaLab. Кроме того, конкурсы проводятся в рамках научных конференций, связанных с машинным обучением: SIGKDD, RecSys, CIKM.

Для успешного решения задачи нужно, с одной стороны, изучить теорию, а с другой — начать практиковать использование различных подходов и моделей. Другими словами, участие в «кэглах» вполне способно сделать из вас аналитика данных. Вопрос — как научиться в них участвовать? В подготовке этого поста участовал также Эмиль Каюмов, куратор тренировок Яндекса по машинному обучению.

Хардкор

Категория: Программирование, Яндекс

 

Всё по полочкам: веб-аналитика с Рамблер/топ-100, часть 1

Автор: admin от 26-04-2017, 15:00, посмотрело: 195

Всё по полочкам: веб-аналитика с Рамблер/топ-100, часть 1

Часть первая, в которой мы рассказываем о перезапуске сервиса Рамблер/топ-100 и новом инструменте подробной иерархической аналитики «Разделы сайта».

Осенью 2016 года мы перезапустили Рамблер/топ-100 – сервис веб-аналитики и старейший каталог сайтов Рунета. С тех пор мы добавили еще несколько дополнительных возможностей, о которых хотим рассказать. Эту весну Топ-100 встретил под флагом тематической аналитики по российскому Интернету.

Вообще у перезапуска сервиса было несколько задач. Во-первых, устаревшие и затратные в поддержке компоненты мы меняли на современные и более стабильные. Во-вторых, давно пора было освежить внешний вид — теплый ламповый дизайн старого Топ-100 отдавал началом нулевых. В-третьих, нужно было пересмотреть функционал счётчика и аналитического интерфейса, дополнив его новыми возможностями.

Принимаясь за работу над новой версией Топ-100, мы обратились за консультацией к нашим коллегам: аналитикам, маркетологам и менеджерам. Они, как целевая аудитория сервиса, своими предложениями и замечаниями помогли сделать Топ-100 полезней и лучше. Люди этих профессий – наши самые активные и требовательные пользователи, поэтому в состав требований к MVP (Minimum viable product) вошли два важных момента: сохранение всех возможностей прошлой версии сервиса и добавление инструментов, нужных для собственных аналитических задач RAMBLER&Co.

Категория: Программирование » Веб-разработка

 

Системный подход к тестированию Android-приложений, или О чем молчали разработчики

Автор: admin от 26-04-2017, 14:35, посмотрело: 180

У каждого тестировщика рано или поздно наступает неловкий момент. Обнаружился вредный баг и его необходимо локализовать. По закону подлости баг воспроизводится нестабильно, при непонятных шагах и только на некоторых устройствах. Есть логи, но они не информативны. Разработчик занимается новой функциональностью, он не может отвлечься от текущих задач, пока не будут найдены четкие шаги воспроизведения. Менеджер ждет исправления (надо быстрее, заказчик переживает).


Как внести ясность в такой ситуации? Некуда деваться, пора разбираться, что же там происходит «под капотом» приложения.


Системный подход к тестированию Android-приложений, или О чем молчали разработчики

Категория: Веб-разработка, Android

 

Первый курс Mail.Ru Group на крупнейшей образовательной платформе Coursera

Автор: admin от 26-04-2017, 14:10, посмотрело: 256

Первый курс Mail.Ru Group на крупнейшей образовательной платформе Coursera


Весна — пора учёбы! Совместно с МФТИ и компанией Contented мы запускаем на образовательной онлайн-платформе Coursera курс по специальности «Дизайнер интерфейсов». Позже будут запущены ещё три курса, посвященные созданию интерфейсов и работе в команде.


Курс разработан таким образом, чтобы студенты могли освоить новую профессию практически с нуля, но при этом получили все необходимые знания, чтобы сразу приступить к работе. Авторы и преподаватели курса — профессионалы с большим опытом в индустрии. В ходе обучения студенты получат систематизированные знания о процессе разработки интерфейсов, узнают о последних трендах в дизайне интерфейсов, об особенностях платформ и о том, как учитывать их при разработке дизайна, научатся работать с самыми актуальными на сегодняшний день инструментами. Курсы ведут сотрудники Mail.Ru Group, Notamedia, Red Keds и Redmadrobot — практикующие специалисты с большим опытом работы.

Категория: Программирование » Веб-разработка

 

Откуда взялись в Google ненадёжные тесты

Автор: admin от 26-04-2017, 14:00, посмотрело: 157

Если тесты сбоят на ранее протестированном коде, то это явный признак того, что в коде появилась какая-то новая ошибка. Раньше тесты проходили успешно и код был правильный, сейчас тесты сбоят и код работает неправильно. Цель хорошего набора тестов заключается в том, чтобы сделать этот сигнал настолько ясным и чётко адресованным, насколько возможно.

Ненадёжные (flaky), то есть недетерминированные тесты ведут себя иначе. Они могут показать как положительный, так и отрицательный результат на одном и том же коде. Другими словами, сбой теста может означать, а может и не означать появление новой проблемы. И попытка воспроизвести ошибку путём перезапуска теста на той же версии кода может привести или не привести к успешному проходу теста. Мы рассматриваем такие тесты как ненадёжные, и в конце концов они теряют свою ценность. Если изначальная проблема — это недетерминизм в рабочем коде, то игнорирование теста означает игнорирование бага в продакшне.

Ненадёжные тесты в Google


В системе непрерывной интеграции Google работает около 4,2 млн тестов. Из них примерно 63 тыс. показывают непредсказуемый результат в течение недели. Хотя они представляют менее 2% от всех тестов, но всё равно ложатся серьёзным бременем на наших инженеров.

Категория: Веб-разработка, Android

 
Назад Вперед