Страница 1 из 1

Плохая архитектура II

Добавлено: 10 ноя 2005, 19:19
vg
Вопрос был задан в телефонном интервью.

Реализовано нечто вроде Terminal Server/Client

Server - сам непосредственно работает с видео драйверами. Периодически делает "снимок" рабочего стола и посылает клиенту.
Транспорт TCP. Это всё, что известно.

Меня хватило только на то, чтобы предложить предварительную компрессию данных. Сказали - да хорошо, но мало. Про UDP, как альтернативу не сказал, но можно не упоминать (там очень много всёравно не выйграть на оверхедах).

Второй вопрос не из разряда архтектурных и достаточно простой, но всё же.

Есть приложенние, писанно C++ в 1000000 строк. Сорц доступен. Местами бывает меморилик, так и переполнение буферов. Используются в коде только malloc и free.
Предлагается заменить их на debug_malloc и debug_free, для того, чтобы найти проблемные адреса и подправить ситуацию. Описать принцип написания debug_malloc/debug_free (телефонное интервью).

Re: Плохая архитектура II

Добавлено: 10 ноя 2005, 22:03
ajkj3em
посылать естественно надо разницу между текущим снимком и
предыдущим. можно дополнительно перевести в палитровый
формат перед сжатием и посылкой.

Добавлено: 11 ноя 2005, 00:56
Проф. Преображенский
Масса информации в инете по ключу detecting memory leak. Обычно делается трасса распределения и освобождения памяти. В дебаг моде проекта это как-то делается.
Это как в дайвинге - должно совпадать количество (быть четным).

Добавлено: 11 ноя 2005, 04:34
vg
runner писал(а):Масса информации в инете по ключу detecting memory leak. Обычно делается трасса распределения и освобождения памяти. В дебаг моде проекта это как-то делается.
Это как в дайвинге - должно совпадать количество (быть четным).
Тузлы не применять.
Ты уже близко, сказав о чётности. Остался всего один шаг.
И далее, а как быть с переполнением буфера (надо продолжить рассуждения)? Всё надо уместить в 10-20 строк кода реализации debug_malloc, debug_free.

Re: Плохая архитектура II

Добавлено: 11 ноя 2005, 04:36
vg
ajkj2em писал(а):посылать естественно надо разницу между текущим снимком и
предыдущим. можно дополнительно перевести в палитровый
формат перед сжатием и посылкой.
хорошая идея. согласен. хотя, что хотели гуру до конца не ясно. (я там естественно не прошёл по многим критериям)

Добавлено: 11 ноя 2005, 12:47
Проф. Преображенский
Тузлы не применять.
У меня стоит Боундзчекер, но это необязательно.
Ты уже близко, сказав о чётности. Остался всего один шаг.
Я уже на месте. Ты шагай. :wink:
И далее, а как быть с переполнением буфера (надо продолжить рассуждения)? Всё надо уместить в 10-20 строк кода реализации debug_malloc, debug_free.
Выдавать больше и метить хвост.

Re: Плохая архитектура II

Добавлено: 11 ноя 2005, 12:49
Проф. Преображенский
vg писал(а):
ajkj2em писал(а):посылать естественно надо разницу между текущим снимком и
предыдущим. можно дополнительно перевести в палитровый
формат перед сжатием и посылкой.
хорошая идея. согласен. хотя, что хотели гуру до конца не ясно. (я там естественно не прошёл по многим критериям)
сошлись на MPEG4.

Добавлено: 11 ноя 2005, 13:10
vg
runner писал(а):
Тузлы не применять.
У меня стоит Боундзчекер, но это необязательно.
Ты уже близко, сказав о чётности. Остался всего один шаг.
Я уже на месте. Ты шагай. :wink:
И далее, а как быть с переполнением буфера (надо продолжить рассуждения)? Всё надо уместить в 10-20 строк кода реализации debug_malloc, debug_free.
Выдавать больше и метить хвост.
Молодец. Правильно всё сказал. Только сильно не гордись. :lol: Я ж там пропостил в начале, что вопросы простые. :lol:

ПС. только в единственном месте ты ошибся - я на самом деле пришёл:lol: а вопросы то просто по прошлым интервью. так .... просто прикольно. а может и сгодится кому.

Добавлено: 11 ноя 2005, 14:06
Проф. Преображенский
ПС. только в единственном месте ты ошибся - я на самом деле пришёл:lol: а вопросы то просто по прошлым интервью. так .... просто прикольно. а может и сгодится кому.
Ну так пости сразу с ответами - чего отрываешь?