Last week I spent more time on coding than usual, as I had two days off. I tracked 17 hours in my timer.
I perseveringly improved my program hi-backup https://github.com/hinst/hi-backup
-
Hash control: After each backup, a
.hashes.json file is created in the target
directory.
- During subsequent backups, the hash is checked to verify the integrity of the files.
- Progress indicator: During backup, the number of processed files is displayed: [processed/remaining].
-
New architecture. I created separate TypeScript classes:
Directory Synchronizer and Replaceable Transformer.
-
Currently, there are three types of transformers:
- Simple copy
- Compression
- Compression + Encryption
-
Currently, there are three types of transformers:
The benefit of compression is minimal for me since most files in my library are already compressed: images, music, archives. The backup size is reduced by approximately 3%.
I plan to implement a few more improvements in hi-backup and continue using it for personal file backups. I think I will enhance unit test coverage. After hi-backup, I'll be working on a personal website and LeetCode problems.
I have already deleted Yandex.Disk. Initially, I wanted to see what would happen on the day free synchronization is disabled: would there be any messages or errors? But later, I realized that I was getting confused: out of habit, I continued to upload personal files to Yandex.Disk instead of moving them to my new storage location. So, I decided to delete Yandex.Disk as soon as possible. Also, lately, Russian software publishers have been aggressively integrating additional metrics like VPN checks. Therefore, the less unnecessary software on my computer - the better ♻️