Современные компьютеры кроют в себе множество аппаратных оптимизаций и особенностей работы ЦП и памяти, понимание которых важно при написании многопоточного кода на любом языке, в том числе и Golang. Мы бегло пройдемся по особенностям железа и тому, как устроены некоторые многопоточные примитивы в языке и стандарной библиотеке Go. Покончив с реверансами, обсудим, можно ли, в рамках отдельных сценариев использования, сделать лучше, чем то, что есть из коробки, и написать быстрые и, главное, масштабируемые многопоточные примитивы. Open source, антинаучные микробенчмарки и рок-н-ролл гарантируются.
Современные приложения состоят из множества подсистем: базы данных, кеши, брокеры сообщений. Для обработки одного запроса от пользователя сервер может выполнять десятки внутренних подзапросов. Вы ска…
What do threads, atomic variables, mutexes, and conditional variables have in common? They are the basic building blocks of any concurrent application in C++, which are a big challenge even for the e…
In this talk, Oren Eini, founder of RavenDB, is going to take apart a database engine on stage. We are going to inspect all the different pieces that make for an industrial-grade database engine, fro…
Каждый новомодный язык программирования норовит заявить о том, что он быстрее, надёжнее и вообще по всем параметрам в несколько раз лучше C++
. Performance is at the heart of .NET, with an incredible amount of energy invested in every release towards making the stack faster and more scalable. In this talk, Stephen Toub will walk through ex…
This talk will provide an overview on how to effectively assess and optimize site performance using a slew of industry grade tooling. Learn how to methodically diagnose, benchmark (against both lab a…
Доклад посвящён основным принципам и целям развития ClickHouse: отличительным чертам и преимуществам системы, которые мы планируем развивать. Также поговорим о недостатках и неудобствах, над которыми…
Поговорим про JPA и тонкие моменты, связанные с этим фреймворком. Начнем с простых примеров: когда получается N+1 запрос и в каком случае Lazy не работает так, как интуитивно ожидается. Дальше уг…
В докладе расскажем про эволюцию разработки высоконагруженного сетевого кластера отправки пуш-уведомлений с использованием технологий от unix/bash и PHP до асинхронных неблокируемых многопоточных сое…
Поговорим о космической стабильности и отказоустойчивости. Сервисы со стабильностью 99.99. Возможно ли это? Если да, то как это реализовано в разных компаниях. Нас с вами ждёт дискуссия о том: Как …
Создание парсеров и лексических анализаторов — затратное по времени дело. Обычно к ним прибегают при необходимости реализации различного рода формальных грамматик, в том числе предметно-ориентированн…
Современный фронтенд — это богатое клиентское приложение, оперирующее развесистым набором данных. Однако, оставаясь в парадигме архитектуры «клиент-сервер», такие приложения всё ещё требуют серверног…
Мы поговорим о том, как в Ruby работают с параллелизмом и конкурентностью: о давно известных вещах (процессы и потоки) и о новых (ракторы и асинхронные файберы).
During this talk, we'll cover the theory and practical implementation behind the most common patterns in modern multi-threaded programming. How our everyday libraries and frameworks optimize the use …
Рассказываем о фреймворке Яндекс Go и его внутреннем устройстве. Доклад будет интересен людям, которые хотят разобраться в устройстве корутиновых движков и работе асинхронных фреймворков. Вы узнаете:…
Современная распределённая БД, как и сама Вселенная, состоит из мельчайших частиц. Из частиц, которые мы называем таблетками, строится петабайтная вселенная данных в Yandex Database. Таблетки решают …
Многие компании занимаются робототехникой и роботизацией, однако в задаче автоматизации последней мили пока нет явного лидера, как нет и общепринятого стандарта, описывающего, как должен выглядеть и …
Расскажу про то, как делать веб быстрым, почему нужно заниматься скоростью, как измерять скорость и покажу примеры из жизни настоящих ускорений.
The Core Web Vitals are a great way to assess the UX impact of page load performance. In this talk, we cover what the vitals are, where they came from, and how you can use Chrome's DevTools to explor…