Как стать автором
Обновить
10
0
Руслан Ксалов @Polosatyi

Пользователь

Отправить сообщение

Kafka, Python и золотая рыбка

Время на прочтение10 мин
Количество просмотров35K

Поймал как-то программист золотую рыбку, а она ему и говорит человеческим голосом: «Отпусти меня в синее море, я исполню любое твоё желание». Программист ЦПУшечкой поскрипел, да и выдал техзадание. «Построй мне», – говорит, – «систему обработки неидемпотентных запросов, да чтоб она была высокопроизводительной, масштабируемой, гибкой и отказоустойчивой!». Охнула сперва золотая рыбка, но взяла себя в плавники и молвила: «Не печалься, ступай себе домой, код написан, система развёрнута. Отпускай меня уже». Удивился программист: «Да ладно? Ну, сейчас проверю и отпущу». «Нет», – возражает рыбка – «пока ты проверяешь, я уж засохну, и всё волшебство исчезнет». Программист задумался: «Что же делать: сначала отпустить, а потом проверить, или сначала проверить, а потом сушёную рыбу к пиву получить?».

Мечты о золотой рыбке не раз посещали умы даже опытных разработчиков. В погоне за оптимальной системой обработки запросов многие отдают недели и месяцы своей жизни, а некоторые готовы отдать и душу, чтобы всё работало без сбоев.
Но нужны ли такие жертвы? Нет... Ведь у вас есть мегабыстрая Apache Kafka, супергибкий Python и возможности NoSQL баз данных. Все эти решения прекрасны по отдельности, но как из них собрать один конвейер для обработки данных, не растеряв их преимущества? Рассмотрим под катом.

Читать далее
Всего голосов 8: ↑8 и ↓0+8
Комментарии14

Я не чувствую давления async

Время на прочтение11 мин
Количество просмотров10K

Async в моде. Async Python, Async Rust, Go, Node, .NET и т.д. Выбирайте свою любимую экосистему, и в ней будет свой модуль для асинхронности. Насколько хорошо работает вся эта асинхронная история, во многом зависит от экосистемы и среды выполнения языка, но в целом у нее есть несколько приятных преимуществ. Что действительно становится проще – это ожидание завершения операции, выполнение которой требует некоторого времени. Теперь это настолько просто, что количество способов выстрелить себе в ногу невероятно выросло. Тот способ, о котором я хочу сегодня поговорить – это тот, в котором вы не осознаете, что стреляете себе в ногу, пока система не начнет перегружаться. Да, я про управление давлением. Родственным термином в сетевых технологиях является «контроль потока». 

Читать далее
Всего голосов 20: ↑18 и ↓2+16
Комментарии8

Как создать легко воспроизводимый DS проект

Время на прочтение8 мин
Количество просмотров2.4K

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

Для того чтобы сделать процесс развертывания, использования и доработки алгоритма интуитивно понятным воспользуемся инструментом Kedro. Основная концепция kedro заключается в модульной структуре, где весь цикл работы с данными формируется из отдельных блоков в единый рабочий процесс. Проект на kedro имеет следующую структуру:

Читать далее
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

Вариантность в программировании

Время на прочтение6 мин
Количество просмотров110K

До сих пор не можете спать, пытаясь осмыслить понятия ковариантности и контравариантности? Чувствуете, как они дышат вам в спину, но когда оборачиваетесь ничего не находите? Есть решение!


Меня зовут Никита, и сегодня мы попытаемся заставить механизм в голове работать корректно. Вас ожидает максимально доступное рассмотрение темы вариантности в примерах. Добро пожаловать под кат.

Читать дальше →
Всего голосов 56: ↑49 и ↓7+42
Комментарии22

Дата-инжиниринг в превосходных условиях

Время на прочтение9 мин
Количество просмотров4.4K

Привет, Хабр!

Меня зовут Артемий, я занимаюсь дата-инжинирингом в команде аналитики Wheely. А конкретнее — построением аналитических решений, начиная с основ и до конечного результата: подключение источников, очистка и трансформация данных, организация хранилища и детального слоя, формирование витрин и дашбордов. 

