🚀Успейте за ростом рынка IoT!
👉Узнайте больше об internet of things на бесплатном вебинаре онлайн-курса «IoT Developer» - «Учет энергоресурсов в платформе ThingsBoard»: регистрация (https://meetup.otus.ru/iot-lesson-17-07-2024/?utm_source=telegram&utm_medium=cpm&utm_campaign=iot&utm_term=Learning_pluses_tgin&utm_content=lesson_17-07-2024_usp-engineer_engineer_text_no-headline_aida_long_aibanner_no-banner-hl_black_standart)
На занятии рассмотрим решение учета энергоресурсов (вода, газ, э/э, тепло), познакомимся с реализацией демо проекта на платформе ThingsBoard:
1. Подключение устройств
2. Создание сущностей
3. Разработка цепочек правил
4. Разработка дашборда
🤝Понравится урок — продолжите обучение на курсе по спеццене и даже в рассрочку!
erid: LjN8KXW8x
👉Узнайте больше об internet of things на бесплатном вебинаре онлайн-курса «IoT Developer» - «Учет энергоресурсов в платформе ThingsBoard»: регистрация (https://meetup.otus.ru/iot-lesson-17-07-2024/?utm_source=telegram&utm_medium=cpm&utm_campaign=iot&utm_term=Learning_pluses_tgin&utm_content=lesson_17-07-2024_usp-engineer_engineer_text_no-headline_aida_long_aibanner_no-banner-hl_black_standart)
На занятии рассмотрим решение учета энергоресурсов (вода, газ, э/э, тепло), познакомимся с реализацией демо проекта на платформе ThingsBoard:
1. Подключение устройств
2. Создание сущностей
3. Разработка цепочек правил
4. Разработка дашборда
🤝Понравится урок — продолжите обучение на курсе по спеццене и даже в рассрочку!
erid: LjN8KXW8x
🎯 Готовы открыть для себя мир мобильной разработки на ОС Аврора 5?
16 июля в 20:00 мск присоединяйтесь к нашему открытому уроку и узнайте все секреты!
ОС Аврора 5 — это передовая российская мобильная операционная система, готовая к использованию в самых амбициозных проектах. Хотите узнать, как её покорить? Тогда этот вебинар для вас!
На занятии мы познакомимся с ключевыми особенностями ОС Аврора 5 и погрузимся в её уникальную среду разработки приложений — Аврора IDE. Ознакомимся со структурой и конфигурацией приложений на этой платформе.
Вы увидите наглядную демонстрацию приложения, которое отправляет уведомления в графическую подсистему Lipstick.
Встречаемся в преддверии старта курса «Разработка прикладного ПО на Qt и ОС «Аврора».
Все участники вебинара получат специальную цену на обучение!
➡️ Регистрируйтесь прямо сейчас, чтобы посетить бесплатный урок: https://clck.ru/3BoB4V
16 июля в 20:00 мск присоединяйтесь к нашему открытому уроку и узнайте все секреты!
ОС Аврора 5 — это передовая российская мобильная операционная система, готовая к использованию в самых амбициозных проектах. Хотите узнать, как её покорить? Тогда этот вебинар для вас!
На занятии мы познакомимся с ключевыми особенностями ОС Аврора 5 и погрузимся в её уникальную среду разработки приложений — Аврора IDE. Ознакомимся со структурой и конфигурацией приложений на этой платформе.
Вы увидите наглядную демонстрацию приложения, которое отправляет уведомления в графическую подсистему Lipstick.
Встречаемся в преддверии старта курса «Разработка прикладного ПО на Qt и ОС «Аврора».
Все участники вебинара получат специальную цену на обучение!
➡️ Регистрируйтесь прямо сейчас, чтобы посетить бесплатный урок: https://clck.ru/3BoB4V
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576➡️ Функциональные блоки try
• Функциональные блоки try существуют для ловли исключений выброшенных при выполнении инициализационного списка конструктора.
• Блок вокруг списка инициализации нельзя обернуть обычным блоком try-catch, потому что список существует вне тела функции. Чтобы исправить это, C++ позволяет использовать try-catch блок в качестве тела метода.
• Довольно странный синтаксис, и он может использоваться не только в конструкторах, но и в определении любых функций.
C++ Learning (https://t.me/Learning_pluses) 👩💻
• Функциональные блоки try существуют для ловли исключений выброшенных при выполнении инициализационного списка конструктора.
• Блок вокруг списка инициализации нельзя обернуть обычным блоком try-catch, потому что список существует вне тела функции. Чтобы исправить это, C++ позволяет использовать try-catch блок в качестве тела метода.
• Довольно странный синтаксис, и он может использоваться не только в конструкторах, но и в определении любых функций.
C++ Learning (https://t.me/Learning_pluses) 👩💻
UB или не UB – вот в чём вопрос: как gcc и clang обрабатывают статически известное неопределённое по
https://habr.com/ru/articles/827752/
https://habr.com/ru/articles/827752/
Хабр
UB или не UB – вот в чём вопрос: как gcc и clang обрабатывают статически известное неопределённое поведение
Недавно у нас в команде зашла дискуссия о неопределённом поведении (UB) в C. Напомню для тех, кто не знает: если мы пишем такой код, эффект от выполнения которого (и события в процессе его выполнения)...
➡️ WebKit
Так или иначе, почти все разработчики на разных этапах сталкиваются с необходимостью отображать web – элементы. Чтобы всё выглядело красиво и в коде, и в конечном отображении, а выполнение этой задачи не отнимало слишком много времени и сил, существует библиотека WebKit.
• Некоторые программисты называют WebKit «чёрным ящиком», органично перерабатывающим html, css и JavaScript в полноценные веб-страницы.
🔗 Ссылочка на доку (https://www.webkit.org/)
C++ Learning (https://t.me/Learning_pluses) 👩💻
Так или иначе, почти все разработчики на разных этапах сталкиваются с необходимостью отображать web – элементы. Чтобы всё выглядело красиво и в коде, и в конечном отображении, а выполнение этой задачи не отнимало слишком много времени и сил, существует библиотека WebKit.
• Некоторые программисты называют WebKit «чёрным ящиком», органично перерабатывающим html, css и JavaScript в полноценные веб-страницы.
🔗 Ссылочка на доку (https://www.webkit.org/)
C++ Learning (https://t.me/Learning_pluses) 👩💻
➡️ Awesomium
Awesomium — это библиотека для интеграции браузера (на базе Chromium) в своё приложение. Библиотека имеет 2 режима работы: Offscreen и Windowed.
• В режиме Offscreen отрисовка и работа скриптов на экране не отображается.
• В режиме Windowed средствами библиотеки эффективно выполняется отрисовка в «окне приписки» и обработка активности мыши и клавиатуры.
• Awesomium активно применяется в десятках разных приложений. Описаны случаи интеграции этой библиотеки в 3D игры.
🔗 Ссылочка на доку (https://docs.ultralig.ht/docs/get-started)
C++ Learning (https://t.me/Learning_pluses) 👩💻
Awesomium — это библиотека для интеграции браузера (на базе Chromium) в своё приложение. Библиотека имеет 2 режима работы: Offscreen и Windowed.
• В режиме Offscreen отрисовка и работа скриптов на экране не отображается.
• В режиме Windowed средствами библиотеки эффективно выполняется отрисовка в «окне приписки» и обработка активности мыши и клавиатуры.
• Awesomium активно применяется в десятках разных приложений. Описаны случаи интеграции этой библиотеки в 3D игры.
🔗 Ссылочка на доку (https://docs.ultralig.ht/docs/get-started)
C++ Learning (https://t.me/Learning_pluses) 👩💻
Возможности С++: от стандартных алгоритмов до диапазонов (Ranges)
https://habr.com/ru/companies/simbirsoft/articles/828878/
https://habr.com/ru/companies/simbirsoft/articles/828878/
Хабр
Возможности С++: от стандартных алгоритмов до диапазонов (Ranges)
Привет, Хабр! Меня зовут Николай, я разработчик С++ в SimbirSoft. В предыдущей статье мы с вами рассмотрели применение стандартных алгоритмов в повседневном коде и их преимущества над...
➡️ V8
• Если вам нужен удобный инструмент для работы с JavaScript, V8 отлично подойдёт.
• V8 использует классы на C++ в namespace V8, что позволяет работать с JavaScript через привычную оболочку C++. Объекты C++ и V8 взаимодействуют через v8::Handle (template-классы).
• Установка V8 занимает немного времени и очень полезна для работы с JavaScript. Кроме того, знания о библиотеках, связывающих C++ и JavaScript, часто спрашивают на собеседованиях, поэтому стоит с ними познакомиться даже если вы не планируете работать с JavaScript.
C++ Learning (https://t.me/Learning_pluses) 👩💻
• Если вам нужен удобный инструмент для работы с JavaScript, V8 отлично подойдёт.
• V8 использует классы на C++ в namespace V8, что позволяет работать с JavaScript через привычную оболочку C++. Объекты C++ и V8 взаимодействуют через v8::Handle (template-классы).
• Установка V8 занимает немного времени и очень полезна для работы с JavaScript. Кроме того, знания о библиотеках, связывающих C++ и JavaScript, часто спрашивают на собеседованиях, поэтому стоит с ними познакомиться даже если вы не планируете работать с JavaScript.
C++ Learning (https://t.me/Learning_pluses) 👩💻
👎1
➡️ Check
Библиотека Check предназначена для модульного тестирования всех возможностей программ, написанных на языке С.
• Существенным плюсом использования Check’а служит возможность запуска тестов в отдельных процессах для более точной диагностики причин возникновения ошибок, снижения скорости и т.п
• Для модульного тестирования на языке С++ используется Google C++ Testing Framework (Google Test).
🔗 Ссылочка на доку (https://github.com/libcheck/check)
C++ Learning (https://t.me/Learning_pluses) 👩💻
Библиотека Check предназначена для модульного тестирования всех возможностей программ, написанных на языке С.
• Существенным плюсом использования Check’а служит возможность запуска тестов в отдельных процессах для более точной диагностики причин возникновения ошибок, снижения скорости и т.п
• Для модульного тестирования на языке С++ используется Google C++ Testing Framework (Google Test).
🔗 Ссылочка на доку (https://github.com/libcheck/check)
C++ Learning (https://t.me/Learning_pluses) 👩💻
🎯 Освой разработку ПО на QT и ОС Аврора
Пройди тест из 20 вопросов и проверь, насколько хорошо nы знаешь язык C++ и готов освоить QT и ОС Аврора .
Сможешь сдать — пройдёшь на продвинутый онлайн-курс "Разработка прикладного ПО на Qt и ОС Аврора" от OTUS.
👉 ПРОЙТИ ТЕСТ: https://clck.ru/3BwyxA
🎫 Начни обучение со скидкой в 10%, действует до конца июля.
Пройди тест из 20 вопросов и проверь, насколько хорошо nы знаешь язык C++ и готов освоить QT и ОС Аврора .
Сможешь сдать — пройдёшь на продвинутый онлайн-курс "Разработка прикладного ПО на Qt и ОС Аврора" от OTUS.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ruPlease open Telegram to view this post
VIEW IN TELEGRAM
➡️ ZBar
Библиотека ZBar предназначена для распознавания штрихкодов из изображений.
• ZBar имеет предельно простую и логичную документацию без «тёмной магии» и необъяснимых функций.
• Работать с ней легко и удобно. Можно использовать из программных интерфейсов С, С++, Питона и других языков программирования.
🔗 Ссылочка на доку (https://github.com/mchehab/zbar)
C++ Learning (https://t.me/Learning_pluses) 👩💻
Библиотека ZBar предназначена для распознавания штрихкодов из изображений.
• ZBar имеет предельно простую и логичную документацию без «тёмной магии» и необъяснимых функций.
• Работать с ней легко и удобно. Можно использовать из программных интерфейсов С, С++, Питона и других языков программирования.
🔗 Ссылочка на доку (https://github.com/mchehab/zbar)
C++ Learning (https://t.me/Learning_pluses) 👩💻
Возможности С++: от стандартных алгоритмов до диапазонов (Ranges)
Смотреть статью ()
https://habr.com/ru/companies/simbirsoft/articles/828878/
Смотреть статью ()
https://habr.com/ru/companies/simbirsoft/articles/828878/
Хабр
Возможности С++: от стандартных алгоритмов до диапазонов (Ranges)
Привет, Хабр! Меня зовут Николай, я разработчик С++ в SimbirSoft. В предыдущей статье мы с вами рассмотрели применение стандартных алгоритмов в повседневном коде и их преимущества над...
➡️ Active Template Library
ATL (Active Template Library) — это библиотека шаблонов C++ с открытым исходным кодом, созданная для упрощения программирования объектов COM.
• Поддерживает функции COM, такие как стандартные реализации, двойные интерфейсы и ActiveX-контролы.
• Разработана Microsoft как замена MFC для COM-объектов, используя шаблон CRTP.
🔗 Ссылочка на доку (https://learn.microsoft.com/en-us/cpp/atl/active-template-library-atl-concepts?view=msvc-170&viewFallbackFrom=vs-2019)
C++ Learning (https://t.me/Learning_pluses) 👩💻
ATL (Active Template Library) — это библиотека шаблонов C++ с открытым исходным кодом, созданная для упрощения программирования объектов COM.
• Поддерживает функции COM, такие как стандартные реализации, двойные интерфейсы и ActiveX-контролы.
• Разработана Microsoft как замена MFC для COM-объектов, используя шаблон CRTP.
🔗 Ссылочка на доку (https://learn.microsoft.com/en-us/cpp/atl/active-template-library-atl-concepts?view=msvc-170&viewFallbackFrom=vs-2019)
C++ Learning (https://t.me/Learning_pluses) 👩💻
🦾Хардкорный тест по языку С🦾
📌Пройдите тест из 20 вопросов и проверьте, насколько вы готовы к обучению на углубленном курсе «Программист С» от OTUS. Сможете сдать - пройдете на курс по спеццене!
⏰ Время прохождения теста ограничено 30 минут
👉ПРОЙТИ ТЕСТ
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
📌Пройдите тест из 20 вопросов и проверьте, насколько вы готовы к обучению на углубленном курсе «Программист С» от OTUS. Сможете сдать - пройдете на курс по спеццене!
⏰ Время прохождения теста ограничено 30 минут
👉ПРОЙТИ ТЕСТ
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👍1
➡️ FloatX
FloatX — это библиотека для эмуляции чисел с плавающей запятой низкой точности. Ее можно использовать в программах на C++, Python и Fortran.
• Заголовочная библиотека: расширяет типы с плавающей запятой за пределы одинарной и двойной точности.
• Шаблонные типы: позволяют задать количество бит для экспоненты и других важных частей чисел с плавающей запятой.
• Разработана на C++: основана на библиотеке FlexFloat (разработана на C), использует обертки на C++.
• Расширенные функциональности: предоставляет надмножество возможностей FlexFloat.
• Ограничения: не реализует произвольные типы чисел с плавающей запятой.
🔗 Ссылочка на доку (https://github.com/oprecomp/FloatX)
C++ Learning (https://t.me/Learning_pluses) 👩💻
FloatX — это библиотека для эмуляции чисел с плавающей запятой низкой точности. Ее можно использовать в программах на C++, Python и Fortran.
• Заголовочная библиотека: расширяет типы с плавающей запятой за пределы одинарной и двойной точности.
• Шаблонные типы: позволяют задать количество бит для экспоненты и других важных частей чисел с плавающей запятой.
• Разработана на C++: основана на библиотеке FlexFloat (разработана на C), использует обертки на C++.
• Расширенные функциональности: предоставляет надмножество возможностей FlexFloat.
• Ограничения: не реализует произвольные типы чисел с плавающей запятой.
🔗 Ссылочка на доку (https://github.com/oprecomp/FloatX)
C++ Learning (https://t.me/Learning_pluses) 👩💻
📌Пройдите тест из 10 вопросов и проверьте, насколько вы готовы к обучению на углубленном курсе «IoT Developer» от OTUS. Сможете сдать - пройдете на курс со скидкой!
⏰ Время прохождения теста ограничено 10 минут
👉ПРОЙТИ ТЕСТ
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
➡️ oneTBB
oneTBB (oneAPI Threading Building Blocks) — это библиотека на C++ для упрощения добавления параллелизма в сложные приложения.
• Гибкость: облегчает написание параллельных программ на C++.
• Многопоточность: не нужно быть экспертом по потокам для использования.
• Функции: предоставляет набор функций, классов и интерфейсов для параллелизации и масштабирования кода.
• Совместимость: работает с другими библиотеками потоков.
• Программирование: ориентирована на масштабируемое и параллельное программирование, а не просто на потоки.
🔗 Ссылочка на доку (https://github.com/oneapi-src/oneTBB)
C++ Learning (https://t.me/Learning_pluses) 👩💻
oneTBB (oneAPI Threading Building Blocks) — это библиотека на C++ для упрощения добавления параллелизма в сложные приложения.
• Гибкость: облегчает написание параллельных программ на C++.
• Многопоточность: не нужно быть экспертом по потокам для использования.
• Функции: предоставляет набор функций, классов и интерфейсов для параллелизации и масштабирования кода.
• Совместимость: работает с другими библиотеками потоков.
• Программирование: ориентирована на масштабируемое и параллельное программирование, а не просто на потоки.
🔗 Ссылочка на доку (https://github.com/oneapi-src/oneTBB)
C++ Learning (https://t.me/Learning_pluses) 👩💻
Ваши проекты скучны, а возможности ограничены? Хотите создавать крутые приложения для современной техники и работать с крупными государственными компаниями и бизнесом?
Представьте себе, что вы стали мастером в разработке на Qt и ОС «Аврора». Вы создаете интерфейсы для цифровой техники, мобильные приложения для госкомпаний и крупного бизнеса, а ваши навыки востребованы как никогда.
Присоединяйтесь к онлайн-курсу «Разработка прикладного ПО на Qt и ОС «Аврора» и сделайте этот прыжок в будущее!
Что вам даст этот курс:
- освоите Qt — одну из лучших кроссплатформенных библиотек для разработки UI на С++;
- изучите нативную разработку для Авроры 5.0;
- изучите структуру библиотеки Qt и научитесь писать программы на QML.
И многое другое!
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ruPlease open Telegram to view this post
VIEW IN TELEGRAM
➡️ Оптимизация работы с большими массивами: Использование std::vector и перемещения
В C++ работа с большими массивами может быть неэффективной, если каждый раз создавать копии данных.
• Вместо этого можно воспользоваться возможностями стандартной библиотеки, такими как std::vector и перемещение (move semantics), чтобы улучшить производительность.
• std::vector — это динамический массив с возможностью автоматического управления памятью.
• Перемещение (std::move) позволяет передать владение данными без копирования, что существенно снижает накладные расходы при работе с большими объемами данных.
• После перемещения myVector остаётся в валидном, но неопределённом состоянии. В данном случае его размер будет равен 0.
C++ Learning (https://t.me/Learning_pluses) 👩💻
В C++ работа с большими массивами может быть неэффективной, если каждый раз создавать копии данных.
• Вместо этого можно воспользоваться возможностями стандартной библиотеки, такими как std::vector и перемещение (move semantics), чтобы улучшить производительность.
• std::vector — это динамический массив с возможностью автоматического управления памятью.
• Перемещение (std::move) позволяет передать владение данными без копирования, что существенно снижает накладные расходы при работе с большими объемами данных.
• После перемещения myVector остаётся в валидном, но неопределённом состоянии. В данном случае его размер будет равен 0.
C++ Learning (https://t.me/Learning_pluses) 👩💻