Библиотека 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
加入频道
🤔🎯 Что нового в .NET 8

.NET 8 вышел в релиз, значит можно начинать переносить свои проекты на новую версию. В этой статье рассматриваются новые улучшения и фишки: производительность, Native AOT, GC, новые типы, направленные на повышение производительности, NuGet Audit и прочее.

Производительность

Microsoft сказали, что представленный в прошлом году .NET 7 очень быстрый, но .NET 8 быстрее. Усовершенствования коснулись: JIT, GC, рефлексии, коллекции, LINQ, кодогенерации, сериализции и десериализции, примитивных типов и многого другого.

Native AOT

Native AOT использует ahead of time компилятор для компиляции IL в машинный код во время публикации self-contained приложения. В .NET 8 добавлена поддержка архитектур x64 и arm64 на macOS.

Native AOT приложения включают в себя .NET runtime. Исходя из этого, они имеют больший размер по сравнению с обычными приложениями. В .NET 8 улучшили и этот аспект.

Рассмотрение других ништяков релиза — вот

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

📥 Анализ приложений на C++ для оптимизации производительности — введение в анализ производительности программ на C++

📥 Стремление к улучшению кода на C++ — что такое анализ потоков данных, и какие ошибки может находить CLion

📥 C++23: Удаление поддержки сборки мусора — сказ о поддержке сборки мусора, включенной в C++11 и окончательно удаленной в C++23

📥 C++23 chunk view и stride view — видео о новых представлениях (views), добавленных в C++23

📥 Шаблоны для уменьшения размера бинарника — использовании extern template для сокращения размеров бинарных файлов
Как можно получить доступ к функциям-членам в контейнере?
Anonymous Quiz
53%
Iterator
13%
Indirect
15%
Оба варианта
15%
Ничего из вышеперечисленного
3%
Свой вариант
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

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

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

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

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

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

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

#туториал
🧑‍🎓😎 Опыт создания UI библиотеки на C++

Все базируется на двух сущностях — Window и Control. Окно может содержать контролы, также само окно является контролом.

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

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

Graphic — предоставляет интерфейс к системным методам рисования. В настоящий момент, реализовано рисование на Windows GDI/GDI+ и Linux xcb/cairo. Разумеется, нет никаких препятствий реализовать рисование на vulcan/bare metal/etc.

В библиотеке также есть вспомогательные средства для работы — структуры common (содержит такие основные типы, как rect, color, font), event (события мыши, клавиатуры, внутренние и системные события), graphic (для физической отрисовки на системном графическом контексте) theme (система констант для удобной поддержки визуальных тем) , locale (подсистема для удобного хранения текстового контента), config (для удобной, единообразной работы с настройками приложения)

Далее подробное описание процесса и куча кода

#гайд
🏃🏃 Как быстрее адаптироваться на новом месте работы

Лайфхаки о том, как быстрее вливаться на новом месте работы и как быстрее начать приносить какой-то результат.

00:12 — Несрочные вопросы
01:12 — Срочные вопросы
01:41 — Культура и процессы
02:17 — Знакомство с кодом и документацией
03:06 — Цели у команды или компании
03:46 — Самоуверенность
04:29 — Заключение

#видео
Для чего используется интерфейс распределителя в определяемом пользователем контейнере?
Anonymous Quiz
19%
Управление хранилищем
49%
Управление памятью
23%
Все перечисленное
5%
Ничего из перечисленного
4%
Свой вариант
✍️🧑‍🍳 Теория кэширования

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

Смотреть видео

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

🔅 Показываем видео в терминале — знакомство с библиотекой OpenCV на примере программы для отображения видео в текстовом терминале

🔅 A Concise Introduction to Coroutines — введение в корутины (C++20): О Promise Type, Awaitable и Coroutine Handle

🔅 Интересный функционал в C++23 — о функциях высшего порядка и том, как они могут сделать ваш код более гибким и выразительным

🔅 Пишем графический ASCII-калькулятор с помощью стандартной библиотеки Си — разбор процесса разработки графического калькулятора с нуля

🔅 Безопасное программирование на Си — подход к безопасному программированию, сведения об инструментах проверки кода и примеры типовых ошибок
🥷Это путь воина

Напоминаем, что «Библиотека программиста» запустила два новых канала специально для специалистов по C++ и тех, кто хочет ими стать👨‍🏫

Подписывайтесь:
👉Библиотека собеса по C++ — тут мы готовимся к интервью
👉Библиотека задач по C++ — тут решаем задачи, проходим тесты и изучаем код
🤩🌏 Идеальный мир программиста

00:11 — За что платят программистам
00:38 — Идеальных решений не существует
01:17 — Костыли и хаки при разработке
01:52 — Компромисс в архитектуре программного обеспечения
02:38 — Иллюзорное впечатление
03:33 — Перфекционизм в программировании
03:59 — Заключение

#видео
🔥 -50% на курс по алгоритмам + курс по machine learning в подарок

😲 В честь черной пятницы курс «Алгоритмы и структуры данных» со скидкой 50% – https://proglib.io/w/0d93e6fb

17 990 рублей 35 990 рублей до 30 ноября

🐣 На курсе вы на практике познакомитесь со сложными алгоритмами и научитесь писать более короткий и эффективный код. И сможете подготовиться к собеседованию крупную IT-компанию.

Что еще вас ждет на курсе:

▪️ 150 практических заданий и 47 видеолекций;

▪️ Бессрочный доступ ко всем материалам курса;

▪️ Развернутая обратная связь по всем домашним заданиям, а также ссылки на полезные дополнительные материалы.

🎁 Но это еще не все!

⚡️При покупке курса по алгоритмам, вы получите курс по machine learning в подарок!

👉 Переходите на сайт и изучайте подробности – https://proglib.io/w/0d93e6fb

До встречи на обучении 🙌
🔢 Как научиться решать сложные задачи

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

Ещё больше книг, а также курсы, игры, методики и приложения — в нашей статье 👈