В этом посте я сделал верхнеуровневый обзор решений, подходов и фреймворков, которые мы используем для развития Wheely: оптимизации операционной деятельности, построения отчетности, планирования и проверки гипотез. И еще немного похвастаться (куда без этого), потому что инструменты, которые мы используем в Wheely, сегодня набирают большую популярность на Западе, но в России пока далеко не каждая компания готова их адаптировать.

Читать далее
Всего голосов 17: ↑17 и ↓0+17
Комментарии5

Аналитический движок Amazon Redshift + преимущества Облака

Время на прочтение9 мин
Количество просмотров8.6K

Аналитический движок Amazon Redshift + преимущества Облака


Привет, Хабр!


На связи Артемий Козырь из команды Аналитики, и я продолжаю знакомить вас с Wheely. В этом выпуске:


  • Основы гибких кластерных вычислений
  • Колоночное хранение и компрессия данных
  • Вместо индексов: ключи сегментации и сортировки
  • Управление доступами, правами, ресурсами
  • Интеграция с S3 или Даталейк на ровном месте
Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Комментарии14

Как мы в ivi переписывали etl: Flink+Kafka+ClickHouse

Время на прочтение6 мин
Количество просмотров24K
Год назад мы решили переделать схему сбора данных в приложении и данных о действиях клиентов. Старая система работала исправно, но с каждым разом было всё сложнее и опаснее вносить туда изменения.



В этой статье я расскажу, какие технологии мы стали использовать для сбора и агрегации данных в новом проекте.
Читать дальше →
Всего голосов 23: ↑23 и ↓0+23
Комментарии12

Тестирование в Apache Spark Structured Streaming

Время на прочтение8 мин
Количество просмотров2.5K

Введение


На текущий момент не так много примеров тестов для приложений на основе Spark Structured Streaming. Поэтому в данной статье приводятся базовые примеры тестов с подробным описанием.


Все примеры используют: Apache Spark 3.0.1.

Читать дальше →
Всего голосов 4: ↑3 и ↓1+2
Комментарии2

Что такое Terms of Use или Как онлайн-бизнесу избежать проблем с пользователями

Время на прочтение4 мин
Количество просмотров6K
Что такое Terms of Use, почему владельцам онлайн-проектов, приложений и мобильных игр не обойтись без пользовательского соглашения и как правильно составить этот документ.

image

В октябре 2020 года в сети активно обсуждали кейс украинского сервиса онлайн-заказа такси Uklon. Драйвер компании проехал на красный свет и разбил Audi A7 клиента.

Ремонт машины оценили в 360-500 тысяч гривен. В самой компании Uklon отказались нести какую-либо ответственность за инцидент, ссылаясь на пункт 5.2. пользовательского соглашения.
Читать дальше →
Всего голосов 2: ↑1 и ↓10
Комментарии5

Как увеличить скорость чтения из HBase до 3 раз и с HDFS до 5 раз

Время на прочтение19 мин
Количество просмотров4K
Высокая производительность — одно из ключевых требований при работе с большими данными. Мы в управлении загрузки данных в Сбере занимаемся прокачкой практически всех транзакций в наше Облако Данных на базе Hadoop и поэтому имеем дело с действительно большими потоками информации. Естественно, что мы все время ищем способы повысить производительность, и теперь хотим рассказать, как удалось пропатчить RegionServer HBase и HDFS-клиент, благодаря чему удалось значительно увеличить скорость операции чтения.

Читать дальше →
Всего голосов 15: ↑14 и ↓1+13
Комментарии9

Конец хайпа: Что ждёт язык Scala дальше

Время на прочтение13 мин
Количество просмотров24K


Вокруг языка Scala всегда было много хайпа и неоднозначных суждений.


Сейчас споры поутихли, но в твиттере появились сообщения об уходе некоторых значимых участников из компаний активно развивающих экосистему языка Scala. В связи с чем в очередной раз пошли разговоры о том, что Scala всё.


В ответ на это один из очень активных членов сообщества (Li Haoyi) описал своё видение дальнейшего пути языка Scala.


