Reading view

[Перевод] Регрессивные JPEG

Одно из удобных свойств файлов JPEG заключается в том, что в них можно опционально сохранять первыми низкочастотные компоненты. Это означает, что частично скачанное изображение будет отображаться в низком разрешении, а не обрезаться снизу.

Внутри файла это реализуется разбиением сжатых данных на несколько «сканов», перед каждым из которых добавляется заголовок. Вот первый скан изображения:

FF DA - Маркер "начало скана"

00 0C - Поле длины в big endian (12 байт); включает и свою длину

03 - Количество каналов в скане (3)

01 - Глобальный id первого включённого канала

00 - Индекс 1 таблицы Хаффмана (DC: 0, AC: 0)

02 - Глобальный id второго включённого канала

10 - Индекс 2 таблицы Хаффмана (DC: 1, AC: 0)

03 - Глобальный id третьего включённого канала

10 - Индекс 2 таблицы Хаффмана (DC: 0, AC: 0)

00 - Начальный коэффициент DCT (DC)

00 - Конечный коэффициент DCT (тоже DC)

01 - Точность: половинная, предыдущие данные отсутствуют.

f8ad 512d d3f1 cd96 - Зашифрованные кодом Хаффмана коэффициенты DCT

bcb0 58df 53d5 5d97 [...и так далее]

В него включён самый низкочастотный коэффициент (DC-компонент) преобразования Фурье для всех трёх цветовых каналов.

В качестве трёх цветовых каналов вместо привычного RGB используется YCbCr. Яркость (Luminance, Y) отделена, потому что должна иметь высокое качество, а цвета можно передавать кое-как и они всё равно будут выглядеть неплохо.

Читать далее
  •  

[Перевод] Учебник по разработке ПО для финтеха

Задача этого ресурса — описать самые важные паттерны, используемые в разработке ПО систем, в которых основной упор делается на деньги. Учебник можно прочитать целиком, чтобы получить исчерпывающее понимание, или частями при работе над конкретной задачей.

Для кого этот учебник?

Для новичков в сфере финтеха. Он полезен для ознакомления с этой предметной областью и паттернами, обеспечивающими надёжность финансовых систем.

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

Для людей вне сферы финтеха. Чтобы понять, как и почему разработка ПО для финансовых систем отличается от привычной вам.

Читать далее
  •  
❌