Архиватор на Go | Урок #3 - Алгоритм сжатия

preview_player
Показать описание
В этом уроке мы напишем алгоритм сжатия текстового файла.

Коммиты в данный репозиторий будут повторять структуру уроков.

00:00 Вступление
00:15 Небольшой рефакторинг
02:40 Проектируем функцию Encode()
03:53 Функция prepareText()
05:33 Зачем нужен strings.Builder
06:26 Тест для функции prepareText()
07:46 Функция encodeBin() - сопоставление кодов символам
11:00 Функция splitByChunks() - разбиение бинарной строки на чанки
15:36 Тесты для функций encodeBin() и splitByChunks()
19:16 Метод ToHex() - представление двоичных чанков в 16-м виде
24:03 Метод ToString() для HexChunks - конвертация hex-чанков в строку
25:42 Тест для функции Encode()
26:12 Исправляем ошибку в методе ToString()
26:47 Итоговый вид функции Encode()
27:26 Проверяем команду 'pack vlc'
28:59 Заключение

#golang
Рекомендации по теме
Комментарии
Автор

Потрясающее видео. Автор - гений, все максимально понятно для таких новичков как я!

Dantesik
Автор

Шикарно! Очень приятно, что делаете акцент даже на оверхедных аллокациях. Спасибо)

szgxbbt
Автор

В восторге. Очень понравилось, спасибо автору!!! Если можно, то пожалуйста не перелистывайте мгновенно страницу, после того как написали.

AlexBrus
Автор

А что насчет буферизованного чтения файла? Это обеспечивает более экономное использование ресурсов машины в случае большого размера файла.

kirshkro
Автор

Отличный урок!
Единственное, вроде lib не входит в рекомендуемую структуру проекта.
Не стоит ли было выбрать pkg?

РоманСарваров-чл
Автор

Чтобы компилятор не ругался на не использованную пернменную : _= chunks

ganc_anderson