Статья у него получилась интересной, посему решил перевести её.

Перевод
Всего голосов 30: ↑30 и ↓0+30
Комментарии110

Оператор в Kubernetes для управления кластерами БД. Владислав Клименко (Altinity, 2019)

Время на прочтение22 мин
Количество просмотров8.4K


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


В первой части доклада рассмотрим:


  • что такое оператор в Kubernetes и зачем он нужен;
  • как именно оператор упрощает управление сложными системами;
  • что оператор может, а что оператор не может.

Далее, перейдём к обсуждению внутреннего устройства оператора. Рассмотрим архитектуру и функционирование оператора по шагам. Подробно разберём:


  • взаимодействие между оператором и Kubernetes;
  • какие функции оператор берет на себя, а что делегирует в Kubernetes.

Рассмотрим управление шардами и репликами БД в Kubernetes.
Далее, обсудим вопросы хранения данных:


  • как работать с Persistent Storage с точки зрения оператора;
  • подводные камни использования Local Storage.

В заключительной части доклада рассмотрим практические примеры применения clickhouse-operator с Amazon или Google Cloud Service. Доклад строится на примере разработки и опыта эксплуатации оператора для ClickHouse.

Всего голосов 16: ↑15 и ↓1+14
Комментарии0

11 инструментов, делающих Kubernetes лучше

Время на прочтение6 мин
Количество просмотров6.9K


Далеко не все серверные платформы, даже самые мощные и масштабируемые, удовлетворяют все потребности, как есть. Хотя Kubernetes и работает отлично сам по себе, ему может не хватить нужных частей для полноты. Вы всегда найдете частный случай, который игнорирует вашу нужду, или при котором Kubernetes не будет работать при установке по умолчанию — например, поддержка баз данных или работа CD.


Здесь и появляются дополнения, расширения и прочие ништяки для этого оркестратора контейнеров, поддерживаемые широчайшим сообществом. В этой статье будет 11 лучших вещей, найденных нами. Нам самим в Southbridge они очень даже интересны, и мы планируем разобраться с ними практически — на винтики и гаечки разобрать и посмотреть, что внутри. Часть из них прекрасно дополнит любой кластер Kubernetes, другие же помогут решить частные задачи, не реализованные в типовой поставке Kubernetes.

Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии2

Паттерн «сага» как способ обеспечения консистентности данных

Время на прочтение3 мин
Количество просмотров15K
Всем привет. Уже сейчас в OTUS открывает набор в новую группу курса «Highload Architect». В связи с этим я продолжаю серию своих публикаций, написанных специально для этого курса, а также приглашаю вас на свой бесплатный демо урок по теме: «Индексы в MySQL: best practices и подводные камни». Записаться на вебинар можно тут.





Введение


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

В прошлый раз мы обсудили причины возникновения проблем с согласованностью в микросервисной архитектуре, оптимистичный подход к обеспечению согласованности и обеспечение согласованности с применением двухфазного коммита.
Читать дальше →
Всего голосов 20: ↑14 и ↓6+8
Комментарии0

Pysa: как избежать проблем безопасности в коде Python

Время на прочтение8 мин
Количество просмотров5.9K

7 августа Facebook представил Pysa — ориентированный на безопасность статический анализатор с открытым исходным кодом, помогающий работать с миллионами строк в Instagram. Раскрыты ограничения, затронуты проектные решения и, конечно, средства, помогающие избегать ложных положительных срабатываний. Показана ситуация, когда Pysa наиболее полезен, и код, в котором анализатор неприменим. Подробности из блога Facebook Engineering под катом.
Добро пожаловать
Всего голосов 20: ↑19 и ↓1+18
Комментарии12

Финансовые графики для вашего приложения

Время на прочтение4 мин
Количество просмотров20K


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


В статье расcмотрю три основных для меня библиотеки, сделаю сравнение и дополню комментариями из личного опыта.

Читать дальше →
Всего голосов 12: ↑11 и ↓1+10
Комментарии13

Краткий обзор NLP библиотеки SpaСy

Время на прочтение5 мин
Количество просмотров29K

