Рубрика «open source» - 146

Open-source решение для десятикратного снижения задержек чтения данных с Apache Cassandra - 1

В Instagram развернута одна из крупнейших в мире БД Apache Cassandra. Проект начал использовать Cassandra в 2012 году с целью замены Redis и поддержки внедрения таких функций приложения как система распознания мошенничества, Лента и Директ. Сначала кластеры Cassandra работали в среде AWS, но позже инженеры мигрировали их в инфраструктуру Facebook вместе со всеми остальными системами Instagram. Cassandra показала себя очень хорошо с точки зрения надежности и отказоустойчивости. В то же время метрики задержки при чтении данных явно можно было улучшить.

В прошлом году команда поддержки Cassandra в Instagram начала работать над проектом, направленным на существенное снижение задержки чтения данных в Cassandra, который инженеры назвали Rocksandra. В этом материале автор рассказывает, что сподвигло команду на реализацию этого проекта, сложности, которые пришлось преодолеть, и метрики производительности, которыми инженеры пользуются как во внутренней, так и во внешней облачных средах.

Основания для перехода

Instagram активно и широко использует Apache Cassandra в качестве сервиса хранения типа «ключ-значение». Большинство запросов Instagram происходят онлайн, поэтому для предоставления надежного и приятного пользовательского опыта для сотен миллионов пользователей Instagram, SLA очень требовательны к показателям работы системы.Читать полностью »

Java и Project Reactor - 1

Всем привет! Меня зовут Лёха, и я работаю бэкенд-разработчиком в FunCorp. Сегодня мы поговорим про реактивное программирование, библиотеку Reactor и немного про веб.

Реактивное программирование часто «подвергается упоминанию», но если вы (как и автор статьи) всё ещё не знаете, что это такое — устраивайтесь поудобнее, попробуем разобраться вместе.

Читать полностью »

8 марта фонд CNCF, созданный при The Linux Foundation, представил значительно обновлённую версию своей «карты ранее неизведанной территории облачных (cloud native) технологий» — Cloud Native Landscape 2.0. Собранная в рамках этого проекта информация ориентирована на компании, которые только начинают свой путь в мир инфраструктуры для cloud native-приложений, и призвана познакомить их с множеством имеющихся решений с открытым исходным кодом и не только.

Путеводитель CNCF по решениям Open Source (и не только) для cloud native - 1Читать полностью »

Google открыла код для машинного поиска экзопланет по данным с «Кеплера» - 1
Фрагмент Солнечной системы (слева) в сравнении с восьмипланетной системой Kepler 90 (справа). Обнаруженная нейросетью Google экзопланета Kepler 90i с периодом обращения 14 дней отмечена оранжевым цветом

Исследователи находят всё новые применения нейросетям для обработки изображений. Теоретически возможности машинного обучения с подкреплением (DL) поистине безграничны, но когда смотришь на реальные достижения этих программ — среди них не так уж много действительно полезных на практике. Чаще всего нейросети достигают успеха в какой-нибудь игре, выдавая в качестве положительного стимула количественный результат в очках. Но какой смысл, что ваш ИИ научился отлично играть в Counter-Strike, если он не способен реализовать свои знания на практике и обезвредить настоящих террористов?

Но в отдельных случаях DL всё-таки используют не только для изучения самого DL, но и для решения практических задач, важных для человечества. Например, они используются в здравоохранении, квантовой химии и ядерной физике (везде даны ссылки на исследования Google). Теперь к этому списку присоединилась астрофизика. Инженеры из подразделения Google Brain нашли две новые экзопланеты, обучив нейросеть анализировать данные с космического телескопа «Кеплер». Хотя это всего лишь предварительные результаты после обработки 670 звёздных систем, но они доказывают применимость машинного обучения в данной области.

8 марта 2018 года разработчики Google выложили на GitHub исходный код программы для обработки данных с «Кеплера», программ обучения нейросети и выдачи прогнозов по самым перспективным звёздным системам.
Читать полностью »

Сериализация данных посредством serde. Недавно я писал Rust-код для работы со сторонним источником данных в TOML-формате. В других языках я бы подгрузил данные какой-либо TOML-библиотекой и прогнал бы по ним мою программу, однако я слышал про serde — библиотеку сериализации на Rust, так что я решил попробовать ее.

Подробности — под катом.

Читать полностью »

От переводчика: в статье, которую я предлагаю вашему вниманию, авторы исследовали кодовую базу LLVM/Clang с помощью инструмента анализа кода CppDepend, позволяющего вычислять различные метрики кода и анализировать большие проекты с целью улучшения качества кода.

Время доказало, что Clang является таким же зрелым компилятором C и C++, как GCC и компилятор от Microsoft, но то, что делает его особенным, это то, что это не просто компилятор. Это инфраструктура для создания инструментов. Благодаря тому, что его архитектура основана на использовании библиотек, повторное использование и интеграция функциональности в ваш проект делается более просто и гибко.

Уроки, которые можно извлечь из кодовой базы LLVM-Clang - 1

Читать полностью »

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

Одна из распространённых ошибок — попытка работодателя отфильтровать кандидатов по профилям GitHub. Многие по-прежнему думают, что можно оценить способности разработчика, взглянув на его вклад в проекты с открытым исходным кодом. Например, в последнем списке вакансий на Hacker News куча объявлений с просьбой указать профиль GitHub в своём заявлении о приёме на работу.

Есть несколько правильных статей, почему нельзя требовать от кандидатов профили GitHub. Особенно рекомендую «Этика неоплачиваемого труда и сообщество Open Source» и «Почему GitHub — не резюме». Обе статьи отлично объясняют причины, почему при найме не следует спрашивать о вкладе в свободные проекты. Но я не о том, что это неэтично или что GitHub не слишком подходит для демонстрации проектов.

Я о том, почему эти профили просто малополезны.

Разреженность данных

Если посмотрите публичный профиль лучшего инженера-программиста, с которым я когда-либо работал, то увидите примерно такое:

Почему GitHub не поможет нанять разработчика - 1
Читать полностью »

image

Введение

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

Creative Commons стали предоставлять лицензии для открытого обмена всего лишь десять лет назад. В настоящее время более 400 миллионов лицензий CC доступны в интернете: от музыки и фотографий до результатов исследований и целых курсов колледжа. Creative Commons создала юридическую и техническую инфраструктуру, которая позволяет эффективно использовать знания, искусство и данные отдельными лицами, организациями и правительством. А самое главное, что миллионы создателей использовали эту инфраструктуру для обмена работами, которые обогащают глобальное достояние для всего человечества.
Читать полностью »

image

image
У меня тут внезапно завалялся гайд по настройке syncthing. Я уверен, что многим это может пригодиться.

Про революцию в дистрибуции файлов, которую совершил torrent-протокол рассказывать излишне. Одна проблема была у классических версии технологии — статичность. Если данные в каталоге изменялись, приходилось заново создавать и передавать всем новый torrent-файл. И вдруг, внезапно появляется BitTorrentSync. Наступает всеобщее счастье, теперь можно синхронизировать целые массивы изменяющихся данных. Однако, спустя время проприетарность софта выливается в сильное урезание функциональности, привязку к своим серверам и довольно агрессивную монетизацию. Вот тут и выходит на сцену идеологически кошерный свободный преемник — Syncthing.
Читать полностью »

В этой статье я хочу рассказать о том, как происходило написание Telegram-бота, который мог бы отправлять статьи Habrahabr, сначала на Python, а потом и на Go, и что из этого вышло.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js