Библиотека C/C++ разработчика | cpp, boost, qt
21K subscribers
1.57K photos
40 videos
16 files
3.74K links
Все самое полезное для плюсовика и сишника в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/d6cd2932

Наши каналы: https://yangx.top/proglibrary/9197

РКН: https://gosuslugi.ru/snet/67a5bac324c8ba6dcaa1ad17
加入频道
🤔 Что такое structural bindings?

• Данная фитча появилась в C++17
• Это механизм, который позволяет нам декомпозировать структуры данных, такие как tuple, pair, и даже свои пользовательские структуры, на более простые именованные переменные
• Это делает код более читаемым, компактным и легко поддерживаемым

🌐 Ссылки
Восемь возможностей C++17, которые должен применять каждый разработчик
Structured binding declaration
Structured binding in C++ https://habr.com/ru/articles/343622/
Примеры трюков на C++

Список современных приемов C++, часто используемых на собеседованиях по программированию и соревновательном программировании

modern-cpp-tricks
🌟 Что такое std::optional?

Это класс, появился начиная с C++17, который даёт удобный способ работы с «возможно отсутствующим» значением

🌐 Ссылки
std::optional
std::optional in C++
Рефакторинг с использованием C++17 std::optional
• Использование std::optional в С++17
🌟 std::expected (С++23)

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

📘 Ссылки
На грани между exceptions и std::expected
Using std::expected from C++23
std::expected
Ответьте на 3 вопроса, чтобы получить вводные занятия к курсу «Алгоритмы и структуры данных»

🔥Получите вводные занятия, ответив на 3 вопроса – https://proglib.io/w/cfe3ce33

На вводной части вас ждут:

▪️ Лекция «Производительность алгоритмов» от руководителя разработки Яндекс.Самокатов

▪️ Лекция «Итеративные сортировки и линейные сортировки» от аспирант департамента искусственного интеллекта ВШЭ

▪️ Практические задания после лекций

▪️ Ссылки на дополнительные материалы для самостоятельного изучения

⚡️Переходите и начинайте учиться уже сегодня – https://proglib.io/w/cfe3ce33
Please open Telegram to view this post
VIEW IN TELEGRAM
Проблема «Most vexing parse»

Most vexing parse — это ситуация в языке программирования C++, когда компилятор интерпретирует объявление функции вместо объявления объекта, когда это может быть неочевидным для программиста

Проблема возникает из-за того, что определение функции может быть легко спутано с объявлением объекта, который использует конструктор с пустыми скобками

Чтобы избежать проблемы most vexing parse, можно использовать универсальную инициализацию (uniform initialization) с помощью фигурных скобок {}
🏔 Эпикфейл: карьера катится к чертям

🤦‍♂️ У всех нас случались провалы в карьере, о которых не хочется распространяться. Неловкий момент на собеседовании, провал проекта из-за глупой ошибки, конфликт с начальством — такие ситуации хочется поскорее забыть. Однако часто именно они дают нам самые ценные уроки и закаляют как профессионалов.

📝 Поделитесь своей историей карьерного провала в нашем новом опросе и расскажите, к чему он привел в итоге. Быть может, эта ошибка позволила вам пересмотреть свой путь и выбрать более подходящую профессию? А может, вы сделали правильные выводы и сейчас добились успеха?

👉 Поделиться историей
Uniform initialization

В С++ — это способ инициализации объектов с помощью фигурных скобок {}. Появившийся ещё в C++11. Позволяет инициализировать объекты без необходимости использования разных синтаксических конструкций в зависимости от типа данных

💡Плюсы
• Позволяет использовать один и тот же синтаксис для всех типов данных
• Более ясный и единообразный синтаксис
• Более строгая проверка типов во время компиляции
• Поддержка инициализации списками
• Позволяет передавать произвольное количество значений для инициализации объекта
Остаться или уйти? Оптимальный срок работы на одном месте

Вы любите свою работу, интересные проекты вам гарантированы, зарплата повышается каждый год. Но вот уже 5 лет вы трудитесь в одной и той же компании. Не пора ли что-то изменить, пока мотивация окончательно не улетучилась?

