Pull to refresh
30
0

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

Send message

Как мы научили ИИ смотреть кино

Reading time 7 min
Views 5K


Привет, Хабр! Меня зовут Алексей Мельников, я продакт онлайн-кинотеатра KION, который МТС запустил в апреле прошлого года. Отвечаю за направление искусственного интеллекта (ИИ) в продукте. В этой статье я расскажу о том, как работает фича пропуска титров и заставок в онлайн-кинотеатрах и поделюсь личным опытом привлечения ИИ к этому делу.
Читать дальше →
Total votes 14: ↑14 and ↓0 +14
Comments 13

Особенности защиты веб-приложений с помощью WAF

Reading time 7 min
Views 5.3K
Бизнесу важно любой ценой сократить time to market цифровых продуктов. Нет времени объяснять защищать — выпускаем новый релиз. Так зачастую бывает с веб-приложениями. При их разработке или развитии вопросы безопасности отодвигаются на второй план. Это приводит к уязвимостям в коде, слабым параметрам аутентификации пользователей, недостаткам контроля доступа и т.д. И целого поста на Хабре не хватит, чтобы рассказать обо всех проблемах.



Уязвимости — это рабочая неизбежность, ведь задача бизнеса — выпустить новый функционал веб-приложений в заданные сроки, когда нет места идеальному результату без временных ограничений.
Читать дальше →
Total votes 4: ↑4 and ↓0 +4
Comments 0

ArchOps и как мы до него дошли

Reading time 9 min
Views 5.9K
Всем привет! Недавно у нас в MTS DIgital прошла десятая научно-техническая конференция Hello, conference!, докладами с которой хотелось бы поделиться с сообществом. В этой статье руководитель центра RnD MTS Digital Дмитрий Дзюба и руководитель направления системной архитектуры MTS Digital Александр Петрухина расскажут про ArchOps.


Для любителей видео доклады с конференции доступны в записи.
Читать дальше →
Total votes 4: ↑4 and ↓0 +4
Comments 0

Active Design Review. Как согласовать архитектуру и не разругаться

Reading time 6 min
Views 5.1K

Привет, Хабр! Меня зовут Олег Сало, я ведущий архитектор MTS Digital в центре IT-продуктов клиентского опыта B2C. Уже достаточно давно я занимаюсь разработкой и проектированием корпоративных информационных систем, в основном в области  CRM и Customer Experience.

В больших компаниях архитектура любого уровня (Enterprise/Solution/Application) - всегда предмет горячих споров и обсуждений, как минимум потому, что каждое архитектурное решение затрагивает большое количество команд. И с мнением каждой команды нужно считаться, иначе вероятность превратить архитектуру в работающее решение стремится к нулю.

Сегодня я бы хотел рассказать про такую интересную технику, как Active Design Review, как мы ее попробовали применить у нас в компании и что из этого вышло.

Читать далее
Total votes 8: ↑7 and ↓1 +6
Comments 1
Только пользователи привыкли к гигантским облакам от корпораций, как появилось маленькое, уютное и «домашнее» облако — Microsoft Azure Stack. Осенью мы представили свой новый инструмент, который позволит построить собственное облако с сервисами Azure в собственном дата-центре. В рамках поддержки нового продукта 30 ноября состоится конференция «Платформа цифрового бизнеса», а пока мы разберем, чем примечателен Azure Stack, и немножко погрузимся в кодинг.
Подробности – под катом
Total votes 23: ↑23 and ↓0 +23
Comments 1

WI-FI в метро: архитектура сети и подземные камни

Reading time 7 min
Views 72K

Всего за пару лет поездка москвича в метро перестала быть ежедневной рутиной. Если раньше единственным развлечением в подземке были чтение книг, прессы и MP3-плеер, то теперь к ним добавились онлайн-шоппинг, просмотр сериалов, деловая переписка, даже знакомства в Tinder и квесты. А все благодаря появлению в метро бесплатной сети Wi-Fi. Порядка 80% москвичей регулярно подключаются к сети MT_FREE в метро, не задумываясь, как это работает и чьими силами это сделано. Бытует мнение, что Wi-Fi в метро “провел” сам метрополитен, но это не совсем верно. Беспроводная сеть — это проект “МаксимаТелеком”. Для компании это был первый опыт строительства высокоскоростной сети Wi-Fi с уникальными в мировой практике инженерными и техническими решениями. В этом посте мы расскажем, как организована сеть Wi-Fi в метро Москвы.
 
