Современные компьютеры кроют в себе множество аппаратных оптимизаций и особенностей работы ЦП и памяти, понимание которых важно при написании многопоточного кода на любом языке, в том числе и Golang. Мы бегло пройдемся по особенностям железа и тому, как устроены некоторые многопоточные примитивы в языке и стандарной библиотеке Go. Покончив с реверансами, обсудим, можно ли, в рамках отдельных сценариев использования, сделать лучше, чем то, что есть из коробки, и написать быстрые и, главное, масштабируемые многопоточные примитивы. Open source, антинаучные микробенчмарки и рок-н-ролл гарантируются.
Современные приложения состоят из множества подсистем: базы данных, кеши, брокеры сообщений. Для обработки одного запроса от пользователя сервер может выполнять десятки внутренних подзапросов. Вы ска…
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…
. 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…
Каждый новомодный язык программирования норовит заявить о том, что он быстрее, надёжнее и вообще по всем параметрам в несколько раз лучше C++
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…
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…
Многие компании занимаются робототехникой и роботизацией, однако в задаче автоматизации последней мили пока нет явного лидера, как нет и общепринятого стандарта, описывающего, как должен выглядеть и …
Рассказываем о фреймворке Яндекс Go и его внутреннем устройстве. Доклад будет интересен людям, которые хотят разобраться в устройстве корутиновых движков и работе асинхронных фреймворков. Вы узнаете:…
Современная распределённая БД, как и сама Вселенная, состоит из мельчайших частиц. Из частиц, которые мы называем таблетками, строится петабайтная вселенная данных в Yandex Database. Таблетки решают …
Массовый переход от монолитов к микросервисам решает одни проблемы, но создаёт другие — взаимодействие сервисов существенно сложнее и дороже, чем взаимодействие объектов в памяти. Частично упростить …
Доклад посвящён основным принципам и целям развития ClickHouse: отличительным чертам и преимуществам системы, которые мы планируем развивать. Также поговорим о недостатках и неудобствах, над которыми…
Поговорим про JPA и тонкие моменты, связанные с этим фреймворком. Начнем с простых примеров: когда получается N+1 запрос и в каком случае Lazy не работает так, как интуитивно ожидается. Дальше уг…
Создание парсеров и лексических анализаторов — затратное по времени дело. Обычно к ним прибегают при необходимости реализации различного рода формальных грамматик, в том числе предметно-ориентированн…
Современный фронтенд — это богатое клиентское приложение, оперирующее развесистым набором данных. Однако, оставаясь в парадигме архитектуры «клиент-сервер», такие приложения всё ещё требуют серверног…
В докладе расскажем про эволюцию разработки высоконагруженного сетевого кластера отправки пуш-уведомлений с использованием технологий от unix/bash и PHP до асинхронных неблокируемых многопоточных сое…
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 …
Поговорим о космической стабильности и отказоустойчивости. Сервисы со стабильностью 99.99. Возможно ли это? Если да, то как это реализовано в разных компаниях. Нас с вами ждёт дискуссия о том: Как …
Кажется, что уже все слышали о самой масштабной DDoS-атаке в истории интернета — Mēris. Очень многое в этой истории пока ещё проходит «под грифом секретно». Но сейчас мы готовы поделиться большой час…
Amongst all the platforms for app development, the web is arguably the only one that does not make good use of threading. On the web, the main thread has a lot of responsibilities, and we keep adding…