Skip to content

Latest commit

 

History

History
367 lines (333 loc) · 35.1 KB

contents_ru.md

File metadata and controls

367 lines (333 loc) · 35.1 KB

Занимательные заблуждения

Заблуждения по поводу имен

  • Имена людей не меняются.
  • Моя система никогда не будет иметь дело с именами из Китая.
  • Принято, что словарь плохих наименований не должен содержать имена.
  • Люди имеют имена.

Заблуждения по поводу времени

  • Таймзоны устройства, на котором запущена программа, никогда не будет меняться.
  • В системных часах никогда не будут выставлены часы из далекого будущего или прошлого.
  • Одна минута системных часов соответсвует одной минуте на любом другом устройстве.
  • Time Stamp достаточной точностью можно считать уникальным.
  • Длительность одной минуты системных часов никогда не будет больше часа.

Заблуждения по поводу географии

  • Места имеют только одно официальное имя.
  • Места имеют только одно официальное название на язык.
  • Названия мест соотвествуют правилам языка.
  • Название мест используют обычный набор символов страны.
  • Места имеют только один официальный адрес.
  • Cтраны имеют столицы.
  • Здания не переезжают.
  • Адреса улиц содержат имена улиц.
  • Коды языков соотвествуют кодам стран, с которыми они ассоциируются.

Заблуждения по поводу адресов

* Дескриптор - слова "улица", "аллея".

  • Адрес начинается или содержит номер строения.
  • Номер строения должен быть цифровым.
  • Нет строений, обозначенных нулем.
  • Нет строений с отрицательным числом.
  • Строения не могут иметь одновременно название и странные числа.
  • Если есть именование строения, то не может быть одновременно и номер здания.
  • Один и тот же Номер здания может использоваться только для однго строения на улице.
  • Номера используются только для обозначения строений.
  • У здания может быть только один номер.
  • Нумерация строений идет от большего к меньшему.
  • Если номера строений на одной стороне улице четные, то на другой стороне только нечетные.
  • Наименование здания не содержит номер.
  • Можно не использовать нули в начале.
  • Названия улиц не включает числа.
  • Числа в названиях улиц используются как слова, ни как цифры.
  • Между улицей с номером в названии и номером дома должен быть раделитель.
  • В адресах есть только один дескриптор*.
  • В адресах дескрипторы* идут в конце.
  • Города не не имеют улиц в названии.
  • Названия улиц не повторяются в одном городе.
  • Одинаковые улицы не могут быть рядом.
  • Адреса содержат названия дорог.
  • Дорога имеет название.
  • Дорога имеет только одно название.
  • Адреса состоят только из одной улицы.
  • В названии адреса есть улица.
  • Адрес содержит название региона.
  • В адресах есть что-то еще кроме города.
  • Адрес содержит название страны.
  • Адрес должен содержать название города и страны.
  • В одной стране не может быть городов с одинаковым названием.
  • Пользователи имеют фиксированный адрес с фиксированным местоположением.

Заблуждения по поводу переводов на разные языки

  • Все координаты описываются с помощью широты и долготы.
  • Если знать свою широту и долготу, то ты точно сможешь знать свое местоположение.
  • Местностm индивидуальна.
  • Земля имеют форму шара.
  • Земля имеет форму эллипса.
  • GPS спутники знают, где ты.
  • Есть одна верная проекция карты.
  • Масштабирование работает на экране.
  • There are no good alternatives to Google Maps.
  • Проекция меркатора работает для всех случаев.
  • Самое короткое расстоние между двумя точками - по прямой.
  • Все программисты согласны с сортировкой координат.
  • Всегда можно оцифровать и привязать к местности бумажную карту.
  • Бэкграунд карта будет лучше, если я закэширую ее.
  • Геоинформационный софт всегда дорогой.
  • Весь мира нанесен на карту, тщательно.
  • Нахождение адреса улицы и получение ее геопозиции реализуется просто.
  • Оффлайн карты также просты как карты от Гугл.

