Рубрика «стандарт»

UB or not UB: дублируем элемент std::vector - 1

В статье выясним, можно ли с точки зрения стандарта языка C++ тривиальным вызовом push_back продублировать элемент std::vector. Отвечая на простой вопрос, столкнемся с более интересными: что собой представляет внутренний мир вектора, как "протухают" итераторы при реаллокации, какие ограничения добавляют гарантии безопасности относительно исключений...

Читать полностью »

Привет! Недавно, пришлось работать на проекте с внешним API. Работал, я, к слову, всегда либо с простым REST, либо с GET/POST only запросами, но в этом нужно было работать с API Timetta. Он использует OData и что же это такое?

Содержание

  1. REST vs OData

  2. Схема

  3. Типы данных

    1. Примитивные

    2. EntityType

    3. ComplexType

    4. EnumType

    5. Collection

    6. EntitySet

  4. Читать полностью »

C2x: будущий стандарт C - 1

Я ловлю в далёком отголоске,
Что случится на моём веку.
(«Гамлет», Борис Пастернак)

Признаться, пишу на чистом C я не так уж и часто и за развитием языка уже давно не слежу. Но тут произошло два неожиданных события: С вернул себе звание популярнейшего языка программирования по версии TIOBE и случился анонс первой за долгие годы действительно интересной книги, посвящённой этому языку. Поэтому я провёл несколько вечеров за изучением материалов о C2x — следующей версии C.

Самыми, на мой взгляд, интересными нововведениями я и хочу поделиться с читателями Хабра.

Читать полностью »

Введение

Методология разработки имитационных моделей и симуляторов по различным техническим дисциплинам в основном ориентирована на снижение уровня абстракции учебного материала. Наряду с теоретическим учебным материалом наглядное имитационное моделирование того или иного технологического процесса или операции позволяет учащемуся в более полной мере освоить преподаваемый материал с максимальным приближением к естественным условиям. При этом имитационные модели и симуляторы могут рассматриваться только как вспомогательный инструмент учебного процесса. Основное назначение данной категории образовательных ресурсов – базовое (начальное) ознакомление с принципами работы сложных технических объектов в условиях отсутствия возможности использования реального промышленного оборудования, либо в целях предварительного повышения компетенции учащегося перед прохождением производственной практики.
Читать полностью »

На днях в Праге прошла встреча международного комитета по стандартизации C++. И-и-и-и…

C++20 утверждён! Чего ждать и к чему готовиться разработчикам в C++23 - 1

C++20 готов! Осталось поставить штампик от ISO, но это чисто формальный шаг, с которым не должно быть проблем.

Поздравляю всех с этим замечательным событием! Concepts, Coroutines, Modules, Ranges, std::format, constexpr new и constexpr алгоритмы+vector+string, datetime, jthread, span, bit_cast и многие другие мелкие и большие нововведения.

Что успели добавить и поправить в последний момент, что предложили разломать и что все хотят видеть в C++23 — обо всём этом под катом.
Читать полностью »

Из доклада старшего разработчика Сергея Мурылёва можно узнать о многопоточном ассоциативном контейнере для стандартной библиотеки, который разрабатывают в рамках WG21. Сергей рассказал о плюсах и минусах популярных решений этой задачи и о пути, выбранном разработчиками.

— Вы, наверное, уже догадались из названия, что сегодняшний доклад будет о том, как мы в рамках Рабочей группы 21 делали свой контейнер, похожий на std::unordered_map, но для многопоточной среды.Читать полностью »

На днях прошла встреча международного комитета по стандартизации C++ в американском городе Кона. Это была не просто встреча, а feature freeze! Никакие серьёзные новые идеи больше не могут просачиваться в стандарт, остаётся лишь пара встреч на добавление предварительно одобренных вещей, исправление недочётов и устранение шероховатостей.

Ожидать ли Модули и Корутины в C++20, будет ли там быстрая библиотека для форматирования вывода, сможет ли она работать с календарями, добавили ли std::stacktrace, начнёт ли компилятор сам вызывать std::move в ряде случаев, приняли ли std::flat_map? Всё это и многое другое ожидает вас под катом.

Feature freeze C++20. Coroutines, Modules и прочее - 1
Читать полностью »

До C++20 осталась пара лет, а значит, не за горами feature freeze. В скором времени международный комитет сосредоточится на причёсывании черновика C++20, а нововведения будут добавляться уже в C++23.

Ноябрьская встреча в Сан-Диего — предпоследняя перед feature freeze. Какие новинки появятся в C++20, что из крупных вещей приняли, а что отклонили — всё это ждёт вас под катом.

С++20 и Modules, Networking, Coroutines, Ranges, Graphics. Итоги встречи в Сан-Диего - 1

Читать полностью »

У всех, кто когда-либо сталкивался с выбором звуковой аппаратуры возникал вопрос о мощности, а если точнее, о громкости, например, акустической системы или ресивера. Предположу, что многие слышали от “заботливых” продавцов или замечали в рекламных материалах информацию о мощности в 30, 50 или, например, 100 Вт. Когда такое доводится слышать (видеть) мне, я крепко задумываюсь, о какой именно мощности идёт речь. Системы из поднебесной, например, якобы “выдают” заоблачные тысячи Ватт, при этом звучат тише десятиваттных трактов от других производителей.

Ода об истинной мощности или громкие и тихие Ватты - 1

Из-за ориентирования на значения мощности усилительной техники и акустических систем возникает много неразберихи, которая мешает покупателям приобретать, а продавцам продавать звуковую аппаратуру. Под катом я расскажу о существующих стандартах мощности, а также о том, какие маркетинговые ухищрения помогают некоторым производителям заявить “высокую” формальную мощность, при достаточно скромных реальных характеристиках.
Читать полностью »

HTTP Strict Transport Security (HSTS) — это стандарт безопасности, который позволяет веб-сайту объявить себя доступным только по безопасным соединениям, а браузерам передаётся информация для редиректа. Веб-браузеры с поддержкой HSTS ещё и не позволяют пользователям игнорировать ошибки сертификатов на серверах.

Apple использует HSTS, например, на iCloud.com, так что каждый раз при попытке перейти по незащищённому адресу http://www.icloud.com из адресной строки браузера или по ссылке происходит автоматический редирект на https://www.icloud.com. Это отличная функция, которая предотвращает простые ошибки, например, по выполнению финансовых операций на канале без аутентификации.

Что здесь может быть не так?

Ну, стандарт HSTS описывает, что веб-браузер должен запоминать редирект на безопасную версию — и автоматически выполнять его от имени пользователя, если тот попытается в будущем установить небезопасное соединение. Информация для этого хранится на устройстве пользователя. И её можно использовать для создания «суперкуков», которые будут считываться межсайтовыми трекерами.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js