Короткие видео появились не на пустом месте — за их взрывной популярностью стоит целая история развития мобильных технологий.
Смотрите полный выпуск о том, как радиофизика и мобильная связь изменили наше потребление информации, а больше материалов — в «Истовом инженере»: https://clck.ru/3Uvy6B
Как превратить базу данных в источник уведомлений?
Разработчиков можно разделить на два типа: одни не знают, что так можно сделать, другие пообещали больше так никогда не делать.
Но выглядит это просто: берём LISTEN/NOTIFY в PostgreSQL, пишем триггерную функцию, которая отправляет в канал не всю задачу, а только метаданные, а затем вешаем триггер на AFTER INSERT.
В итоге вставка данных уже сама создаёт уведомление, а приложение потом может спокойно дочитать нужные детали.
Как работает такой подход и когда он действительно полезен — в полном видео.
Когда воркер перестаёт подавать признаки жизни, системе нельзя сразу отбирать у него задачу.
Это похоже на сменщика, который пропал на несколько минут: если сразу передать его работу другому, можно получить два параллельных выполнения и split-brain.
Поэтому важны heartbeat и запас времени. Например, если воркер отправляет heartbeat раз в 10 секунд и может пережить 5 ошибок подряд, у него есть около 50 секунд на попытки. А watcher должен ждать чуть дольше — скажем, 60 секунд, чтобы безопасно забрать задачу только после того, как воркер действительно отвалился.
Почему в таких механизмах всегда нужен небольшой буфер — в полном видео.
Когда сервис вернул 502 или 504, худшее, что можно сделать, — сразу начать повторять запрос.
Это похоже на попытку растормошить перегруженный сервис: чем больше мгновенных повторов, тем выше шанс устроить ему лавину запросов и добить окончательно.
Лучше дать сервису время восстановиться и повторить задачу позже. А если поток аварийно завершился, задача должна вернуться в очередь, а не потеряться.
О правильной обработке ошибок и повторных попытках — в полном видео.
Представьте, что вместо одного похода в архив вы четыре раза бегаете туда-обратно, а дверь всё это время держите закрытой для остальных.
Примерно так работает длинная транзакция: BEGIN, несколько запросов, COMMIT. Пока система ходит туда-сюда, транзакция остаётся открытой и блокирует данные.
Решение — один SQL-запрос: получить задачу, заблокировать, обновить и сразу вернуть нужные поля. Лок держится меньше, сетевой поход один. ORM такой запрос, скорее всего, не соберёт — его придётся писать руками.
Почему иногда стоит отойти от ORM и написать SQL вручную — в полном видео.
Самое сложное — переписать код? Нет. Гораздо труднее понять, что делает старый.
Иногда метод похож на кнопку «получить справку»: ожидаешь просто данные, а он незаметно удаляет старые записи.
Так было и у нас: GetProvisionParams должен был агрегировать параметры для построения маршрута, но при отсутствии MAC-адреса или других данных мог удалить старые маршруты.
О том, как мы разбирались со скрытой логикой legacy-кода — в полном видео.
Представьте конструктор: вы указываете версию схемы, а библиотека от OpenKubernetes сама генерирует структуры и готовый API. Это снимает часть ручных ошибок и ускоряет разработку.
Но в интерфейсе нас ждала особенность: методы Watch и Get. По логике, Watch должен получать данные из кэша, который наполняется при старте и обновляется событиями, а Get — обращаться напрямую к базе данных.
На практике из-за особенностей реализации всё оказалось не совсем так.
Что не так с поведением этой библиотеки и как мы в этом разбирались — в полном видео.
Мы сравнили старую библиотеку на Python и новую на Go: загрузили базу с миллионом записей виртуальных портов и запустили всё в один поток.
Python справился за 235 секунд, а Go — всего за 18. Получили рост производительности более чем в 13 раз.
Подробнее о тесте и переходе на Go — в полном видео.
Для компании Ильи Чеха такой технологией стала 3D-печать. Она позволила создавать кастомные изделия — от сувениров до промышленных деталей.
А затем эту технологию решили применить для создания индивидуальных протезов.
Так появилась идея, которая выросла в отдельное направление.
Полностью этот разговор — в выпуске «Интервью с инженером».
Подробнее — в статье на «Истовом инженере»: https://clck.ru/3VMPFt
Человек просто направляет плечо в нужную точку, а протез сам настраивает положение кисти, пальцев и суставов.Получается, достаточно одного движения и одной мышцы, чтобы взять или отпустить предмет. Насколько естественным может стать такое управление?
Полностью этот разговор — в выпуске «Интервью с инженером».
Подробнее о взглядах Ильи на инженерию, протезирование и будущее технологий — в статье на «Истовом инженере»: https://clck.ru/3VMPFt
В какой-то момент пианист упирается в пределы собственной биомеханики. Но если создать протез, который сможет двигаться быстрее, человек потенциально сможет превзойти даже самого талантливого музыканта.
А где тогда будет проходить граница возможностей человека и технологии?
Полностью этот разговор — в выпуске «Интервью с инженером».
Подробнее о взглядах Ильи на инженерию, протезирование и будущее технологий — в статье на «Истовом инженере»: https://clck.ru/3VMPFt
ИИ уже умеет решать огромное количество задач. Но способен ли он придумать решение проблемы, которой ещё не существует?
Именно здесь, по мнению Ильи Чеха, может находиться главное преимущество человеческого инженера.
Человек способен представить будущее, которого ещё нет, заметить потенциальную проблему и начать искать её решение задолго до того, как она станет реальной.
Но действительно ли ИИ никогда не сможет делать то же самое?
Полностью этот разговор — в выпуске «Интервью с инженером».
А подробнее о взглядах Ильи на инженерию, искусственный интеллект и будущее технологий читайте в статье на «Истовом инженере»: https://clck.ru/3VMPFt
Почему один и тот же умный протез может отлично работать у одного человека и плохо — у другого?
Потому что человеческое тело невозможно просто свести к универсальному набору параметров.
Когда «Моторика» начала работать с оптической системой управления протезом, стало понятно: алгоритм нужно адаптировать под каждого конкретного человека.
И здесь на помощь пришло машинное обучение.
Как нейросеть учится понимать именно ваши движения — и почему без персональной настройки такие технологии пока не работают идеально?
Смотрите продолжение в полном выпуске «Интервью с инженером».
А подробнее о разработках Ильи Чеха читайте в статье на «Истовом инженере»: https://clck.ru/3VMPFt
Как поставить инженерную задачу, решение которой может появиться только через несколько поколений?
Илья Чех рассуждает о том, что понадобится человечеству, чтобы однажды научиться управлять гравитацией и отправиться к другим звёздам.
И его ответ начинается не с космического корабля.
Чтобы решить такую задачу, возможно, придётся на десятилетия вперёд создавать научные институты, менять образование и перестраивать отношение общества к науке.
Звучит масштабно? Полностью этот разговор смотрите в выпуске «Интервью с инженером».
А подробнее о взглядах Ильи на технологии будущего читайте в его статье на «Истовом инженере»: https://clck.ru/3VMPFt
Что, если протез может не просто заменить утраченную функцию, а дать человеку новые возможности?
В «Моторике» экспериментировали с протезами, которые могли раздавать Wi-Fi и даже использоваться для бесконтактной оплаты.
Звучит как фантастика, но за этими функциями стоит гораздо более серьёзная идея: постепенно стирается граница между медицинским устройством и технологическим расширением возможностей человека.
Так где заканчивается протез и начинается киборг?
Об этом Илья Чех рассказывает в полном выпуске «Интервью с инженером».
А больше о его технологиях и взглядах на будущее — в статье на «Истовом инженере»: https://clck.ru/3VMPFt
Что, если выбор профессии всей вашей жизни произошёл просто потому, что вам понравилось название специальности?
Именно так в робототехнику пришёл Илья Чех.
В 2007 году всё выглядело совсем не так, как сегодня: никаких повсеместных кружков робототехники и доступных конструкторов — зато программирование на Паскале и суровая университетская реальность.
Как случайный выбор специальности привёл Илью к созданию «Моторики», а затем — к исследованиям технологий будущего?
Полную историю смотрите в выпуске «Интервью с инженером».
А продолжение истории и мысли Ильи о технологиях читайте в статье на «Истовом инженере»: https://clck.ru/3VMPFt
Как заставить протез понять, каким именно пальцем человек хочет пошевелить?
Для этого инженерам пришлось буквально заглянуть внутрь человеческого тела и научиться считывать сразу множество сигналов: движение мышц, сухожилий, кожи и кровоток.
А затем всё это должен был интерпретировать алгоритм машинного обучения.
Так появилась технология, которая позволила создать протез, способный различать движения отдельных пальцев.
Как именно это работает — смотрите в полном выпуске «Интервью с инженером».
А о других разработках Ильи Чеха читайте в его статье на «Истовом инженере»: https://clck.ru/3VMPFt
Можно ли считать стыд за свой первый продукт признаком хорошего стартапера?
Оказывается, да. Иногда попытка довести продукт до идеала может привести к тому, что вы просто опоздаете с выходом на рынок.
Илья Чех рассказывает, почему первый хороший протез «Моторики» был продуктом, за который команде было немного стыдно — и почему это на самом деле хороший знак.
Полный разговор с Ильёй — в выпуске «Интервью с инженером». А подробнее о его пути и проектах читайте в статье Ильи на «Истовом инженере»: https://clck.ru/3VMPFt
Открытые проекты с большой историей — подходящая цель для моделей.
Хотите работать в этой области? Посмотрите, какие возможности здесь открывает YADRO https://clck.ru/3VSrP5
QEMU умеет отматывать исполнение назад.
Хотите работать в этой области? Посмотрите, какие возможности здесь открывает YADRO https://clck.ru/3VSrP5
