es
Feedback

¡No caigas en manos de tramposos! Telemetrio encuentra y marca estos canales 👉 Si quieres ver la etiqueta, suscríbete

Библиотека C/C++ разработчика

Библиотека C/C++ разработчика

Ir al canal en Telegram

Полезные материалы по всему, что может быть полезно плюсовику/сишнику. По всем вопросам @evgenycarter

Mostrar más
7 189
Suscriptores
-824 horas
-117 días
-3130 días
Archivo de publicaciones
Хотите собрать свой мини-Google? 🚀 🗓 22 октября, 20:00 приглашаем на открытый урок OTUS «Мини-поисковик своими руками». На
Хотите собрать свой мини-Google? 🚀 🗓 22 октября, 20:00 приглашаем на открытый урок OTUS «Мини-поисковик своими руками». На этом вебинаре вы создадите поисковик с нуля — без готовых библиотек и магии. Только алгоритмы и код. Разберём, как: • объединить КМП и префиксное дерево; • реализовать автодополнение и подсчёт вхождений; • оптимизировать поиск под большие тексты; • превратить всё это в маленький, но работающий офлайн-поисковик. После вебинара вы сможете самостоятельно: — строить индекс слов и быстро искать по нему; — собирать статистику запросов; — понять, как внутри устроены поисковики. Открытый урок проходит в преддверие старта курса «Алгоритмы и структуры данных». Все участники получат скидку на обучение. Присоединяйтесь 22 октября в 20:00: https://vk.cc/cQoByu Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Сборка C++ проектов. CMAKE. Game Engine серии 0:00:00 - Введение 0:01:32 - Пишем мини игру. FightClub 0:17:03 - MSBUILD 0:19:20 - Собственный build скрипт 0:26:52 - Build системы. Теория 0:34:17 - CMAKE 1:28:00 - Автоматизация CMAKE команд источник Мы в MAX #cpp #programming 👉 @cpp_lib

⌨️ Открытый урок «Умные указатели в С++» 🗓 23 октября в 20:00 МСК 🆓 Бесплатно. Урок в рамках старта курса «C++ Developer. P
⌨️ Открытый урок «Умные указатели в С++» 🗓 23 октября в 20:00 МСК 🆓 Бесплатно. Урок в рамках старта курса «C++ Developer. Professional». 🎯 Что рассмотрим на вебинаре: ✔️ Узнаем, для чего нужны умные указатели ✔️ Рассмотрим правило "взял память - верни, когда больше не нужна" ✔️ Разберемся с разными типами умных указателей 👥 Кому будет интересно: - junior, junior+ C++ Разработчикам Чему научатся участники по итогам вебинара: - Научимся решать проблему управления ресурсами - Рассмотрим глупый умный указатель; unique_ptr.; Shared_ptr; weak_ptr; enable_shared_from_this - Научимся выбирать нужный умный указатель 🔗 Ссылка на регистрацию: https://vk.cc/cQlkfS Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Контракты для С++ Тимур Думлер Контрактное программирование — эффективный подход к написанию более безопасных и корректных программ. Он был успешно реализован в таких языках программирования, как Eiffel и Ada. В стандарте С++ контрактное программирование имеет долгую и сложную историю. С тех пор как попытка добавить контракты в стандарт C++20 потерпела неудачу, SG21 — рабочая группа для стандартизации контрактов в комитете C++ — активно разрабатывает новую версию этой фичи. Сегодня эта версия контрактов уже практически полнофункциональна и с большой вероятностью будет включена в следующий стандарт C++26. В этом докладе мы рассмотрели текущий дизайн контрактов для C++26. Обсудили разновидности контрактов (preconditions, postconditions, assertions), возможные режимы проверки, обработку нарушений и многое другое. Рассмотрели, чем текущий дизайн превосходит существующие реализации на макросах и как помогает повысить безопасность и корректность кодовой базы. источник Мы в MAX #cpp #programming 👉 @cpp_lib

Коллекция библиотек и фреймворков для C++ Список удивительных фреймворков, библиотек, ресурсов и блестящих вещей на C++ (или C). Вдохновленный удивительными... вещами. https://github.com/fffaraz/awesome-cpp Мы в MAX #cpp #programming 👉 @cpp_lib

+8
Алгоритмы на С/С++ Задача о Ханойской башне Быстрая сортировка (quick sort) Бинарный поиск в отсортированном массиве Сортировка методом выбора Сортировка методом пузырька Минимизация просмотров в методе сортировки пузырьком Модифицированный метод пузырька Сортировка методом вставок Шейкер - сортировка источник Мы в MAX #cpp #programming 👉 @cpp_lib

