Большая часть оптимизаций запросов к базам PostgreSQL может выполняться "механически", следуя разного рода маркерам в плане выполнения запроса, которые подскажут, что и как можно ускорить. Но "глубинные" переработки алгоритма, вроде описанных в статье про DBA-детектив, требуют от…
Привет! Вы, возможно, знаете меня по серии «Реверсим Нейроманта», где я рассказываю о том, как мы реверс-инжинирим и портируем видеоигру по мотивам одноимённого романа Уильяма Гибсона. Из-за своего содержания, это, скорее, спин-офф, чем следующая номерная часть — самостоятельный…
Разбираемся в устройстве PE и рождественских ELF'ов, реверс-инжинирим runtime-библиотеку, портируем ассемблерный код, собираем и редактируем исполняемые файлы и периодически спрашиваем себя "А так можно было?".Все это на примере обычной задачи портирования компилятора с довольно необычной архитектурой. Но обо всём по порядку
В задачах на SQL особенно интересно то, что один и тот же результат часто можно получить несколькими способами – и разница между ними оказывается не только в красоте запроса, но и в его поведении на реальных данных. В этой статье – разбор прикладной задачи про поиск подозрительных логинов из разных стран в пределах двух часов: с вариантом через self join, альтернативой на оконных функциях и сравнением планов выполнения в PostgreSQL. Разбор запроса