Skip to content

Latest commit

ย 

History

History
137 lines (83 loc) ยท 13.2 KB

File metadata and controls

137 lines (83 loc) ยท 13.2 KB

File Nexus Suite โ€” Design & Story

This document is the project narrative covering File Nexus Suite's origin, development method, and safety design philosophy. For general usage, see ../README.md; for v1.0.6 changes, see ../RELEASE_NOTE_v1.0.6.md.

์ด ๋ฌธ์„œ๋Š” File Nexus Suite์˜ ์‹œ์ž‘ ๋™๊ธฐ, ๊ฐœ๋ฐœ ๋ฐฉ์‹, ์•ˆ์ „ ์„ค๊ณ„ ์ฒ ํ•™์„ ๋‹ด์€ ํ”„๋กœ์ ํŠธ ์„œ์‚ฌ์ž…๋‹ˆ๋‹ค. ์ผ๋ฐ˜ ์‚ฌ์šฉ ์•ˆ๋‚ด๋Š” ../README.md, v1.0.6 ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ../RELEASE_NOTE_v1.0.6.md๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.


1. Origin ยท ์‹œ์ž‘ ๋™๊ธฐ

It didn't begin as a unified tool. The text merger Forest of Letters, the e-book converter Alchemy of Words, the filename organizer River of Names, the Folder & File Batch Renamer, and the line-break corrector Text Fixer (Garden of Lines) โ€” single-purpose tools the author built for personal use had quietly grown to five.

์ฒ˜์Œ์—๋Š” ํ†ตํ•ฉ ๋„๊ตฌ๊ฐ€ ์•„๋‹ˆ์—ˆ์Šต๋‹ˆ๋‹ค. ํ…์ŠคํŠธ ๋ณ‘ํ•ฉ ๋„๊ตฌ Forest of Letters (ํ™œ์ž์˜ ์ˆฒ), ์ „์ž์ฑ… ๋ณ€ํ™˜ ๋„๊ตฌ Alchemy of Words (์–ธ์–ด ์—ฐ๊ธˆ์ˆ ), ํŒŒ์ผ๋ช… ์ •๋ฆฌ ๋„๊ตฌ River of Names (ํ๋ฅด๋Š” ์ด๋ฆ„์˜ ๊ฐ•), ํด๋”ยทํŒŒ์ผ ์ผ๊ด„ ์ด๋ฆ„ ๋ณ€๊ฒฝ ๋„๊ตฌ Folder & File Batch Renamer, ๊ทธ๋ฆฌ๊ณ  ์ค„๋ฐ”๊ฟˆ ๊ต์ • ๋„๊ตฌ Text Fixer (Garden of Lines, ์ค„์˜ ์ •์›) โ€” ์ด๋Ÿฐ ์‹์œผ๋กœ ์ œ์ž‘์ž๊ฐ€ ๊ฐœ์ธ์ ์œผ๋กœ ์“ฐ๋˜ ๋‹จ์ผ ๊ธฐ๋Šฅ ๋„๊ตฌ๋“ค์ด ์–ด๋А์ƒˆ 5๊ฐœ๋กœ ๋Š˜์–ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

Each tool had its own identity, theme, and versioning system and had settled into daily use, but the friction of opening a different window, remembering a different shortcut, and configuring a different output folder each time kept growing. The theme cards and color system first attempted while building Folder & File Batch Renamer also gave conviction that they could serve as the visual identity of a unified tool, and from the thought "what if I unified them into one?" File Nexus Suite was born.

๊ฐ๊ฐ์˜ ๋„๊ตฌ๋Š” ๋…๋ฆฝ์ ์ธ ์ •์ฒด์„ฑยทํ…Œ๋งˆยท๋ฒ„์ „ ์ฒด๊ณ„๋ฅผ ๊ฐ€์ง€๊ณ  ์ผ์ƒ์— ์ž๋ฆฌ์žก์•˜์ง€๋งŒ, ๋งค๋ฒˆ ๋‹ค๋ฅธ ์ฐฝ์„ ๋„์šฐ๊ณ  ๋‹ค๋ฅธ ๋‹จ์ถ•ํ‚ค๋ฅผ ์™ธ์šฐ๊ณ  ๋‹ค๋ฅธ ์ถœ๋ ฅ ํด๋”๋ฅผ ์„ค์ •ํ•˜๋Š” ๋ฒˆ๊ฑฐ๋กœ์›€์ด ์ ์  ์ปค์กŒ์Šต๋‹ˆ๋‹ค. Folder & File Batch Renamer๋ฅผ ๋งŒ๋“ค๋ฉด์„œ ์ฒ˜์Œ ์‹œ๋„ํ•œ ํ…Œ๋งˆ ์นด๋“œ์™€ ์ปฌ๋Ÿฌ ์‹œ์Šคํ…œ์ด ํ†ตํ•ฉ ๋„๊ตฌ์˜ ์‹œ๊ฐ์  ์ •์ฒด์„ฑ์œผ๋กœ ์ž๋ฆฌ์žก์„ ์ˆ˜ ์žˆ๊ฒ ๋‹ค๋Š” ํ™•์‹ ๋„ ๋”ํ•ด์กŒ๊ณ , "ํ•˜๋‚˜๋กœ ํ†ตํ•ฉํ•˜๋ฉด ์–ด๋–จ๊นŒ?" ๋ผ๋Š” ์ƒ๊ฐ์—์„œ File Nexus Suite๊ฐ€ ์‹œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

