Как стать автором
Обновить
130.32
Рейтинг

C++ *

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

Сначала показывать
Порог рейтинга

Новости

7-zip — нет времени спешить

Клиентская оптимизация *C++ *Реверс-инжиниринг *Разработка под Windows *
Из песочницы

Данной заметки не должно было быть, но мы живем не в идеальном мире. Есть много пользователей, что предпочли стандартному проводнику Windows альтернативу и наверное еще больше пользователей архиватора 7-zip. Имеет смысл поделиться с ними, подумал я и вот мы здесь.

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

Что делает обычный эникейщик в подобной ситуации? Конечно же берет в руки первый подвернувшийся профайлер.

Читать далее
Всего голосов 175: ↑175 и ↓0 +175
Просмотры 23K
Комментарии 47

C++ для Maya

C++ *Работа с 3D-графикой *Visual Studio *API *
Из песочницы

Создание кастомного локатора в Autodesk Maya с помощью C++

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

Читать далее
Всего голосов 8: ↑8 и ↓0 +8
Просмотры 2.4K
Комментарии 1

Алгоритмы диапазонов C++20 — 7 немодифицирующих операций

Блог компании SkillFactory Программирование *C++ *Алгоритмы *
Перевод


Библиотека Ranges для C++20 предлагает альтернативы для большинства алгоритмов. На этот раз я хочу показать вам десять немодифицирующих операций. Мы сравним их со «старой» стандартной версией и увидим их преимущества и ограничения.


Подробности — к старту нашего курса по разработке на C++.

Читать дальше →
Всего голосов 5: ↑4 и ↓1 +3
Просмотры 1.7K
Комментарии 21

Нестандартный полиморфизм. Паттерн Type Erasure

C++ *
Из песочницы

Нестандартный полиморфизм. Паттерн Type Erasure.

Посмотрим на проблему, решим ее обычным полиморфизмом и пройдем небольшими шагами к более элегантному решению с помощью современного паттерна.

Читать далее
Всего голосов 11: ↑10 и ↓1 +9
Просмотры 3.6K
Комментарии 41

Инверсия зависимостей (dependency inversion principle)

C++ *
Recovery mode

Одним из принципов SOLID является инверсия зависимостей (dip). В литературе по программированию и в интернете масса источников с детальным описанием этого принципа. И большинство кандидатов на собеседовании успешно отвечают заученными фразами на вопрос: "Что такое инверсия зависимости?". Но при практической реализации мгновенно возникает вопрос, а в чем же собственно заключается инверсия и как она программируется? Далее будет рассмотрен данный принцип более подробно.

Читать далее
Всего голосов 14: ↑1 и ↓13 -12
Просмотры 3.9K
Комментарии 8

Помимо Правил Трех, Пяти и Ноля

Блог компании OTUS Программирование *C++ *
Перевод

В предыдущей статье мы разобрали Правила Трех, Пяти и Ноля — что они из себя представляют, и когда и какое из них следует использовать (спойлер: львиная доля кода должна быть написана в соответствии с Правилом Ноля).

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

Читать далее
Всего голосов 17: ↑13 и ↓4 +9
Просмотры 1.9K
Комментарии 3

Параллелизм истинный и мнимый или… и ты туда же, Рикитаке

C++ *Параллельное программирование *Визуальное программирование *

Я уже не знаю кому и чему верить. Собрался было подводить итоги по обсуждению аттрактора Лоренца, но что-то меня заставило "поиграть" еще с одним - мотором Рикитаке [1]. И, честное слово, какого-либо подвоха я, ну, никак  не ожидал. Просто потому, что по виду графиков он был, пожалуй, наиболее стабильным и характерным по внешнему виду во всех программных пакетах - MATLAB, SimInTech и ВКПа (cм. также предыдущую статью [2]).

            На структурном уровне рассматриваемые аттракторы можно представить в виде трех блоков ("черных ящиков"), отличающихся лишь видом связей. Структурная модель аттрактора Рикитаке представлена на рис. 1а, а на рис. 1б для сравнения приведена схема аттрактора Лоренца.

 

Читать далее
Всего голосов 9: ↑1 и ↓8 -7
Просмотры 1.5K
Комментарии 4

UNIGINE 2.16.1 — Screen-Space Haze Global Illumination, улучшенный API импорта, усовершенствования для VR

Блог компании UNIGINE C++ *Работа с 3D-графикой *C# *

Почти под ёлочку состоялся минорный релиз 2.16.1, который, однако, содержит пару крутых фичей - например, SSHGI (глобальное освещение дымки в экранном пространстве), добавляющее сразу +100 к атмосфере и возможность из любой сцены сделать Сайлент Хилл. А еще мы усовершенствовали API импорта ассетов в процессе работы приложения, добавили опцию для еще более реалистичных динамических отражений, оптимизировали рендеринг теней - об этом и остальном читайте под катом.

Читать далее
Всего голосов 8: ↑8 и ↓0 +8
Просмотры 1.4K
Комментарии 0

PVS-Studio и RPCS3: лучшие предупреждения в один клик

Блог компании PVS-Studio C++ *

Best Warnings — режим анализатора, оставляющий в окне вывода 10 лучших предупреждений. Мы предлагаем вам ознакомиться с обновлённым режимом Best Warnings на примере проверки проекта RPCS3.