Читать дальше →
Total votes 102: ↑99 and ↓3 +96
Comments 295

Руководство по работе с Redux

Reading time 80 min
Views 283K
Сегодня Redux — это одно из наиболее интересных явлений мира JavaScript. Он выделяется из сотни библиотек и фреймворков тем, что грамотно решает множество разных вопросов путем введения простой и предсказуемой модели состояний, уклоне на функциональное программирование и неизменяемые данные, предоставления компактного API. Что ещё нужно для счастья? Redux — библиотека очень маленькая, и выучить её API не сложно. Но у многих людей происходит своеобразный разрыв шаблона — небольшое количество компонентов и добровольные ограничения чистых функций и неизменяемых данных могут показаться неоправданным принуждением. Каким именно образом работать в таких условиях?

В этом руководстве мы рассмотрим создание с нуля full-stack приложения с использованием Redux и Immutable-js. Применив подход TDD, пройдём все этапы конструирования Node+Redux бэкенда и React+Redux фронтенда приложения. Помимо этого мы будем использовать такие инструменты, как ES6, Babel, Socket.io, Webpack и Mocha. Набор весьма любопытный, и вы мигом его освоите!
Читать дальше →
Total votes 65: ↑59 and ↓6 +53
Comments 51

Исследуем «Ревизор» Роскомнадзора

Reading time 17 min
Views 177K
ФСБшник хороший
Aqua Mine
Ревизор — программно±аппаратный комплекс для мониторинга доступа к сайтам из реестра со стороны провайдеров — берет свое начало в октябре 2015 года, когда компания «МФИ Софт», та же компания, что сделала СОРМы, выиграла тендер на разработку ПО за 84 миллиона рублей. Согласно условиям тендера, разработчик должен был предоставить работоспособное ПО под Windows и Linux и 700 аппаратных «Агентов» в срок до 14.12.2015, всего через 2.5 месяца, и, похоже, все было готово даже на пару недель раньше дедлайна. Провайдерам в добровольно-принудительном порядке уже в начале декабря предлагалось установить один из трех вариантов Ревизора: в виде образа виртуальной машины VMWare, основанной на OpenWRT 14.07, в виде программы-сервиса под Windows, либо же в виде железного «Агента», который представлял из себя маршрутизатор TP-Link MR3020 с установленным на него OpenWRT и необходимым ПО. Многие провайдеры отказывались от установки комплекса из-за того, что он не сертифицирован, а использоваться будет только им во вред, а другим устройств просто не досталось, и им пришлось установить софтовую версию.

Итак, у меня в руках последняя версия VMWare-образа и exe-файла Ревизора. Давайте же посмотрим, что внутри!
image
Читать дальше →
Total votes 191: ↑191 and ↓0 +191
Comments 292

Эффективное кодирование видео в Linux c Nvidia NVENC: часть 2, дополнительная

Reading time 7 min
Views 25K


В первой части я рассказал о кодировании видео в Linux с использованием Nvidia NVENC. Как уже упоминалось ранее, Nvidia для десктопных видеокарт ограничивает количество потоков кодирования до двух сессий на систему. Данная часть посвящена борьбе с этим ограничением.
Читать дальше →
Total votes 23: ↑22 and ↓1 +21
Comments 20

Эффективное кодирование видео в Linux c Nvidia NVENC: часть 1, общая

Reading time 4 min
Views 28K

Эта статья содержит практические сведения, полезные для организации эффективного кодирования видео на Linux с использованием последних видеопроцессоров Nvidia.
Чем не является эта статья:
  • Не является пособием по выбору технологии аппаратного кодирования или агитацией в пользу описываемой. Кроме Nvidia NVENC есть Intel QuickSync, есть AMD VCE, наверняка есть и ещё что-то. Все эти технологии имеют разные характеристики, которые трудно даже уложить на одну шкалу для сравнения. Тем не менее, я сделал свой выбор.
  • Не является претензией на самый быстрый/качественный способ кодирования. По причинам, указанным выше.
Читать дальше →
Total votes 20: ↑18 and ↓2 +16
Comments 21

Spotify: формирование интерфейса пользователя

Reading time 1 min
Views 6.3K
17 ноября прошлого года мы провели вторую конференцию мобильных разработчиков MBLTdev, на которой собрали экспертов из Spotify, Runkeeper, Wunderlist, Rambler, Soundcloud, Kaspersky Lab, Parallels и многих других мировых IT-компаний. Мы решили рассказать о наиболее ярких и интересных докладах с конференции. И начнем с презентации iOS-разработчика шведской компании Spotify Гектора Зарате о формировании интерфейса пользователя.


Презентация
Читать дальше →
Total votes 7: ↑7 and ↓0 +7
Comments 1

Захват пакетов в Linux на скорости десятки миллионов пакетов в секунду без использования сторонних библиотек

Reading time 8 min
Views 85K
Моя статья расскажет Вам как принять 10 миллионов пакетов в секунду без использования таких библиотек как Netmap, PF_RING, DPDK и прочие. Делать мы это будем силами обычного Линукс ядра версии 3.16 и некоторого количества кода на С и С++.



Сначала я хотел бы поделиться парой слов о том, как работает pcap — общеизвестный способ захвата пакетов. Он используется в таких популярных утилитах как iftop, tcpdump, arpwatch. Кроме этого, он отличается очень высокой нагрузкой на процессор.

Итак, Вы открыли им интерфейс и ждете пакетов от него используя обычный подход — bind/recv. Ядро в свою очередь получает данные из сетевой карты и сохраняет в пространстве ядра, после этого оно обнаруживает, что пользователь хочет получить его в юзер спейсе и передает через аргумент команды recv, адрес буфера куда эти данные положить. Ядро покорно копирует данные (уже второй раз!). Выходит довольно сложно, но это не все проблемы pcap.

Кроме этого, вспомним, что recv — это системный вызов и вызываем мы его на каждый пакет приходящий на интерфейс, системные вызовы обычно очень быстры, но скорости современных 10GE интерфейсов (до 14.6 миллионов вызовов секунду) приводят к тому, что даже легкий вызов становится очень затратным для системы исключительно по причине частоты вызовов.

Также стоит отметить, что у нас на сервере обычно более 2х логических ядер. И данные могут прилететь на любое их них! А приложение, которое принимает данные силами pcap использует одно ядро. Вот тут у нас включаются блокировки на стороне ядра и кардинально замедляют процесс захвата — теперь мы занимаемся не только копированием памяти/обработкой пакетов, а ждем освобождения блокировок, занятых другими ядрами. Поверьте, на блокировки может зачастую уйти до 90% процессорных ресурсов всего сервера.

Хороший списочек проблем? Итак, мы их все геройски попробуем решить!
Читать дальше →
Total votes 113: ↑112 and ↓1 +111
Comments 77

GitHub Cheat Sheet

Reading time 2 min
Views 19K
Привет, Хабр! В очередной раз на глаза попался очень интересный репозиторий. Эта шпаргалка по самым тайным и функциональным возможностям Git и GitHub появилась благодаря выступлениям Зака Холмана одну из статей которого я уже переводил Git and GitHub Secrets на Aloha Ruby Conference 2012 и More Git and GitHub Secrets на WDCNZ 2013. Стоит сказать о том, что проект набрал свыше 1000 старов менее чем за 12 часов. Приведу несколько примеров:

Hub — Git Wrapper


Hub — это оболочка над Git, которая сокращает потраченное время на лишнее нажатии клавиш при работе с Git.
$ hub clone tiimgreen/toc
> git clone https://github.com/tiimgreen/toc.git

На hub можно сделать алиас git и все будет выглядеть еще удобнее:
# Remote
$ git remote add rtomayko
> git remote add rtomayko git://github.com/rtomayko/CURRENT_REPO.git

#Fetch
$ git fetch mislav
> git remote add mislav git://github.com/mislav/REPO.git

#Fork
$ git fork
[ repo forked on GitHub ]
> git remote add -f YOUR_USER git@github.com:YOUR_USER/CURRENT_REPO.git


Читать дальше →
Total votes 46: ↑43 and ↓3 +40
Comments 8

Документируем код эффективно при помощи Doxygen

Reading time 18 min
Views 342K


