[Из песочницы] Быстрый поиск источника нежелательных мутации свойства объекта

Привет! Cегодня расскажу, как можно с помощью отладчика решить, на мой взгляд, нетривиальную проблему JavaScript.

В JavaScript объекты это составной тип данных, его значение передается по ссылке. Другими словами, когда мы передаем объект в функцию к…

[Из песочницы] 6 советов для успешного Code Review

Привет, Хабр! Представляю Вашему вниманию перевод статьи «6 Tips To A Successful Code Review».
Сode review во все времена являлся основополагающей практикой, отвечающей за создание чистого и поддерживаемого кода.
Частенько разработчики пренебрегают и…

[Перевод] Падение в кроличью нору. История об одной ошибке перезагрузки varnish — часть 1

ghostinushanka, молотив по кнопкам в течение предыдущих 20 минут, как если бы от этого зависела его жизнь, поворачивается ко мне с полу-диким выражением в глазах и хитрой ухмылкой — “Чувак, я кажется понял.”
“Посмотри вот сюда,” — говорит, показывая н…

Автоматизация аппаратного тестирования Embedded Систем

Продолжим цикл статей об автоматизации тестирования Embedded систем. В этой статье будет рассказано как можно быстро и относительно просто интегрировать возможность управления питанием тестируемого устройства из тестового скрипта а так же получить возм…

Обработка системных вызовов посредством LD_PRELOAD с единой точкой входа

Делая пере-реализацию QInst на LLVM, я столкнулся с такой проблемой: QEMU в режиме эмуляции одного процесса естественным образом перехватывает все «гостевые» системные вызовы. В итоге плагин инструментации имеет единую точку входа для их предобработки,…