Pull to refresh
8
0

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

Send message

От монолита к микросервисам: ускорили банковские релизы в 15 раз

Reading time7 min
Views9.4K
Бывает, что компания использует устаревшую монолитную IT-систему, с которой сложно быстро выпускать обновления и решать свои бизнес-задачи. Как правило, рано или поздно владелец продукта начинает проектировать новое, более гибкое архитектурное решение.

Недавно мы писали о том, как работают IT-архитекторы, а теперь расскажем подробности об одном из наших кейсов и покажем схему работы системы. В этом проекте мы помогли заменить «коробочное» банковское приложение на микросервисное ДБО, при этом наладив быстрый выпуск релизов – в среднем 1 раз в неделю.

Читать дальше →
Total votes 7: ↑7 and ↓0+7
Comments34

Профилирование. Отслеживаем состояние боевого окружения с помощью Redis, ClickHouse и Grafana

Reading time7 min
Views7.2K

прим. latency/time.

Наверное перед каждым возникает задача профилирования кода в продакшене. С этой задачей хорошо справляется xhprof от Facebook. Вы профилируете, к примеру, 1/1000 запросов и видите картину на текущий момент. После каждого релиза прибегает продакт и говорит «до релиза было лучше и быстрее». Исторических данных у вас нет и доказать вы ничего не можете. А что если бы могли?
Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments14

LaserDisc: история несостоявшегося конкурента видеокассет (часть 1)

Reading time13 min
Views19K
В нашей памяти история домашнего видео восьмидесятых и девяностых навечно осталась в размытом качестве картинки видеомагнитофонов. В двухтысячных на смену кассетам VHS пришли диски DVD, а в Blu-ray цвет лазера сменился на фиолетовый, сообщают воспоминания.

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


Диск фильма «Бегущий по лезвию» в проигрывателе Pioneer LaserVision LD-V2000. Фото Electric Thrift.

Такая участь была заготовлена для LaserDisc. В конце семидесятых фильмы для домашнего просмотра впервые начали выходить на оптических накопителях. На каждой из сторон 30-сантиметрового CD-переростка умещалось по часу видео отличного качества 425 горизонтальных телевизионных линий. Это куда приятнее картинки VHS (240 линий). Поддержка цифрового кодирования и объёмного звука 5.1 появилась чуть позже. Релизы часто сопровождались альтернативными аудиодорожками с комментариями и визуальным бонусным материалом. Не нужно было ничего перематывать, работала навигация по главам как в DVD.

Как правило, рассказ о менее популярном технически более продвинутом формате заканчивается сожалением о его непозволительно высокой стоимости. Но на заре LaserDisc и лазерные проигрыватели, и диски стоили дешевле видеомагнитофонов и кассет. Тогда почему лазерный диск не вытеснил VHS?
Total votes 35: ↑35 and ↓0+35
Comments13

7 июля — международный форум #btechday “Биометрия против пандемии”

Reading time3 min
Views751
Привет!

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



И здесь есть где развернуться решениям, основанным на биометрии. Распознавание голоса, лица, сетчатки глаза, бесконтактный анализ отпечатков пальцев и рисунка вен, анализ особенностей походки — всё это постепенно становится привычным настоящим, и в какой-то мере необходимой технологией. Сегмент бесконтактных биометрических технологий в 2019 уже оценен экспертами почти в 6,2 млрд долларов, а до 2027 прогнозируется рост на 20,3% ежегодно.

Наш форум #btechday соберет ведущих разработчиков биометрических технологий и мировых экспертов — будут спикеры из ID R&D, VisionLabs, NtechLab, РТ Лабс, BIOSMART, BI Solutions, группы компаний ЦРТ, Русского биометрического общества и не только. Будет два блока — пленарный, с обсуждениями актуальных вызовов рынка, и технологический, непосредственно про решения и их реализацию. Обсудим опыт разных стран и компаний, кейсы применения ML и компьютерного зрения.

Участие бесплатное, программа мероприятия — под катом.
Читать дальше →
Total votes 12: ↑12 and ↓0+12
Comments0

Плохие практики код-ревью и немного мемов об этом: обсуждаем, как сделать процесс лучше

Reading time3 min
Views13K
Как не убить критикой, но и не скатиться в поверхностное ревью? Жирный PR против кучи мержей — что где выгоднее в зависимости от типа и размера проекта? А вот оно вообще правда нужно? Может, ну его — или автоматизируем/заменим статическим анализом?

Тема благодатная — и мы решили посвятить ей совместный стрим с подкастом SDCast.


1 июля в 17 часов по Москве/Киеву/Минску. В эфир придут хорошие люди (о них под катом) — а еще у нас будут свои голосования ;)
Total votes 34: ↑33 and ↓1+32
Comments64

27 июня, стрим-конференция «Кодинг будущего»

Reading time2 min
Views2.2K
Привет!

Если вы читали наши предыдущие посты, то уже знаете про Alfa Battle для Java-разработчиков. Послезавтра в прямом эфире можно будет посмотреть финал чемпионата, с 12.00 до 18.00.

Мы запустим стрим-конференцию под названием «Кодинг будущего», где с партнерами чемпионата (Билайн и X5 Retail Group) поговорим о футуристических прогнозах в IT. От компаний будут ведущие разработчики и топ-менеджеры.



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

Основных модулей стрим-конференции у нас получилось 6 штук:

  1. AI
  2. Web-банкинг
  3. Growth hacking
  4. Mobile banking
  5. Продуктовый дизайн
  6. Архитектуры Java-проектов

А вот сами доклады и спикеры.
Читать дальше →
Total votes 17: ↑17 and ↓0+17
Comments0

Введение в Puppet

Reading time26 min
Views74K

Puppet — это система управления конфигурацией. Он используется для приведения хостов к нужному состоянию и поддержания этого состояния.


Я работаю с Puppet уже больше пяти лет. На мой взгляд, его официальная документация хороша для тех, кто уже знаком с Puppet, а для новичка она сложна — сразу даётся много новых терминов; непонятно, в каком порядке читать. Эта статья — по сути переведённая компиляция ключевых моментов из официальной документации, которая позволит новичкам быстро вникнуть в суть Puppet. Я переупорядочил информацию, чтобы постепенно рассказать про все сущности и термины.


Читать дальше →
Total votes 27: ↑27 and ↓0+27
Comments26

Особенности применения языков программирования С и С++ при разработке ПО, связанного с функциональной безопасностью

Reading time11 min
Views9.1K
image

Крис Хоббс (Chris Hobbs) в своей фундаментальной работе «Embedded Software Development for Safety-Critical Systems» [1] приводит распространенное среди программистов мнение о том, что накладывать ограничения на языки программирования, это как заказывать Пикассо создание картины, при этом запрещать ему использовать желтый цвет. Тем не менее, сложно представить себе предприятие, которое серьезно занимается разработкой программного обеспечения для систем ответственного назначения, у которого в писанных или неписанных стандартах не было бы указаний о том, какой язык программирования применять и, мало того, как его применять.

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

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

Тайм-менеджмент — это не история про то, как сделать больше за 8 часов, это как сделать важное за 8 часов

Reading time5 min
Views9.4K

В момент самоизоляции каждый оказывается сам по себе. Да, утренние совещания, daily, «летучки» никто не отменял. Но в некоторой степени люди краешком ощутили одиночество — а оно умеет сбивать с рабочего ритма.


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



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


Потоки информации стали еще объёмнее, количество информации стало еще больше, от компьютера мы не отходим примерно с утра до вечера, а вечером "пересаживаемся" на смартфон.


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


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


Читать дальше →
Total votes 28: ↑21 and ↓7+14
Comments3

Как писать свой процессор или расширяем функционал в NiFi

Reading time6 min
Views8K
Все большую популярность набирает NiFi и с каждым новым релизом он получает все больше инструментов для работы с данными. Тем не менее, может появиться необходимость в собственном инструменте для решения какой-то специфичной задачи.



Apache Nifi имеет в базовой поставке более 300 процессоров.

NiFi Processor это основной строительный блок для создания dataflow в экосистеме NiFi. Процессоры предоставляют интерфейс, через который NiFi обеспечивает доступ к flowfile, его атрибутам и содержимому. Собственный кастомный процессор позволит сэкономить силы, время и внимание пользователей, так как вместо множества простейших элементов-процессоров будет отображаться в интерфейсе и выполняться всего один (ну или сколько напишете). Так же, как и стандартные процессоры, кастомный процессор позволяет выполнять различные операции и обрабатывать содержимое flowfile. Сегодня мы поговорим о стандартных инструментах для расширения функционала.
Читать дальше →
Total votes 14: ↑12 and ↓2+10
Comments1

oVirt за 2 часа. Часть 3. Дополнительные настройки

Reading time8 min
Views13K
В этой статье мы рассмотрим ряд необязательных, но полезных настроек:


Эта статья — продолжение, начало см. oVirt за 2 часа Часть 1 и часть 2.

Статьи


  1. Введение
  2. Установка менеджера (ovirt-engine) и гипервизоров (hosts)
  3. Дополнительные настройки — Мы здесь
  4. Базовые операции
Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments1

Бизнес-эксперт и программирование. Совмещать нельзя разделять

Reading time9 min
Views4K
Привет! Меня зовут Виктория Краснова, я не так давно писала большой пост про data-driven в нефтехимии. Но там было про сам подход и систему. Давайте сегодня поговорим о тех, кто этой системой будет пользоваться (и кто будет её улучшать). То есть о людях.

Вообще же, про data driven легко говорить и кайфово это реализовывать в компаниях, в которых большинство сотрудников являются power users, то есть легко напишут запрос к базе, не отрываясь от заваривания чая, а в голове у них есть вопросы и задачи, которые можно решить только при наличии технологии Big Data.



А теперь представьте себе, каково это — внедрять DAAS (data as a service), если ваши пользователи взаимодействуют между собой только языком Excel и Power Point. Возникает разрыв: те, кто владеет навыками программирования, не владеют предметной областью на должном уровне, чтобы предметно продемонстрировать все плюшки современных технологий, а бизнес-эксперты пребывают в состоянии недоумения из-за того, что любую известную задачу можно решить при помощи «Small Data» в лице Excel.

Для того, чтобы этот разрыв нивелировать, а в идеале вообще устранить, можно подойти к проблеме вот с каких сторон. Во-первых, набирать аналитиков со знанием SQL и Python. Во-вторых, учить существующих пользователей языкам программирования. И вроде как первый путь выглядит логичнее и проще, да? Но есть подводные камни, а именно:
Читать дальше →
Total votes 22: ↑16 and ↓6+10
Comments0

Онлайн-хакатон «Новая реальность» VirusHack. Как это было

Reading time9 min
Views1.5K
Привет! В начале мая мы вместе с РАЭК и Агентством Инноваций Москвы провели хакатон “Новая реальность”, посвященный идеям продуктов и сервисов, которые смогут пригодиться людям, государству и бизнесу в текущих условиях, а также после возвращения жизни в нормальное русло.

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



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

Подробнее о том, как все прошло, под катом.

Отличия от привычных хакатонов

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

Apache Bigtop и выбор Hadoop-дистрибутива сегодня

Reading time12 min
Views7.9K


Наверное, ни для кого не секрет, что прошлый год для Apache Hadoop стал годом больших перемен. В прошлом году произошло слияние Cloudera и Hortonworks (по сути, поглощение второго), а Mapr, в виду серьезных финансовых проблем, был продан Hewlett Packard. И если несколькими годами ранее, в случае on-premises инсталляций, выбор чаще приходилось делать между Cloudera и Hortonworks, то сегодня, увы, этого выбора у нас не осталось. Сюрпризом стал еще и тот факт, что Cloudera с февраля этого года объявила о прекращении выпуска бинарных сборок своего дистрибутива в публичный репозиторий, и теперь они доступны лишь по платной подписке. Конечно, возможность загрузки последних версий CDH и HDP, выпущенных до конца 2019-го года, все еще есть, и поддержка по ним предполагается в течение одного-двух лет. Но что же делать дальше? Для тех, кто ранее платил за подписку, ничего не изменилось. А для тех, кто не хочет переходить на платную версию дистрибутива, но при этом хочет иметь возможность получать свежие версии компонентов кластера, а также патчи и прочие обновления, мы и подготовили эту статью. В ней мы рассмотрим возможные варианты выхода из сложившейся ситуации.

Статья больше обзорная. В ней не будет сравнения дистрибутивов и подробного их разбора, а также не будет рецептов по их установке и настройке. А что же будет? Мы вкратце расскажем про такой дистрибутив как Arenadata Hadoop, который по праву заслужил наше внимание ввиду своей доступности, что на сегодня большая редкость. А затем поговорим про Vanilla Hadoop, в основном про то, как его можно “приготовить” с помощью Apache Bigtop. Готовы? Тогда добро пожаловать под кат.
Читать дальше →
Total votes 16: ↑15 and ↓1+14
Comments3

Видеоконференция просто и бесплатно

Reading time4 min
Views11K
В связи с резко возросшей популярностью удаленной работы, мы решили предложить услугу видеоконференции. Как и большинство других наших услуг, она бесплатна. Чтобы не изобретать велосипед, основа построена на open-source решении. Основная часть базируется на WebRTC, что позволяет разговаривать в браузере просто по ссылке. О тех возможностях, которые предлагаем и некоторых проблемах с которыми столкнулись напишу ниже.



Читать дальше →
Total votes 24: ↑20 and ↓4+16
Comments23

Docker-образ для раздачи Single Page Application

Reading time9 min
Views13K