Обработка естественного языка(Natural Language Processing — NLP) сегодня становится очень востребованной, так как людям несомненно проще общаться с машинами также, как они общаются с людьми.


image


Поэтому сейчас, вместе с быстрым развитием этой области, всё больше сервисов используют NLP: чат-боты, в которых больше не нужно выбирать готовые ответы, голосовые ассистенты, электронная почта, чтобы автоматически сортировать письма и так далее. В этом посте я хочу рассказать об относительно новой Python библиотеке SpaCy, которая стала, если не индустриальным стандартом, как кричат заявляют сами создатели на сайте библиотеки: https://spacy.io/, то как минимум одним из самых популярных и удобных решений. Приятного чтения!

Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии8

Обзор AI & ML решений в 2018 году и прогнозы на 2019 год: Часть 1 — NLP, Computer Vision

Время на прочтение7 мин
Количество просмотров13K
Всем привет! Представляю вам перевод статьи Analytics Vidhya с обзором событий в области AI / ML в 2018 году и трендов 2019 года. Материал довольно большой, поэтому разделен на 2 части. Надеюсь, что статья заинтересует не только профильных специалистов, но и интересующихся темой AI. Приятного чтения!


Введение


Последние несколько лет для AI энтузиастов и профессионалов в области машинного обучения прошли в погоне за мечтой. Эти технологии перестали быть нишевыми, стали мейнстримом и уже влияют на жизни миллионов людей прямо сейчас. В разных странах были созданы AI министерства [подробнее тут — прим. пер.] и выделены бюджеты чтобы не отставать в этой гонке.

То же самое справедливо и для профессионалов в области data science. Еще пару лет назад вы могли комфортно себя чувствовать, зная пару инструментов и приёмов, но это время прошло. Количество событий, произошедших за последнее время в data science и объем знаний, который требуется, чтобы идти в ногу со временем в этой области, поражают воображение.

Я решил сделать шаг назад и взглянуть на разработки в некоторых ключевых областях в сфере искусственного интеллекта с точки зрения специалистов по data science. Какие прорывы произошли? Что случилось в 2018 и чего ждать в 2019 году? Прочитайте эту статью, чтобы получить ответы!
Читать дальше →
Всего голосов 16: ↑15 и ↓1+14
Комментарии0

BERT, ELMO и Ко в картинках (как в NLP пришло трансферное обучение)

Время на прочтение11 мин
Количество просмотров46K

2018 год стал переломной точкой для развития моделей машинного обучения, направленных на решение задач обработки текста (или, что более корректно, обработки естественного языка (Natural Language Processing, NLP)). Быстро растет концептуальное понимание того, как представлять слова и предложения для наиболее точного извлечения их смысловых значений и отношений между ними. Более того, NLP-сообщество продвигает невероятно мощные инструменты, которые можно бесплатно скачать и использовать в своих моделях и пайплайнах. Эту переломную точку также называют NLP’s ImageNet moment, ссылаясь на тот момент несколько лет назад, когда схожие разработки значительно ускорили развитие машинного обучения в области задач компьютерного зрения.


transformer-ber-ulmfit-elmo


(ULM-FiT не имеет ничего общего с Коржиком, но что-то лучше не пришло в голову)

Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии2

Использование NLP для построения классификатора сарказма

Время на прочтение5 мин
Количество просмотров3.4K

В этой статье мы попробуем написать классификатор определяющий саркастические статьи используя машинное обучение и TensorFlow


Статья является переводом с Machine Learning Foundations: Part 10 — Using NLP to build a sarcasm classifier


В качестве обучающего набора данных используется датасет «Sarcasm in News Headlines» Ришаба Мишры. Это интересный набор данных, который собирает заголовки новостей из обычных источников новостей, а также еще несколько комедийных с поддельных новостных сайтов.


Набор данных представляет собой файл JSON с тремя столбцами.


  • is_sarcastic  — 1, если запись саркастическая, иначе 0
  • headline — заголовок статьи
  • article_link — URL-адрес текста статьи
Читать дальше →
Всего голосов 10: ↑7 и ↓3+4
Комментарии2
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность