Я всегда в assert подписываю текстовое сообщение, тогда таких проблем не возникает.
А циклы в тестах нужны, как и в любом другом коде. Проще перечислить в массиве несколько нетривиальных входов, ожидаемых выходов и промежуточных результатов и затем в цикле каждый элемент этого массива протестировать. Так тест будет очевидно проще и надёжнее. Чтобы протестировать новый интересный случай, достаточно будет добавить запись в массив, а не копипастить кусок кода, внимательно исправляя его во всех нужных местах, включая те же текстовые сообщения.
Чтобы убедиться, что тест тестирует, надо его сломать. Например, в качестве одного из ожидаемых выходов подать заведомо неверный результат и убедиться, что действительно тест падает. Затем исправить и убедиться, что тест не падает.
Честно говоря, для меня загадка, почему так происходит. Формат описан в RFC 12 лет назад. Он не какой-то там убито-проприетарный или завязанный на какие-то там COM/OLE. Ну да, это не официальный стандарт W3C, ну и что? Почему его до сих пор не поддержали все браузеры, я не понимаю.
Честно говоря, для меня загадка, почему так происходит. Формат описан в RFC 12 лет назад. Он не какой-то там убито-проприетарный или завязанный на какие-то там COM/OLE. Ну да, это не официальный стандарт W3C, ну и что? Почему его до сих пор не поддержали все браузеры, я не понимаю.
После установки системы вы что делаете? Правильно, настраиваете её. Вот частью настройки является запрет autorun в реестре. Это делается одним и тем же способом, начиная с Win95.
Autorun появился, когда он работал только для компакт-дисков, а резаков ещё не было. Создать зловредный CD и подсунуть жертве — это надо было постараться. Зато это было удобно и юзерам, и корпорациям, производящим софт на CD: вставил диск, само заработало. Представляете, сколько затрат на саппорт и возвратов это сэкономило? «Я вставил диск, а ничего не работает, помогите!» Другой вопрос, почему он оказался по дефолту включен и для флэшек.
Иногда полезно сохранить веб-страницу со всеми картинками, чтобы получился один файл, который можно открыть одним кликом. Если есть альтернативный способ решения этой проблемы, подскажите его.
Вообще статья неточно пишет. На сайте Микрософт приводятся более мягкие варианты решения (смотрите Mitigating Factors and Suggested Actions): запретить выполнение скриптов во всех MHTML-файлах (не запрещая файлы в целом), разрулить это на уровне «зон безопасности IE» и т. д. Не вижу, откуда взялась инфа «отказаться от открытия таких файлов». Ну и написано, что над патчем активно работают.
Очевидно, патч не могут выпустить мгновенно после появления уязвимости. Более того, для всестороннего тестирования патча как ни крути может потребоваться несколько дней времени, а то и неделя. Если в новости пишут «патч уже выпущен», скорее это просто новость запоздалая =)
priority_queue в свою очередь полезно, например, для эффективной реализации алгоритма Форда-Фалкерсона поиска максимального потока в сети. А он уже для много чего полезен :-)
Имхо, следовало отметить, что хотя в heapSort гарантируется N log N (в отличие от qsort, где может быть и N^2), константный множитель больше, поэтому среднее время сортировки заметно превышает таковое для qsort.
Не говорите. Некоторое время назад одна моя коллега переползла с FF на IE, потому что FF «страшно тормозил и падал». Угадайте, в чём было дело. Не знаю как сейчас, но тогда там точно текла память и довольно быстро.
Идея форматирования кода хороша, и я её поддерживаю, но она идёт вразрез с автоформаттерами IDE, у которых часто своё представление о том, как выровнять строки и где сделать перенос строки. Не использовать их совсем тоже плохо, особенно новичкам в компании, если они привыкли к другому стилю кодирования. В компании может быть сделан шаблон автоформатирования, который соответствует внутренним требованиям. Кое-где он даже автоматически применяется при коммите кода ко всем файлам. С одной стороны можно не греть голову, правильно расставляя пробелы и скобки, но с другой стороны любой сотрудник может одной волшебной кнопкой испортить тщательную ручную расстановку переносов строк и пробелов в совсем другом фрагменте кода. Этого даже никто не заметит: код компилируется, тесты проходят.
В связи с этим возник вопрос: можно ли в популярных IDE пометить фрагмент кода, как не требующий автоформатирования? Или, скажем, разрешить автоформаттеру для фрагмента править отступы, но запретить править переносы строк?
Так можно и 10^200 подавать на вход. Промежуточный результат всегда в рамках конечного результата.
Я всегда в assert подписываю текстовое сообщение, тогда таких проблем не возникает.
А циклы в тестах нужны, как и в любом другом коде. Проще перечислить в массиве несколько нетривиальных входов, ожидаемых выходов и промежуточных результатов и затем в цикле каждый элемент этого массива протестировать. Так тест будет очевидно проще и надёжнее. Чтобы протестировать новый интересный случай, достаточно будет добавить запись в массив, а не копипастить кусок кода, внимательно исправляя его во всех нужных местах, включая те же текстовые сообщения.
Чтобы убедиться, что тест тестирует, надо его сломать. Например, в качестве одного из ожидаемых выходов подать заведомо неверный результат и убедиться, что действительно тест падает. Затем исправить и убедиться, что тест не падает.
Autorun появился, когда он работал только для компакт-дисков, а резаков ещё не было. Создать зловредный CD и подсунуть жертве — это надо было постараться. Зато это было удобно и юзерам, и корпорациям, производящим софт на CD: вставил диск, само заработало. Представляете, сколько затрат на саппорт и возвратов это сэкономило? «Я вставил диск, а ничего не работает, помогите!» Другой вопрос, почему он оказался по дефолту включен и для флэшек.
Вообще статья неточно пишет. На сайте Микрософт приводятся более мягкие варианты решения (смотрите Mitigating Factors and Suggested Actions): запретить выполнение скриптов во всех MHTML-файлах (не запрещая файлы в целом), разрулить это на уровне «зон безопасности IE» и т. д. Не вижу, откуда взялась инфа «отказаться от открытия таких файлов». Ну и написано, что над патчем активно работают.
В связи с этим возник вопрос: можно ли в популярных IDE пометить фрагмент кода, как не требующий автоформатирования? Или, скажем, разрешить автоформаттеру для фрагмента править отступы, но запретить править переносы строк?