Заблуждения по поводу языков

  • Не так важно переводить мое приложение или программу на другие языки.
  • Перевод одного слова на английский или с английского - простое занятие.
  • Короткие слова на английском имеют короткий аналог на другом языке.
  • Перевод английского предложения - это просто.
  • Шаблоны для перевода упрощают процесс.
  • Если я сгруппирую изменяемые артикли, частицы вместе с существительными, это решит проблему перевода на гендерные языки.
  • Я могу сохранить достаточно мета данных для приемлемого соединения предложений на всех языках, на которые требуется перевести.
  • Если я сделаю две версии предложений на английском языке, то я решу проблему перевода на гендерно-зависимые языки.
  • Имена пользователей спокойно можно выводить с помощью шаблонов.
  • Я могу переформулировать предложения, чтобы избежать подводных камней перевода.

Заблуждения по поводу сети

  • Данные в сети не могут быть подменены.
  • Шифрованные данные в сети не могут быть подменены.
  • Данные не могут быть случайно повреждены, потому что TCP имеет проверки на контролные суммы, а сети используют циклический избыточный код.
  • Все, что находится под моим firewall, я полностью контролирую.
  • Если запрос удачный и ответ не содержит ошибки, то я получу целостные данные.
  • Пакеты приходит в том порядке, в каком были отправлены.
  • Границы сегментов в TCP потоке имеют значение для приложения.
  • Границы сегментов в TCP потоке не имеют значение для приложения.
  • Если ты не можешь что-то пропинговать, этого не существует.
  • Если ты можешь что-то пропинговать, то это существует.
  • TCP RST приходит от конечных узлов.
  • Байты из сети должны быть преобразованы с учетом порядка байтов хостового CPU.
  • Нельзя узнать о существовании внутреннего веб приложения снаружи
  • DHCP адрес останется тем же самым после перезагрузки.
  • DHCP адрес оастанется тем же до следующей перезагрузки.
  • Между сменой адреса должно пройти много времени.
  • Пакеты ходят вверх и вниз по сетевому стэке, никогда в сторону.
  • IPv4 заголовок имеют длину 20 байт и начинается с 0x45.
  • DHCP сервер и локьный роутер совпадают.
  • В моей сети нет IPv6.
  • NAT автоматически блокирует все входящие аттаки.
  • Мы знаем все девайсы, которые подключены к нашей сети, в любое время.
  • Виртуальная локальная сеть(VLAN) удобна для физического сегментирования.
  • VLAN сейчас единственное решение для сегментирования.
  • У нас есть хорошие WIPS и мониторинги, у нас не может быть уязвимостей для доступа.
  • Не нужно добавлять запись в DNS, я запомню.

Заблуждения по поводу телефонных номеров.

  • У человека есть телефонный номер.
  • Можно совершить звонок на любой телефонный номер.
  • У человека есть только один телефонный номер.
  • Телефонный номер может являться уникальным идентификатором для человеком.
  • Телефонный номера не могут быть переиспользованы.
  • Телефонные номера, действительные сегодня, могут быть действительными всегда.
  • Код страны в телефонном номере соответсвует только одной стране.
  • На телефонный номер можно дозвониться откуду угодно.
  • Можно послать текстовое сообщение на любой телефонный номер.
  • Только мобильные телефоны могут получать сообщения.
  • Есть только два способа позвонить по телефонному номеру - внутри страны и в другую страну.
  • Чтобы сделать номер доступным для звонка, необходимо только поменять код в начале.
  • Префикс номера телефона не может быть валидным номером телефона.
  • Неправильный номер телефона не имеет абонента.
  • Все валидные номера соотвествуют спецификации Международного Союза Электросвязи.
  • Все валидные номера находятся в какой-то стране.
  • Телефонные номера содержат только цифры.
  • Телефонные номера всегда записаны в ASCII кодировке.
  • У телефонных номеров только один префикс.
  • Предшествующий ноль в цифрах, использующийся внутри страны, можно всегда отбросить при звонке из-за рубежа.
  • Код страны или области обозначает местоположение пользователя, место проживания, таймзону или предпочитаемый язык.
  • Знак + перед номером телевона для международного формата опционален или всегда может быть заменен на 00.
  • Пользователи хранят номер телефона только в специальных полях.
  • Телефонные номера - это числа.
  • Списки телефонных номеров, публикуемые правительствами или компаниями связи, соотвествуют реальности.

Заблуждения по поводу метрических систем

  • Есть более одного варианта метрической системы.
  • Все единицы измерения СИ без префикса.
  • Все выведенные единицы измерения были выведенны из бызовых.
  • Разнородные единицы измерения не имеют практического применения.
  • Дробные измерения не имеют практического применения.
  • Неметрические системы имеют базовые единицы измерения.
  • Нет необходимости в константах, выражающих соотношение литров и дециметров.
  • Галлон очень похож на литр в их относительной системе изменения.
  • Все базовые единицы сделаны из базовых размеров.
  • Есть только один галлон.
  • Названия единиц измерения не чувствительны к регистру.
  • Базовые единицы могут быть представлены производными единицами.
  • Базоывые единицы измерения всегда пишутся в одном порядке.
  • Нет необходимости абсолютные и относительные измерения.
  • Символы Производных единиц измерения представлены одинаковы в разных системах.
  • Все еидиницы измерения используют десятичную систему исчисления.
  • Невозможно столкнуться с коллизиями имен констант или единиц измерений.

Заблуждение по поводу цен

  • Можно хранить цену в переменной типа Float.
  • Все цены имеют сотые доли.
  • Все цены могут быть представлены десятичными числами.
  • Все валюты, находящиеся в обращении, могут использованы с десятичными числами.
  • Все цены могут быть представлены с помощью более мелких единиц валют.
  • Цены не могут иметь большей точности, чем меньшая единица валюты.
  • Для любой валюты вы можете иметь цену 1.
  • Каждая страна имеет свою собственную валюту.
  • Ни одна страна не использует официальную валюту другой страны в качестве официальной валюты.
  • Страны имеют только одну валюту.
  • Страны имеют в обращении только одну валюту.
  • В любом случае, я буду иметь дело только с валютами, находящимися в обращении.
  • Все валюты имеют трехбуквенный код ISO 4217.
  • Все валюты имеют разные названия.
  • Вы всегда ставите символ валюты после цены.
  • Вы всегда ставите символ валюты перед ценой.
  • Вы всегда ставите символ валюты либо после, либо перед ценой, а не посередине.
  • Для любой валюты есть только один символ валюты.
  • Для данной валюты вы всегда ставите символ в одном и том же месте.
  • Если вы используете только коды валют ISO 4217, вы всегда ставите их перед ценой.
  • До цены означает слева.
  • Вы всегда можете использовать точку (или запятую) в качестве десятичного разделителя.
  • Вы всегда можете использовать пробел (или точку, или запятую и т. Д.) В качестве разделителя тысяч.
  • Вы разделяете большие цены, группируя числа в тройки (тысячи).
  • Цены в одной компании никогда не будут варьироваться от пяти цифр до десятичной запятой до пяти.
  • Цены содержат только цифры и знаки препинания.
  • Цена может быть не более 10 ^ N для некоторого значения N.
  • Для двух валют существует только один обменный курс между ними в любой момент времени.
  • Для двух валют в любой момент времени между существует по крайней мере один обменный курс.
  • Отдельно стоящий символ $ всегда произносится как доллар.

Заблуждение по поводу автомобилей.

  • У автомобиля 4 колеса.
  • Если у автомобиля больше 4-х колес, то это либо автобус, либо тегач.
  • У автомобиля один двигатель.
  • Автомобиль может работать только на одном виде топлива.
  • Кроме гибридов нет альтернатив, работающих на бензине и на другом источнике энергии.
  • Расход автор измеряется в метрических или имперских единицах измерения.
  • Высота авто - неизменная величиина.
  • У хэтчбков может быть 3 или 5 дверей.

Заблуждения по поводу декодирования видео

  • Декодирование идет побитово, поэтому декодер не может повлиять на качество.
  • Начиная с H.264 декодирование битово точное, декодер не влияет на качество.
  • Аппаратное декодирование означает, что не надо заботитьмя о производительности.
  • Аппаратное декодирование всегда быстрее чем программное декодирование.
  • H.264 аппаратный декодер может декодировать все H.264 файлы.
  • H.264 программный декодер может декодировать все H.264 файлы.
  • Декодирование видео легко параллелится.

