На примере простой задачи клонирования ключей объекта посмотрим, есть ли реальные альтернативы по производительности столь презираемой JavaScript-разработчиками функции eval().Подобная задача возникает, если оригинальное значение ключа надо оставить у …
Сегодняшняя задача вполне традиционна для любых учетных систем — поиск записей, содержащих максимальное значение по каждому из ключей. Что-то вроде «покажи мне последний заказ по каждому из клиентов», если переводить в прикладную область.Кажется, что т…
Под занавес уходящего года предлагаю традиционно вспомнить, про какие интересные возможности и особенности работы с PostgreSQL мы рассказали в нашем блоге.Если не видели дайджест за прошлый год — время наверстать упущенное! Читать далее…
Привет ХАБР. Тема, которой посвящена эта статья с одной стороны важна, ведь в кибер-пространстве «неспокойно». Каждый день приходят новости, что ту или иную компанию взломали хакеры, получили дампы или зашифровали данные. Защищаться от кибер-угроз, вы…
Достаточно часто при проектировании схемы БД возникает задача сохранить по основной сущности некоторый набор простых второстепенных данных.Например, это могут быть ФИО сотрудников, принимающих участие во встрече, список приложенных к сообщению файлов …
Представим, что у вас есть некоторая табличка статистики, куда вы периодически скидываете таймстамп последнего «текущего» состояния в паре координат — например, (ID организации, ID сотрудника).Как больно наступить на грабли в совсем простом, казалось б…
Утечки памяти в WEB приложениях могут сильно подпортить представление пользователей о ваших продуктах. О том, как тестировать на утечки памяти есть много туториалов. Однако, мало диагностировать наличие утечки — надо ее суметь отладить и исправить. В с…
Наверняка, многие из вас пользуются explain.tensor.ru — нашим сервисом визуализации PostgreSQL-планов или уже даже развернули его на своей площадке. Но визуализация конкретного плана — это лишь небольшая помощь разработчику, поэтому в «Тензоре» мы созд…
В прошлых частях цикла мы:- рассмотрели базовые концепты работы с многопоточностью в JavaScript на примере среды Node.js;- научились формировать общую очередь и каналы обмена данными и сигналами, чтобы более эффективно управлять загрузкой потоков;- исп…
В предыдущей части мы научились эффективно передавать данные вспомогательным потокам из основного через разделяемую память, используя Atomics-операции и блокировки.Но мы рассматривали все-таки идеальную ситуацию, когда основной поток больше н…