Pull to refresh
60
0

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

Send message

Оптимизируем параметры запуска приложения Spark. Часть первая

Reading time5 min
Views14K

Привет! Меня зовут Андрей Чучалов, я работаю в билайне, и в этом посте я расскажу про оптимизацию параметров запуска приложений в Spark, поиск проблем и повышение производительности. Разберем запуск приложений Spark в базовой и расширенной версиях, покажу методы расчёта основных параметров работы приложения для производительности и эффективности использования доступных ресурсов кластера. Бонусом — о том, как всё это привязано к деньгам, и где сэкономить можно, а где — не стоит.

Для чего это вообще нужно

Спараметризировать приложение — это не такая уж грандиозная задача, а вот попытаться понять взаимосвязь эффективности работы приложения со стоимостными параметрами такой работы — это уже сложнее. Тут вам пригодится своеобразное «боковое зрение».

В рассказе и на примерах я буду исходить из того, что у нас по умолчанию процесс ETL-обработки данных правильно, с самой программой всё ОК и она корректно спроектирована. И оборудование в составе кластера тоже рабочее и достаточное для запуска приложения. Это позволит говорить именно о влиянии параметров на эффективность.

Читать далее
Total votes 18: ↑17.5 and ↓0.5+17
Comments1

Строим lineage моделей машинного обучения и признаков с помощью OpenMetadata

Level of difficultyMedium
Reading time9 min
Views5.3K

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

Мы в билайне любим машинное обучение. В какой-то момент моделей машинного обучения стало так много, что это вынудило нас решать определенные задачи. Я Дмитрий Ермилов, руковожу ML в дирекции по искусственному интеллекту и цифровым продуктам. О решении одной такой задачи и будет этот рассказ.

Давайте представим, что у вас в компании большое количество моделей машинного обучения, каждая из которой может зависеть от нескольких десятков до нескольких тысяч признаков (фич). Причем разные модели могут зависеть от одних и тех же фич. Неожиданно случается несчастье, и одна из популярных фич ломается. Может произойти поломка на уровне подготовки данных, могут измениться внешние источники, отвалиться интеграции и прочее. Что делать с этим знанием? Конечно, бежать в продуктовые команды и кричать, что модели, которые зависят от этой фичи, могут деградировать, то есть их метрики качества могут снизиться. Вопрос только в том, какие модели могут деградировать и в какие команды бежать?

Напомним, в каких условиях мы анализируем данные и строим модели машинного обучения.

Читать далее
Total votes 9: ↑11.5 and ↓-2.5+14
Comments0

На стороне своих правил в ESlint

Reading time8 min
Views4K

Всем привет! Меня зовут Владимир Земсков, я работаю в B2C билайна, в команде билайн Про, где пишу бэк-офис для нашей системы. Мы помогаем нашей рознице продавать лучше и больше. Для соблюдения нужного уровня качества кода в билайне мы используем и ESlint, и тесты, и ревью, и особый тип — внутренние договорённости. 

Когда я пришёл в компанию, то мне захотелось найти ESlint-плагин, который бы помог автоматизировать часть работы. Я поискал, не нашёл, и в итоге решил написать свой. Из всей этой истории и родился сегодняшний рассказ. В первой части мы обсудим договорённости и их важность для разработки. А во второй — поговорим про то, как эти договорённости переносить в ESLint, как это упростит жизнь и действительно ли это это так сложно, или можно что-то упростить по пути.

Читать далее
Total votes 20: ↑19 and ↓1+18
Comments2

Как мы оцифровали футбольные матчи с помощью CV

Reading time11 min
Views7.8K

Привет! Меня зовут Владимир Цуканов, я СТО спортивного направления в Яндекс Плюсе. Мы занимаемся съёмкой, обработкой и стримингом спортивных событий. В этом посте я расскажу о работе с технической съёмкой и анализом футбольных матчей.

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

Читать далее
Total votes 44: ↑43 and ↓1+42
Comments23

