Pull to refresh
8
0
Попов Олег @livelace

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

Как мы в Dropbox перешли с Nginx на Envoy

Reading time 26 min
Views 47K

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


Читать дальше →
Total votes 99: ↑97 and ↓2 +95
Comments 69

Прием всего Bluetooth разом на SDR с CUDA? Легко

Reading time 4 min
Views 8.7K

В последнее время коллеги по "цеху" независимо друг от друга стали спрашивать меня: как получить c одного SDR-приемника одновременно все каналы Bluetooth? Полоса ведь позволяет, есть SDR с выходной полосой 80 МГц и более. Можно, конечно, сделать это на ПЛИС, но время такой разработки будет довольно большим. Мне давно было известно, что сделать такое на GPU довольно просто, но чтобы так!

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

Отладка cети с помощью eBPF (RHEL 8 Beta)

Reading time 7 min
Views 6.9K
Всех с прошедшими праздниками!

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

Автор статьи: Matteo Croce
Оригинальное название: Network debugging with eBPF (RHEL 8 Beta)


Введение

Работа с сетью — увлекательное занятие, но избежать проблем удается не всегда. Устранение неполадок может быть сложным занятием, также как и попытки воспроизвести неправильное поведение, происходящее “в полевых условиях”.

К счастью, существуют инструменты, способные с этим помочь: сетевые пространства имен, виртуальные машины, tc и netfilter. Простые сетевые настройки могут быть воспроизведены с помощью сетевых пространств имен и veth-устройств, в то время как более сложные настройки требуют соединения виртуальных машин программным мостом и использования стандартных сетевых инструментов, например, iptables или tc, для симуляции некорректного поведения. При наличии проблемы с ICMP-ответами, сгенерированными при падении SSH-сервера, iptables -A INPUT -p tcp --dport 22 -j REJECT --reject-with icmp-host-unreachable в правильном пространстве имен может помочь решить проблему.

В этой статье описывается устранение сложных проблем сети с помощью eBPF (extended BPF), расширенной версии Пакетного Фильтра Беркли. eBPF — сравнительно новая технология, проект находится на ранней стадии, поэтому документация и SDK пока не готовы. Но будем надеяться на улучшения, особенно с учетом того, что XDP (eXpress Data Path) поставляется с Red Hat Enterprise Linux 8 Beta, которую можно загрузить и запустить уже сейчас.

eBPF не решит всех проблем, но все равно это мощный инструмент для сетевой отладки, который заслуживает внимания. Уверен, он будет играть действительно важную роль в будущем сетей.

Читать дальше →
Total votes 27: ↑26 and ↓1 +25
Comments 3

Ещё раз про семь основных методологий разработки

Reading time 8 min
Views 954K
Разработка программного продукта знает много достойных методологий — иначе говоря, устоявшихся best practices. Выбор зависит от специфики проекта, системы бюджетирования, субъективных предпочтений и даже темперамента руководителя. В статье описаны методологии, с которыми мы регулярно сталкиваемся в Эдисоне.


Читать дальше →
Total votes 51: ↑38 and ↓13 +25
Comments 48

Как отбрасывать 10 миллионов пакетов в секунду

Reading time 9 min
Views 32K
В компании нашу команду по противостоянию DDoS-атакам называют «отбрасыватели пакетов» (the packet droppers — прим. пер). Пока все остальные команды делают клёвые штуки с проходящим через нашу сеть трафиком, мы развлекаемся поиском новых способом избавиться от него.


Фотография: Brian Evans, CC BY-SA 2.0

Умение быстро отбрасывать пакеты очень важно в противостоянии DDoS-атакам.

Отбрасывание пакетов, достигающих наших серверов, может быть выполнено на нескольких уровнях. Каждый способ имеет свои плюсы и минусы. Под катом мы рассмотрим всё, что мы опробовали.
Читать дальше →
Total votes 53: ↑52 and ↓1 +51
Comments 29