The verified core logic of each tool was brought under one roof, and modernization from PyQt5 to PySide6 (a Python GUI framework based on Qt 6) was carried out.

๊ฒ€์ฆ๋œ ๊ฐ ๋„๊ตฌ์˜ ์ฝ”์–ด ๋กœ์ง์„ ํ•œ ์ง€๋ถ• ์•„๋ž˜๋กœ ๋ชจ์œผ๊ณ , PyQt5์—์„œ PySide6(Qt 6 ๊ธฐ๋ฐ˜์˜ Python GUI ํ”„๋ ˆ์ž„์›Œํฌ)๋กœ ํ˜„๋Œ€ํ™”ํ•˜๋Š” ์ž‘์—…์ด ์ง„ํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

The unification also produced an unexpected side effect. Once Text Fixer came under the same roof as the other tools, the thought "what if this ran on folders rather than one file at a time?" arose naturally, and a new tab called Bulk Fixer was created within the unified tool. Unification turned out to be more than just gathering tools โ€” it became soil where new features could grow.

ํ†ตํ•ฉ ๊ณผ์ •์—์„œ ์˜ˆ์ƒํ•˜์ง€ ๋ชปํ•œ ๋ถ€์ˆ˜ ํšจ๊ณผ๋„ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. Text Fixer๊ฐ€ ๋‹ค๋ฅธ ๋„๊ตฌ๋“ค๊ณผ ๊ฐ™์€ ์ง€๋ถ• ์•„๋ž˜ ๋“ค์–ด์˜ค์ž "์ด๊ฑธ ํ•œ ํŒŒ์ผ์”ฉ์ด ์•„๋‹ˆ๋ผ ํด๋” ๋‹จ์œ„๋กœ ์ผ๊ด„ ์ฒ˜๋ฆฌํ•˜๋ฉด ์–ด๋–จ๊นŒ?" ๋ผ๋Š” ์ƒ๊ฐ์ด ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๋– ์˜ฌ๋ž๊ณ , ๊ทธ๋ ‡๊ฒŒ Bulk Fixer๋ผ๋Š” ์ƒˆ ํƒญ์ด ํ†ตํ•ฉ ๋„๊ตฌ ์•ˆ์—์„œ ์ƒˆ๋กœ ๋งŒ๋“ค์–ด์กŒ์Šต๋‹ˆ๋‹ค. ํ†ตํ•ฉ์ด ๋‹จ์ˆœํžˆ ๋„๊ตฌ๋ฅผ ๋ชจ์œผ๋Š” ๊ฒƒ์„ ๋„˜์–ด, ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์ด ์ž๋ž„ ์ˆ˜ ์žˆ๋Š” ํ† ์–‘์ด ๋˜์–ด์ค€ ์…ˆ์ž…๋‹ˆ๋‹ค.

Wishing to share this same value with others who faced the same workflow friction, and with users beyond Korean, the project is released in five languages.

๊ฐ™์€ ์›Œํฌํ”Œ๋กœ์šฐ์˜ ๋ถˆํŽธ์„ ๊ฒช๋˜ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž, ๊ทธ๋ฆฌ๊ณ  ํ•œ๊ตญ์–ด ์™ธ์˜ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ๋„ ๊ฐ™์€ ๊ฐ€์น˜๋ฅผ ์ „ํ•˜๊ณ  ์‹ถ์–ด 5๊ฐœ ์–ธ์–ด๋กœ ๊ณต๊ฐœํ•ฉ๋‹ˆ๋‹ค.

1.1 The Five Standalone Programs Before Unification ยท ํ†ตํ•ฉ ์ด์ „์˜ 5๊ฐœ ๋…๋ฆฝ ํ”„๋กœ๊ทธ๋žจ

Original Program Unified Tab
Forest of Letters
Forest of Letters (ํ™œ์ž์˜ ์ˆฒ) v1.2.7
Text Merger
Alchemy of Words
Alchemy of Words (์–ธ์–ด ์—ฐ๊ธˆ์ˆ ) v2.0.10
Text Converter
River of Names
River of Names (ํ๋ฅด๋Š” ์ด๋ฆ„์˜ ๊ฐ•) v2.0.8
Tag Editor
Folder & File Batch Renamer
Folder & File Batch Renamer v2.1.0
(The first tool to introduce the theme cards and 9-color theme system later adopted by File Nexus Suite ยท File Nexus Suite์˜ ํ…Œ๋งˆ ์นด๋“œยท9๊ฐœ ์ปฌ๋Ÿฌ ํ…Œ๋งˆ ์‹œ์Šคํ…œ์ด ์ฒ˜์Œ ์‹œ๋„๋œ ๋„๊ตฌ)
Batch Renamer
Text Fixer
Text Fixer (Garden of Lines, ์ค„์˜ ์ •์›) v0.1.0
Text Fixer

Each program operated as a standalone PyQt5-based tool before being migrated to PySide6 and unified into File Nexus Suite. Bulk Fixer is a feature newly created during unification, in addition to the five standalone tools.

๊ฐ ํ”„๋กœ๊ทธ๋žจ์€ PyQt5 ๊ธฐ๋ฐ˜ ๋…๋ฆฝ ๋„๊ตฌ๋กœ ์šด์˜๋˜๋‹ค๊ฐ€ PySide6๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜๋˜๋ฉฐ File Nexus Suite๋กœ ํ†ตํ•ฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Bulk Fixer๋Š” 5๊ฐœ ๋…๋ฆฝ ๋„๊ตฌ์— ๋”ํ•ด ํ†ตํ•ฉ ๊ณผ์ •์—์„œ ์ƒˆ๋กœ ๋งŒ๋“ค์–ด์ง„ ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.


2. Development Method ยท ๊ฐœ๋ฐœ ๋ฐฉ์‹

This project was developed through pair programming with Anthropic's Claude. Hanrim handled planning, UX design, feature specification, and quality management, while code writing was carried out in collaboration with AI.

๋ณธ ํ”„๋กœ์ ํŠธ๋Š” Anthropic์˜ Claude์™€ ํŽ˜์–ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ์œผ๋กœ ๊ฐœ๋ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Hanrim์ด ๊ธฐํšยทUX ์„ค๊ณ„ยท๊ธฐ๋Šฅ ๋ช…์„ธยทํ’ˆ์งˆ ๊ด€๋ฆฌ๋ฅผ ๋‹ด๋‹นํ•˜๊ณ , ์ฝ”๋“œ ์ž‘์„ฑ์€ AI์™€ ํ˜‘์—…ํ•˜์—ฌ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.

The role division is clear. The human takes direction, priorities, architectural decisions, and quality judgment; the AI takes analysis, implementation, debugging, and test generation. Every design decision is reviewed and approved by the human, and the full source code is published in this repository for anyone to verify.

์—ญํ•  ๋ถ„๋‹ด์€ ๋ช…ํ™•ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ๋žŒ์€ ๋ฐฉํ–ฅยท์šฐ์„ ์ˆœ์œ„ยท์•„ํ‚คํ…์ฒ˜ ๊ฒฐ์ •ยทํ’ˆ์งˆ ํŒ๋‹จ์„ ๋งก๊ณ , AI๋Š” ๋ถ„์„ยท๊ตฌํ˜„ยท๋””๋ฒ„๊น…ยทํ…Œ์ŠคํŠธ ์ƒ์„ฑ์„ ๋งก์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ์„ค๊ณ„ ๊ฒฐ์ • ๋’ค์—๋Š” ์‚ฌ๋žŒ์˜ ๊ฒ€ํ† ์™€ ์Šน์ธ์ด ์žˆ์œผ๋ฉฐ, ์ „์ฒด ์†Œ์Šค ์ฝ”๋“œ๋Š” ๋ณธ ์ €์žฅ์†Œ์— ๊ณต๊ฐœ๋˜์–ด ๋ˆ„๊ตฌ๋‚˜ ๊ฒ€์ฆํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


3. Safety Philosophy ยท ์•ˆ์ „ ์„ค๊ณ„ ์ฒ ํ•™

Tools that modify files inherently carry the risk of data loss. Recognizing this, File Nexus Suite consistently applies two meta-principles across all tabs.

ํŒŒ์ผ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๋„๊ตฌ๋Š” ๋ณธ์งˆ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ ์†์‹ค ๋ฆฌ์Šคํฌ๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค. File Nexus Suite๋Š” ์ด๋ฅผ ์ธ์‹ํ•˜๊ณ  ๋‘ ๊ฐ€์ง€ ๋ฉ”ํƒ€ ์›์น™์„ ๋ชจ๋“  ํƒญ์— ์ผ๊ด€๋˜๊ฒŒ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.

3.1 Meta-Principles ยท ๋ฉ”ํƒ€ ์›์น™

  • ๐Ÿ” Preview First ยท ๋ฏธ๋ฆฌ๋ณด๊ธฐ ์šฐ์„  โ€” All destructive operations let you verify changes before and after execution.
    ๋ชจ๋“  ํŒŒ๊ดด์  ์ž‘์—…์€ ์‹คํ–‰ ์ „ ๋ณ€๊ฒฝ ์ „ํ›„๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • โ†ฉ๏ธ Undo Required ยท ์‹คํ–‰ ์ทจ์†Œ ํ•„์ˆ˜ โ€” Undo is provided for file-modifying operations such as renaming, tag editing, and merging.
    ์ด๋ฆ„ ๋ณ€๊ฒฝ, ํƒœ๊ทธ ํŽธ์ง‘, ๋ณ‘ํ•ฉ ๋“ฑ ํŒŒ์ผ ๋ณ€๊ฒฝ ์ž‘์—…์— ์‹คํ–‰ ์ทจ์†Œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

3.2 Additional Safety Design for Conversion Tools ยท ๋ณ€ํ™˜ ๋„๊ตฌ์˜ ์ถ”๊ฐ€ ์•ˆ์ „ ์„ค๊ณ„

Tools that create new files โ€” such as Text Fixer, Bulk Fixer, and Text Converter โ€” have an additional layer of protection:

Text Fixer / Bulk Fixer / Text Converter์ฒ˜๋Ÿผ ์ƒˆ ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๋Š” ๋„๊ตฌ๋Š” ์ถ”๊ฐ€ ๋ณดํ˜ธ ๊ณ„์ธต์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค:

  • ๐Ÿ›ก๏ธ Original Untouched ยท ์›๋ณธ ๋ฌด์†์ƒ โ€” When an output folder is specified, the original files are not modified. The "overwrite original" option was deliberately removed to strengthen safety.
    ์ถœ๋ ฅ ํด๋” ์ง€์ • ์‹œ ์›๋ณธ ํŒŒ์ผ์€ ์†๋Œ€์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์•ˆ์ „์„ฑ ๊ฐ•ํ™”๋ฅผ ์œ„ํ•ด ์›๋ณธ ๋ฎ์–ด์“ฐ๊ธฐ ์˜ต์…˜์€ ์˜๋„์ ์œผ๋กœ ์ œ๊ฑฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๐Ÿท๏ธ Result Identification ยท ๊ฒฐ๊ณผ๋ฌผ ์‹๋ณ„ โ€” Converted files are automatically marked with prefixes such as [Fixed] to indicate that they need review.
    ๋ณ€ํ™˜๋œ ํŒŒ์ผ์€ [Fixed] ๋“ฑ์˜ ์ ‘๋‘์‚ฌ๋กœ ์ž๋™ ํ‘œ์‹œ๋˜์–ด ๊ฒ€์ˆ˜ํ•ด์•ผ ํ•  ํŒŒ์ผ์ž„์„ ์•Œ๋ฆฝ๋‹ˆ๋‹ค.
  • ๐Ÿ“ Output Path Separation ยท ์ถœ๋ ฅ ๊ฒฝ๋กœ ๋ถ„๋ฆฌ โ€” Results are gathered into the Output/ folder, clearly separated from the originals.
    Output/ ํด๋”๋กœ ๊ฒฐ๊ณผ๋ฌผ์„ ๋ชจ์•„ ์›๋ณธ๊ณผ ๋ช…ํ™•ํžˆ ๋ถ„๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

3.3 Text Fixer โ†” Bulk Fixer Recommended Workflow ยท Text Fixer โ†” Bulk Fixer ๊ถŒ์žฅ ์›Œํฌํ”Œ๋กœ์šฐ

