Как стать автором
Обновить
0
0
dnick @dnick

Пользователь

Отправить сообщение

Подборка бесплатных утилит компьютерной криминалистики (форензики)

Время на прочтение3 мин
Количество просмотров99K
image

В этой статье представлены бесплатные инструменты для проведения расследования инцидентов информационной безопасности.
Читать дальше →
Всего голосов 49: ↑48 и ↓1+47
Комментарии18

Анонс C++ Core Guidelines

Время на прочтение3 мин
Количество просмотров30K
image

Утром 21 сентября, на открывающем докладе CppCon Бьерн Страуструп официально анонсировал C++ Core Guidelines [ссылка на GitHub проекта][ссылка на слайды] — старт нового open source-проекта по разработке современных авторитетных гайдлайнов по написанию кода на C++. Гайдлайны создаются таким образом, чтобы быть современными, машинно-проверяемыми, а также открытыми для использования в сторонних компаниях — такими, чтобы любая желающая организация могла взять их и включить в свои собственные корпоративные стандарты кодирования.

В качестве авторов-инициаторов проекта выступили Бьерн Страуструп и Герб Саттер; гайдлайны создавались при участии экспертов из CERN, Microsoft, Morgan Stanley и еще нескольких организаций. Сейчас гайдлайны достигли версии 0.6, и Страуструп призывает всех желающих активно контрибьютить в проект.

Страуструп в своем выступлении сказал следующее: «Вы можете писать программы на С++, которые будут статически типобезопасными, и в которых не будет утечек ресурсов. Вы можете делать это без потери производительности и без ограничения выразительной мощи С++. Все это служит поддержкой основного тезиса о том, что сборка мусора не является как необходимой, так и достаточной частью качественного программного обеспечения (garbage collection is neither necessary nor sufficient for quality software). Наши новые гайдлайны делают написание кода более простым, чем это было в старых стилях программирования на С++, а его безопасность может быть проверена инструментами, которые вскоре будут доступны в open source».
Читать дальше →
Всего голосов 34: ↑34 и ↓0+34
Комментарии11

Lock-free структуры данных. Извне: введение в libcds

Время на прочтение14 мин
Количество просмотров31K

В этой статье я даю краткий обзор того, как применять библиотеку lock-free структур данных libcds. В реализацию я углубляться здесь не буду, — это просто взгляд извне, взгляд со стороны пользователя библиотеки.

Библиотека libcds имеет свою точку зрения на многие известные структуры данных. Отчасти это объясняется целевой областью – lock-free структуры данных довольно минималистичны по набору предоставляемых методов, — отчасти желанием выйти за ограничения и решения стандартной библиотеки STL. Что из этого получилось – решать пользователям libcds.

Кому интересно – добро пожаловать под кат
Читать дальше →
Всего голосов 49: ↑49 и ↓0+49
Комментарии5

Real-time дебаг Android и iOS приложений на Unity

Время на прочтение6 мин
Количество просмотров20K
Когда разработка проекта идёт на компьютере, проблемы просмотра лога не встаёт. Но когда начинаешь разрабатывать на планшете, то всё становится гораздо печальнее. Разработчики движка добавили много разных полезных вещей в профайлер, но к сожалению забыли о простой консоли, чтобы переключившись на её вкладку разработчик мог смотреть сообщения от своей игры и отправлять какие-то консольные команды прямо с компьютера на планшет.
Это упущение мы сейчас и будем исправлять.
Читать дальше →
Всего голосов 19: ↑16 и ↓3+13
Комментарии7

Избавление от артефактов сжатия PVRTC текстур

Время на прочтение2 мин
Количество просмотров20K

Проблематика


При разработке мобильных игр многие сталкиваются с необходимостью уменьшения занимаемой оперативной памяти или размера дистрибутива. Чаще всего самые тяжеловесные ассеты в проекте это текстуры. Несжатая текстура размером 1024х1024 занимает в районе 4 Мб. А в сцене обычно таких текстур не мало. И если мы хотим, чтобы сцены нашей игры загружались быстрее и не занимали слишком много оперативной памяти, мы вынуждены подвергать текстуры компрессии. В unity3d для мобильных устройств существует несколько типов сжатия. Думаю, описанный здесь подход для повышения качества результата компрессии текстур будет справедлив для всех алгоритмов, но рассматривать мы будем на примере PVRTC. У него есть один большой плюс, и один большой минус. Размер текстур уменьшается в восемь раз, но при этом появляются ужасные артефакты, особенно на прозрачных текстурах. Данная тема призвана помочь в борьбе с последними.
Узнать как
Всего голосов 18: ↑18 и ↓0+18
Комментарии26

Об одном методе распределения памяти

Время на прочтение17 мин
Количество просмотров29K
image
Не секрет, что иногда выделение памяти требует отдельных решений. Например — когда память выделяется и освобождается стремительным домкратом потоком, в параллельных задачах.

В результате стандартный консервативный аллокатор выстраивает все запросы в очередь на pthread_mutex / critical section. И наш многоядерный процессор медленно и печально едет на первой передаче.

И что с этим делать? Познакомимся поближе с деталями реализации метода Scalable Lock-Free Dynamic Memory Allocation. Maged M. Michael. IBM Thomas J. Watson Research Center.

Самый простой код что я сумел найти — написан под LGPL камрадами Scott Schneider и Christos Antonopoulos. Его и рассмотрим.

Читать дальше →
Всего голосов 103: ↑101 и ↓2+99
Комментарии62

Демонстрация сбоев программы при отсутствии барьеров памяти

Время на прочтение3 мин
Количество просмотров32K
Джефф Прешинг (Jeff Preshing) опубликовал отличную демонстрацию, как нормальный код C++ возвращает непредсказуемый результат на многоядерных процессорах со слабо упорядоченной обработкой очереди запросов (Weakly-Ordered CPU), то есть на ARM-процессорах. Например, на iPhone или каком-нибудь современном Android-устройстве.

Простая программа C++ с двумя потоками 20.000.000 раз прибавляет единичку к значению, защищённому мьютексом, — и каждый раз на выходе получается разный результат, который меньше 20.000.000!



Как говорится, наш враг — CPU.
Читать дальше →
Всего голосов 81: ↑74 и ↓7+67
Комментарии39

Как превратить браузер в notepad за 1 секунду

Время на прочтение1 мин
Количество просмотров138K
Открыть новую закладку, скопировать в адресную строку

data:text/html, <html contenteditable>

и нажать Enter.

Вуаля.


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

Можно печатать написанное, можно сохранять в текстовый файл (для корректного сохранения русского языка необходимо сначала выставить правильную кодировку у страницы).
Всего голосов 554: ↑418 и ↓136+282
Комментарии154

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность