Был на многих докладах, но в этот раз опишу только то, что реально может пригодится или просто показалось интересным.
1 Инфраструктура распределенных node js приложений, Rambler
- Можно использовать pm2 deploy для деплоинга
- Нормально описал, как Docker использовать с node js, выглядит очень просто.
- Используют консул для service discovery, можно быстро распростронять конфиги при помощи key-value хранилища
2 Митап по текущему состоянию WebRTC стека
Flussonic – очень мощные чуваки, постоянно сидели в комнате для митапов, я был на двух (третий был про Erlang). Тоже из России. Основная специализация – кастомные разработки по трансляции и записи видео для разных клиентов (в основном IP-камеры для систем слежения). Разработали свой медиа-сервер, аналог Curento. Всё на Erlang. Очень его хвалили за скорость и параллельность
Назвали Curento одним из лучших опен-сурс решений из коробки в этой области, но все равно советовали сделать свою систему.
В основном обсуждали очень низко уровневые детали протокола установки P2P соединения в браузерах и реализацию секурности.
3 Введение в архитектуры нейронных сетей
Доклад в основном обучающего формата, чувак быстро перечислил очень много способов организации нейронных сетей и закидал полезными ссылками.
Основной вывод — если хочешь поизучать deep learning, используй английские источники.
- GoogleNet 2014
- https://culurciello.github.io/
- https://deeplearning4j.org/
- https://www.coursera.org/learn/machine-learning/ (сейчас прохожу)
- https://www.coursera.org/learn/neural-networks/
- https://arxiv.org/pdf/1411.4555v2.pdf
- https://www.tensorflow.org/versions/r0.11/tutorials/seq2seq/index.html
- https://research.googleblog.com/
4 Использование GPU для нейронных сетей, VK — Vinci
Крутой доклад об истории разработки Vinci. Основные выводы:
- Просто склонировать код Гугла по сверточным/рекурентным сетям оказалось недостаточно
- Нормально работает только на stable версиях Debian/Ubuntu
- Все GPU неизбежно могут роняют систему, постоянно. Нужен супервайзер.
- GPU — для широких сеток, CPU — для узких
- Первая версия Vinci была сделана за 24 часа хакатона. Хакатона, Карл!
- Первый релиз в Google Play — через 2 недели, второе место по популярности после Prisma
- Стек: Torch, Lua, Turbo, NodeJS, Go
- Для того, чтобы фильтры весили меньше (фильтры это по сути обученные сетки — множество весов и переходов), применили бинаризацию весов.
5 Битрикс
Чуваки собирают логи и показывают активность пользователей на карте мира.
Оч. чётко. (подобное реализовано в Гугл Аналитике на самом деле)
6 HTTP/2 и JPEG, Akamai
Чувак из германии четко пояснил, почему HTTP/2 это круто и почему нужно использовать JPEG с прогрессивной разверткой.
Пользователь видит контент быстрее, очевидно.
Мы используем HTTP/2 ?
7 Секурность приложений на Node.JS
- Редиректы из URL-параметра
- Можно проверять секурность сторонних либ:
- nsp
- snyk
- VeraCode — платный
- Используй CSRF-токены! У нас пока нет таких кейсов на node js
**8 Митап проблемы доставки стримингово видео **
Опять ребята из Flussoning.
В основном говорили о GPU, и как оно круто помогает ускорить транскодинг.
Реально помогает. Только нужен супервизор, чтобы поднимать систему когда она падает (а с GPU она падает постоянно).
9 Новые фичи MySQL, Percona
- Document Store http://dev.mysql.com/doc/refman/5.7/en/document-store.html
- JSON
- Persistent не нужен. MySQL 5.7 может поддерживать до 70000 переподключений в секунду. Если не может — увеличьте backlog хотя бы до 200 http://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_back_log
Ещё: с какого-то большого доклада, куда я попал только под конец, вынес
- Нужен TraceId в запросах (впрочем, ничего нового).