Batch processing carries the inherent risk that algorithmic flaws can spread across many files, so the following flow is recommended:

์ผ๊ด„ ์ฒ˜๋ฆฌ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ฒฐํ•จ์ด ๋‹ค์ˆ˜ ํŒŒ์ผ๋กœ ํ™•์‚ฐ๋  ์ˆ˜ ์žˆ๋Š” ๋ณธ์งˆ์  ๋ฆฌ์Šคํฌ๊ฐ€ ์žˆ์–ด, ๋‹ค์Œ ํ๋ฆ„์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค:

  1. Verify the conversion result with a single file in Text Fixer

  2. Apply Bulk Fixer with confidence using the same algorithm

  3. Review the [Fixed] results in the Output folder

  4. Bulk-remove the [Fixed] prefix in the Tag Editor tab to finalize

  5. Text Fixer์—์„œ ๋‹จ์ผ ํŒŒ์ผ๋กœ ๋ณ€ํ™˜ ๊ฒฐ๊ณผ๋ฅผ ์ถฉ๋ถ„ํžˆ ๊ฒ€์ฆ

  6. ๋™์ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ์•ˆ์‹ฌํ•˜๊ณ  Bulk Fixer ์ผ๊ด„ ์ ์šฉ

  7. Output ํด๋”์˜ [Fixed] ๊ฒฐ๊ณผ๋ฌผ ๊ฒ€์ˆ˜

  8. Tag Editor ํƒญ์—์„œ [Fixed] ํƒœ๊ทธ ์ผ๊ด„ ์ œ๊ฑฐํ•˜์—ฌ ์ •๋ฆฌ ์™„๋ฃŒ

This flow naturally guides users to always pass through batch processing results once.

์ด ํ๋ฆ„์€ ์‚ฌ์šฉ์ž๊ฐ€ ์ผ๊ด„ ์ฒ˜๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ํ•ญ์ƒ ํ•œ ๋ฒˆ ๊ฑฐ์ณ๊ฐ€๋„๋ก ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์œ ๋„ํ•ฉ๋‹ˆ๋‹ค.

3.4 Three-Tier Automatic Handling for Partially Corrupted Files ยท ๋ถ€๋ถ„ ์†์ƒ ํŒŒ์ผ ์ž๋™ 3-ํ‹ฐ์–ด ์ฒ˜๋ฆฌ

Bulk Fixer automatically classifies partially corrupted encoded files โ€” files that open in Notepad but fail every strict decoding (a decoding mode that allows no encoding errors):

๋ฉ”๋ชจ์žฅ์—์„  ์—ด๋ฆฌ์ง€๋งŒ ์—„๊ฒฉ ๋””์ฝ”๋”ฉ(์ธ์ฝ”๋”ฉ ์˜ค๋ฅ˜๋ฅผ ์ผ์ฒด ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š” ๋””์ฝ”๋”ฉ ๋ชจ๋“œ)์ด ๋ชจ๋‘ ์‹คํŒจํ•˜๋Š” ๋ถ€๋ถ„ ์†์ƒ ์ธ์ฝ”๋”ฉ ํŒŒ์ผ์„ Bulk Fixer๊ฐ€ ์ž๋™ ๋ถ„๋ฅ˜ํ•ฉ๋‹ˆ๋‹ค:

  • Tier 1 (corruption โ‰ค500 chars) โ€” Normal processing + report generated

  • Tier 2 (501~5000 chars) โ€” Normal processing + warning-level report

  • Tier 3 (5001+ chars) โ€” Skip with original protection + report only

  • Tier 1 (์†์ƒ โ‰ค500์ž) โ€” ์ •์ƒ ์ฒ˜๋ฆฌ + ๋ฆฌํฌํŠธ ์ƒ์„ฑ

  • Tier 2 (501~5000์ž) โ€” ์ •์ƒ ์ฒ˜๋ฆฌ + ๊ฒฝ๊ณ  ์ˆ˜์œ„ ๋ฆฌํฌํŠธ

  • Tier 3 (5001์ž+) โ€” ์›๋ณธ ๋ณดํ˜ธ ์Šคํ‚ต + ๋ฆฌํฌํŠธ๋งŒ ์ƒ์„ฑ

All outputs are accompanied by a {original_filename}.encoding_report.txt report so you can verify after the fact which bytes were corrected. Text Fixer (single file) operates on user consent (a warning dialog confirms with the user before processing), while Bulk Fixer (batch) operates on post-hoc transparency (the result is openly disclosed via a report after processing) โ€” a role division matched to the risk level.

๋ชจ๋“  ์ถœ๋ ฅ๋ฌผ์€ {์›๋ณธํŒŒ์ผ๋ช…}.encoding_report.txt ๋ฆฌํฌํŠธ๋ฅผ ๋™๋ฐ˜ํ•˜์—ฌ ์–ด๋–ค ๋ฐ”์ดํŠธ๊ฐ€ ๊ต์ •๋˜์—ˆ๋Š”์ง€ ์‚ฌํ›„์— ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Text Fixer(๋‹จ์ผ ํŒŒ์ผ)๋Š” ์‚ฌ์šฉ์ž ๋™์˜ ๊ธฐ๋ฐ˜(์ฒ˜๋ฆฌ ์ „ ๊ฒฝ๊ณ  ๋‹ค์ด์–ผ๋กœ๊ทธ๋กœ ์‚ฌ์šฉ์ž์—๊ฒŒ ํ™•์ธ๋ฐ›๋Š” ๋ฐฉ์‹), Bulk Fixer(์ผ๊ด„)๋Š” ์‚ฌํ›„ ํˆฌ๋ช…์„ฑ ๊ธฐ๋ฐ˜(์ฒ˜๋ฆฌ ํ›„ ๋ฆฌํฌํŠธ๋กœ ๊ฒฐ๊ณผ๋ฅผ ํˆฌ๋ช…ํ•˜๊ฒŒ ๊ณต๊ฐœํ•˜๋Š” ๋ฐฉ์‹)์œผ๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค โ€” ๋ฆฌ์Šคํฌ ์ˆ˜์ค€์— ๋งž์ถ˜ ์—ญํ•  ๋ถ„๋‹ด์ž…๋‹ˆ๋‹ค.

3.5 Design Intent ยท ์„ค๊ณ„ ์˜๋„

The philosophy of the unified tool is "do not compromise on either convenience or safety." It provides the convenience of moving between six features in a single window, but each feature is simultaneously protected by five layers of safety: preview, undo, original protection, result identification, and tiered automatic handling. The efficiency of batch processing easily becomes catastrophe when misused, so the workflow is designed so that users naturally pass through verification while taking the fast path.

ํ†ตํ•ฉ ๋„๊ตฌ์˜ ์ฒ ํ•™์€ "ํŽธ์˜์„ฑ๊ณผ ์•ˆ์ „์„ฑ ์ค‘ ์–ด๋А ๊ฒƒ๋„ ์–‘๋ณดํ•˜์ง€ ์•Š๋Š”๋‹ค"๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‹จ์ผ ์ฐฝ์—์„œ 6๊ฐœ ๊ธฐ๋Šฅ์„ ์˜ค๊ฐ€๋Š” ํŽธ์˜์„ฑ์„ ์ œ๊ณตํ•˜๋˜, ๊ฐ ๊ธฐ๋Šฅ์—๋Š” ๋ฏธ๋ฆฌ๋ณด๊ธฐยท์‹คํ–‰ ์ทจ์†Œยท์›๋ณธ ๋ณดํ˜ธยท๊ฒฐ๊ณผ๋ฌผ ์‹๋ณ„ยทํ‹ฐ์–ด๋“œ ์ž๋™ ์ฒ˜๋ฆฌ๋ผ๋Š” ๋‹ค์„ฏ ๊ฒน์˜ ์•ˆ์ „์žฅ์น˜๋ฅผ ๋™์‹œ์— ์ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ผ๊ด„ ์ฒ˜๋ฆฌ์˜ ํšจ์œจ์€ ์˜ค์šฉ ์‹œ ์žฌ์•™์ด ๋˜๊ธฐ ์‰ฌ์šฐ๋ฏ€๋กœ, ์‚ฌ์šฉ์ž๊ฐ€ ๋น ๋ฅธ ๊ธธ๋กœ ๊ฐ€๋ฉด์„œ๋„ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๊ฒ€์ฆ ๊ณผ์ •์„ ๊ฑฐ์น˜๋„๋ก ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ์„ค๊ณ„ํ–ˆ์Šต๋‹ˆ๋‹ค.


Contact ยท ๋ฌธ์˜

Questions, suggestions, and technical discussions about the project are welcome through GitHub Issues.

ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•œ ๋ฌธ์˜, ์ œ์•ˆ, ๊ธฐ์ˆ ์  ๋…ผ์˜๋Š” GitHub Issues๋ฅผ ํ†ตํ•ด ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค.