Myvideo

Guest

Login

Архиватор на Go | Урок #4 - Распаковка сжатых файлов

Uploaded By: Myvideo
1 view
0
0 votes
0

В этом уроке мы научим наш архиватор распаковывать сжатые им файлы. Подробнее: Разберемся, как именно будет проходить процесс декодирования VLC-файлов. Обсудим, почему нас не устраивает простой перебор и хэш-таблицы, и почему нам подходит поиск по бинарному дереву (binary tree). Научимся строить бинарное дерево для поиска по таблице кодирования, и декодировать с его помощью текст. В конце разберемся, почему сжатые файлы увеличиваются в размере, а не уменьшаются, обсудим процесс исправления этой проблемы. Весь исходный код из уроков можно найти здесь: Коммиты в данный репозиторий будут повторять структуру уроков. 00:00 Вступление 00:22 Теоретическая часть: процесс декодирования 01:06 Теоретическая часть: поиск по таблице кодирования 01:54 Теоретическая часть: хэш-таблицы (нет) 02:34 Теоретическая часть: поиск по бинарному дереву 04:45 Создаём команду unpack 05:04 Проблема с организацией структуры команд 06:43 Команда unpack: продолжаем 08:57 Рефакторинг кода, работающего с чанками 10:41 Проектирование функции Decode 11:23 Функция NewHexChunks() 12:30 Тест для NewHexChunks() 13:12 Метод () (конвертация чанков) 15:04 Тест для ToBinary() 16:09 Метод () 16:35 Тест для Join() 17:12 Проектируем дерево декодирования (DecodingTree) 18:29 Построение DecodingTree из таблицы кодов 19:03 Метод () 21:40 Тест для DecodingTree() и Add() 24:39 Метод () 27:26 Доделываем основную функцию Decode() 28:10 Функция exportText() - возвращаем тексту заглавные буквы 30:04 Тест для функции Decode() 30:39 Используем Decode() в команде unpack 30:53 Компилируем программу и проверяем результат 31:35 Проблема: почему сжатые файлы увеличиваются в размере? 32:43 Заключение #golang

Share with your friends

Link:

Embed:

Video Size:

Custom size:

x

Add to Playlist:

Favorites
My Playlist
Watch Later