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

Список наших каналов: https://t.me/proglibrary/9197
Учиться у нас: https://proglib.io/w/d6cd2932

Обратная связь: @proglibrary_feedback_bot

По рекламе: @proglib_adv
Прайс: @proglib_advertising
Download Telegram
⚡️Свершилось: канал с книгами только по C++

Мы создали для вас канал с книгами по C и C++, куда будем публиковать самые полезные книги для сишников. Подписывайтесь!

👉Книги для C/C++ разработчиков
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 очередной #дайджест по С++

🔸 Как выбрать тимлида в команду — на что смотреть, как сделать выбор, как построить свое развитие, как продемонстрировать руководителям?

🔸 Разработка расширения для PHP на C++ — хуки встроенных функций и методов

🔸 Как войти в айти за час — с нуля, на языке с++ Win32 (графические приложения) «для самых маленьких»

🔸 Концепция RAII — про парадигму управления ресурсами, которая способствует безопасности и эффективности кода

🔸 Верле: разрешаем коллизии. Продолжение — продолжение занимательной истории про шарики
🎉🎉 QIWI SERVER PARTY 9.0

14 декабря в 17:30 состоится митап для тех, кто хочет узнать об опыте больших IT-компаний в реализации современных подходов и решении насущных проблем. Своими историями поделятся спикеры из QIWI, Яндекса и Альфа-Банка.

Программа:

Павел Черняк — Нельзя просто так взять и обновить
В этом докладе автор покажет коллекцию заботливо отобранных граблей, по которым пришлось пройти при обновлении одного из монолитных процессингов QIWI. Если вы хотите обновиться до Java 17 с Java 8 / Java 11, то узнаете о возможных проблемах и получите решения для них. Вишенкой — про переход на новый Spring Framework 6.

Андрей Свиридов — Как TDD поможет лучше работать
Расскажет, как Test Driven Development поможет решить ежедневные проблемы разработчиков. Если вы подумывали использовать TDD, но почему-то сомневались, то этот доклад станет хорошей стартовой точкой».

Дмитрий Некрылов — Защищаем пользователей от раздвоения конференций
Иногда медиасерверы падают. Автохилинг пытается подменить их, но пользователи могут оказаться на разных медиасерверах, и конференции раздваиваются. Защититься от такого можно с помощью математически корректной и высокопроизводительной реализации конечного автомата на Java и SQL.
В докладе как раз и рассмотрите лучшие практики, которые помогли автору решить задачу с минимальной нагрузкой на систему.

Самвел Барсегян — Инфраструктурная платформа QIWI

В этом докладе автор расскажет, какое место в современном IT занимает DevOps и как его прикладное применение привело к формированию нового технологического подхода — Platform engineering. А ещё вы узнаете, как в QIWI применяется этот подход, разрабатываются и поддерживаются инструменты самообслуживания для IT-специалистов.

Регистрация тут

#мероприятие
Разберем простенькую задачку уровня Junior
Функция remove_if

Функция remove_if() используется для удаления из списка всех значений, которые соответствуют истине предикату или условию, заданному в качестве параметра функции.

Функция выполняет итерацию по каждому члену контейнера списка и удаляет все элементы, которые возвращают true для предиката.
📚 C++ in One Hour a Day, Sams Teach Yourself

✍️ Автор: Siddhartha Rao
📃 Страниц: 793

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

Что внутри:
🔸 Освоите основы C++ и объектно-ориентированного программирования;
🔸 Поймете, как фичи C++ помогают писать компактный и эффективный код с использованием лямбда-выражений;
🔸 Изучите передовой опыт и научитесь избегать ошибок, используя полезные правила;
🔸 Изучите стандартную библиотеку шаблонов, включая контейнеры и алгоритмы, используемые в большинстве реальных приложений;
🔸 Проверите свои знания и опыт с помощью упражнений в конце каждого урока.
Самые полезные каналы для программистов в одной подборке!

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

🔥Для всех

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

#️⃣C#

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

☁️DevOps

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

🐘PHP

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

🐍Python

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

Java

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

👾Data Science

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

🦫Go

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

🧠C++

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

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

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

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

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

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

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

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

* Организация Meta запрещена на территории РФ
🔟🏢 ТОП-10 российских IT-работодателей

Рейтинг работодателей, которые могут конкурировать по условиям труда с лидерами рынка.

Читать статью

#почитать
🤔 Очередной #дайджест по С++

Быстрые и надёжные сигналы-слоты в C++ — библиотека сигналов-слотов, совместимая с Boost.Signals2

userver 1.0 — о крупных вещах (вебсокеты, MySQL) и о библиотеке для повседневной C++ разработки (FastPimpl, TrivialBiMap)

Мигаем OLED дисплеем и делаем измеритель концентрации CO2 — рассказ о любопытном микроконтроллере на ядре RISC-V и простое первое устройство

Coding Challenges — для новичков и не только, ищущих идеи для практики

Обходы деревьев — знакомство с деревьями, бинарными деревьями и немного интересной теории
Что используется для написания многострочных комментариев в C ++?
Anonymous Quiz
89%
/*........*/
8%
//
1%
/$--------$/
2%
Ничего из вышеперечисленного
🧠Чему вы бы хотели научиться?

Расскажите нам о ваших пожеланиях: какие навыки вы хотели бы прокачать в ближайшее время или какую профессию хотели бы приобрести?

За прохождение опроса вы получите промокод на скидку 15% на все наши курсы до конца 2024 года.

👉Опрос по ссылке👈
Variadic templates

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

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

Пример 1:
c++
vector vec;
/* ... .. ... */
for (auto itr = vec.begin(); itr != vec.end(); itr++) {
itr->print();
}


Пример 2:
c++
vector vec;
/* ... .. ... */
for (auto itr = vec.begin(); itr != vec.end(); ++itr) {
itr->print();
}


Хотя оба кода будут генерировать одинаковые выходные данные, пример 2 является более производительным вариантом. Это связано с тем, что оператор после инкремента itr++ обходится дороже, чем оператор перед инкрементом ++itr.

Оператор пост-инкремента генерирует копию элемента, прежде чем приступить к увеличению элемента и возврату копии. Более того, большинство компиляторов автоматически оптимизируют пример 1, неявно преобразуя его в пример 2.
Семантика перемещения

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

Семантика перемещения решает проблемы, связанные с копированием больших данных или ресурсов, что может быть очень затратным по времени и памяти. Вместо копирования данные «перемещаются» из одного объекта в другой, при этом исходный объект теряет право владения этими данными. Это осуществляется с использованием специальных методов и операторов, таких как конструктор перемещения (move constructor) и оператор перемещения (move assignment operator).