Данная статья входит в получившийся цикл статей о системе документирования Doxygen:

  1. Документируем код эффективно при помощи Doxygen
  2. Оформление документации в Doxygen
  3. Построение диаграмм и графов в Doxygen

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

В этой статье мы сначала познакомимся с самой системой и её возможностями, затем разберёмся с её установкой и базовыми принципами работы, и, наконец, завершим знакомство рассмотрением различных примеров документации, примеров того, как следует документировать те или иные части кода. Словом, познакомимся со всем тем, что позволит вам освоиться и начать работать с этой замечательной системой.
Читать дальше →
Total votes 52: ↑52 and ↓0 +52
Comments 39

Знакомство с GStreamer: элементы и контейнеры

Reading time 6 min
Views 8.5K
image

И снова здравствуй, хабраюзер, интересующийся фреймворком GStreamer. В прошлой статье было рассказано о том, как инициализировать библиотеку для полноценной работы с ней. А сегодня мы разберем процесс создания элементов и компоновки конвейера. В качестве практического материала будет создан аудиоплеер простенький копир файлов (вроде cp) — да-да, GStreamer настолько суров, что им можно чуть ли не пиво открывать. Итак, вперед!
Читать дальше →
Total votes 9: ↑9 and ↓0 +9
Comments 0

Open Broadcast Encoder

Reading time 4 min
Views 5.7K
Сегодня хочу рассказать о замечательном продукте английской компании Open Broadcast Systems Ltd. Это софтверный энкодер видео-аудио потока.

Я познакомился с этим продуктом на выставке IBC-2013. Там же на конференциях выяснил ряд интересных подробностей о том, откуда «ноги растут». А растут они из EBU и BBC, двух гигантов научно-исследовательской деятельности в сфере теле-радио вещания.

Так чем же является OBE, а чем не является?
Читать дальше →
Total votes 10: ↑10 and ↓0 +10
Comments 5

Linux, Open Source и современное телевидение

Reading time 3 min
Views 24K
Примерно год назад было принято решение о запуске нового телеканала высокой чёткости. Встал вопрос о техническом оснащении имеющейся аппаратной по выпуске SD каналов новым оборудованием. И первое что приходило в голову — расширить имеющийся комплекс Skylark, «докупив» оборудование. Посчитав примерные затраты, руководство пришло в лёгкий шок — цены кусались. И вот тут-то у меня родилась идея, построить эфирный комплекс на Linux.
Читать дальше →
Total votes 50: ↑46 and ↓4 +42
Comments 22

SIVIS — компактный видеостример с HDMI камер в интернет

Reading time 6 min
Views 31K
Мы обычно делаем всякие подвижные штуки на нашей виртурилке и ориентированы на гиков, но внезапно решили попробовать сделать продукт для конечного пользователя. Сейчас мы расскажем о нем чуть подробнее.



Читать дальше →
Total votes 22: ↑18 and ↓4 +14
Comments 59

WoodyMac — деревянный конструктор будущего

Reading time 4 min
Views 202K
Не берусь утверждать что каждый, но во всяком случае — большинство из нас в детстве сталкивались с конструкторами.
Некоторые из них запомнились больше, часть некоторых навсегда остались в «коробочках для гаек» (если мы говорим о железном конструкторе «Конструктор»).

И если оставить в стороне «премиальное» на те времена Lego и его китайские заменители из 90-х, остается еще одна ниша — деревянные конструкторы.

Кроме, собственно, классических кубиков — у меня сохранились отчетливые воспоминания о конструкторе «Дом»

image

Однако, прогресс неумолимо приблизился и к ним…

Читать дальше →
Total votes 107: ↑102 and ↓5 +97
Comments 170

Японцы разработали новый тип топливных водородных элементов

Reading time 2 min
Views 67K


Научно-исследовательская группа, в которой участвуют специалисты из трех организаций (Rohm, Aquafairy Corp., Киотский Университет), разработала легкий и практичный топливный водородный элемент. Эти элементы могут служить для зарядки смартфонов и прочих портативных устройств. По сравнению с прочими топливными элементами и аккумуляторами новое изобретение обладает рядом преимуществ.

Читать дальше →
Total votes 45: ↑43 and ↓2 +41
Comments 34

Information

Rating
Does not participate
Location
Россия
Works in
Date of birth
Registered
Activity