В интернете только и разговоров, что про GNU/Linux. Про операционные системы семейства BSD не так часто разговаривают, как о нём. Они сложнее? Они скучнее? Попробуем ответить на эти вопросы вместе с одним из активных участников сообщества OpenBSD!
Переходите по ссылке🔗
#статья #cpp
Переходите по ссылке
#статья #cpp
Please open Telegram to view this post
VIEW IN TELEGRAM
Начал появляться код тех самых навайбкоденных проектов, который изменит мир и т. д. Ну а мы начинаем потихоньку смотреть код этих проектов, в том числе и сквозь призму статического анализа.
Подробности по ссылке🔗
#статья #вайбкодинг #cpp
Подробности по ссылке
#статья #вайбкодинг #cpp
Please open Telegram to view this post
VIEW IN TELEGRAM
Что это тут у нас?! Ошибка из проекта Erlang! Сможете найти?
О других ошибках из этого проекта можно почитать в статье🔗
#cpp #ошибка
BIF_RETTYPE system_info_1(BIF_ALIST_1)
{
....
if (is_tuple(BIF_ARG_1)) { // L2778
....
} else if (BIF_ARG_1 == am_scheduler_id) { // L2782
....
}
....
else if (BIF_ARG_1 == am_garbage_collection) { // L2903
....
} else if (BIF_ARG_1 == am_fullsweep_after) { // L2921
....
}
else if (BIF_ARG_1 == am_garbage_collection) { // L3053
....
} else if (BIF_ARG_1 == am_instruction_counts) { // L3056
....
}
....
else if (ERTS_IS_ATOM_STR("halt_flush_timeout", BIF_ARG_1)) { // L3552
....
}
}
О других ошибках из этого проекта можно почитать в статье
#cpp #ошибка
Please open Telegram to view this post
VIEW IN TELEGRAM
Как работает выбор catch-блока при обработке исключений
Если таблетка знает, что лечить, может, и исключение само может понять, когда нужно остановиться в своём путешествии по стеку? В прикладном программировании часто хватает и подобного описания, но иногда хочется деталей. Что ж, разберёмся в них!
Переходите по ссылке🔗
#cpp #статья
Если таблетка знает, что лечить, может, и исключение само может понять, когда нужно остановиться в своём путешествии по стеку? В прикладном программировании часто хватает и подобного описания, но иногда хочется деталей. Что ж, разберёмся в них!
Переходите по ссылке
#cpp #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
Новый крутой материал по геймдеву 🔥
В своем блоге опубликовали первую часть книги Сергея Кушниренко "Game++. Часть 1.1: С++, движки и архитектуры". Это сборник размышлений о языке программирования C++, алгоритмах и практиках в контексте разработки игр — о его сильных и слабых сторонах, практических решениях и устоявшихся способах работы.
В общем, лучше пойти почитать! Переходите по ссылке🔗
#cpp #книга #gamedev
В своем блоге опубликовали первую часть книги Сергея Кушниренко "Game++. Часть 1.1: С++, движки и архитектуры". Это сборник размышлений о языке программирования C++, алгоритмах и практиках в контексте разработки игр — о его сильных и слабых сторонах, практических решениях и устоявшихся способах работы.
В общем, лучше пойти почитать! Переходите по ссылке
#cpp #книга #gamedev
Please open Telegram to view this post
VIEW IN TELEGRAM
Ценность квалифицированного программиста смещается в сторону умения проводить обзоры кода. Генерировать код становится проще, но всё так же важно проверять его с точки зрения качества декомпозиции, корректности реализации, эффективности, безопасности.
Посмотрим на примере маленького проекта markus, созданного с помощью Claude Opus, почему важно понимать сгенерированный код и уметь видеть, что скрывает красивый текст программы.
Переходите по ссылке🔗
#статья #cpp
Посмотрим на примере маленького проекта markus, созданного с помощью Claude Opus, почему важно понимать сгенерированный код и уметь видеть, что скрывает красивый текст программы.
Переходите по ссылке
#статья #cpp
Please open Telegram to view this post
VIEW IN TELEGRAM
📣 Напоминалка: пройти бесплатный курс от PVS-Studio!
Друзья, давайте создадим язык программирования на нашем курсе! Он абсолютно бесплатный и вот, что он может дать:
- Новые знания о языке программирования и о том, как машина понимает, что мы от нее хотим.
- Реализуете свой лексер в коде.
- Вспомните грамматику и разберете метод рекурсивного спуска.
- На практике внедрите переменные и функции в свой язык.
- Научитесь вызывать функции и правильно определять тип возвращаемого значения.
- Напишете свой эвалюатор.
Всего 10 уроков, где будет минимум сухой теории и максимум практики👍
Подробнее можно почитать тут🔗
#курс #cpp #programming
Друзья, давайте создадим язык программирования на нашем курсе! Он абсолютно бесплатный и вот, что он может дать:
- Новые знания о языке программирования и о том, как машина понимает, что мы от нее хотим.
- Реализуете свой лексер в коде.
- Вспомните грамматику и разберете метод рекурсивного спуска.
- На практике внедрите переменные и функции в свой язык.
- Научитесь вызывать функции и правильно определять тип возвращаемого значения.
- Напишете свой эвалюатор.
Всего 10 уроков, где будет минимум сухой теории и максимум практики
Подробнее можно почитать тут
#курс #cpp #programming
Please open Telegram to view this post
VIEW IN TELEGRAM
Тема неопределённого поведения (UB) в языке C++ освещается и обсуждается многие годы, но это не значит, что она исчерпала себя. Это плата, которую программисты отдают за эффективные оптимизации кода, такие как удаление ряда проверок.
C++ - опасный инструмент, и не помешает лишний раз напомнить, как правильно держать его в руках. Причём с приходом инструментов вайб-кодинга ситуация, скорее всего, даже ухудшится, так как станет ещё сложнее удерживать неопределённое поведение под контролем. Обсудили эту тему, заглянув в будущее.
Посмотреть можно тут:
- Наш сайт
- VK Video
- Rutube
- YouTube
#доклад #cpp
C++ - опасный инструмент, и не помешает лишний раз напомнить, как правильно держать его в руках. Причём с приходом инструментов вайб-кодинга ситуация, скорее всего, даже ухудшится, так как станет ещё сложнее удерживать неопределённое поведение под контролем. Обсудили эту тему, заглянув в будущее.
Посмотреть можно тут:
- Наш сайт
- VK Video
- Rutube
- YouTube
#доклад #cpp
Мы уже прошли через базовое выравнивание полей и изучили, как наследование наслаивает данные друг на друга. Казалось бы, теперь-то всё, все ловушки изучены. Но не тут-то было! Есть у этой темы ещё одна, по-настоящему тёмная сторона, про которую не так часто говорят. Одно короткое слово virtual полностью переписывает "геометрию" класса, внося в выравнивание свои коррективы, которые трудно игнорировать.
Давайте разберёмся, что на самом деле происходит под капотом, когда выравнивание сталкивается с виртуальностью. Переходите по ссылке🔗
#статья #cpp
Давайте разберёмся, что на самом деле происходит под капотом, когда выравнивание сталкивается с виртуальностью. Переходите по ссылке
#статья #cpp
Please open Telegram to view this post
VIEW IN TELEGRAM
Если у вас кроссплатформенный проект на C или C++, то, как правило, вы не завязываетесь на одну систему сборки, а используете генератор сценариев для сборочных систем. Самый распространённый из них, CMake, недавно получил официальную интеграцию со статическим анализатором PVS-Studio для этих языков.
Подробнее по ссылке
#cpp #статья #PVS_Studio
Please open Telegram to view this post
VIEW IN TELEGRAM
У нас тут фрагмент кода из проекта TDengine — база данных для IoT систем. Нашли ошибку? Пишите ответ в комментарии!
#cpp #ошибка
#cpp #ошибка
PVS-Studio: поиск ошибок в коде
Новый крутой материал по геймдеву 🔥 В своем блоге опубликовали первую часть книги Сергея Кушниренко "Game++. Часть 1.1: С++, движки и архитектуры". Это сборник размышлений о языке программирования C++, алгоритмах и практиках в контексте разработки игр — о…
Друзья, опубликовали вторую часть книги Сергея Кушниренко: "Game++. Часть 1.2: С++, движки и архитектуры". Ознакомиться можно по этой ссылке 🔗
#cpp #книга #gamedev
#cpp #книга #gamedev
Please open Telegram to view this post
VIEW IN TELEGRAM
Давненько мы не собирали дайджесты по языкам. Время это исправить!
Мы собрали самые интересные события в мире C++ за последнее время, а также полезные материалы. Подробности по ссылке🔗
#cpp #статья #дайджест
Мы собрали самые интересные события в мире C++ за последнее время, а также полезные материалы. Подробности по ссылке
#cpp #статья #дайджест
Please open Telegram to view this post
VIEW IN TELEGRAM
Наш архитектор, Юрий Минаев, выступил в прошлом году на C++ Russia с докладом "Семантика C++ изнутри компилятора".
О чём рассказал Юра:
- о семантике C++ с точки зрения статического анализатора или фронтенда компилятора;
- как устроена таблица символов и как происходит поиск имен, а также как семантика влияет на парсинг;
- о том, как происходит выбор перегрузок и каким образом компилятор находит функции, которые даже не видны в текущей точке программы;
- о шаблонах и их инстанцировании.
Посмотреть запись доклада можно тут:
- наш сайт
- VK Video
- YouTube
- Rutube
Приятного просмотра! Ждем ваши комментарии!❤️
#cpp #доклад
О чём рассказал Юра:
- о семантике C++ с точки зрения статического анализатора или фронтенда компилятора;
- как устроена таблица символов и как происходит поиск имен, а также как семантика влияет на парсинг;
- о том, как происходит выбор перегрузок и каким образом компилятор находит функции, которые даже не видны в текущей точке программы;
- о шаблонах и их инстанцировании.
Посмотреть запись доклада можно тут:
- наш сайт
- VK Video
- YouTube
- Rutube
Приятного просмотра! Ждем ваши комментарии!
#cpp #доклад
Please open Telegram to view this post
VIEW IN TELEGRAM
Проверяли инструмент CMake и обнаружили в этом фрагменте кода ошибку. Сможете ее отыскать?
#cpp #ошибка
#cpp #ошибка
А вот и продолжение книги "Game++": Часть 1.3: Архитектуры игровых движков 🔥
Напоминаем, что эта книга представляет собой сборник размышлений о языке программирования C++, алгоритмах и практиках в контексте разработки игр — о его сильных и слабых сторонах, практических решениях и устоявшихся способах работы.
Первая часть тут 👈🏻
А вторая тут 👈🏻
#gamedev #cpp #статья
Напоминаем, что эта книга представляет собой сборник размышлений о языке программирования C++, алгоритмах и практиках в контексте разработки игр — о его сильных и слабых сторонах, практических решениях и устоявшихся способах работы.
Первая часть тут 👈🏻
А вторая тут 👈🏻
#gamedev #cpp #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
Проверяли инструмент CMake и обнаружили в этом фрагменте кода ошибку. Сможете ее отыскать?
#cpp #ошибка
#cpp #ошибка
Как не пропустить опасные участки кода при ревью? Можно воспользоваться инструментами статического анализа. Возьмём для примера OrcaSlicer — популярную программу, которая подготавливает 3D-модель к печати.
Заглянем внутрь и посмотрим, какие сюрпризы нас ждут.
#статья #cpp
Заглянем внутрь и посмотрим, какие сюрпризы нас ждут.
#статья #cpp
Продолжение книги "Game++": Часть 1.4: Архитектуры игровых движков" 🔥
В этой части Сергей Кушниренко разбирает архитектурные решения, которые определили развитие игровой индустрии. Почему микроядерный подход сделал CryEngine революционным? Чем data-driven архитектура Dagor отличается от классических решений? За счёт чего монолитный X-Ray подарил миру атмосферу S.T.A.L.K.E.R., но столкнулся с техническими ограничениями? И как идеи микросервисов нашли отражение в Godot?
Подробности здесь
Первая часть тут 👈🏻
А вторая тут 👈🏻
Третью ищи здесь 👈🏻
#gamedev #cpp #статья
В этой части Сергей Кушниренко разбирает архитектурные решения, которые определили развитие игровой индустрии. Почему микроядерный подход сделал CryEngine революционным? Чем data-driven архитектура Dagor отличается от классических решений? За счёт чего монолитный X-Ray подарил миру атмосферу S.T.A.L.K.E.R., но столкнулся с техническими ограничениями? И как идеи микросервисов нашли отражение в Godot?
Подробности здесь
Первая часть тут 👈🏻
А вторая тут 👈🏻
Третью ищи здесь 👈🏻
#gamedev #cpp #статья