Многие опытные айтишники сталкиваются с такой дилеммой. С одной стороны, текущее место работы устраивает. С другой — хочется разнообразия, новых задач и знаний

Должен ли современный IT-специалист менять работу чаще, чем раз в 5 лет? Или лучше наращивать экспертизу в рамках одной компании? А может дело совсем не в сроках, а в качестве задач и развитии карьеры

👉 Опрос по ссылке
std::initializer_list

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

📋 Зачем это нужно?

std::initializer_list позволяет удобно инициализировать контейнеры и другие объекты с произвольным количеством значений без явного указания размера или создания временных массивов
🛠️ Inline assembly

Inline assembly — инструмент, который позволяет встраивать непосредственно ассемблерные инструкции в код. Это полезно, когда требуется оптимизировать производительность или реализовать операции, которые не могут быть выполнены с помощью стандартных средств языка

🌐 Ссылки

Inline assembly
Using Inline Assembly in C/C++
🛠️ Что такое C++ Streams?

В контексте C++, потоки (streams) представляют собой механизм для работы с вводом и выводом данных. Они обеспечивают абстракцию над различными источниками и приемниками данных, такими как консоль, файлы и строки, позволяя программистам работать с ними с помощью общего интерфейса

Основные реализации потоков в C++
std::cin и std::cout: Это стандартные потоки ввода и вывода, которые обычно используются для взаимодействия с консолью
std::ifstream и std::ofstream: Это классы потоков для работы с файлами
std::stringstream: Этот класс потока позволяет работать с данными как с потоком, хранящимся в строке. Он может использоваться для выполнения операций ввода-вывода с помощью строкового представления данных

Преимущества использования потоков
• Удобство в использовании
• Возможность абстрагировать ввод-вывод от конкретных источников и приемников данных
• Поддержку различных типов данных
Самые полезные каналы для программистов в одной подборке!

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

🔥Для всех

Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы

#️⃣C#

Книги для шарпистов | C#, .NET, F#
Библиотека шарписта — полезные статьи, новости и обучающие материалы по C#
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel

☁️DevOps

Библиотека devops’а — полезные статьи, новости и обучающие материалы по DevOps
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования

🐘PHP

Библиотека пхпшника — полезные статьи, новости и обучающие материалы по PHP
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты

🐍Python

Библиотека питониста — полезные статьи, новости и обучающие материалы по Python
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты

Java

Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков

👾Data Science

Книги для дата сайентистов | Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы по Data Science
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту

🦫Go

Книги для Go разработчиков
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go

🧠C++

Книги для C/C++ разработчиков
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++

💻Другие профильные каналы

Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика

💼Каналы с вакансиями

Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности

📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈

🤖Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT

Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *

* Организация Meta запрещена на территории РФ
🎮👨‍💻 15 игр, которые научат программированию

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

👉 Читать статью
😈 Даркнет: как устроен теневой рынок труда

Рассказываем, как устроен теневой рынок даркнета, каких ИТ-специалистов там ищут и какую зарплату предлагают.

🔗 Читать статью
🔗 Зеркало
🧑‍💻 std::async и std::future

std::async и std::future — классы, которые необходимы для асинхронного вызова функций

📚 std::async — позволяет запускать функции асинхронно

📚 std::future — способ получения результата, после выполнения асинхронной функции

🛠 Плюсы
• Можно не использовать сторонние библиотеки (например Boost.Asio или Qt)
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.

Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.

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

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
🤔 Как нестандартно войти в АйТи

Многие IT-специалисты приходят в эту сферу нестандартным путем — кто-то начинал как самоучка, а кто-то стал программистом случайно. Был ли у вас необычный старт карьеры в IT?

Расскажите нам свою историю! Ваш опыт может вдохновить тех, кто мечтает о переменах, но пока не решается начать.

❤️ С нетерпением ждем ваших комментариев!
🔵 Всё, что вы хотели знать о Serverless

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

Всё, что вы хотели знать о бессерверных технологиях
Запускаем контейнерные приложения в Yandex Serverless Containers
Разграничение доступа к API с помощью Yandex API Gateway