🎯 Готовы открыть для себя мир мобильной разработки на ОС Аврора 5?
16 июля в 20:00 мск присоединяйтесь к нашему открытому уроку и узнайте все секреты!
ОС Аврора 5 — это передовая российская мобильная операционная система, готовая к использованию в самых амбициозных проектах. Хотите узнать, как её покорить? Тогда этот вебинар для вас!
На занятии мы познакомимся с ключевыми особенностями ОС Аврора 5 и погрузимся в её уникальную среду разработки приложений — Аврора IDE. Ознакомимся со структурой и конфигурацией приложений на этой платформе.
Вы увидите наглядную демонстрацию приложения, которое отправляет уведомления в графическую подсистему Lipstick.
Встречаемся в преддверии старта курса «Разработка прикладного ПО на Qt и ОС «Аврора».
Все участники вебинара получат специальную цену на обучение!
➡️ Регистрируйтесь прямо сейчас, чтобы посетить бесплатный урок: https://clck.ru/3BpWFY
16 июля в 20:00 мск присоединяйтесь к нашему открытому уроку и узнайте все секреты!
ОС Аврора 5 — это передовая российская мобильная операционная система, готовая к использованию в самых амбициозных проектах. Хотите узнать, как её покорить? Тогда этот вебинар для вас!
На занятии мы познакомимся с ключевыми особенностями ОС Аврора 5 и погрузимся в её уникальную среду разработки приложений — Аврора IDE. Ознакомимся со структурой и конфигурацией приложений на этой платформе.
Вы увидите наглядную демонстрацию приложения, которое отправляет уведомления в графическую подсистему Lipstick.
Встречаемся в преддверии старта курса «Разработка прикладного ПО на Qt и ОС «Аврора».
Все участники вебинара получат специальную цену на обучение!
➡️ Регистрируйтесь прямо сейчас, чтобы посетить бесплатный урок: https://clck.ru/3BpWFY
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576➡️ WebKit
Так или иначе, почти все разработчики на разных этапах сталкиваются с необходимостью отображать web – элементы. Чтобы всё выглядело красиво и в коде, и в конечном отображении, а выполнение этой задачи не отнимало слишком много времени и сил, существует библиотека WebKit.
🔗 Ссылочка на доку
C++ Learning 👩💻
Так или иначе, почти все разработчики на разных этапах сталкиваются с необходимостью отображать web – элементы. Чтобы всё выглядело красиво и в коде, и в конечном отображении, а выполнение этой задачи не отнимало слишком много времени и сил, существует библиотека WebKit.
• Некоторые программисты называют WebKit «чёрным ящиком», органично перерабатывающим html, css и JavaScript в полноценные веб-страницы.🔗 Ссылочка на доку
C++ Learning 👩💻
➡️ Awesomium
Awesomium — это библиотека для интеграции браузера (на базе Chromium) в своё приложение. Библиотека имеет 2 режима работы: Offscreen и Windowed.
🔗 Ссылочка на доку
C++ Learning 👩💻
Awesomium — это библиотека для интеграции браузера (на базе Chromium) в своё приложение. Библиотека имеет 2 режима работы: Offscreen и Windowed.
• В режиме Offscreen отрисовка и работа скриптов на экране не отображается.• В режиме Windowed средствами библиотеки эффективно выполняется отрисовка в «окне приписки» и обработка активности мыши и клавиатуры.• Awesomium активно применяется в десятках разных приложений. Описаны случаи интеграции этой библиотеки в 3D игры.🔗 Ссылочка на доку
C++ Learning 👩💻
☝Для программистов важно понимать устройство и организацию оперативной памяти — от этого зависит надёжность и производительность кода. Особенно критично это для тех, кто пишет на C, где есть уйма возможностей для ручного управления памятью: malloc, jemalloc, tcmalloc, mimalloc...
👉Узнайте больше на бесплатном авторском вебинаре Дмитрия Кириллова «Написание расширения PostgreSQL на языке С»: регистрация
На уроке узнаете:
- как устроена оперативная память на уровне операционной системы
- что происходит при динамическом распределении памяти (и зачем нужны специализированные аллокаторы)
- как грамотно управлять памятью, чтобы повысить качество своего кода
🤝Понравится вебинар — продолжите обучение на онлайн-курсе «Программист С» по специальной цене!
erid: LjN8JtvKc
👉Узнайте больше на бесплатном авторском вебинаре Дмитрия Кириллова «Написание расширения PostgreSQL на языке С»: регистрация
На уроке узнаете:
- как устроена оперативная память на уровне операционной системы
- что происходит при динамическом распределении памяти (и зачем нужны специализированные аллокаторы)
- как грамотно управлять памятью, чтобы повысить качество своего кода
🤝Понравится вебинар — продолжите обучение на онлайн-курсе «Программист С» по специальной цене!
erid: LjN8JtvKc
➡️ V8
C++ Learning 👩💻
• Если вам нужен удобный инструмент для работы с JavaScript, V8 отлично подойдёт.• V8 использует классы на C++ в namespace V8, что позволяет работать с JavaScript через привычную оболочку C++. Объекты C++ и V8 взаимодействуют через v8::Handle (template-классы).• Установка V8 занимает немного времени и очень полезна для работы с JavaScript. Кроме того, знания о библиотеках, связывающих C++ и JavaScript, часто спрашивают на собеседованиях, поэтому стоит с ними познакомиться даже если вы не планируете работать с JavaScript.C++ Learning 👩💻
➡️ Check
Библиотека Check предназначена для модульного тестирования всех возможностей программ, написанных на языке С.
🔗 Ссылочка на доку
C++ Learning 👩💻
Библиотека Check предназначена для модульного тестирования всех возможностей программ, написанных на языке С.
• Существенным плюсом использования Check’а служит возможность запуска тестов в отдельных процессах для более точной диагностики причин возникновения ошибок, снижения скорости и т.п• Для модульного тестирования на языке С++ используется Google C++ Testing Framework (Google Test).🔗 Ссылочка на доку
C++ Learning 👩💻
➡️ ZBar
Библиотека ZBar предназначена для распознавания штрихкодов из изображений.
🔗 Ссылочка на доку
C++ Learning 👩💻
Библиотека ZBar предназначена для распознавания штрихкодов из изображений.
• ZBar имеет предельно простую и логичную документацию без «тёмной магии» и необъяснимых функций.• Работать с ней легко и удобно. Можно использовать из программных интерфейсов С, С++, Питона и других языков программирования.🔗 Ссылочка на доку
C++ Learning 👩💻
➡️ Active Template Library
ATL (Active Template Library) — это библиотека шаблонов C++ с открытым исходным кодом, созданная для упрощения программирования объектов COM.
🔗 Ссылочка на доку
C++ Learning 👩💻
ATL (Active Template Library) — это библиотека шаблонов C++ с открытым исходным кодом, созданная для упрощения программирования объектов COM.
• Поддерживает функции COM, такие как стандартные реализации, двойные интерфейсы и ActiveX-контролы.• Разработана Microsoft как замена MFC для COM-объектов, используя шаблон CRTP.🔗 Ссылочка на доку
C++ Learning 👩💻
➡️ FloatX
FloatX — это библиотека для эмуляции чисел с плавающей запятой низкой точности. Ее можно использовать в программах на C++, Python и Fortran.
🔗 Ссылочка на доку
C++ Learning 👩💻
FloatX — это библиотека для эмуляции чисел с плавающей запятой низкой точности. Ее можно использовать в программах на C++, Python и Fortran.
• Заголовочная библиотека: расширяет типы с плавающей запятой за пределы одинарной и двойной точности.• Шаблонные типы: позволяют задать количество бит для экспоненты и других важных частей чисел с плавающей запятой.• Разработана на C++: основана на библиотеке FlexFloat (разработана на C), использует обертки на C++.• Расширенные функциональности: предоставляет надмножество возможностей FlexFloat.• Ограничения: не реализует произвольные типы чисел с плавающей запятой.🔗 Ссылочка на доку
C++ Learning 👩💻
🦾Хардкорный тест по языку С🦾
📌Пройдите тест из 20 вопросов и проверьте, насколько вы готовы к обучению на углубленном курсе «Программист С» от OTUS. Сможете сдать - пройдете на курс по спеццене!
⏰ Время прохождения теста ограничено 30 минут
👉ПРОЙТИ ТЕСТ
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
📌Пройдите тест из 20 вопросов и проверьте, насколько вы готовы к обучению на углубленном курсе «Программист С» от OTUS. Сможете сдать - пройдете на курс по спеццене!
⏰ Время прохождения теста ограничено 30 минут
👉ПРОЙТИ ТЕСТ
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
➡️ mlpack
mlpack — надёжная и быстрая библиотека для машинного обучения на C++, работающая через заголовочные файлы.
🔗 Ссылочка на доку
C++ Learning 👩💻
mlpack — надёжная и быстрая библиотека для машинного обучения на C++, работающая через заголовочные файлы.
• Поддерживает привязки к другим языкам: Go, Julia, R и Python.• Помогает реализовывать модели и функции машинного обучения, как "швейцарский нож" для исследователей.• Обладает надёжными интерфейсами и лёгким весом, что делает её идеальной для развертывания.• Подходит для интерактивного прототипирования через C++ блокноты.🔗 Ссылочка на доку
C++ Learning 👩💻
👍Пройдите тест по IoT👍
📌Пройдите тест из 10 вопросов и проверьте, насколько вы готовы к обучению на углубленном курсе «IoT Developer» от OTUS. Сможете сдать - пройдете на курс со скидкой!
⏰ Время прохождения теста ограничено 10 минут
👉ПРОЙТИ ТЕСТ
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
📌Пройдите тест из 10 вопросов и проверьте, насколько вы готовы к обучению на углубленном курсе «IoT Developer» от OTUS. Сможете сдать - пройдете на курс со скидкой!
⏰ Время прохождения теста ограничено 10 минут
👉ПРОЙТИ ТЕСТ
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
➡️ Эффективное использование std::tuple для группировки возвращаемых значений в C++
Использование
Использование
C++ Learning 👩💻
Использование
std::tuple позволяет легко возвращать и обрабатывать несколько значений из функции без необходимости создания дополнительных структур.Использование
std::tuple позволяет улучшить читаемость и упростить код, когда нужно возвращать несколько значений из функции.C++ Learning 👩💻
➡️ Оптимизация работы с большими массивами: Использование std::vector и перемещения
В C++ работа с большими массивами может быть неэффективной, если каждый раз создавать копии данных.
C++ Learning 👩💻
В C++ работа с большими массивами может быть неэффективной, если каждый раз создавать копии данных.
• Вместо этого можно воспользоваться возможностями стандартной библиотеки, такими как std::vector и перемещение (move semantics), чтобы улучшить производительность.• std::vector — это динамический массив с возможностью автоматического управления памятью.• Перемещение (std::move) позволяет передать владение данными без копирования, что существенно снижает накладные расходы при работе с большими объемами данных.• После перемещения myVector остаётся в валидном, но неопределённом состоянии. В данном случае его размер будет равен 0.C++ Learning 👩💻
➡️ Индексирование массива (Оператор подиндексации) является коммутативным
Индексирование массива — обычная операция для всех программистов и в целом одинаково во всех языках программирования. Однако в C++ вы можете поменять местами массив и индекс, получая такой код:
C++ Learning 👩💻
Индексирование массива — обычная операция для всех программистов и в целом одинаково во всех языках программирования. Однако в C++ вы можете поменять местами массив и индекс, получая такой код:
int arr[] = {1, 2, 3, 4};
std::cout << arr[1] << std::endl;
std::cout << 1[arr] << std::endl;
for (int i = 0; i < 4; ++i)
std::cout << i[arr] << std::endl;• Это происходит потому, что выражение array[index] эквивалентно *(array + index), что в свою очередь то же самое, что *(index + array), что переводится обратно в index[array].C++ Learning 👩💻
➡️ Собственный new для класса
Оператор new в классе Widget должен работать так:
C++ Learning 👩💻
Оператор new в классе Widget должен работать так:
• Установить глобальный обработчик для new через set_new_handler, указав функцию из класса Widget.• Вызвать глобальный operator new. Если он не справится, сработает обработчик Widget.• Если и это не поможет, глобальный new выбросит исключение. В этом случае обработчик Widget должен восстановить исходный обработчик и передать исключение дальше.• Если память выделена успешно, вернуть указатель и восстановить предыдущий обработчик new.C++ Learning 👩💻
➡️ Использование set_new_handler
C++ Learning 👩💻
• Обработчик оператора new циклически ищет память.• Можно зарезервировать и освободить память при первом вызове.• Можно установить или удалить другой обработчик.• Нулевой указатель через set_new_handler вызывает исключение сразу.• В обработчике new можно вызвать исключение bad_alloc или завершить программу с помощью abort или exit.• Для конкретного типа объектов можно задать свои set_new_handler и operator new.C++ Learning 👩💻