☄️Как устроено автодополнение в поисковых системах? 🗓 8 октября в 20:00 МСК приглашаем на открытый урок OTUS «Как вырастить
☄️Как устроено автодополнение в поисковых системах? 🗓 8 октября в 20:00 МСК приглашаем на открытый урок OTUS «Как вырастить префиксное дерево». На вебинаре мы пошагово построим префиксное дерево (Trie) для слов из большого текста, добавим счётчики частот и реализуем автодополнение. Вы увидите, как по первым буквам мгновенно находятся все слова с этим префиксом и выводятся самые популярные варианты продолжений. Урок будет полезен разработчикам, которые хотят глубже понимать работу алгоритмов и применять их для оптимизации поиска, обработки текста и построения быстрых интерфейсов. Открытый урок проходит в преддверие старта курса «Алгоритмы и структуры данных». Все участники получат скидку на обучение. 👉Зарегистрируйтесь сейчас и узнайте, как вырастить своё первое Trie-дерево: https://vk.cc/cQ8KKM Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Практика языка C. Константин Владимиров. На этом занятии мы завершим первый семестр знакомства с основами языка C и разберём многомодульные программы и структуры данных. 00:00 Хеш-таблицы. 15:10 Алгоритм Рабина-Карпа. 22:30 Range-based queries и снова о деревьях. 29:42 Многомодульные программы. 36:30 Структуры данных. 42:40 Литература и задачи. 44:45 Демонстрация многомодульных программ. источник Мы в MAX #cpp #programming 👉 @cpp_lib

Компьютерное зрение на C++: пишем приложение для поиска объектов под Android Меня зовут Кирилл Колодяжный, я пишу код на С++
Компьютерное зрение на C++: пишем приложение для поиска объектов под Android Меня зовут Кирилл Колодяжный, я пишу код на С++ для систем хранения данных в YADRO. Помимо основной работы, интересуюсь машинным обучением и его возможностями, в том числе на «плюсах». Недавно мне стало интересно разобраться, как развернуть модель компьютерного зрения на мобильном устройстве с операционной системой Android. Я изучил доступные инструменты, чтобы понять, какие части приложения можно реализовать на С++, и написать само приложение для телефона. Ни в одном из материалов на подобную тему не описывают реализацию такого приложения от начала до конца, поэтому я собрал свой опыт в серию статей. Расскажу, как реализовать обнаружение объектов в реальном времени с помощью камеры на мобильной платформе Android с использованием библиотек PyTorch и NCNN и моделей компьютерного зрения YOLOv5 и YOLOv4. Шаблон моего приложения пригодится тем, кто хочет проверить прототип функциональности для компьютерного зрения на С++, использующий OpenCV на Android, но не хочет глубоко погружаться в программирование под Android. В первой части цикла мы: • создадим проект в IDE Android Studio, • реализуем сессию непрерывного захвата изображений камеры, • преобразуем изображения в матрицу OpenCV, чтобы сделать дальнейшую работу удобной. https://habr.com/ru/companies/yadro/articles/850786/ Мы в MAX #cpp #programming 👉 @cpp_lib

🔥 Qt остаётся одним из самых востребованных инструментов для создания кросс-платформенных приложений. Хотите научиться писат
🔥 Qt остаётся одним из самых востребованных инструментов для создания кросс-платформенных приложений. Хотите научиться писать программы, которые действительно работают и востребованы в бизнесе? Приглашаем на бесплатный открытый урок «Пишем приложение органайзер на Qt» 🗓 6 октября, в 20:00 мск. 🆓 Бесплатно. Урок в рамках старта курса «Разработка прикладного ПО на Qt и ОС «Аврора»». Регистрация: https://vk.cc/cQ0xna ✔️ Разберем процесс создания приложения-органайзера с нуля, используя популярный фреймворк Qt. ✔️ Вы узнаете, как разрабатывать пользовательский интерфейс с помощью основных инструментов Qt. ✔️ В ходе занятия вы получите практические навыки работы с сигналами и слотами, проектированием архитектуры приложения, подбором структуры данных и т.д.. 🔗 Ссылка на регистрацию: https://vk.cc/cQ0xna Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Компьютерное зрение на С++: подключаем ML-библиотеки и обрабатываем результаты поиска объектов Меня зовут Кирилл Колодяжный,
Компьютерное зрение на С++: подключаем ML-библиотеки и обрабатываем результаты поиска объектов Меня зовут Кирилл Колодяжный, я разрабатываю системы хранения данных в YADRO и изучаю нестандартные подходы к машинному обучению: создаю ML-проекты на С++. Это вторая часть цикла о разработке приложения для обнаружения предметов на С++. В прошлом материале мы выяснили, как создать проект в IDE Android Studio, реализовать сессию непрерывного захвата и преобразовать изображение в матрицу OpenCV. Ссылку вы найдете в конце статьи. В этой статье продолжим реализацию проекта и обсудим следующие шаги: • Как подключить к проекту библиотеки машинного обучения PyTorch и NCNN. • Как получить модели YOLOv5 и YOLOv4 для использования на мобильном устройстве. • Как реализовать инференс моделей для обнаружения объектов. • Как обработать результаты работы моделей YOLO, реализовав алгоритмы Non-Maximum-Suppression и Intersection-Over-Union. В конце сравним производительность PyTorch и NCNN и решим, какой фреймворк подойдет для задачи лучше. https://habr.com/ru/companies/yadro/articles/856110/ Мы в MAX #cpp #programming 👉 @cpp_lib

Пишем игру для NES на C Всем привет. Я Даг. Добро пожаловать в мой учебник - Как запрограммировать игру NES на C. Вы можете с
Пишем игру для NES на C Всем привет. Я Даг. Добро пожаловать в мой учебник - Как запрограммировать игру NES на C. Вы можете сделать оригинальную игру Nintendo, которая будет играть на настоящей консоли NES (или эмуляторе). Давайте поговорим о NES. Выпущена в Японии (Famicom) в 1983 году, в США — в 1985 году. Процессор — Ricoh 2A03, 1.79 МГц, клон 6502 (без десятичного режима) со звуковой схемой. Чип 6502 был очень популярен в то время и использовался, например, в Apple II и Atari 2600. https://nesdoug.com/ Мы в MAX #cpp #programming 👉 @cpp_lib

486-го хватит всем В конце технического интервью, если кандидат ответил на вопросы и справился с задачами, у нас есть время д
486-го хватит всем В конце технического интервью, если кандидат ответил на вопросы и справился с задачами, у нас есть время для свободных вопросов, которые можно задать команде или кому-то из интервьюеров. Эту практику я переносил из компании в компанию, и она всегда помогала разрядить обстановку или вывести человека на разговор, если он был напряжен во время общения. Вопросы могут быть любые, кроме личных или тех, что под NDA. Обычно кандидаты задают технические вопросы по стеку, пайплайнам, иногда пытаются задать каверзные вопросы, особенно по плюсам, чтобы проверить нас. Иногда и мы не можем ответить на все из них. Вопросы в стиле Google — например, «почему таблетки круглые?» — тоже встречаются, но недавно на одном из интервью прозвучал вопрос, на который вроде все и знали ответ, но никто сразу не смог его дать. Вопрос звучал так: «Какие общие технологии и решения появились в процессорах с времён 486, которыми мы часто пользуемся?» https://habr.com/ru/articles/856572/ Мы в MAX #cpp #programming 👉 @cpp_lib

Оптимизация языковой модели Mamba для выполнения на CPU Большие языковые модели с успехом применяются в биоинформатике. Неуди
Оптимизация языковой модели Mamba для выполнения на CPU Большие языковые модели с успехом применяются в биоинформатике. Неудивительно, ведь язык биологических последовательностей – всего лишь часть множества знаковых систем, существующих в природе. Но есть нюанс: осмысленные фразы языка биоинформатики, как правило, гораздо длиннее фраз языков межчеловеческого общения. Популярные языковые модели на основе трансформеров требуют квадратичного увеличения объема вычислений с ростом длины входной последовательности. https://habr.com/ru/articles/925460/ Мы в MAX #cpp #programming 👉 @cpp_lib

💻 Курс “Программист на C” от OTUS — набор в группу скоро закроется! Погрузитесь в мощный язык системного программирования. П
💻 Курс “Программист на C” от OTUS — набор в группу скоро закроется! Погрузитесь в мощный язык системного программирования. Почему стоит пройти вступительное тестирование и записаться на курс: • Глубокое изучение: синтаксис C, архитектура процессоров, управление памятью, ассемблер • Практика задач уровня Middle для реальных навыков 💡 Кому подходит: • Разработчикам, желающим углубить знания в C •Специалистам по интеграции C-библиотек ✅ Итоги курса: • Создание оптимизированных приложений • Понимание работы процессоров и памяти • Навыки системного программирования 👉 Успейте записаться. Пройдите успешно тест и получите спеццену. Подробности уточняйте у менеджера. Места ограничены. https://vk.cc/cPMh3n Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

QML и Widgets в одном проекте: решение без костылей Разработка приложения для настольных или встраиваемых платформ часто упирается в выбор между Qt Widgets и Qt Quick для создания интерфейса. У каждого подхода свои плюсы и минусы. Qt как гибкий фреймворк позволяет комбинировать их разными способами, а выбор способа интеграции этих API зависит от того, чего вы хотите добиться. В этой статье я покажу, как отображать окна Qt Widgets в приложении, написанном преимущественно на Qt Quick. https://www.kdab.com/display-widget-windows-in-qt-quick-applications/ Мы в MAX #cpp #programming 👉 @cpp_lib

