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

Читать полностью »
Рубрика «c++» - 49
Делаем универсальный RFID-ключ для домофонов
2020-01-29 в 9:59, admin, рубрики: arduino, c++, diy или сделай сам, EM4100, RFID, домофон, ключ-вездеход, Лайфхаки для гиков, Разработка под ArduinoСобираем приложение Qt в WebAssembly в Windows
2020-01-27 в 11:51, admin, рубрики: c++, qt, qt5, wasm, webassembly, windows, разработка под windows
Как известно, приложения написанные на Qt, который является кросс платформенными запускаются от desktop, мобильных, интернет вещей, до микроконтроллеров.
Один из вариантов это сборка приложения Qt в WebAssembly — которое позволит Вам запускать его в браузере у пользователя. Таким образом обновление приложения для пользователя будет заключаться в загрузке на сервер нового файла wasm.
Чтобы легче было осуществлять деплой приложения, в рамках данной статьи давайте соберём приложение Qt в WebAssmbly под Windows в командной строке.Читать полностью »
Topleaked: инструмент ловли утечек памяти
2020-01-27 в 11:26, admin, рубрики: c++, D, dlang, topleaked, valgrind, утечки памяти
История, как это часто бывает, началась с того, что упал один из сервисов на сервере. Точнее процесс был убит мониторингом за превышение использования памяти. Запас должен был быть многократным, а значит у нас утечка памяти.
Есть полный дамп памяти с отладочной информацией, есть логи, но воспроизвести не получается. То ли утечка безумно медленная, то ли сценарий зависит от погоды на Марсе. Словом, очередной баг, который не воспроизводится тестами, но встречается в дикой природе. Остаётся единственная реальная зацепка — дамп памяти.
Любовь в ненависть indie gamedev’a
2020-01-23 в 19:04, admin, рубрики: assimp, c++, c++17, glfw, glsl, IMGUI, OpenGL, Программирование, разработка игрИстория про то, как я решил заняться разработкой игры без знаний и опыта в этой области, без движка и вложений. Зачем мне это? Зачем это кому-то другому? О провалах и успехах, о начале indie-разработки пост.

Название имплементации и название результата
2020-01-21 в 13:53, admin, рубрики: c++, C++20, в информатике две сложных проблемы, Программирование
Я хотел написать этот пост ещё в июле, но никак не мог, о ирония, решить, как его назвать. Удачные термины пришли мне в голову только после доклада Кейт Грегори на CppCon, и теперь я наконец могу рассказать вам, как не надо называть функции.
Бывают, конечно, названия, которые вообще не несут информации, типа int f(int x). Ими пользоваться тоже не надо, но речь не о них. Порой бывает, что вроде бы и информации в названии полно, но пользы от неё абсолютно никакой.
Почему быстрая сортировка на самом деле медленная? Новый метод сортировки массива
2020-01-21 в 8:37, admin, рубрики: c++, merge sort, mergesort, newgenerationsort, O(n), quick sort, quicksort, Алгоритмы, алгоритмы сортировки, быстрая сортировка, ненормальное программирование, Программирование, сортировка вставками, сортировка выбором, сортировка нового поколения, сортировка слиянием
Многие программисты думают, что Quick Sort — самый быстрый алгоритм из всех существующих. Отчасти это так. Но работает она действительно хорошо только если правильно выбран опорный элемент (тогда сложность составляет O (n log n)). В противном же случае асимптотика будет примерно такой же как и в пузырика (то-есть O (n2)).
При этом, если массив уже отсортирован, то алгоритм всё-равно будет работать не быстрее, чем за O (n log n)
Исходя из этого, я решил написать свой алгоритм для сортировки массива, который работал бы лучше за quick_sort. И если массив уже отсортирован, то не прогонять его кучу раз, как это бывает у многих алгоритмов.
«Дело было вечером, делать было нечего», — Сергей Михалков.
Требования:
- Лучший случай O (n)
- Средний случай O (n log n)
- Худший случай O (n log n)
- В среднем быстрее быстрой сортировки
А теперь давайте обо всём по порядку
Чтобы наш алгоритм всегда работал быстро, нужно чтобы в среднем случае асимптотика была хотя бы O (n log n), а в лучшем — O (n). Все мы прекрасно знаем, что в лучшем случае сортировка вставками работает за один проход. Но в худшем ей придётся гонять по массиву столько раз, сколько в нём элементов.
Внешняя компонента для 1С Мобильной платформы(BroadcastReceiver)
2020-01-19 в 18:57, admin, рубрики: 1С, c++, jni, Разработка под androidВсе сказанное в статье будет интересно исключительно разработчикам 1С.
Сегодня мы разберем внешнюю компоненту для «1С Мобильное приложение». Эта статья появилась по двум причинам. Разрабатывать будем все под тот же АТОЛ Smart.Lite
- Разработка нативного приложения оказалась куда сложней, чем я думал изначально.
- Поступило несколько запросов именно на внешнюю компоненту для 1С
Подготовка sdl2 проекта для запуска на android
2020-01-19 в 6:20, admin, рубрики: android, c++, sdl2, разработка игр, Разработка под androidВсем привет. Сегодня мы посмотрим как подготовить проект с использованием библиотеки sdl2 для запуска игры на android.
Читать полностью »
Сказ об опасном std::enable_shared_from_this, или антипаттерн «Зомби» — разбор полётов
2020-01-18 в 8:09, admin, рубрики: c++, c++11, C++14, c++17, shared_from_this, smart pointers, std::enable_shared_from_this, std::shared_ptr, weak_from_this, умные указателиВ настоящей статье приводится разбор вариантов устранения антипаттерна «Зомби», описанного в первой части: Сказ об опасном std::enable_shared_from_this, или антипаттерн «Зомби».
Читать полностью »
