Хранение данных на виниле / Константин Осипов (tarantool.org)Ontico
В rfc1149 дан исчерпывающий обзор преимуществ голубиной почты для протокола IP: низкая пропускная способность, невысокая надёжность, простая топология сети. Для того чтобы дать адекватный ответ вызовам эпохи мемристоров и квантовых вычислений, Tarantool 1.7 содержит новый движок для хранения данных на классических жёстких дисках и флэш-накопителях: Vinyl. Tarantool известен своей скоростью, и мы постарались не ударить в грязь лицом и на этот раз.
В докладе я расскажу об устройстве нашего нового storage engine:
- как мы объединили in-memory технологию и LSM (log structured merge) деревья для достижения оптимальной производительности и утилизации ресурса накопителя,
- как работает multiversion concurrency control в Vinyl,
- основной компонент в промышленной реализации LSM дерева - merge scheduler, т.е. планировщик слияний и сборки мусора дерева. Я расскажу о подходе, который позволяет максимально снизить износ накопителя, при этом уложиться в заданные рамки производительности запросов.
Chronicle Map — key-value хранилище для трейдинга на Java / Левентов Роман (C...Ontico
Сфера финансовых приложений и трейдинга выдвигает особые требования к системам обработки данных: ультракороткие задержки, конкурентные обновления (в т.ч. из разных процессов), репликация высокочастотных обновлений.
Существовавшие открытые key-value хранилища не справлялись, поэтому мы сделали свое — Chronicle Map.
В докладе я отвечу на вопросы:
+ Почему бывает эффективнее разбить систему, работающую с общим состоянием, на несколько отдельных процессов?
+ Зачем вам может захотеться распилить JVM на несколько частей?
+ Как добиться от key-value хранилища медианной latency меньше 1 микросекунды?
+ Как сделать репликацию, если она упирается в пропускную способность сети из-за слишком частых обновлений?
Развею миф о том, что Java — это медленно :)
Также, в докладе будет сравнение Chronicle Map с redis, one-nio и ConcurrentHashMap.
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...Ontico
В процессе обновления высоконагруженных серверов раздачи видео (40Gbit/s с каждого сервера) со старого OpenSuSE 10.2 на новый CentOS 7 (время между релизами — 7 лет) мы столкнулись с рядом проблем — необъяснимый свопинг и запуски OOM killer, неравномерное распределение нагрузки по ядрам, обрывы соединений, скачки системной нагрузки на CPU.
В докладе будет рассказано о том, как мы боролись с этими проблемами и какие технологии для этого использовали.
Что особенного в СУБД для данных в оперативной памяти / Константин Осипов (Ta...Ontico
Оперативная память становится всё более дешёвой и производительной, что позволяет использовать её для хранения рабочего набора данных всё большего числа приложений. Хранение всех данных в оперативной памяти позволяет сделать их высоко доступными, а алгоритмы для работы с данными либо существенно упростить, либо ускорить, а иногда — и то, и другое.
Тезисы - http://www.highload.ru/2015/abstracts/1964.html
Современная операционная система: что надо знать разработчику / Александр Кри...Ontico
Мы проговорим про связь приложения и ОС, какие компоненты есть в современной ОС на примере Linux, как настройки этих компонент могут повлиять на приложение.
Я расскажу про планировщик процессов, дисковый и сетевой ввод-вывод и соответствующие планировщики, управление памятью - как это все в общих чертах работает и как его потюнить.
Архитектура растущего проекта на примере ВКонтакте / Алексей Акулович (ВКонт...Ontico
В докладе я расскажу о проблемах роста, с которыми сталкивался проект как в плане доступа к БД, так и в целом. Как решали, что получалось, как (общетеоретически или практически) можно решать подобные проблемы в других проектах.
Разберем несколько реальных случаев, когда что-то шло не так.
Доклад можно рассматривать и как небольшой экскурс в развитие технической платформы ВК, и как собрание нескольких практических способов для проекта вырасти и стать надежнее.
Строим сервисы на базе Nginx и Tarantool / Василий Сошников, Андрей Дроздов (...Ontico
Слушатели этого доклада получат представление о том, как построить отказоустойчивое, быстрое, простое и легко масштабируемое решение на базе Nginx и Tarantool.
Коротко о главном:
+ Обзор внутреннего устройства шардинга в Tarantool.
+ Обзор Tarantool upstream модуля для Nginx.
+ Результаты нагрузочного тестирования Tarantool шардинга в связке с Nginx модулем.
+ Live-demo: распределенное отображение графа категорий Wikipedia в СУБД Tarantool с единой точкой входа и возможностью реалтайм поиска по категориям.
DNS в условиях хостинг-провайдера / Константин Новаковский (Selectel)Ontico
DNS — это одна из основополагающих служб и протоколов современного интернета, сервис, который должен всегда работать. Каждый раз, когда конечный пользователь обращается к какому-либо ресурсу глобальной паутины, он использует DNS, и чтобы этот самый первый шаг к проектам у наших клиентов не занимал много времени, мы построили свой DNS-хостинг с использованием Anycast-балансировки. Чуть позже мы применили этот метод для балансировки и повышения доступности рекурсивных серверов внутри наших дата-центров.
В своём докладе я расскажу о способах обеспечения непрерывного обслуживания DNS-запросов, подводных камнях использования anycast’а, постараюсь раскрыть актуальные проблемы обслуживания DNS-серверов и поведаю о современных тенденциях в мире DNS.
Мониторинг ожиданий в PostgreSQL / Курбангалиев Ильдус (Postgres Professional)Ontico
В многоядерных высоконагруженных системах с высокой конкурентностью часто бывает сложно определить, чем занят отдельный процесс PostgreSQL. Он может находиться в ожидании локов высокого уровня, таких как локи таблиц, внутренних локов, используемых для синхронизации процессов, ввода-вывода и многих других.
В настоящий момент среди всех событий ожидания мониторить можно только локи высокого уровня с помощью представлений PostgreSQL. Другие типы ожиданий требуют использования низкоуровневых утилит типа perf, systemtap и других. Эти утилиты требуют специальных знаний и могут быть платформозависимыми. В то же время другие enterprise базы данных уже включают в себя инструменты для мониторинга ожиданий.
Мы разработали патч, который реализует мониторинг ожиданий в PostgreSQL. С минимальной настройкой (несколько конфигурационных параметров) этот патч показывает полную информацию о текущих ожиданиях в режиме реального времени и с небольшим оверхедом на всю систему. Этот патч уже работает на продакшен серверах Яндекса и показал свою полезность.
Контейнерная виртуализация. Золушка в облакахrusonyx
Слайды доклада с конференции Российские Интернет Технологии 2013 http://ritconf.ru
Для обеспечения работы крупных веб-проектов как правило реализуются два сценария: железный и облачный.
Классический железный сценарий предполагает решение задачи в лоб и чреват серьезными осложнениями в дальнейшем.
Более модный облачный вариант выбирают все чаще. В этом случае речь идет о построении инфраструктурного облака с использованием гипервизора: полной виртуализации (как правило, VMware), либо паравиртуализации (как правило, XEN).
В докладе предлагается третий сценарий развития веб-проектов: построение облака с использованием контейнерной виртуализации Parallels Virtuozzo Containers (виртуализация на базе операционной системы) на примере Русоникса. Опыт Русоникса - это тысячи виртуальных серверов для тысяч разноплановых веб-проектов с заведомо непредсказуемым поведением на базе контейнерной виртуализации и типового железа.
Контейнеры обеспечивают невероятную плотность и эффективность использования физических ресурсов. Технология используется, например, в Google для выполнения важнейших задач, таких как вывод результатов поиска и показ контекстных объявлений. Однако, несмотря на все преимущества, контейнерная виртуализация остается в тени и на практике известна не так широко, как VMware в корпоративном мире или XEN в облачно-амазонном.
Повышаем отказоустойчивость без дорогих решенийLenvendo
Презентация технического директора "Ленвендо" Виталия Гаврилова на конференции Failover Conference, 10 апреля 2015 года.
Компания "Ленвендо" занимается развитием и поддержкой онлайн-проектов.
Сегодня «Ленвендо» отвечает за работу ресурсов «Эльдорадо», «Связной», HomeMe, Газпромбанк, Два берега, oodji.
Последние новости постгреса с PGCon / О.Бартунов, А.Коротков, Ф.Сигаев (Postg...Ontico
Как быстро развивается сейчас PostgreSQL — общеизвестно. За несколько дней до РИТ++ заканчивается главный мировой форум разработчиков этой СУБД — конференция PGCon в Канаде. Большая команда разработчиков Postgres Professional принимает участие в этой конференции и готова рассказать все последние новости прямо с PGCon.
Параллельное исполнение запросов, новые стораджи, неутихающая тема Postgres vs key-value storage, распределенный Postgres, высокая доступность, многочисленные улучшения производительности, планы и интриги разработчиков — вот основные темы этой конференции.
Я остановлюсь подробнее на нашем вкладе в ожидаемый релиз 9.6 и планах на, возможно, релиз 10.0.
Anton Turetckii "What does it take to build a host?"Fwdays
Real hardware in the data center: everything you wanted to know but didn’t know how to ask.
2020: how to build a server if you don’t use clouds
How to get rid of or reduce problems when ordering, allocating, and mounting the hardware
Yes, there are people working in your data center (If you have one)!
What is hidden in between the server’s power button activation and its appearance in your internal system
Automation and its role in the process: do exactly what is necessary and enough!
MySQL 5.7 - NoSQL - JSON, Protocol X, Document Store / Петр Зайцев (Percona)Ontico
В MySQL 5.7 появился целый ряд новых возможностей, позволяющих использовать MySQL в приложениях и как хранилище JSON-документов, и как реляционную базу данных.
В этом докладе мы расскажем о поддержке JSON в MySQL 5.7, а также поговорим о том, когда имеет смысл её использовать, и насколько хорошо она работает. Кроме того, мы остановимся на новом протоколе доступа к MySQL, поддерживающем SQL. Помимо этого, мы рассмотрим CRUD-операции и такие дополнительные функции, как асинхронная коммуникация и пайплайнинг (pipelining).
В заключительной части доклада мы расскажем о возможностях MySQL 5.7 в качестве хранилища документов.
Девять кругов ада или PostgreSQL Vacuum / Алексей Лесовский (PostgreSQL-Consu...Ontico
Если вы сталкивались с PostgreSQL и зашли дальше, чем инструкция по установке, то, скорей всего, коротко познакомились с вакуумом, ну или, как минимум, что-то слышали про него.
Вакуум или по-русски очистка - это важная задача в жизненном цикле постгреса, которая заключается в регулярном освобождении базы данных от, так скажем, "мусора". Вакуум очень важен, его нельзя игнорировать и тем более отключать; более того, ему следует уделять должное внимание. А за кажущейся простотой скрывается довольно сложный и интересный механизм, к работе которого очень часто возникает много вопросов, на которые не всегда можно найти однозначный ответ.
В этом докладе я буду рассказывать про внутреннее устройство вакуума и раскрою следующие вопросы:
1) Что такое автовакуум (вакуум) и заморозка, и как они устроены изнутри.
2) Какие решения принимаются в процессе обработки таблиц и индексов.
3) Какие существуют возможности для управления вакуумом и как эти возможности влияют на работу вакуума.
4) Вакуум и вопрос производительности.
Чем заняться вечером, если я знаю сколько будет ++i + ++i / Андрей Бородин (Y...Ontico
HighLoad++ 2017
Зал «Пекин + Шанхай», 8 ноября, 18:00
Тезисы:
http://www.highload.ru/2017/abstracts/2960.html
При изучении алгоритмов и структур данных я предлагаю студентам закрепить знания и попытаться сделать мир лучше, выполнив небольшие проекты по внедрению эффективных алгоритмов в свободное программное обеспечение. В этом докладе я расскажу несколько идей для таких проектов.
Мы рассмотрим существующие фрагменты исходного кода, поговорим о том, что в нём можно допилить, и обсудим, сколько баллов за это надо давать.
Реализацией идей могут заняться, разумеется, все желающие.
Хранение json-документов в Tarantool / Андрей Дроздов (Mail.ru Group)Ontico
AVRO - система сериализации данных, созданная сообществом Apache Hadoop. Включает в себя различные структуры данных, компактный формат хранения в бинарном виде, язык описания схем данных и правила миграции данных между разными версиями схемы. С помощью инструментария AVRO можно валидировать данные по схеме, совершать преобразования из одной версии в другую и даже восстанавливать неполные данные при помощи значений по-умолчанию. Поддержка Apache AVRO была добавлена в Tarantool в этом году и уже используются в production.
Tarantool можно использовать как документо-ориентированную СУБД. В докладе я расскажу про подход к версионированию данных, разработанный командой tarantool: использование avro схемы для валидации входных данных, преобразования от одной версии к другой в runtime, оптимальное хранение версий документа, изменение схемы данных без избыточности и проблем в предыдущих версиях.
Также я расскажу, как применять этот подход для создания бэкендов restful api прямо в базе данных (без дополнительной разработки). Для наглядности мы сравним получившуюся систему с популярными веб-фреймворками: django-rest-framework, go-restful, node.js и посмотрим, кто окажется в лидерах по производительности. Кроме того, во время выступления я покажу live пример создания restful api на стеке технологий tarantool в облаке amazon.
Строим сервисы на базе Nginx и Tarantool / Василий Сошников, Андрей Дроздов (...Ontico
Слушатели этого доклада получат представление о том, как построить отказоустойчивое, быстрое, простое и легко масштабируемое решение на базе Nginx и Tarantool.
Коротко о главном:
+ Обзор внутреннего устройства шардинга в Tarantool.
+ Обзор Tarantool upstream модуля для Nginx.
+ Результаты нагрузочного тестирования Tarantool шардинга в связке с Nginx модулем.
+ Live-demo: распределенное отображение графа категорий Wikipedia в СУБД Tarantool с единой точкой входа и возможностью реалтайм поиска по категориям.
DNS в условиях хостинг-провайдера / Константин Новаковский (Selectel)Ontico
DNS — это одна из основополагающих служб и протоколов современного интернета, сервис, который должен всегда работать. Каждый раз, когда конечный пользователь обращается к какому-либо ресурсу глобальной паутины, он использует DNS, и чтобы этот самый первый шаг к проектам у наших клиентов не занимал много времени, мы построили свой DNS-хостинг с использованием Anycast-балансировки. Чуть позже мы применили этот метод для балансировки и повышения доступности рекурсивных серверов внутри наших дата-центров.
В своём докладе я расскажу о способах обеспечения непрерывного обслуживания DNS-запросов, подводных камнях использования anycast’а, постараюсь раскрыть актуальные проблемы обслуживания DNS-серверов и поведаю о современных тенденциях в мире DNS.
Мониторинг ожиданий в PostgreSQL / Курбангалиев Ильдус (Postgres Professional)Ontico
В многоядерных высоконагруженных системах с высокой конкурентностью часто бывает сложно определить, чем занят отдельный процесс PostgreSQL. Он может находиться в ожидании локов высокого уровня, таких как локи таблиц, внутренних локов, используемых для синхронизации процессов, ввода-вывода и многих других.
В настоящий момент среди всех событий ожидания мониторить можно только локи высокого уровня с помощью представлений PostgreSQL. Другие типы ожиданий требуют использования низкоуровневых утилит типа perf, systemtap и других. Эти утилиты требуют специальных знаний и могут быть платформозависимыми. В то же время другие enterprise базы данных уже включают в себя инструменты для мониторинга ожиданий.
Мы разработали патч, который реализует мониторинг ожиданий в PostgreSQL. С минимальной настройкой (несколько конфигурационных параметров) этот патч показывает полную информацию о текущих ожиданиях в режиме реального времени и с небольшим оверхедом на всю систему. Этот патч уже работает на продакшен серверах Яндекса и показал свою полезность.
Контейнерная виртуализация. Золушка в облакахrusonyx
Слайды доклада с конференции Российские Интернет Технологии 2013 http://ritconf.ru
Для обеспечения работы крупных веб-проектов как правило реализуются два сценария: железный и облачный.
Классический железный сценарий предполагает решение задачи в лоб и чреват серьезными осложнениями в дальнейшем.
Более модный облачный вариант выбирают все чаще. В этом случае речь идет о построении инфраструктурного облака с использованием гипервизора: полной виртуализации (как правило, VMware), либо паравиртуализации (как правило, XEN).
В докладе предлагается третий сценарий развития веб-проектов: построение облака с использованием контейнерной виртуализации Parallels Virtuozzo Containers (виртуализация на базе операционной системы) на примере Русоникса. Опыт Русоникса - это тысячи виртуальных серверов для тысяч разноплановых веб-проектов с заведомо непредсказуемым поведением на базе контейнерной виртуализации и типового железа.
Контейнеры обеспечивают невероятную плотность и эффективность использования физических ресурсов. Технология используется, например, в Google для выполнения важнейших задач, таких как вывод результатов поиска и показ контекстных объявлений. Однако, несмотря на все преимущества, контейнерная виртуализация остается в тени и на практике известна не так широко, как VMware в корпоративном мире или XEN в облачно-амазонном.
Повышаем отказоустойчивость без дорогих решенийLenvendo
Презентация технического директора "Ленвендо" Виталия Гаврилова на конференции Failover Conference, 10 апреля 2015 года.
Компания "Ленвендо" занимается развитием и поддержкой онлайн-проектов.
Сегодня «Ленвендо» отвечает за работу ресурсов «Эльдорадо», «Связной», HomeMe, Газпромбанк, Два берега, oodji.
Последние новости постгреса с PGCon / О.Бартунов, А.Коротков, Ф.Сигаев (Postg...Ontico
Как быстро развивается сейчас PostgreSQL — общеизвестно. За несколько дней до РИТ++ заканчивается главный мировой форум разработчиков этой СУБД — конференция PGCon в Канаде. Большая команда разработчиков Postgres Professional принимает участие в этой конференции и готова рассказать все последние новости прямо с PGCon.
Параллельное исполнение запросов, новые стораджи, неутихающая тема Postgres vs key-value storage, распределенный Postgres, высокая доступность, многочисленные улучшения производительности, планы и интриги разработчиков — вот основные темы этой конференции.
Я остановлюсь подробнее на нашем вкладе в ожидаемый релиз 9.6 и планах на, возможно, релиз 10.0.
Anton Turetckii "What does it take to build a host?"Fwdays
Real hardware in the data center: everything you wanted to know but didn’t know how to ask.
2020: how to build a server if you don’t use clouds
How to get rid of or reduce problems when ordering, allocating, and mounting the hardware
Yes, there are people working in your data center (If you have one)!
What is hidden in between the server’s power button activation and its appearance in your internal system
Automation and its role in the process: do exactly what is necessary and enough!
MySQL 5.7 - NoSQL - JSON, Protocol X, Document Store / Петр Зайцев (Percona)Ontico
В MySQL 5.7 появился целый ряд новых возможностей, позволяющих использовать MySQL в приложениях и как хранилище JSON-документов, и как реляционную базу данных.
В этом докладе мы расскажем о поддержке JSON в MySQL 5.7, а также поговорим о том, когда имеет смысл её использовать, и насколько хорошо она работает. Кроме того, мы остановимся на новом протоколе доступа к MySQL, поддерживающем SQL. Помимо этого, мы рассмотрим CRUD-операции и такие дополнительные функции, как асинхронная коммуникация и пайплайнинг (pipelining).
В заключительной части доклада мы расскажем о возможностях MySQL 5.7 в качестве хранилища документов.
Девять кругов ада или PostgreSQL Vacuum / Алексей Лесовский (PostgreSQL-Consu...Ontico
Если вы сталкивались с PostgreSQL и зашли дальше, чем инструкция по установке, то, скорей всего, коротко познакомились с вакуумом, ну или, как минимум, что-то слышали про него.
Вакуум или по-русски очистка - это важная задача в жизненном цикле постгреса, которая заключается в регулярном освобождении базы данных от, так скажем, "мусора". Вакуум очень важен, его нельзя игнорировать и тем более отключать; более того, ему следует уделять должное внимание. А за кажущейся простотой скрывается довольно сложный и интересный механизм, к работе которого очень часто возникает много вопросов, на которые не всегда можно найти однозначный ответ.
В этом докладе я буду рассказывать про внутреннее устройство вакуума и раскрою следующие вопросы:
1) Что такое автовакуум (вакуум) и заморозка, и как они устроены изнутри.
2) Какие решения принимаются в процессе обработки таблиц и индексов.
3) Какие существуют возможности для управления вакуумом и как эти возможности влияют на работу вакуума.
4) Вакуум и вопрос производительности.
Чем заняться вечером, если я знаю сколько будет ++i + ++i / Андрей Бородин (Y...Ontico
HighLoad++ 2017
Зал «Пекин + Шанхай», 8 ноября, 18:00
Тезисы:
http://www.highload.ru/2017/abstracts/2960.html
При изучении алгоритмов и структур данных я предлагаю студентам закрепить знания и попытаться сделать мир лучше, выполнив небольшие проекты по внедрению эффективных алгоритмов в свободное программное обеспечение. В этом докладе я расскажу несколько идей для таких проектов.
Мы рассмотрим существующие фрагменты исходного кода, поговорим о том, что в нём можно допилить, и обсудим, сколько баллов за это надо давать.
Реализацией идей могут заняться, разумеется, все желающие.
Хранение json-документов в Tarantool / Андрей Дроздов (Mail.ru Group)Ontico
AVRO - система сериализации данных, созданная сообществом Apache Hadoop. Включает в себя различные структуры данных, компактный формат хранения в бинарном виде, язык описания схем данных и правила миграции данных между разными версиями схемы. С помощью инструментария AVRO можно валидировать данные по схеме, совершать преобразования из одной версии в другую и даже восстанавливать неполные данные при помощи значений по-умолчанию. Поддержка Apache AVRO была добавлена в Tarantool в этом году и уже используются в production.
Tarantool можно использовать как документо-ориентированную СУБД. В докладе я расскажу про подход к версионированию данных, разработанный командой tarantool: использование avro схемы для валидации входных данных, преобразования от одной версии к другой в runtime, оптимальное хранение версий документа, изменение схемы данных без избыточности и проблем в предыдущих версиях.
Также я расскажу, как применять этот подход для создания бэкендов restful api прямо в базе данных (без дополнительной разработки). Для наглядности мы сравним получившуюся систему с популярными веб-фреймворками: django-rest-framework, go-restful, node.js и посмотрим, кто окажется в лидерах по производительности. Кроме того, во время выступления я покажу live пример создания restful api на стеке технологий tarantool в облаке amazon.
Модным ныне словом «виртуализация» сейчас называют различные обёртки аппаратной виртуализации, однако этот термин намного старше и более всеохватывающий. На уровне ознакомления с технологией мы поговорим о виртуализации ресурсов в кластере и на примере pacemaker.
Дмитрий Грошев, Фёдор Гоголев. Erlang и Haskell в production: проблемы и решенияFProg
В докладе рассматривается мотивация и опыт перехода процесса разработки API с большим количеством внутренней логики с Python на сочетание Erlang и Haskell, проблемы в процессе разработки и способы их решения.
Deployment to production with an unexpected loadGrid Dynamics
In his talk, Max Mazur a DevOps Engineer at Grid Dynamics, shares his experience deploying to production despite unexpected loads using the example of the web application (RTB). There you can find specific cases of using MySQL and resolving solutions. Technology stack: Linux, MySQL, PHP, Nginx, Kafka, Redis, Gearman
Сергій Комлач
— Android розробник в Sticky Password (Чехія).
— Головні напрямки роботи — біометрична ідентифікація, кібер-безпека, кросс-платформенні рішення.
— Досвід у сфері розробки під Мобайл понад 8 років.
— Переможець Opera Mobile Store Awards.
— Спікер та учасник: Lviv Mobile Development Day, UAMobile, Frameworks Day Android, Code'n'Coffee Khmelnitsky, Google DevFest UA.
— Засновник та лідер Google Developers Group Kremenchuk.
Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"Yandex
2 июля 2011, Я.Субботник в Екатеринбурге
Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"
О докладе:
Про Python и Django: зачем нужна красота и простота перфекционистам с дедлайнами, на примере Яндекс.Погоды.
Когда число сервисов, которые делаются в Яндексе, стало возрастать, дедлайны — поджимать, а от процесса разработки требовалось стать более гибким, возникла потребность в свежих решениях. В докладе на примере Яндекс.Погоды рассказывается, как в Яндексе делают сервисы с помощью языка Python и веб-фреймворка Django.
Алексей рассказывает, почему Тим Кук верит в светлое будущее дополненной реальности. Объясняет, как работает ARKit, и показывает несколько вдохновляющих примеров.
Речь пойдет о фреймворке под названием Texture (a.k.a AsyncDisplayKit/ASDK). Создатели этого фреймворка пытаются изменить старый синхронный способ работы с UI на современный многопоточный. Спикер расскажет о том, как устроен этот фреймворк, о его преимуществах и недостатках, подводных камнях и реальном опыте использования. После этого доклада все, кто его слушали, смогут создавать приложения на основе Texture и быть уверенными в том, что экран будет обновляться со скоростью 60FPS независимо от сложности UI.
Илья Сиганов, разработчик 7bits, аспирант по Информатике и Выч. Технике ОмГУ ФКН
Вы наверное наслышаны об успехах так называемого машинного обучения. Его используют для перевода текстов, синтеза голоса, распознавания речи, показа рекламы. Да чему только уже не научили компьютер! Мне стало безумно интересно как в принципе происходит обучение компьютера, каким задачам его можно обучить, а каким нельзя, по крайней мере пока.
В своей лекции я расскажу на настоящих примерах то, как может проходить обучение, с какими трудностями сталкиваются дата-саентисты и к чему всё это машинное обучение приведёт
2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальноеОмские ИТ-субботники
Максим Верзаков, разработчик Crystalnix
Мы не боимся использовать Docker, и неплохо в этом преуспеваем. Я расскажу, как еще можно использовать Docker и почему это удобный инструмент не только для разработки, но и для жизни.
Docker provides containerization capabilities while Ansible provides automation and configuration capabilities. Together they are useful DevOps tools. Docker allows building and sharing application environments while Ansible automates configuration and deployment. Key points covered include Docker concepts like images and containers, building images with Dockerfiles, and using Docker Compose to run multi-container apps. Ansible is described as a remote execution and configuration tool using YAML playbooks and roles to deploy applications. Their complementary nature makes them good DevOps partners.
2016-12-03 01 Вадим Литвинов. От 2D к 3D обзор методов реконструкции поверхно...Омские ИТ-субботники
Докладчик: Вадим Литвинов, Hola Networks Ltd., Новосибирск.
«Надоели Ангуляры и Аджайлы? Устал от Scrum и NoSQL? Тогда приходи и мы погрузимся в увлекательный мир математики и увидим как с её помощью можно просто и элегантно решать сложные задачи.
Конкретно на этом докладе мы поговорим о том, как воссоздать 3D модель поверхности по видеозаписи.
О себе: родился и живу в Новосибирске, но молодость свою провел во Франции, где я прожил суммарно 15 лет. Несмотря на то что я закончил институт по специальности
“Компьютерные сети и связь”, админ из меня не вышел. Занимался я в основном
научными вычислениями. Защитил диссер по машинному зрению. Работал над многими интересными вещами от расчетов сопромата до робототехники. Самый мой любимый проект это разработка прототипа машины без водителя в 2010/11 годах. В настоящий момент работаю над Video CDN нового поколения в Hola Networks Ltd.»
Докладчик: Алексей Городецкий, ОмГУ, Great Fruit, Омск.
«Закончил ОмГУ ФКН, на данный момент обучаюсь в аспирантуре там же. В ИТ за деньги лет 6 — с осени первого курса. Так вышло, что занимался абсолютно разными вещами — админил и патчил Asterisk в службе такси, участвовал в разработке складских систем для небезызвестных колбасных картелей (см. программировал в морозилках и тому подобные страдания), занимался веб разработкой. На данный момент работаю в ОмГУ — занимаюсь корпоративными системами и электронными сервисами студента. В качестве развлечений участвую порой в хакатонах (обычно в команде с небезызвестным человеком-хакатоном), а так же в game джемах.
Как и любой другой сегодняшний программист, программировал на довольно большом количестве языков — на функциональных, на скриптовых, на мейнстримовых. Честно говоря, результат меня совсем не удовлетворил, как, думаю, и многих многих других. Именно по этой причине сегодня так много молодых и по-своему интересных языков. По моему мнению, сегодняшние мейнстримовые языки имеют 4 очень серьезные проблемы:
— менеджмент памяти
— проблема простоты, минимальности покрытия возможностями при сохранении выразительности
— композиция, модульность, масштабируемость
— возможности unit тестирования
В аспирантуре занимаюсь изучением этих вопросов. В своем докладе расскажу про инфраструктуру для создания компиляторов LLVM, некогда созданную аспирантом из Иллиноиса, Крисом Латтнером, сейчас работающим в Apple Inc. Логическим продолжением его деятельности стало создание языка Swift. Мы рассмотрим сегодняшние методологии построения компиляторов, используя инфраструктуру LLVM. На примере создания фронтенда достаточно простого языка, мы получим представление о системе команд LLVM, об утилитах, входящих в стандартный пакет LLVM, о FFI с libc и прочих скользких ситуациях, о которых часто представление имеют только системные программисты.
Если вас интересуют языки программирования, а также, возможно, накопилось некоторое количество боли и стресса от использования тех языков, с которыми вы вынуждены работать, то добро пожаловать на баркемп, на котором мы и обсудим такие вещи как:
— более подробно о LLVM и компиляторах
— перегрузка операторов
— вывод типов
Если останутся силы, то мы сможем обсудить 4 проблемы, обозначенных мною выше, тщательно запротоколировать все мнения и, возможно, прийти к какому-то консенсусу.»
Докладчик: Евгений Тюменцев, HWdTech, Омск.
«Будет дано небольшое введение в теорию формальных языков программирования. Разобран пример построения транслятора для небольшого языка программирования и рассказано, как это можно применять на проектах или, например, при выполнении лабораторных работ в ВУЗе
Опыт работы в ИТ-отрасли 12 лет. Был программистом, системным архитектором, руководителем проектов. Специализируюсь на разработке серверных, многопоточных, высокопроизводительных приложений.
16 лет преподаю в ОмГУ (ИМИТ, ФКН). Читаемые дисциплины: Проектирование ПО, разработка серверов и серверных приложений. Руковожу курсовыми и дипломными работами.»
2016-11-12 02 Николай Линкер. Чему Java может поучиться у Haskell и наоборотОмские ИТ-субботники
Николай Линкер, Backend-developer, ISS Art
С детства любил математику, это и определило мою профессию. Закончил матфак ОмГУ, уже 16 лет разрабатываю ПО, постоянно ищу новые решения. Довелось поработать с широким диапазоном языков и предметных областей. Детально разбирался с графическими библиотеками, компиляторами и сетевыми протоколами. В докладе расскажу, что заслуживает распространения из Haskell в традиционные языки, вроде Java, и что в Java удалось лучше, чем в Haskell.
2016-11-12 03 Максим Дроздов. Навести порядок быстро, или как спасти оценки н...Омские ИТ-субботники
Максим Дроздов, Project Manager, ISS Art.
Работаю в ИТ более 8 лет. Руковожу большими и интересными проектами. Навожу порядок в процессах и снижаю энтропию :) Professional Scrum Master. Работал программистом и люблю это дело. Образование — прикладные математика и физика.
Источник радости для меня — настраивать процессы и видеть слаженную команду, где учитывают мнение каждого участника и всю энергию направляют на доставку качественного продукта в соответствии с целями проекта.
В своем докладе хочу показать, что навести порядок в сложном проекте могут простые и широко известные средства, которые нужно правильно применять.
Непомнящих Егор, Web-developer, ISS Art.
JS, Java, Iron Maiden. Практически вся моя жизнь связана так или иначе с IT — с 11 класса и до 5 курса я лидировал на олимпиадах, но погрузился в профессию уже на работе в ISS Art’е. Мною реализованы ряд интересных проектов — от мелких поделок на гитхабе, до крупных бизнес-порталов, системы мониторинга и прогнозирования состояния оборудования, векторного графического редактора для Flash-версии Google Maps, сложного плагина для SketchUp на Ruby и Unity-клиента для просмотра зданий под десктопными и мобильными платформами.
В общем, повидал всякие front-end’ы, не только Web. Буду рад поделиться опытом с коллегами по цеху. В докладе расскажу о том, как сократить объем кода вашего front-end'а на 7%.
This document discusses building a smart IoT foosball table using an Arduino, Android app, and Firebase backend. Sensors on the foosball table feed real-time data to the Arduino, which then communicates with the Android app. The Android app and a Node.js Slackbot integrate with the Firebase backend to provide real-time updates and functionality. The hardware part of the project involves modifying the foosball table to add sensors and an Arduino.
This document provides an overview of the Internet of Things (IoT) including key statistics on IoT spending projections and vertical markets. It discusses opportunities in smart home applications like Google Chromecast and Philips Hue lights. It also covers industrial IoT applications in transportation, manufacturing, energy and healthcare. Examples of specific IoT projects from companies like Google, Schneider and Siemens are described. The document concludes with sections on IoT security challenges and Google's self-driving car and smart contact lens projects.
2013-01-05 01 Леонид Евдокимов. Web scale. Взорвется все
1. Web Scale
Взорвётся всё
Леонид Евдокимов
Второй омский IT-субботник, январь 2013, vk.com/omskit
2. О чём
Juggler рост нагрузки с 1k до 10k машин
MongoDB о свойствах и особенностях
Python о доставке сигналов смеха для
MySQL о пользе суррогатных ключей
Linux об учете накладных расходов
FreeBSD о внезапной сложности простого
3. Juggler
Система мониторинга событий
Внутри: MySQL, MongoDB, Python
В обвязке: nginx или lighttpd, flup или uWSGI
Подробнее: «Мониторинг со всех сторон»
YaC 2011, Алексей Симаков, clck.ru/L5GF
4. MongoDB
NoSQL СУБД
Быстрая как /dev/null
Не использует JOIN
mongodb-is-webscale.com
7. MongoDB
double-update ≈ ½ quad damage
> update(..., {$push: {big object}})
«Scaling with MongoDB»
by Michael Schurter 2011
Слушатель, доверяй, но проверяй!
9. MongoDB
jira/SERVER-3339 — при ротации логов…
… stackoverflow в обработчике SIGABRT
… deadlock в malloc()
Починка базы медленнее, чем MyISAM!
10. MongoDB
jira/SERVER-3339 — при ротации логов…
… stackoverflow в обработчике SIGABRT
… deadlock в malloc()
Починка базы медленнее, чем MyISAM!
Ответ: db.runCommand("logRotate")
14. Python
bugs/issue8296 — про multiprocessing
Происходит deadlock из-за EINTR и смерти
одного из тредов
…ох уж эти сигналы!
Ответ: kill -9 -${sid}
:-)
15. MongoDB & Python
Окончательный ответ на вопрос logrotate,
доставки сигналов и всего такого:
«Delivering Signals for Fun and Profit»
by Michal Zalewski
clck.ru/4RGgy
always look on the bright side of life vulnerability
20. MySQL
SELECT … FROM t1 LEFT JOIN t2
ON t1.type = 'HOST'
AND t1.host_name = t2.object_name
AND t1.check_name = t2.check_name
LEFT JOIN t1_1 … LEFT JOIN t2_1 …
RIGHT OUTER JOIN t1_2 …
22. MySQL
SELECT … FROM t1 LEFT JOIN t2
ON t1.type = 'HOST'
AND t1.host_name = t2.object_name
AND t1.check_name = t2.check_name …
host_name, object_name, check_name
- varchar(128) COLLATE utf8_bin
23. MySQL
MEMORY maximum key length is 3072 bytes
MyISAM maximum key length is 1000 bytes
24. MySQL
MEMORY maximum key length is 3072 bytes
MyISAM maximum key length is 1000 bytes
Created_tmp_disk_tables: MEMORY → MyISAM
25. MySQL
MEMORY maximum key length is 3072 bytes
MyISAM maximum key length is 1000 bytes
Created_tmp_disk_tables: MEMORY → MyISAM
При выходе за key_len: MEMORY ↴ MyISAM
BADABOOM storage engine
26. MySQL
Помогают…
… суррогатные INTEGER ключи
… tmp_table_size & max_heap_table_size
You can’t hardware yourself
out of a performance problem
you softwared yourself into.
– Cary Millsap
30. Linux
А теперь пошлем ICMP PING на 10000 хостов
Перенесем «пинговалку» в vm на основе KVM
…
31. Linux
Задержка пакета от входа до recvmsg()
возросла в десятки раз (пики до 50ms!)
RCVBUF, кажется, достаточно большой для
нескольких тысяч 28-байтных пакетов
Но входящие PONG не помещаются в
RCVBUF при такой задержке
35. FreeBSD
Сказ о rename() и о том, как скушать все PID'ы
и уснуть в D-state
● В N потоков: rename(tmp, dest_dir)
● В M потоков: exists(dest_dir/fname)
● Порождать новый worker-поток, если
старый не ответил за время T
36. FreeBSD
В FreeBSD-9.0 VFS уже починили и этот
deadlock в rename() исчез
Ответ: pool, queue & two strict ulimits
37. IT
Окончательный ответ на вопрос разработки,
протекающих абстракций и всего такого:
Закон больших чисел
Взорвётся всё
Даже /dev/null. Я не шучу.