Изучаем синтаксические парсеры для русского языка

Reading time 19 min
Views 36K
Привет! Меня зовут Денис Кирьянов, я работаю в Сбербанке и занимаюсь проблемами обработки естественного языка (NLP). Однажды нам понадобилось выбрать синтаксический парсер для работы с русским языком. Для этого мы углубились в дебри морфологии и токенизации, протестировали разные варианты и оценили их применение. Делимся опытом в этом посте.


Читать дальше →
Total votes 33: ↑32 and ↓1 +31
Comments 39

Glusterfs + erasure coding: когда надо много, дешево и надежно

Reading time 8 min
Views 14K
Гластер в России мало у кого есть, и любой опыт интересен. У нас он большой и промышленный и, судя по дискуссии в прошлом посте, востребованный. Я рассказывал о самом начале опыта переноса бекапов с Enterprise хранилища на Glusterfs.

Это недостаточно хардкорно. Мы не остановились и решили собрать что-то более серьёзное. Поэтому здесь речь пойдёт о таких вещах, как erasure coding, шардинг, ребалансировка и её троттлинг, нагрузочное тестирование и так далее.



  • Больше теории волюмы/сабволюмы
  • hot spare
  • heal / heal full / rebalance
  • Выводы после ребута 3 нод (никогда так не делайте)
  • Как влияет на нагрузку сабволюма запись с разной скоростью от разных ВМ и shard on/off
  • rebalance после вылета диска
  • fast rebalance

Читать дальше →
Total votes 30: ↑29 and ↓1 +28
Comments 17

Создатель игры while True: learn() о программировании в геймдеве, проблемах с VR и симуляции ML

Reading time 22 min
Views 45K


Несколько лет назад мне казалось, что Олег Чумаков (тогда еще из Nival) был самым известным программистом геймдева. Постоянно выступал, проводил Gamesjam, был частым гостем подкаста Как делают игры.

С появлением на рынке VR, Олег возглавил в компании новое подразделение — NivalVR. Но вы все знаете, с виртуальной реальностью что-то пошло не так, как хотелось.

Я на долгое время отвлекся от геймдева, а взглянув снова, увидел — у команды Олега дела стали только интереснее. Теперь она называется Luden.io и их симулятор специалиста по машинному обучению while True: learn() стал хитом в своей нише, вокруг него творится куча крутых историй.

Мы поговорили с Олегом, но я не смог выбрать только одну тему — слишком уж насыщен и разнообразен был его путь. А чтобы программист говорил о программировании не боясь быть непонятым, беседу поддержал мой друг, коллега и опытный разработчик fillpackart.
Total votes 87: ↑84 and ↓3 +81
Comments 40

Принцип работы свёрточной нейронной сети. Просто о сложном

Reading time 5 min
Views 38K
Глубокие нейронные сети привели к прорыву во множестве задач распознавания образов, таких как компьютерное зрение и распознавание голоса. Сверточная нейронная сеть один из популярных видов нейронных сетей.

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


2D Свёрточная нейронная сеть
Читать дальше →
Total votes 33: ↑26 and ↓7 +19
Comments 11

Простые, но неочевидные, советы по подготовке доклада на крутую конференцию

Reading time 7 min
Views 15K
В этом году мы, как никогда раньше, основательно подходим к работе над программой AppsConf — конференции для разработчиков мобильных приложений. Во-первых, у нас большой и классный программный комитет. Серьезно, чтобы в итоге отобрать около 60 докладов, 20 крутых профессионалов во всех мыслимых областях мобильной разработки работают с заявками уже с апреля месяца. Через их руки (глаза и уши на созвонах) уже прошло более 70 докладов, на основе которых сформировались некоторые советы о том, что для выступления хорошо, а что — плохо.

Советы эти естественно не связаны именно с тематикой конференции, а относятся к любому выступлению от специалиста для специалистов.

