Praxis
Войти

Синхронизатор директорий

Пройдено 0 из 7

О проекте

Создание мощной утилиты, подобной rsync, которая делает целевую директорию точной копией исходной. Утилита конкурентно сканирует обе директории, сравнивает хеши файлов для нахождения различий, а затем конкурентно копирует, обновляет и удаляет файлы для приведения целевой директории в полное соответствие с исходной.

Контекст проекта

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

Проблема: Данные постоянно рассинхронизируются. Маркетологи загружают новые креативы на один сервер, дизайнеры обновляют макеты на другом, а старые версии файлов "замусоривают" систему. Процесс ручной синхронизации и создания бэкапов отнимает часы, полон ошибок и становится узким горлышком для всей команды.

Ваша миссия: Создать внутренний инструмент, кодовое название "Синхронизатор" (Directory Synchronizer). Это мощная утилита, которая должна, как по волшебству, делать одну директорию (например, на рабочем сервере) точной зеркальной копией другой (эталонной). Она должна быть умной, быстрой и надежной. Утилита должна не просто копировать все подряд, а анализировать содержимое, находить различия с помощью хеш-сумм и выполнять только необходимые операции: копировать новые файлы, обновлять измененные и удалять лишние. А главное — делать все это с максимальной скоростью, используя всю мощь конкурентного программирования в Go.

Этот инструмент станет основой для системы бэкапов и автоматического развертывания контента, решив одну из самых насущных проблем компании.

Технологии и навыки, которые вы освоите в этом проекте

filepath.WalkDir
Хеширование файлов
crypto/sha256
Worker Pool
Горутины
Каналы
sync.WaitGroup
Копирование файлов
Удаление файлов
os.MkdirAll
Progress Bar
CLI

Первые 3 этапа бесплатно

О проекте

Создание мощной утилиты, подобной rsync, которая делает целевую директорию точной копией исходной. Утилита конкурентно сканирует обе директории, сравнивает хеши файлов для нахождения различий, а затем конкурентно копирует, обновляет и удаляет файлы для приведения целевой директории в полное соответствие с исходной.

Контекст проекта

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

Проблема: Данные постоянно рассинхронизируются. Маркетологи загружают новые креативы на один сервер, дизайнеры обновляют макеты на другом, а старые версии файлов "замусоривают" систему. Процесс ручной синхронизации и создания бэкапов отнимает часы, полон ошибок и становится узким горлышком для всей команды.

Ваша миссия: Создать внутренний инструмент, кодовое название "Синхронизатор" (Directory Synchronizer). Это мощная утилита, которая должна, как по волшебству, делать одну директорию (например, на рабочем сервере) точной зеркальной копией другой (эталонной). Она должна быть умной, быстрой и надежной. Утилита должна не просто копировать все подряд, а анализировать содержимое, находить различия с помощью хеш-сумм и выполнять только необходимые операции: копировать новые файлы, обновлять измененные и удалять лишние. А главное — делать все это с максимальной скоростью, используя всю мощь конкурентного программирования в Go.

Этот инструмент станет основой для системы бэкапов и автоматического развертывания контента, решив одну из самых насущных проблем компании.

Технологии и навыки, которые вы освоите в этом проекте

filepath.WalkDir
Хеширование файлов
crypto/sha256
Worker Pool
Горутины
Каналы
sync.WaitGroup
Копирование файлов
Удаление файлов
os.MkdirAll
Progress Bar
CLI

Первые 3 этапа бесплатно