Библиотека 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
加入频道
Самые полезные каналы для программистов в одной подборке!

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

🔥Для всех

Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
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
Функциональное программирование

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

На youtube канале C++ User Group как раз вышло новое видео посвящённое данной теме

Элементы функционального программирования в языке C++
🧑‍💻 dlib C++ library

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

👉 Github
Для чего нужен extern ''C''?

extern ''C'' — это спецификатор языка C++, который указывает компилятору, что определения функций или переменных должны использовать соглашение о вызове и механизм именования, который характерен для языка C. Это означает, что имя функции или переменной не будет изменено (не будет подвергнуто name mangling) компилятором C++, и оно будет доступно для использования в коде на языке C

Основное применение
• extern ''C'' используется при написании кода, который должен быть совместимым с C и C++. В основном для написания внешнего API к библеотеки, чтобы можно было пользоваться ей из разных языков программирования (всех, которые поддерживают вызов функций языка C)

Ограничения

• extern ''C'' может быть только на уровне пространства имён. Внутри классов использовать не получится
💸 Рост или падение? Изменение зарплат в IT за 2023 год

Чтобы разобраться в этом вопросе, «Библиотека программиста» решила провести опрос среди читателей издания. Мы хотим понять, выросли ли ваши зарплаты в 2023 году и если да, то на сколько процентов. Или может быть наоборот — ваши доходы снизились на фоне кризисных явлений в экономике?

Примите участие в нашем коротком опросе и поделитесь своим мнением! Вместе мы проанализируем текущую ситуацию на рынке труда в IT-сфере и поймем, что ждёт эту отрасль дальше. Ждём ваших ответов!

Опрос займёт у вас примерно 4 минуты.

👉 Ссылка на опрос
Что почитать игровому программисту?

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

Что почитать игровому программисту?
Что ещё почитать игровому программисту?
⛩️ 6 способов нестандартно войти в Айти

Стандартный способ вхождения в профессию программиста — через универ. Все, что отличается от него, уже считается нестандартным способом. Разбираем несколько необычных способов входа в ИТ-сферу и то, какие преимущества они дают:

🛤 Роадмапы
👨‍💻 Знакомые айтишники
💬 Комментарии
🙌 Менторинг
🕹 Игры
⌨️ Стажировки
💡 Вышла четвёртая часть перевода туториала по Xv6

xv6 — это учебная реализация шестой версии Unix. В ней рассмотрены разные аспекты работы операционных систем. Но, самое полезное здесь заключается в том, что к ней есть список лабораторных работ, которые и дают сильный буст в понимании систем в общем и Linux (Unix) в частности

📚 Сами статьи

Xv6: учебная Unix-подобная ОС. Глава 1: Интерфейсы операционной системы
Xv6: учебная Unix-подобная ОС. Глава 2. Устройство операционной системы
Xv6: учебная Unix-подобная ОС. Глава 3. Таблицы страниц
Xv6: учебная Unix-подобная ОС. Глава 4: Прерывания и системные вызовы
🔮 Разница между push_* и emplace_*

В STL для многих структур данных определены методы push_* и emplace_*. Между ними есть существенное различие

• push_*(...) — принимает готовый элемент


emplace_*(...) — можно передавать только аргументы, а объект будет создан уже внутри. Если передать готовый объект, то компилятор подставит кастомный конструктор у которого единственный экземпляр это приём по ссылке того же типа, фактически создаст копирующий конструктор


Если не думать о читаемости кода, то сейчас можно использовать везде emplace_* без существенных, не опасаясь неожиданного поведения
🖥 Курс Эффективное использование С++

📚 Лекция 1. Начнем с основ: библиотеки, утилиты, средства разработки и сборка проектов в С++. Присоединяйтесь, чтобы узнать, как максимально эффективно использовать ресурсы вашего проекта!

🔍 Лекция 2. Глубже в тему работы с памятью: избегаем утечек ресурсов с помощью RAII и умных указателей. Узнаем, как управлять памятью без лишних хлопот

➡️ Лекция 3. Переходим к Move semantics, rvalue reference и perfect forwarding. Открываем новые возможности и улучшаем производительность нашего кода

🔄 Лекция 4. Обсудим callbacks: лямбда-выражения, bind и function. Узнаем, как делать наш код более гибким и модульным

🧵 Лекция 5. Многопоточность в C++. Разбираемся с потоками, блокировками, задачами, атомарными операциями и очередями сообщений

💡 Лекция 6. Обзор возможностей современных стандартов C++. Узнаем, какие новшества есть в мире С++ и как они могут улучшить наш код

👉 Ссылка на курс
⚙️ Обучение программированию на примерах реализации приложений

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

👉 Ссылка (Github)
🧙‍♂️ С++ магистерский курс, МФТИ

Хороший курс для начинающих или тех кто хочет структурировать знания по C++

1. Строки
2. Шаблоны функций
3. Шаблоны классов и частичная специализация
4. Разрешение имён в шаблонах и One Definition Rule
5. Модули в C++
6. SFINAE
7. Классическое метапрограммирование
8. Константные выражения
9. Волшебство времени компиляции
10. Концепты

👉 Ссылка (Youtube)
🪬 Алгоритмы копирования

std::copy и std::copy_if — функция из стандартной библиотеки. Помогают копировать элементы стандартных структур данных. Основное преимущество — это лучшая читаемость

std::copy — можно использовать с различными видами std::inserter'ов (по сути это просто итератор), которые позволяют по разному вставлять элементы, например std::back_inserter (для вставки элементов в конец)

std::copy_if аналогичен std::copy, за исключением того, что можно использовать предикат для фильтрации элементов