Git Product home page Git Product logo

skyzibackup's Introduction

skyzibackup's People

Contributors

dependabot[bot] avatar skyzi000 avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

skyzibackup's Issues

除外パターンを内部的にディレクトリ用とファイル用に分割する

マッチングする除外パターンを分けることで除外パターンのマッチング回数を減らすことができる。
ファイルバックアップ時にバックアップ先のディレクトリが存在しない場合、例外を出すことなくそのファイルをバックアップしないようにする必要がある。

ログの出力レベルを設定できるようにする

現在はInfoレベル以上をファイルに出力しているが、ファイル数の多いディレクトリをバックアップするとログファイルが巨大になってしまう。
ただ、現状ログでしか結果の確認が基本出来ないので、 #10 の必要性が高いかもしれない。

設定画面の実装

グローバル設定とローカル設定をGUIから変更できるようにする

シンボリックリンクやジャンクションに対応する

無視するのは簡単にできそうだが、リパースポイントをそのままバックアップ先に再現するのは骨が折れそう
というか、ジャンクションはともかくシンボリックリンクは作成するのに特権が必要だし相対パスでの指定もアリだしどうするのが良いか

バックアップ先ファイルの方が新しい場合に無視する設定を追加する

ComparisonMethodとは別に追加する……?
データベースの情報だけではバックアップ先ファイルの更新は検知できないので、通常の比較処理を行う前に(除外パターンでのマッチング直後?)実ファイル同士で比較する必要があるかな
その場合バックアップ先ファイルへのアクセスが必須になってデータベースの利点が若干薄れそうなので微妙オプションかな……

Dataフォルダの中身を分かりやすくする

手っ取り早いのは各フォルダの直下に[.ShellClassInfo]を持たせたdesktop.iniを作成することか……?
LocalizedResourceNameをGUIのローカル設定画面で設定できるようにしたら分かりやすいかもしれない。
InfoTipでバックアップ元フォルダとバックアップ先フォルダのパスを表示する……のは文字数制限(よくわからないけど試してみたところ70文字ちょい程度……?)に引っかかるか……いや、それぞれのパスの末尾から30字程度までにカットすることで文字数制限に引っかからずに分かりやすく表示するという目的は達せられるかも?
InfoTipはShift-JISで保存したら日本語や漢字でも表示できるみたい。

データベースの変数名を短い名前にする

データベースの記述に無駄が多いのでできるだけ減らす(それよりJSONを使う方が良い……?)
データメンバーを一文字のaとかlとかの変数名にして、アクセスはpublicなプロパティから行うようにする。

ファイル名暗号化機能の実装

ファイル名をAESで暗号化する場合、2度目以降のバックアップ時はファイルの関連付けをデータベースに頼ることになる?
(バックアップ元が同じファイル名であっても、暗号化する度に異なる文字列になるはずなので。データベースに存在しないファイルだけファイル名を暗号化するという感じにするか)

また、Salted__のprefixはファイル名には付けないようにする(prefixが無くてもソルトのバイト数は固定なので復号できるが、OpenSSLでファイル名を復号する場合は手動でprefixを付けることになるか)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.