Рекомендую к прочтению даже тем, кто стабильно попадает в топ докладчиков, и особенно тем, кто туда стремится. Заодно и познакомимся с некоторыми членами Программного комитета.
Читать дальше →
Total votes 47: ↑42 and ↓5 +37
Comments 7

StereoPi — наша железка для изучения компьютерного зрения, дронов и роботов

Reading time 4 min
Views 21K
Всем привет!

Сегодня я бы хотел рассказать вам о нашей новой железке на базе Raspberry Pi Compute Module, предназначенной для изучения компьютерного зрения и установки на роботов и дронов. По сути это «умная» стереокамера — она поддерживает работу с двумя камерами одновременно, имеет в качестве «сердца» настоящую малину и, самое важное – работает со стоковой версией Raspbian.
Вот как выглядит собранное решение, с установленными двумя камерами и Pi Compute модулем.

image
Читать дальше →
Total votes 39: ↑39 and ↓0 +39
Comments 59

Разгоняем бэкап. Лекция Яндекса

Reading time 9 min
Views 17K
Несколько ближайших лекций будут по мотивам первого Я.Субботника по базам данных, который состоялся весной. Сначала на Я.Субботнике выступил разработчик Андрей Бородин. Он рассказал о WAL-G — простом и эффективном инструменте для резервного копирования PostgreSQL в облако, а также об алгоритмах и технологиях, которые позволяют WAL-G создавать бэкапы быстрее. Главная особенность WAL-G — дельта-бэкапы. Из лекции вы узнаете об их реализации и о том, как поддержка этой технологии развивается в PostgreSQL.


— Привет! Я разработчик в Яндексе из Екатеринбурга. К технологиям быстрого бэкапа. Бэкапом мы занимаемся довольно давно, были доклады Владимира Бородина и Евгения Дюкова о том, как мы исследуем и что разрабатываем, чтобы хранить данные безопасно, надежно, удобно и эффективно. Эта серия посвящена последним наработкам в указанной области.

Поговорим про бэкапы в PostgreSQL в принципе. Стандартная утилита для переноса данных — pg_dump — определяется как консольная утилита, создающая файл с логическим представлением ваших данных.
Total votes 38: ↑37 and ↓1 +36
Comments 0

Про рынок ИТ в России по-честному

Reading time 16 min
Views 158K
В последние несколько лет мои переживания по поводу российского рынка ИТ только усиливались. Все началось с кризиса рубля 2014 года (а может, и раньше), и с тех пор меня не покидает ощущение, что многие российские компании, особенно провинциальные, завязали себе глаза, заткнули ватой уши и все еще пытаются сделать вид, что ничего не происходит. Я много общался с разными компаниями, с HR, с разработчиками, и составил список неутешительных тезисов о том, что представляет собой как программистский рынок, так и культура разработки в целом, ведь это вещи взаимосвязанные. По моим субъективным оценкам, эти тезисы справедливы для ~60% российских компаний, хотя, казалось бы, те другие 40% компаний, которые мы знаем и любим, должны были заставить задуматься. Но я очень подозреваю, что это эти 60% просто надеются на русский “авось”, и подвергаются так называемой willful blindness, а иногда и намеренно мутят воду. Итак, по-честному, что же происходит?

Дисклеймер 1. Ни ссылок, ни имен, ни пруфов не будет. Как известно, в Интернете можно найти подтверждение или опровержение любому тезису, поэтому не вижу большого в том смысла, покуда это не диссертация, а мнение. Моя цель — предоставить другую точку зрения, основанную на личностном опыте веры на личном опыте.

Дисклеймер 2. В статье приводится собирательный образ. Вряд ли стоит ожидать, что есть стопроцентное совпадение хотя бы с одной компанией. Те или иные черты могут встречаться там или здесь; важно не то, что есть какие-то конкретные компании с этими проблемами. Важно то, что сами по себе проблемы существуют, и о них надо говорить.
Читать дальше →
Total votes 281: ↑250 and ↓31 +219
Comments 1833

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity