Функцию rand из стандартной библиотеки языка Си для генерации псевдослучайных чисел, наверное, не ругал только ленивый. В довольно известном докладе Rand considered harmful рассказывалось о проблемах с переносимостью, ограниченным диапазоном, многопоточностью, качеством и т.п. Иногда в учебниках упоминают о том, что алгоритм в randЧитать полностью »
Рубрика «c++»
Почему функции rand и lrand48 из glibc годятся только для Тетриса: о случайных числах всерьёз
2026-03-01 в 9:16, admin, рубрики: c++, glibc, Генераторы псевдослучайных чисел, математическая статистика, математическое моделирование, Си, тестирование поНедавно на работе мы столкнулись с большим потреблением памяти в игре. Связано оно было с хранением большого количества информации о террейне и свойствах его клеток, которое нужно игре для разных геймплейных расчетов. Проблема насущная, особенно остро проявляется как раз в больших массивах или матрицах с большими размерностями.
Конфигурация как пакет: наводим порядок в Conan так, чтобы не было мучительно больно
2026-02-24 в 14:16, admin, рубрики: C, c++, conan, devops, package manager, конфигурация, пакетный менеджерВсе, кто плотно сидит на C++ и использует Conan, знают: сам по себе пакетный менеджер — это только полдела. Настоящее веселье начинается, когда нужно раскатать одинаковые настрйки на всю команду и десяток CI-нод. Репозитории, профили, хуки, кастомные настройки всё это хозяйство нужно как-то синхронизировать.
Раньше у нас был conan config install, который тянул конфиги из git-репозитория или zip-архива. Решение рабочее, но с душком: попробуйте воспроизвести сборку двухлетней давности, если за это время мастер-ветка с конфигами улетела далеко вперед.
В Conan версии 2.x (и последних минорных обновлениях) завезли киллер-фичу: Читать полностью »
Как я реализовал криптографически доказуемые чаты в своём мессенджере: Ed25519 + хеш-цепочка
2026-02-22 в 12:15, admin, рубрики: android, c++Мне 18 лет, и последние несколько месяцев я разрабатываю Xipher — мессенджер, который пишу с нуля на C++ (бэкенд) и Kotlin (Android). В какой-то момент я захотел добавить фичу, которой нет ни в одном популярном мессенджере: режим, в котором переписку невозможно подделать — ни участникам, ни мне как владельцу сервера, — и это можно проверить независимо, без доступа к серверу.
Так появился Xipher Provable Chat. В этой статье разберу, как именно это реализовано, какие решения я принял и с какими проблемами столкнулся.
Зачем это нужно
Принципы DOD в C++: Часть 1. Оптимизация структур
2026-02-22 в 10:15, admin, рубрики: alignment, c++, DOD, padding, профилирование, управление памятьюПриветствую всех, кто хочет делать свой код быстрым и оптимальным. В этой статье мы расссмотрим несколько простых способов, как можно оптимизировать программу при работе со структурами.
Размещение данных в памяти. L1, L2, L3 кэши и RAM
Мы все знаем, что данные (переменные, поля классов и т.д.) размещаются в "памяти". Но зачастую программист даже не задумывается, что именно представляет из себя эта абстрактная "память". Давайте рассмотрим этот вопрос чуть глубже, посколько понимание этого позволит ускорить код на двузначное число процентов.
Сравнение рейтинга TIOBE и вакансий на HH
2026-02-15 в 13:46, admin, рубрики: C#, c++, Go, java, javascript, kotlin, Matlab, php, python, sql
Доброго времени суток! Моя первая статья, не судите строго) В следующий раз, постараюсь учесть все, что вы напишите в комментариях.
Идея статьи
C++ доверяет программисту больше, чем любой другой популярный язык. Он дает вам спички и бензин, полагая, что вы хотите разжечь костер, а не поджечь дом. New и Delete - именно такие спички невероятно мощные, но и очень опасные в непонятных руках.
примечания:
-
В момент когда я говорю new, чаще всего я не конкретизирую, а имею введу сразу как new, так и delete
-
Я не считаю себя гуру в computer science, так что вероятно в этой статьи могут быть найдены технические ошибки, и я хотел бы вас попросить дать мне знать о них в комментариях, заранее вас благодарю.
Cистема визуально-инерциальной навигации для дрона на C++
2026-02-06 в 14:16, admin, рубрики: c++, kalman filter, opencv, Raspberry Pi, SLAM, vio, visual odometry, дроны, навигация, робототехникаДроны, которые работают на GPS, глушатся и это большая проблема для летательных аппаратов. Сигнал от спутников GPS проходит около 20 000 км и достигает антенны дрона с минимальной мощностью. Любая наземная глушилка, излучающая шум на частотах L1/L2/L5, для приемника дрона оказывается в тысячи раз громче спутников. Приемник слепнет, дрон теряет координаты, переходит в аварийный режим и сносится ветром.
И поэтому нам нужна MVIO (Monocular Visual Inertial Odometry).
Компилируем TypeScript в натив: хардкор и мясо
2026-02-04 в 15:03, admin, рубрики: c++, open source, open source projects, TypeScript, Компиляторы, компиляторы кода, мойофис, фронтенд, фронтенд технологииИнференс нейросетевых моделей для табличных данных с помощью ONNX Runtime на C++
2026-02-01 в 7:36, admin, рубрики: c++, DL, ONNX, onnxruntime, ORT, TabularDL, инференс моделейРазвертывание нейросетевых моделей в production-среде — критически важный этап ML-пайплайна. Когда речь заходит о встраивании в C++ приложения (будь то высоконагруженные сервисы, desktop-софт или встраиваемые системы), выбор инструментария сужается. Прямое использование фреймворков вроде PyTorch или TensorFlow часто избыточно и приводит к зависимостям, сложностям сборки и излишнему потреблению памяти.
ONNX Runtime (ORT)Читать полностью »