Проблема, о которой вы даже не подозревали: print(.1+.2) Как следует отображать на экране результат деления 3.0 на 10.0 ? Ско
Проблема, о которой вы даже не подозревали: print(.1+.2) Как следует отображать на экране результат деления 3.0 на 10.0 ? Сколько цифр следует вывести, если пользователь не указал точность? Скорее всего, вы даже не знали, что вывод чисел с плавающей запятой — это сложная проблема, настолько сложная, что по ней написаны десятки научных статей, причём последний прорыв был относительно недавно, в 2016 году. На самом деле, это одна из самых сложных частей поддержки чисел с плавающей запятой в среде выполнения языка. Давайте продолжим разговор о самой неоптимизированной в мире библиотеке эмуляции плавающей точки при помощи целочисленной арифметики. https://habr.com/ru/amp/publications/948556/ Мы в MAX #cpp #programming 👉 @cpp_lib

⌨️ Ручная компиляция и проекты, привязанные к IDE — это вчерашний день. Если вы хотите уверенно собирать кроссплатформенные C
⌨️ Ручная компиляция и проекты, привязанные к IDE — это вчерашний день. Если вы хотите уверенно собирать кроссплатформенные C++-приложения и масштабировать проекты, без CMake не обойтись. 🗓 30 сентября в 20:00 МСК 🆓 Бесплатно. Урок в рамках старта курса «C++ Developer. Professional». 🦾 На открытом уроке мы разберём основы CMake: создадим минимальный CMakeLists.txt, подключим внешние библиотеки и соберём проект из нескольких файлов. Пошагово, на живых примерах. Вы поймёте, как переводить свои проекты на CMake и почему этот инструмент давно стал стандартом в профессиональной разработке. Эти навыки — must have для любого C++-разработчика, который планирует карьерный рост. 🔗 Ссылка на регистрацию: https://vk.cc/cPHNnB Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Сборка мусора: как это делается в системном программировании Давайте поговорим об одной из наиболее критичных по производител
Сборка мусора: как это делается в системном программировании Давайте поговорим об одной из наиболее критичных по производительности программ, которой вы пользуетесь ежедневно: о вашей операционной системе. Поскольку при каждом разгоне железа вы получаете дополнительную вычислительную мощность, операционная система никогда за этим не поспевает. Поэтому постоянно доводится читать о том, как разработчики ядра и драйверов выжимают последнее из своего кода. Кроме того, операционные системы должны быть рассчитаны на массовую конкурентность. Дело не только в том, что наша операционная система отвечает за планирование всех процессов и потоков пользовательского пространства, но и в том, что в ядре хватает собственных потоков, а также обработчиков прерываний, нужных для взаимодействия с железом. Требуется минимизировать время, которое тратится на ожидание, так как, опять же, при любой задержке вы воруете время ваших пользователей. Rus https://habr.com/ru/companies/timeweb/articles/766772/ Eng https://bitbashing.io/gc-for-systems-programmers.html Мы в MAX #cpp #programming 👉 @cpp_lib

Санпросвет о плавающей точке, статья первая: компьютеры и числа Недавно мне понадобилось сэмулировать работу с плавающей точк
Санпросвет о плавающей точке, статья первая: компьютеры и числа Недавно мне понадобилось сэмулировать работу с плавающей точкой только при помощи целочисленной арифметики, поскольку флоаты были недоступны. Полез я было в интернет за готовой библиотекой, и чуть не утонул. Мало того, что я не нашёл того, что искал, это бог с ним. Я обнаружил, что в интернете кто-то неправ. :) Оказалось, что форумы кишат людьми, которые не до конца понимают, как компьютеры манипулируют числами. Например, мемасик с КПДВ я стянул с реддита (перечеркнул его я). Кто-то настолько был напуган страшными ошибками округления чисел с плавающей точкой, что даже смешную картинку смастерил. Только вот проблема в том, что 0.5 + 0.5 в точности равно 1.0. Таким образом, я решил засучить рукава, и изобрести велосипед. То есть, написать самую неоптимизированную C++ библиотеку для эмуляции IEEE754 32-битных чисел с плавающей точкой при помощи исключительно 32-битной целочисленной арифметики. Библиотека уложится в несколько сотен строк кода, и в ней не будет никакого битхакинга. Задача написать понятный код, а не быстрый. А заодно хорошенько его документировать серией статей. Итак, этим полукреслом мастер Гамбс начинает новую партию мебели, или статья первая: поговорим о числах и компьютерах. https://habr.com/ru/articles/947886/ Мы в MAX #cpp #programming 👉 @cpp_lib