C++ Learning @cplusplus_tg Channel on Telegram

C++ Learning

@cplusplus_tg


№ 4974310652

Обучающий канал по C++

По всем вопросам @valentin_mascarov

Реклама на бирже - https://telega.in/c/Learning_pluses

C++ Learning (Russian)

C++ Learning - это обучающий канал по языку программирования C++. Если вы хотите освоить этот мощный инструмент и стать уверенным специалистом в области программирования, то этот канал идеально подойдет для вас. Здесь вы найдете полезную информацию, учебные материалы, примеры кода и многое другое, что поможет вам освоить все тонкости работы с C++.

Подписавшись на канал, вы сможете получить доступ к самой актуальной информации о C++ и улучшить свои навыки программирования. В случае возникновения вопросов или желания обсудить что-то конкретное, вы всегда можете обратиться к администратору канала @valentin_mascarov.

Не упустите возможность улучшить свои знания и навыки в программировании с помощью C++ Learning! Подпишитесь прямо сейчас и начните свой путь к успеху в мире IT! Реклама на бирже - https://telega.in/c/Learning_pluses

C++ Learning

10 Feb, 06:29


⚙️ std::condition_variable

Класс std::condition_variable в C++ предоставляет механизм для синхронизации потоков, позволяя одному потоку ждать, пока другой поток уведомит его о наступлении определенного события. Это полезно для координации работы нескольких потоков в многопоточных приложениях.

C++ Learning 👩‍💻

C++ Learning

09 Feb, 19:32


🚫 Антипаттерн недели: Использование new и delete вместо smart pointers

В C++ ручное управление памятью с new и delete может привести к утечкам памяти, неопределённому поведению и ошибкам двойного освобождения.

✔️ Используйте std::unique_ptr или std::shared_ptr из <memory>, которые автоматически освобождают ресурсы при выходе из области видимости.

C++ Learning 👩‍💻

C++ Learning

06 Feb, 16:23


⚙️ std::scope_exit

std::scope_exit из заголовка <scope> (C++23) позволяет автоматически выполнять код при выходе из области видимости. Это полезно для освобождения ресурсов и отмены операций без try/catch.

C++ Learning 👩‍💻

C++ Learning

06 Feb, 15:21


🤖 Пройди тест по Rust и проверь свои знания, готов ли ты к обучению на курсе.

Ответишь — пройдешь на курс "Rust Developer. Professional" от OTUS по специальной цене + получишь доступ к записям открытых уроков курса

За 5 месяцев обучения ты разберёшь ключевые особенности Rust и сможешь не только разрабатывать сложные программные продукты, но и в целом лучше проектировать ПО.

➡️ ПРОЙТИ ТЕСТ: https://otus.pw/PU3K/?erid=2W5zFHDccpx

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

C++ Learning

06 Feb, 14:25


⚙️ std::format

Метод std::format из заголовка <format> (C++20) предоставляет удобный способ форматирования строк, аналогичный printf, но с безопасностью типов и читаемым синтаксисом.

C++ Learning 👩‍💻

C++ Learning

05 Feb, 15:20


🎯 Ошибки в коде на C++ — враг номер один? Мы научим их побеждать!

Приходите на открытый урок «Отладка в C++: место в жизненном цикле разработки». Разберём работу с GDB, поиск утечек памяти, неопределённое поведение и многое другое.

Хотите писать код, который работает без сюрпризов? Мы покажем, как использовать отладку, чтобы ошибки боялись вас.

🗓 Урок пройдёт 12 февраля в 20:00 мск.

👉 Регистрируйтесь сейчас и получите скидку на большое обучение на курсе «C++ Developer. Professional»: https://clck.ru/3GCg9v

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

C++ Learning

05 Feb, 14:35


⚙️ std::stop_token

std::stop_token из <stop_token> (C++20) предоставляет механизм мягкой остановки потоков, позволяя безопасно завершать их работу без принудительного прерывания. Это удобная альтернатива std::atomic<bool> или std::condition_variable для управления потоками.

C++ Learning 👩‍💻

C++ Learning

04 Feb, 16:45


⚙️ std::atomic_wait / std::atomic_notify_one

Методы std::atomic_wait и std::atomic_notify_one (C++20) позволяют эффективно синхронизировать потоки без активного ожидания (busy-waiting). Они приостанавливают выполнение потока, пока значение атомарной переменной не изменится.

C++ Learning 👩‍💻

C++ Learning

03 Feb, 14:05


⚙️ std::mdspan

std::mdspan из заголовка <mdspan> (C++23) — это многомерный представляемый вид массива, который позволяет безопасно работать с данными без копирования. Это мощный инструмент для работы с матрицами, тензорами и буферами.

C++ Learning 👩‍💻

C++ Learning

03 Feb, 08:45


⚙️ std::atomic_ref

std::atomic_ref из заголовка <atomic> (C++20) позволяет работать с существующей переменной как с атомарной без копирования. Это полезно в многопоточных программах, когда нужно безопасно обновлять данные без защиты мьютексами.

C++ Learning 👩‍💻

C++ Learning

01 Feb, 18:32


⚙️ std::span

std::span из заголовка <span> (C++20) представляет собой некопируемый, безопасный для диапазонов представление массива. Он удобен для работы с массивами, векторами и буферами без создания лишних копий.

C++ Learning 👩‍💻

C++ Learning

31 Jan, 08:53


⚙️ std::hardware_constructive_interference_size и std::hardware_destructive_interference_size

Эти две константы из заголовка <new> (C++17) помогают оптимизировать размещение данных в памяти, чтобы избежать конфликтов кэш-линий процессора. Они используются для выравнивания структур и переменных в многопоточных приложениях.

C++ Learning 👩‍💻

C++ Learning

30 Jan, 18:39


⚙️ std::optional

Класс std::optional предоставляет удобный способ работы с значениями, которые могут отсутствовать. Вместо использования "магических" значений (например, -1 или nullptr) или исключений, std::optional явно указывает на наличие или отсутствие данных.

C++ Learning 👩‍💻

C++ Learning

30 Jan, 16:08


🦾Хардкорный тест по языку С++🦾

📌Пройдите тест из 20 вопросов и проверьте, насколько вы готовы к обучению на углубленном курсе «C++ Developer. Professional» от OTUS.
Сможете сдать - пройдете на курс по спеццене!

Время прохождения теста ограничено 30 минут

👉ПРОЙТИ ТЕСТ

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

C++ Learning

30 Jan, 11:16


🚫 Антипаттерн недели: Использование endl вместо \n в циклах

В C++ std::endl не просто переносит строку, но также принудительно сбрасывает буфер вывода, что замедляет выполнение кода в циклах. При частом использовании в больших программах это может значительно снизить производительность.

✔️ Используйте "\n" вместо std::endl, чтобы избежать ненужного сброса буфера и ускорить вывод.

C++ Learning 👩‍💻

C++ Learning

28 Jan, 16:57


⚙️ std::move_iterator

Итератор std::move_iterator позволяет преобразовать обычный итератор в итератор, который перемещает элементы вместо их копирования. Это особенно полезно при работе с контейнерами, содержащими "тяжелые" объекты, такие как std::string или std::vector, чтобы избежать лишних копирований.

C++ Learning 👩‍💻

C++ Learning

27 Jan, 06:34


⚙️ std::filesystem::space

std::filesystem::space из заголовка <filesystem> предоставляет информацию о свободном, занятом и общем пространстве на устройстве. Это полезно для мониторинга состояния файловой системы.

C++ Learning 👩‍💻

C++ Learning

26 Jan, 17:24


⚙️ std::execution::par_unseq