Читать далее
Всего голосов 8: ↑7 и ↓1 +6
Просмотры 785
Комментарии 4

SuperIndustry — Dev log #0 – Начало приключения

C++ *Разработка игр *Unreal Engine *
Из песочницы

Привет, друзья! В этом цикле статей я максимально подробно буду рассказывать о процессе разработки игры на UE – SuperIndustry. Вы сможете на моем примере познать процесс разработки 3D игры на UE. Вкратце про игру: Представьте гибрид Oxygen not included и Satisfactory, в далеком будущем и на специфичной экзо планете. В игре будет простенький сюжет, который будет повествоваться через своеобразный дневник. Главная цель – улететь с планеты (либо же остаться на ней, и немного поиграв дойти до второй, более загадочной и неоднозначной концовки)

Узнать что-то новое
Всего голосов 8: ↑7 и ↓1 +6
Просмотры 911
Комментарии 2

Весенние конференции JUG Ru Group: много офлайна и много онлайна

Блог компании JUG Ru Group JavaScript *Java *C++ *Разработка мобильных приложений *

Помните доисторические времена вроде 2019 года, когда ещё не было пандемии? Тогда мы проводили офлайновые конференции, и обычно они длились дня два с утра до вечера: можно успеть и доклады послушать, и наобщаться вволю.

В эпоху онлайн-конференций многие ностальгировали по этому и просили «вернуть как было». Однако другие участники успели полюбить удобство онлайна (например, те, кто живёт далеко от Москвы/Петербурга). И просто вернуть прежний формат означало бы сделать им хуже.

Поэтому на наших весенних конференциях мы постараемся, чтобы никто не ушёл обиженным: и офлайн будет двухдневным (с 2019-го такое не делали), и у онлайн-участников будет много контента. Подробности — под катом.

Читать далее
Всего голосов 16: ↑15 и ↓1 +14
Просмотры 912
Комментарии 4

Правила Трех, Пяти и Ноля

Блог компании OTUS Программирование *C++ *
Перевод

Цель этого поста — познакомить вас с Правилами Трех, Пяти и Ноля и объяснить, какое из них и когда вам следует использовать. В следующем посте мы углубимся в применение Правила Пяти в различных сценариях.

Читать далее
Всего голосов 19: ↑16 и ↓3 +13
Просмотры 14K
Комментарии 9

Истории

Используем Objective-C в C++ без проблем

C++ *Objective C *C *Разработка под MacOS *Системы сборки *
Из песочницы

Интегрируем Objective-C код из Apple SDK в C++ проект, без переписывания всего проекта на Objective-C++, с использованием PIMPL идиомы. Также, сборка всего проекта вместе с использованием Makefile и CMake (для генерации .xcodeproject).

Читать далее
Всего голосов 7: ↑6 и ↓1 +5
Просмотры 2.3K
Комментарии 37

Использование final для повышения производительности в C++

Блог компании OTUS Программирование *C++ *
Перевод

Динамический полиморфизм (виртуальные функции) занимает центральное место в объектно-ориентированном программировании (ООП). При правильном использовании он способствует созданию входных точек в существующей кодовой базе, с помощью которых новый функционал и поведение могут (относительно) легко интегрироваться в уже проверенную, хорошо протестированную кодовую базу.

Читать далее
Всего голосов 26: ↑20 и ↓6 +14
Просмотры 8.2K
Комментарии 18

История разработчиков коммерческой системы видеосвязи Video Union, путь 2013 — 2022

C++ *Софт Интервью IT-компании Видеоконференцсвязь

В 2022 году существенно вырос спрос на отечественный софт, в первую очередь заменяющий зарубежные решения. Вопрос замены ПО до сих пор остро стоит во многих компаниях и государственных структурах, особенно после ухода из России зарубежных вендоров и организаций, предоставляющих удобные сервисы для коммуникации. В сегодняшнем интервью поговорим с Сергеем Выборновым @serg52 — одним из основателей системы видеоконференций Video Union и одним из совладельцев этого проекта. Video Union стал одним из вариантов на замену популярных в России сервисов Zoom и Microsoft Teams, постепенно прекращающих бизнес в РФ. Сергей расскажет историю сервиса, интересные и неочевидные моменты развития проекта и как на Video Union повлияла ситуация в мире.

Читать далее
Всего голосов 33: ↑30 и ↓3 +27
Просмотры 2K
Комментарии 6

Кастомный аллокатор для закрытого 3rd

Ненормальное программирование *C++ *Отладка *Реверс-инжиниринг *Разработка под Windows *

Существует ряд ситуаций, когда это имеет смысл. От полного контроля памяти, до вынужденной необходимости. К примеру, одна из возможных ситуаций:
1. Мы используем alignment аллокаторы.
2. Мы перегружаем какой-то класс и данные от нашей 3rd зависимости.
3. 3rd зависимость не использует alignment аллокаторы.

Читать далее
Всего голосов 4: ↑3 и ↓1 +2
Просмотры 1.1K
Комментарии 3

Полиморфные структуры данных и производительность

Высокая производительность *Ненормальное программирование *Open source *Программирование *C++ *

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

Читать далее
Всего голосов 13: ↑12 и ↓1 +11
Просмотры 4.2K
Комментарии 45

Вклад авторов

Работа

QT разработчик
12 вакансий
Программист C++
136 вакансий