Библиотека C/C++ разработчика | cpp, boost, qt
21K subscribers
1.56K 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
加入频道
💡 Статья Разработка игры на C++/SFML

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

👉Ссылка
🔮 Что такое decltype?

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

Вышло продолжение перевода статей об учебной операционной система xv6

📚 Статьи
- Глава 5. Прерывания и драйверы устройств
- Глава 6. Блокировки
- Глава 7. Планирование процессов
🧨 Почему decltype((var)) это ссылка?

Если a — это переменная, то (a) — это уже lvalue выражение, поэтому decltype((a)) и порождает ссылку

Здесь нету выражения как такового, выведение производится просто из грамматики (синтаксиса определения выражения)
💪 Что не так с MVP: как создать конкурентоспособный продукт

Традиционная концепция MVP нуждается в пересмотре — авторы предлагают альтернативный подход, основанный на тесном взаимодействии с целевой аудиторией и непрерывных итерациях для создания действительно ценного продукта.

👉 Читать статью
👉 Зеркало
This media is not supported in your browser
VIEW IN TELEGRAM
💬 Open Source по-русски: путь к технологической независимости или обочина прогресса?

Для одних организаций open source является ключом к преодолению зависимости от иностранных вендоров и драйвером инноваций, для других — дырой в безопасности и обочиной технологического прогресса.

Мы хотим изучить текущее состояние и возможности открытого ПО в России. Пройдите опрос и помогите нам увидеть ситуацию глазами IT-профессионалов.

👉 Ссылка на опрос 👈

Прохождение займёт примерно 4 минуты
🔮 Что такое std::apply?

std::apply — функция, введенная в C++17. Она принимает кортеж и callable-объект и возвращает результат выполнения функции
📈 По просьбе подписчиков «Библиотеки программиста» мы провели опрос и выяснили, что у большинства айтишников зарплата в 2023 году выросла.

⚡️ Как выглядит доход среднего айтишника и какие факторы окажут влияние на динамику ИТ-зарплат в 2024 году — расскажем в статье на VC.

👉 Читать

P. S. Свои предложения для исследований пишите в комменты👇
Please open Telegram to view this post
VIEW IN TELEGRAM
🧨 Что такое семафор?

Семафор (semaphore) — примитив синхронизации, основанный на счётчике, который поддерживает атомарные операции: инкремент и декремент, при этом операция уменьшения для нулевого значения счётчика является блокирующей

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

В основном служат для построения более сложных механизмов синхронизации
20+ вопросов, которые стоит задать на собеседовании в стартап

Узнайте, на что обратить внимание, чтобы найти стартап, который не только «выстрелит», но и даст вам возможность вырасти как специалисту.

👉 Читать статью
👉 Зеркало
⚡️Proglib запускает канал про ИИ-помощников

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

⭐️ChatGPT
⭐️Gemini
⭐️Claude
⭐️Bing
И другие!

👉Подписывайтесь!
Please open Telegram to view this post
VIEW IN TELEGRAM
Какими площадками или соцсетями вы активно пользуетесь кроме телеграмма?
Anonymous Poll
16%
Instagram
3%
Facebook
33%
ВКонтакте
2%
VC.ru
39%
Хабр
11%
Reddit
78%
YouTube
14%
Другое...
🔮 Что такое std::unique_lock?

std::unique_lock — это класс из стандартной библиотеки, который предоставляет механизм блокировки мьютекса (mutex) для обеспечения безопасности при доступе к общим данным из нескольких потоков

У std::unique_lock есть альтернатива — это std::lock_guard. Их главное отличие в том, что std::unique_lock можно заблокировать и разблокировать, а std::lock_guard разблокируется только при уничтожении
😏 Зачем нужен виртуальный деструктор?

Виртуальные деструктор нужен только когда мы пользуемся наследованием. Он необходим в первую очередь, чтобы не было утечки памяти (memory leaks)

Если ключевое слово virtual к деструктору в предке, то и во всех потомках он тоже будет виртуальным

Если есть хотя бы одна виртуальная функция в классе, то деструктор тоже нужно сделать виртуальным
⛓️🗄️ Соединения в SQL. Часть 2. Сложные типы соединений

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

👉 Ссылка на статью
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

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

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

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

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
🔮 Статья об constexpr, consteval и constinit

Вышла небольшая обзорная статья о том, как constexpr, consteval, и constinit позволяют реализовывать компиляцию на этапе выполнения. Компиляция на этапе выполнения позволяет ускорить выполнение кода за счет выполнения расчетов на этапе компиляции, а не в рантайме

👉 Ссылка
🔬 20 лет в блогосфере: взгляд физика на эволюцию фундаментальной науки

Двадцать лет назад автор блога Not Even Wrong сделал свою первую запись. С тех пор многое изменилось в мире фундаментальной физики и в способах научной коммуникации. Какие уроки можно извлечь из этого опыта и чего ждать от будущего?

👉 Читать статью
👉 Зеркало
💡 В чем различия между delete и delete[]?

delete уничтожает объекты, которые были созданы при помощи new()

delete[] уничтожает объекты, которые были созданы при помощи new[](). Также будут вызваны деструкторы для всех элементов


‼️ Если операторы использовать не правильно, то будет undefined behavior😜