Библиотека C/C++ разработчика
Открыть в Telegram
Полезные материалы по всему, что может быть полезно плюсовику/сишнику. По всем вопросам @evgenycarter
Больше7 322
Подписчики
-124 часа
+37 дней
+1230 день
Архив постов
TCP/IP сети с помощью Boost.Asio
Boost.Asio - это кроссплатформенная библиотека C++ для программирования сетей и низкоуровневого ввода-вывода, которая предоставляет разработчикам последовательную асинхронную модель с использованием современного подхода C++.
В этом месяце Ричард Томсон продолжит наше знакомство с Boost.Asio рассмотрением сетевых технологий TCP/IP. Мы рассмотрим, как реализовать клиент NNTP (Network News Transport Protocol) с помощью Boost.Asio. NNTP - это линейно-ориентированный протокол для чтения новостных статей usenet. Это даст нам представление обо всех типичных проблемах, связанных с сетевыми приложениями TCP/IP:
- Как преобразовать имя хоста в IP-адрес?
- Как установить долговременное соединение с сервером NNTP?
- Как обрабатывать произвольно большие объемы данных с NNTP-сервера, которые поступают асинхронно?
- Как мы координируем ввод данных пользователем с вводом/выводом NNTP?
- Как мы справляемся с неожиданными сетевыми ошибками?
источник
#cpp #programming
👉 @cpp_lib
👁🗨 Каких навыков ждут работодатели от С++ разработчиков в 2023 году?
👨💻 Ответ — навык разработки кроссплатформенного ПО на Qt и ОС Аврора. Особенно это важно для работы в госсекторе и компаниях, работающих с госсектором.
В OTUS заканчивается набор на онлайн-курс «Разработка прикладного ПО на Qt и ОС Аврора».
🚀 За 5 месяцев на курсе вы изучите:
🟠 структуру библиотеки Qt
🟠научитесь писать программы на Qt + QML
🟠 освоите широкий спектр технологий, которые необходимы для создания мобильных приложений на ОС Аврора
После обучения на курсе вы сможете войти в проекты где UI требуется сочетать с высокой вычислительной нагрузкой и/или ограниченными ресурсами, а также претендовать на вакансии в государственных компаниях и крупном бизнесе.
🔵Старт курса — 30 мая. Возможны разные способы оплаты курса.
👉 Пройдите вступительный тест, чтобы записаться в группу: https://otus.pw/H8XO/
Нативная интеграция. Информация о продукте www.otus.ruBetter than Singletons: The Service Locator Pattern
https://abstractexpr.com/2023/04/25/better-than-singletons-the-service-locator-pattern/
#cpp #programming
👉 @cpp_lib
Безопасное копирование, перемещение и уничтожение объектов в современном C++ по правилу «все или ничего»
Какие конструкторы нужны классу C++? Какие он генерирует сам? Как насчет различных операторов присваивания? А деструктор? Как не отстрелить себе ногу и без труда ориентироваться в этих водах?
Это и многое другое мы рассмотрим в этом видео, которое расскажет нам о простом правиле, которому нужно следовать при реализации классов в современном C++, - правиле "все или ничего". Мы погрузимся в причины его существования и посмотрим, как оно облегчает нам жизнь.
источник
#cpp #programming
👉 @cpp_lib
🔥Как подключить библиотеки С++ к реальным проектам?
⚡️Узнаете на бесплатном занятии OTUS, которое пройдет 26 мая в 20:00. На встрече займемся подключением библиотеки для создания Python-модуля.
В результате занятия вы научитесь использовать:
-CMake и vcpkg для подключения библиотек;
-С++ и CMake для создания библиотек;
-pybind11 для создания Python-модулей.
✨Это открытое занятие пройдет в рамках специализации “C++ Developer” и будет особенно полезно начинающим разработчикам на плюсах. После пробного урока вы сможете приобрести онлайн-курс в рассрочку.
Успевайте записаться на пробный урок!
https://otus.pw/Bl5Y/
Нативная интеграция. Информация о продукте www.otus.ru
Разбираемся с использованием неблокируещего ввода-вывода в ОС Linux. Пишем пример сервера на голых системных вызовах
Как обычно пишут сервер, если не особо заботиться производительности? Программа запускается, затем начинает принимать входящие соединения от клиентов и для каждого клиента запускает новый поток, который занимается обслуживанием этого клиента. Если вы используете какой-нибудь, прости господи, Spring или Flask или там Poco, то он что-такое внутри себя и делает - разве что потоки можно переиспользовать, то есть брать из некого пула. Это всё довольно удобно, но не слишком эффективно. Скорее всего, ваши потоки, обслуживающие клиентов, живут недолго и большую часть времени ожидают либо получения данных от клиента, либо отправки их клиенту - то есть ждут возвращения системных вызовов. Создание потока ОС - довольно дорогая операция, как и переключение контекста между потоками ОС. Если вы хотите уметь обслуживать много клиентов эффективно, надо придумать что-то другое. Например, коллбеки. Но это довольно неудобно.
https://habr.com/ru/articles/733948/
#cpp #programming
👉 @cpp_lib
userver — что мы узнали за полгода в open-source
Прошло больше полугода с момента выхода фреймворка для C++ 🐙 userver в open-source. За это время мы многое узнали, на многом настрадались, а главное — получили много приятных сюрпризов.
И мы решили об этом написать. Рассказ будет полезен тем, кто ведёт или планирует вести свой open-source проект или занимается контрибьютами. Остальным будет интересно почитать про чужое набивание шишек и что вообще open-source даёт проекту.
https://habr.com/ru/companies/yandex/articles/729588/
#cpp #programming
👉 @cpp_lib
Устали от стандартных задач и ищете драйва в разработке? Переходите на Solidity — самый популярный язык в разработке децентрализованных систем 💰
Узнайте все о языке Solidity на открытом уроке, который состоится 25 мая в 20:00 мск. На занятии поговорим об особенностях этого языка, его нестандартном поведении, а также возможностях для разработчиков.
🚀 Вебинар приурочен к старту онлайн-курса «Solidity Developer» в OTUS.
💻 На занятии мы разберем:
- Почему важно изучать Solidity?
- Что можно создавать с помощью этого языка?
- Какие отличия Solidity от других языков программирования?
- Как перейти к разработке на Solidity с базовыми знаниями JS и С++?
- Какая зарплата у Solidity разработчиков?
Вебинар предназначен для разработчиков с опытом от года, фронтендерам, разрабатывающим web3 приложения, и организаторам блокчейн-стартапов.
Пройдите вступительный тест, чтобы участвовать 👉 https://otus.pw/0s4Y/
Нативная интеграция. Информация о продукте на otus.ru
Debugging a Mixed Python and C Language Stack
https://developer.nvidia.com/blog/debugging-mixed-python-and-c-language-stack/
#cpp #programming
👉 @cpp_lib
👩💻 Не хватает мощностей при разработке на C++?
🚀 Приглашаем на экспресс-обзор современных инструментов разработки на плюсах, который состоится 31 мая в 20:00.
📢📢 На этой встрече вы сможете обменяться опытом с экспертом, а также узнать:
🔵Как автоматизировать сборку с помощью CMake, Bazel.
🔵Что такое пакетные менеджеры Conan и vcpkg и как их использовать.
Это открытое занятие является бесплатной пробной частью онлайн-курса OTUS “C++ Developer. Professional”.
Оплата курса возможна любым удобным для вас способом.
👉Чтобы записаться на урок, пройдите вступительное тестирование: https://otus.pw/aYdd/
Нативная интеграция. Информация о продукте www.otus.ruИспользование std::chrono
Цель этой заметки - показать, как библиотека <chrono> может быть использована для решения практической, но не столь очевидной проблемы. В Интернете есть много хорошего материала, по которому можно изучить <chrono>, например, цикл лекций Говарда Хиннанта - автора библиотеки:
https://akrzemi1.wordpress.com/2022/04/11/using-stdchrono/
#cpp #programming
👉 @cpp_lib
Repost from Книги для программистов C/C++
C++ Software Design: Design Principles and Patterns for High-Quality Software
Автор: Klaus Iglberger (2022)
Хорошее проектирование программного обеспечения является залогом успеха вашего проекта. Но для этого необходимо иметь глубокое понимание последствий проектных решений и хороший обзор доступных альтернатив. С помощью этой книги опытные разработчики на C++ получат подробный, практический и не имеющий аналогов обзор проектирования программного обеспечения с помощью этого современного языка.
Клаус Иглбергер объясняет, как можно управлять зависимостями и абстракциями, улучшать изменяемость и расширяемость программных объектов, а также применять и реализовывать современные паттерны проектирования, которые помогут вам воспользоваться сегодняшними возможностями. Проектирование программного обеспечения - самый важный аспект программного проекта, поскольку он влияет на самые важные свойства программного обеспечения: сопровождаемость, изменяемость и расширяемость.
@cpp_knigi
Для тех, кто программирует на Go!
Golang-разработчиков с опытом от трех лет приглашают на Go Weekend Offer в Тинькофф. Все этапы интервью можно будет пройти за выходные. А еще вы познакомитесь с командой и спросите обо всем, что вас интересует.
В Тинькофф нет бюрократии, много интересных проектов и прозрачная система карьерного роста. А работать можно в гибридном режиме в офисах в 22 городах России или в Казахстане, Беларуси и Армении.
И главное: Go Weekend Offer состоится 3 и 4 июня. Но подать заявку надо до 31 мая. Регистрируйтесь!
⚙️ Курс «Реверсивный инжиниринг ПО под ОС Windows»
Старт: 5 июня
Длительность: 6 месяцев
🎓 Курс по реверсингу приложений под Windows позволяет изучить язык Ассемблера, анализировать приложения разной сложности и изучать образцы вредоносных приложений. Также рассматриваются различные техники, используемые исследователями.
ℹ️ Кому будет полезен курс:
✔️ Пентестерам, желающим лучше изучить направление реверсинга приложений
✔️ Вирусным аналитикам и исследователям кода занимающимся изучением вредоносного ПО
✔️ Программистам, разрабатывающим продукты в области ИБ или занимающимся разработкой ПО с повышенными требованиям к защищенности (промышленное, банковское ПО и т.д.)
*Для прохождения курса необходимы базовые знания реверса
🏆 Выдаём сертификат при успешной сдаче экзамена
В честь четвертой победы Codeby на Standoff, команда Академии дарит скидку 10% на оплату курса до 15 июня. Промокод: REWWIN0623
📌 Узнать подробнее о курсе
Как проверить, находится ли указатель в диапазоне памяти
https://devblogs.microsoft.com/oldnewthing/20170927-00/?p=97095
#cpp #programming
👉 @cpp_lib
Flashlight - это быстрая, гибкая библиотека машинного обучения, написанная полностью на C++ от Facebook AI Research и создателей Torch, TensorFlow, Eigen и Deep Speech. Ее основные возможности включают:
https://github.com/flashlight/flashlight
документация https://fl.readthedocs.io/en/latest/
#cpp #programming
👉 @cpp_lib
❓ Куда расти C++ разработчику?
❗️Актуальный сейчас вариант — начать разрабатывать приложения под ОС Аврору.
🤖 ОС Аврора — это современная операционная система, с помощью которой разрабатывается множество проектов-приложений B2B и B2G. Именно эта операционная система сейчас особенно востребована среди госсектора и крупных компаний, работающих с ним.
Хотите больше узнать об ОС Аврора?
📆 24 мая в 20:00 пройдет вебинар «Знакомство с ОС Аврора и возможностями разработки под неё».
На открытом уроке мы познакомимся с российской мобильной операционной системой Аврора и её основными особенностями.
🟠Мы посмотрим на среду разработки приложений Аврора IDE, на структуру и конфигурацию приложения. Для создания мобильных приложений под ОС Аврора используется технология Qt, для реализации графической части — QML. В качестве примера продемонстрируем приложение, которое отправляет уведомление в графическую подсистему Lipstick.
🔵Вебинар приурочен к старту онлайн-курса «Разработка прикладного ПО на Qt и ОС Аврора» в OTUS. Возможны разные способы оплаты курса.
👉 Для участия в вебинаре пройдите вступительный тест: https://otus.pw/RJLkP/
Нативная интеграция. Информация о продукте www.otus.ruГенерируем X509 сертификат с OpenSSL C++
В данной статья я хочу рассказать, как работать с X509 сертификатом используя OpenSSL 3.0.0 в С++, начиная от генерации своего сертификата и заканчивая его валидацией.
Так как информации в интернете по этой теме почти нет, то все, что я вам расскажу, я узнал исходя из своего печального опыта работы с этой библиотекой. Я очень надеюсь, что эта статья окажется вам полезной и сможет сохранить ваше время.
https://habr.com/ru/articles/730852/
#cpp #programming
👉 @cpp_lib
Уже доступно! Исследование Telegram 2025 — ключевые инсайты года 
