Библиотека 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
加入频道
😎 Что такое std::sample?

std::sample — алгоритм который позволяет брать случайный элемент из диапазона. Был введён в C++ 17.

Описание его функциональности:

1. Выбирает n уникальных элементов случайным образом из входного диапазона
2. Копирует выбранные элементы в выходной диапазон
3. Сохраняет относительный порядок выбранных элементов

Синтаксис:

std::sample(input_begin, input_end, output_begin, n, generator);

- input_begin и input_end — итераторы входного диапазона
- output_begin — итератор выходного диапазона
- n — количество элементов для выборки
- generator — генератор случайных чисел
Привет, друзья! 👋

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

🤔 С какими ошибками в своей карьере программиста вы сталкивались? Как вы их преодолели?
📚 Какие советы вы бы дали начинающим разработчикам, чтобы избежать распространенных ловушек в программировании?
🖥️ Что, по вашему мнению, важно учитывать при планировании своей карьеры в IT, чтобы минимизировать сожаления в будущем?

Спасибо за ваше участие! 🚀
👁‍🗨 Как найти среднее значения в C++?

В C++20 появилась функция std::midpoint. Она как раз и находит среднее между двумя числами или указателями

Примеры использования:
- Для чисел: если у вас есть числа 10 и 20, std::midpoint вернет 15
- Для указателей: если у вас есть два указателя, std::midpoint найдет указатель находящийся между ними


👉
Документация
⚙️ Подпишись на нашу еженедельную email-рассылку, чтобы быть в курсе последних открытий и тенденций в мире бэкенда.

В еженедельных письмах ты найдешь:
● Языки программирования и фреймворки для бэкенда
● Архитектура и проектирование серверных приложений
● Базы данных и управление данными
● Безопасность и защита данных
● Облачные технологии и DevOps
● API и интеграции
● Тестирование и отладка
● Инструменты и утилиты для бэкенд-разработчиков
● Лучшие практики и паттерны проектирования

👉Подписаться👈
📖 Обзор книги «Грокаем алгоритмы», Адитья Бхаргава

Направление: #proglib_algorithms
Уровень: #proglib_junior

Автор применяет уникальный визуальный подход, с помощью которого объясняет базовые концепции, такие как сортировка, рекурсия, алгоритм Дейкстры, и многие другие. Благодаря большому количеству иллюстраций и практическим примерам, книга превращается в практическое руководство, особенно полезное для тех, кто только начинает своё знакомство с алгоритмами. Все примеры адаптированы под Python 3, что делает их актуальными для современных разработчиков.

💬 Что говорят люди:

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

Плюсы:

- Иллюстрации всё решают — если вам сложно понять текстовое объяснение, то более 400 наглядных схем точно помогут понять сложные алгоритмы.
- Понятно даже без математики — никакой сложной терминологии и математических уравнений. Бхаргава берёт сложные темы и объясняет их простым языком, делая алгоритмы доступными даже тем, кто не любит математику​.
- Практичность на первом месте — каждый алгоритм сопровождается кодом на Python 3, что помогает сразу применять изученное в реальных задачах​.

Минусы:

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

🖊 Об авторе:

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

Скидка 25% по промокоду: proglib

Купить книгу
Please open Telegram to view this post
VIEW IN TELEGRAM
😮 SQL: от Тетриса до ИИ — неожиданные возможности языка баз данных

Долгое время SQL использовали лишь для запросов и изменения записей в базах данных — для полноценного программирования в привычном смысле слова он не подходил. Однако добавление рекурсивных общих табличных выражений (CTE) сделало SQL полным по Тьюрингу. Рекурсивные CTE состоят из двух частей:

• Нерекурсивная часть (базовый случай) — создает начальные данные.
• Рекурсивная часть — может выполняться много раз, каждый раз используя результат предыдущего шага.

Благодаря CTE на SQL можно при желании реализовать любой алгоритм. Энтузиасты уже сделали:

Визуализацию множества Мандельброта с помощью ASCII-графики.
3D-движок для рисования объемных фигур.
GPT на 500 строках SQL-кода. Подробная статья о реализации этого проекта опубликована здесь.
Трассировку лучей (это метод создания реалистичных изображений).

На прошлой неделе коллекция крутых SQL-проектов пополнилась еще одной интересной разработкой — версией «Тетриса».

Эта реализация демонстрирует несколько нестандартных SQL-техник, о которых стоит знать, даже если вы используете SQL только по прямому назначению:

• игровой цикл;
• вывод игры;
• пользовательский ввод;
• решение проблемы изоляции данных;
• предотвращение кэширования.

Для управления состоянием игры и обработки игровых событий используются подзапросы и агрегатные функции.

🔗 Подробнее читайте в статье
🔗 Зеркало
Большой эпизод подкаста apakhomov про редакторы кода вместе с создателем самого популярного шрифта среди программисов — FiraCode.

Содержание:

- Введение
- Эргономика рабочего места
- Vim
- Что не так с программированием в терминале
- Расширяемость редакторов
- IntelliJ IDEA
- Sublime Text
- Zed
- Fleet

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

👉 Статья
😜 Новости движка Nau Engine

В скором времени обещают показать бэту, а именно в конце ноября 2024 года.

До этого можно почитать статью, в которой рассматриваются основные компоненты ядра Nau Engine.

👉 Статья
Сложность алгоритмов

Простое описание сложности алгоритмов в одном видео.

Рассказывается с использованием графиков и хорошим объяснением происходящего.

👉 Ссылка
🤖 Игрой движок Arcanum

Вышла новая статья об игровом движке, который делается по мотивам игры Arcanum.

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

Статьи

- Урок 01. Начало
- Урок 02. Работа с файлами игры, рисуем первый спрайт
- Урок 03. Работа с памятью, используем полиморфные аллокаторы
Media is too big
VIEW IN TELEGRAM
🫧🤖 Линус Торвальдс о будущем ИИ: хайп или революция?

Легенда мира open source делится мыслями о роли искусственного интеллекта в будущем программирования, предупреждая о опасностях чрезмерного ажиотажа.

👀 Мы написали пересказ на русском, а ещё сделали подборку ваших комментариев с мнениями по поводу будущего разработки в мире с AI.

👉 Прочесть всё можно по этой ссылке
Please open Telegram to view this post
VIEW IN TELEGRAM
🌀 Курс по программированию в среде Unix

Бесплатный курс по программирования в Unix.

На курсе разрабатываются программное обеспечение системного уровня на языке программирования C, одновременно получая представление об операционной системе Unix (и всех ОС, относящихся к этому семейству, таких как Linux, BSD и даже Mac OS X).

Затронутые темы будут включать интерфейс пользователя/ядра, фундаментальные концепции Unix, аутентификацию пользователя, базовый и расширенный ввод-вывод, файловые системы, сигналы, взаимосвязи процессов и межпроцессное взаимодействие. Также будут рассмотрены фундаментальные концепции разработки и сопровождения программного обеспечения в системах Unix (инструменты разработки и отладки, такие как «make» и «gdb»).

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

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

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

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

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