Месяц: Январь 2021

  • OAuth 2.0 -> OAuth 2.1. Что дальше?

    от автора

    Архитекторы ничего не выдумывают. Они трансформируют реальность. Алваро Сиза Виэйра Много всего уже сказано и написано про фреймворк авторизации OAuth 2.0 с 2012 года. И, казалось бы, все давно его знают, используют, все должно работать надежно и безопасно. Но, как обычно, на практике все иначе. В работе в реальности приходится сталкиваться с небезопасными реализациями процессов…

  • Строгая десериализация YAML в Python c библиотекой marshmallow

    от автора

    Исходная задача Необходимо прочитать нетривиальный конфиг из .yaml файла. Структура конфига описана с помощью дата-классов. Необходимо, чтобы при десериализации были выполнены проверки типов, и, если данные невалидны, было брошено исключение. То есть, проще говоря, нужна функция вида: def strict_load_yaml(yaml: str, loaded_type: Type[Any]): """ Here is some magic """ pass И эта функция будет использоваться следующим…

  • Метапрограммирование в реальной задаче

    от автора

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

  • ATEN и Zyxel: вместе — это больше, чем каждый сам по себе (продолжение)

    от автора

    Ранее мы писали о тестировании совместных разработок для AV‑over‑IP от ATEN и Zyxel. В этой статье мы продолжим разговор и представим результаты проверки устройств IP KVM-удлинителя 4K от компании ATEN с передачей видео-трафика по LAN коммутаторам Zyxel с поддержкой технологии Networked AV.

  • Быстрый, простой, сложный: как мы выпилили Realm

    от автора

    Когда на собеседованиях я спрашиваю у кандидата с какими базами он работал и что делал, то чаще всего слышу про Realm. Типичный ответ: он быстрее и с ним проще работать, создал конфиг, описал модель, готово. Но за все удобства Realm придётся расплачиваться: он вроде бы решает одну проблему, но тут же добавляет пару своих. А…

  • Black-Box Optimization Challenge, или как подбирать гиперпараметры для моделей

    от автора

    Всем привет! В этом посте я расскажу, как наша команда участвовала и заняла третье место в Black-Box Optimization Challenge — соревновании по автоматическому подбору параметров для моделей машинного обучения. Особенность соревнования в том, что алгоритм не знает, какая модель машинного обучения используется, какую задачу она решает, и за что отвечает каждый из оптимизируемых параметров. Звучит…

  • Распознавание речи с помощью инструментов машинного обучения

    от автора

    В своей работе я столкнулся с необходимостью проверить записи звонков на соблюдение сотрудниками скрипта разговора с клиентами. Обычно для этого выделяется сотрудник, который тратит большое количество времени на прослушивание записей разговоров. Мы поставили себе задачу — уменьшить временные затраты на проверку с помощью инструментов автоматического распознавания речи (ASR). Один из таких инструментов мы рассмотрим подробнее.Nvidia…

  • Кабинет на квадратном метре

    от автора

    С марта работаю дома. Недостатки импровизированного рабочего места стали сказываться на осанке. Надо устроиться поудобнее.ПожеланияМне мешает боковой свет и колебания естественного освещения. Светило то всходит, то прячется, то заглядывает назойливо. Хочу фиксированный ambient light.У меня большой монитор. Габариты подставки не позволяют поставить его на комфортном расстоянии на обычном столе.Мне нужна высокая (81 см.) столешница с…

  • Оптимизация микросервиса на Go на живом примере

    от автора

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

  • Работа с асинхронностью в Dart

    от автора

    Всем привет! Меня зовут Дмитрий Репин, я Flutter-разработчик в Surf.В этой статье я расскажу, как работать с асинхронностью в Dart: всё о самых важных классах библиотеки dart:async с примерами под катом. Поговорим о том, как в однопоточном языке сходить в сеть или базу данных и при этом не затормозить приложение. Эта статья написана по материалам…