Заблуждения по поводу проигрывания музыки.

  • Частота обновления дисплея будет кратна частоте кадров видеофайла.
  • Часы дисплея будут синхронизированы с аудио часами.
  • Я могу точно измерить часы дисплея.
  • Я могу точно измерить часы аудио.
  • Я могу использовать аудио часы для синхронизации.
  • Я могу использовать видео часы для синхронизации.
  • Мой аппаратный контекст переживет перерыв на кофе пользователя.
  • Мой аппаратный контекст никогда не пропадет посреди проигрывания.
  • Я могу всегда запросить новый аппаратный контекст после того, как предыдущий пропал.
  • Нормальной практикой считается сообщить об ошибке и выйти, если невозможно запросить контекст.
  • Аппаратное декодирование и проигрывание видео происходит на одном девайсе.
  • Передача кадра с одного устройства на другое - простая задача.
  • Пользователь не заметит 3:2 преобразования видео.
  • Пользователь не заметит лишний пропущенный кадр или удвоенный кадр.
  • Все видео кадры уникальны.
  • Все видео кадры будут декодированы в правильном порядке.
  • Во всех видео исходниках можно искать.
  • Пользователь никогда не захочет искать неключевые кадры.
  • Поиск позиции производит тот же самый результат, что и декодирование конкретной позиции.
  • Можно искать кадр с конкретным номером.
  • Видео имеют фиксированную частоту кадров.
  • Все метки времени являются точными.
  • Все метки времени являются точными в современных форматах вроде .mkv.
  • Все метки времени монотонно увеличиваются.
  • Все метки времени монотонно увеличиваются так долго как вы не ищите.
  • Все метки времени уникальны.
  • Продолжительность финального видеокадра всегда известна.
  • Пользователи не заметят, пропущу ли я последний кадр видео.
  • Пользователи никогда не захотят воспроизводить видео в обратном порядке.
  • Пользователи не заметят, если я пропущу видеокадр во время паузы.

Заблуждения по поводу аудио/видео файлов.

  • Все видеофайлы имеют 8 бит на цветовой канал.
  • Все видеофайлы имеют 8 бит или 10 бит на цветовой канал.
  • По крайней мере все каналы будут иметь одинаковое количество битов.
  • Все образцы вписываются в 32-разрядное целое число.
  • Каждый пиксель состоит из трех образцов.
  • Каждый пиксель состоит из трех или четырех образцов.
  • Хорошо, каждый пиксель состоит из n образцов.
  • Все файлы изображений sRGB.
  • Все видеофайлы BT.601 или BT.709.
  • Все файлы изображений либо sRGB, либо содержат профиль ICC.
  • 4:2:0 - единственный способ подвыборки изображений.
  • Все файлы изображений содержат правильные теги, указывающие их цветовое пространство.
  • Чересстрочные видео файлы больше не существуют.
  • Я могу определить, является ли файл чересстрочным или нет.
  • Расположение цветности одинаково для каждого файла YCbCr.
  • Все HD-видео BT.709 стандарта.
  • Видео файлы будут иметь одинаковую частоту обновления во всем потоке.
  • Видео файлы будут иметь одинаковое разрешение по всему потоку.
  • Видеофайлы будут иметь одинаковое цветовое пространство во всем потоке.
  • Видеофайлы будут иметь одинаковый формат пикселей во всем потоке.
  • У видео будет один и тот же видеокодек во всем потоке.
  • Видео и аудио треки начнутся одновременно.
  • Видео и аудио треки будут присутствовать во всем потоке.
  • Я могу начать воспроизведение аудиофайла с первого декодированного семпла и прекратить его воспроизведение на последнем
  • Виртуальные таймлайны могут быть реализованы на уровне демультиплексора.
  • Соседние кадры будут иметь одинаковую продолжительность.
  • Все мультимедийные форматы имеют легко идентифицируемые заголовки.
  • Файл никогда не будет в формате JPEG и MP3 одновременно.
  • Применить эвристику, чтобы угадать правильный тип файла легко.

Заблуждения по поводу масштабирования изображения

  • Встроенное билинейное масштабирование GPU эффективно для всех.
  • Бикубическое масштабирование достаточно для всех.
  • Изображение можно просто масштабировать в его родном цветовом пространстве.
  • Я должен линеаризовать перед масштабированием.
  • Я не должен линеаризовать перед масштабированием.
  • Увеличение масштаба аналогично уменьшению масштаба.
  • Качество алгоритмов масштабирования может быть объективно измерено.
  • Чем медленнее алгоритм масштабирования, тем лучше он будет.
  • Алгоритмы масштабирования могут дополнять информацию, которой нет в изображении.
  • Мой коэффициент масштабирования будет одинаковым по оси x и по оси y.
  • Повышение цветности не так важно, как увеличение яркости.
  • Цветность и яркость можно / нужно масштабировать отдельно
  • Я могу игнорировать субпиксельные смещения при масштабировании и выравнивании плоскостей.
  • Я всегда должен учитывать субпиксельные смещения при масштабировании.
  • Изображения не содержат информации выше частоты Найквиста.
  • Изображения не содержат информации за пределами диапазона телевизионного сигнала.

Заблуждения по поводу цветовых пространств

  • Все цвета заданы с помощью RGB
  • Все цвета заданы с помощью RGB или CMYK.
  • Все цвета заданы с помощью RGB, CMYK, HSV, HSL, YCbCr или XYZ.
  • Есть только одно RGB цветовое пространство.
  • Есть только одно YCbCr цветовое пространство для каждого RGB пространства.
  • Есть только одно YCbCr цветовое пространство для каждого RGB пространства вплоть до линейного изоморфизмом.
  • RGB формат однозначно определяет цвет.
  • RGB основные компоненты однозначно определяет цвет.
  • CIE XYZ формат однозначно определяет цвет.
  • Черный цвет в RGB - это (0,0,0), белый цвет в RGB - это (255,255,255).
  • Все цветовые пространства имеют одну и ту же точку белого.
  • Цветовые пространства определены основными цветами RGB и точкой белого.
  • Мои пользователи не заметят различия между BT.601 и BT.709.
  • Есть только одно BT.601 цветовое пространство.
  • Телевизионный диапазон YCbCr тоже самое, что и RGB телевизионный диапазон.
  • Полный спектр YCbCr не существует.
  • Органы стандартизации могут договориться о том, что означает полный спектр YCbCr
  • B-битный полный диапазон означает интервал [0, 2 ^ b-1].
  • Полный диапазон 8-битного значения цвета 255 сопоставляется с плавающей точкой 1,0
  • Цветовые пространства двумерные
  • «Линейный свет» означает «линейный свет»
  • Все гамма-кривые четко определены вне интервала [0,1]
  • HDR-кодирование - это то, что делает изображение ярче
  • Кодирование HDR означает более темный черный цвет.

Заблуждения по поводу конвертирования цветов.

  • Мне не нужно преобразовывать цвета изображения перед его отображением на экране.
  • Все цветовые пространства имеют линейное соотношение.
  • Существует только один способ преобразования цветовых пространств.
  • Я могу просто обрезать цвета вне гаммы после преобразования.
  • Есть только один способ получить 10-битные цвета с точностью до 16-битных.
  • Линеаризация происходит после преобразования RGB.
  • Я могу свободно конвертировать между цветовыми пространствами, пока я допускаю цвета вне гаммы.
  • Преобразование между цветовыми пространствами - это математический процесс, поэтому он не зависит от дисплея.
  • Преобразование из A в B является просто обратным преобразованием из B в A.
  • OOTF концептуально является частью OETF.
  • OOTF концептуально является частью EOTF.
  • Все OOTFs являются обратимыми.
  • Все CMM правильно выполняют преобразование цветов.
  • Все профессиональные CMM правильно выполняют преобразование цветов.
  • Мне не нужно сглаживать после преобразования, если целевое цветовое пространство имеет ту же глубину цвета или выше.
  • Преобразование между разрядностями - это просто логический сдвиг.
  • Преобразование между разрядностями - это просто умножение.
  • Все профили ICC содержат таблицы для преобразования в обоих направлениях.
  • Отображение тона HDR четко определено.
  • Тональное отображение HDR четко определено, если вы знаете возможности отображения источника и цели.
  • Метаданные HDR всегда будут соответствовать видео потоку.
  • Вы можете легко конвертировать между PQ и HLG.
  • Вы можете легко конвертировать между PQ и HLG, если знаете метаданные мастеринг-дисплея.
  • Преобразование из A в линейный свет в B дает тот же результат, что и преобразование из A в B.