0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Python】タブ・プレビュー付き!自分が使いやすい機能を詰め込んだファイル検索ソフトをさらに進化させた話(v0.3)

0
Posted at

はじめに
普段の作業をもっと快適にするために、Pythonで使いやすさにこだわったタブ型・プレビュー付きの検索アプリ「FileSearchExplorer」を開発しています。

これまでにいくつかのバージョンアップを重ね、機能追加や不具合修正を行ってきましたが、今回はさらに大量のファイルをスムーズに捌くための大型アップデート「v0.3」をリリースしました。

使い勝手の向上や、より安全に使い続けるための内部設計の見直しなど、アプリの完成度をグッと高める強化を行ったのでご紹介します!

GitHubリポジトリはこちら:
https://github.com/Unknown777hello/FileSearchExplorer

v0.3での主な進化ポイント

  1. 大量のファイルもスムーズに扱う高速化
    大量の検索結果が表示される際、画面が重くならないよう表示処理を大幅に高速化しました。
    また、インデックスデータベース(SQLite)のファイル名(name)に検索用のINDEXを追加したことで、キーワード検索がこれまで以上にサクサク動くようになっています。
    拡張子フィルタの判定や、CSVエクスポートの処理速度もまとめて引き上げました。

  2. いつでも止められる検索キャンセル機能
    「間違えて予定と違うフォルダを指定して検索しちゃった!」というときのために、検索キャンセル機能を搭載しました。長くなりそうな処理もいつでも安全に中断できます。

  3. データベースの最適化(VACUUM)機能
    インデックスDBは使っているうちに内部に隙間ができて肥大化していくものです。そこで、アプリ内からデータベースを綺麗に整理してパフォーマンスを維持できる「VACUUM機能」をインデックス管理画面に追加しました。

  4. 無限ループを防ぐ安全対策の強化
    ショートカットに似た仕組みである「シンボリックリンク」や「Windowsのジャンクション」が、お互いを指し合って無限ループ(循環参照)になっていても、アプリがフリーズすることなく安全にスキップできるよう、対策をガチガチに強化しました。

  5. 内部の書き込み・ログの改善
    設定を変更するたびに毎回ディスクへ書き込むのではなく、変更をまとめて効率よく保存するように見直しました。また、万が一エラーが起きた際も原因がすぐわかるよう、検索やインデックス作成、CSV出力などのエラーをログに記録する仕組みを導入しています。

開発の裏話:ライセンスを「独自ライセンス」に変更しました
今回から、配布ライセンスをMITから「独自ライセンス」へと変更しました。
個人でのご利用はこれまで通り完全無料ですし、コードの学習目的などでの逆コンパイルや改変も自由です!

ただ、せっかく自分で作った大切なアプリなので、予期せぬ場所への再アップロードを防いだり、改変版を出すときは名前を変えてクレジットを残してもらう、といった「アプリを大切に育てるための最低限のルール」を決めさせていただきました。
(※詳細はリポジトリのREADMEをご確認ください)

最後に(WindowsならPython不要で動きます)
Python環境がないPCでも、Windows環境(10/11 64bit)ならReleasesからzipをダウンロードするだけでそのまま単体で動きます。

機能がどんどん充実して、いよいよ「自分だけの最強検索ツール」として仕上がってきました。
バグ報告や「こんな機能が欲しい!」といったフィードバックは、引き続きGitHubのIssuesでお待ちしています。ぜひスターもポチッとお願いします!

最新版のダウンロード(Releases):
https://github.com/Unknown777hello/FileSearchExplorer

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?