Pull to refresh
12
0
Александр Шатилов @alexbraun

Tech Lead using Angular & .net

Send message

Что за зверь — аффинные преобразования?

Reading time4 min
Views68K

Скорее всего, каждый из Вас хоть раз в жизни слышал термин «аффинные преобразования». Действительно, все постоянно о них говорят: «инвариантность к аффинным преобразованиям», «аугментация с помощью аффинных преобразований», «аффинные преобразования в компьютерной графике» и так далее. Однако, далеко не все могут сходу ответить на простой вопрос: «А расскажите, что такое аффинные преобразования простыми словами».

Вы сможете? В любом случае, давайте немного обсудим этот вопрос.

Читать далее

Я поучился проходить интервью с помощью нового ИИ от Google. Это страннее, чем кажется

Reading time5 min
Views21K

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

Читать далее

Три слоя градиента одного слайдера

Reading time11 min
Views6.9K

Мы в Тинькофф разрабатываем библиотеку Taiga UI: в ней сотни полезных компонентов, директив и сервисов. При разработке нам важно уделять внимание вопросу поддерживаемости кода, поэтому мы стараемся не писать лишнего кода и искать решения, работающие на нативных рельсах браузеров.

В статье поговорим про одно из таких решений — написание Angular-компонента Slider с помощью встроенных инструментов  браузеров и с минимальным использованием Javascript. Расскажу про доступность, интересное решение с многослойным градиентом, немного CSS-хитростей и даже чуть-чуть про Change Detection в Angular.

Читать далее

Методика машинного обучения Human-in-the-Loop

Reading time9 min
Views8.7K

Human-in-the-loop AI — это технология автоматизации, устраняющая многие проблемы разработки и внедрения машинного обучения.

Большинство проектов создания ИИ завершается провалом. 80% никогда не доберётся до стадии внедрения. Ещё большее количество никогда не вернёт вложенные в них инвестиции. Проблема заключается в том, что разработка ИИ — это процесс экспериментирования, однако при традиционном подходе об этом забывают.

Многие команды разработчиков сегодня начинают применять технологию под названием human-in-the-loop AI (HITL). Технология подразумевает, что можно быстро развернуть работающую модель с меньшим количеством данных и с гарантированно качественными прогнозами. Это похоже на чудо, но в своей статье мы расскажем, что такое HITL и как вы можете использовать эту технологию в собственных проектах разработки ИИ.

Если говорить в общих чертах, при HITL система ИИ и команда людей совместно работают над реализацией задачи.
Читать дальше →

Как разработать фронтенд, чтобы не ночевать на заводе

Reading time8 min
Views10K

Компания Datana занимается разработкой цифровых решений для оптимизации производственных процессов черной металлургии (подробнее в нашем блоге). Сейчас мы расскажем об опыте повышения стабильности и отказоустойчивости фронтендов наших систем или о том, как мы избавились от необходимости ночевать в цехе завода, чтобы вовремя нажать F5.

Читать далее

Видеозвонки с виртуальным фоном и опенсорсные инструменты

Reading time11 min
Views38K
Сейчас, когда многие из нас находятся на карантине из-за COVID-19, видеозвонки стали куда более частым явлением, чем раньше. В частности, сервис ZOOM неожиданно стал очень популярным. Вероятно, самой интересной возможностью Zoom является поддержка виртуального фона (Virtual Background). Она позволяет пользователям, в интерактивном режиме, заменять фон, находящийся позади них, на любое изображение или видео.



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

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

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

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

Доступно о криптографии на эллиптических кривых

Reading time37 min
Views285K
image


Тем, кто знаком с криптографией с открытым ключом, наверно известны аббревиатуры ECC, ECDH и ECDSA. Первая — это сокращение от Elliptic Curve Cryptography (криптография на эллиптических кривых), остальные — это названия основанных на ней алгоритмов.