Метод std::execution::par_unseq из стандартной библиотеки C++17 позволяет параллельно выполнять алгоритмы с использованием многопоточности. Этот подход особенно полезен для обработки больших наборов данных, так как он может значительно ускорить выполнение алгоритмов, такие как сортировка, фильтрация и преобразование.

C++ Learning 👩‍💻

C++ Learning

25 Jan, 19:26


⚙️ std::assume_aligned

std::assume_aligned из заголовка <memory> (доступно с C++20) сообщает компилятору, что указатель имеет определённое выравнивание. Это позволяет оптимизировать доступ к памяти, особенно в высокопроизводительных приложениях.

C++ Learning 👩‍💻

C++ Learning

23 Jan, 06:22


⚙️ std::monostate

std::monostate из заголовка <variant> используется как «пустой» тип внутри std::variant. Это полезно для добавления незначимого состояния, которое можно обработать отдельно.

C++ Learning 👩‍💻

C++ Learning

22 Jan, 19:25


⚙️ std::barrier

std::barrier из заголовка <barrier> (доступно с C++20) синхронизирует выполнение потоков, ожидая, пока все участники не достигнут определённой точки (барьера). Это полезно для координации действий в многопоточных приложениях.

C++ Learning 👩‍💻

C++ Learning

21 Jan, 08:17


🚫 Антипаттерн недели: Использование массива для проверки на принадлежность

В C++ использование массива для проверки на наличие элемента приводит к линейной сложности поиска O(n), что неэффективно для больших наборов данных.

✔️ Используйте контейнеры std::unordered_set или std::set, которые обеспечивают более производительный поиск: O(1) для std::unordered_set и O(log n) для std::set.

C++ Learning 👩‍💻

C++ Learning

19 Jan, 18:03


⚙️ std::chrono::steady_clock

std::chrono::steady_clock из заголовка <chrono> представляет часы с монотонным ходом, которые никогда не корректируются. Это полезно для измерения времени выполнения или задержек.

C++ Learning 👩‍💻

C++ Learning

14 Jan, 12:33


⚙️ std::atomic_flag

std::atomic_flag из заголовка <atomic> представляет собой простой атомарный флаг, который можно использовать для реализации низкоуровневой синхронизации.

C++ Learning 👩‍💻

C++ Learning

13 Jan, 18:12


⚙️ std::filesystem::file_size

Метод std::filesystem::file_size из заголовка <filesystem> возвращает размер файла в байтах. Это полезно для получения информации о размере файла без его открытия.

C++ Learning 👩‍💻

C++ Learning

13 Jan, 14:55


LeetCode теперь в Telegram!

LeetCode — это сайт, который позволяет быстро готовиться к техническим собеседованиям по программированию. Там публикуются задачи с собеседований в Google и Microsoft с решениями.

Подписывайтесь: @leetcode

C++ Learning

13 Jan, 08:38


⚙️ std::execution::par

std::execution::par из заголовка <execution> используется для параллельного выполнения алгоритмов STL. Это позволяет ускорить обработку больших наборов данных.

C++ Learning 👩‍💻

C++ Learning

08 Jan, 18:13


🚫 Антипаттерн недели: Использование явных циклов для поиска в контейнерах

Явные циклы для поиска элемента в контейнерах делают код громоздким и увеличивают вероятность ошибок. В C++ стандартная библиотека предоставляет функции, такие как std::find, для упрощения и оптимизации этих операций.

✔️ Используйте алгоритмы из <algorithm>, такие как std::find, чтобы упростить код и улучшить читаемость.

C++ Learning 👩‍💻

C++ Learning

07 Jan, 08:39


⚡️ В сети начали массово сливать курсы и книги известных онлайн школ

Вот отсортированная база с тонной материала(постепенно пополняется):

БАЗА (4687 видео/книг):

(363 видео, 87 книги) — Python
(415 видео, 68 книги) — Frontend
(143 видео, 33 книги) — ИБ/Хакинг
(352 видео, 89 книги) — С/С++
(343 видео, 87 книги) — Java
(176 видео, 32 книги) — Git
(293 видео, 63 книги) — C#
(174 видео, 91 книги) — DevOps
(167 видео, 53 книги) — PHP
(227 видео, 83 книги) — SQL/БД
(163 видео, 29 книги) — Linux
(107 видео, 43 книги) — СисАналз
(181 видео, 32 книги) — Go
(167 видео, 43 книги) — Kotlin/Swift
(112 видео, 24 книги) — Flutter
(137 видео, 93 книги) — DS/ML
(113 видео, 82 книги) — GameDev
(183 видео, 37 книги) — UI/UX
(129 видео, 73 книги) — QA
(213 видео, 63 книги) — Rust
(121 видео, 24 книги) — Ruby

Скачивать ничего не нужно — все выложили в Telegram

C++ Learning

07 Jan, 06:44


⚙️ std::byte

std::byte из заголовка <cstddef> предоставляет тип для работы с данными на уровне байтов. Это полезно для низкоуровневой работы с памятью и сетевыми протоколами.

C++ Learning 👩‍💻

C++ Learning

06 Jan, 17:00


⚙️ std::rope

std::rope из заголовка <ext/rope> (часть расширений GCC) представляет собой структуру данных для работы с длинными строками. Это дерево, в котором строки представляются как куски, что позволяет эффективно выполнять операции вставки и удаления.

C++ Learning 👩‍💻

C++ Learning

05 Jan, 19:12


⚙️ std::pmr::polymorphic_allocator

std::pmr::polymorphic_allocator из заголовка <memory_resource> предоставляет механизм пользовательского управления памятью. Это полезно для оптимизации работы с памятью в приложениях, требующих высокой производительности.

C++ Learning 👩‍💻

C++ Learning

02 Jan, 18:08


⚙️ std::filesystem::canonical

std::filesystem::canonical возвращает абсолютный канонический путь, разрешая символические ссылки. Это полезно для работы с реальными путями файловой системы.

C++ Learning 👩‍💻

C++ Learning

31 Dec, 14:48


Любимые подписчики, поздравляю вас с наступающим новым годом! Пусть в 2025 году исполнятся все ваши самые заветные желания🎄🎄🎄🎄

C++ Learning

30 Dec, 12:29


⚙️ std::exchange

std::exchange из заголовка <utility> позволяет заменить значение переменной новым значением и одновременно вернуть старое значение. Это удобно для реализации swap-like операций или сброса переменных.

C++ Learning 👩‍💻

C++ Learning

27 Dec, 17:58


⚙️ std::ofstream

std::ofstream из заголовка <fstream> используется для записи данных в файл. Это удобный инструмент для работы с файлами, позволяющий записывать текстовую или бинарную информацию.

C++ Learning 👩‍💻

C++ Learning

27 Dec, 14:55


⚡️Слита База из 1000+ топовых IT-курсов

👩‍💻 Все языки: @main_it_baza

🖥 Python: @python_baza

👩‍💻 Frontend: @frontend_baza

👩‍💻 Backend: @backend_baza

🎨 Дизайн: @design_baza

📊 Архив: @archive_baza

Всё лучшее про IT бесплатно — уже на Базе 🚀

C++ Learning

27 Dec, 09:04


🤔 Как это работает? — Передача аргументов в C++

В C++ аргументы функции можно передавать по значению, по ссылке и по константной ссылке. Эти подходы влияют на производительность и безопасность. Давайте разберём, как это работает.

➡️ Как это работает:

Передача по значению: создаёт копию объекта, что может быть дорого для больших объектов.
Передача по ссылке: передаёт ссылку на объект, избегая копирования.
Передача по константной ссылке: добавляет защиту от изменения объекта внутри функции.

Развернутый аналог:
void modifyValue(const int &value) {
// value нельзя изменить
}


C++ Learning 👩‍💻

C++ Learning

25 Dec, 18:59


➡️ auto & decltype

auto-типизированные переменные выводятся компилятором на основе типа их инициализатора.
Чрезвычайно полезно с точки зрения удобочитаемости, особенно для сложных типов:

// std::vector<int>::const_iterator cit = v.cbegin();
auto cit = v.cbegin(); // альтернатива

// std::shared_ptr<vector<uint32_t>> demo_ptr(new vector<uint32_t>(0);
auto demo_ptr = make_shared<vector<uint32_t>>(0); // альтернатива


Функции также могут выводить тип возвращаемого значения с помощью auto. В C++11 тип возвращаемого значения должен быть указан либо явно, либо с помощью decltype, например:

template <typename X, typename Y>
auto add(X x, Y y) -> decltype(x + y)
{
return x + y;
}
add(1, 2); // == 3
add(1, 2.0); // == 3.0
add(1.5, 1.5); // == 3.0


Приведенная выше форма определения возвращаемого типа называется trailing return type, т.е. -> return-type.

C++ Learning 👩‍💻

C++ Learning

25 Dec, 14:38


☕️ Дмитрий Мезенцев, руководитель службы разработки универсального Поиска рассказывает, как в Яндексе сочетаются атмосфера стартапа и бигтеха и за что он любит продуктовую разработку.

А если после прочтения вам захочется стать частью команды Яндекса, откликайтесь на вакансии:

— Разработчик бэкенда в Медицину;
— Бэкенд-разработчик в Поиск;
— Бэкенд-разработчик в универсальный Поиск;
— Разработчик UGC.

C++ Learning

24 Dec, 17:08


⚙️ std::filesystem::create_directory

Метод std::filesystem::create_directory из заголовка <filesystem> используется для создания новой директории. Это полезно для программ, которые работают с файловыми структурами и должны создавать папки динамически.

C++ Learning 👩‍💻

C++ Learning

23 Dec, 07:31


⚙️ std::filesystem::exists

Метод std::filesystem::exists из заголовка <filesystem> используется для проверки существования файла или директории. Это полезно для работы с файловой системой, например, перед чтением или записью в файл.

C++ Learning 👩‍💻

C++ Learning

22 Dec, 20:18


⚙️ Избегание ненужного копирования объектов

Передача больших объектов по значению в функции или циклы создаёт их копии, что приводит к избыточным расходам памяти и времени. Вместо этого используйте ссылки или ссылки на const.

Проблема: Передача объектов по значению приводит к их копированию, увеличивая накладные расходы.

✔️ Решение: Используйте ссылки или ссылки на const для передачи объектов в функции и циклы.

C++ Learning 👩‍💻

C++ Learning

20 Dec, 09:21


⚙️ typeid

typeid — это оператор в C++, который позволяет получить информацию о типе переменной или выражения во время выполнения. Возвращает объект типа std::type_info, содержащий сведения о типе.

C++ Learning 👩‍💻

C++ Learning

19 Dec, 08:16


➡️ Интересный факт о языке: decltype(auto) для вывода типа

decltype(auto) позволяет компилятору выводить тип переменной, сохраняя ссылки и модификаторы const. Это полезно для точного сохранения типа выражения.

Как это работает:

• decltype(auto) выводит тип на основе выражения.
В отличие от auto, сохраняет ссылки и const.

C++ Learning 👩‍💻

C++ Learning

18 Dec, 18:07


⚙️ std::any_cast()

Метод std::any_cast() используется для извлечения значения из объекта типа std::any. Этот тип может содержать значение любого типа, и std::any_cast позволяет безопасно получить его, если тип извлекаемого значения совпадает с типом, указанным в аргументе.

C++ Learning 👩‍💻

C++ Learning

18 Dec, 15:07


Подробно рассказываем о высокопроизводительных решениях с фреймворком userver на новом бесплатном вебинаре!

Он предназначен для создания надежных и молниеносных микросервисов и веб-серверов. Освойте передовой C++ фреймворк всего за 90 минут!

 Вы узнаете:
- Уникальные архитектурные особенности и преимущества userver, которые сделают вашу работу легче и эффективнее.
- Как быстро настроить окружение и запустить свой первый проект, не тратя лишнего времени.
- Советы высококлассных профессионалов по работе с асинхронностью, которые помогут вам стать мастером своего дела и очень много другой полезной сочной информации!

💡 Будет особенно интересно:
- C++ разработчикам, стремящимся освоить мощный инструмент для создания микросервисов.
- Backend-инженерам и Team Lead'ам, ищущим высокопроизводительные решения для своих задач.
- Специалистам, работающим над масштабируемыми системами.

Получите практический и ценный опыт работы с userver, который можно сразу применить в своих проектах - регистрируйтесь по ссылке:
https://clck.ru/3FJqW9

P.S. Все зарегистрированные участники получат приличную скидку на обновленный топовый курс «C++ Developer. Professional»

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

C++ Learning

17 Dec, 17:04


⚙️ std::invoke_result

В C++17 и выше std::invoke_result из заголовка <type_traits> позволяет определить тип возвращаемого значения функции, метода или вызываемого объекта (callable). Это полезно для метапрограммирования и написания универсального кода.

C++ Learning 👩‍💻

C++ Learning

17 Dec, 15:02


Знаете, что делает код на C++ мощным? Правильная работа с библиотеками!

👉 Если вы хотите стать востребованным C++ разработчиком, пора прокачивать навыки работы с библиотеками. Это ваш ключ к написанию профессионального и оптимизированного кода!

Что вас ждет на открытом уроке:
- узнаете, какие бывают библиотеки и чем они отличаются;
- научитесь подключать сторонние библиотеки и собирать свои;
- поймете, как библиотеки упрощают вашу работу и делают код эффективнее.

⭐️ Спикер Денис Злобин — старший инженер-программист в Astra Linux, опытный наставник разработчиков.

19 декабря в 20:00 мск. Для начинающих и Junior-разработчиков, готовых к карьерному росту. Вебинар проходит в преддверии старта курса «C++ Developer», участники урока получат скидку на большое обучение.

👉 Для участия зарегистрируйтесь: https://otus.pw/FjbJ/?erid=LjN8KFmdv 

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

C++ Learning

03 Dec, 11:24


Устроиться аналитиком в Яндекс за выходные

7–8 декабря проводим Weekend Offer Analytics. До 4 декабря оставьте заявку на участие, 7 декабря пройдите технические собеседования, а 8 декабря познакомьтесь с командами и получите офер.

В мероприятии участвует 7 команд: Crowd, Карты, Поиск, YaGPT 2, Автономный транспорт, Реклама и Ecom-сценарии. Вы сможете пообщаться с менеджерами и выбрать проект, который покажется самым интересным.

Нанимаем в офисы России и Республики Беларусь.

Узнать подробности и зарегистрироваться можно здесь.

C++ Learning

03 Dec, 08:34


⚙️ std::remove_if

В C++ функция std::remove_if из заголовка <algorithm> удаляет элементы из контейнера, удовлетворяющие заданному условию. Она не уменьшает размер контейнера, а перемещает удалённые элементы в конец.

C++ Learning 👩‍💻

C++ Learning

02 Dec, 15:04


Погрузитесь в мир передовых технологий и узнайте, как использовать мощь C++ для создания молниеносных веб-приложений с помощью WebAssembly! Регистрируйтесь на бесплатный урок от профессионалов: https://clck.ru/3EqQv9

На вебинаре:
- Откройте для себя WebAssembly:
Узнайте, как эта революционная технология позволяет запускать C++ код в браузере с почти нативной производительностью.
Мы рассмотрим, как компилировать C++ код в WebAssembly с использованием Emscripten и создадим работающий веб-сервер.
Изучим техники оптимизации WebAssembly модулей для достижения максимальной эффективности.
Узнайте методы интеграции C++ кода с JavaScript для создания гибридных веб-приложений.
Поймите особенности работы с памятью и управление ресурсами в WebAssembly.


⚡️Полезно:
- Всем разработчикам: Расширьте свои возможности в веб-разработке и создавайте высокопроизводительные приложения.
- Разработчикам сложных проектов: Работайте над вычислительно-сложными веб-проектами с новыми инструментами.
- Специалистам по кроссплатформенной разработке: Интересуйтесь новыми технологиями и их применением.

😉 По итогам вебинара вы:
1. Создадите свой первый WebAssembly модуль на C++: Получите практический опыт создания и запуска модулей.
2. Получите навыки отладки и оптимизации: Научитесь отлаживать и оптимизировать ваши WASM-приложения.
3. Разработаете гибридные веб-приложения: Научитесь комбинировать C++ и JavaScript для создания мощных приложений.
4. Освоите инструменты WebAssembly: Узнайте, как использовать основные инструменты экосистемы WebAssembly.

🔼 Зарегистрируйтесь сейчас и прокачайте навыки создания высокопроизводительных веб-приложений с C++ и WebAssembly!


Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

C++ Learning

02 Dec, 13:39


⚙️ std::merge

В C++ функция std::merge из заголовка <algorithm> объединяет два отсортированных диапазона в один отсортированный. Это полезно для слияния данных из двух контейнеров.

C++ Learning 👩‍💻

C++ Learning

02 Dec, 12:01


Хотите создавать идеальные C++ API, которые не ломаются на первой же нагрузке?

👉 Тогда не пропустите этот бесплатный вебинар! 3 декабря в 20:00 мск — открытый урок, который кардинально изменит ваш подход к проектированию API на C++!

**Что вас ждет?**
- Понимание плохого и хорошего API: как отличить чудовищное API от шедевра?
- Умение правильно именовать сущности и разбивать их на атомарные элементы. Прокачаем навыки, чтобы не было «кучи кода» и «головной боли».
- Идеи data-oriented подхода для создания API в высоконагруженных приложениях.

⭐️ Спикер Андрей Рыжиков — разработчик в НИИ обработки аэрокосмических изображений.

Успейте записаться на открытый урок и получите скидку на большое обучение «C++ Developer».

Для участия зарегистрируйтесь: https://clck.ru/3EqebT  

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

C++ Learning

02 Dec, 06:43


⚙️ std::partial_sort

В C++ функция std::partial_sort из заголовка <algorithm> сортирует только часть контейнера, оставляя элементы до заданной позиции отсортированными, а остальные — в неопределённом порядке. Это эффективно, если нужно найти несколько наименьших или наибольших элементов.

C++ Learning 👩‍💻

C++ Learning

01 Dec, 11:27


⚙️ std::partition

В C++ функция std::partition из заголовка <algorithm> разделяет элементы контейнера на две группы: те, которые удовлетворяют заданному условию, и те, которые не удовлетворяют. Это полезно для фильтрации данных.

C++ Learning 👩‍💻

C++ Learning

29 Nov, 17:06


⚙️ std::accumulate

В C++ функция std::accumulate из заголовка <numeric> выполняет свёртку элементов диапазона, используя заданную операцию. По умолчанию используется суммирование, но можно задать любую ассоциативную операцию.

C++ Learning 👩‍💻

C++ Learning

29 Nov, 15:06


Хотите создавать идеальные C++ API, которые не ломаются на первой же нагрузке?

👉 Тогда не пропустите этот бесплатный вебинар! 3 декабря в 20:00 мск — открытый урок, который кардинально изменит ваш подход к проектированию API на C++!

**Что вас ждет?**
- Понимание плохого и хорошего API: как отличить чудовищное API от шедевра?
- Умение правильно именовать сущности и разбивать их на атомарные элементы. Прокачаем навыки, чтобы не было «кучи кода» и «головной боли».
- Идеи data-oriented подхода для создания API в высоконагруженных приложениях.

**Кому это будет полезно?**
- Разработчикам, кто только знакомится с C++ или переходит с других языков.
- C++-программистам, которые хотят прокачать свои навыки разработки API.

Вы научитесь проектировать удобный, стабильный и эффективный API для C++, который будет работать как часы.

⭐️ Спикер Андрей Рыжиков — разработчик в НИИ обработки аэрокосмических изображений.

Успейте записаться на открытый урок и получите скидку на большое обучение «C++ Developer».

Для участия зарегистрируйтесь: https://clck.ru/3Euqr7

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

C++ Learning

28 Nov, 11:04


⚙️ std::bind

В C++ функция std::bind из заголовка <functional> позволяет создавать обёртки для функций, связывая определённые аргументы. Это удобно для частичного применения аргументов.

C++ Learning 👩‍💻

C++ Learning

27 Nov, 14:56


Погрузитесь в мир передовых технологий и узнайте, как использовать мощь C++ для создания молниеносных веб-приложений с помощью WebAssembly! Регистрируйтесь на бесплатный урок от профессионалов: https://clck.ru/3Eqcpm?erid=LjN8K8ovf 

На вебинаре:
- Откройте для себя WebAssembly: Узнайте, как эта революционная технология позволяет запускать C++ код в браузере с почти нативной производительностью. Мы рассмотрим, как компилировать C++ код в WebAssembly с использованием Emscripten и создадим работающий веб-сервер.

⚡️Полезно:
- Всем разработчикам: Расширьте свои возможности в веб-разработке.
- Разработчикам сложных проектов: Работайте над вычислительно-сложными веб-проектами с новыми инструментами.
- Специалистам по кроссплатформенной разработке: Интересуйтесь новыми технологиями и их применением.

🔼 Зарегистрируйтесь сейчас и прокачайте навыки создания высокопроизводительных веб-приложений с C++ и WebAssembly!

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

C++ Learning

27 Nov, 08:46


⚙️ std::adjacent_find

В C++ функция std::adjacent_find из заголовка <algorithm> ищет первый элемент в контейнере, который имеет соседний элемент с таким же значением или удовлетворяет заданному условию. Это удобно для обнаружения повторений или паттернов.

C++ Learning 👩‍💻

C++ Learning

26 Nov, 09:00


⚙️ std::set_intersection

В C++ функция std::set_intersection из заголовка <algorithm> позволяет найти пересечение двух отсортированных контейнеров. Результат записывается в другой контейнер.

C++ Learning 👩‍💻

C++ Learning

25 Nov, 16:46


⚙️ std::vector::resize

В C++ метод std::vector::resize изменяет размер вектора. Если новый размер больше текущего, добавляются элементы с дефолтным значением. Если меньше — лишние элементы удаляются.

C++ Learning 👩‍💻

C++ Learning

25 Nov, 14:38


🚀 Митап по C++ — в центре внимания ключевые аспекты разработки!

✔️ Применение паттернов ООП в современных C++ проектах — Костя Крюков, YADRO
Поговорим о сочетании производительности и гибкости в реальных проектах C++.

✔️ Void me — Сергей Кушниренко, Forgotten Empires (Microsoft Game Studios)
Разберём проблемы типа void в тестах и альтернативные решения.

✔️ Обзор build-системы LightForge — Сергей Струков, YADRO
Сравним LightForge с Make, CMake и Bazel, обсудим её преимущества.

✔️ Сериализация сложных структур данных с помощью jsoncpp — Константин Селезнёв, РЕЛЭКС
Создание удобной надстройки для работы с JSON в сложных проектах.

✔️ Статический анализ: что? как? зачем? Евгений Феклин, PVS-Studio
Как писать безопасный и качественный код с помощью статического анализа.

Модератор: Алексей Кузнецов, VK
Эксперт: Илья Казаков, YADRO



🗓 28 ноября, начало в 19:00 мск, Четверг

🌐 ОНЛАЙН

Регистрация на мероприятие

Реклама, ООО "Эвроне.ру", ИНН 3663057399
erid: 2Vfnxxwfpik

C++ Learning

24 Nov, 16:24


⚙️ std::vector::insert

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

C++ Learning 👩‍💻

C++ Learning

23 Nov, 18:30


Abseil

Abseil — это набор библиотек общего назначения для C++, открытый компанией Google. Он предназначен для расширения возможностей стандартной библиотеки C++ и включает в себя хорошо протестированный код, используемый во внутренних проектах Google.

Стоит отметить, что Abseil не является заменой стандартной библиотеки C++. Google скорее делится своим полезным и проверенным кодом с сообществом разработчиков.

C++ Learning 👩‍💻

C++ Learning

23 Nov, 14:56


Хотите понять, как Rust справляется с асинхронностью и почему этот язык так эффективен?

Приглашаем на открытый урок «Асинхронность под капотом» 25 ноября в 20:00 мск! За один вечер вы разберетесь, как Rust организует асинхронные задачи, узнаете, как компилятор преобразует async-функции, и получите основы для работы с асинхронным кодом на профессиональном уровне.

Спикер Кирилл Федченко — опытный разработчик на нескольких языках. 

Зарегистрируйтесь на вебинар и откройте для себя Rust с новой стороны! Участники получат скидку на большой курс «Rust Developer. Professional». Регистрация открыта!

#реклама
О рекламодателе

C++ Learning

23 Nov, 11:45


⚙️ std::ceil и std::floor

В C++ функции std::ceil и std::floor из заголовка <cmath> используются для округления числа вверх или вниз до ближайшего целого. Это полезно для контроля направления округления.

C++ Learning 👩‍💻

C++ Learning

22 Nov, 08:24


⚙️ std::replace

В C++ функция std::replace из заголовка <algorithm> заменяет все вхождения указанного значения на новое значение в заданном диапазоне. Это полезно для массовой замены элементов в контейнерах.

C++ Learning 👩‍💻

C++ Learning

20 Nov, 18:25


⚙️ std::reverse

В C++ функция std::reverse из заголовка <algorithm> позволяет изменить порядок элементов в контейнере на обратный. Это полезно для работы с массивами, векторами и другими последовательностями.

C++ Learning 👩‍💻

C++ Learning

20 Nov, 14:53


👩‍💻 Обучение программированию с нуля

Друзья, появился новый канал по обучению разных IT технологий.

Изучение Python
Изучение JavaScript
Изучение HTML/CSS
Изучение Java
Изучение C/С++
Изучение С#
Изучение SQL

👉 Подписывайся на TechVibe, будет интересно.

C++ Learning

18 Nov, 11:00


⚙️ std::rotate

Функция std::rotate из заголовка циклически перемещает элементы в контейнере. Это удобно для сдвига массива или перестановки элементов.

C++ Learning 👩‍💻

C++ Learning

18 Nov, 08:25


🚀Приглашаем на бесплатный вебинар по C++!🚀

Дата: 19 ноября 2024 года
Время: 20:00
Тема: Как протестировать C++ код и оценить степень собственной лени

На вебинаре поговорим о том, зачем разработчикам писать юнит-тесты, и какую пользу они несут. Посмотрим популярные фреймворки тестирования, такие как GTest и Boost, разберем несколько практических примеров.

На занятии:
1. Научимся подключать фреймворки тестирования к своему проекту при помощи CMake.
2. Напишем готовые к запуску тесты.
3. Поговорим о том, как измерить покрытие тестами кода, какие инструменты для этого существуют.

В результате:
1. Придем к тому, что вместе с кодом стоит сразу писать и юнит-тесты к нему.
2. В будущем с легкостью интегрируем любой фреймворк тестирования в свой проект.
3. Научимся не только писать тесты, но и мерить их покрытие.

📌Скидка 15%: действует до 17 ноября!

🔗 Регистрация на вебинар

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

C++ Learning

18 Nov, 05:19


⚙️ std::set

Класс std::set из заголовка <set> представляет собой контейнер, хранящий уникальные элементы в отсортированном порядке. Это удобно для работы с множествами или быстрого поиска.

C++ Learning 👩‍💻

C++ Learning

17 Nov, 15:00


Как управлять памятью без лишних головных болей? Rust предлагает инструменты безопасности, и мы покажем, как это работает в реальных проектах!

На открытом вебинаре 19 ноября в 20:00 мск разберем умные указатели, interior mutability и деструкторы, научимся избегать ошибок с динамической памятью и писать производительный безопасный код.

Хватит бороться с утечками памяти и некорректными указателями! Освойте Rust и научитесь создавать сложные структуры данных. С поддержкой экспертов и дипломом OTUS ваш резюме станет еще сильнее.

Регистрируйтесь на вебинар сейчас и получите скидку на обучение «Rust Developer. Basic»: https://clck.ru/3EeRFB?erid=LjN8KEQ7P

#реклама
О рекламодателе

C++ Learning

17 Nov, 06:44


⚙️ std::priority_queue

В C++ класс std::priority_queue из заголовка <queue> представляет собой контейнер с приоритетной очередью. Элементы извлекаются в порядке приоритета — по умолчанию, от большего к меньшему.

C++ Learning 👩‍💻

C++ Learning

16 Nov, 15:35


⚙️ std::lower_bound и std::upper_bound

Функции std::lower_bound и std::upper_bound из заголовка <algorithm> используются для поиска границ диапазона элементов, равных заданному значению, в отсортированном контейнере. Это основа для эффективного бинарного поиска.

C++ Learning 👩‍💻

C++ Learning

15 Nov, 05:52


⚙️ std::unique

Функция std::unique из заголовка <algorithm> удаляет последовательные дубликаты в отсортированном диапазоне, оставляя уникальные элементы. Это полезно для очистки списка от повторяющихся значений.

C++ Learning 👩‍💻

C++ Learning

13 Nov, 15:18


Получите оффер Software Engineer всего за 3 дня! 🚀

Вендор и производитель IT-инфраструктуры YADRO приглашает Software Engineer на SPRINT OFFER.

Команда KVADRA OS ждёт кандидатов сразу на два направления: Linux-based (от уровня junior) и Android (уровня middle и senior).

В YADRO под брендом KVADRA ребята создают персональные устройства, а также разрабатывают собственную операционную систему kvadraOS, которая поддерживает облачное хранилище и включает множество компонентов собственной разработки — от системного ядра до приложений и сервисов.

🔵 Присоединившись к YADRO, вы станете частью большого инженерного сообщества и получите возможность влиять на продукт, работая в уникальной команде специалистов.

Читайте подробности на сайте, оставляйте заявку до 24 ноября и присоединяйтесь к команде KVADRA OSпо ссылке.

C++ Learning

13 Nov, 06:13


⚙️ std::tie

Функция std::tie из заголовка <tuple> используется для создания кортежа ссылок, что позволяет удобно распаковывать значения из функций или объектов. Это упрощает многозначные возвраты и код чтения данных.

C++ Learning 👩‍💻

C++ Learning

12 Nov, 07:33


Что будет выведено при выполнении кода?

Пояснение
⬇️
Лямбда-выражение с захватом по значению и спецификатором mutable работает с копией x. Изменение x внутри лямбды не влияет на оригинальную переменную x вне лямбды.

C++ Learning 👩‍💻

C++ Learning

11 Nov, 16:35


➡️ Crow — легковесный фреймворк для веб-приложений на C++

Crow — это минималистичный фреймворк для разработки веб-серверов на C++. Поддерживает маршрутизацию, работу с JSON и асинхронный ввод-вывод, что делает его идеальным для создания быстрых и лёгких API.

Простая маршрутизация для создания RESTful API.
Встроенная поддержка JSON через nlohmann/json.
Асинхронная обработка запросов для высокой производительности.

🔗 Ссылочка на доку

C++ Learning 👩‍💻

C++ Learning

11 Nov, 14:41


Что такое виртуальная память и как она помогает эффективно распределять ресурсы? Как система может выделить больше памяти, чем на самом деле доступно на сервере? На нашем вебинаре разберем ключевые вопросы управления памятью в Linux.

Узнаете об эволюции адресации памяти и поймете, зачем используется swap и как работает OOM Killer, защищая систему от нехватки ресурсов.

Погружаясь в тонкости управления памятью, вы сможете оптимизировать свои процессы в Linux и лучше понимать поведение системы под нагрузкой.

Присоединяйтесь 14 ноября в 19:00, чтобы расширить свои знания и улучшить свои навыки работы с памятью в Linux.

Присоединяйтесь и получите скидку на участие в курсе «Computer Sciences»: https://clck.ru/3EYFhy

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

C++ Learning

11 Nov, 10:44


⚙️ std::forward

Функция std::forward из заголовка <utility> используется для реализации идеальной передачи (perfect forwarding) аргументов в шаблонных функциях. Она позволяет сохранить категорию значения (lvalue или rvalue) передаваемого аргумента, что особенно полезно при написании обобщённого кода.

C++ Learning 👩‍💻

C++ Learning

08 Nov, 08:20


Что будет выведено при выполнении кода?

Пояснение
⬇️
Для func(10) вызывается специализированная версия функции для int. Для func(10.5) вызывается шаблонная версия, так как точного соответствия нет.

C++ Learning 👩‍💻

C++ Learning

07 Nov, 08:50


➡️ RaftLib — современная библиотека для параллельной обработки данных в C++

RaftLib — это библиотека с открытым исходным кодом, упрощающая разработку высокопроизводительных параллельных приложений на C++. Она позволяет создавать масштабируемые системы обработки данных, используя концепцию потоков и конвейеров.

Интуитивный интерфейс: Напоминает стандартные потоки C++, облегчая освоение.
Автоматическая параллелизация: Управляет потоками и распределением задач для оптимальной производительности.
Гибкость и масштабируемость: Эффективна как на локальных системах, так и в распределённых средах.

🔗 Ссылочка на доку

C++ Learning 👩‍💻

C++ Learning

06 Nov, 18:28


➡️ Boost.JSON — библиотека для работы с JSON в C++

Boost.JSON, предназначена для эффективной работы с JSON-данными в C++. Она обеспечивает высокую производительность и простоту интеграции в существующие проекты.

Высокая производительность: Оптимизированный парсер и сериализатор для быстрого преобразования JSON-данных.
Совместимость: Поддержка стандартных контейнеров C++ и интеграция с другими библиотеками Boost.
Гибкость: Возможность работы с произвольными JSON-структурами и типами данных.
Безопасность: Обработка ошибок и защита от переполнения буфера при работе с недоверенными данными.


🔗 Ссылочка на доку

C++ Learning 👩‍💻

C++ Learning

06 Nov, 10:33


⚙️ std::visit

В C++17 введена функция std::visit из заголовка <variant>, которая позволяет применять вызываемый объект (функтор, лямбда или функциональный объект) к текущему значению std::variant. Это обеспечивает безопасную и удобную работу с вариантами, заменяя необходимость в явных проверках типа и приведениях.

C++ Learning 👩‍💻

C++ Learning

05 Nov, 17:09


⚙️ std::transform_reduce

Функция std::transform_reduce из заголовка <numeric> объединяет возможности std::transform и std::accumulate, позволяя сначала применить операцию к каждому элементу, а затем свести их к одному значению. Это полезно для производительного параллельного вычисления сумм, произведений и других операций.

C++ Learning 👩‍💻

C++ Learning

05 Nov, 14:54


Где в IT ещё не такая большая конкуренция? Например, в инженерии — робототехнике и дронах, реверс-инжиниринге и 3D-моделировании.

Многие компании активно нанимают специалистов в этой области, и спрос растёт с каждым днём. Эта сфера открывает безграничные возможности для творчества, инноваций и высоких заработков. Например, для разработки и обслуживания устройств компании активно нанимают инженеров-робототехников со средней зарплатой от 70 000 до 300 000 рублей.

Skillbox разработал бесплатный мини-курс по робототехнике и 3D-печати, который позволит попробовать себя в одной из профессий будущего: https://epic.st/IK-GO?erid=2Vtzqvs8MCQ

В программе:
— Почему робототехника так востребована и какие есть профессии в этой сфере
— Как прокладывать маршрут для дрона и строить 3D-модели объектов
— Как написать код, который учит роботов двигаться точнее и взаимодействовать друг с другом
— 3D-печать и моделирование и многое другое

В курсе есть не только теория, но и практические задания, так что вы сможете сразу применить знания на практике. Дополнительно посетите живой эфир с экспертами, разберёте домашние задания мини-курса и сможете задать вопросы. А после обучения получите персональную карьерную консультацию и тестовый доступ к понравившейся профессии.


P. S.: В Skillbox проходит «чёрная пятница» — скидки до 60% и 3 курса в подарок.

Реклама. ЧОУ ДПО «Образовательные технологии «Скилбокс (Коробка навыков)», ИНН: 9704088880

C++ Learning

05 Nov, 07:42


⚙️ std::transform_reduce

Функция std::transform_reduce из заголовка <numeric> объединяет возможности std::transform и std::accumulate, позволяя сначала применить операцию к каждому элементу, а затем свести их к одному значению. Это полезно для производительного параллельного вычисления сумм, произведений и других операций.

C++ Learning 👩‍💻

C++ Learning

05 Nov, 07:05


⚙️ std::async

В C++ функция std::async из заголовка <future> позволяет запускать асинхронные задачи, возвращая объект std::future, который можно использовать для получения результата выполнения задачи. Это упрощает реализацию параллельных вычислений и улучшает производительность программ.

C++ Learning 👩‍💻

C++ Learning

04 Nov, 09:36


⚙️ std::for_each

В C++ функция std::for_each из <algorithm> позволяет применить функцию к каждому элементу контейнера, что удобно для выполнения операций над всеми элементами.

C++ Learning 👩‍💻

C++ Learning

01 Nov, 17:04


Что будет выведено при выполнении кода?

Пояснение
⬇️
Попытка изменить значение const int x через const_cast приведет к неопределённому поведению, но большинство компиляторов оставляют значение x неизменным, выводя 10.

C++ Learning 👩‍💻

C++ Learning

01 Nov, 15:09


14 ноября, YADRO С++ meetup, онлайн

Встречаемся на трансляции — регистрируйтесь, чтобы получить ссылку на стрим на одной из популярных платформ (Youtube, Rutube, VK). 

В программе:

• Как сочетать объектный подход с современным программированием.
• Паттерны ООП, которые сделают проект гибким и легким в поддержке.
• Удобство интрузивных контейнеров.
• Что помогает нам в разработке 5G сетей.
• Инструменты библиотеки Boost.Intrusive.
Дискуссия: эксперты из YADRO, Яндекса, Syntacore и Касперского обсудят, как протекает реализация стандартов: на сколько быстро внедряются фичи, стоит ли обратить внимание на подходы других языков и становится ли продукт безопасней, если написан на новых стандартах?

Участие бесплатное, регистрация обязательна.

C++ Learning

31 Oct, 07:19


⚙️ std::transform

В C++ функция std::transform из <algorithm> позволяет применить функцию к каждому элементу контейнера, создавая новый набор данных. Удобна для преобразования элементов на лету.

C++ Learning 👩‍💻

C++ Learning

30 Oct, 07:48


➡️ GSL: Библиотека численных методов для C/C++ разработчиков

GSL – бесплатная библиотека для C и C++, включающая комплексные числа, матрицы, полиномы и анализ. Она проста в использовании, безопасна для многопоточности и не имеет зависимостей.

Поддержка множества математических операций.
Потокобезопасность и отсутствие зависимостей для надёжной интеграции в проекты.

🔗 Ссылочка на доку

C++ Learning 👩‍💻

C++ Learning

29 Oct, 08:33


⚙️ std::all_of

В C++ функция std::all_of из <algorithm> проверяет, соответствуют ли все элементы заданному условию. Удобна для быстрой валидации содержимого контейнера.

C++ Learning 👩‍💻

C++ Learning

28 Oct, 07:43


Что будет выведено при выполнении кода?

Пояснение
⬇️
Указатель p указывает на второй элемент массива, и *(p + 2) обращается к четвертому элементу, что равно 4.

C++ Learning 👩‍💻

C++ Learning

26 Oct, 17:23


⚙️ std::any_of

В C++ функция std::any_of из <algorithm> проверяет, удовлетворяет ли хотя бы один элемент условию. Полезно для поиска значений, соответствующих критерию.

C++ Learning 👩‍💻

C++ Learning

25 Oct, 09:07


➡️ Использование библиотеки Glaze для сериализации данных в C++

Glaze — это мощная библиотека для сериализации объектов C++ в различные форматы, такие как JSON, с высокой производительностью. Она поддерживает статическую сериализацию, обеспечивая компактность и быстрое преобразование данных.

Glaze подходит для приложений, где важна производительность при работе с большими объемами данных и их передачей в различные форматы.

🔗 Ссылочка на доку

C++ Learning 👩‍💻

C++ Learning

24 Oct, 08:46


Что будет выведено при выполнении кода?

C++ Learning 👩‍💻

C++ Learning

23 Oct, 17:27


⚙️ std::rename()

В C++ функция std::rename() из заголовка <cstdio> используется для переименования файла или перемещения его в новую директорию. Это стандартный способ работы с файлами на уровне ОС.

C++ Learning 👩‍💻

C++ Learning

22 Oct, 17:12


➡️ Использование библиотеки Outcome для обработки ошибок в C++

Outcome — это библиотека для удобной работы с обработкой ошибок в C++. Она предоставляет гибкий механизм для возврата и обработки ошибок без использования исключений, что улучшает производительность и делает код более предсказуемым.

Outcome позволяет возвращать и обрабатывать значения ошибок с минимальными накладными расходами.

🔗 Ссылочка на доку

C++ Learning 👩‍💻

C++ Learning

22 Oct, 14:56


Как создать свой Telegram-бот и начать зарабатывать уже сегодня?

Научим делать самые полезные и прибыльные боты на нашем бесплатном онлайн-практикуме и расскажем про то, как обучиться профессии промт-инженера с доходом 500.000 руб.

По итогам эфира вы узнаете:
— Как написать код для создания ботов;
— Кто такой промт-инженер и чем он занимается;
— Кому в действительности нужны его услуги и сколько за это платят;
— Кто может стать промт-инженером и какой порог входа;

Кликай на ссылку и забирай подробную информацию вместе с классными бонусами.

erid: LjN8K1kow
ООО Зерокодер, ИНН 9715401631

C++ Learning

22 Oct, 08:32


➡️ Использование библиотеки SML для работы с перечислениями в C++

SML — это библиотека для создания конечных автоматов с высокой производительностью и минимальной затратой на компиляцию. Она помогает моделировать сложные состояния и переходы.

🔗 Ссылочка на доку

C++ Learning 👩‍💻

C++ Learning

21 Oct, 16:57


Что будет выведено при выполнении кода?

C++ Learning 👩‍💻

C++ Learning

21 Oct, 14:55


Бесплатное IT-образование в 2024

Отобрали для вас полезные телеграм-каналы, которые помогут освоить программирование и другие IT-направления

Выбирайте нужное и подписывайтесь:

👩‍💻 С/С++: @Cpportal
👩‍💻 C#: @KodBlog
⚙️ Backend: @BackendPortal
📱 GitHub: @git_developer
🤓 Книги айти: @portalToIT
👩‍💻 Python: @PythonPortal
👩‍💻 Frontend: @FrontendPortal
👩‍💻 Java: @Java_Iibrary
🖥 Базы Данных & SQL: @SQL
👩‍💻 Golang: @juniorGolang
👩‍💻 PHP: @PHPortal
👩‍💻 Моб. разработка: @MobDev
👩‍💻 Разработка игр: @GameDevgx
👩‍💻 DevOps: @loose_code
🖥 Data Science: @DataSciencegx
🤔 Хакинг & ИБ: @cybersecinform
🐞 Тестирование: @QAPortal
📱 Маркетинг: @MarketingPortal
🖥 Дизайн: @PortalToDesign

➡️ Сохраняйте себе, чтобы не потерять

C++ Learning

21 Oct, 09:04


➡️ Что такое constexpr в C++?

constexpr — это спецификатор, который позволяет вычислять выражения во время компиляции. Это полезно, когда вы хотите гарантировать, что результат функции или значения будет рассчитан на этапе компиляции, что может улучшить производительность программы.

✔️ constexpr применяется для функций и переменных, которые могут быть рассчитаны на этапе компиляции, что делает код более эффективным.

🔗 Почитать подробнее

C++ Learning 👩‍💻

C++ Learning

20 Oct, 18:40


➡️ Использование библиотеки magic_enum для работы с перечислениями в C++

magic_enum — это современная библиотека для C++, которая предоставляет возможности рефлексии для перечислений (enum). Она позволяет легко преобразовывать значения перечислений в строки и обратно, а также получать список всех значений перечисления.

magic_enum упрощает работу с перечислениями, улучшая читаемость и безопасность кода.

🔗 Ссылочка на доку

C++ Learning 👩‍💻

C++ Learning

18 Oct, 08:03


Что будет выведено при выполнении кода?

C++ Learning 👩‍💻

C++ Learning

17 Oct, 07:03


➡️ Использование библиотеки di для создания зависимостей в C++

di — это легковесная библиотека для управления зависимостями в C++. Она предоставляет простой способ внедрения зависимостей, что делает код более модульным и тестируемым.

di поддерживает автоматическое создание зависимостей и упрощает управление компонентами в сложных проектах.

🔗 Ссылочка на доку

C++ Learning 👩‍💻

C++ Learning

15 Oct, 17:10


➡️ Использование библиотеки EnTT для работы с системами сущностей (Entity-Component-System, ECS) в C++

EnTT — это мощная библиотека для создания игр и симуляций с использованием паттерна Entity-Component-System (ECS).

Она позволяет легко управлять большими наборами объектов (сущностей) и их компонентами, что делает её отличным выбором для разработки игровых приложений и других систем, где важна масштабируемость и производительность.

