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

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/d6cd2932

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a5bac324c8ba6dcaa1ad17
Download Telegram
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🐘🧠 Оптимизация использования памяти в PostgreSQL: секреты профессионалов

Сложные (и многочисленные) операции в базе данных требуют солидного объема оперативной памяти — например, для создания набора результатов PostgreSQL обычно приходится:

🔹 Выполнить поиск по индексу.
🔹 Извлечь связанные строки из одной или нескольких таблиц.
🔹 Объединить, отфильтровать, агрегировать и отсортировать кортежи в пригодный для использования результат.

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

🔹 Как грамотно оптимизировать использование доступной памяти?
🔹 В каком соотношении распределить ОЗУ между несколькими типами памяти, которые необходимы PostgreSQL для эффективной работы?
🔹 Как предотвратить защитное завершение операционной системой процесса PostgreSQL, который использует слишком много памяти?

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

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

🔗 Читать статью
🔗 Зеркало
🌳 Вышел Cling 1.0

Наконец то с состоялся релиз открытого проекта Cling 1.0 (интерактивного интерпретатора C++), основанного на проектах Сlang/LLVM. Теперь официально можно писать скрипты на C++😜

👉 Заметка
🌚19👍111👾1
😱 Что такое склейка ссылок?

В старом стандарте (до C++11) если при разворачивании шаблона получался тип, который являлся ссылкой на ссылку было ошибкой. В новом стандарте появились правила склейки

Правила склейки
В том случае если при разворачивании шаблона возникает двойная ссылка, например l-value ссылка на l-value ссылку, то получаем обычную ссылку (T& & -> T&):
• T& & -> T&
• T& && -> T&
• T&& & -> T&
• T&& && -> T&&

Правила склейки позволяют определить универсальную ссылку

Универсальная ссылка — это аргумент функции, которая передаётся как r-value, при этом его тип является параметром шаблона

Она позволяет работать как с r-value, так и с l-value ссылками

template
void func (T&& t) {}



• Если вызвать func с l-value типа A, то тип T будет выведен как ссылка A&
• Если вызвать func с r-value типа A, то тип T будет выведен как A
👍13🔥3
🧠⬇️ Есть мнение: уровень знаний айтишников снизился

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

Не согласен, что знания убывают — тогда забирай курс по Алгоритмам от базы до эксперт уровня:
🔵 Алгоритмы и структуры данных

🔗 Ссылка
Please open Telegram to view this post
VIEW IN TELEGRAM
😁12👍3💯1
Привет, друзья! 👋

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

⌛️ Как вы понимаете, что программирование начинает занимать слишком много места в вашей жизни? Какие признаки вы замечаете?

🏄 Какие методы и стратегии вы используете, чтобы сохранить баланс между работой и личной жизнью?

😔 Был ли у вас опыт, когда программирование негативно влияло на ваши отношения с близкими или здоровье? Как вы справились с этим?

Ваши ответы помогут многим! Спасибо за участие!
🔥2
🐧 Сегодня, 25 августа, мы отмечаем день рождения одной из самых значимых и революционных операционных систем в мире — Linux! Линус Торвальдс в 1991 году даже не предполагал, насколько далеко зайдёт его «просто хобби».

👉 Почему Linux важен для нас, разработчиков?
☑️ Открытый исходный код
☑️ Надежность и стабильность
☑️ Гибкость и масштабируемость
☑️ Развитие сообщества и многое другое
😁238🤔2😢2🌚2
Простой сравнительный график по алгоритмической сложности
👍51🔥52👾2
🌳 Зачем учить язык Си в 2024 году

У Podlodka вышел новый подкаст про всеми нами любимый язык Си.

В выпуске вместе с Игорем Жирковым рассказывают, насколько современный Си похож на язык, с которым мы знакомы ещё по книге Кернигана и Ритчи, какие особенности делают его одним из самых нетерпимых языков к ошибкам программиста, и стоит ли вообще на нем писать код в 2024 году.

👉 YouTube
🥱14👍7🔥3👾2👏1
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

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

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

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

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
👍1
🎮📖 Библиотека геймдизайнера: 10 must-read книг 2024 года

От концепции до реализации, от баланса до монетизации – представляем вашему вниманию 10 ключевых книг 2024 года, которые помогут вам достичь новых высот в геймдеве.

👉 Статья
😁2
🥪 Какие преимущества и недостатки PIMPL

❗️Преимущества

- Улучшение времени компиляции: изменения в реализации не требуют перекомпиляции кода, использующего публичный класс
- Сокрытие деталей реализации: пользователи класса видят только его интерфейс
- Упрощение ABI (Application Binary Interface): изменения в приватной части не влияют на ABI
- Уменьшение зависимостей: заголовочный файл не нуждается в инклюдах для внутренних типов.

❗️Недостатки

- Дополнительный уровень косвенности: может слегка снизить производительность
- Усложнение кода: требует написания дополнительного кода для управления указателем
- Увеличение размера объекта: из-за хранения указателя

❗️Альтернатива

- C++20 появился концепт модулей, который может частично заменить PIMPL, предоставляя лучшие механизмы для сокрытия реализации и управления зависимостями
👍53
🍯 Проект Zork++

Zork++ - это современный менеджер проектов на C++ и система сборки для современного C++.

Zork++ родился из необходимости создавать C++ проекты с помощью функции modules, появившихся в C++20 стандарте.

❗️Существующие системы сборки имеют ограничения и трудности при последовательном использовании C++20 модулей. Поэтому и появилась идея разработки инструмента, который принимает некоторые C++ файлы, генерирует необходимые команды компилятора и вызывает компилятор для создания желаемого исполняемого файла / библиотеки!

👉 Github
👍101
This media is not supported in your browser
VIEW IN TELEGRAM
🙈 Waifu Motivator Plugin

Плагин для Jetbrains IDE с открытым исходным кодом, которые включают Waifu, чтобы поддерживать вашу мотивацию к завершению выполнения задач по программированию.

😌 Что такое Waifu?

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

👉 GitHub
🌚13😁7👍3