Сегодня криптосистемы на эллиптических кривых используются в TLS, PGP и SSH, важнейших технологиях, на которых базируются современный веб и мир ИТ. Я уже не говорю о Bitcoin и других криптовалютах.

До того, как ECC стала популярной, почти все алгоритмы с открытым ключом основывались на RSA, DSA и DH, альтернативных криптосистемах на основе модулярной арифметики. RSA и компания по-прежнему популярны, и часто используются вместе с ECC. Однако несмотря на то, что магия, лежащая в фундаменте RSA и подобных ей алгоритмов легко объяснима и понятна многим, а грубые реализации пишутся довольно просто, основы ECC всё ещё являются для большинства людей загадкой.

В этой серии статей я познакомлю вас с основами мира криптографии на эллиптических кривых. Моя цель — не создание полного и подробного руководства по ECC (в Интернете полно информации по этой теме), а простой обзор ECC и объяснение того, почему её считают безопасной. Я не буду тратить время на долгие математические доказательства или скучные подробности реализации. Также я представлю полезные примеры с визуальными интерактивными инструментами и скриптами.
Читать дальше →

Что такое Web3? Децентрализованный Интернет будущего

Reading time9 min
Views103K

Если вы читаете эту статью, значит, вы являетесь участником современного Интернета. Интернет, с которым мы сталкиваемся сегодня, значительно отличается от того, каким он был всего 10 лет назад. Как развивался веб, и, что более важно, куда он движется дальше? И почему все это очень важно?

Если история нас чему-то научила, то эти изменения будут иметь большое значение в будущем.

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

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

Читать далее

Математические основы биткойн-блокчейна

Reading time5 min
Views65K
Сегодня биткойн продолжает набирать популярность, а индустрия разрабатывать все новые приложения для работы с криптовалютой. Одной из причин такой популярности является строгая математическая база, на которой строится биткойн.

Благодаря этому система функционирует в условиях полного отсутствия доверия между участниками сети, исключая воздействие человеческого фактора.

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

Читать дальше →

«Криптография в блокчейнах»: о хеш-функциях, ключах и цифровых подписях

Reading time5 min
Views44K
Криптография — это сердце блокчейна, которое обеспечивает работу системы. Архитектура блокчейна предполагает, что доверие между участниками сети базируется на принципах математики и экономики, то есть является формализованным. Криптография также гарантирует безопасность, причем основанную на прозрачности и проверяемости всех операций, а не на традиционном для индустрии ограничении видимости системы (perimeter security).

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

Читать дальше →

Делаем приём платежей криптовалютой своими руками

Reading time8 min
Views82K

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


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


В этой статье я постараюсь максимально подробно, без акцента на каком-либо языке программирования, описать, как сделать приём платежей Bitcoin (а также, при желании — Litecoin, Dash, Bitcoin Cash, Steep, ONION и т.п.), начиная с разворачивания полной ноды и заканчивания проверкой поступления платежа.

Читать дальше →

Что такое проблема оракулов в блокчейн?

Reading time10 min
Views8K

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

Смарт-контракты представляют огромный потенциал преобразить то, как независимые структуры вступают в контрактные обязательства и производят платежи. Отдельно от индустрии смарт-контрактов, мы имеем огромную традиционную цифровую экономику, состоящую из множества устройств, связанных с помощью интернета, и производящих вычисления онлайн. Производный продукт такой цифровой инфраструктуры — постоянно увеличивающийся объем данных и API, который дает представление о том как все в нашем мире работает; например, результаты поиска, выдающие самые популярные темы, или сенсоры IoT (Internet of Things или Интернет Вещей) предлагающие наиболее распространенные модели трафика.

Смарт-контракты построенные на блокчейн и традиционные базы данных и API имеют огромный потенциал для объединения в гибридные смарт-контракты и создания новой архитектуры для автоматизации баз данных. Но как связать эти два мира? В этом и заключается “Проблема оракулов” — главная тема этой статьи.

Статья разделена на пять частей:

Читать далее

Angular Universal: работа в крупном e-commerce

Reading time10 min
Views7.6K

Привет, меня зовут Дмитрий Дружков, я тимлид фронтенд команды в Утконос Онлайн. В этой статье я расскажу, чем полезен Angular Universal в e-commerce проектах, как выбрать вид рендеринга, как выглядит первоначальная настройка технологии на примере нашего сайта и шаги по ускорению, а также раскрою плюсы и минусы Universal. Статья будет интересна тем, кто:

Читать далее

React 18. Что нового?

Reading time6 min
Views24K

Эта статья — перевод основных изменений версии реакта 18.0.0.

Также я веду телеграм канал “Frontend по-флотски”, где рассказываю про интересные вещи из мира разработки интерфейсов.

Читать далее

Как Discord реализовал навигацию клавиатурой по всему приложению

Reading time10 min
Views9.5K

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

Далее по катом.

Читать далее

Передаём GPU-буферы напрямую в TensorFlow Lite

Reading time7 min
Views3.7K

Привет, Хабр! Меня зовут Олег, я работаю с машинным обучением в VK Видео, внедряю нейросети в Клипы ВКонтакте для создания эффектов дополненной реальности. В статье расскажу, как запустить TensorFlow Lite сетку с передачей GPU-буферов — как входного, так и выходного. Этот подход помогает сэкономить на пересылке данных между CPU- и GPU- памятью, когда данные уже находятся в GPU-памяти и модель применяется с помощью GPU-делегата TensorFlow Lite. 

Весь процесс покажу на примере реализации для Android, код можно найти в моём GitHub-репозитории.

Читать далее

Бесплатный Telegram-бот для расшифровки аудио. Рассказываем кратко, как мы его сделали

Reading time3 min
Views88K

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

Читать далее

JavaScript редактор диаграмм, который открывает диаграммы из PNG картинок (open source)

Reading time3 min
Views8.1K

dgrm.net | GitHub

dgrm.net - это редактор диаграмм, с прицелом на трансформацию в карту знаний.

Отличительные особенности:
- аскетичность,
- работает на телефонах (одно из немногих web-решений),
- открытый исходный код.

В процессе разработки появляются интересные моменты. Статья про один из таких моментов: чтение данных из PNG.
Исходный код для использования в своих проектах прилагается.

Читать далее

Как отлаживать WebRTC

Reading time11 min
Views41K
В Voximplant мы используем WebRTC с момента ее появления: сначала как альтернативу Flash для голосовых и видеозвонков, а затем как полную замену. Технология прошла долгий и болезненный путь развития, только недавно ее стали поддерживать все основные браузеры, есть сложности с передачей экрана, нескольких видеопотоков, а иногда браузер падает просто если выключить и включить видеопоток. Накопленный опыт позволяет переводить для Хабра интересные статьи, и сегодня мы передаем слово Ли Сильвестру из Xirsys, который расскажет про отладку (видео)звонков в Chrome, Firefox, Safari и Edge. Отлаживать WebRTC непросто, у нас даже есть специальные инструкции по снятию логов в популярных браузерах. А что есть у Ли – вы узнаете под катом (спойлер: много всего, включая WireShark).

Читать дальше →

WebRTC для всех и каждого. Часть 1

Reading time26 min
Views94K



Привет, друзья!


Представляю вашему вниманию первую часть перевода этой замечательной книги по WebRTC. Данная часть посвящена тому, что такое WebRTC, процессу сигнализации и установки соединения (первые 3 части оригинала).


Справедливости ради следует отметить, что на Хабре уже публиковался "вольный" перевод первых 2 частей оригинала (часть 1, часть 2), но автор по какой-то причине решил не продолжать. Я, свою очередь, решил начать с самого начала, без лишних вольностей и сокращений.


Ссылка на вторую часть перевода.


Если вам это интересно, прошу под кат.

Читать дальше →

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity