Полезные материалы по всему, что может быть полезно плюсовику/сишнику.
Шпаргалка по C++
#cpp #programming
👉 @cpp_lib
Как делать не надо: C++ велосипедостроение для профессионалов
источник
#cpp #programming
👉 @cpp_lib
Коллеги, приглашаем вас на вебинар, где Валерий Харисов расскажет о том, как искать и находить неочевидные утечки исходного кода и содержащихся в них секретов.
🕚 29 июня в 15:00 (МСК)
Leak-Search — сервис сканирования публичных репозиториев на наличие утечек исходного кода, конфигураций и конфиденциальных данных компании.
Разработан и поддерживается командой по ИБ группы компаний QIWI
👨💻На вебинаре рассмотрим:
- как программный код и секреты компании попадают в сеть
- какие векторы утечек часто остаются вне фокуса
- сколько это может стоить бизнесу
- и главное, как не стать жертвой утечки данных
Все на реальных кейсах крупнейших российских и зарубежных компаний, утечки которых были найдены с помощью Leak-Search, либо известны публично.
Для участия на вебинаре зарегистрируйтесь по ссылке
https://link.webinar.fm/register/55392181/7xyczjsv
🕚Ждем вас 29 июня в 15:00 (МСК)
❗️На вебинаре вы получите доступ к пробному периоду❗️
🔥Почему сегодня язык GO завоевывает все большую популярность и становится наиболее востребованным среди разработчиков и одним из самых распространенных в мире? Возможно, вы уже задумывались над тем, чтобы начать изучать GO. Если да, то у нас для вас отличная новость. В OTUS стартует курс Golang Developer Basic!
📣26 июня в 20:00 (мск) приглашаем на открытый урок курса “За что разработчики любят GO?”, на котором вы сможете познакомиться с преподавателем и программой курса, а также во время занятия мы приоткроем завесу причин популярности GO и обсудим:
— почему язык GO так популярен в разработке веб-сервисов и приложений;
— особенности GO и нововведения;
— в каких сферах разработки он используется.
👉🏻Для участия зарегистрируйтесь https://otus.pw/x3bSs/
После урока вы сможете понять подходит ли Вам язык GO и программа курса.
Не упустите возможность протестировать формат обучения!
Возможны разные способы оплаты и рассрочка .
Нативная интеграция подробная информация о продукте на сайте www.otus.ru
Массивы в C++
Продолжаем серию «C++, копаем вглубь». Цель этой серии — рассказать максимально подробно о разных особенностях языка, возможно довольно специальных. Это четвертая статья из серии, первые три, посвященные перегрузке в C++, находятся здесь, здесь и здесь.
Эта статья посвящена массивам. Массивы можно отнести к наиболее древним слоям C++, они пришли из первых версий C. Тем не менее, массивы вошли в объектно-ориентированную систему типов C++, хотя и с определенными оговорками. Программисту важно знать об этих особенностях, чтобы избежать потенциальных ошибок. В статье также рассмотрено другое наследие C – тривиальные типы и неинициализированные переменные. Часть нововведений C++11, С++14, С++17 затрагивают работу с массивами, все эти новые возможности также подробно описаны. Итак, попробуем рассказать о массивах все.
https://habr.com/ru/articles/495444/
#cpp #programming
👉 @cpp_lib
Ссылки и ссылочные типы в C++
Продолжаем серию «C++, копаем вглубь». Цель этой серии — рассказать максимально подробно о разных особенностях языка, возможно довольно специальных. Это пятая статья из серии, список предыдущих статей приведен в конце в разделе 6. Серия ориентирована на программистов, имеющих определенный опыт работы на C++. Эта статья посвящена ссылкам и ссылочным типам в C++.
Термин «ссылка» широко используется и в обыденной жизни, в компьютерных и других науках и поэтому его смысл сильно зависит от контекста использования. В языках программирования под ссылкой понимают небольшой объект, главная задача которого обеспечить доступ к другому объекту, расположенному в другом месте, имеющему другой размер и т.д. Объекты ссылки удобно использовать на стеке, они легко копируются, что позволяет получить доступ к объекту, на который эта ссылка ссылается, из разных точек кода. В той или иной форме ссылки поддерживаются во всех языках программирования. В ряде языков программирования, таких как C#, Java, Pyton и многих других, ссылки, по существу, являются концептуальным ядром.
https://habr.com/ru/articles/646005/
#cpp #programming
👉 @cpp_lib
👨💻 Yandex Cloud, Yandex 360 и Yandex Infrastructure — это точки притяжения талантливых инженеров
Приходите на прямой эфир, чтобы узнать про ключевые вызовы команды.
На встрече расскажем, как мы развиваем инфраструктуру Яндекса, строим публичную облачную платформу и виртуальный офис для клиентов.
📍20 июня 2023 г., в 16:00
Эфир будет полезен бэкенд-разработчикам и SRE, которым интересно узнать, какие задачи мы решаем и кого мы ищем.
Регистрируйтесь по ссылке!
Multithreading in C++ (потоки, блокировки, задачи, атомарные операции, очереди сообщений)
https://www.youtube.com/watch?v=z6M5YCWm4Go
#cpp #programming
👉 @cpp_lib
Что такое Low Latency C++? Доклад Тимура Думлера.
Часто говорят, что C++ - отличный язык для систем с низкой задержкой, таких как высокочастотная торговля, обработка звука и видеоигры. Но что именно мы подразумеваем под "низкой задержкой"? Чем это отличается от "высокой производительности"? И что делает C++ отличным языком для этого? Этот доклад - попытка ответить на эти вопросы. Мы рассмотрим примеры использования низкой задержки в этих различных отраслях, установим их общие черты и различия, обсудим типичные проблемы в системах с низкой задержкой, а также методы C++ для их преодоления.
источник
#cpp #programming
👉 @cpp_lib
🫵 Пройди тест по C++ и проверь свои знания.
Ответишь — пройдешь на продвинутый курс "C++ Developer. Professional" от OTUS по специальной цене + получишь запись мастер-класса от преподавателя курса.
👉 ПРОЙТИ ТЕСТ: https://otus.pw/Glo5/Нативная интеграция. Информация о продукте www.otus.ru
С++ (1 курс, весна 2023) Мещерин И.С. Часть 2
C++ 8. std::function / std::bind / std::any
C++ 9. unions / small strings optimization
C++ 10. std::variant / std::visit
C++ 11. std::launder. std::visit impl. Инстанцирование шаблонов. SFINAE, enable_if.
С++ 12. Концепты / constexpr function
C++ 13. Objects as non-type template parameters / consteval / std::is_constant_evaluated
источник
#cpp #programming
👉 @cpp_lib
Создание веб-сайта с помощью C++
#cpp #programming
👉 @cpp_lib
Статья о std::jthread
https://www.nextptr.com/tutorial/ta1588653702/stdjthread-and-cooperative-cancellation-with-stop-token
#cpp #programming
👉 @cpp_lib
Получить работу в крутой компании за один день? Легко!
Оставь заявку на участие в One day offer, который проводит разработчик офисного ПО МойОфис, и оперативно получи предложение о работе.
Компания ищет программистов C++ с хорошим знанием C++ 11/14, STL, Boost, QT и опытом работы более 3-х лет. Если ты соответствуешь этим критериям, то оставь заявку на участие до 10 июня, выполни тестовое задание и ожидай приглашение на собеседование, которое пройдет 17 июня.
Обещают удаленный или гибридный график работы, интересные задачи, конкурентную заработную плату, а также помощь с релокацией в Москву, Санкт-Петербург, Самару или Иннополис.
Подробности и регистрация на сайте проекта
Три очень практичные фичи C++23
C++23 — это текущая рабочая версия стандарта C++. На момент написания статьи туда пока не было включено ни одной крупной фичи, но ряд небольших нововведений, а также множество отчетов о дефектах уже утверждены в стандарте. Вы можете посмотреть текущий статус и поддержку компиляторами новых фич здесь. Многие из этих нововведений представляют из себя небольшие улучшения и вещи, которыми вы, вероятно, не будете пользоваться на регулярной основе. Однако сегодня я хочу обратить ваше внимание на три новые фичи C++23, которые, на мой взгляд, выделяются на фоне остальных именно тем, насколько часто они будут встречаться в нашем коде.
https://mariusbancila.ro/blog/2022/01/17/three-cpp23-features-for-common-use/
#cpp #programming
👉 @cpp_lib
⚡️Начните применять C на практике и решайте задачи Middle-уровня!
3 июля в 20:00 мск пройдет открытый урок «Встраиваем экспертную систему в программу на С» в OTUS. На этом вебинаре вы поймете, как объединить обычный код на С и экспертную систему.
✨Занятие пройдет в рамках онлайн-курса «Программист С» и будет полезно разработчикам различных встраиваемых систем: подсистем умного дома, роботизированных и других систем.
На встрече разберем:
— Что такое экспертная система
— Когда она используется
— На чем создается экспертная система
— Язык разработки экспертных систем и библиотеку CLIPS
Не упустите возможность сделать первый шаг в освоении языка! А продолжить сможете на курсе, доступном в рассрочку.
👉Для участия зарегистрируйтесь: https://otus.pw/z28t/
Нативная интеграция. Информация о продукте www.otus.ru
На грани между exceptions и std::expected
Посмотрев на новый тип из грядущего стандарта под названием std::expected я пришел к интересному на мой взгляд мнению, что можно немного переосмыслить его суть и сделать несколько ближе к исключениям.
В данной статье хочу немного рассказать о небольшом исследовании реализации expected, в которой используется стирание типа ошибки.
https://habr.com/ru/articles/737408/
#cpp #programming
👉 @cpp_lib
Создание игр на C++: Марио (платформер)
#cpp #programming
👉 @cpp_lib
Рефакторинг с использованием C++17 std::optional
Существует множество ситуаций, когда вам нужно выразить, что что-то является "необязательным" - объект, который может содержать значение или нет. У вас есть несколько вариантов реализации такого случая, но в C++17 появился, пожалуй, самый полезный способ: std::optional.
Сегодня я подготовил один пример рефакторинга, где вы можете научиться применять эту новую возможность C++17.
https://www.cppstories.com/2018/04/refactoring-with-c17-stdoptional/
#cpp #programming
👉 @cpp_lib
🟡 Пройдите тест по С++
— Ответьте на 20 вопросов и проверьте, насколько хорошо вы знаете язык. Сможете сдать — пройдёте на продвинутый онлайн-курс "C++ Developer. Professional" со скидкой!
🚀На этом курсе вы:
- Научитесь прикладному применению стандартов C++11 / C++14 / C++17.
- Освоите асинхронное и многопоточное программирование.
- Получите глубокое представление о шаблонной магии и паттернах проектирования.
Наглядным результатом вашей работы станет выпускной проект.
- Возможна оплата курса в рассрочку.
👉🏻 ПРОЙТИ ТЕСТ ОНЛАЙН-КУРСА ПО C++Нативная интеграция. Информация о продукте www.otus.ru
Использование классов enum в качестве битовых масок.
Перечисления являются основной частью языков C и C++ и повсеместно используются для моделирования логически различных состояний в программных системах. Однако могут возникнуть ситуации, когда необходимо смоделировать набор состояний, не исключающих друг друга. Есть несколько других способов написать это, включая определение битовых полей, использование std::bitset
или даже std::vector<bool>
, но вы также можете использовать для этого перечисления, рассматривая их как битмаски.
https://voithos.io/articles/enum-class-bitmasks/
#cpp #programming
👉 @cpp_lib
В крайности – Fold-выражения
Выражения сложения существуют в C++ начиная с C++17 и существенно влияют на то, как мы обращаемся с переменными шаблонами. Когда-то давно я писал о выражениях сложения в рамках серии о метапрограммировании, но сегодня мы рассмотрим крайние случаи использования выражений сложения.
Прежде чем мы начнем, сделаем важную оговорку: В этой статье примеры кода показывают использование вариативных шаблонов с аргументами, передаваемыми по значению, без их пересылки. Это сделано для того, чтобы упростить их и сосредоточиться на идее, лежащей в основе примеров.
https://cppsenioreas.wordpress.com/2023/05/22/into-the-extreme-fold-expressions/
#cpp #programming
👉 @cpp_lib
⌨️ Как C++ программисту использовать Copilot и ChatGPT в ежедневных задачах по разработке?
Расскажем на открытом уроке от OTUS 20 июня в 20:00.
Что будет на занятии:
▫️Copilot plugin к VSCode для языка C++;
▫️Cоздание функций по описанию;
▫️Генерация boilerplate кода;
▫️Refactoring и code review с помощью ChatGPT.
Это открытое занятие пройдёт в рамках специализации "С++ Developer" и будет полезно программистам на C++, которые хотят повысить свою продуктивность и программистам на других языках.
После пробного урока вы сможете приобрести онлайн-курс любым удобным для вас способом.
👉 Успевайте записаться на урок: https://otus.pw/qjtQ/
Нативная интеграция. Информация о продукте www.otus.ru
🤔 Знаете ли вы, что изменив подход к проектированию IT-систем можно радикально уменьшить поверхность атаки? До такой степени, что ваши разработки приобретут кибериммунитет и станут практически неприступными для большинства существующих и ещё неизвестных кибератак даже без дополнительной защиты?
😲 21 июня на онлайн-конференции Kaspersky Cyber Immunity Developers Night специалисты Лаборатории Касперского поделятся 20-летним опытом создания систем secured-by-design. За это время сформировался развитый технологический стек, методология и паттерны проектирования, полезные разработчикам различного профиля. Обсудим:
👉 Существуют ли "безопасные" и "небезопасные" языки программирования?
👉 Как реализовать многоэтапный контроль качества, отладку и экспериментальное управление в целях безопасности?
👉 Как применять GPU при разработке современных графических интерфейсов и использовать аппаратное ускорение?
👉 Какие кибериммунные решения уже существуют в автопроме и IoT, и как они работают?
🤙 Вход после регистрации
Live++ (универсальный инструмент горячей перезагрузки C++), работающий на Xbox Series X
источник
#cpp #programming
👉 @cpp_lib
С++ (1 курс, весна 2023) Мещерин И.С. Часть 1
C++ 1. std::map, std::list
C++ 2. unordered_map, allocator_traits и allocator aware containers
C++ 3. Перегрузка new/delete, Alignments and bit fields, Scoped allocators, std::move
C++ 4. Реализация std::move, rvalue and lvalue + Семинар
С++ 5. Perfect forwarding and Universal references
C++ 6. xvalues, RVO, copy elision, move_if_noexcept
C++ 7. Лямбда-функция
источник
#cpp #programming
👉 @cpp_lib
🔥 Познакомьтесь с Boost — мощным инструментом для С++ разработчиков!
🔵 14 июня в 20:00 приглашаем вас на открытый урок «Знакомство с Boost».
Вебинар пройдет в преддверии запуска онлайн-курса «C++ Developer. Professional» в OTUS.
На встрече вы:
— Узнаете, как подключать библиотеку Boost в проект с помощью CMake,
— Познакомитесь с различными библиотеками Boost
— Научитесь эффективно использовать эти библиотеки.
🟠Не упустите возможность расширить свои знания и навыки в разработке на C++! Для продолжения обучения оплатить курс можно любым удобным способом.
👉 Пройдите тест, чтобы зарегистрироваться на вебинар: https://otus.pw/tVGu/Нативная интеграция. Информация о продукте www.otus.ru
DRIVING COMPILERS
https://fabiensanglard.net/dc/
#cpp #programming
👉 @cpp_lib
Анонс scip-clang: новый SCIP-индексатор для C и C++
scip-clang - это наш новый индексатор для кода на языках C и C++, написанный с нуля для нативной эмуляции SCIP и особенно для поддержки широкого спектра языковых возможностей, присутствующих в C++.
https://about.sourcegraph.com/blog/announcing-scip-clang
#cpp #programming
👉 @cpp_lib
Хотите разрабатывать игры, обучать нейросети или создавать приложения наподобие Telegram и Skype? Тогда вам стоит изучать C++.
📆Не знаете, с чего начать? Приходите 7 июня в 20:00 мск на вебинар, приуроченный к старту онлайн-курса «Специализация С++ Developer» в OTUS.
Тема открытого урока: «Ускоряем матричное умножение на C++».
✅На занятии мы:
— Рассмотрим способы хранения матриц в памяти
— Сравним по скорости исполнения различные алгоритмы умножения
— Обсудим причины отличий во времени исполнения.
В результате научитесь писать микробенчмарки на C++ с использованием библиотеки Google Benchmark, узнаете, как ускорить операции умножения матриц.
Это будет полезно как начинающим программистам на С++, так и программистам на других языках.
Продолжить обучение на онлайн-курсе можно в рассрочку.
➡️Для участия нужно только зарегистрироваться: https://otus.pw/Smxv/
Нативная интеграция. Информация о продукте www.otus.ru