Telegram Group & Telegram Channel
C++95
plusich1.png
#jostik

Intro
Прошлой осенью на работе подарили брелок-"ремувку" с вышитыми логотипом компании и надписью "Born to win".
Посыл хороший - круто от рождения быть победителем в чем-то (например в беге или баскетболе).
Но этот предмет совсем не передает дух времени - ремувки это для путешествий, а сейчас они сильно затруднены, например маршрут Амстердам - Москва имеет две пересадки ⚰️

Решил сделать что-то более актуальное - по приколу сделал патчи на липучке, эти услуги предлагают десятки контор 😁 На фото их среда обитания:
1. Вот они слева направо
2. За несколько лет наиграл 800+ часов в хойке, тут мод "Kaiserredux" 😡
3. Образовываюсь во время долгих ребилдов всего репозитория 👩‍💻

Обзор жостиков C++
🤔 (номер 4️⃣)

1️⃣ Ужасы собеседований в HFT 😳
Иногда прохожу собесы в другие HFT - чтобы узнать что спрашивают по 👩‍💻 и какие условия. Сначала тебя находит очередная эйчарка и выпрашивает звонок под разными предлогами. Вообще, это guilty pleasure смотреть на их кринжово-смешные подкаты 😐

Потом наступает технический собес. Приятный техлид на том проводе предлагает перейти на "ты", и начать с короткого знакомства. Начинаем - я Евгений, мне 25, рост 192, <...>, люблю уравнения Максвелла, не люблю сырники. Какие планы на вечер? В планах провести собес.
- Напиши "single-producer single-consumer lock-free queue"

После этой простой задачи идет жесткое погружение в разные куски C++ - модель памяти, иерархия value category, особенности strict aliasing, чем хороши trivially-copyable в контейнерах и что там с лайфтаймами, и так далее.
Визави углубляется дальше, находятся вопросы которые заставляют реально думать... 🤔
- Для чего нужен std::hardware_destructive_interference_size?
- Расскажи какие ты знаешь протоколы когерентности кэшей в современных процессорах?

Наконец двухчасовая жесть закончена и мы прощаемся. Хотя формально вердикт скажет потом эйчарка, я понимаю что есть куда расти - а эта встреча была всего на один вечер. "Бро, тебе надо тренироваться" 💩 И смотреть больше лекций

Вот такие собесы надо проводить, а не "напиши бинпоиск" и "разверни список" 😎

2️⃣ GDB pretty printer 🎨
Часто в GDB трудно понять что за значение у объекта 🤔 Так как выводятся значения структур "как есть" (грубо говоря, вместо вектора - адрес в памяти и размер), и без дополнительных команд ничего не понятно.

В таком случае надо использовать pretty printers - это код на 👩‍💻 Python, который вызывается со стороны GDB и может помочь в выводе более человекочитаемой инфы - трогая указатели, вызывая всякие функции, и так далее 😎
В первую очередь такие есть для реализаций std - например для libcxx.
Потом свой принтер можно сделать для каждой крупной кодовой базы - пример для LLVM где куча своих контейнеров.

Сейчас для рабочей кодовой базы есть свой pretty-printer для вывода значений таких объектов наших классов:
(1) strong types
(2) fixed-point числа
(3) json-объекты
(4) даты

3️⃣ Лютая скриптовая система с LLVM 💪
Недавно вышло видео с C++ Russia, где круто описано как можно сделать скриптовую систему 👍
Там скриптовый язык либо (1) на лету компилится в объектник и используется; либо (2) компилится с основной прогой для большей оптимизации.
Из "налогов" - диспетчеризация вызова, по сути вызов виртуальной функции.

Эта система - для игровых движков, но думаю в других местах тоже было полезно.
Например, писать рисечерам торговые стратежки проще на скриптовом языке, потому что С++ не их домен

4️⃣ Passkey Idiom 🔒
Читая один пропозал, увидел интересную идиому "Passkey", которую можно использовать как урезанный "friend class" (нарезает доступ по функциям).
Судя по гуглингу, вроде популярная вещь, но раньше нигде ее не видел.
Может пригодиться в кодовых базах, где овер9000 штук friend class.

5️⃣ Elvis Operator 🕺
"elvis operator" это запись:
a ?: b

что равносильно:
a ? a : b

Пригождается несколько раз в год 😎
Это поддерживается основными компиляторами с -Wnognu-conditional-omitted-operand.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15👍131😈1🤪1



group-telegram.com/cxx95/152
Create:
Last Update:

#jostik

Intro
Прошлой осенью на работе подарили брелок-"ремувку" с вышитыми логотипом компании и надписью "Born to win".
Посыл хороший - круто от рождения быть победителем в чем-то (например в беге или баскетболе).
Но этот предмет совсем не передает дух времени - ремувки это для путешествий, а сейчас они сильно затруднены, например маршрут Амстердам - Москва имеет две пересадки ⚰️

Решил сделать что-то более актуальное - по приколу сделал патчи на липучке, эти услуги предлагают десятки контор 😁 На фото их среда обитания:
1. Вот они слева направо
2. За несколько лет наиграл 800+ часов в хойке, тут мод "Kaiserredux" 😡
3. Образовываюсь во время долгих ребилдов всего репозитория 👩‍💻

Обзор жостиков C++
🤔 (номер 4️⃣)

1️⃣ Ужасы собеседований в HFT 😳
Иногда прохожу собесы в другие HFT - чтобы узнать что спрашивают по 👩‍💻 и какие условия. Сначала тебя находит очередная эйчарка и выпрашивает звонок под разными предлогами. Вообще, это guilty pleasure смотреть на их кринжово-смешные подкаты 😐

Потом наступает технический собес. Приятный техлид на том проводе предлагает перейти на "ты", и начать с короткого знакомства. Начинаем - я Евгений, мне 25, рост 192, <...>, люблю уравнения Максвелла, не люблю сырники. Какие планы на вечер? В планах провести собес.
- Напиши "single-producer single-consumer lock-free queue"

После этой простой задачи идет жесткое погружение в разные куски C++ - модель памяти, иерархия value category, особенности strict aliasing, чем хороши trivially-copyable в контейнерах и что там с лайфтаймами, и так далее.
Визави углубляется дальше, находятся вопросы которые заставляют реально думать... 🤔
- Для чего нужен std::hardware_destructive_interference_size?
- Расскажи какие ты знаешь протоколы когерентности кэшей в современных процессорах?

Наконец двухчасовая жесть закончена и мы прощаемся. Хотя формально вердикт скажет потом эйчарка, я понимаю что есть куда расти - а эта встреча была всего на один вечер. "Бро, тебе надо тренироваться" 💩 И смотреть больше лекций

Вот такие собесы надо проводить, а не "напиши бинпоиск" и "разверни список" 😎

2️⃣ GDB pretty printer 🎨
Часто в GDB трудно понять что за значение у объекта 🤔 Так как выводятся значения структур "как есть" (грубо говоря, вместо вектора - адрес в памяти и размер), и без дополнительных команд ничего не понятно.

В таком случае надо использовать pretty printers - это код на 👩‍💻 Python, который вызывается со стороны GDB и может помочь в выводе более человекочитаемой инфы - трогая указатели, вызывая всякие функции, и так далее 😎
В первую очередь такие есть для реализаций std - например для libcxx.
Потом свой принтер можно сделать для каждой крупной кодовой базы - пример для LLVM где куча своих контейнеров.

Сейчас для рабочей кодовой базы есть свой pretty-printer для вывода значений таких объектов наших классов:
(1) strong types
(2) fixed-point числа
(3) json-объекты
(4) даты

3️⃣ Лютая скриптовая система с LLVM 💪
Недавно вышло видео с C++ Russia, где круто описано как можно сделать скриптовую систему 👍
Там скриптовый язык либо (1) на лету компилится в объектник и используется; либо (2) компилится с основной прогой для большей оптимизации.
Из "налогов" - диспетчеризация вызова, по сути вызов виртуальной функции.

Эта система - для игровых движков, но думаю в других местах тоже было полезно.
Например, писать рисечерам торговые стратежки проще на скриптовом языке, потому что С++ не их домен

4️⃣ Passkey Idiom 🔒
Читая один пропозал, увидел интересную идиому "Passkey", которую можно использовать как урезанный "friend class" (нарезает доступ по функциям).
Судя по гуглингу, вроде популярная вещь, но раньше нигде ее не видел.
Может пригодиться в кодовых базах, где овер9000 штук friend class.

5️⃣ Elvis Operator 🕺
"elvis operator" это запись:

a ?: b

что равносильно:
a ? a : b

Пригождается несколько раз в год 😎
Это поддерживается основными компиляторами с -Wnognu-conditional-omitted-operand.

BY C++95


Warning: Undefined variable $i in /var/www/group-telegram/post.php on line 260

Share with your friend now:
group-telegram.com/cxx95/152

View MORE
Open in Telegram


Telegram | DID YOU KNOW?

Date: |

Friday’s performance was part of a larger shift. For the week, the Dow, S&P 500 and Nasdaq fell 2%, 2.9%, and 3.5%, respectively. And indeed, volatility has been a hallmark of the market environment so far in 2022, with the S&P 500 still down more than 10% for the year-to-date after first sliding into a correction last month. The CBOE Volatility Index, or VIX, has held at a lofty level of more than 30. If you initiate a Secret Chat, however, then these communications are end-to-end encrypted and are tied to the device you are using. That means it’s less convenient to access them across multiple platforms, but you are at far less risk of snooping. Back in the day, Secret Chats received some praise from the EFF, but the fact that its standard system isn’t as secure earned it some criticism. If you’re looking for something that is considered more reliable by privacy advocates, then Signal is the EFF’s preferred platform, although that too is not without some caveats. Elsewhere, version 8.6 of Telegram integrates the in-app camera option into the gallery, while a new navigation bar gives quick access to photos, files, location sharing, and more. Some people used the platform to organize ahead of the storming of the U.S. Capitol in January 2021, and last month Senator Mark Warner sent a letter to Durov urging him to curb Russian information operations on Telegram.
from ye


Telegram C++95
FROM American