https://youtube.com/shorts/TXl4q-ZEjvA?si=C7I9iy1-ZepaF4DU
Полезного чтива на ночь
Полезного чтива на ночь
YouTube
What I'm Reading #shorts
💘1
Forwarded from Беспощадный ритейл
Последняя (надеемся) безумная новость на сегодня про СДЭК — компанию взломали, когда все айтишники были на фестивале кибербезопасности.
Ответственность за неработающий в течение двух дней СДЭК взяла на себя хакерская группа HEAD MARE.
Они пишут, что получили доступ к системе в день, когда все сотрудники информационной безопасности были в Лужниках на фестивале Positivi Hack.
Круто провели время, получается.
Ответственность за неработающий в течение двух дней СДЭК взяла на себя хакерская группа HEAD MARE.
Они пишут, что получили доступ к системе в день, когда все сотрудники информационной безопасности были в Лужниках на фестивале Positivi Hack.
Круто провели время, получается.
🤡5😁4🥰1
Гора Дженту
Карачаево-Черкесская Республика, Урупский район
https://yandex.ru/maps/org/gora_dzhentu/64354870987
Ждем ебилдов.
Карачаево-Черкесская Республика, Урупский район
https://yandex.ru/maps/org/gora_dzhentu/64354870987
Ждем ебилдов.
Яндекс Карты
Гора Дженту, горная вершина, Карачаево-Черкесская Республика, Урупский район — Яндекс Карты
Рейтинг 4,7. 8 отзывов, 17 фото. Построить маршрут — вы можете в Яндекс Картах
😁4👍1
https://github.com/llvm/llvm-project/pull/68620
ПОСОНЫ, ТУТ #embed ВЛЕТЕЛ В ШЛАНГ, теперь заживем!
upd1: пока ревертнули, чтобы починить билдботов, но работа идет!
upd2: влили с фиксами, йее
Вкратце(нет) :
#embed - это новая директива препроцессора, позволяющая НОРМАЛЬНО добавлять бинарные файлы в ваш исходный код (пока что на языке Си, но в C++ оно тоже скоро просочится). Если вы используете какие-то бинарные данные типа картинок, сырых двоичных ключей, гуидов, и пр., то эта фича для вас, и это то, что вы ждали10 лет в Азкабане 40+ лет с момента создания сишки!
Пример кода:
Текущие подходы состоят из лютых костылей типа скриптов, которые печатают бинарь как массив; xxd; bin2c (очень распространен в определенных кругах) и прочие более-менее кривые (или) нет скрипты на ваших любимых языках оболочки типа cmd/bash/fish/python.
Эта бумага пережила 12 ревизий и готовилась примерно 5-6 лет!!! (включая прошлую версию, в которой также был
Автор потратил кучу нервов и сил (почитать его слезы и посочувствовать можно в его блоге здесь (обзор и бенчмарки - [1]), здесь (подход с языком Circle и бенчмарки - [2]) здесь (заметки для критиков - [3]), здесь (заметка о том, что принято в C23 и будет поэтому в C++26 - [4])). Его долго пинали в комитетах, то говорили, что это будет медленно работать (бенчмарки показали обратное, см. ниже), то говорили, чтобы он придумал "более generic"-подход, в стиле языка Circle, который, грубо говоря, является C++ с возможностью выполнять любой код на этапе компиляции, главное, пометить блок/функцию собачкой (@).
Бенчмарки из статьи [2] выглядят так:
Теперь эта фича уже точно будет в Clang 19 (кому не терпится, соберите текущий
Поздравляю автора с этим достижением, и просто убеждаюсь, что в каждом меме есть доля шутки 😢
#длиннопостик #cpp #std_embed #thephd
ПОСОНЫ, ТУТ #embed ВЛЕТЕЛ В ШЛАНГ, теперь заживем!
upd1: пока ревертнули, чтобы починить билдботов, но работа идет!
upd2: влили с фиксами, йее
Вкратце
#embed - это новая директива препроцессора, позволяющая НОРМАЛЬНО добавлять бинарные файлы в ваш исходный код (пока что на языке Си, но в C++ оно тоже скоро просочится). Если вы используете какие-то бинарные данные типа картинок, сырых двоичных ключей, гуидов, и пр., то эта фича для вас, и это то, что вы ждали
Пример кода:
// firmware_sound.c
const char wave_buf[] =
#embed "notification.wav"
; // добавим бинарный файл сразу в прошивку
Текущие подходы состоят из лютых костылей типа скриптов, которые печатают бинарь как массив; xxd; bin2c (очень распространен в определенных кругах) и прочие более-менее кривые (или) нет скрипты на ваших любимых языках оболочки типа cmd/bash/fish/python.
Эта бумага пережила 12 ревизий и готовилась примерно 5-6 лет!!! (включая прошлую версию, в которой также был
std::embed - consteval-функция, которая делает то же самое, но на этапе компиляции, а не препроцессинга).Автор потратил кучу нервов и сил (почитать его слезы и посочувствовать можно в его блоге здесь (обзор и бенчмарки - [1]), здесь (подход с языком Circle и бенчмарки - [2]) здесь (заметки для критиков - [3]), здесь (заметка о том, что принято в C23 и будет поэтому в C++26 - [4])). Его долго пинали в комитетах, то говорили, что это будет медленно работать (бенчмарки показали обратное, см. ниже), то говорили, чтобы он придумал "более generic"-подход, в стиле языка Circle, который, грубо говоря, является C++ с возможностью выполнять любой код на этапе компиляции, главное, пометить блок/функцию собачкой (@).
Бенчмарки из статьи [2] выглядят так:
Методология | Время
----------------+--------------
#embed | 17 seconds
std::embed | 16 seconds
#include, |
сгенерированный | 621 seconds
xxd | (КАРЛ!!!!)
Теперь эта фича уже точно будет в Clang 19 (кому не терпится, соберите текущий
trunk и радуйтесь), в MSVC есть тикет на добавление, в GCC тоже (для нетерпеливых есть патч в тикете, можете собрать).Поздравляю автора с этим достижением, и просто убеждаюсь, что в каждом меме есть доля шутки 😢
#длиннопостик #cpp #std_embed #thephd
GitHub
✨ [Sema, Lex, Parse] Preprocessor embed in C and C++ (and Obj-C and Obj-C++ by-proxy) by ThePhD · Pull Request #68620 · llvm/llvm…
This pull request implements the entirety of the now-accepted N3017 - Preprocessor Embed and its sister C++ paper p1967. It implements everything in the specification, and includes an implementatio...
🔥7👍5
❤2🔥2