EnTT — отличный инструмент для разработчиков, создающих сложные игровые системы или симуляции с большим количеством взаимодействующих объектов.

🔗 Ссылочка на доку

C++ Learning 👩‍💻

C++ Learning

15 Oct, 14:53


🌟Научитесь создавать сетевые сервисы на C++ с помощью фреймворка userver!

Приглашаем вас на открытый вебинар 17 октября в 20:00 МСК, где мы подробно разберем:

- Как подключить userver в проект;
- Как собрать userver с нужной конфигурацией;
- Как написать сетевой сервис, работающий с REST и WebSocket API;
- Как реализовать аутентификацию для нового сервиса.

🎓 Встречаемся в преддверии старта курса «C++ Developer. Professional». Все участники вебинара получат специальную цену на обучение!

🔗 Регистрируйтесь прямо сейчас, чтобы не пропустить это важное мероприятие: https://otus.pw/jGLo/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

C++ Learning

15 Oct, 12:29


➡️ Использование библиотеки cista для сериализации данных в C++

cista — это легковесная библиотека для эффективной бинарной и текстовой сериализации данных. Она обеспечивает высокую производительность и минимальные накладные расходы, делая её идеальной для сохранения состояния и передачи данных.

cista — отличный выбор для разработчиков, которым нужна эффективная сериализация больших объемов данных без лишней сложности.

🔗 Ссылочка на доку

C++ Learning 👩‍💻

C++ Learning

15 Oct, 11:02


Научитесь создавать сетевые сервисы на С++ с помощью фреймворка userver! 👉ссылка

На открытом вебинаре мы разберем: 
как подключить userver в проект;
как собрать userver с нужной конфигурацией;
как написать сетевой сервис, работающий с REST и WebSocket API;
как реализовать аутентификацию для нового сервиса.

Этот урок для разработчиков на C++ Junior или Middle, а также для разработчиков на Java/Python.

📅Встречаемся 17 октября в 20:00 мск в преддверии старта курса «C++ Developer. Professional». Все участники вебинара получат специальную цену на обучение! 

 🎫Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: РЕГИСТРАЦИЯ

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

C++ Learning

15 Oct, 07:36


➡️ Использование std::latch для синхронизации потоков

std::latch — это примитив синхронизации, который позволяет одному или нескольким потокам ожидать, пока другие потоки не завершат выполнение. В отличие от std::barrier, он не перезагружается после достижения условия синхронизации, что делает его полезным для одноразовой координации.

• std::latch полезен в ситуациях, когда необходимо, чтобы один поток ждал завершения других потоков.

C++ Learning 👩‍💻

C++ Learning

14 Oct, 08:06


➡️ Использование std::flat_map для оптимизации производительности

std::flat_map — это структура данных, которая представляет собой ассоциативный контейнер, хранящий пары "ключ-значение" в упорядоченном виде с использованием вектора.

В отличие от std::map, std::flat_map оптимизирован для случаев, когда количество элементов невелико, так как хранение данных в последовательной области памяти снижает накладные расходы и улучшает кэширование.

• std::flat_map полезен для приложений, где требуется высокая производительность при небольших объемах данных и частых поисках.

C++ Learning 👩‍💻

C++ Learning

12 Oct, 17:25


Mock-собеседование по C++ от Team Lead из Яндекса

Смотреть видео

C++ Learning 👩‍💻

C++ Learning

11 Oct, 09:16


Что будет выведено при выполнении кода?

C++ Learning 👩‍💻

C++ Learning

10 Oct, 07:07


Вопрос на собеседовании

Как работает Rule of Five в C++ и когда его следует применять?

Ответ ⬇️
Rule of Five говорит о том, что если ваш класс управляет ресурсами, вам нужно явно определить пять специальных методов: конструктор копирования, оператор присваивания копированием, конструктор перемещения, оператор присваивания перемещением и деструктор. Это важно, чтобы избежать утечек ресурсов или неправильного управления памятью при копировании или перемещении объектов.

C++ Learning 👩‍💻

C++ Learning

09 Oct, 17:02


➡️ Использование библиотеки cppcoro для работы с корутинами в C++

cppcoro — это библиотека, предоставляющая набор инструментов для работы с корутинами в C++, включая асинхронные операции, таймеры, семафоры и другие примитивы синхронизации. Это упрощает написание асинхронного кода с поддержкой корутин, обеспечивая высокую производительность и читаемость.

cppcoro — отличный выбор для создания высокопроизводительных асинхронных приложений с использованием корутин.

🔗 Ссылочка на доку

C++ Learning 👩‍💻

C++ Learning

09 Oct, 15:00


⚡️ Вся база знаний по IT в одном месте!

🧑‍💻 IT База — краткие разборы самого важного из мира IT. Сотни мастхев-ресурсов, каждый день новые материалы по работе и подготовке к собеседованиям. Подойдёт как новичкам, так и состоявшимся айтишникам;

🖥 Frontend База — всё для фронтенд разработчиков. Готовые решения для проектов, полезные курсы по JS/HTML/CSS, готовые роадмапы для комфортного освоения в профессии и дальнейшего развития;

👣 Backend База — самое важное для бэкендеров. Всё о работе с PHP, MySQL, MongoDB, Golang и Rust в одном месте, плюс полные курсы и лайфхаки для работы на каждый день;

🖥 База Знаний — склад полезных курсов и материалов, где легко найти что-то нужное по хэштегам. Если вам что-то интересно про IT, то оно уже лежит на Базе, проверяйте.

Успей подписаться, чтобы не потерять!

C++ Learning

09 Oct, 08:54


➡️ Использование библиотеки async_simple для работы с асинхронностью в C++

async_simple — это новая библиотека, которая предоставляет простой и эффективный способ работы с асинхронными операциями в C++. Она упрощает управление асинхронными задачами, улучшая читабельность и производительность кода.

async_simple идеально подходит для тех, кто хочет писать асинхронный код без сложных шаблонов и лишних зависимостей.

🔗 Ссылочка на доку

C++ Learning 👩‍💻

C++ Learning

08 Oct, 11:56


➡️ Использование std::barrier для синхронизации потоков

std::barrier — это новый примитив синхронизации, добавленный в C++20, который позволяет координировать выполнение группы потоков. Каждый поток выполняет свою работу до определенной точки (барьера) и ждет, пока все остальные потоки достигнут этой же точки, после чего выполнение продолжается.

• std::barrier полезен в параллельных вычислениях, где важно, чтобы все потоки завершили определенную задачу перед переходом к следующей.

C++ Learning 👩‍💻

C++ Learning

08 Oct, 09:55


Обнаружен короткий путь к офферу Сбера! 🕵️‍♀️

12 октября приглашаем на One Day Offer Центра квантовых технологий для С++ разработчиков.

Команда создаёт квантовый компьютер и фотонные сопроцессоры для решения задач Сбера: от AI до оптимизации логистических процессов. Разработки Центра позволят оптимизировать логистические цепочки, обучать нейросети большего размера и увеличивать доходность инвестирования.

Чем предстоит заниматься:

✔️ Проектировать архитектуру ПО для обработки и передачи данных.
✔️ Писать код на C++ для управления и контроля квантового компьютера.
✔️ Разрабатывать первичную инфраструктуру CI/CD и автоматическое тестирование для своего кода.
✔️ Участвовать в разработке общей архитектуры квантовых и аналоговых процессоров.
✔️ Участвовать в переносе задач потребителей на квантовые или аналоговые процессоры.

Регистрируйся и создавай решения на стыке науки и технологий вместе со Сбером! 😏