Обновить
256K+

C++ *

Типизированный язык программирования

454,18
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Аллокаторы внутри

Время на прочтение10 мин
Охват и читатели19K

После прошлого поста про базовые концепции аллокаторов хотелось бы всё-таки посмотреть на что-то настоящее, из жизни и заодно доказать, что ни Андрей Александреску, ни я не врём, и что-то из рассказанного и правда используется в продакшене. Потому посмотрим на несколько популярных аллокаторов и попытаемся что-нибудь в них понять.

Выделить знания

Опыт применения API SolidWorks для автоматизированного проектирования тары

Время на прочтение9 мин
Охват и читатели15K
В современных условиях для любого предприятия важно сокращение сроков проектирования новых изделий. Один из путей такого сокращения – это автоматизация процессов проектирования. Среди проектируемых изделий можно выделить стандартную тару. С помощью этой тары (комплектов ящиков) могут быть упакованы, например, комплексы радиоэлектронной аппаратуры. Задача проектирования таких комплектов ящиков в отдельных случаях может быть достаточно формализована и представлять собой монотонную работу.



Следует отметить, что задачами автоматизации проектирования тары занимался ряд ученых, разработчиков и организаций (см. например [1, 2, 3]). Однако не существует широко известных инструментов, предназначенных для решения узкоспециализированной задачи: проектирования ящиков типа VI по ГОСТ 5959-80 (см. рисунок выше) на основе API SolidWorks. Поэтому представляют интерес способы такого решения.

Читать дальше →

[sobjectizer] Синхронное общение с агентами в реальном проекте

Время на прочтение8 мин
Охват и читатели1.9K

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

Рассказать о том, что именно это за проект мы не можем, т.к. это закрытая заказная разработка. Но о том, как SObjectizer применяется мы все-таки попробуем поговорить. Естественно, речь пойдет не обо всем, а об одном моменте, которые запомнился лично мне.

Читать далее

Просто о шаблонах C++

Время на прочтение50 мин
Охват и читатели270K

Статья для тех, кто боится слова template в C++. Вводная информация с примерами и их подробным разбором.

Читать далее

Дзен Nim

Время на прочтение21 мин
Охват и читатели10K

1. Копирование плохого дизайна — плохой дизайн.

2. Если компилятор не может рассуждать о коде, то и программист не может.

3. Не стой на пути у программиста.

4. Перенеси работу на этап компиляции: программы запускаются гораздо чаще, чем компилируются.

5. Настраиваемое управление памятью.

6. Лаконичный код не мешает читабельности, он ей способствует.

7. (Задействовать метапрограммирование, чтобы оставить язык компактным).

8. Оптимизация это специализация: если вам нужно больше скорости, пишите кастомный код.

9. Должен быть только один язык программирования для всего. Этот язык — Nim.

Читать далее

Собираем свой chromium/electron, с блекджеком и поэтессами

Время на прочтение13 мин
Охват и читатели21K
image

Добрый день. Меня зовут Тимур и я программист.

Сегодня я предлагаю посмотреть как можно подрихтовать исходники chromium-а, собрать свой вариант браузера и подтянуть это добро в electron. Эта статья — пробный шар, какая то часть ее позже перекочует в документацию проекта который, я надеюсь, смогу раскачать и сделать популярным, но об этом потом.

Если Вам хочется похейтить пользователей электрона в частности или джисеров в целом — проходите мимо. Электрон я сам не особо люблю и как раз пытаюсь сделать лучшую замену ему, что касается фронтовиков — я один из них, но про js в статье будет очень мало. Сорян.
Читать дальше →

Мультиплеер в Unreal Engine: Подключение и Хостинг

Время на прочтение11 мин
Охват и читатели31K

Привет Хабр!

В этой статье я хочу раскрыть механику создания онлайн сессии и подключения к ней. Все выполнено в с использованием Online Subsystem для возможного расширения вашей игры в контексте Steam, Origin, Play Station Store и т.д

Читать далее

Кросс-компиляция с Clang – это просто

Время на прочтение15 мин
Охват и читатели37K

Разберемся с кросс-компиляцией при помощи Clang на пальцах, попутно посмотрим на CMake, не оставим без внимания Conan, соберем самый настоящий .deb пакет и конечно же - максимально контейнеризируем и автоматизируем весь процесс. Посмотрим зачем нам тут Clang, и почему иногда не обойтись без него.

Кросс-компилировать

RustCon Russia 2021: как прошла конференция, и о чем там говорили

Время на прочтение5 мин
Охват и читатели5.2K

RustCon Russia 2021: как прошла конференция, и что на ней обсуждали

Читать далее

Собственный zigbee2mqtt на C++ с бустом и исключениями

Время на прочтение10 мин
Охват и читатели12K

Домашняя автоматизация - вещь неоднозначная, каждый понимает под ней что-то свое: для кого-то это подключить обогреватель через wi-fi розетку, а кому-то подавай домашний сервер, километры кабеля, KNX и часы работы интеграторов. Если в городских квартирах система "умный дом" - не всегда благо, то для загородного дома или дачи необходимость ее наличия сильно возрастает: проконтролировать отопление, выключить свет или разогреть электропечку в любимой сауне перед приездом. При этом такая система должна быть простой, дешевой и уметь работать автономно: никто не хочет приехать в промёрзший из-за упавшего интернета дом. А что нужно сделать, если готовые решения полностью не устраивают, правильно - написать самому...

Читать далее

Рефлексия в C++Next на практике

Время на прочтение24 мин
Охват и читатели19K

Определение понятия "рефлексия" из Википедии:

In computer science, reflective programming or reflection is the ability of a process to examine, introspect, and modify its own structure and behavior.

В последние годы разрабатываются варианты ввода рефлексии в стандарт C++.

В этой статье мы напишем код на C++ с рефлексией для решения разных задач, скомпилируем и запустим его на форке компилятора с рабочей реализацией рефлексии.

Хочу программировать на C++Next

HTTP менеджер запросов в Unreal Engine

Время на прочтение3 мин
Охват и читатели7.1K

Приветствую, Хабр!

В этой статье я разберу небольшую, но очень полезную тему HTTP запросов в UE. Все будет выполнено строго на C++.

Читать далее

Как я написал алгоритм сортировки, который быстрее std::sort. Продолжение

Время на прочтение21 мин
Охват и читатели11K

Прим. Wunder Fund: не спешите минусовать эту публикацию — её перевода на Хабре ещё не было :)

Это — продолжение моей предыдущей публикации (вот — перваявторая и третья части перевода), посвящённой тому, как я создал алгоритм сортировки, который быстрее std::sort. Эта статья — мой шанс углубиться в те детали, о которых меня спрашивали в комментариях. Я собираюсь разъяснить здесь некоторые вещи, которые оказались непонятными аудитории, и поговорить о будущем моего алгоритма, о доработках, в которых он нуждается.

Кто-то, за что я этому неизвестному благодарен, разместил ссылки на мою статью на Hacker News и на Reddit. И хотя эти ссылки там разместил не я, я, всё же, прочитал большую часть комментариев, сделанных пользователями этих сайтов. По какой-то причине те комментарии, что были сделаны в моём блоге, оказались гораздо позитивнее, чем комментарии на Hacker News и Reddit. Но у меня такое ощущение, что причина появления негативных комментариев заключается, в целом, в неправильном понимании того, о чём я пишу. Здесь я собираюсь расставить все точки над «i».

Читать далее

Ближайшие события

Самые интересные блоги и сайты для C++ программистов

Время на прочтение4 мин
Охват и читатели19K

С++ Top
Наверняка у читателя есть свои любимые сайты и блоги, посвящённые программированию на языке С++. Сегодня ваша коллекция пополнится.

Читать дальше →

FFmpeg libav с нуля. Часть 1: знакомство и начало работы

Время на прочтение4 мин
Охват и читатели24K

Всем привет! Сегодня я хочу открыть серию статей по изучению FFmpeg libav с нуля.

Сразу уточню, что в основном статьи направлены на программирование, используя библиотеки libav*, где в качестве языка выступит С++.

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

Читать далее

Коллекционирую вредные советы для С++ программистов

Время на прочтение2 мин
Охват и читатели24K

Помогите, у меня лапки
Я пишу статьи, посвященные написанию качественного кода и про поиск ошибок с помощью инструментов статического анализа. Однообразие наскучивает, хочется пошалить. А давайте все вместе напишем статью "100 вредных советов для С++ программиста". Я начну, а вы подхватите.

Читать дальше →

Как я проходил отбор на стажировку бекэнд — разработчиком (C++) в Яндекс по программе Deep Dive (в формате буткемпа)

Время на прочтение6 мин
Охват и читатели44K

Расскажу небольшую историю о том, как я проходил отбор в буткемп от Яндекса.

Читать далее

Как я написал алгоритм сортировки, который быстрее std::sort. Часть 3

Время на прочтение12 мин
Охват и читатели7.7K

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

Прим. Wunder Fund: ну, вы наверное, и сами догадываетесь, как мы любим быстрые алгоритмы и оптимизации. Если вы тоже такое любите — вы знаете, что делать)

Читать далее

Нельзя копировать код с помощью memcpy, всё намного сложнее

Время на прочтение4 мин
Охват и читатели19K

В своё время один из клиентов сообщил нам, что на Itanium его программа завершалась аварийно.

Постойте, не закрывайте статью!

На Itanium клиент выявил проблему, но она свойственна и всем остальным архитектурам, так что продолжайте чтение.
Читать дальше →