Библиотека C/C++ разработчика
7.31K subscribers
700 photos
733 videos
8 files
1K links
Полезные материалы по всему, что может быть полезно плюсовику/сишнику. По всем вопросам @evgenycarter
Download Telegram
⌨️ Ручная компиляция и проекты, привязанные к IDE — это вчерашний день. Если вы хотите уверенно собирать кроссплатформенные C++-приложения и масштабировать проекты, без CMake не обойтись.

🗓 30 сентября в 20:00 МСК

🆓 Бесплатно. Урок в рамках старта курса «C++ Developer. Professional».

🦾 На открытом уроке мы разберём основы CMake: создадим минимальный CMakeLists.txt, подключим внешние библиотеки и соберём проект из нескольких файлов. Пошагово, на живых примерах.

Вы поймёте, как переводить свои проекты на CMake и почему этот инструмент давно стал стандартом в профессиональной разработке. Эти навыки — must have для любого C++-разработчика, который планирует карьерный рост.

🔗 Ссылка на регистрацию: https://vk.cc/cPHNnB

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Проблема, о которой вы даже не подозревали: print(.1+.2)

Как следует отображать на экране результат деления 3.0 на 10.0 ? Сколько цифр следует вывести, если пользователь не указал точность?

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

Давайте продолжим разговор о самой неоптимизированной в мире библиотеке эмуляции плавающей точки при помощи целочисленной арифметики.

https://habr.com/ru/amp/publications/948556/

Мы в MAX

#cpp #programming

👉 @cpp_lib
1👍1
This media is not supported in your browser
VIEW IN TELEGRAM
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
👍81
💻 Курс “Программист на C” от OTUS — набор в группу скоро закроется!
Погрузитесь в мощный язык системного программирования.

Почему стоит пройти вступительное тестирование и записаться на курс:
• Глубокое изучение: синтаксис C, архитектура процессоров, управление памятью, ассемблер
• Практика задач уровня Middle для реальных навыков

💡 Кому подходит:
• Разработчикам, желающим углубить знания в C
•Специалистам по интеграции C-библиотек

Итоги курса:
• Создание оптимизированных приложений
• Понимание работы процессоров и памяти
• Навыки системного программирования

👉 Успейте записаться. Пройдите успешно тест и получите спеццену. Подробности уточняйте у менеджера. Места ограничены.

https://vk.cc/cPMh3n

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Оптимизация языковой модели Mamba для выполнения на CPU

Большие языковые модели с успехом применяются в биоинформатике. Неудивительно, ведь язык биологических последовательностей – всего лишь часть множества знаковых систем, существующих в природе. Но есть нюанс: осмысленные фразы языка биоинформатики, как правило, гораздо длиннее фраз языков межчеловеческого общения. Популярные языковые модели на основе трансформеров требуют квадратичного увеличения объема вычислений с ростом длины входной последовательности.

https://habr.com/ru/articles/925460/

Мы в MAX

#cpp #programming

👉 @cpp_lib
👍3
486-го хватит всем

В конце технического интервью, если кандидат ответил на вопросы и справился с задачами, у нас есть время для свободных вопросов, которые можно задать команде или кому-то из интервьюеров. Эту практику я переносил из компании в компанию, и она всегда помогала разрядить обстановку или вывести человека на разговор, если он был напряжен во время общения. Вопросы могут быть любые, кроме личных или тех, что под NDA.

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

https://habr.com/ru/articles/856572/

Мы в MAX

#cpp #programming

👉 @cpp_lib
👍52
Пишем игру для 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
👍83🔥1
Компьютерное зрение на С++: подключаем 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
👍82
🔥 Qt остаётся одним из самых востребованных инструментов для создания кросс-платформенных приложений. Хотите научиться писать программы, которые действительно работают и востребованы в бизнесе?

Приглашаем на бесплатный открытый урок «Пишем приложение органайзер на Qt»

🗓 6 октября, в 20:00 мск.
🆓 Бесплатно. Урок в рамках старта курса «Разработка прикладного ПО на Qt и ОС «Аврора»».
Регистрация: https://vk.cc/cQ0xna

✔️ Разберем процесс создания приложения-органайзера с нуля, используя популярный фреймворк Qt.
✔️ Вы узнаете, как разрабатывать пользовательский интерфейс с помощью основных инструментов Qt.
✔️ В ходе занятия вы получите практические навыки работы с сигналами и слотами, проектированием архитектуры приложения, подбором структуры данных и т.д..

🔗 Ссылка на регистрацию: https://vk.cc/cQ0xna

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Компьютерное зрение на 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
4👍4
Media is too big
VIEW IN TELEGRAM
Практика языка C.
Константин Владимиров.

На этом занятии мы завершим первый семестр знакомства с основами языка C и разберём многомодульные программы и структуры данных.

00:00 Хеш-таблицы.
15:10 Алгоритм Рабина-Карпа.
22:30 Range-based queries и снова о деревьях.
29:42 Многомодульные программы.
36:30 Структуры данных.
42:40 Литература и задачи.
44:45 Демонстрация многомодульных программ.

источник

Мы в MAX

#cpp #programming

👉 @cpp_lib
👍11🔥4❤‍🔥2
☄️Как устроено автодополнение в поисковых системах?

🗓 8 октября в 20:00 МСК приглашаем на открытый урок OTUS «Как вырастить префиксное дерево». На вебинаре мы пошагово построим префиксное дерево (Trie) для слов из большого текста, добавим счётчики частот и реализуем автодополнение. Вы увидите, как по первым буквам мгновенно находятся все слова с этим префиксом и выводятся самые популярные варианты продолжений.

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

Открытый урок проходит в преддверие старта курса «Алгоритмы и структуры данных». Все участники получат скидку на обучение.

👉Зарегистрируйтесь сейчас и узнайте, как вырастить своё первое Trie-дерево: https://vk.cc/cQ8KKM


Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Алгоритмы на С/С++

Задача о Ханойской башне
Быстрая сортировка (quick sort)
Бинарный поиск в отсортированном массиве
Сортировка методом выбора
Сортировка методом пузырька
Минимизация просмотров в методе сортировки пузырьком
Модифицированный метод пузырька
Сортировка методом вставок
Шейкер - сортировка

источник

Мы в MAX

#cpp #programming

👉 @cpp_lib
👍3