Библиотека C/C++ разработчика
Open in Telegram
Полезные материалы по всему, что может быть полезно плюсовику/сишнику. По всем вопросам @evgenycarter
Show more7 324
Subscribers
-124 hours
+27 days
+1330 days
Posts Archive
Приключения капитана Блада: потонет ли Арабелла?
Недавно в сети появилась новость о том, что был открыт исходный код игры "Приключения капитана Блада". Мы не смогли пройти мимо и проверили его качество с помощью PVS-Studio. Потонет ли легендарный корабль капитана Блада от найденных багов? Давайте узнаем!
https://habr.com/ru/company/pvs-studio/blog/716884/
#cpp #programming
👉 @cpp_lib
👩💻 Поболтаем с Go-разработчиками?
Приглашаем всех, кому интересен язык Golang, на talk-сессию с Senior Go-разработчиками! Встреча состоится 22 марта в 20:00 мск в преддверии старта онлайн-курса «Golang Developer. Professional» в OTUS.
📢В прямом эфире вы сможете задать свои вопросы, а опытные разработчиками ответят на каждый из них. Стоит ли учить Go 2023 году, с чего начинать переход и чего ожидать, с какими трудностями можно столкнуться, что самое крутое в работе и что не нравится — в общем, любые вопросы, которые только могут прийти вам в голову.
🚀Вас ждут нетворкинг, новые знания, живые эмоции и тот самый толчок для развития!
➡️Записаться на ламповую беседу можно по ссылке: https://otus.pw/ZN6o/
Реклама. Информация о рекламодателе на сайте otus.ruГлубокое погружение в технику диспетчеризации - Джонатан Мюллер - Meeting C++ 2022
Доклад на Eng💡
В основе интерпретатора лежит цикл, который итерирует инструкции и выполняет их по порядку. Это требует диспетчеризации: исходя из текущей инструкции, он должен выбирать различный код. Быстрый интерпретатор требует быстрого диспетчера инструкций, как и все остальное, что должно переключаться между фиксированным набором различных вариантов.
В этом докладе рассматриваются различные техники диспетчеризации, начиная с виртуальных функций, простых операторов переключения и заканчивая таблицами переходов. Мы рассмотрим инструменты анализа производительности, эталоны и много-много ассемблерного кода, чтобы узнать, как обмануть компилятор и заставить его генерировать тот ассемблерный код, который нам на самом деле нужен.
Даже если вам не нужно писать интерпретатор или другой диспетчер, вы узнаете много нового об оптимизации.
источник
👉 @cpp_lib
Парсинг веб-страниц с помощью C++
Существует множество вариантов использования веб-скрапинга. Он позволяет получить доступ к данным, которые могут быть недоступны через API, а также к данным из нескольких разрозненных источников. С помощью этого метода можно собрать и проанализировать мнения пользователей о продукте, а также получить представление о состоянии рынка, например, о волатильности цен или проблемах дистрибуции. Однако собрать эти данные или интегрировать их в свои проекты не всегда было просто.
В этом руководстве вы узнаете, как использовать C++ для реализации веб-скрапинга с помощью библиотек libcurl и gumbo. Вы можете следить за развитием событий на GitHub.
👉 @cpp_lib
🦾 Работаешь с C++? - Погрузись во все тонкости профессиональной разработки!
Пройди тест из 20 вопросов и проверь свои знания. Сможешь сдать — пройдёшь на продвинутый курс "C++ Developer. Professional" от OTUS по специальной цене.
👩💻 Преимущества программы курса:
За 5 месяцев вы освоите MIddle-навыки: научитесь правильно писать на С++, применять паттерны проектирования, взаимодействовать с сетью, хранить и обрабатывать большие объемы данных.
Последний месяц обучения — создание выпускного проекта. Он поможет не только закрепить знания, но и станет частью портфолио, благодаря которому претендовать на позицию Middle C++ разработчика и пройти собеседование станет значительно проще.
🎫Возможна оплата курса в рассрочку
Для того чтобы проверить твой уровень знаний по C++, и подходит ли тебе курс, необходимо пройти тест.
👉 ПРОЙТИ ТЕСТ: https://otus.pw/Glo5/
Реклама. Информация о рекламодателе на сайте otus.ruВремя заманчивых вакансий. На этот раз — от Финтеха Яндекса, который ищет бекэндера на C++
Финтеху всего пара лет, а он уже запустил Сплит и Карту Плюса, которыми пользуются миллионы. И развивает Yandex Pay и Яндекс ID. С одним из этих сервисов и предстоит работать: делать продуктовый движок, проектировать архитектуру, продумывать отказоустойчивость. Без любви к C++, PostgreSQL, Kubernetes и Grafana тут не обойтись.
Ты сможешь по-настоящему влиять на продукт. Без бюрократии и сложных процессов — их в Финтехе нет. Зато есть совместные завтраки и вечеринки, бесплатные обеды, ДМС, уютный офис в России или Сербии.
Ответь всего на один вопрос на сайте, и сразу попадёшь в чат с рекрутёром.
C++20 Диапазоны: Ключевое преимущество - Композиция алгоритмов
https://www.cppstories.com/2022/ranges-composition/
👉 @cpp_lib
Practical Parallelism in C++
Introduction
Mutex Basics
Windows Threads
Basic Pthreads
Broadcast Parallel Gaussian Elimination
Broadcast-Parallel Gaussian Elimination with Cyclic Mapping
MPI Basics
MPI Synchronization
MPI Gaussian Elimination Naive
MPI Gaussian Elimination Cyclic Striped
Все видео доступны на youtube
👉 @cpp_lib
C++ Mythbusters - Victor Ciura - Meeting C++ 2022
The C++ community is very large and quite vocal when it comes to controversial issues.
We’re very fragmented on many topics, based on the breadth of the C++ ecosystem and the background/experience we each bring from our C++ niche.
From CppCoreGuidelines to opinionated best practices to established idioms, there’s a lot of good information easily available. Mixed up with all of this there are also plenty of myths. Some myths stem from obsolete information, some from bad teaching materials.
In this presentation, I will dissect a few of the most popular C++ myths to a level of detail not possible on Twitter… and without the stigma of newb/duplicate/eyeroll one might experience when asking these questions on StackOverflow.
Expect the familiar “Busted”, “Plausible”, or “Confirmed” verdicts on each myth and come prepared to chat about these.
источник
👉 @cpp_lib
114 стандартных алгоритмов C++. Введение.
Добро пожаловать в новую серию статей об алгоритмах стандарта C++. Стандартные алгоритмы предлагают безопасные и оптимизированные блоки для создания программ, которые могут заменить удивительно большое количество кода пользователя.
https://itnext.io/the-114-standard-c-algorithms-introduction-2a75a2df4300
👉 @cpp_lib
👩💻 Как успешно пройти собеседование на Go-разработчика?
🚀 Узнайте на примере студента онлайн-курса «Golang Developer. Professional» в OTUS. 16 марта в 20:00 мск Балун Владимир, ведущий разработчик в Ozon, проведет Mock-собеседование с выпускником курса по различным темам, связанным с масштабированием нагрузки, отказоустойчивостью систем, внутреннего устройства баз данных, а также различных паттернов разработки бэкенда.
💻 В результате открытого урока вы узнаете, какие вопросы могут задать на собеседовании и как на них отвечать, а также получите услышите комментарии эксперта по прохождению собеседования. Продолжить обучение на курсе можно в рассрочку.
📝 Чтобы участвовать, пройдите вступительный тест: https://otus.pw/dula/
Реклама. Информация о рекламодателе на сайте otus.ruC++ Brace Pair Colorization and More in Visual Studio
https://devblogs.microsoft.com/cppblog/brace-pair-colorization-and-more-in-visual-studio/
👉 @cpp_lib
Просто о RCU (Read–Copy-Update)
Lock-free структуры данных в общем и целом неплохо описаны в различной литературе, но на мой взгляд порог вхождения в эту тему высок. Приведу простой кейс использования одной из разновидностей данной технологии под названием RCU (Read–Copy-Update). В двух словах, это механизм неблокирующего обновления структуры данных у которой много читателей и всего один писатель. Wikipedia.
https://habr.com/ru/post/712882/
👉 @cpp_lib
Как новичку в разработке на C++ настроить среду для написания кода? — Узнайте 17 марта в 20:00 на открытом уроке специализации «C++ Developer» OTUS (возможна рассрочка).
▶️Тема вебинара: «Настройка VSCode для повседневной работы и отладки кода»
Visual Studio Code — это open source IDE, которая представляет собой уникальный инструмент. Пока настраиваешь её для работы над C++-проектом, неожиданно для себя изучаешь тонкости C++ и забываешь, для чего настраивал.
👨💻На занятии мы настроим VSCode для полноценной работы и посмотрим функциональность отладки на примерах.
👉 Перед занятием ЗАРЕГИСТРИРУЙТЕСЬ
Реклама. Информация о рекламодателе на сайте www.otus.ruHow C++23 changes the way we write code - Timur Doumler - Meeting C++ 2022
👉 @cpp_lib
Тетрис / Tetris на языке С++
Часть 1. Введение
Часть 2. Падение чёрного квадрата
Часть 3. Ограничение перемещения фигуры в рамках игрового поля
Часть 4. Удаление заполненных рядов
Часть 5. Рефакторинг кода
Часть 6. Фигура на стенку или стенка на фигуру? Генерация новых фигур
Часть 7. Поворот фигуры
Часть 8. Проверка столкновения фигуры с границами игрового поля после поворота
Часть 9. Простая анимация удаления заполненных рядов
Часть 10. Автоматический сдвиг фигуры после поворота
источник
👉 @cpp_lib
Forbidden C++
The unimaginable evil of C++ is unleashed. Be afraid. Global Variables, Macros, Void*, Goto, Namespace STD, New & Delete, all the tools every C++ programmer needs... right?
2:00 Global variables
8:00 Macros
12:36 Goto
16:20 Void *
22:17 Using namespace std
27:19 New and Delete
👉 @cpp_lib
Making C++ primitive types meaningfully movable when they have sentinel values
https://devblogs.microsoft.com/oldnewthing/20230116-00/?p=107717
👉 @cpp_lib
C elements that are not supported in C++🚫
https://dev.to/mariamarsh/c-elements-that-are-not-supported-in-c-4i6n
👉 @cpp_lib
Available now! Telegram Research 2025 — the year's key insights 