Логический долг гораздо разрушительнее технического

Reading time4 min
Views3.9K

Жили-были разработчики ПО, игнорировавшие рекомендованные методики наподобие предметно-ориентированного проектирования (Domain-Driven Design); они срезали углы, чтобы выпускать продукты быстро. Они думали: «Нам платят за написание кода, а не за проектирование!»

Менеджер по продукту, в свою очередь, игнорировал то, что игнорировала команда разработки. Он даже не мог сказать, чем именно они пренебрегали. Он был убеждён, что всё, не касающееся написания кода — пустая трата времени. Он думал: «Клиенты платят нам за работающее ПО!»

Спустя полчаса после запуска «работающее ПО» внезапно рухнуло из-за непредусмотренного (а значит, и неуправляемого) наплыва большого количества одновременных пользователей. Клиент считал, что менеджер по продукту и команда разработки должны немедленно устранить критическую проблему. Запуск был отменён.
Читать дальше →
Total votes 32: ↑25 and ↓7+18
Comments13

Хакаем спортивные часы

Reading time4 min
Views5.4K

Введение



Взглянув на эти часы, можно подумать, что это обычные часы для бегунов.

Ну а я считаю, что это одни из самых лучших потребительских цифровых часов со сверхнизким энергопотреблением в мире!

Позвольте мне объясниться…

Спецификации


Это Timex m851. В них установлены 8-битный CPU Seiko SC188, 48 КБ ROM, 2 КБ RAM и матричный дисплей 42x11.

CPU спроектирован с расчётом на работу со сверхнизким энергопотреблением — одной батарейки хватает на три года!

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


А что это за контакты сбоку? Это USB. Естественно, можно синхронизировать информацию наподобие встреч и тому подобного (для этого есть удобная Linux-библиотека).

И вот что интересно — у часов есть SDK, и он на удивление хорош!

Достаточно ввести $ cc helloworld.c и загрузить код в часы.

Изначально я не думал, что влюблюсь в эти часы — мастер разработки, который Timex предоставлял в эпоху Windows XP, был ужасен. Однако оказалось, что он просто управляет находящимся внутри тулчейном в стиле UNIX.

А если его вытащить, то хакинг становится довольно увлекательным занятием!
Читать дальше →
Total votes 39: ↑38 and ↓1+37
Comments13

О пройденном пути, полученных результатах и наших планах в мониторинге

Level of difficultyEasy
Reading time15 min
Views2.4K

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

Мы работаем в большой компании, где требования к производимому ПО очень высоки. Наши сервисы без сомнения можно назвать высоконагруженными системами. 

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

Читать далее
Total votes 18: ↑17 and ↓1+16
Comments4

Merlion Framework или как упростить работу с временными рядами

Reading time11 min
Views2.8K

Единственная причина для существования времени — чтобы все не  случилось одновременно.

Альберт Эйнштейн

Привет! Меня зовут Дмитрий, я дата-инженер в SM Lab, и в этом посте хочу рассказать вам о Merlion Framework. В посте мы рассмотрим его архитектуру, полезные функции и отличия от аналогов, разберём пару практических примеров, а также посмотрим, как всё считать и на какие метрики стоит обращать внимание.

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

Временной ряд – это набор данных, описывающих изменения какой-либо переменной во времени. 

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

Читать далее
Total votes 19: ↑19 and ↓0+19
Comments4

Как за 30 минут улучшить свое резюме?

Level of difficultyEasy
Reading time3 min
Views21K

Если вы читаете это, то скорее всего, поиск нового (или даже первого) места работы вызывает стресс, требования в вакансиях на HeadHunter кажутся невыполнимыми,
а свое резюме не то что не хочется никуда отправлять — есть желание никогда его не открывать.

На старте карьеры каждый испытывает все эти чувства. Давайте начнем немного менять ситуацию с последнего пункта — резюме!

Да, мы не сможем за 30 минут повысить ваш опыт работы на 3 года, но даже в банальном оформлении своего резюме многие делают (или не делают) достаточно странные вещи.

Перейдем к пункту 0...

Меня зовут Дмитрий Иванов, я старший аналитик данных компании билайн, и первое правило хорошего резюме — это простота. Пока мы не идём на позицию ТОПа или вице-президента, давайте оставим излишний формализм за пределами того PDF-файлика, который вы будете рассылать рекрутёрам.

0. Пишите просто и понятно

Не надо делать делать из мухи (3 месяца работы в универской лаборатории) слона (оформить каждый тезис вашего курсача как отдельный научный проект). 3 месяца в лаборатории = 3 месяца в лаборатории. 

Читать далее
Total votes 35: ↑24 and ↓11+13
Comments22

Техдолга не существует

Reading time9 min
Views7.6K

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

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

Читать далее
Total votes 38: ↑28 and ↓10+18
Comments33

Анализ отличий в работе системного и бизнес-аналитика через призму процессного подхода

Reading time4 min
Views12K

Всем привет!

Меня зовут Станислав, сейчас я работаю старшим системным аналитиком в отделе развития голосового антифрода.

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

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

Читать далее
Total votes 22: ↑19 and ↓3+16
Comments11

Как мы делали редизайн сайта МКБ

Level of difficultyMedium
Reading time8 min
Views3K

Привет! Сегодня расскажем вам, как мы делали редизайн сайта МКБ. Пост разбит на две части — продуктовая (о смысле редизайна и методах выявления основных проблем) и техническая.

Читать далее
Total votes 9: ↑8 and ↓1+7
Comments2

Ешьте продукты с буквой Ф: офефки, моркофку и фуфарики

Reading time17 min
Views10K
image

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

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

И если ваш стоматолог так не делает, то это повод сходить к ортодонту самостоятельно.

Сустав человека стал таким ещё и потому, что возникла речь. Артикуляция — это сложная функция, именно для её реализации анатомия сустава усложнилась в ущерб «прочности».

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

При этом у имплантов со всеми их плюсами есть один очень ощутимый минус — они неподвижны, так что брекетами их с места не сдвинешь. Вспоминают про это почему-то, только когда всё уже очень заболело и срочно нужно что-то делать. Однажды я даже отправила пациента удалять имплант. Нам обоим это было очень обидно (а пациенту ещё и дорого): ну а что я могу сделать, если кто-то полгода назад отказался от ортодонтии, когда к ней были прямые показания?..

Самое коварное в том, что, просто глядя на свои зубы, человек не может самостоятельно заметить каких-то изменений. Зубы вообще могут быть идеально ровными, а с суставом — проблема, которая постепенно становится хронической.

Что делать, чтобы как можно дольше височно-нижнечелюстной сустав работал хорошо, мы сегодня и будем разбираться. Кровавых картинок не будет, заглядывать под кат можно (и нужно) смело.
Читать дальше →
Total votes 55: ↑49 and ↓6+43
Comments23

Добавляем пылесосу одометр

Level of difficultyEasy
Reading time3 min
Views7.9K

Всем привет. У меня накопилось несколько интересных решений для HomeAssistant, которыми я хочу поделиться. Сегодня я хочу сделать одометр для пылесоса.

Зачем?
Первоначально один мой знакомый попросил помочь ему с автоматизацией - сделать уведомление, когда заканчивается вода в пылесосе. Но как сделать подобное если пылесос никак не отслеживает уровень воды? Но каждый же может примерно оценить на сколько ему хватает бака?

Читать далее
Total votes 13: ↑12 and ↓1+11
Comments7

Обычный Client Side с необычной эксплуатацией

Level of difficultyMedium
Reading time3 min
Views2.5K

Это статья о клиентских уязвимостях, которые мне показались интересными.

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

Читать далее
Total votes 5: ↑5 and ↓0+5
Comments0

Есть проблема? Нет проблем. Инструменты принятия решений

Level of difficultyEasy
Reading time7 min
Views8.8K

Привет, Хабр! Меня зовут Ирина Ремизова, я куратор департамента системного анализа Sportmaster Lab, где, собственно, и курирую системных аналитиков, развивая их и рассказывая про инструменты принятия решений.

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

Начнём мы с ББМ. Это аббревиатура из трех слов, которая представляет собой три реакции человека при принятии решения. Боль (приобретение или потеря), боязнь сделать неправильное решение (верно или неверно) и муки (а что было бы, если…).

Почему бывает так трудно? 

Когда у нас есть много факторов, или наоборот — их недостаточно, или мы не знаем, какие есть переменные в этих факторах, то возникает неопределенность. Вторая причина — сложность. Факторов может быть бесконечное множество, они могут быть запутаны в своих связях либо вообще исключать друг друга. У высокого риска есть последствия: наше решение влияет на нас, на окружающих людей, наши решения могут привести к радикальным изменениям судьбы. 

Ещё есть межличностные проблемы. Вы приняли какое-то решение, которое повлияло на кого-то другого. Реакция этого человека тоже влияет на вас, поэтому при принятии решения можно сохранить отношения (или потерять их). 

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

Читать далее
Total votes 36: ↑31 and ↓5+26
Comments9

Единое хранилище данных и плюсы, которые оно несёт. Опыт НМГ

Reading time5 min
Views2.6K

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

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

В этом (спойлер — и не только в этом) нам сильно помогает единое хранилище данных, далее просто ЕХД.

Читать далее
Total votes 13: ↑11 and ↓2+9
Comments1

Об одном способе реализации архитектуры крупного Flutter-приложения

Level of difficultyMedium
Reading time8 min
Views4.5K

Привет! Меня зовут Олег Скирюк, я лидирую контент-разработку в одной из команд билайна. Сам я перешёл в мобильную разработку из веба три года назад, после чего собрал и обучил одну из первых Flutter-команд в компании. Вместе с этой командой мы постоянно экспериментируем и пробуем различные решения, чтобы совершенствовать наши приложения.

В этом посте я хочу рассказать про архитектуру Flutter-приложений, о том, как мы в билайне это делаем, чего мы достигли и как это у нас работает. Поговорим о создании архитектуры, организации управления состояниями и зависимостями, о привычных и не очень методах и концепциях, затронем Mobx, GetX и Flutter modular, а также разберём всё это на живом примере — на нашем мобильном приложении для дилеров.

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

Читать далее
Total votes 16: ↑16 and ↓0+16
Comments14

Чтение на выходные: «Думай о смысле. Будни переводчика IT-текстов» Ивана Чаплыгина

Level of difficultyEasy
Reading time3 min
Views719

Чем занимаются IT-переводчики? Собственно, переводами инструкций, типовых договоров о неразглашении и другой документации. На первый взгляд, можно подумать, что с такой работой  справится любой выпускник-лингвист. Однако автор книги, которую мы сегодня рассмотрим в рубрике, даёт понять, что дело обстоит несколько иначе. Особенно, если речь идет о креативных задачах со звёздочкой вроде перевода слоганов.

Читать далее
Total votes 10: ↑8 and ↓2+6
Comments1

Отрицание, принятие… настольные игры

Level of difficultyEasy
Reading time4 min
Views10K

Эта история началась давно, еще в «доковидные» времена. Тогда я считала, что весь мир настолок состоит из монополии, манчкина, элиаса и уно. Для меня настольная игра была дополнением к вечеринке, но никак не причиной для встречи. Это хобби вызывало во мне бурю эмоций и непонимания.

- Сколько вы играли? ПЯТЬ ЧАСОВ?!
- Сколько стоит эта игра? Так много за картон?!

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

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

Так с чего же начать, если никогда раньше не играл в настолки, но хочется попробовать? Сейчас разберемся! Держите мой топ для старта настольного хобби.

Читать далее
Total votes 30: ↑28 and ↓2+26
Comments18
1
23 ...

Information

Rating
Does not participate
Registered
Activity