Библиотека 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
加入频道
🍣 Что такое битовые поля?

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

struct Date {
unsigned short nWeekDay : 3; // 0..7 (3 бита)
unsigned short nMonthDay : 6; // 0..31 (6 бит)
unsigned short nMonth : 5; // 0..12 (5 бит)
};


❗️Битовые поля могут усложнять код и отладку, а также имеют ограничения (например, нельзя получить адрес битового поля).
😜 Опрос

Мы хотим провести большой розыгрыш и подарить победителю смартфон на выбор. Помимо iPhone, предлагаем вам выбрать, какой ещё смартфон вы бы хотели видеть среди призов.
😱 Можно ли использовать std::make_unique и std::make_shared для инициализации массива?

Ответ: Да.

1 . std::make_unique:

Начиная с C++14 можно создавать через make_unique
auto arr = std::make_unique<int[]>(5);

2 . std::make_shared:

В стандарте C++20 появилась возможность создавать и make_shared

auto arr = std::make_shared<int[]>(5);
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

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

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

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

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
❗️Задача для конкурса в честь дня программиста

Условие:

Даны две строки s и f (начальная и конечная) и словарь D (набор слов).

Нужно определить, можно ли преобразовать s в f, используя только слова из словаря D. При этом каждое преобразование должно менять только один символ, а длина слова должна оставаться неизменной. Если преобразование возможно, нужно найти кратчайшую последовательность таких преобразований и вернуть ее длину. Если преобразование невозможно, вернуть "Преобразование невозможно".

Пример ввода 1:
    D = ["cat", "cot", "dot", "dog", "bat", "dag"]
    s = "cat"
    t = "dog"

Вывод:
Минимальное количество шагов для преобразования 'cat' в 'dog': 3

Пример ввода 2:
    D = ["cat", "cot", "bat"]
    s = "cat"
    t = "dog"

Вывод:
Минимальное количество шагов для преобразования 'cat' в 'dog': Преобразование невозможно
Please open Telegram to view this post
VIEW IN TELEGRAM
💼🤝 Как айтишнику найти работу через рекрутинговое агентство

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

В нашей статье мы рассмотрим, как айтишнику искать (и найти работу) через рекрутинговое IT-агентство, а также поделимся полезными примерами и лайфхаками.

🔗 Ссылка на статью
Самые полезные каналы для программистов в одной подборке!

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

🔥Для всех

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

🤖Про нейросети
Библиотека робототехники и беспилотников | Роботы, ИИ, интернет вещей
Библиотека нейрозвука | Транскрибация, синтез речи, ИИ-музыка
Библиотека нейротекста | ChatGPT, Gemini, Bing
Библиотека нейровидео | Sora AI, Runway ML, дипфейки
Библиотека нейрокартинок | Midjourney, DALL-E, Stable Diffusion

#️⃣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 — код, квизы и тесты
Вакансии для 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 — вакансии по информационной безопасности
Библиотека разработчика игр | Gamedev, Unity, Unreal Engine

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

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

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

* Организация Meta запрещена на территории РФ
🦊 Полезные библиотеки для C

Вашему вниманию набор реализаций структур данных и макросов для С.

👉Github
⚖️💻 5 признаков зависимости от программирования: как вернуть баланс в жизнь

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

🔗 Читать статью
🦊 Большая библиотека алгоритмов

Сборник различных алгоритмов с исходным кодом для разных языков.

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

👉 Сайт
👺 Является ли тип std::list потокобезопасной (thread-safe) коллекцией?

Нет, std::list в C++ не является потокобезопасной (thread-safe) коллекцией по умолчанию.

Особенности:

• std::list, как и большинство стандартных контейнеров C++, не имеет встроенных механизмов синхронизации.

• Одновременное чтение из std::list из нескольких потоков обычно безопасно, если ни один из потоков не модифицирует список.

• Если один или несколько потоков модифицируют список (вставка, удаление, изменение элементов), пока другие читают или также модифицируют его, это может привести к гонкам данных (data races).

• Для безопасного использования std::list в многопоточной среде необходимо применять внешние механизмы синхронизации, такие как мьютексы или блокировки чтения-записи.
🛤️ Программирование на C в Linux на примере создания своей командной оболочки

Статья о программирование на C в Linux на примере создания своей командной оболочки.

Представляет собой подробное руководство по разработке простого командного интерпретатора (shell) на языке C для Linux.

👉 Статья
🙌 Хардкорный вышмат для тех, кто интересуется ML, AI, DS

Начать с вводных занятий можно здесь, ответив всего на 4 вопроса – https://proglib.io/w/e58bc2c1

Что будет на демо?

🔹Вводный урок от CPO курса;

🔹Лекции со всеми преподавателями МГУ по темам: теория множеств, непрерывность функции, основные формулы комбинаторики, матрицы и операции над ними, градиентный спуск;

🔹Практические задания и дополнительные материалы!

⚡️Переходите и активируйте – https://proglib.io/w/e58bc2c1
Please open Telegram to view this post
VIEW IN TELEGRAM
🛠 Сага: эффективный шаблон микросервисной архитектуры

Полную бизнес-транзакцию, как правило, очень сложно описать с помощью одной транзакции в базе данных. Возьмем, к примеру, процесс покупки в онлайн-магазине — с момента нажатия кнопки «Купить» до момента доставки заказа к вашей двери происходит серия шагов:

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

Каждый из этих шагов включает взаимодействие с различными микросервисами — сервисов заказов, платежным сервисом и сервисом доставки. Для успешного и последовательного выполнения бизнес-транзакции важна безупречная координация всех частей системы. Эта задача кажется очень сложной, но к счастью, есть универсальный и надежный паттерн, который помогает выстроить взаимодействие микросервисов самым оптимальным образом — Сага. О нем и пойдет речь в статье.
🌐 Преимущества и недостатки работы в ИТ-аутсорсинговой компании

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

Получите основу для дальнейшего изучения более сложных нейронных сетей:
🔵 Базовые модели ML и приложения

🔗 Ссылка на статью
Please open Telegram to view this post
VIEW IN TELEGRAM
Вакансии «Библиотеки программиста» — ждем вас в команде!

Мы постоянно растем и развиваемся, поэтому создали отдельную страницу, на которой будут размещены наши актуальные вакансии. Сейчас мы ищем:
👉контент-менеджеров для ведения телеграм-каналов

Подробности тут

Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴

Ждем ваших откликов 👾