Single-page Application (SPA) – это набор статических JavaScript и HTML файлов, а так же картинок и других ресурсов. Поскольку они не изменяются динамически, опубликовать их в интернете очень просто. Для этого существует большое количество дешёвых и даже бесплатных сервисов, начиная с простого GitHub Pages (а для кого-то даже с narod.ru) и заканчивая CDN вроде Amazon S3. Однако мне нужно было другое.


Мне нужен был Docker-образ с SPA, чтобы его легко можно было запустить как в продакшене в составе Kubernetes-кластера, так и на машине back-end разработчика, который понятия не имеет, что такое SPA.


UPD 07.07.20: Посмотерть самому на то, что в итоге получилось, можно тут: https://github.com/alexxxnf/spa-docker-example


Я для себя определил следующие требования к образу:


  • простота в использовании (но не в сборке);
  • минимальный размер как с точки зрения диска, так и с точки зрения RAM;
  • настройка через переменные окружения, чтобы образ можно было использовать в разных средах;
  • максимально эффективная раздача файлов.

Сегодня я расскажу как:


  • выпотрошить nginx;
  • собрать brotli из исходников;
  • научить статические файлы понимать переменные окружения;
  • ну и конечно как собрать из всего этого Docker-образ.

Цель этой статьи поделиться моим опытом и спровоцировать опытных участников сообщества на конструктивную критику.

Читать дальше →
Total votes 16: ↑14 and ↓2+12
Comments45

Как перестать беспокоиться и начать верить A/B-тестам

Reading time5 min
Views9.8K
Когда вы разрабатываете продукт, каждая новая итерация — это риск уронить метрики и потерять пользователей. Тем не менее иногда, особенно на начальных этапах, компании неосознанно идут на этот риск — меняют продукт, полагаясь только на свои инстинкты и гипотезы.

Мы в Badoo не доверяем ощущениям, зато верим цифрам. Суммарно у наших сервисов больше 500 миллионов пользователей, и свой фреймворк для тестирования мы написали довольно давно. За шесть лет через него прошло 2962 теста, и A/B-тестирование доказало свою важность, надёжность и результативность.



Но в этой статье я расскажу не о том, как работает наша система. На это не хватит одной статьи. Кроме того, многие вещи специфичны для нашей компании и не подойдут другим. Сегодня я расскажу об эволюции наших представлений об A/B-тестах: на какие грабли мы наступали в процессе и как проверяли корректность работы тестов. Это статья для тех, кто ещё не начал тестировать, но думает об этом, а также для тех, кто не уверен в своей системе тестов.
Читать дальше →
Total votes 47: ↑47 and ↓0+47
Comments6

SHISHUA: самый быстрый в мире генератор псевдослучайных чисел

Reading time14 min
Views16K

Полгода назад мне захотелось создать лучший генератор псевдослучайных чисел (ГПСЧ) с какой-нибудь необычной архитектурой. Я думал, что начало будет лёгким, а по мере работы задача станет медленно усложняться. И думал, смогу ли я научиться всему достаточно быстро, чтобы справиться с самым сложным.

К моему удивлению, сложность возрастала не линейно. Побайтовое тестирование по критерию хи-квадрат оказалось очень трудным! Позднее столь же трудно было пройти тесты diehard. Я опубликовал текущие результаты, чтобы понять, какие ещё трудности меня ожидают. Однако тест PractRand в тот раз пройти не удалось.

Затем было очень трудно прохождение теста BigCrush.

Затем было очень трудно передавать 32 тебибайта данных при прохождении PractRand. Скорость стала проблемой. Мало было создать конструкцию, генерирующей десять мегабайтов в секунду, потому что прохождение PractRand заняло бы месяц. Но должен признаться, что пройти этот тест со скоростью гигабайт в секунду было очень трудно.
Читать дальше →
Total votes 89: ↑87 and ↓2+85
Comments16

Исследуем электромагнитные поля с помощью SDR приемника и OpenCV

Reading time10 min
Views28K


SDR-приемник, даже самый дешёвый, является весьма высокочувствительным приборчиком. Если добавить к нему специальную антенну и OpenCV, то можно будет не только привычно слушать эфир, но и посмотреть на распределение электромагнитных полей в пространстве. О таком интересном применении и пойдет речь в данной статье. Внимание! Под катом много картинок и анимации!
Читать дальше →
Total votes 102: ↑101 and ↓1+100
Comments28

Пузырьковый дисплей на ардуино

Reading time3 min
Views23K

Всем привет!

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

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

Для устранения одной из этих проблем, я заказал акриловые перегородки, изготовленных на лазерной резке.
Total votes 53: ↑53 and ↓0+53
Comments44
1

Information

Rating
Does not participate
Works in
Registered
Activity