Как стать автором
Обновить
60
0

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

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

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

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

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

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

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

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

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

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

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

Читать далее
Всего голосов 44: ↑43 и ↓1+42
Комментарии23

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

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

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

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

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

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

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

Введение



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

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

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

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


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

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

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


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

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

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

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

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

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

Уровень сложностиПростой
Время на прочтение15 мин
Количество просмотров2.4K

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

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

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

Читать далее
Всего голосов 18: ↑17 и ↓1+16
Комментарии4

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

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

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

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

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

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

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

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

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

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

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров21K

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

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

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

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

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

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

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

Читать далее
Всего голосов 35: ↑24 и ↓11+13
Комментарии22

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

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

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

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

Читать далее
Всего голосов 38: ↑28 и ↓10+18
Комментарии33

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

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

Всем привет!

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

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

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

Читать далее
Всего голосов 22: ↑19 и ↓3+16
Комментарии11

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

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров3K

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

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

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

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

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

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

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

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

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

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

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

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

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

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров7.9K

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

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

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

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

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров2.5K

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

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

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

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

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров8.7K

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

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

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

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

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

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

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

Читать далее
Всего голосов 36: ↑31 и ↓5+26
Комментарии9

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

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

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

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

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

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

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

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров4.4K

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

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

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

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

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

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров695

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

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

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

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров10K

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

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

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

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

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

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

Я счастлив, что больше не веб-разработчик

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

Я написал своё первое одностраничное веб-приложение на Javascript в 2005 году, сразу после того, как узнал о XMLHttpRequest и до появления серьёзных фреймворков. Я оставил профессиональную веб-разработку примерно в 2009 году (а начал её в 1997 году с WebObjects), а последний десяток лет своей карьеры занимался мобильными.

Сегодня я смотрю на мир веб-разработки, и меня поражает его безумие. Существует так много фреймворков для веба, и каждый день появляются новые. Для создания веб-приложения (в отличие от веб-сайта, например, моего сайта про искусство, который сгенерирован статически и содержит лишь немного Javascript), часто требуются кучи инструментов и технологий, часто меняющихся с большой частотой и содержащих бесконечные объёмы других технологий, о существовании которых мы и не подозреваем (о, смотрите-ка, в папке пакета две тысячи файлов).

Javascript — ужасный язык, никогда не задумывавшийся для чего-то подобного, но, как ни странно, ставший популярным, потому что он всегда был под рукой. Потрясающе, какой объём инноваций затрачен на построение современной вселенной веб-разработки, несмотря на достаточно шаткий фундамент, на котором она основана.

Читать далее
Всего голосов 105: ↑90 и ↓15+75
Комментарии183

PowerShell и его возможности в уходящем году

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров9.9K

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

Буквально два года назад, имея базовые знания навигации в консоли Linux, написание несложных batch-файлов и небольшой опыт VBScript открыл для себя PowerShell, и после этого я уже в прямом смысле этого слова, не мог остановиться реализовывать свои идеи, правда, такое дело очень затягивает. В один момент решился завести канал на GitHub и там же по сей день виду работу с заметками, где за это время накопилось более 6 тысяч строк из описания работы cmdlet (PowerShell-команд) и утилит для Системного Администратора (AD, Exchange, VMWare, MSSQL и т.д.) с примерами, ведь далеко не все получалось найти в интернете, порой, только изучая на практике свойства и методы объектов, можно получить желаемый результат. Так же набралась небольшая коллекция модулей и тестовый стенд WinForms с примерами работы различных методов, на котором я в дальнейшем базировался для написания приложений с графическим интерфейсом. Все работы писал по большей части для себя с целью автоматизировать и разгрузить текущий рабочий процесс, иногда помочь коллегам, именно по этому мне хочется поделиться своими наработками, возможно кому-то это еще сможет пригодиться.

Читать далее
Всего голосов 18: ↑17 и ↓1+16
Комментарии15
1
23 ...

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность