Вакансии

c++ linux

C++ разработчик в команду Умной колонки

c++ linux

С++ разработчик в проект Рейтинг

c++ linux

Разработчик С++ (ICQ сервер)

c++ c lua linux

Tarantool Solution Engineer

c++

С++ разработчик, Рекламные технологии

Проекты

Tarantool

Про Tarantool его разработчики говорят, что это сервер приложений и база данных в одном флаконе. Это opensource-продукт с активно растущим сообществом. 60% сервисов Mail.ru Group работают на Tarantool. Потому что он создавался под наши высокие нагрузки и получился в итоге очень быстрым.

myTarget: рекламная платформа Mail.ru Group

Наша команда занимается рекламной платформой myTarget, объединяющей все крупнейшие в России и СНГ социальные сети и сервисы с общим охватом более...

20 February, 18:00-22:00
c++

20 февраля в офисе Mail.ru Group состоится встреча С++ User Group.

На мероприятии расскажут про инновационные подходы к IPC в лице Mojo, являющегося частью фреймворка Chromium, — Mojo позволяет удобно строить IPC между процессами. И  даже теми, в которых запущены приложения на других языках: C#/Java и др. Затем мы послушаем истории про std::initializer_list и как с ними непросто жить. А в заключение узнаем, что нам потребовалось почти 20 лет, чтобы научиться нормально объявлять константы.

Ждём всех на meetup!

Mojo (IPC от Chromium) в сторонних приложениях

Илья Санеев, руководитель C++ разработки, Mail.ru Group

Алексей Кузнецов, C++ программист, Mail.ru Group

Mojo — IPC кросс-платформенный инструмент (набор библиотек) в составе проекта Chromium. Mojo реализует передачу и получение сообщений между процессами и поддерживает такие языки, как C++, Java, JavaScript. Формат сообщений описывается языком генерации интерфейсов (MIDL) — The mojom Interface Definition Language. 

Несмотря на то что Mojo не позиционируется как отдельное решение для организации IPC, есть возможность  применять его в сторонних, не связанных с Chromium, приложениях. А это позволяет рассмотреть Mojo как отдельный фреймворк и показать его применимость.

 

std::initializer_list — былинный отказ проектирования

Павел Новиков, Align Technology

На поверхности всё выглядит достаточно просто: std::initializer_list — это «лёгкая обёртка» массива элементов, встроенная в язык C++. Но чем глубже копаешь, тем больше кажется, что здесь что-то не так...

Universal initialization, auto, конструкторы, инициализация агрегатных типов с помощью скобок () — попробуем разобраться в деталях всего этого и понять, как нам с этим жить.  


 

Спецификаторы, квалификаторы и шаблоны 

Михаил Матросов, Align Technology

Уже в С++98 у нас были const, volatile, static, extern, inline и, конечно, шаблоны. В С++11 добавились thread_local, constexpr, а также extern для шаблонов. В С++14 — шаблоны переменных, в С++17 — inline переменные. В С++20 обещают подвезти consteval и constinit. А вы когда-нибудь задумывались, что такое template static inline thread_local constexpr const volatile переменная?

В докладе Михаил попытается разложить по полочкам всё это многообразие ключевых слов. Вспомним про linkage, storage duration и инстанциации шаблонов (и что изменится с приходом модулей в С++20). Разберемся, какая связь между template и inline, между static и constexpr. Поймем, зачем нам extern, когда у нас есть inline. И осознаем, что нам потребовалось почти 20 лет, чтобы научиться нормально объявлять константы.

 

Сбор участников и регистрация: 18:00.

Начало программы: 19:00.

Адрес: офис компании Mail.ru Group, Ленинградский проспект, 39, стр. 79.

Участие в мероприятии бесплатное, регистрация обязательна. Мы прекратим прием заявок, когда закончатся места. Для тех, кто не сможет присутствовать лично, будет организована прямая трансляция на нашем канале Технострим

Другие события