diff --git a/10_Wiki/Topics/_Archive_Orphans/Arkane Studios.md b/01_Archive/ARCHIVED_ORPHANS/2026-05-08/_Archive_Orphans/Arkane Studios.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Arkane Studios.md rename to 01_Archive/ARCHIVED_ORPHANS/2026-05-08/_Archive_Orphans/Arkane Studios.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Auction Theory.md b/01_Archive/ARCHIVED_ORPHANS/2026-05-08/_Archive_Orphans/Auction Theory.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Auction Theory.md rename to 01_Archive/ARCHIVED_ORPHANS/2026-05-08/_Archive_Orphans/Auction Theory.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Dependency_Injection.md b/01_Archive/ARCHIVED_ORPHANS/2026-05-08/_Archive_Orphans/Dependency_Injection.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Dependency_Injection.md rename to 01_Archive/ARCHIVED_ORPHANS/2026-05-08/_Archive_Orphans/Dependency_Injection.md diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/AI 코드 리뷰.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/AI 코드 리뷰.md index e9e22c17..f3f3ea90 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/AI 코드 리뷰.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/AI 코드 리뷰.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-ai--redir title: AI 코드 리뷰 -category: AI +category: AI_and_ML status: merged redirect_to: AI_코드_리뷰 canonical_id: AI_코드_리뷰 diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Ambient-Declarations.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Ambient-Declarations.md index ffa7abff..fabb9134 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Ambient-Declarations.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Ambient-Declarations.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-ambient-declarations-redir title: Ambient Declarations -category: AI +category: AI_and_ML status: merged redirect_to: Ambient_Declarations canonical_id: Ambient_Declarations diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Bayesian Inference.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Bayesian Inference.md index ae93f3af..63154aae 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Bayesian Inference.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Bayesian Inference.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-bayesian-inference-redir title: Bayesian Inference -category: AI +category: AI_and_ML status: merged redirect_to: Bayesian_Inference canonical_id: Bayesian_Inference diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Bellman-Equation.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Bellman-Equation.md index 01852f47..325cc0dc 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Bellman-Equation.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Bellman-Equation.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-bellman-equation-redir title: Bellman Equation -category: AI +category: AI_and_ML status: merged redirect_to: Bellman Equation canonical_id: Bellman Equation diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Best-of-N Sampling ( ø).md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Best-of-N Sampling ( ø).md index b11161ee..6e86f727 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Best-of-N Sampling ( ø).md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Best-of-N Sampling ( ø).md @@ -1,7 +1,7 @@ --- id: wiki-20260508-best-of-n-sampling--redir title: Best of N Sampling ( ø) -category: AI +category: AI_and_ML status: merged redirect_to: Best-of-N_Sampling canonical_id: Best-of-N_Sampling diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Best-of-N Sampling.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Best-of-N Sampling.md index 7347b73d..ccf79d1f 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Best-of-N Sampling.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Best-of-N Sampling.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-best-of-n-sampling-redir title: Best of N Sampling -category: AI +category: AI_and_ML status: merged redirect_to: Best-of-N_Sampling canonical_id: Best-of-N_Sampling diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Best-of-N-Sampling.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Best-of-N-Sampling.md index 7347b73d..ccf79d1f 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Best-of-N-Sampling.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Best-of-N-Sampling.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-best-of-n-sampling-redir title: Best of N Sampling -category: AI +category: AI_and_ML status: merged redirect_to: Best-of-N_Sampling canonical_id: Best-of-N_Sampling diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Bounded Rationality.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Bounded Rationality.md index d334b35b..fa32e636 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Bounded Rationality.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Bounded Rationality.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-bounded-rationality-redir title: Bounded Rationality -category: AI +category: AI_and_ML status: merged redirect_to: Bounded_Rationality canonical_id: Bounded_Rationality diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Bounded-Rationality.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Bounded-Rationality.md index d334b35b..fa32e636 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Bounded-Rationality.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Bounded-Rationality.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-bounded-rationality-redir title: Bounded Rationality -category: AI +category: AI_and_ML status: merged redirect_to: Bounded_Rationality canonical_id: Bounded_Rationality diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Brain-Computer Interface (BCI).md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Brain-Computer Interface (BCI).md index a2e3f47d..da3be3a7 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Brain-Computer Interface (BCI).md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Brain-Computer Interface (BCI).md @@ -1,7 +1,7 @@ --- id: wiki-20260508-brain-computer-interface-bci--redir title: Brain Computer Interface (BCI) -category: AI +category: AI_and_ML status: merged redirect_to: Brain-Computer_Interface_(BCI) canonical_id: Brain-Computer_Interface_(BCI) diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Brain-Computer-Interface (BCI).md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Brain-Computer-Interface (BCI).md index a2e3f47d..da3be3a7 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Brain-Computer-Interface (BCI).md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Brain-Computer-Interface (BCI).md @@ -1,7 +1,7 @@ --- id: wiki-20260508-brain-computer-interface-bci--redir title: Brain Computer Interface (BCI) -category: AI +category: AI_and_ML status: merged redirect_to: Brain-Computer_Interface_(BCI) canonical_id: Brain-Computer_Interface_(BCI) diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Call Stack.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Call Stack.md index f767ed4e..ff098755 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Call Stack.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Call Stack.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-call-stack-redir title: Call Stack -category: AI +category: AI_and_ML status: merged redirect_to: Call_Stack canonical_id: Call_Stack diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Chrome DevTools.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Chrome DevTools.md index e5cbae51..c2deb893 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Chrome DevTools.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Chrome DevTools.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-chrome-devtools-redir title: Chrome DevTools -category: AI +category: AI_and_ML status: merged redirect_to: Chrome_DevTools canonical_id: Chrome_DevTools diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Complexity Theory.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Complexity Theory.md index b85c3f8e..7c2a02c3 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Complexity Theory.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Complexity Theory.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-complexity-theory-redir title: Complexity Theory -category: AI +category: AI_and_ML status: merged redirect_to: Complexity_Theory canonical_id: Complexity_Theory diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Complexity-Theory.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Complexity-Theory.md index b85c3f8e..7c2a02c3 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Complexity-Theory.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Complexity-Theory.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-complexity-theory-redir title: Complexity Theory -category: AI +category: AI_and_ML status: merged redirect_to: Complexity_Theory canonical_id: Complexity_Theory diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Computational Creativity.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Computational Creativity.md index a79b402e..e38101e4 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Computational Creativity.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Computational Creativity.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-computational-creativity-redir title: Computational Creativity -category: AI +category: AI_and_ML status: merged redirect_to: Computational_Creativity canonical_id: Computational_Creativity diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Computational-Creativity.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Computational-Creativity.md index a79b402e..e38101e4 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Computational-Creativity.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Computational-Creativity.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-computational-creativity-redir title: Computational Creativity -category: AI +category: AI_and_ML status: merged redirect_to: Computational_Creativity canonical_id: Computational_Creativity diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Constraint-Satisfaction Problems.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Constraint-Satisfaction Problems.md index a5a80781..2462f3dd 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Constraint-Satisfaction Problems.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Constraint-Satisfaction Problems.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-constraint-satisfaction-problems-redir title: Constraint Satisfaction Problems -category: AI +category: AI_and_ML status: merged redirect_to: Constraint-Satisfaction_Problems canonical_id: Constraint-Satisfaction_Problems diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Constraint-Satisfaction-Problems.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Constraint-Satisfaction-Problems.md index a5a80781..2462f3dd 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Constraint-Satisfaction-Problems.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Constraint-Satisfaction-Problems.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-constraint-satisfaction-problems-redir title: Constraint Satisfaction Problems -category: AI +category: AI_and_ML status: merged redirect_to: Constraint-Satisfaction_Problems canonical_id: Constraint-Satisfaction_Problems diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Control Systems Engineering.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Control Systems Engineering.md index a43aed8a..8e38ac41 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Control Systems Engineering.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Control Systems Engineering.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-control-systems-engineering-redir title: Control Systems Engineering -category: AI +category: AI_and_ML status: merged redirect_to: Control_Systems_Engineering canonical_id: Control_Systems_Engineering diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Control-Systems-Engineering.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Control-Systems-Engineering.md index a43aed8a..8e38ac41 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Control-Systems-Engineering.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Control-Systems-Engineering.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-control-systems-engineering-redir title: Control Systems Engineering -category: AI +category: AI_and_ML status: merged redirect_to: Control_Systems_Engineering canonical_id: Control_Systems_Engineering diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Distributed-Computing.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Distributed-Computing.md index 0440b028..eff9fe68 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Distributed-Computing.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Distributed-Computing.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-distributed-computing-redir title: Distributed Computing -category: AI +category: AI_and_ML status: merged redirect_to: Distributed_Computing canonical_id: Distributed_Computing diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Edge-Computing.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Edge-Computing.md index cf593921..6462b957 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Edge-Computing.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Edge-Computing.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-edge-computing-redir title: Edge Computing -category: AI +category: AI_and_ML status: merged redirect_to: Edge Computing canonical_id: Edge Computing diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Evolutionary Computation.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Evolutionary Computation.md index a1b5fb4e..d0975755 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Evolutionary Computation.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Evolutionary Computation.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-evolutionary-computation-redir title: Evolutionary Computation -category: AI +category: AI_and_ML status: merged redirect_to: Evolutionary_Computation canonical_id: Evolutionary_Computation diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Evolutionary-Computation.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Evolutionary-Computation.md index a1b5fb4e..d0975755 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Evolutionary-Computation.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Evolutionary-Computation.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-evolutionary-computation-redir title: Evolutionary Computation -category: AI +category: AI_and_ML status: merged redirect_to: Evolutionary_Computation canonical_id: Evolutionary_Computation diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Excess-Property-Checking.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Excess-Property-Checking.md index 9d8cf84b..553096d3 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Excess-Property-Checking.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Excess-Property-Checking.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-excess-property-checking-redir title: Excess Property Checking -category: AI +category: AI_and_ML status: merged redirect_to: Excess_Property_Checking canonical_id: Excess_Property_Checking diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Explainable-AI (XAI).md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Explainable-AI (XAI).md index 1a6bfb45..154d0abe 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Explainable-AI (XAI).md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Explainable-AI (XAI).md @@ -1,7 +1,7 @@ --- id: wiki-20260508-explainable-ai-xai--redir title: Explainable AI (XAI) -category: AI +category: AI_and_ML status: merged redirect_to: Explainable-AI-XAI canonical_id: Explainable-AI-XAI diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Exploration vs Exploitation.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Exploration vs Exploitation.md index af1fd413..f4d1a531 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Exploration vs Exploitation.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Exploration vs Exploitation.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-exploration-vs-exploitation-redir title: Exploration vs Exploitation -category: AI +category: AI_and_ML status: merged redirect_to: Exploration_vs_Exploitation canonical_id: Exploration_vs_Exploitation diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Exploration-vs-Exploitation.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Exploration-vs-Exploitation.md index af1fd413..f4d1a531 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Exploration-vs-Exploitation.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Exploration-vs-Exploitation.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-exploration-vs-exploitation-redir title: Exploration vs Exploitation -category: AI +category: AI_and_ML status: merged redirect_to: Exploration_vs_Exploitation canonical_id: Exploration_vs_Exploitation diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Flow State.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Flow State.md index ca5fd8b4..ccd73d07 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Flow State.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Flow State.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-flow-state-redir title: Flow State -category: AI +category: AI_and_ML status: merged redirect_to: Flow_State canonical_id: Flow_State diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Flow-State.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Flow-State.md index ca5fd8b4..ccd73d07 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Flow-State.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Flow-State.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-flow-state-redir title: Flow State -category: AI +category: AI_and_ML status: merged redirect_to: Flow_State canonical_id: Flow_State diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Graph-Theory.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Graph-Theory.md index 011bb31a..62493790 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Graph-Theory.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Graph-Theory.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-graph-theory-redir title: Graph Theory -category: AI +category: AI_and_ML status: merged redirect_to: Graph_Theory canonical_id: Graph_Theory diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Human-Computer-Interaction-HCI.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Human-Computer-Interaction-HCI.md index 13089408..90c863a8 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Human-Computer-Interaction-HCI.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Human-Computer-Interaction-HCI.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-human-computer-interaction-hci-redir title: Human Computer Interaction HCI -category: AI +category: AI_and_ML status: merged redirect_to: Human-Computer Interaction (HCI) canonical_id: Human-Computer Interaction (HCI) diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Information-Theory.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Information-Theory.md index 214ef62a..ced32dd0 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Information-Theory.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Information-Theory.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-information-theory-redir title: Information Theory -category: AI +category: AI_and_ML status: merged redirect_to: Information_Theory canonical_id: Information_Theory diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Interaction to Next Paint (INP).md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Interaction to Next Paint (INP).md index de50ec29..6989bf8f 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Interaction to Next Paint (INP).md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Interaction to Next Paint (INP).md @@ -1,7 +1,7 @@ --- id: wiki-20260508-interaction-to-next-paint-inp--redir title: Interaction to Next Paint (INP) -category: AI +category: AI_and_ML status: merged redirect_to: Interaction-to-Next-Paint-INP canonical_id: Interaction-to-Next-Paint-INP diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/LSTM (Long Short-Term Memory).md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/LSTM (Long Short-Term Memory).md index 1361ccf2..0967ac39 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/LSTM (Long Short-Term Memory).md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/LSTM (Long Short-Term Memory).md @@ -1,7 +1,7 @@ --- id: wiki-20260508-lstm-long-short-term-memory--redir title: LSTM (Long Short Term Memory) -category: AI +category: AI_and_ML status: merged redirect_to: LSTM_(Long_Short-Term_Memory) canonical_id: LSTM_(Long_Short-Term_Memory) diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Largest Contentful Paint (LCP).md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Largest Contentful Paint (LCP).md index 485dc915..c524670f 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Largest Contentful Paint (LCP).md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Largest Contentful Paint (LCP).md @@ -1,7 +1,7 @@ --- id: wiki-20260508-largest-contentful-paint-lcp--redir title: Largest Contentful Paint (LCP) -category: AI +category: AI_and_ML status: merged redirect_to: Largest-Contentful-Paint-LCP canonical_id: Largest-Contentful-Paint-LCP diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Level of Detail (LOD).md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Level of Detail (LOD).md index 5e51984a..0ec7091d 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Level of Detail (LOD).md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Level of Detail (LOD).md @@ -1,7 +1,7 @@ --- id: wiki-20260508-level-of-detail-lod--redir title: Level of Detail (LOD) -category: AI +category: AI_and_ML status: merged redirect_to: Level_of_Detail_(LOD) canonical_id: Level_of_Detail_(LOD) diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Main Thread.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Main Thread.md index f7962609..6050cd1d 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Main Thread.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Main Thread.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-main-thread-redir title: Main Thread -category: AI +category: AI_and_ML status: merged redirect_to: Main_Thread canonical_id: Main_Thread diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Markov-Decision-Process (MDP).md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Markov-Decision-Process (MDP).md index 0ff144b3..1b6a4b06 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Markov-Decision-Process (MDP).md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Markov-Decision-Process (MDP).md @@ -1,7 +1,7 @@ --- id: wiki-20260508-markov-decision-process-mdp--redir title: Markov Decision Process (MDP) -category: AI +category: AI_and_ML status: merged redirect_to: Markov Decision Process (MDP) canonical_id: Markov Decision Process (MDP) diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Markov-Decision-Process-MDP.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Markov-Decision-Process-MDP.md index c2aa578b..6ce7b5b3 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Markov-Decision-Process-MDP.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Markov-Decision-Process-MDP.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-markov-decision-process-mdp-redir title: Markov Decision Process MDP -category: AI +category: AI_and_ML status: merged redirect_to: Markov Decision Process (MDP) canonical_id: Markov Decision Process (MDP) diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Markov-Decision-Processes.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Markov-Decision-Processes.md index 6824b2fd..3f08e819 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Markov-Decision-Processes.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Markov-Decision-Processes.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-markov-decision-processes-redir title: Markov Decision Processes -category: AI +category: AI_and_ML status: merged redirect_to: Markov Decision Processes canonical_id: Markov Decision Processes diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Mental-Models.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Mental-Models.md index 4115d222..8933a5cc 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Mental-Models.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Mental-Models.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-mental-models-redir title: Mental Models -category: AI +category: AI_and_ML status: merged redirect_to: Mental_Models canonical_id: Mental_Models diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Microservices-Architecture.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Microservices-Architecture.md index 577a1ab7..4ec23067 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Microservices-Architecture.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Microservices-Architecture.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-microservices-architecture-redir title: Microservices Architecture -category: AI +category: AI_and_ML status: merged redirect_to: Microservices_Architecture canonical_id: Microservices_Architecture diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Monte-Carlo-Tree-Search-MCTS.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Monte-Carlo-Tree-Search-MCTS.md index 8e162fc1..23764d6f 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Monte-Carlo-Tree-Search-MCTS.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Monte-Carlo-Tree-Search-MCTS.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-monte-carlo-tree-search-mcts-redir title: Monte Carlo Tree Search MCTS -category: AI +category: AI_and_ML status: merged redirect_to: Monte Carlo Tree Search (MCTS) canonical_id: Monte Carlo Tree Search (MCTS) diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Neuro-Symbolic-AI.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Neuro-Symbolic-AI.md index 85de9377..a253bda5 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Neuro-Symbolic-AI.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Neuro-Symbolic-AI.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-neuro-symbolic-ai-redir title: Neuro Symbolic AI -category: AI +category: AI_and_ML status: merged redirect_to: Neuro-Symbolic AI canonical_id: Neuro-Symbolic AI diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Problem-Solving.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Problem-Solving.md index 59d41fa1..d03720ef 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Problem-Solving.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Problem-Solving.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-problem-solving-redir title: Problem Solving -category: AI +category: AI_and_ML status: merged redirect_to: Problem_Solving canonical_id: Problem_Solving diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Prompt-Engineering.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Prompt-Engineering.md index 97cf036b..5b5a8da3 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Prompt-Engineering.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Prompt-Engineering.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-prompt-engineering-redir title: Prompt Engineering -category: AI +category: AI_and_ML status: merged redirect_to: Prompt_Engineering canonical_id: Prompt_Engineering diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Risk-Management.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Risk-Management.md index bc8fa459..b839fab2 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Risk-Management.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Risk-Management.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-risk-management-redir title: Risk Management -category: AI +category: AI_and_ML status: merged redirect_to: Risk_Management canonical_id: Risk_Management diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/SDLC_(소프트웨어_개발_수명_주기).md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/SDLC_(소프트웨어_개발_수명_주기).md index 93dccc78..b9449393 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/SDLC_(소프트웨어_개발_수명_주기).md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/SDLC_(소프트웨어_개발_수명_주기).md @@ -1,22 +1,25 @@ --- -id: wiki-2026-0508-sdlc-소프트웨어-개발-수명-주기 +id: wiki-20260508-sdlc--redir title: SDLC (소프트웨어 개발 수명 주기) -category: 10_Wiki/Topics +category: AI_and_ML status: merged -redirect_to: 보안_및_시스템_신뢰성_표준 -canonical_id: wiki-2026-0507-039 +redirect_to: SDLC (소프트웨어 개발 수명 주기) +canonical_id: SDLC (소프트웨어 개발 수명 주기) aliases: [] duplicate_of: none source_trust_level: A confidence_score: 0.92 -tags: [uncategorized] +tags: [redirect] raw_sources: [] last_reinforced: 2026-05-08 github_commit: pending -inferred_by: Claude Opus 4.7 (auto-normalize 2026-05-08) +inferred_by: Claude Opus 4.7 (auto-merge 2026-05-08) --- -# Redirect +# SDLC (소프트웨어 개발 수명 주기) -이 문서는 Canonical 문서인 [[보안_및_시스템_신뢰성_표준]]으로 통합되었습니다. -모든 최신 지식과 세부 내용은 위 링크를 참조하십시오. +> [!IMPORTANT] +> 이 문서는 P-Reinforce Phase 2 자동 MERGE에 의해 **[[SDLC (소프트웨어 개발 수명 주기)]]**로 통합되었습니다. + +--- +*Redirected to: [[SDLC (소프트웨어 개발 수명 주기)]]* diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Semantic-Search.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Semantic-Search.md index 7a33afa5..18248b5d 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Semantic-Search.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Semantic-Search.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-semantic-search-redir title: Semantic Search -category: AI +category: AI_and_ML status: merged redirect_to: Semantic Search canonical_id: Semantic Search diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Space-based-Architecture.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Space-based-Architecture.md index b8e579e7..dcb64c84 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Space-based-Architecture.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Space-based-Architecture.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-space-based-architecture-redir title: Space based Architecture -category: AI +category: AI_and_ML status: merged redirect_to: Space-Based_Architecture canonical_id: Space-Based_Architecture diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Strategic-Thinking.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Strategic-Thinking.md index 1622d52e..08cb2804 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Strategic-Thinking.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Strategic-Thinking.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-strategic-thinking-redir title: Strategic Thinking -category: AI +category: AI_and_ML status: merged redirect_to: Strategic_Thinking canonical_id: Strategic_Thinking diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Swarm Intelligence.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Swarm Intelligence.md index bed68b6b..7fd4568c 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Swarm Intelligence.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Swarm Intelligence.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-swarm-intelligence-redir title: Swarm Intelligence -category: AI +category: AI_and_ML status: merged redirect_to: Swarm_Intelligence canonical_id: Swarm_Intelligence diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Swarm-Intelligence.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Swarm-Intelligence.md index bed68b6b..7fd4568c 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Swarm-Intelligence.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Swarm-Intelligence.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-swarm-intelligence-redir title: Swarm Intelligence -category: AI +category: AI_and_ML status: merged redirect_to: Swarm_Intelligence canonical_id: Swarm_Intelligence diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Systems Thinking.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Systems Thinking.md index 09341020..bbd173b1 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Systems Thinking.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Systems Thinking.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-systems-thinking-redir title: Systems Thinking -category: AI +category: AI_and_ML status: merged redirect_to: Systems_Thinking canonical_id: Systems_Thinking diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Systems-Thinking.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Systems-Thinking.md index 09341020..bbd173b1 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Systems-Thinking.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Systems-Thinking.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-systems-thinking-redir title: Systems Thinking -category: AI +category: AI_and_ML status: merged redirect_to: Systems_Thinking canonical_id: Systems_Thinking diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Technical-Debt.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Technical-Debt.md index aedc8c08..3c119b37 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Technical-Debt.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Technical-Debt.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-technical-debt-redir title: Technical Debt -category: AI +category: AI_and_ML status: merged redirect_to: Technical_Debt canonical_id: Technical_Debt diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Variational Autoencoders (VAE).md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Variational Autoencoders (VAE).md index 5637e266..0f484069 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Variational Autoencoders (VAE).md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Variational Autoencoders (VAE).md @@ -1,7 +1,7 @@ --- id: wiki-20260508-variational-autoencoders-vae--redir title: Variational Autoencoders (VAE) -category: AI +category: AI_and_ML status: merged redirect_to: Variational-Autoencoders-VAE canonical_id: Variational-Autoencoders-VAE diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Warno 데이터 기반 설계.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Warno 데이터 기반 설계.md index 051fb754..6d1795a0 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Warno 데이터 기반 설계.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/Warno 데이터 기반 설계.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-warno--redir title: Warno 데이터 기반 설계 -category: AI & Games +category: AI_and_ML status: merged redirect_to: WARNO 데이터 기반 설계 canonical_id: WARNO 데이터 기반 설계 diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/stochastic gradient descent.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/stochastic gradient descent.md index 7da3ceff..801c8e7d 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/stochastic gradient descent.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/AI_and_ML/stochastic gradient descent.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-stochastic-gradient-descent-redir title: stochastic gradient descent -category: AI +category: AI_and_ML status: merged redirect_to: Stochastic-Gradient-Descent canonical_id: Stochastic-Gradient-Descent diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Architecture/API-First Architecture.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Architecture/API-First Architecture.md index ac511530..99197a41 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Architecture/API-First Architecture.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Architecture/API-First Architecture.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-api-first-architecture-redir title: API First Architecture -category: Software Architecture +category: Architecture status: merged redirect_to: API-First_Architecture canonical_id: API-First_Architecture diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Computer_Science_and_Theory/Graph Theory.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Computer_Science_and_Theory/Graph Theory.md index ba86c3b1..cad6c05c 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Computer_Science_and_Theory/Graph Theory.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Computer_Science_and_Theory/Graph Theory.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-graph-theory-redir title: Graph Theory -category: Computational Theory & Math +category: Computer_Science_and_Theory status: merged redirect_to: Graph_Theory canonical_id: Graph_Theory diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Computer_Science_and_Theory/Information Retrieval (IR).md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Computer_Science_and_Theory/Information Retrieval (IR).md index 1edbed77..3cd6a5af 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Computer_Science_and_Theory/Information Retrieval (IR).md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Computer_Science_and_Theory/Information Retrieval (IR).md @@ -1,73 +1,25 @@ --- -id: wiki-2026-0508-information-retrieval-ir +id: wiki-20260508-information-retrieval-ir--redir title: Information Retrieval (IR) -category: Redirect +category: Computer_Science_and_Theory status: merged -canonical_id: self -aliases: [P-Reinforce-REDIRECT-IR-002] -duplicate_of: Information_Retrieval +redirect_to: Information-Retrieval-IR +canonical_id: Information-Retrieval-IR +aliases: [] +duplicate_of: none source_trust_level: A confidence_score: 0.92 -tags: [uncategorized] +tags: [redirect] raw_sources: [] last_reinforced: 2026-05-08 github_commit: pending -inferred_by: Claude Opus 4.7 (auto-normalize 2026-05-08) +inferred_by: Claude Opus 4.7 (auto-merge 2026-05-08) --- -# [[Information Retrieval (IR)]] +# Information Retrieval (IR) -> [!NOTE] -> 본 문서는 **[[Information_Retrieval]]**로 통합되었습니다. 🫡🐟 -## 📌 한 줄 통찰 (The Karpathy Summary) +> [!IMPORTANT] +> 이 문서는 P-Reinforce Phase 2 자동 MERGE에 의해 **[[Information-Retrieval-IR]]**로 통합되었습니다. -> 정보 검색(IR)은 대용량 비정형 데이터에서 사용자 질의에 부합하는 문서를 찾는 학문 분야로, BM25·TF-IDF·dense retrieval로 발전해 왔다. - -## 📖 구조화된 지식 (Synthesized Content) - -**추출된 패턴:** 어휘 매칭(sparse) ↔ 의미 매칭(dense) ↔ 하이브리드 — 도메인·질의 길이·재현율 요구에 따라 선택. - -**세부 내용:** -- 전통적: TF-IDF, BM25 (Okapi). -- 신경: SBERT, ColBERT, E5, BGE. -- 하이브리드: BM25 + dense + reranker. -- 평가: nDCG, MRR, MAP, Recall@k. -- 응용: 검색엔진, RAG, 추천. - -## 🤖 LLM 활용 힌트 (How to Use This Knowledge) - -**언제 이 지식을 쓰는가:** -- *(TODO)* - -**언제 쓰면 안 되는가:** -- *(TODO)* - -## 🧪 검증 상태 (Validation) - -- **정보 상태:** merged -- **출처 신뢰도:** A -- **검토 이유:** *(P-Reinforce Phase 1 자동 정규화. 본문 검증 필요.)* - -## 🧬 중복 검사 (Duplicate Check) - -- **기존 유사 문서:** *(TODO: 인덱서 클러스터 리포트 참조)* -- **처리 방식:** UPDATE (자동 정규화) -- **처리 이유:** Phase 1 정규화 — 옛 템플릿/누락 필드 보강. - -## ⚠️ 모순 및 업데이트 (Contradictions & Updates) - -- **과거 데이터와의 충돌:** 없음 -- **정책 변화:** 없음 - -## 🔗 지식 연결 (Graph) - -- **Parent:** [[10_Wiki/Topics]] -- **Related:** *(TODO: 최소 2개)* -- **Opposite / Trade-off:** *(TODO)* -- **Raw Source:** 직접 입력 - -## 🕓 변경 이력 (Changelog) - -| 날짜 | 변경 내용 | 처리 방식 | 신뢰도 | -|------|-----------|-----------|--------| -| 2026-05-08 | P-Reinforce Phase 1 정규화 (frontmatter + 헤더 표준화) | UPDATE | A | \ No newline at end of file +--- +*Redirected to: [[Information-Retrieval-IR]]* diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Computer_Science_and_Theory/Information Theory.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Computer_Science_and_Theory/Information Theory.md index 49b49215..dc5529a0 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Computer_Science_and_Theory/Information Theory.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Computer_Science_and_Theory/Information Theory.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-information-theory-redir title: Information Theory -category: Computational Theory & Math +category: Computer_Science_and_Theory status: merged redirect_to: Information_Theory canonical_id: Information_Theory diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Computer_Science_and_Theory/Mental Models.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Computer_Science_and_Theory/Mental Models.md index 16a12065..a0a4621d 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Computer_Science_and_Theory/Mental Models.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Computer_Science_and_Theory/Mental Models.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-mental-models-redir title: Mental Models -category: Logic & Reasoning +category: Computer_Science_and_Theory status: merged redirect_to: Mental_Models canonical_id: Mental_Models diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Computer_Science_and_Theory/Problem Solving.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Computer_Science_and_Theory/Problem Solving.md index 3fe7e73e..a357d191 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Computer_Science_and_Theory/Problem Solving.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Computer_Science_and_Theory/Problem Solving.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-problem-solving-redir title: Problem Solving -category: Logic & Reasoning +category: Computer_Science_and_Theory status: merged redirect_to: Problem_Solving canonical_id: Problem_Solving diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Computer_Science_and_Theory/Strategic Thinking.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Computer_Science_and_Theory/Strategic Thinking.md index 42a80596..07d1296b 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Computer_Science_and_Theory/Strategic Thinking.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Computer_Science_and_Theory/Strategic Thinking.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-strategic-thinking-redir title: Strategic Thinking -category: Logic & Reasoning +category: Computer_Science_and_Theory status: merged redirect_to: Strategic_Thinking canonical_id: Strategic_Thinking diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Component-Based Architecture.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Component-Based Architecture.md index 87f10f3d..18772bc3 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Component-Based Architecture.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Component-Based Architecture.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-component-based-architecture-redir title: Component Based Architecture -category: Frontend_Mastery +category: Frontend status: merged redirect_to: Component-Based_Architecture canonical_id: Component-Based_Architecture diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Compound Components.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Compound Components.md index ff36ce9a..1ff70694 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Compound Components.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Compound Components.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-compound-components-redir title: Compound Components -category: Frontend_Mastery +category: Frontend status: merged redirect_to: Compound_Components canonical_id: Compound_Components diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Concurrent Rendering.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Concurrent Rendering.md index bca2c5ad..fe28fb27 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Concurrent Rendering.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Concurrent Rendering.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-concurrent-rendering-redir title: Concurrent Rendering -category: Frontend_Mastery +category: Frontend status: merged redirect_to: Concurrent_Rendering canonical_id: Concurrent_Rendering diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Container Queries.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Container Queries.md index a5a34517..9e1b6a9c 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Container Queries.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Container Queries.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-container-queries-redir title: Container Queries -category: Frontend_Mastery +category: Frontend status: merged redirect_to: Container_Queries canonical_id: Container_Queries diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Critical Rendering Path.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Critical Rendering Path.md index 296c450a..450f25eb 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Critical Rendering Path.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Critical Rendering Path.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-critical-rendering-path-redir title: Critical Rendering Path -category: Frontend_Mastery +category: Frontend status: merged redirect_to: Critical_Rendering_Path canonical_id: Critical_Rendering_Path diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/DOM (Document Object Model).md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/DOM (Document Object Model).md index 60ec9985..be63d8f9 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/DOM (Document Object Model).md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/DOM (Document Object Model).md @@ -1,7 +1,7 @@ --- id: wiki-20260508-dom-document-object-model--redir title: DOM (Document Object Model) -category: Frontend_Mastery +category: Frontend status: merged redirect_to: DOM(Document_Object_Model) canonical_id: DOM(Document_Object_Model) diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/DOM(Document Object Model).md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/DOM(Document Object Model).md index 3199520b..e66a7d43 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/DOM(Document Object Model).md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/DOM(Document Object Model).md @@ -1,7 +1,7 @@ --- id: wiki-20260508-dom-document-object-model--redir title: DOM(Document Object Model) -category: Frontend_Mastery +category: Frontend status: merged redirect_to: DOM(Document_Object_Model) canonical_id: DOM(Document_Object_Model) diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/E-commerce Platforms.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/E-commerce Platforms.md index b45951a8..63790679 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/E-commerce Platforms.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/E-commerce Platforms.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-e-commerce-platforms-redir title: E commerce Platforms -category: Frontend_Mastery +category: Frontend status: merged redirect_to: E-commerce_Platforms canonical_id: E-commerce_Platforms diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Feature-Driven Architecture.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Feature-Driven Architecture.md index ae2132f2..1e08585d 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Feature-Driven Architecture.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Feature-Driven Architecture.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-feature-driven-architecture-redir title: Feature Driven Architecture -category: Frontend_Mastery +category: Frontend status: merged redirect_to: Feature-Driven_Architecture canonical_id: Feature-Driven_Architecture diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Fiber Architecture.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Fiber Architecture.md index a08796e1..d52da6eb 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Fiber Architecture.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Fiber Architecture.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-fiber-architecture-redir title: Fiber Architecture -category: Frontend_Mastery +category: Frontend status: merged redirect_to: Fiber_Architecture canonical_id: Fiber_Architecture diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Fluid Typography.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Fluid Typography.md index 83921c93..cb95932d 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Fluid Typography.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Fluid Typography.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-fluid-typography-redir title: Fluid Typography -category: Frontend_Mastery +category: Frontend status: merged redirect_to: Fluid_Typography canonical_id: Fluid_Typography diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Large Frontend Projects.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Large Frontend Projects.md index c740e129..e75119ce 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Large Frontend Projects.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Large Frontend Projects.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-large-frontend-projects-redir title: Large Frontend Projects -category: Frontend_Mastery +category: Frontend status: merged redirect_to: Large_Frontend_Projects canonical_id: Large_Frontend_Projects diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Layout Thrashing.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Layout Thrashing.md index 90953adf..077c716d 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Layout Thrashing.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Layout Thrashing.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-layout-thrashing-redir title: Layout Thrashing -category: Frontend_Mastery +category: Frontend status: merged redirect_to: Layout_Thrashing canonical_id: Layout_Thrashing diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Reflow & Repaint.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Reflow & Repaint.md index 839a08ab..bd15abd1 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Reflow & Repaint.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Reflow & Repaint.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-reflow-repaint-redir title: Reflow & Repaint -category: Frontend_Mastery +category: Frontend status: merged redirect_to: Reflow_&_Repaint canonical_id: Reflow_&_Repaint diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Reflow - Repaint.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Reflow - Repaint.md index c5ca8d04..6ef11a59 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Reflow - Repaint.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Reflow - Repaint.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-reflow-repaint-redir title: Reflow Repaint -category: Frontend_Mastery +category: Frontend status: merged redirect_to: Reflow_&_Repaint canonical_id: Reflow_&_Repaint diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Reflow and Repaint.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Reflow and Repaint.md index 9c6524ee..f27fb0ab 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Reflow and Repaint.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Reflow and Repaint.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-reflow-and-repaint-redir title: Reflow and Repaint -category: Frontend_Mastery +category: Frontend status: merged redirect_to: Reflow_and_Repaint canonical_id: Reflow_and_Repaint diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Render Props.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Render Props.md index ac0c5f69..af9b2b81 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Render Props.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Render Props.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-render-props-redir title: Render Props -category: Frontend_Mastery +category: Frontend status: merged redirect_to: Render_Props canonical_id: Render_Props diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Server-Side Rendering (SSR).md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Server-Side Rendering (SSR).md index 7245a63e..354bde12 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Server-Side Rendering (SSR).md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Server-Side Rendering (SSR).md @@ -1,7 +1,7 @@ --- id: wiki-20260508-server-side-rendering-ssr--redir title: Server Side Rendering (SSR) -category: Frontend_Mastery +category: Frontend status: merged redirect_to: Server Side Rendering (SSR) canonical_id: Server Side Rendering (SSR) diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Static Site Generation (SSG).md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Static Site Generation (SSG).md index 63db0fc7..57c96f26 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Static Site Generation (SSG).md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Static Site Generation (SSG).md @@ -1,7 +1,7 @@ --- id: wiki-20260508-static-site-generation-ssg--redir title: Static Site Generation (SSG) -category: Frontend_Mastery +category: Frontend status: merged redirect_to: Static_Site_Generation_SSG canonical_id: Static_Site_Generation_SSG diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Styled Components.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Styled Components.md index 71472001..8d78ba73 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Styled Components.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Styled Components.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-styled-components-redir title: Styled Components -category: Frontend_Mastery +category: Frontend status: merged redirect_to: Styled_Components canonical_id: Styled_Components diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Time Slicing.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Time Slicing.md index 30e6f65b..39271b81 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Time Slicing.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Time Slicing.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-time-slicing-redir title: Time Slicing -category: Frontend_Mastery +category: Frontend status: merged redirect_to: Time_Slicing canonical_id: Time_Slicing diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Time-Slicing.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Time-Slicing.md index 30e6f65b..39271b81 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Time-Slicing.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Time-Slicing.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-time-slicing-redir title: Time Slicing -category: Frontend_Mastery +category: Frontend status: merged redirect_to: Time_Slicing canonical_id: Time_Slicing diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Virtual DOM과 Reconciliation.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Virtual DOM과 Reconciliation.md index 8a1c3ac6..9b3d6015 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Virtual DOM과 Reconciliation.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/Virtual DOM과 Reconciliation.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-virtual-dom-reconciliation-redir title: Virtual DOM과 Reconciliation -category: Frontend_Mastery +category: Frontend status: merged redirect_to: Virtual_DOM과_Reconciliation canonical_id: Virtual_DOM과_Reconciliation diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/styled-components.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/styled-components.md index e86377ce..698e7f75 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/styled-components.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/styled-components.md @@ -1,7 +1,7 @@ --- id: wiki-20260508-styled-components-redir title: styled components -category: Frontend_Mastery +category: Frontend status: merged redirect_to: Styled_Components canonical_id: Styled_Components diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/디자인 시스템 (Design Systems).md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/디자인 시스템 (Design Systems).md index 635464d0..2309399a 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/디자인 시스템 (Design Systems).md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/디자인 시스템 (Design Systems).md @@ -1,25 +1,25 @@ --- -id: wiki-2026-0508-디자인-시스템-design-systems +id: wiki-20260508--design-systems--redir title: 디자인 시스템 (Design Systems) -category: 10_Wiki/Topics +category: Frontend status: merged -redirect_to: 프론트엔드_및_UIUX_표준 -canonical_id: wiki-2026-0508-041 +redirect_to: 디자인 시스템 (Design Systems) +canonical_id: 디자인 시스템 (Design Systems) aliases: [] duplicate_of: none source_trust_level: A confidence_score: 0.92 -tags: [uncategorized] +tags: [redirect] raw_sources: [] last_reinforced: 2026-05-08 github_commit: pending -inferred_by: Claude Opus 4.7 (auto-normalize 2026-05-08) -tech_stack: - language: unspecified - framework: unspecified +inferred_by: Claude Opus 4.7 (auto-merge 2026-05-08) --- -# Redirect +# 디자인 시스템 (Design Systems) -이 문서는 Canonical 문서인 [[프론트엔드_및_UIUX_표준]]으로 통합되었습니다. -모든 최신 지식과 세부 내용은 위 링크를 참조하십시오. +> [!IMPORTANT] +> 이 문서는 P-Reinforce Phase 2 자동 MERGE에 의해 **[[디자인 시스템 (Design Systems)]]**로 통합되었습니다. + +--- +*Redirected to: [[디자인 시스템 (Design Systems)]]* diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/리플로우 및 리페인트(Reflow & Repaint).md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/리플로우 및 리페인트(Reflow & Repaint).md index 11b05be4..a6e7b8bc 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/리플로우 및 리페인트(Reflow & Repaint).md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/리플로우 및 리페인트(Reflow & Repaint).md @@ -1,7 +1,7 @@ --- id: wiki-20260508--reflow-repaint--redir title: 리플로우 및 리페인트(Reflow & Repaint) -category: Frontend_Mastery +category: Frontend status: merged redirect_to: 리플로우 및 리페인트 (Reflow & Repaint) canonical_id: 리플로우 및 리페인트 (Reflow & Repaint) diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/미디어 쿼리 (Media Queries).md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/미디어 쿼리 (Media Queries).md index 68c9a876..3f0ef755 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/미디어 쿼리 (Media Queries).md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/미디어 쿼리 (Media Queries).md @@ -1,7 +1,7 @@ --- id: wiki-20260508--media-queries--redir title: 미디어 쿼리 (Media Queries) -category: Frontend_Mastery +category: Frontend status: merged redirect_to: 미디어_쿼리(Media_Queries) canonical_id: 미디어_쿼리(Media_Queries) diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/미디어 쿼리(Media Queries).md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/미디어 쿼리(Media Queries).md index 54635f2a..3ebfa13f 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/미디어 쿼리(Media Queries).md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/미디어 쿼리(Media Queries).md @@ -1,7 +1,7 @@ --- id: wiki-20260508--media-queries--redir title: 미디어 쿼리(Media Queries) -category: Frontend_Mastery +category: Frontend status: merged redirect_to: 미디어_쿼리(Media_Queries) canonical_id: 미디어_쿼리(Media_Queries) diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/유동적 타이포그래피 (Fluid Typography).md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/유동적 타이포그래피 (Fluid Typography).md index 21685d32..44154ef2 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/유동적 타이포그래피 (Fluid Typography).md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/유동적 타이포그래피 (Fluid Typography).md @@ -1,7 +1,7 @@ --- id: wiki-20260508--fluid-typography--redir title: 유동적 타이포그래피 (Fluid Typography) -category: Frontend_Mastery +category: Frontend status: merged redirect_to: 유동적 타이포그래피(Fluid Typography) canonical_id: 유동적 타이포그래피(Fluid Typography) diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/컨테이너 쿼리(Container Queries).md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/컨테이너 쿼리(Container Queries).md index 9ef0f5ee..e5b5b480 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/컨테이너 쿼리(Container Queries).md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Frontend/컨테이너 쿼리(Container Queries).md @@ -1,7 +1,7 @@ --- id: wiki-20260508--container-queries--redir title: 컨테이너 쿼리(Container Queries) -category: Frontend_Mastery +category: Frontend status: merged redirect_to: 컨테이너 쿼리 (Container Queries) canonical_id: 컨테이너 쿼리 (Container Queries) diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Programming & Language/데이터 파싱 (Data Parsing).md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Programming & Language/데이터 파싱 (Data Parsing).md index 892b4395..aa55f09c 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Programming & Language/데이터 파싱 (Data Parsing).md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Programming & Language/데이터 파싱 (Data Parsing).md @@ -1,7 +1,7 @@ --- id: wiki-20260508--data-parsing--redir title: 데이터 파싱 (Data Parsing) -category: Programming & Tools +category: Programming & Language status: merged redirect_to: 데이터_파싱(Data_Parsing) canonical_id: 데이터_파싱(Data_Parsing) diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Programming & Language/데이터 파싱(Data Parsing).md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Programming & Language/데이터 파싱(Data Parsing).md index 4c42f985..6d8c11ad 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Programming & Language/데이터 파싱(Data Parsing).md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Programming & Language/데이터 파싱(Data Parsing).md @@ -1,7 +1,7 @@ --- id: wiki-20260508--data-parsing--redir title: 데이터 파싱(Data Parsing) -category: Programming & Tools +category: Programming & Language status: merged redirect_to: 데이터_파싱(Data_Parsing) canonical_id: 데이터_파싱(Data_Parsing) diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Programming & Language/텔레메트리 밸런싱 (Telemetry Balancing).md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Programming & Language/텔레메트리 밸런싱 (Telemetry Balancing).md index 74f6bea1..4a2e3964 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Programming & Language/텔레메트리 밸런싱 (Telemetry Balancing).md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Programming & Language/텔레메트리 밸런싱 (Telemetry Balancing).md @@ -1,7 +1,7 @@ --- id: wiki-20260508--telemetry-balancing--redir title: 텔레메트리 밸런싱 (Telemetry Balancing) -category: Programming & Tools +category: Programming & Language status: merged redirect_to: 텔레메트리_밸런싱(Telemetry_Balancing) canonical_id: 텔레메트리_밸런싱(Telemetry_Balancing) diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Programming & Language/텔레메트리 밸런싱(Telemetry Balancing).md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Programming & Language/텔레메트리 밸런싱(Telemetry Balancing).md index 695d0276..a2383b10 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Programming & Language/텔레메트리 밸런싱(Telemetry Balancing).md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Programming & Language/텔레메트리 밸런싱(Telemetry Balancing).md @@ -1,7 +1,7 @@ --- id: wiki-20260508--telemetry-balancing--redir title: 텔레메트리 밸런싱(Telemetry Balancing) -category: Programming & Tools +category: Programming & Language status: merged redirect_to: 텔레메트리_밸런싱(Telemetry_Balancing) canonical_id: 텔레메트리_밸런싱(Telemetry_Balancing) diff --git a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Software_Architecture_Patterns.md b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Software_Architecture_Patterns.md index b57a171e..ae0361ca 100644 --- a/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Software_Architecture_Patterns.md +++ b/01_Archive/MERGED/2026-05-08/10_Wiki/Topics/Software_Architecture_Patterns.md @@ -1,22 +1,25 @@ --- -id: wiki-2026-0508-software-architecture-patterns +id: wiki-20260508-software-architecture-patterns-redir title: Software Architecture Patterns -category: 10_Wiki/Topics +category: Topics status: merged -redirect_to: 도메인_주도_설계(DDD)_및_소프트웨어_아키텍처 -canonical_id: wiki-2026-0507-101 +redirect_to: Software-Architecture-Patterns +canonical_id: Software-Architecture-Patterns aliases: [] duplicate_of: none source_trust_level: A confidence_score: 0.92 -tags: [uncategorized] +tags: [redirect] raw_sources: [] last_reinforced: 2026-05-08 github_commit: pending -inferred_by: Claude Opus 4.7 (auto-normalize 2026-05-08) +inferred_by: Claude Opus 4.7 (auto-merge 2026-05-08) --- -# Redirect +# Software Architecture Patterns -이 문서는 Canonical 문서인 [[도메인_주도_설계(DDD)_및_소프트웨어_아키텍처]]으로 통합되었습니다. -모든 최신 지식과 세부 내용은 위 링크를 참조하십시오. +> [!IMPORTANT] +> 이 문서는 P-Reinforce Phase 2 자동 MERGE에 의해 **[[Software-Architecture-Patterns]]**로 통합되었습니다. + +--- +*Redirected to: [[Software-Architecture-Patterns]]* diff --git a/10_Wiki/Topics/.obsidian/workspace.json b/10_Wiki/Topics/.obsidian/workspace.json index 39bc6a38..ab17069d 100644 --- a/10_Wiki/Topics/.obsidian/workspace.json +++ b/10_Wiki/Topics/.obsidian/workspace.json @@ -192,34 +192,34 @@ }, "active": "49ae5a843bcdef44", "lastOpenFiles": [ - "AI_and_ML/Exploration vs Exploitation.md", - "AI_and_ML/Complexity-Theory.md", - "AI_and_ML/Complexity Theory.md", - "AI_and_ML/Brain-Computer-Interface (BCI).md", - "AI_and_ML/Brain-Computer Interface (BCI).md", - "AI_and_ML/Bounded-Rationality.md", - "AI_and_ML/Bounded Rationality.md", - "AI_and_ML/Bellman-Equation.md", - "AI_and_ML/Ambient-Declarations.md", - "AI_and_ML/Best-of-N-Sampling.md", - "AI_and_ML/Best-of-N Sampling.md", - "AI_and_ML/Best-of-N Sampling ( ø).md", - "Economics & Algorithms/IAP_In_App_Purchase.md", - "Economics & Algorithms/IAA_In_App_Advertising.md", - "Economics & Algorithms/계단식 수익화 모델 (Staircase Monetization).md", - "Economics & Algorithms/게임 수익화 모델.md", - "Economics & Algorithms/4X 전략 게임 수익화 모델.md", - "Game_Design/Social & Psychology/Social Engineering.md", + "AI_and_ML/Chrome DevTools.md", + "AI_and_ML/Call Stack.md", + "AI_and_ML/Bayesian Inference.md", + "AI_and_ML/AI 코드 리뷰.md", + "AI_and_ML/Prompt-Engineering.md", + "AI_and_ML/Neuro-Symbolic-AI.md", + "AI_and_ML/Systems-Thinking.md", + "AI_and_ML/Systems Thinking.md", + "AI_and_ML/Swarm-Intelligence.md", + "AI_and_ML/Swarm Intelligence.md", + "Frontend/styled-components.md", + "Frontend/Styled Components.md", + "AI_and_ML/Strategic-Thinking.md", + "Frontend/Server-Side Rendering (SSR).md", + "AI_and_ML/Problem-Solving.md", + "AI_and_ML/Mental-Models.md", + "AI_and_ML/Markov-Decision-Process-MDP.md", + "AI_and_ML/Markov-Decision-Process (MDP).md", + "AI_and_ML/Information-Theory.md", + "AI_and_ML/Human-Computer-Interaction-HCI.md", + "AI_and_ML/Graph-Theory.md", + "AI_and_ML/Flow-State.md", + "AI_and_ML/Flow State.md", + "AI_and_ML/Exploration-vs-Exploitation.md", + "AI_and_ML/Excess-Property-Checking.md", + "AI_and_ML/Evolutionary-Computation.md", "Game_Design/Social & Psychology", - "Game_Design/Monetization/VIP System.md", - "Game_Design/Monetization/Staircase Monetization.md", - "Game_Design/Monetization/Power Creep.md", "Game_Design/Monetization", - "Frontend/확장 가능한 프론트엔드 아키텍처(Scalable Frontend Architecture).md", - "Frontend/하이드레이션 (Hydration).md", - "Frontend/프론트엔드 성능 최적화 및 SEO 개선 프로젝트.md", - "Frontend/크리티컬 렌더링 패스 (Critical Rendering Path).md", - "Frontend/컴포넌트 기반 아키텍처(Component-Based Architecture).md", "_agents", "Harness_Research_2026-05", "_company/sessions/2026-05-07T15-11", diff --git a/10_Wiki/Topics/_Archive_Orphans/AOP_Aspect-Oriented_Programming.md b/10_Wiki/Topics/Architecture/AOP_Aspect-Oriented_Programming.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/AOP_Aspect-Oriented_Programming.md rename to 10_Wiki/Topics/Architecture/AOP_Aspect-Oriented_Programming.md diff --git a/10_Wiki/Topics/_Archive_Orphans/AOT_Compilation_Ahead-of-Time.md b/10_Wiki/Topics/Architecture/AOT_Compilation_Ahead-of-Time.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/AOT_Compilation_Ahead-of-Time.md rename to 10_Wiki/Topics/Architecture/AOT_Compilation_Ahead-of-Time.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Active_Record_Pattern_vs_Repository_Pattern.md b/10_Wiki/Topics/Architecture/Active_Record_Pattern_vs_Repository_Pattern.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Active_Record_Pattern_vs_Repository_Pattern.md rename to 10_Wiki/Topics/Architecture/Active_Record_Pattern_vs_Repository_Pattern.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Boilerplate.md b/10_Wiki/Topics/Architecture/Boilerplate.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Boilerplate.md rename to 10_Wiki/Topics/Architecture/Boilerplate.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Bounded_Context.md b/10_Wiki/Topics/Architecture/Bounded_Context.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Bounded_Context.md rename to 10_Wiki/Topics/Architecture/Bounded_Context.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Constructor_Injection.md b/10_Wiki/Topics/Architecture/Constructor_Injection.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Constructor_Injection.md rename to 10_Wiki/Topics/Architecture/Constructor_Injection.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Cross-Cutting_Concerns_AOP.md b/10_Wiki/Topics/Architecture/Cross-Cutting_Concerns_AOP.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Cross-Cutting_Concerns_AOP.md rename to 10_Wiki/Topics/Architecture/Cross-Cutting_Concerns_AOP.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Dependency_Inversion_Principle.md b/10_Wiki/Topics/Architecture/Dependency_Inversion_Principle.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Dependency_Inversion_Principle.md rename to 10_Wiki/Topics/Architecture/Dependency_Inversion_Principle.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Entity_엔티티.md b/10_Wiki/Topics/Architecture/Entity_엔티티.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Entity_엔티티.md rename to 10_Wiki/Topics/Architecture/Entity_엔티티.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Global_Singleton.md b/10_Wiki/Topics/Architecture/Global_Singleton.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Global_Singleton.md rename to 10_Wiki/Topics/Architecture/Global_Singleton.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Hexagonal_Architecture_Ports_and_Adapters.md b/10_Wiki/Topics/Architecture/Hexagonal_Architecture_Ports_and_Adapters.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Hexagonal_Architecture_Ports_and_Adapters.md rename to 10_Wiki/Topics/Architecture/Hexagonal_Architecture_Ports_and_Adapters.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Inversion_of_Control_IoC.md b/10_Wiki/Topics/Architecture/Inversion_of_Control_IoC.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Inversion_of_Control_IoC.md rename to 10_Wiki/Topics/Architecture/Inversion_of_Control_IoC.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Mapper_-_ModelMapper.md b/10_Wiki/Topics/Architecture/Mapper_-_ModelMapper.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Mapper_-_ModelMapper.md rename to 10_Wiki/Topics/Architecture/Mapper_-_ModelMapper.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Mocking_Framework.md b/10_Wiki/Topics/Architecture/Mocking_Framework.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Mocking_Framework.md rename to 10_Wiki/Topics/Architecture/Mocking_Framework.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Modular_Architecture.md b/10_Wiki/Topics/Architecture/Modular_Architecture.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Modular_Architecture.md rename to 10_Wiki/Topics/Architecture/Modular_Architecture.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Monorepo_Turborepo-Nx.md b/10_Wiki/Topics/Architecture/Monorepo_Turborepo-Nx.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Monorepo_Turborepo-Nx.md rename to 10_Wiki/Topics/Architecture/Monorepo_Turborepo-Nx.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Monorepo_architectures.md b/10_Wiki/Topics/Architecture/Monorepo_architectures.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Monorepo_architectures.md rename to 10_Wiki/Topics/Architecture/Monorepo_architectures.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Separation_of_Concerns.md b/10_Wiki/Topics/Architecture/Separation_of_Concerns.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Separation_of_Concerns.md rename to 10_Wiki/Topics/Architecture/Separation_of_Concerns.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Service_Layer_Pattern.md b/10_Wiki/Topics/Architecture/Service_Layer_Pattern.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Service_Layer_Pattern.md rename to 10_Wiki/Topics/Architecture/Service_Layer_Pattern.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Async_Messaging.md b/10_Wiki/Topics/Backend/Async_Messaging.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Async_Messaging.md rename to 10_Wiki/Topics/Backend/Async_Messaging.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Asynchronous_Messaging.md b/10_Wiki/Topics/Backend/Asynchronous_Messaging.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Asynchronous_Messaging.md rename to 10_Wiki/Topics/Backend/Asynchronous_Messaging.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Django_Signals.md b/10_Wiki/Topics/Backend/Django_Signals.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Django_Signals.md rename to 10_Wiki/Topics/Backend/Django_Signals.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Fastify.md b/10_Wiki/Topics/Backend/Fastify.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Fastify.md rename to 10_Wiki/Topics/Backend/Fastify.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Kafka_&_RabbitMQ.md b/10_Wiki/Topics/Backend/Kafka_&_RabbitMQ.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Kafka_&_RabbitMQ.md rename to 10_Wiki/Topics/Backend/Kafka_&_RabbitMQ.md diff --git a/10_Wiki/Topics/_Archive_Orphans/NestJS.md b/10_Wiki/Topics/Backend/NestJS.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/NestJS.md rename to 10_Wiki/Topics/Backend/NestJS.md diff --git a/10_Wiki/Topics/_Archive_Orphans/NestJS_Microservices_Module.md b/10_Wiki/Topics/Backend/NestJS_Microservices_Module.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/NestJS_Microservices_Module.md rename to 10_Wiki/Topics/Backend/NestJS_Microservices_Module.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Netflix_OSS.md b/10_Wiki/Topics/Backend/Netflix_OSS.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Netflix_OSS.md rename to 10_Wiki/Topics/Backend/Netflix_OSS.md diff --git a/10_Wiki/Topics/_Archive_Orphans/OpenAPI_-_Swagger.md b/10_Wiki/Topics/Backend/OpenAPI_-_Swagger.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/OpenAPI_-_Swagger.md rename to 10_Wiki/Topics/Backend/OpenAPI_-_Swagger.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Spring_Boot_Actuator.md b/10_Wiki/Topics/Backend/Spring_Boot_Actuator.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Spring_Boot_Actuator.md rename to 10_Wiki/Topics/Backend/Spring_Boot_Actuator.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Spring_Boot_Microservices.md b/10_Wiki/Topics/Backend/Spring_Boot_Microservices.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Spring_Boot_Microservices.md rename to 10_Wiki/Topics/Backend/Spring_Boot_Microservices.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Spring_Cloud_Netflix.md b/10_Wiki/Topics/Backend/Spring_Cloud_Netflix.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Spring_Cloud_Netflix.md rename to 10_Wiki/Topics/Backend/Spring_Cloud_Netflix.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Bridgeless_New_Architecture.md b/10_Wiki/Topics/Frontend/Bridgeless_New_Architecture.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Bridgeless_New_Architecture.md rename to 10_Wiki/Topics/Frontend/Bridgeless_New_Architecture.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Computed_Properties_&_Watchers.md b/10_Wiki/Topics/Frontend/Computed_Properties_&_Watchers.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Computed_Properties_&_Watchers.md rename to 10_Wiki/Topics/Frontend/Computed_Properties_&_Watchers.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Cross-platform_Mobile_Development_Frameworks.md b/10_Wiki/Topics/Frontend/Cross-platform_Mobile_Development_Frameworks.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Cross-platform_Mobile_Development_Frameworks.md rename to 10_Wiki/Topics/Frontend/Cross-platform_Mobile_Development_Frameworks.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Custom_Hooks.md b/10_Wiki/Topics/Frontend/Custom_Hooks.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Custom_Hooks.md rename to 10_Wiki/Topics/Frontend/Custom_Hooks.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Dart.md b/10_Wiki/Topics/Frontend/Dart.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Dart.md rename to 10_Wiki/Topics/Frontend/Dart.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Dart_FFI_Foreign_Function_Interface.md b/10_Wiki/Topics/Frontend/Dart_FFI_Foreign_Function_Interface.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Dart_FFI_Foreign_Function_Interface.md rename to 10_Wiki/Topics/Frontend/Dart_FFI_Foreign_Function_Interface.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Decorators.md b/10_Wiki/Topics/Frontend/Decorators.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Decorators.md rename to 10_Wiki/Topics/Frontend/Decorators.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Expo_Router.md b/10_Wiki/Topics/Frontend/Expo_Router.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Expo_Router.md rename to 10_Wiki/Topics/Frontend/Expo_Router.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Fabric_Renderer.md b/10_Wiki/Topics/Frontend/Fabric_Renderer.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Fabric_Renderer.md rename to 10_Wiki/Topics/Frontend/Fabric_Renderer.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Flutter.md b/10_Wiki/Topics/Frontend/Flutter.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Flutter.md rename to 10_Wiki/Topics/Frontend/Flutter.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Flutter_AOT_Compilation_Dart.md b/10_Wiki/Topics/Frontend/Flutter_AOT_Compilation_Dart.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Flutter_AOT_Compilation_Dart.md rename to 10_Wiki/Topics/Frontend/Flutter_AOT_Compilation_Dart.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Flutter_Impeller.md b/10_Wiki/Topics/Frontend/Flutter_Impeller.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Flutter_Impeller.md rename to 10_Wiki/Topics/Frontend/Flutter_Impeller.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Flutter_Web_-_Desktop.md b/10_Wiki/Topics/Frontend/Flutter_Web_-_Desktop.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Flutter_Web_-_Desktop.md rename to 10_Wiki/Topics/Frontend/Flutter_Web_-_Desktop.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Hermes_Engine.md b/10_Wiki/Topics/Frontend/Hermes_Engine.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Hermes_Engine.md rename to 10_Wiki/Topics/Frontend/Hermes_Engine.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Hydration_하이드레이션.md b/10_Wiki/Topics/Frontend/Hydration_하이드레이션.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Hydration_하이드레이션.md rename to 10_Wiki/Topics/Frontend/Hydration_하이드레이션.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Impeller.md b/10_Wiki/Topics/Frontend/Impeller.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Impeller.md rename to 10_Wiki/Topics/Frontend/Impeller.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Mixins.md b/10_Wiki/Topics/Frontend/Mixins.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Mixins.md rename to 10_Wiki/Topics/Frontend/Mixins.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Next_js_Caching_Architecture.md b/10_Wiki/Topics/Frontend/Next_js_Caching_Architecture.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Next_js_Caching_Architecture.md rename to 10_Wiki/Topics/Frontend/Next_js_Caching_Architecture.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Prefetching.md b/10_Wiki/Topics/Frontend/Prefetching.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Prefetching.md rename to 10_Wiki/Topics/Frontend/Prefetching.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Progressive_Hydration_점진적_하이드레이션.md b/10_Wiki/Topics/Frontend/Progressive_Hydration_점진적_하이드레이션.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Progressive_Hydration_점진적_하이드레이션.md rename to 10_Wiki/Topics/Frontend/Progressive_Hydration_점진적_하이드레이션.md diff --git a/10_Wiki/Topics/_Archive_Orphans/React_Native.md b/10_Wiki/Topics/Frontend/React_Native.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/React_Native.md rename to 10_Wiki/Topics/Frontend/React_Native.md diff --git a/10_Wiki/Topics/_Archive_Orphans/React_Native_New_Architecture.md b/10_Wiki/Topics/Frontend/React_Native_New_Architecture.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/React_Native_New_Architecture.md rename to 10_Wiki/Topics/Frontend/React_Native_New_Architecture.md diff --git a/10_Wiki/Topics/_Archive_Orphans/React_Native_for_Web.md b/10_Wiki/Topics/Frontend/React_Native_for_Web.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/React_Native_for_Web.md rename to 10_Wiki/Topics/Frontend/React_Native_for_Web.md diff --git a/10_Wiki/Topics/_Archive_Orphans/React_Native_상태_관리_Redux_Toolkit,_Zustand,_React_Query.md b/10_Wiki/Topics/Frontend/React_Native_상태_관리_Redux_Toolkit,_Zustand,_React_Query.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/React_Native_상태_관리_Redux_Toolkit,_Zustand,_React_Query.md rename to 10_Wiki/Topics/Frontend/React_Native_상태_관리_Redux_Toolkit,_Zustand,_React_Query.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Reusable_Components.md b/10_Wiki/Topics/Frontend/Reusable_Components.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Reusable_Components.md rename to 10_Wiki/Topics/Frontend/Reusable_Components.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Riverpod.md b/10_Wiki/Topics/Frontend/Riverpod.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Riverpod.md rename to 10_Wiki/Topics/Frontend/Riverpod.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Scoped_Styles.md b/10_Wiki/Topics/Frontend/Scoped_Styles.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Scoped_Styles.md rename to 10_Wiki/Topics/Frontend/Scoped_Styles.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Selective_Hydration_&_Streaming.md b/10_Wiki/Topics/Frontend/Selective_Hydration_&_Streaming.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Selective_Hydration_&_Streaming.md rename to 10_Wiki/Topics/Frontend/Selective_Hydration_&_Streaming.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Server_Actions.md b/10_Wiki/Topics/Frontend/Server_Actions.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Server_Actions.md rename to 10_Wiki/Topics/Frontend/Server_Actions.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Server_State_Management.md b/10_Wiki/Topics/Frontend/Server_State_Management.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Server_State_Management.md rename to 10_Wiki/Topics/Frontend/Server_State_Management.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Shader_Compilation_Jank.md b/10_Wiki/Topics/Frontend/Shader_Compilation_Jank.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Shader_Compilation_Jank.md rename to 10_Wiki/Topics/Frontend/Shader_Compilation_Jank.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Skia.md b/10_Wiki/Topics/Frontend/Skia.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Skia.md rename to 10_Wiki/Topics/Frontend/Skia.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Smart_vs_Dumb_Components.md b/10_Wiki/Topics/Frontend/Smart_vs_Dumb_Components.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Smart_vs_Dumb_Components.md rename to 10_Wiki/Topics/Frontend/Smart_vs_Dumb_Components.md diff --git a/10_Wiki/Topics/_Archive_Orphans/State_Management.md b/10_Wiki/Topics/Frontend/State_Management.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/State_Management.md rename to 10_Wiki/Topics/Frontend/State_Management.md diff --git a/10_Wiki/Topics/_Archive_Orphans/State_Management_Libraries_Pinia-Redux.md b/10_Wiki/Topics/Frontend/State_Management_Libraries_Pinia-Redux.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/State_Management_Libraries_Pinia-Redux.md rename to 10_Wiki/Topics/Frontend/State_Management_Libraries_Pinia-Redux.md diff --git a/10_Wiki/Topics/_Archive_Orphans/State_Management_Pinia-Vuex.md b/10_Wiki/Topics/Frontend/State_Management_Pinia-Vuex.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/State_Management_Pinia-Vuex.md rename to 10_Wiki/Topics/Frontend/State_Management_Pinia-Vuex.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Streaming_SSR.md b/10_Wiki/Topics/Frontend/Streaming_SSR.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Streaming_SSR.md rename to 10_Wiki/Topics/Frontend/Streaming_SSR.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Suspense_Boundary.md b/10_Wiki/Topics/Frontend/Suspense_Boundary.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Suspense_Boundary.md rename to 10_Wiki/Topics/Frontend/Suspense_Boundary.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Suspense_및_Streaming.md b/10_Wiki/Topics/Frontend/Suspense_및_Streaming.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Suspense_및_Streaming.md rename to 10_Wiki/Topics/Frontend/Suspense_및_Streaming.md diff --git a/10_Wiki/Topics/_Archive_Orphans/TypeScript_Generics.md b/10_Wiki/Topics/Frontend/TypeScript_Generics.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/TypeScript_Generics.md rename to 10_Wiki/Topics/Frontend/TypeScript_Generics.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Vite.md b/10_Wiki/Topics/Frontend/Vite.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Vite.md rename to 10_Wiki/Topics/Frontend/Vite.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Vue_Single-File_Components_SFC.md b/10_Wiki/Topics/Frontend/Vue_Single-File_Components_SFC.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Vue_Single-File_Components_SFC.md rename to 10_Wiki/Topics/Frontend/Vue_Single-File_Components_SFC.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Vuex.md b/10_Wiki/Topics/Frontend/Vuex.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Vuex.md rename to 10_Wiki/Topics/Frontend/Vuex.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Zustand.md b/10_Wiki/Topics/Frontend/Zustand.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Zustand.md rename to 10_Wiki/Topics/Frontend/Zustand.md diff --git a/10_Wiki/Topics/_Archive_Orphans/useOptimistic.md b/10_Wiki/Topics/Frontend/useOptimistic.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/useOptimistic.md rename to 10_Wiki/Topics/Frontend/useOptimistic.md diff --git a/10_Wiki/Topics/_Archive_Orphans/useSuspenseQuery.md b/10_Wiki/Topics/Frontend/useSuspenseQuery.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/useSuspenseQuery.md rename to 10_Wiki/Topics/Frontend/useSuspenseQuery.md diff --git a/10_Wiki/Topics/_Archive_Orphans/use_client.md b/10_Wiki/Topics/Frontend/use_client.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/use_client.md rename to 10_Wiki/Topics/Frontend/use_client.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Albion Online (Full LootPlayer-Driven Production).md b/10_Wiki/Topics/Game_Design/Albion Online (Full LootPlayer-Driven Production).md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Albion Online (Full LootPlayer-Driven Production).md rename to 10_Wiki/Topics/Game_Design/Albion Online (Full LootPlayer-Driven Production).md diff --git a/10_Wiki/Topics/_Archive_Orphans/Algorithmic Rhetoric.md b/10_Wiki/Topics/Game_Design/Algorithmic Rhetoric.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Algorithmic Rhetoric.md rename to 10_Wiki/Topics/Game_Design/Algorithmic Rhetoric.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Elite-Athletic-Development.md b/10_Wiki/Topics/Game_Design/Elite-Athletic-Development.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Elite-Athletic-Development.md rename to 10_Wiki/Topics/Game_Design/Elite-Athletic-Development.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Metaverse Aesthetics.md b/10_Wiki/Topics/Game_Design/Metaverse Aesthetics.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Metaverse Aesthetics.md rename to 10_Wiki/Topics/Game_Design/Metaverse Aesthetics.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Roguelike Procedural Generation.md b/10_Wiki/Topics/Game_Design/Roguelike Procedural Generation.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Roguelike Procedural Generation.md rename to 10_Wiki/Topics/Game_Design/Roguelike Procedural Generation.md diff --git a/10_Wiki/Topics/_Archive_Orphans/보상의 역효과 (Overjustification Effect).md b/10_Wiki/Topics/Game_Design/보상의 역효과 (Overjustification Effect).md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/보상의 역효과 (Overjustification Effect).md rename to 10_Wiki/Topics/Game_Design/보상의 역효과 (Overjustification Effect).md diff --git a/10_Wiki/Topics/_Archive_Orphans/인문학적 게임 비평 및 서사학.md b/10_Wiki/Topics/Game_Design/인문학적 게임 비평 및 서사학.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/인문학적 게임 비평 및 서사학.md rename to 10_Wiki/Topics/Game_Design/인문학적 게임 비평 및 서사학.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Blog_Content_Rules.md b/10_Wiki/Topics/Other/Blog_Content_Rules.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Blog_Content_Rules.md rename to 10_Wiki/Topics/Other/Blog_Content_Rules.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Blog_Title_Rules.md b/10_Wiki/Topics/Other/Blog_Title_Rules.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Blog_Title_Rules.md rename to 10_Wiki/Topics/Other/Blog_Title_Rules.md diff --git a/10_Wiki/Topics/_Archive_Orphans/GIT_PROTOCOL.md b/10_Wiki/Topics/Other/GIT_PROTOCOL.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/GIT_PROTOCOL.md rename to 10_Wiki/Topics/Other/GIT_PROTOCOL.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Knowledge-Extraction-Protocol.md b/10_Wiki/Topics/Other/Knowledge-Extraction-Protocol.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Knowledge-Extraction-Protocol.md rename to 10_Wiki/Topics/Other/Knowledge-Extraction-Protocol.md diff --git a/10_Wiki/Topics/_Archive_Orphans/Process_Reflection_Template.md b/10_Wiki/Topics/Other/Process_Reflection_Template.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/Process_Reflection_Template.md rename to 10_Wiki/Topics/Other/Process_Reflection_Template.md diff --git a/10_Wiki/Topics/_Archive_Orphans/project-profile.md b/10_Wiki/Topics/Other/project-profile.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/project-profile.md rename to 10_Wiki/Topics/Other/project-profile.md diff --git a/10_Wiki/Topics/_Archive_Orphans/스트림Stream.md b/10_Wiki/Topics/Programming & Language/스트림Stream.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/스트림Stream.md rename to 10_Wiki/Topics/Programming & Language/스트림Stream.md diff --git a/10_Wiki/Topics/_Archive_Orphans/2026-04-25-Datacollector_Engine_Processed_Count_and_Stalled_Loop_Guard.md b/10_Wiki/Topics/Skybound/2026-04-25-Datacollector_Engine_Processed_Count_and_Stalled_Loop_Guard.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/2026-04-25-Datacollector_Engine_Processed_Count_and_Stalled_Loop_Guard.md rename to 10_Wiki/Topics/Skybound/2026-04-25-Datacollector_Engine_Processed_Count_and_Stalled_Loop_Guard.md diff --git a/10_Wiki/Topics/_Archive_Orphans/2026-04-26-Skybound_Low_Level_First_Upgrade_Offer_Balance.md b/10_Wiki/Topics/Skybound/2026-04-26-Skybound_Low_Level_First_Upgrade_Offer_Balance.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/2026-04-26-Skybound_Low_Level_First_Upgrade_Offer_Balance.md rename to 10_Wiki/Topics/Skybound/2026-04-26-Skybound_Low_Level_First_Upgrade_Offer_Balance.md diff --git a/10_Wiki/Topics/_Archive_Orphans/2026-04-26-Skybound_Skill_Slot_Limit_Weapon5_Passive5.md b/10_Wiki/Topics/Skybound/2026-04-26-Skybound_Skill_Slot_Limit_Weapon5_Passive5.md similarity index 100% rename from 10_Wiki/Topics/_Archive_Orphans/2026-04-26-Skybound_Skill_Slot_Limit_Weapon5_Passive5.md rename to 10_Wiki/Topics/Skybound/2026-04-26-Skybound_Skill_Slot_Limit_Weapon5_Passive5.md diff --git a/20_Meta/ReviewQueue/_index.json b/20_Meta/ReviewQueue/_index.json index 05eb1710..cfdc3a83 100644 --- a/20_Meta/ReviewQueue/_index.json +++ b/20_Meta/ReviewQueue/_index.json @@ -38675,6 +38675,34 @@ "is_redirect": false, "is_operational": false }, + { + "path": "10_Wiki/Topics/Architecture/Active_Record_Pattern_vs_Repository_Pattern.md", + "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Architecture\\Active_Record_Pattern_vs_Repository_Pattern.md", + "folder": "Architecture", + "filename": "Active_Record_Pattern_vs_Repository_Pattern", + "norm_name": "activerecordpatternvsrepositorypattern", + "title": "Active Record Pattern vs Repository Pattern", + "norm_title": "activerecordpatternvsrepositorypattern", + "fm_id": null, + "fm_aliases": [], + "fm_tags": [ + "auto-wikified", + "technical-documentation", + "other" + ], + "fm_status": null, + "fm_trust": null, + "fm_last_reinforced": null, + "fm_redirect_to": null, + "fm_canonical_id": null, + "body_chars": 1559, + "body_first_para_hash": "a8f2eb378124", + "body_fingerprint": "active record 패턴은 데이터베이스 모델의 관심사와 비즈니스 로직을 하나의 객체나 계층에 결합하여 처리하는 설계 방식이다 [1]. 반면 repository 패턴은 데이터 접근을 전담하는 저장소(repository) 계층을 분리하고, 모델은 비즈니스 로직이 없는 단순한 객체(dumb models/dtos)로 유지하는 상반된 접근 방식을 취한다 [1, 2]. 최근 소프트웨어 산업은 모델 중심이 아닌 기능(feature)을 축으로 비즈니스 로직을 분리하기 위해 점차 active record에서 repository 패턴으로 이동하는 추세를 보이고 있다 [1]. active record 패턴의 특성 active record 패턴은 데이터베이스 모델 내에 데이터 처리와 비즈니스 로직을 함께 구현하는 방식이다 [1]. 과거에는 데이터베이스 관련 관심사를 단순화하여 비즈니스 로직을 직관적으로 표현할 수 있다는 장점이 있었으나, 점차 애플리케이션 규모가 커지고 성능 및 확장성 등 다양한 기술적 관심사가 추가되면서 단일 계층에 너무 많은 책임이 혼재되는 문제를 겪게 되었다 [1]. repository 패턴의 특성 및 구현 repository 패턴은 데이터 접근은 오직", + "is_stub": false, + "is_huge": false, + "is_redirect": false, + "is_operational": false + }, { "path": "10_Wiki/Topics/Architecture/ADR_(Architecture_Decision_Record).md", "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Architecture\\ADR_(Architecture_Decision_Record).md", @@ -38836,6 +38864,62 @@ "is_redirect": false, "is_operational": false }, + { + "path": "10_Wiki/Topics/Architecture/AOP_Aspect-Oriented_Programming.md", + "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Architecture\\AOP_Aspect-Oriented_Programming.md", + "folder": "Architecture", + "filename": "AOP_Aspect-Oriented_Programming", + "norm_name": "aopaspectorientedprogramming", + "title": "AOP (Aspect-Oriented Programming)", + "norm_title": "aopaspectorientedprogramming", + "fm_id": null, + "fm_aliases": [], + "fm_tags": [ + "auto-wikified", + "technical-documentation", + "computer_science_and_theory" + ], + "fm_status": null, + "fm_trust": null, + "fm_last_reinforced": null, + "fm_redirect_to": null, + "fm_canonical_id": null, + "body_chars": 2177, + "body_first_para_hash": "29b9964fbf7e", + "body_fingerprint": "aop(aspect oriented programming)는 로깅, 보안, 트랜잭션 관리와 같은 횡단 관심사(cross cutting concerns)를 소프트웨어 시스템의 여러 모듈에서 분리하여 관리하는 방법론이자 프로그래밍 기법입니다 [1, 2]. 핵심 비즈니스 로직과 인프라 코드를 분리함으로써 소스 코드의 오염을 방지하고 코드의 가독성과 유지보수성을 크게 높여줍니다 [3, 4]. 주로 런타임에 메서드 호출을 가로채어 실행 전, 후, 또는 주변(around)에 원하는 동작을 적용하는 방식으로 작동합니다 [1, 2]. 관심사의 분리 (separation of concerns) : 소프트웨어는 주요 기능을 담당하는 핵심 관심사(core concerns, 비즈니스 로직)와 시스템 전반에 걸쳐 필요한 보조 기능인 횡단 관심사(crosscutting concerns)로 나뉩니다 [5]. aop는 로깅, 데이터 전송, 보안, 성능 모니터링, 캐싱 등 애플리케이션의 여러 계층을 가로지르는 횡단 관심사를 별도의 '애스펙트(aspect)'로 분리하여 관리합니다 [1, 5]. spring boot에서의 실전 구현 : spring 생태계에서 aop는 컨트롤러, 서비스, 리포", + "is_stub": false, + "is_huge": false, + "is_redirect": false, + "is_operational": false + }, + { + "path": "10_Wiki/Topics/Architecture/AOT_Compilation_Ahead-of-Time.md", + "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Architecture\\AOT_Compilation_Ahead-of-Time.md", + "folder": "Architecture", + "filename": "AOT_Compilation_Ahead-of-Time", + "norm_name": "aotcompilationaheadoftime", + "title": "AOT Compilation (Ahead-of-Time)", + "norm_title": "aotcompilationaheadoftime", + "fm_id": null, + "fm_aliases": [], + "fm_tags": [ + "auto-wikified", + "technical-documentation", + "computer_science_and_theory" + ], + "fm_status": null, + "fm_trust": null, + "fm_last_reinforced": null, + "fm_redirect_to": null, + "fm_canonical_id": null, + "body_chars": 1736, + "body_first_para_hash": "bac491e200cc", + "body_fingerprint": "aot(ahead of time) 컴파일은 애플리케이션이 실행되기 전에 소스 코드를 기기의 네이티브 기계어(arm 코드 등)로 미리 컴파일해 두는 기술입니다 [1, 2]. 주로 flutter 프레임워크의 dart 언어나 spring boot의 graalvm 네이티브 컴파일 환경 등에서 활용됩니다 [3, 4]. 실행 시점에 코드를 동적으로 해석하거나 파싱할 필요가 없으므로 애플리케이션의 콜드 스타트(cold start) 시간을 크게 단축시키며, 네이티브 수준의 높은 실행 효율과 성능을 보장할 수 있습니다 [1, 5]. flutter와 dart의 aot 컴파일: flutter를 구동하는 dart 가상 머신(vm)은 빠른 컴파일 환경을 제공하기 위해 jit(just in time) 컴파일과 aot 컴파일을 모두 지원합니다 [6]. 프로덕션 배포 시 flutter 앱은 aot 컴파일을 통해 android 및 ios용 네이티브 기계어(arm 코드 등)로 사전에 직접 컴파일됩니다 [1, 2]. 엔진 초기화 및 자바스크립트 번들 파싱 과정을 거쳐야 하는 다른 크로스 플랫폼 기술과 비교했을 때, 런타임 오버헤드가 대폭 제거되어 콜드 스타트 시간이 눈에 띄게 단축되며 실행 ", + "is_stub": false, + "is_huge": false, + "is_redirect": false, + "is_operational": false + }, { "path": "10_Wiki/Topics/Architecture/Apache Ignite.md", "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Architecture\\Apache Ignite.md", @@ -39716,6 +39800,34 @@ "is_redirect": false, "is_operational": false }, + { + "path": "10_Wiki/Topics/Architecture/Boilerplate.md", + "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Architecture\\Boilerplate.md", + "folder": "Architecture", + "filename": "Boilerplate", + "norm_name": "boilerplate", + "title": "Boilerplate", + "norm_title": "boilerplate", + "fm_id": null, + "fm_aliases": [], + "fm_tags": [ + "auto-wikified", + "technical-documentation", + "other" + ], + "fm_status": null, + "fm_trust": null, + "fm_last_reinforced": null, + "fm_redirect_to": null, + "fm_canonical_id": null, + "body_chars": 2024, + "body_first_para_hash": "33f6440aba92", + "body_fingerprint": "보일러플레이트(boilerplate) 는 핵심 비즈니스 로직을 지원하기 위해 반복적으로 작성해야 하는 가치가 낮고 판에 박힌 코드를 의미한다 [1]. 현대 소프트웨어 개발 프레임워크와 라이브러리들은 이러한 보일러플레이트 코드를 줄여 개발 생산성을 높이고 유지보수성을 향상시키는 방향으로 발전하고 있다 [2 4]. 이를 위해 프레임워크 차원의 추상화, 상태 관리 도구의 최적화, 그리고 코드 자동 생성 기술이 적극적으로 활용된다 [5, 6]. 보일러플레이트의 문제점 : 귀중한 핵심 비즈니스 로직이 방대한 양의 가치 없는 보일러플레이트 코드와 섞이게 되면, 전체적인 코드를 이해하고 유지보수하기가 매우 어려워진다 [1]. 프론트엔드 생태계의 보일러플레이트 감소 : vue.js : vue 3의 composition api를 도입하면 개발 주기가 단축되며 보일러플레이트 코드를 30%가량 줄일 수 있다 [2]. 또한, 상태 관리 라이브러리로 기존의 vuex 대신 pinia를 사용하면 불필요한 보일러플레이트를 제거하고 타입스크립트 지원을 크게 강화할 수 있다 [3]. react : 기존의 redux toolkit처럼 보일러플레이트가 많은 도구 대신, 최근에는 보일러플레이트가", + "is_stub": false, + "is_huge": false, + "is_redirect": false, + "is_operational": false + }, { "path": "10_Wiki/Topics/Architecture/Bottom-Up-Approach.md", "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Architecture\\Bottom-Up-Approach.md", @@ -39743,6 +39855,34 @@ "is_redirect": false, "is_operational": false }, + { + "path": "10_Wiki/Topics/Architecture/Bounded_Context.md", + "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Architecture\\Bounded_Context.md", + "folder": "Architecture", + "filename": "Bounded_Context", + "norm_name": "boundedcontext", + "title": "Bounded Context", + "norm_title": "boundedcontext", + "fm_id": null, + "fm_aliases": [], + "fm_tags": [ + "auto-wikified", + "technical-documentation", + "architecture" + ], + "fm_status": null, + "fm_trust": null, + "fm_last_reinforced": null, + "fm_redirect_to": null, + "fm_canonical_id": null, + "body_chars": 1392, + "body_first_para_hash": "dae4a77d70ab", + "body_fingerprint": "bounded context(제한된 컨텍스트)는 도메인 주도 설계(ddd)에서 유래한 용어로, 단일하고 응집력 있는 도메인 개념에 매핑되는 코드 조직의 기본 단위를 의미합니다 [1]. 이상적인 bounded context는 명확한 단일 책임을 지니며, 내부 로직을 독립적으로 추론할 수 있어야 합니다 [1]. 프레임워크 실전 아키텍처 패턴에서 이는 다른 모듈과의 결합도(coupling)를 최소화하여 시스템의 모듈성 및 유지보수성을 극대화하는 핵심 원리로 작용합니다 [1]. 단일 책임과 독립적 패키징: 프레임워크(예: django)에서 bounded context로 기능하는 단위(app 등)는 이론적으로 별도의 패키지나 마이크로서비스로 쉽게 추출될 수 있을 만큼 독립적이어야 합니다 [1, 2]. 반면 utils , helpers , misc 와 같이 다용도의 의미를 지닌 명명은 단일 도메인 개념을 위반하고 앱이 너무 많은 역할을 수행하고 있다는 경고 신호로 간주됩니다 [1]. 모델 소유권과 api를 통한 캡슐화: 각 bounded context는 고유한 데이터 모델을 직접 소유해야 합니다 [3]. 실전 전자상거래 백엔드 사례를 보면, 주문( orders/ ) 컨", + "is_stub": false, + "is_huge": false, + "is_redirect": false, + "is_operational": false + }, { "path": "10_Wiki/Topics/Architecture/BPM.md", "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Architecture\\BPM.md", @@ -40421,6 +40561,34 @@ "is_redirect": false, "is_operational": false }, + { + "path": "10_Wiki/Topics/Architecture/Constructor_Injection.md", + "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Architecture\\Constructor_Injection.md", + "folder": "Architecture", + "filename": "Constructor_Injection", + "norm_name": "constructorinjection", + "title": "Constructor Injection", + "norm_title": "constructorinjection", + "fm_id": null, + "fm_aliases": [], + "fm_tags": [ + "auto-wikified", + "technical-documentation", + "architecture" + ], + "fm_status": null, + "fm_trust": null, + "fm_last_reinforced": null, + "fm_redirect_to": null, + "fm_canonical_id": null, + "body_chars": 1275, + "body_first_para_hash": "1c450cef3c92", + "body_fingerprint": "constructor injection(생성자 주입)은 클래스의 생성자를 통해 객체가 필요로 하는 의존성을 명시적으로 선언하고 프레임워크로부터 해당 객체를 제공받는 의존성 주입(di) 방식입니다 [1 3]. 모던 spring boot와 nestjs 같은 최신 엔터프라이즈 프레임워크에서 가장 선호되고 권장되는 접근법입니다 [1, 2]. 이 방식을 사용하면 수동으로 객체를 생성하거나 연결할 필요 없이, 프레임워크가 의존성을 자동으로 감지하고 인스턴스화하여 주입합니다 [2, 3]. 프레임워크의 자동 의존성 해결 : spring boot와 nestjs와 같은 프레임워크에서는 클래스 생성자에 필요한 의존성을 선언하기만 하면 됩니다 [1, 2]. 프레임워크의 제어 역전(ioc) 혹은 di 컨테이너가 생성자를 감지하여 알맞은 빈(bean)이나 프로바이더를 자동으로 주입하므로, 팩토리 메서드나 수동 배선(manual wiring) 코드를 생략할 수 있습니다 [2]. 결합도 완화와 구조적 명확성 : 의존성을 내부에서 직접 인스턴스화하거나 하드 코딩하여 임포트하는 대신, 생성자를 통해 외부에서 주입받는 방식을 취합니다 [1]. 이러한 접근은 컴포넌트 간의 강한 결합도를 낮추고", + "is_stub": false, + "is_huge": false, + "is_redirect": false, + "is_operational": false + }, { "path": "10_Wiki/Topics/Architecture/Continuous_Integration_CI.md", "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Architecture\\Continuous_Integration_CI.md", @@ -40557,6 +40725,34 @@ "is_redirect": false, "is_operational": false }, + { + "path": "10_Wiki/Topics/Architecture/Cross-Cutting_Concerns_AOP.md", + "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Architecture\\Cross-Cutting_Concerns_AOP.md", + "folder": "Architecture", + "filename": "Cross-Cutting_Concerns_AOP", + "norm_name": "crosscuttingconcernsaop", + "title": "Cross-Cutting Concerns (AOP)", + "norm_title": "crosscuttingconcernsaop", + "fm_id": null, + "fm_aliases": [], + "fm_tags": [ + "auto-wikified", + "technical-documentation", + "computer_science_and_theory" + ], + "fm_status": null, + "fm_trust": null, + "fm_last_reinforced": null, + "fm_redirect_to": null, + "fm_canonical_id": null, + "body_chars": 2409, + "body_first_para_hash": "39acb410e51b", + "body_fingerprint": "횡단 관심사(cross cutting concerns) 는 로깅, 보안, 캐싱, 예외 처리 등 소프트웨어의 여러 계층과 컴포넌트 전반에 걸쳐 공통으로 요구되는 부차적이고 시스템적인 기능을 의미합니다 [1 4]. 이러한 관심사를 핵심 비즈니스 로직과 분리하여 모듈화하는 방법론이 관점 지향 프로그래밍(aop, aspect oriented programming) 입니다 [1, 5]. 이를 적절하게 중앙 집중화하지 않으면 코드의 중복과 강한 결합을 초래하여 대규모 애플리케이션의 유지보수성을 심각하게 저하시킬 수 있습니다 [1, 6]. 개념 및 필요성 애플리케이션의 비즈니스 로직이 '핵심 관심사(core concerns)'라면, 트랜잭션 관리, 로깅, 유효성 검사 등은 시스템 전체에 적용되어야 하는 '횡단 관심사'로 분류됩니다 [2, 7 10]. 이러한 횡단 관심사를 각 메서드 내부에 하드코딩하면 '단일 책임 원칙(srp)'과 '반복 방지(dry)' 원칙을 위반하게 되어 코드가 심하게 오염됩니다 [11]. aop는 이러한 로직을 한 곳으로 추출하여 각 모듈에 선언적으로 주입합니다 [5, 7]. 프레임워크별 실전 구현 패턴 현대 백엔드 프레임워크들은 횡단 관심사 분리를", + "is_stub": false, + "is_huge": false, + "is_redirect": false, + "is_operational": false + }, { "path": "10_Wiki/Topics/Architecture/CST.md", "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Architecture\\CST.md", @@ -40770,6 +40966,34 @@ "is_redirect": false, "is_operational": false }, + { + "path": "10_Wiki/Topics/Architecture/Dependency_Inversion_Principle.md", + "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Architecture\\Dependency_Inversion_Principle.md", + "folder": "Architecture", + "filename": "Dependency_Inversion_Principle", + "norm_name": "dependencyinversionprinciple", + "title": "Dependency Inversion Principle", + "norm_title": "dependencyinversionprinciple", + "fm_id": null, + "fm_aliases": [], + "fm_tags": [ + "auto-wikified", + "technical-documentation", + "architecture" + ], + "fm_status": null, + "fm_trust": null, + "fm_last_reinforced": null, + "fm_redirect_to": null, + "fm_canonical_id": null, + "body_chars": 1687, + "body_first_para_hash": "c61fab308395", + "body_fingerprint": "의존성 역전 원칙(dependency inversion principle)은 애플리케이션 서비스가 인프라스트럭처 서비스와 상호 작용할 때 구체적인 구현체(concrete implementations)에 직접 의존하지 않도록 하는 설계 원칙이다 [1]. 이 원칙은 대신 클래스의 생성자를 통해 필요한 의존성을 주입(inject)하는 방식을 제안한다 [1]. 이를 통해 시스템 요소 간의 느슨한 결합(loose coupling)을 촉진하며, 시스템을 더 유연하고 테스트하기 쉽게 만든다 [1]. 구체적 구현으로부터의 분리 : 의존성 역전 원칙에 따라 애플리케이션 계층은 구체적인 구현 클래스에 직접적으로 종속되지 않는다 [1]. 대신 필요한 의존성은 생성자를 통해 외부에서 주입받는 방식을 취하여 시스템의 결합도를 낮춘다 [1]. 헥사고날 아키텍처(hexagonal architecture)에서의 역할 : 헥사고날 아키텍처에서 애플리케이션 서비스가 인프라스트럭처 서비스와 상호작용해야 할 때 기본적으로 이 의존성 역전 원칙을 따른다 [1]. 이를 통해 핵심 비즈니스 로직과 외부 시스템 간의 상호작용을 유연하게 관리할 수 있다 [1]. 프레임워크 단위의 의존성 주입(di) 지", + "is_stub": false, + "is_huge": false, + "is_redirect": false, + "is_operational": false + }, { "path": "10_Wiki/Topics/Architecture/Digital_Twin.md", "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Architecture\\Digital_Twin.md", @@ -41175,6 +41399,34 @@ "is_redirect": false, "is_operational": false }, + { + "path": "10_Wiki/Topics/Architecture/Entity_엔티티.md", + "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Architecture\\Entity_엔티티.md", + "folder": "Architecture", + "filename": "Entity_엔티티", + "norm_name": "entity엔티티", + "title": "Entity (엔티티)", + "norm_title": "entity엔티티", + "fm_id": null, + "fm_aliases": [], + "fm_tags": [ + "auto-wikified", + "technical-documentation", + "architecture" + ], + "fm_status": null, + "fm_trust": null, + "fm_last_reinforced": null, + "fm_redirect_to": null, + "fm_canonical_id": null, + "body_chars": 1548, + "body_first_para_hash": "fd3d25ea11fa", + "body_fingerprint": "엔티티(entity)는 애플리케이션에서 데이터베이스 모델이나 순수한 비즈니스 규칙을 표현하는 핵심 데이터 구조이다 [1 3]. 현대 소프트웨어 개발 및 실전 아키텍처에서는 엔티티를 api 입출력을 담당하는 dto(data transfer object)와 엄격하게 분리하여 관리하는 것을 핵심 패턴으로 삼는다 [1 3]. 이를 통해 데이터베이스 스키마와 외부 api 스펙 간의 결합도를 낮추고 대규모 시스템의 유지보수성을 확보할 수 있다 [2 4]. 역할 및 위치: 실무 아키텍처에서 엔티티는 주로 typeorm, prisma, drizzle(nestjs 환경) 또는 jpa(spring boot 환경)와 같은 도구의 데코레이터/어노테이션을 통해 데이터베이스 모델로 정의되며, 서비스(service) 계층에서 사용된다 [2, 5, 6]. 특히 헥사고날 아키텍처(hexagonal architecture)에서는 도메인(domain) 계층에 위치하여 어떠한 외부 프레임워크나 라이브러리에도 의존하지 않는 순수한 형태로 존재해야 한다 [3]. dto와의 명확한 분리: 프로젝트 초기에는 엔티티와 dto의 구조가 매우 유사해 보일 수 있으나, 시간이 지나고 애플리케이션이 확장됨에 ", + "is_stub": false, + "is_huge": false, + "is_redirect": false, + "is_operational": false + }, { "path": "10_Wiki/Topics/Architecture/Eugen_Systems.md", "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Architecture\\Eugen_Systems.md", @@ -41971,6 +42223,34 @@ "is_redirect": false, "is_operational": false }, + { + "path": "10_Wiki/Topics/Architecture/Global_Singleton.md", + "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Architecture\\Global_Singleton.md", + "folder": "Architecture", + "filename": "Global_Singleton", + "norm_name": "globalsingleton", + "title": "Global Singleton", + "norm_title": "globalsingleton", + "fm_id": null, + "fm_aliases": [], + "fm_tags": [ + "auto-wikified", + "technical-documentation", + "other" + ], + "fm_status": null, + "fm_trust": null, + "fm_last_reinforced": null, + "fm_redirect_to": null, + "fm_canonical_id": null, + "body_chars": 1371, + "body_first_para_hash": "6a613d361008", + "body_fingerprint": "글로벌 싱글톤(global singleton)은 애플리케이션 내에서 공유되는 상태나 기능을 개별 컴포넌트 외부로 추출하여 단일 객체 인스턴스로 관리하는 디자인 패턴이다 [1, 2]. 이 패턴을 활용하면 컴포넌트 계층 구조와 무관하게 어디서든 해당 상태에 접근하거나 관련 액션을 트리거할 수 있다 [1]. 주로 프론트엔드의 전역 상태 관리나 백엔드의 공통 인프라스트럭처(예: 로거) 인스턴스를 유지하는 데 활용된다 [1, 3]. 상태 추출 및 중앙 집중화: 여러 컴포넌트가 동일한 상태에 의존하거나 이를 변경해야 할 때, 글로벌 싱글톤은 상태를 최상위로 끌어올릴 때 발생하는 'prop drilling' 문제를 해결하는 직관적인 대안을 제공한다 [1, 4]. 상태를 글로벌 싱글톤으로 추출하면 전체 컴포넌트 트리가 하나의 큰 뷰(view)처럼 기능하게 되며, 상태와 상태를 변경하는 로직이 한 곳에 집중된 단일 진실 공급원(single source of truth)을 확보할 수 있다 [1, 5]. 공통 인프라스트럭처의 공유 인스턴스: 백엔드(예: c ) 환경에서 싱글톤이나 정적 로거 팩토리는 로깅과 같은 횡단 관심사(cross cutting concerns)의 공유 인스", + "is_stub": false, + "is_huge": false, + "is_redirect": false, + "is_operational": false + }, { "path": "10_Wiki/Topics/Architecture/God-Object-Antipattern.md", "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Architecture\\God-Object-Antipattern.md", @@ -42101,6 +42381,34 @@ "is_redirect": false, "is_operational": false }, + { + "path": "10_Wiki/Topics/Architecture/Hexagonal_Architecture_Ports_and_Adapters.md", + "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Architecture\\Hexagonal_Architecture_Ports_and_Adapters.md", + "folder": "Architecture", + "filename": "Hexagonal_Architecture_Ports_and_Adapters", + "norm_name": "hexagonalarchitectureportsandadapters", + "title": "Hexagonal Architecture (Ports and Adapters)", + "norm_title": "hexagonalarchitectureportsandadapters", + "fm_id": null, + "fm_aliases": [], + "fm_tags": [ + "auto-wikified", + "technical-documentation", + "architecture" + ], + "fm_status": null, + "fm_trust": null, + "fm_last_reinforced": null, + "fm_redirect_to": null, + "fm_canonical_id": null, + "body_chars": 2416, + "body_first_para_hash": "aca8b9d7efd4", + "body_fingerprint": "헥사고날 아키텍처(포트와 어댑터 패턴)는 애플리케이션의 핵심 비즈니스 로직을 데이터베이스, ui, api 등 외부 기술적 종속성으로부터 완전히 고립시키기 위해 고안된 소프트웨어 아키텍처 패턴입니다. [1 3] 2005년 alistair cockburn에 의해 처음 소개되었으며, 시스템을 더 유지보수하고 테스트 및 확장하기 쉽게 만드는 것을 주된 목적으로 합니다. [2] 내부 도메인 로직과 외부 세계 간의 상호작용은 명확한 규약을 가진 인터페이스인 '포트(port)'와 이를 구체적으로 구현하는 '어댑터(adapter)'를 통해서만 이루어집니다. [3 5] 설계 철학과 구조적 메커니즘 육각형(hexagon) 모양은 전통적인 n 티어(n tier) 계층 구조와 같이 수직적인 계층 관계를 내포하지 않는다는 것을 은유적으로 보여줍니다. [6] 다수의 연결 지점(포트)을 통해 다양한 어댑터를 쉽게 끼워 넣을 수(plug in) 있는 다형성을 시각적으로 나타냅니다. [6] 비즈니스 로직과 외부 인프라의 강한 결합(tight coupling)을 방지하기 위해 의존성 역전 원칙(dependency inversion principle)을 적용합니다. [2, 7] 이를 통해 외", + "is_stub": false, + "is_huge": false, + "is_redirect": false, + "is_operational": false + }, { "path": "10_Wiki/Topics/Architecture/High-Cohesion-Low-Coupling.md", "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Architecture\\High-Cohesion-Low-Coupling.md", @@ -42527,6 +42835,34 @@ "is_redirect": false, "is_operational": false }, + { + "path": "10_Wiki/Topics/Architecture/Inversion_of_Control_IoC.md", + "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Architecture\\Inversion_of_Control_IoC.md", + "folder": "Architecture", + "filename": "Inversion_of_Control_IoC", + "norm_name": "inversionofcontrolioc", + "title": "Inversion of Control (IoC)", + "norm_title": "inversionofcontrolioc", + "fm_id": null, + "fm_aliases": [], + "fm_tags": [ + "auto-wikified", + "technical-documentation", + "architecture" + ], + "fm_status": null, + "fm_trust": null, + "fm_last_reinforced": null, + "fm_redirect_to": null, + "fm_canonical_id": null, + "body_chars": 1890, + "body_first_para_hash": "cfb3847694b8", + "body_fingerprint": "제어의 역전(inversion of control, ioc)은 소프트웨어 컴포넌트 간의 결합도를 낮추고 재사용성을 극대화하기 위해 객체의 생성이나 렌더링 제어권을 프레임워크 또는 소비 컴포넌트로 위임하는 설계 원칙이다 [1, 2]. 백엔드에서는 주로 ioc 컨테이너와 의존성 주입(di)을 통해 컴포넌트 간의 종속성 그래프를 자동 관리하는 방식으로 사용된다 [2, 3]. 프론트엔드 환경에서는 스코프 슬롯(scoped slots)과 동적 컴포넌트를 활용하여 렌더링에 대한 제어권을 부모에게 역전시키는 형태로 활용된다 [1, 4]. 백엔드의 ioc 컨테이너 및 의존성 주입 (spring boot & nestjs) spring boot는 java 어노테이션을 사용하여 컴포넌트의 동작과 관계를 선언하며, 애플리케이션 시작 시점에 spring ioc 컨테이너가 이 어노테이션들을 읽어 의존성 그래프를 구축하고 올바른 순서로 빈(beans)을 인스턴스화한다 [2]. typescript 기반의 nestjs 역시 이와 동일한 엔터프라이즈 java 패턴을 도입하여 데코레이터 기반의 의존성 주입(di) 컨테이너를 사용한다 [5, 6]. 개발자가 생성자에 필요한 종속성을 선언하면 프", + "is_stub": false, + "is_huge": false, + "is_redirect": false, + "is_operational": false + }, { "path": "10_Wiki/Topics/Architecture/Iriszoom_엔진.md", "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Architecture\\Iriszoom_엔진.md", @@ -42971,6 +43307,34 @@ "is_redirect": false, "is_operational": false }, + { + "path": "10_Wiki/Topics/Architecture/Mapper_-_ModelMapper.md", + "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Architecture\\Mapper_-_ModelMapper.md", + "folder": "Architecture", + "filename": "Mapper_-_ModelMapper", + "norm_name": "mappermodelmapper", + "title": "Mapper / ModelMapper", + "norm_title": "mappermodelmapper", + "fm_id": null, + "fm_aliases": [], + "fm_tags": [ + "auto-wikified", + "technical-documentation", + "architecture" + ], + "fm_status": null, + "fm_trust": null, + "fm_last_reinforced": null, + "fm_redirect_to": null, + "fm_canonical_id": null, + "body_chars": 1137, + "body_first_para_hash": "9682c79a39e6", + "body_fingerprint": "modelmapper는 dto(data transfer object), 도메인 모델, 엔티티 등 서로 다른 객체 간의 데이터를 매핑(변환)하기 위해 사용되는 라이브러리이다 [1]. 주로 헥사고날 아키텍처나 계층형 아키텍처가 적용된 프레임워크(예: spring boot)에서 각 계층을 넘나드는 데이터를 변환하여 계층 간 결합도를 낮추는 데 활용된다 [1, 2]. 계층 간 데이터 변환 책임 분리 : 헥사고날 아키텍처(ports and adapters)의 실전 구현에서 매핑 작업은 각 어댑터의 핵심 역할 중 하나이다. 예를 들어, 웹 어댑터(web adapter)는 들어오는 api 모델(dto)과 내부 도메인 모델 간의 데이터를 매핑하고, 리포지토리 어댑터(repository adapter)는 도메인 모델과 데이터베이스 엔티티 간의 데이터를 매핑하여 변환을 처리한다 [2, 3]. 외부 api 스펙 파괴 방지 (안전장치) : dto와 엔티티를 명확히 분리하고 매퍼(mapper)를 통해 데이터를 변환하는 과정은 아키텍처적으로 중요한 안전장치 역할을 한다 [4]. 이를 통해 내부 데이터베이스 모델(엔티티)의 구조가 변경되더라도, 매핑 레이어에 의해 외부로 노출되는 ap", + "is_stub": false, + "is_huge": false, + "is_redirect": false, + "is_operational": false + }, { "path": "10_Wiki/Topics/Architecture/March_2026_Research_Drop.md", "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Architecture\\March_2026_Research_Drop.md", @@ -43322,6 +43686,34 @@ "is_redirect": false, "is_operational": false }, + { + "path": "10_Wiki/Topics/Architecture/Mocking_Framework.md", + "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Architecture\\Mocking_Framework.md", + "folder": "Architecture", + "filename": "Mocking_Framework", + "norm_name": "mockingframework", + "title": "Mocking Framework", + "norm_title": "mockingframework", + "fm_id": null, + "fm_aliases": [], + "fm_tags": [ + "auto-wikified", + "technical-documentation", + "devops_and_security" + ], + "fm_status": null, + "fm_trust": null, + "fm_last_reinforced": null, + "fm_redirect_to": null, + "fm_canonical_id": null, + "body_chars": 1701, + "body_first_para_hash": "7b1fca6c5db7", + "body_fingerprint": "모킹 프레임워크(mocking framework)는 단위 테스트 수행 시 실제 서비스나 외부 종속성을 가짜(mock) 객체로 교체하여, 비즈니스 로직을 변경하지 않고도 독립적인 테스트를 가능하게 하는 도구이다 [1]. 의존성 주입(di) 구조의 유무에 따라 모킹의 복잡도가 크게 좌우되며, 시스템의 테스트 용이성을 결정짓는 핵심 요소로 작용한다 [1, 2]. 소스에 언급된 대표적인 모킹 도구로는 java 생태계의 mockito, react 환경의 mock service worker(msw), node.js 환경의 proxyquire, rewire 등이 있다 [1, 3, 4]. nestjs의 의존성 주입(di) 기반 모킹 패턴: nestjs는 테스트를 1급 관심사로 취급하며, 의존성 주입 메커니즘을 통해 모킹을 매우 직관적으로 지원한다 [1]. 프레임워크가 제공하는 테스트 모듈을 사용하면 단 몇 줄의 코드만으로 모의(mock) 종속성이 포함된 격리된 인스턴스를 쉽게 생성할 수 있다 [1, 5]. express에서의 수동 모킹 패턴: express는 자체적인 테스트 전략을 강제하지 않으므로, 종속성 모킹을 위해 jest , mocha , supertest 등의 도", + "is_stub": false, + "is_huge": false, + "is_redirect": false, + "is_operational": false + }, { "path": "10_Wiki/Topics/Architecture/Mockito.md", "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Architecture\\Mockito.md", @@ -43472,6 +43864,34 @@ "is_redirect": false, "is_operational": false }, + { + "path": "10_Wiki/Topics/Architecture/Modular_Architecture.md", + "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Architecture\\Modular_Architecture.md", + "folder": "Architecture", + "filename": "Modular_Architecture", + "norm_name": "modulararchitecture", + "title": "Modular Architecture", + "norm_title": "modulararchitecture", + "fm_id": null, + "fm_aliases": [], + "fm_tags": [ + "auto-wikified", + "technical-documentation", + "architecture" + ], + "fm_status": null, + "fm_trust": null, + "fm_last_reinforced": null, + "fm_redirect_to": null, + "fm_canonical_id": null, + "body_chars": 2277, + "body_first_para_hash": "595c973c0aac", + "body_fingerprint": "모듈러 아키텍처(modular architecture)는 시스템을 기능이나 도메인 단위의 독립적이고 응집력 있는 모듈로 분할하는 소프트웨어 설계 방식입니다 [1, 2]. nestjs나 vue 3와 같은 현대적 프레임워크에서 이 패턴은 명확한 경계 설정을 통해 애플리케이션의 유지보수성과 확장성을 극대화합니다 [2 4]. 이를 통해 다수의 개발자가 협업하는 대규모 환경에서도 기술 부채를 줄이고 예측 가능한 코드베이스를 유지할 수 있습니다 [3, 5]. 기능 기반(feature based) 모듈 구성 : nestjs 환경에서는 기술적 계층(layered)이 아닌 기능(feature)을 기준으로 모듈을 구성하는 것이 권장됩니다 [2]. 각 기능은 자체 폴더 내에 컨트롤러, 서비스, dto, 엔티티 등을 모두 포함하는 하나의 모듈로 구현되어야 합니다 [2]. 이는 기능의 이동이나 삭제를 단일 폴더 조작으로 가능하게 하여 코드의 탐색과 관리를 매우 용이하게 만듭니다 [2]. 모듈의 역할별 분리 전략 (nestjs) : feature module : 다른 모듈에서 주입받아야 할 요소만 명시적으로 내보내며(export), 하나의 기능당 하나의 모듈을 설계하여 캡슐화를 유지", + "is_stub": false, + "is_huge": false, + "is_redirect": false, + "is_operational": false + }, { "path": "10_Wiki/Topics/Architecture/Monolithic-vs-Microservices.md", "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Architecture\\Monolithic-vs-Microservices.md", @@ -43529,6 +43949,62 @@ "is_redirect": false, "is_operational": false }, + { + "path": "10_Wiki/Topics/Architecture/Monorepo_architectures.md", + "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Architecture\\Monorepo_architectures.md", + "folder": "Architecture", + "filename": "Monorepo_architectures", + "norm_name": "monorepoarchitectures", + "title": "Monorepo architectures", + "norm_title": "monorepoarchitectures", + "fm_id": null, + "fm_aliases": [], + "fm_tags": [ + "auto-wikified", + "technical-documentation", + "devops_and_security" + ], + "fm_status": null, + "fm_trust": null, + "fm_last_reinforced": null, + "fm_redirect_to": null, + "fm_canonical_id": null, + "body_chars": 1388, + "body_first_para_hash": "cf4f24d127bb", + "body_fingerprint": "모노레포(monorepo) 아키텍처는 여러 애플리케이션과 공유 라이브러리를 단일 코드 저장소(repository)에서 호스팅하여 복잡한 의존성 그래프를 관리하는 설계 방식입니다 [1, 2]. 2026년 현대 소프트웨어 개발 환경에서 대규모 엔터프라이즈 애플리케이션 및 마이크로서비스를 구축할 때 널리 채택되는 트렌드이자 표준으로 자리 잡고 있습니다 [2, 3]. 주로 turborepo나 nx와 같은 도구를 활용하여 효율적인 코드 공유와 빌드 최적화를 수행합니다 [1, 2]. 코드 공유와 구조화 : 모노레포 환경에서는 고객 포털, 관리자 대시보드 등의 여러 애플리케이션을 packages/ui 또는 공유 dto가 담긴 libs/ 폴더와 함께 단일 저장소에 배치합니다 [1, 2]. 예를 들어, nestjs 기반 마이크로서비스에서는 nest new monorepo 명령어를 통해 환경을 구성하고 모든 서비스가 공통 패키지를 임포트(import)하여 사용합니다 [1]. tiktok과 같은 글로벌 기업은 20만 개 이상의 파일이 존재하는 대규모 프론트엔드 모노레포를 운영하며 코드를 관리하기도 합니다 [4]. 워크스페이스 링크 (workspace linking) 및 실시간 ", + "is_stub": false, + "is_huge": false, + "is_redirect": false, + "is_operational": false + }, + { + "path": "10_Wiki/Topics/Architecture/Monorepo_Turborepo-Nx.md", + "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Architecture\\Monorepo_Turborepo-Nx.md", + "folder": "Architecture", + "filename": "Monorepo_Turborepo-Nx", + "norm_name": "monorepoturboreponx", + "title": "Monorepo (Turborepo/Nx)", + "norm_title": "monorepoturboreponx", + "fm_id": null, + "fm_aliases": [], + "fm_tags": [ + "auto-wikified", + "technical-documentation", + "devops_and_security" + ], + "fm_status": null, + "fm_trust": null, + "fm_last_reinforced": null, + "fm_redirect_to": null, + "fm_canonical_id": null, + "body_chars": 1542, + "body_first_para_hash": "e62a3607d60f", + "body_fingerprint": "모노레포(monorepo)는 turborepo나 nx와 같은 도구를 사용하여 복잡한 의존성 그래프를 관리하고 대규모 애플리케이션 환경을 지원하는 산업 표준 아키텍처 패턴이다 [1]. 고객 포털, 관리자 대시보드, 모바일 앱 등 여러 애플리케이션과 공유 라이브러리를 단일 저장소(single repository)에서 함께 호스팅할 수 있게 해준다 [1]. 주로 코드의 재사용성을 높이고 지능형 캐싱 등을 통해 빌드 및 ci/cd 시간을 단축하며, 마이크로서비스 간의 공통 dto나 ui 컴포넌트를 효과적으로 공유하기 위해 도입된다 [1, 2]. 다중 애플리케이션과 공유 코드의 단일 저장소 관리 모노레포 환경에서는 여러 개의 독립적인 애플리케이션과 공통으로 사용되는 packages/ui 또는 libs/ 와 같은 폴더를 하나의 저장소에 배치한다 [1, 2]. 예를 들어, nestjs로 마이크로서비스를 구축할 때 nest new monorepo 명령이나 turborepo/nx 워크스페이스를 설정하여 모든 서비스가 공유하는 dto를 단일 라이브러리 패키지에서 가져오도록 구성할 수 있다 [2]. 지능형 캐싱 (intelligent caching) turborepo와 같은 도", + "is_stub": false, + "is_huge": false, + "is_redirect": false, + "is_operational": false + }, { "path": "10_Wiki/Topics/Architecture/Multi-threaded Architecture.md", "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Architecture\\Multi-threaded Architecture.md", @@ -45288,6 +45764,34 @@ "is_redirect": false, "is_operational": false }, + { + "path": "10_Wiki/Topics/Architecture/Separation_of_Concerns.md", + "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Architecture\\Separation_of_Concerns.md", + "folder": "Architecture", + "filename": "Separation_of_Concerns", + "norm_name": "separationofconcerns", + "title": "Separation of Concerns", + "norm_title": "separationofconcerns", + "fm_id": null, + "fm_aliases": [], + "fm_tags": [ + "auto-wikified", + "technical-documentation", + "architecture" + ], + "fm_status": null, + "fm_trust": null, + "fm_last_reinforced": null, + "fm_redirect_to": null, + "fm_canonical_id": null, + "body_chars": 2087, + "body_first_para_hash": "0d3cb011731f", + "body_fingerprint": "separation of concerns(관심사의 분리)는 모듈, 파일, 클래스가 단 하나의 변경 이유만 가지도록 설계하는 소프트웨어 아키텍처의 핵심 원칙입니다 [1]. 이 원칙은 핵심 비즈니스 로직을 ui, 데이터베이스, 횡단 관심사(cross cutting concerns) 등 다른 기술적 세부사항으로부터 완벽히 고립시킴으로써 시스템의 유지보수성과 확장성을 보장합니다 [2, 3]. 현대의 프론트엔드 및 백엔드 프레임워크들은 각자의 고유한 패턴을 통해 이 원칙을 실무에 적용하고 있으며, 비즈니스 로직이 뷰(view) 등 다른 계층으로 누출될 경우 기술 부채가 빠르게 누적되게 됩니다 [3 5]. 프론트엔드 ui와 비즈니스 로직의 분리: react: 렌더 프로프(render props) 패턴이나 컨테이너/프레젠테이션(container and presentational) 패턴을 적용하여 데이터 페칭 등 '동작 논리'를 ui 렌더링과 물리적으로 분리합니다 [6 8]. 이 패턴들은 컴포넌트의 행동 로직은 캡슐화하되, ui 표현은 이를 사용하는 측에 위임함으로써 깔끔한 관심사 분리를 달성합니다 [6]. vue 3: composition api를 활용하여 관련된 상태와", + "is_stub": false, + "is_huge": false, + "is_redirect": false, + "is_operational": false + }, { "path": "10_Wiki/Topics/Architecture/Serverless_Architecture.md", "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Architecture\\Serverless_Architecture.md", @@ -45415,6 +45919,34 @@ "is_redirect": false, "is_operational": false }, + { + "path": "10_Wiki/Topics/Architecture/Service_Layer_Pattern.md", + "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Architecture\\Service_Layer_Pattern.md", + "folder": "Architecture", + "filename": "Service_Layer_Pattern", + "norm_name": "servicelayerpattern", + "title": "Service Layer Pattern", + "norm_title": "servicelayerpattern", + "fm_id": null, + "fm_aliases": [], + "fm_tags": [ + "auto-wikified", + "technical-documentation", + "architecture" + ], + "fm_status": null, + "fm_trust": null, + "fm_last_reinforced": null, + "fm_redirect_to": null, + "fm_canonical_id": null, + "body_chars": 1637, + "body_first_para_hash": "15d29a5b94e2", + "body_fingerprint": "서비스 레이어 패턴(service layer pattern)은 비즈니스 로직을 모델(model)이나 뷰(view)에서 분리하여 독립적인 서비스 함수나 클래스에서 관리하는 소프트웨어 아키텍처 설계 방식이다 [1, 2]. 이 패턴을 적용하면 뷰는 http 요청 및 응답을 처리하는 얇은 어댑터 역할만 수행하고, 실제 데이터의 변경과 핵심 비즈니스 규칙의 적용은 서비스 계층이 전담하게 된다 [2, 3]. 주로 여러 모델에 걸친 복잡한 연산을 캡슐화하거나, 비즈니스 로직의 재사용성 및 유닛 테스트 용이성을 극대화하기 위해 실무에서 도입된다 [2 5]. 비즈니스 로직의 중앙 집중화 및 뷰의 경량화 : 뷰(view)나 컨트롤러 계층에서는 비즈니스 로직을 제거하고, 단순히 입력값을 검증한 뒤 서비스 계층을 호출하는 얇은 http 어댑터로 유지한다 [2, 3]. 이를 통해 핵심 비즈니스 로직은 http 요청 문맥(context) 없이도 독립적으로 테스트할 수 있으며, 관리 명령어(management commands), 백그라운드 작업(예: celery), 또는 다른 서비스 등 여러 진입점에서 재사용할 수 있게 된다 [3]. 다중 모델 연산의 캡슐화 : 단일 모델에 종속되는 ", + "is_stub": false, + "is_huge": false, + "is_redirect": false, + "is_operational": false + }, { "path": "10_Wiki/Topics/Architecture/SharedArrayBuffer_보안_이슈와_Cross-Origin_Isolation.md", "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Architecture\\SharedArrayBuffer_보안_이슈와_Cross-Origin_Isolation.md", @@ -50514,6 +51046,62 @@ "is_redirect": false, "is_operational": false }, + { + "path": "10_Wiki/Topics/Backend/Asynchronous_Messaging.md", + "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Backend\\Asynchronous_Messaging.md", + "folder": "Backend", + "filename": "Asynchronous_Messaging", + "norm_name": "asynchronousmessaging", + "title": "Asynchronous Messaging", + "norm_title": "asynchronousmessaging", + "fm_id": null, + "fm_aliases": [], + "fm_tags": [ + "auto-wikified", + "technical-documentation", + "computer_science_and_theory" + ], + "fm_status": null, + "fm_trust": null, + "fm_last_reinforced": null, + "fm_redirect_to": null, + "fm_canonical_id": null, + "body_chars": 1724, + "body_first_para_hash": "f9b2a7e1bfab", + "body_fingerprint": "비동기 메시징(asynchronous messaging)은 메일, 알림, 로깅, 보관(archiving) 등의 작업을 처리할 때 시스템이 대기하지 않도록 하는 논블로킹(non blocking) 통신 방식이다 [1]. 동기식 프로토콜인 http가 고트래픽 시스템에서 병목 지점이 될 수 있는 한계를 극복하기 위해 사용되며, 자동 백프레셔(back pressure) 기능을 갖춘 비동기 통신을 도입하는 것이 권장된다 [1]. 현대 소프트웨어 프레임워크에서는 내장된 전송 계층이나 외부 메시지 큐를 활용해 이러한 비동기 패턴을 실전에 적용하고 있다 [2, 3]. 비동기 메시징의 역할 및 도입 시기: 개발자 규모가 작은 조직에서 모놀리식(monolith) 아키텍처로 프로젝트를 시작하더라도, 메일 전송, 알림, 로깅, 데이터 보관과 같은 작업을 처리하기 위해 가능한 한 빨리 비동기 메시징을 시스템에 내장하는 것이 좋다 [1]. http 통신의 동기적 제약을 우려하여 대안적인 논블로킹 통신 패턴으로 활용된다 [1]. 프레임워크별 실전 패턴 및 지원: nestjs: 마이크로서비스 아키텍처를 위한 전송 계층을 내장하고 있으며, redis, nats, kafka, rabbitmq", + "is_stub": false, + "is_huge": false, + "is_redirect": false, + "is_operational": false + }, + { + "path": "10_Wiki/Topics/Backend/Async_Messaging.md", + "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Backend\\Async_Messaging.md", + "folder": "Backend", + "filename": "Async_Messaging", + "norm_name": "asyncmessaging", + "title": "Async Messaging", + "norm_title": "asyncmessaging", + "fm_id": null, + "fm_aliases": [], + "fm_tags": [ + "auto-wikified", + "technical-documentation", + "computer_science_and_theory" + ], + "fm_status": null, + "fm_trust": null, + "fm_last_reinforced": null, + "fm_redirect_to": null, + "fm_canonical_id": null, + "body_chars": 2041, + "body_first_para_hash": "a42cf67756b7", + "body_fingerprint": "비동기 메시징(async messaging)은 동기식 통신(예: http)이 트래픽이 많은 시스템에서 병목 현상을 일으키는 것을 방지하기 위해 도입하는 자동 백프레셔(back pressure) 기반의 논블로킹 통신 방식이다 [1]. 애플리케이션에서 이메일 발송, 알림, 로깅, 아카이빙 등의 백그라운드 작업 처리를 수행할 때 주로 사용된다 [1]. 마이크로서비스 시스템뿐만 아니라 규모가 작은 모놀리식 아키텍처로 시작할 때에도 확장성 및 처리 효율성을 위해 가능한 한 빨리 내장(build in)하는 것이 권장된다 [1]. 도입 목적 및 활용 분야 : 동기식 프로토콜인 http는 다량의 트래픽을 처리하는 시스템에서 한계 요소가 될 수 있으므로, 이를 극복하기 위해 비동기 메시징과 논블로킹(non blocking) 통신 방식이 사용된다 [1]. 메일 전송, 알림, 시스템 로깅, 데이터 아카이빙 등 즉각적인 응답이 필요 없는 비동기 작업을 처리하는 데 매우 효과적이다 [1]. 초기 아키텍처 단계에서의 적용 : 개발자 수가 20명 미만인 팀의 경우 복잡성을 최소화하기 위해 모놀리식 아키텍처로 시작하는 것이 좋으나, 이때에도 비동기 메시징 기능만큼은 가능한 한 빨리 아키", + "is_stub": false, + "is_huge": false, + "is_redirect": false, + "is_operational": false + }, { "path": "10_Wiki/Topics/Backend/Bourgeoisie.md", "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Backend\\Bourgeoisie.md", @@ -50660,6 +51248,34 @@ "is_redirect": true, "is_operational": false }, + { + "path": "10_Wiki/Topics/Backend/Django_Signals.md", + "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Backend\\Django_Signals.md", + "folder": "Backend", + "filename": "Django_Signals", + "norm_name": "djangosignals", + "title": "Django Signals", + "norm_title": "djangosignals", + "fm_id": null, + "fm_aliases": [], + "fm_tags": [ + "auto-wikified", + "technical-documentation", + "backend" + ], + "fm_status": null, + "fm_trust": null, + "fm_last_reinforced": null, + "fm_redirect_to": null, + "fm_canonical_id": null, + "body_chars": 1571, + "body_first_para_hash": "bec6ec59773f", + "body_fingerprint": "django 시그널(signals)은 모델 저장과 같은 특정 이벤트가 발생할 때 암시적으로 지정된 동작을 실행하게 해주는 기능이다 [1]. 데이터베이스 모델 매핑 외의 부가적인 로직이나 기술적 관심사를 처리하기 위해 사용되기도 하지만, 많은 실무 개발자들에게 기피해야 할 요소로 간주된다 [2 4]. 특히 대규모 시스템에서는 코드의 실행 흐름을 파악하기 어렵게 만들기 때문에 실무에서 가장 경계해야 할 안티 패턴(anti pattern) 중 하나로 평가받는다 [1, 3]. 로직의 분리와 이동 수단: django 프레임워크에서 데이터베이스 스키마 매핑 이상의 로직을 모델에 전부 집중시키는 것(active record 패턴)을 피하기 위해, 비즈니스 로직이나 부가 작업을 매니저(managers)나 시그널 핸들러로 이동시키는 방식이 활용되기도 한다 [2, 3]. 제한적인 기술적 관심사 처리: 데이터 통합이나 인덱스 재구성(reindexation)을 트리거하는 등의 특정한 기술적 관심사를 처리하는 데에는 시그널이 유용한 접근법이 될 수 있다 [3]. 주의를 기울여 제한적으로 사용한다면 개발에 도움이 될 수 있다는 일부 의견도 존재한다 [5]. 명시적 서비스 패턴으로의 ", + "is_stub": false, + "is_huge": false, + "is_redirect": false, + "is_operational": false + }, { "path": "10_Wiki/Topics/Backend/E-component (Execution Loop).md", "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Backend\\E-component (Execution Loop).md", @@ -50714,6 +51330,34 @@ "is_redirect": false, "is_operational": false }, + { + "path": "10_Wiki/Topics/Backend/Fastify.md", + "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Backend\\Fastify.md", + "folder": "Backend", + "filename": "Fastify", + "norm_name": "fastify", + "title": "Fastify", + "norm_title": "fastify", + "fm_id": null, + "fm_aliases": [], + "fm_tags": [ + "auto-wikified", + "technical-documentation", + "backend" + ], + "fm_status": null, + "fm_trust": null, + "fm_last_reinforced": null, + "fm_redirect_to": null, + "fm_canonical_id": null, + "body_chars": 1541, + "body_first_para_hash": "b6f75154fcf4", + "body_fingerprint": "fastify는 node.js 환경에서 더 나은 성능과 확장성을 제공하기 위해 사용되는 고성능 http 서버 프레임워크입니다 [1, 2]. 제공된 소스에서는 주로 nestjs 아키텍처 내에서 기본 프레임워크인 express를 대체할 수 있는 선택적 http 어댑터로 언급되며, 애플리케이션의 원시 처리량(throughput)을 크게 향상시키는 역할을 합니다 [3, 4]. nestjs의 고성능 http 어댑터 지원 : nestjs는 기본적으로 express를 http 계층으로 사용하지만, 아키텍처의 이점(의존성 주입, 모듈 시스템 등)을 유지하면서도 성능을 높이기 위해 기본 계층을 fastify로 전환할 수 있도록 지원합니다 [1, 3, 4]. 압도적인 요청 처리량(throughput) : 단순 json 응답을 기준으로 express 기반의 nestjs가 초당 약 12,000~17,000개의 요청(req/s)을 처리하는 반면, fastify를 기반으로 구동되는 nestjs는 초당 약 25,000~30,000개의 요청을 처리할 수 있어 원시 처리량 벤치마크에서 express를 크게 능가합니다 [3, 4]. 최소한의 전환 비용 : nestjs 생태계 내에서 기반 프", + "is_stub": false, + "is_huge": false, + "is_redirect": false, + "is_operational": false + }, { "path": "10_Wiki/Topics/Backend/goal.md", "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Backend\\goal.md", @@ -50828,6 +51472,34 @@ "is_redirect": false, "is_operational": false }, + { + "path": "10_Wiki/Topics/Backend/Kafka_&_RabbitMQ.md", + "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Backend\\Kafka_&_RabbitMQ.md", + "folder": "Backend", + "filename": "Kafka_&_RabbitMQ", + "norm_name": "kafkarabbitmq", + "title": "Kafka & RabbitMQ", + "norm_title": "kafkarabbitmq", + "fm_id": null, + "fm_aliases": [], + "fm_tags": [ + "auto-wikified", + "technical-documentation", + "backend" + ], + "fm_status": null, + "fm_trust": null, + "fm_last_reinforced": null, + "fm_redirect_to": null, + "fm_canonical_id": null, + "body_chars": 1151, + "body_first_para_hash": "3094f3334858", + "body_fingerprint": "kafka와 rabbitmq는 마이크로서비스 아키텍처에서 서비스 간 통신 및 이벤트 기반 처리를 위해 사용되는 대표적인 메시지 브로커(message broker) 기술이다 [1, 2]. 주로 spring boot와 nestjs와 같은 현대적인 백엔드 프레임워크에서 비동기 메시징 큐(message queue)를 구현하기 위한 핵심 인프라로 활용된다 [1, 3]. 제공된 소스에서는 두 기술에 대한 깊이 있는 아키텍처 원리보다는 프레임워크와의 통합 지원 여부를 중심으로 간단히 언급되고 있다 [1, 3]. nestjs에서의 통합 지원: nestjs는 마이크로서비스 간 통신을 위해 내장된 전송 계층(transport layer)을 제공하며, 이를 통해 kafka와 rabbitmq를 기본적으로 지원한다 [1]. @nestjs/microservices 전송기(transporters)를 활용하여 프로덕션 수준의 마이크로서비스를 구축할 수 있도록 문서화되어 있다 [2, 3]. 전송 계층의 api가 일관되게 제공되므로, 메시지 브로커 간(예: rabbitmq에서 kafka로)의 전환이 비교적 직관적이고 용이하다는 특징이 있다 [1]. spring boot에서의 통합 지원: 엔", + "is_stub": false, + "is_huge": false, + "is_redirect": false, + "is_operational": false + }, { "path": "10_Wiki/Topics/Backend/KISS (Keep It Simple, Stupid).md", "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Backend\\KISS (Keep It Simple, Stupid).md", @@ -50982,6 +51654,88 @@ "is_redirect": false, "is_operational": false }, + { + "path": "10_Wiki/Topics/Backend/NestJS.md", + "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Backend\\NestJS.md", + "folder": "Backend", + "filename": "NestJS", + "norm_name": "nestjs", + "title": "NestJS", + "norm_title": "nestjs", + "fm_id": null, + "fm_aliases": [], + "fm_tags": [ + "auto-wikified" + ], + "fm_status": null, + "fm_trust": null, + "fm_last_reinforced": null, + "fm_redirect_to": null, + "fm_canonical_id": null, + "body_chars": 2767, + "body_first_para_hash": "f1ed94a5aafb", + "body_fingerprint": "nestjs는 angular의 아키텍처에서 영감을 받아 typescript로 구축된 효율적이고 확장 가능한 서버 사이드 node.js 프레임워크입니다 [1]. 기본적으로 express를 사용하며(fastify로 변경 가능) 의존성 주입(di), 데코레이터, 모듈 시스템과 같은 엔터프라이즈 패턴을 도입하여 node.js 프로젝트에 체계적인 구조를 제공합니다 [2 4]. 대규모 팀, 복잡한 비즈니스 로직, 마이크로서비스 아키텍처를 요구하는 엔터프라이즈급 애플리케이션 구축에 주로 활용됩니다 [5, 6]. 오피니언 기반의 모듈식 아키텍처 (opinionated modular architecture) nestjs의 모든 것은 컨트롤러(controller), 모듈(module), 프로바이더(provider)를 중심으로 구성됩니다 [2, 7]. 대규모 코드베이스 확장을 위해 기술적 계층(layer) 기준이 아닌 기능(feature) 기반으로 폴더와 모듈을 구성하는 것이 권장되며, 각 기능 모듈은 컨트롤러, 서비스, dto, 엔티티, 테스트를 한 폴더에 응집하여 관리합니다 [8, 9]. 강력한 의존성 주입(di) 시스템 생성자를 통해 필요한 의존성을 선언하면 프레임워크의 ", + "is_stub": false, + "is_huge": false, + "is_redirect": false, + "is_operational": false + }, + { + "path": "10_Wiki/Topics/Backend/NestJS_Microservices_Module.md", + "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Backend\\NestJS_Microservices_Module.md", + "folder": "Backend", + "filename": "NestJS_Microservices_Module", + "norm_name": "nestjsmicroservicesmodule", + "title": "NestJS Microservices Module", + "norm_title": "nestjsmicroservicesmodule", + "fm_id": null, + "fm_aliases": [], + "fm_tags": [ + "auto-wikified", + "technical-documentation", + "backend" + ], + "fm_status": null, + "fm_trust": null, + "fm_last_reinforced": null, + "fm_redirect_to": null, + "fm_canonical_id": null, + "body_chars": 1786, + "body_first_para_hash": "f2401b2c0c0a", + "body_fingerprint": "nestjs는 마이크로서비스 구축을 위한 내장 지원(built in support) 기능을 제공하며, tcp, redis, nats, rabbitmq, kafka, grpc 등 다양한 전송 계층(transport layer)을 지원하는 프레임워크입니다 [1, 2]. 이 모듈은 요청 응답(request response) 및 이벤트 기반(event based) 메시지 패턴을 제공하고, 단일 앱에서 http와 마이크로서비스 통신을 동시에 처리하는 하이브리드 애플리케이션 작성을 가능하게 합니다 [2]. 일관된 api를 통해 메시지 브로커를 손쉽게 전환할 수 있어 자바스크립트/타입스크립트 스택 기반의 마이크로서비스 아키텍처 구현에 매우 적합합니다 [3, 4]. 다양한 전송 계층(transport layer) 지원 : nestjs의 마이크로서비스 모듈은 redis, nats, kafka, rabbitmq, grpc, tcp 등을 기본적으로 지원합니다 [1 3]. 이들은 전송 메커니즘 전반에 걸쳐 일관된 api를 제공하므로, 필요에 따라 메시지 브로커를 전환하는 작업을 매우 직관적으로 만들어 줍니다 [3]. 통신 패턴 및 하이브리드 애플리케이션 : 이 프레임워크는 마이크", + "is_stub": false, + "is_huge": false, + "is_redirect": false, + "is_operational": false + }, + { + "path": "10_Wiki/Topics/Backend/Netflix_OSS.md", + "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Backend\\Netflix_OSS.md", + "folder": "Backend", + "filename": "Netflix_OSS", + "norm_name": "netflixoss", + "title": "Netflix OSS", + "norm_title": "netflixoss", + "fm_id": null, + "fm_aliases": [], + "fm_tags": [ + "auto-wikified", + "technical-documentation", + "backend" + ], + "fm_status": null, + "fm_trust": null, + "fm_last_reinforced": null, + "fm_redirect_to": null, + "fm_canonical_id": null, + "body_chars": 1956, + "body_first_para_hash": "173250e059c8", + "body_fingerprint": "netflix oss(open source software) 는 넷플릭스(netflix)가 클라우드 환경으로 아키텍처를 전환하며 자체적으로 구축하고 오픈소스로 공개한 java 기반의 클라우드 인프라 라이브러리 및 시스템이다 [1]. 주요 컴포넌트로는 서비스 디스커버리를 위한 eureka, 로드 밸런싱을 위한 ribbon, 내결함성을 제공하는 hystrix 등이 있다 [1, 2]. 최근에는 대규모 자체 인프라 유지에 따른 기술 부채를 줄이기 위해, 커뮤니티 표준인 spring boot 및 spring cloud 생태계로 핵심 기능들을 이관 및 통합하는 방향으로 진화하고 있다 [3, 4]. netflix oss의 탄생과 주요 컴포넌트 2007년 넷플릭스는 대규모 클라우드 아키텍처로의 전환을 시작하며, 당시 요구사항을 충족하는 외부 솔루션이 부족하여 자체적인 클라우드 인프라 라이브러리를 개발했다 [1, 5]. 대표적으로 로드 밸런서인 ribbon , 서비스 디스커버리 시스템인 eureka , 장애 허용성 및 서킷 브레이커 역할을 하는 hystrix , 종속성 주입 및 수명 주기 관리를 위한 governator, 환경 설정을 담당하는 archaius 등이 구성 요소", + "is_stub": false, + "is_huge": false, + "is_redirect": false, + "is_operational": false + }, { "path": "10_Wiki/Topics/Backend/Nodejs Memory Tuning.md", "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Backend\\Nodejs Memory Tuning.md", @@ -51010,6 +51764,34 @@ "is_redirect": false, "is_operational": false }, + { + "path": "10_Wiki/Topics/Backend/OpenAPI_-_Swagger.md", + "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Backend\\OpenAPI_-_Swagger.md", + "folder": "Backend", + "filename": "OpenAPI_-_Swagger", + "norm_name": "openapiswagger", + "title": "OpenAPI / Swagger", + "norm_title": "openapiswagger", + "fm_id": null, + "fm_aliases": [], + "fm_tags": [ + "auto-wikified", + "technical-documentation", + "backend" + ], + "fm_status": null, + "fm_trust": null, + "fm_last_reinforced": null, + "fm_redirect_to": null, + "fm_canonical_id": null, + "body_chars": 1648, + "body_first_para_hash": "c49a1465ad07", + "body_fingerprint": "openapi와 swagger는 restful api를 설계, 테스트 및 문서화하기 위한 표준 사양과 대화형 도구 모음입니다 [1, 2]. 개발자가 추가 도구 없이도 api 엔드포인트를 수동으로 탐색하고 상호작용할 수 있도록 지원하며, 클라이언트 코드 생성 프로세스를 간소화합니다 [1, 2]. 현대적인 백엔드 프레임워크들은 코드를 기반으로 이러한 api 문서를 자동 생성하고 동기화할 수 있는 강력한 통합 기능을 제공하고 있습니다 [3, 4]. 인터랙티브 api 테스트 및 탐색 : swagger는 api 엔드포인트를 쉽게 테스트하고 탐색할 수 있는 대화형 인터페이스(swagger ui)를 제공합니다 [2]. 이를 통해 개발자는 별도의 외부 도구나 클라이언트 앱을 구축할 필요 없이 수동으로 애플리케이션과 상호작용하며 기능을 검증할 수 있습니다 [2]. 문서 자동화와 코드 동기화 : api 문서화 방식은 채택한 프레임워크에 따라 크게 달라집니다. nestjs : 데코레이터와 dto를 활용하여 swagger/openapi 문서를 자동으로 생성하며, api 문서가 실제 코드와 항상 동기화된 상태를 유지하도록 돕습니다 [3, 4]. express : 자동화 지원이 부족", + "is_stub": false, + "is_huge": false, + "is_redirect": false, + "is_operational": false + }, { "path": "10_Wiki/Topics/Backend/Preserving-State-in-Procedural-Worlds.md", "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Backend\\Preserving-State-in-Procedural-Worlds.md", @@ -51454,6 +52236,90 @@ "is_redirect": false, "is_operational": false }, + { + "path": "10_Wiki/Topics/Backend/Spring_Boot_Actuator.md", + "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Backend\\Spring_Boot_Actuator.md", + "folder": "Backend", + "filename": "Spring_Boot_Actuator", + "norm_name": "springbootactuator", + "title": "Spring Boot Actuator", + "norm_title": "springbootactuator", + "fm_id": null, + "fm_aliases": [], + "fm_tags": [ + "auto-wikified", + "technical-documentation", + "backend" + ], + "fm_status": null, + "fm_trust": null, + "fm_last_reinforced": null, + "fm_redirect_to": null, + "fm_canonical_id": null, + "body_chars": 1241, + "body_first_para_hash": "b547383bd474", + "body_fingerprint": "spring boot actuator는 애플리케이션의 모니터링과 관리를 돕기 위해 즉시 사용 가능한 프로덕션 레벨의 기능들을 제공하는 도구입니다 [1, 2]. /actuator 및 /actuator/health 와 같은 http 엔드포인트를 노출하여 실행 중인 애플리케이션의 상태와 세부 정보를 파악할 수 있게 해줍니다 [3, 4]. 이를 통해 개발자는 복잡한 시스템 내에서 애플리케이션의 건전성을 쉽게 추적하고 관리할 수 있습니다 [1, 4]. 모니터링 및 관리 엔드포인트 제공: actuator는 애플리케이션 상태를 확인할 수 있는 다양한 엔드포인트를 제공합니다. 기본 /actuator 엔드포인트를 통해 사용 가능한 전체 actuator 관련 엔드포인트 목록을 조회할 수 있습니다 [3, 4]. 애플리케이션 상태(health) 확인: /actuator/health 엔드포인트를 호출하면 현재 실행 중인 애플리케이션의 기본적인 상태(status) 정보를 반환받을 수 있습니다 [3, 4]. 유연한 노출 설정: 노출할 엔드포인트의 목록은 application.yaml 파일의 management.endpoints.web.exposure.include 속성을 수정하여 커스", + "is_stub": false, + "is_huge": false, + "is_redirect": false, + "is_operational": false + }, + { + "path": "10_Wiki/Topics/Backend/Spring_Boot_Microservices.md", + "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Backend\\Spring_Boot_Microservices.md", + "folder": "Backend", + "filename": "Spring_Boot_Microservices", + "norm_name": "springbootmicroservices", + "title": "Spring Boot Microservices", + "norm_title": "springbootmicroservices", + "fm_id": null, + "fm_aliases": [], + "fm_tags": [ + "auto-wikified", + "technical-documentation", + "backend" + ], + "fm_status": null, + "fm_trust": null, + "fm_last_reinforced": null, + "fm_redirect_to": null, + "fm_canonical_id": null, + "body_chars": 2364, + "body_first_para_hash": "e0cc04c8da46", + "body_fingerprint": "spring boot는 엔터프라이즈급 백엔드 애플리케이션 및 마이크로서비스 구축을 위해 널리 사용되는 자바 기반 프레임워크이다 [1, 2]. 자동 구성(auto configuration), 내장 서버, 스타터 종속성 등을 통해 개발 복잡성을 줄이고 분산 시스템을 빠르게 구축할 수 있도록 돕는다 [3]. 특히 spring cloud 및 netflix oss와 결합하여 서비스 디스커버리, 지능형 라우팅, 서킷 브레이커 등의 분산 아키텍처 패턴을 효과적으로 구현할 수 있는 강력한 생태계를 제공한다 [4, 5]. 마이크로서비스 및 분산 시스템 오케스트레이션 : spring boot는 spring cloud와 결합하여 복잡한 분산 시스템 패턴을 신속하게 구축할 수 있도록 지원한다 [4]. 애플리케이션은 서비스 디스커버리를 위한 eureka, 지능형 라우팅을 위한 zuul, 클라이언트 사이드 로드 밸런싱을 위한 ribbon, 그리고 연쇄 장애 방지를 위한 hystrix 등의 netflix oss 컴포넌트를 통합하여 강력한 장애 허용(failover) 및 복원력을 확보할 수 있다 [5 7]. 넷플릭스 또한 내부 인프라 솔루션 대신 spring boot를 핵심 자바 프레임", + "is_stub": false, + "is_huge": false, + "is_redirect": false, + "is_operational": false + }, + { + "path": "10_Wiki/Topics/Backend/Spring_Cloud_Netflix.md", + "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Backend\\Spring_Cloud_Netflix.md", + "folder": "Backend", + "filename": "Spring_Cloud_Netflix", + "norm_name": "springcloudnetflix", + "title": "Spring Cloud Netflix", + "norm_title": "springcloudnetflix", + "fm_id": null, + "fm_aliases": [], + "fm_tags": [ + "auto-wikified", + "technical-documentation", + "backend" + ], + "fm_status": null, + "fm_trust": null, + "fm_last_reinforced": null, + "fm_redirect_to": null, + "fm_canonical_id": null, + "body_chars": 2277, + "body_first_para_hash": "e46f2be80ca1", + "body_fingerprint": "spring cloud netflix는 netflix가 분산 시스템을 위해 자체 개발한 클라우드 인프라 라이브러리(netflix oss)를 spring boot 애플리케이션 환경에 통합하여 제공하는 프레임워크 프로젝트이다. [1, 2] 이 프레임워크를 통해 개발자는 서비스 디스커버리, 서킷 브레이커, 지능형 라우팅, 클라이언트 사이드 로드 밸런싱과 같은 분산 시스템의 공통 패턴을 신속하고 쉽게 구축할 수 있다. [1, 3] 초기에는 커뮤니티 주도로 netflix oss와 spring boot를 엮어 만들어졌으나, 기술이 성숙함에 따라 netflix 내부에서도 이를 자사의 핵심 자바 프레임워크로 공식 채택하게 되었다. [2, 4] 핵심 구성 요소 및 지원 패턴 spring cloud netflix는 마이크로서비스 아키텍처에 필수적인 다양한 패턴과 netflix oss 구성 요소들을 제공한다. 주요 기능으로는 서비스 디스커버리를 위한 eureka , 내결함성(fault tolerance) 및 서킷 브레이커 패턴을 제공하는 hystrix , 지능형 라우팅을 담당하는 zuul , 그리고 클라이언트 사이드 로드 밸런싱을 위한 ribbon 등이 포함되어 있다. [1, ", + "is_stub": false, + "is_huge": false, + "is_redirect": false, + "is_operational": false + }, { "path": "10_Wiki/Topics/Backend/Static Analysis & Linting (정적 분석 및 린팅).md", "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Backend\\Static Analysis & Linting (정적 분석 및 린팅).md", @@ -64981,6 +65847,34 @@ "is_redirect": false, "is_operational": false }, + { + "path": "10_Wiki/Topics/Frontend/Bridgeless_New_Architecture.md", + "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Frontend\\Bridgeless_New_Architecture.md", + "folder": "Frontend", + "filename": "Bridgeless_New_Architecture", + "norm_name": "bridgelessnewarchitecture", + "title": "Bridgeless New Architecture", + "norm_title": "bridgelessnewarchitecture", + "fm_id": null, + "fm_aliases": [], + "fm_tags": [ + "auto-wikified", + "technical-documentation", + "architecture" + ], + "fm_status": null, + "fm_trust": null, + "fm_last_reinforced": null, + "fm_redirect_to": null, + "fm_canonical_id": null, + "body_chars": 1957, + "body_first_para_hash": "0f835b7c81f5", + "body_fingerprint": "bridgeless new architecture(브릿지리스 신규 아키텍처)는 react native의 역사상 가장 중요한 변화로, 기존의 비동기 자바스크립트 브릿지에서 발생하던 성능 병목 현상을 해결하기 위해 도입된 혁신적인 구조이다 [1, 2]. 이 아키텍처는 jsi(javascript interface)를 통해 자바스크립트와 네이티브 계층 간의 직접적이고 동기적인 통신을 지원한다 [3, 4]. 결과적으로 데이터 직렬화 오버헤드와 지연 시간(latency)을 줄이고 ui 반응성을 극대화하여, react native 앱의 성능을 순수 네이티브 수준에 가깝게 끌어올리는 핵심 역할을 한다 [3 5]. 비동기 브릿지의 제거 (elimination of the bridge): 과거 react native의 가장 큰 성능 한계는 자바스크립트의 호출을 네이티브 명령으로 변환할 때 json 문자열로 직렬화(serialization)하여 통신하는 비동기 브릿지였다 [1, 6]. 신규 아키텍처(react native 0.74부터 기본 활성화)는 이 브릿지를 완전히 제거하고, 오버헤드가 없는 보다 직접적이고 효율적인 통신 시스템으로 대체하였다 [1, 4, 6]. jsi (j", + "is_stub": false, + "is_huge": false, + "is_redirect": false, + "is_operational": false + }, { "path": "10_Wiki/Topics/Frontend/Buffer Allocation.md", "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Frontend\\Buffer Allocation.md", @@ -65443,6 +66337,34 @@ "is_redirect": false, "is_operational": false }, + { + "path": "10_Wiki/Topics/Frontend/Computed_Properties_&_Watchers.md", + "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Frontend\\Computed_Properties_&_Watchers.md", + "folder": "Frontend", + "filename": "Computed_Properties_&_Watchers", + "norm_name": "computedpropertieswatchers", + "title": "Computed Properties & Watchers", + "norm_title": "computedpropertieswatchers", + "fm_id": null, + "fm_aliases": [], + "fm_tags": [ + "auto-wikified", + "technical-documentation", + "frontend" + ], + "fm_status": null, + "fm_trust": null, + "fm_last_reinforced": null, + "fm_redirect_to": null, + "fm_canonical_id": null, + "body_chars": 795, + "body_first_para_hash": "e72edc5498d2", + "body_fingerprint": "computed properties와 watchers는 vue 3 composition api에서 파생된 상태를 관리하고 데이터 변경에 대응하기 위한 필수적인 도구입니다 [1]. computed properties는 반응형 데이터에 기반해 값을 계산하고 캐시(cache)하는 반면, watchers는 데이터 변경 시 특정 액션이나 비동기 작업 등의 부수 효과(side effects)를 처리하는 데 사용됩니다 [1, 2]. computed properties (계산된 속성) 반응형 데이터(reactive data)로부터 파생된 값을 생성하는 데 최적화되어 있습니다 [1]. 결과값을 자동으로 캐시하며, 의존하고 있는 데이터가 변경될 때만 다시 계산을 수행하므로 데이터 필터링이나 총계 계산과 같은 작업에 이상적입니다 [1]. computed() 를 사용하여 생성된 반응형 상태는 여러 컴포넌트 인스턴스 간에 공유하여 사용할 수도 있습니다 [3]. watchers (감시자) 반응형 데이터의 변경이 발생했을 때 api 호출과 같은 특정 액션을 트리거하기 위해 사용됩니다 [2]. 비동기 작업(asynchronous tasks)이나 부수 효과를 처리하는 목적에 특히 유용하게", + "is_stub": false, + "is_huge": false, + "is_redirect": false, + "is_operational": false + }, { "path": "10_Wiki/Topics/Frontend/Concurrent Features.md", "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Frontend\\Concurrent Features.md", @@ -65627,6 +66549,34 @@ "is_redirect": true, "is_operational": false }, + { + "path": "10_Wiki/Topics/Frontend/Cross-platform_Mobile_Development_Frameworks.md", + "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Frontend\\Cross-platform_Mobile_Development_Frameworks.md", + "folder": "Frontend", + "filename": "Cross-platform_Mobile_Development_Frameworks", + "norm_name": "crossplatformmobiledevelopmentframeworks", + "title": "Cross-platform Mobile Development Frameworks", + "norm_title": "crossplatformmobiledevelopmentframeworks", + "fm_id": null, + "fm_aliases": [], + "fm_tags": [ + "auto-wikified", + "technical-documentation", + "other" + ], + "fm_status": null, + "fm_trust": null, + "fm_last_reinforced": null, + "fm_redirect_to": null, + "fm_canonical_id": null, + "body_chars": 2846, + "body_first_para_hash": "19f00489d77a", + "body_fingerprint": "크로스 플랫폼 모바일 개발 프레임워크는 단일 코드베이스를 사용하여 ios 및 android와 같은 다수의 플랫폼에서 실행되는 애플리케이션을 구축할 수 있게 해주는 도구입니다 [1 3]. 2025년 현재 시장을 주도하는 두 가지 주요 프레임워크는 meta가 지원하는 react native 와 google이 지원하는 flutter 입니다 [4 6]. 이 기술들은 플랫폼별로 따로 코드를 작성하는 기존 네이티브 개발 방식에 비해 개발 시간과 비용을 크게 줄이면서도 네이티브에 준하는 뛰어난 성능과 사용자 경험을 제공합니다 [1, 7, 8]. 1. 렌더링 철학과 아키텍처 flutter (자체 렌더링 엔진): dart 언어를 기반으로 하며, skia 또는 최신 impeller 렌더링 엔진을 통해 화면의 모든 픽셀을 직접 그립니다 [8 11]. 이는 플랫폼의 네이티브 ui 컴포넌트에 의존하지 않으므로, 모든 디바이스와 os에서 \"픽셀 퍼펙트(pixel perfect)\"한 일관된 브랜드 경험을 제공합니다 [9, 10, 12]. react native (네이티브 브릿지 및 jsi): javascript/typescript를 사용하며 코드를 실제 플랫폼의 네이티브 ui 컴포넌트", + "is_stub": false, + "is_huge": false, + "is_redirect": false, + "is_operational": false + }, { "path": "10_Wiki/Topics/Frontend/CSS Grid 및 Flexbox.md", "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Frontend\\CSS Grid 및 Flexbox.md", @@ -65843,6 +66793,90 @@ "is_redirect": false, "is_operational": false }, + { + "path": "10_Wiki/Topics/Frontend/Custom_Hooks.md", + "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Frontend\\Custom_Hooks.md", + "folder": "Frontend", + "filename": "Custom_Hooks", + "norm_name": "customhooks", + "title": "Custom Hooks", + "norm_title": "customhooks", + "fm_id": null, + "fm_aliases": [], + "fm_tags": [ + "auto-wikified", + "technical-documentation", + "frontend" + ], + "fm_status": null, + "fm_trust": null, + "fm_last_reinforced": null, + "fm_redirect_to": null, + "fm_canonical_id": null, + "body_chars": 2053, + "body_first_para_hash": "1a18fd232344", + "body_fingerprint": "커스텀 훅(custom hooks)은 react 애플리케이션에서 상태 기반 로직을 추출하여 컴포넌트 간에 쉽게 공유할 수 있도록 고안된 함수형 디자인 패턴입니다 [1, 2]. use 로 시작하는 명명 규칙을 따르며, 내부에 다른 react 훅들을 호출하여 새로운 맞춤형 기능을 조립할 수 있습니다 [1, 3]. 기존의 고차 컴포넌트(hoc)나 렌더 프로프(render props)가 유발하던 불필요한 컴포넌트 중첩(wrapper hell)을 제거하고, 함수 합성을 통해 깔끔하게 로직을 재사용할 수 있게 해줍니다 [1, 4]. 상태 기반 로직의 캡슐화 및 재사용 : 커스텀 훅은 api 데이터 페칭, 폼 상태 관리, 반응형 디자인 등 ui 렌더링과 직접적인 관련이 없는 순수 비즈니스 및 상태 로직을 캡슐화하는 데 사용됩니다 [2, 5]. 이를 통해 여러 컴포넌트 사이에서 코드를 dry(don't repeat yourself)하게 유지하고 깔끔한 코드베이스를 작성할 수 있습니다 [5]. 함수 합성(function composition)을 통한 확장 : 복잡한 행위들을 단순한 형태의 훅으로 쪼개고 이를 다시 합성하여 강력한 기능을 구현할 수 있습니다 [1, 6]. 예를", + "is_stub": false, + "is_huge": false, + "is_redirect": false, + "is_operational": false + }, + { + "path": "10_Wiki/Topics/Frontend/Dart.md", + "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Frontend\\Dart.md", + "folder": "Frontend", + "filename": "Dart", + "norm_name": "dart", + "title": "Dart", + "norm_title": "dart", + "fm_id": null, + "fm_aliases": [], + "fm_tags": [ + "auto-wikified", + "technical-documentation", + "frontend" + ], + "fm_status": null, + "fm_trust": null, + "fm_last_reinforced": null, + "fm_redirect_to": null, + "fm_canonical_id": null, + "body_chars": 1605, + "body_first_para_hash": "5e2f1f3803e1", + "body_fingerprint": "dart는 구글이 개발한 정적 타입 기반의 객체 지향 프로그래밍 언어로, 주로 크로스 플랫폼 프레임워크인 flutter의 기반 언어로 사용됩니다 [1, 2]. 클라이언트 환경에 최적화되어 있으며 기계어(arm 코드)로 직접 컴파일되어 빠른 앱 실행과 높은 성능을 제공하는 것이 특징입니다 [2 4]. java, c 등 기존 객체 지향 언어와 유사한 문법을 가져 해당 언어 경험이 있는 개발자들에게는 학습이 비교적 수월한 편입니다 [5]. 언어 아키텍처 및 성능 최적화: dart는 가비지 컬렉션(garbage collection)과 강력한 비동기(async) 처리를 지원하며, aot(ahead of time)와 jit(just in time) 컴파일 방식을 모두 제공합니다 [6, 7]. 특히 모바일 환경에서는 aot 컴파일을 통해 네이티브 arm 코드로 변환되므로 애플리케이션의 콜드 스타트(cold start) 속도가 매우 빠릅니다 [4, 8]. 정적 타입 시스템과 최신 문법: dart는 정적 타입(static type) 시스템을 사용하여 개발 단계 및 컴파일 타임에 오류를 사전에 포착함으로써 애플리케이션을 더 안정적이고 예측 가능하게 만듭니다 [9]. dart ", + "is_stub": false, + "is_huge": false, + "is_redirect": false, + "is_operational": false + }, + { + "path": "10_Wiki/Topics/Frontend/Dart_FFI_Foreign_Function_Interface.md", + "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Frontend\\Dart_FFI_Foreign_Function_Interface.md", + "folder": "Frontend", + "filename": "Dart_FFI_Foreign_Function_Interface", + "norm_name": "dartffiforeignfunctioninterface", + "title": "Dart FFI (Foreign Function Interface)", + "norm_title": "dartffiforeignfunctioninterface", + "fm_id": null, + "fm_aliases": [], + "fm_tags": [ + "auto-wikified", + "technical-documentation", + "frontend" + ], + "fm_status": null, + "fm_trust": null, + "fm_last_reinforced": null, + "fm_redirect_to": null, + "fm_canonical_id": null, + "body_chars": 848, + "body_first_para_hash": "6e4d95a38ac0", + "body_fingerprint": "dart ffi(foreign function interface)는 flutter 개발 환경에서 c 라이브러리를 직접 호출할 수 있도록 지원하는 외부 함수 인터페이스입니다 [1]. 주로 네이티브 api에 접근하거나 성능이 결정적인 역할을 하는 작업을 처리할 때 사용됩니다 [1, 2]. 기존의 비동기 메시지 패싱 방식인 플랫폼 채널(platform channels)과 더불어 모바일 앱의 커스텀 네이티브 기능을 구현하는 데 핵심적인 역할을 합니다 [1]. 직접적인 c 언어 상호 운용성(c interop) : 애플리케이션 개발 중 커스텀 네이티브 코드가 필요한 경우, dart ffi를 통해 c 라이브러리를 직접 호출하여 네이티브 api에 접근할 수 있습니다 [1, 2]. 고성능 작업(performance critical operations) 처리 : dart ffi는 높은 성능을 요구하는 연산에서 c 코드와의 직접적인 통합을 가능하게 하여, 성능이 중요한 작업을 효과적이고 안정적으로 처리할 수 있도록 보장합니다 [2]. 소스에 관련 정보가 부족하여 세부적인 내부 작동 방식이나 아키텍처 구현 패턴에 대한 추가적인 설명은 제한됩니다. 소스에 관련 정보가 부족합니다. ", + "is_stub": false, + "is_huge": false, + "is_redirect": false, + "is_operational": false + }, { "path": "10_Wiki/Topics/Frontend/Datacollector-Knowledge-Hub.md", "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Frontend\\Datacollector-Knowledge-Hub.md", @@ -65926,6 +66960,34 @@ "is_redirect": false, "is_operational": false }, + { + "path": "10_Wiki/Topics/Frontend/Decorators.md", + "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Frontend\\Decorators.md", + "folder": "Frontend", + "filename": "Decorators", + "norm_name": "decorators", + "title": "Decorators", + "norm_title": "decorators", + "fm_id": null, + "fm_aliases": [], + "fm_tags": [ + "auto-wikified", + "technical-documentation", + "other" + ], + "fm_status": null, + "fm_trust": null, + "fm_last_reinforced": null, + "fm_redirect_to": null, + "fm_canonical_id": null, + "body_chars": 1830, + "body_first_para_hash": "d61f0bcbc09d", + "body_fingerprint": "데코레이터(decorators)는 클래스, 메서드, 프로퍼티 등에 메타데이터를 추가하여 동작을 정의하거나 의존성을 주입하는 설계 패턴 및 문법적 기능입니다 [1 3]. 특히 nestjs와 같은 프레임워크에서 모듈, 컨트롤러, 서비스를 구성하는 핵심 아키텍처 요소로 활용되며 [3], 애플리케이션의 횡단 관심사(cross cutting concerns)를 비즈니스 로직과 분리하여 제어하는 데 유용하게 쓰입니다 [4, 5]. nestjs의 핵심 아키텍처 요소 : nestjs는 타입스크립트 데코레이터( @module() , @controller , @get , @injectable 등)를 적극적으로 사용하여 애플리케이션의 의존성 주입(di) 컨테이너를 구성합니다 [2, 3, 6, 7]. 모듈은 @module() 로 주석이 달린 클래스이며, 프레임워크는 이를 통해 애플리케이션의 구조와 관계를 파악합니다 [2]. 데이터 모델링 및 문서 자동화 : dto(data transfer object)나 엔티티(entity) 클래스에 데코레이터를 적용하여 typeorm, prisma, drizzle 등의 orm과 연동할 수 있습니다 [1]. 또한, 데코레이터와 dto를 기반으로 ", + "is_stub": false, + "is_huge": false, + "is_redirect": false, + "is_operational": false + }, { "path": "10_Wiki/Topics/Frontend/DefinitelyTyped.md", "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Frontend\\DefinitelyTyped.md", @@ -66432,6 +67494,34 @@ "is_redirect": false, "is_operational": false }, + { + "path": "10_Wiki/Topics/Frontend/Expo_Router.md", + "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Frontend\\Expo_Router.md", + "folder": "Frontend", + "filename": "Expo_Router", + "norm_name": "exporouter", + "title": "Expo Router", + "norm_title": "exporouter", + "fm_id": null, + "fm_aliases": [], + "fm_tags": [ + "auto-wikified", + "technical-documentation", + "frontend" + ], + "fm_status": null, + "fm_trust": null, + "fm_last_reinforced": null, + "fm_redirect_to": null, + "fm_canonical_id": null, + "body_chars": 1077, + "body_first_para_hash": "5f9c445ca451", + "body_fingerprint": "expo router 는 react native 및 웹 애플리케이션을 위한 파일 기반 라우팅 시스템 입니다 [1, 2]. next.js와 같은 웹 프레임워크에서 깊은 영감을 받아 만들어졌으며, 웹과 모바일 개발 사이의 간극을 효과적으로 메워줍니다 [3]. 개발자가 디렉토리에 파일을 생성하는 것만으로 ios, android, 웹을 위한 화면과 내비게이션 스택을 손쉽게 정의할 수 있도록 지원합니다 [3]. 자동화된 파일 기반 라우팅: expo router는 디렉토리 내에 새로운 파일을 생성하면 해당 파일이 앱의 내비게이션 경로(route)로 자동으로 변환 되는 구조를 제공합니다 [1]. 이러한 접근 방식은 애플리케이션의 내비게이션 아키텍처를 크게 단순화하며, 코드의 조직화 및 라우팅 관리를 훨씬 효율적으로 만들어 줍니다 [1, 2]. 진정한 유니버설 앱 패러다임 구축: 이 라우팅 시스템은 android, ios, 웹 등 여러 플랫폼에 걸쳐 동일한 컴포넌트의 사용을 지원 합니다 [1]. 이를 통해 단일 코드베이스로 진정한 의미의 '유니버설 앱 패러다임'을 형성할 수 있으며, 특히 기존 웹 개발자가 모바일 개발로 넘어가는 전환 과정을 매우 매끄럽게 만들어 줍니다 [", + "is_stub": false, + "is_huge": false, + "is_redirect": false, + "is_operational": false + }, { "path": "10_Wiki/Topics/Frontend/Eye-Tracking.md", "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Frontend\\Eye-Tracking.md", @@ -66493,6 +67583,34 @@ "is_redirect": false, "is_operational": false }, + { + "path": "10_Wiki/Topics/Frontend/Fabric_Renderer.md", + "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Frontend\\Fabric_Renderer.md", + "folder": "Frontend", + "filename": "Fabric_Renderer", + "norm_name": "fabricrenderer", + "title": "Fabric Renderer", + "norm_title": "fabricrenderer", + "fm_id": null, + "fm_aliases": [], + "fm_tags": [ + "auto-wikified", + "technical-documentation", + "frontend" + ], + "fm_status": null, + "fm_trust": null, + "fm_last_reinforced": null, + "fm_redirect_to": null, + "fm_canonical_id": null, + "body_chars": 1962, + "body_first_para_hash": "99cea033e5d0", + "body_fingerprint": "fabric renderer는 react native의 새로운 아키텍처(new architecture)에 도입된 혁신적인 ui 렌더링 시스템으로, 기존의 ui 관리 레이어를 밑바닥부터 다시 작성한 결과물입니다 [1]. 과거 자바스크립트 스레드와 네이티브 스레드 간의 비동기적 브릿지(bridge) 통신이 유발하던 성능 병목 현상을 해결하기 위해 설계되었습니다 [2, 3]. 네이티브 ui 레이어에 대한 동기적(synchronous) 접근을 가능하게 하여, react 18의 동시성 렌더링(concurrent rendering)을 지원하고 네이티브에 가까운 부드러운 앱 성능을 제공합니다 [1, 3]. c++ 기반의 섀도우 트리(shadow tree) 생성: 구형 아키텍처에서는 ui가 별도의 네이티브 스레드에서 관리되었으며 자바스크립트 스레드와의 통신이 비동기적으로 이루어졌습니다 [1]. 반면, fabric은 ui의 가상 표현인 '섀도우 트리'를 c++에서 직접 생성하게 함으로써 스레드 간의 직접적이고 효율적인 데이터 공유를 가능하게 합니다 [1]. 동기적 레이아웃(synchronous layout) 연산: fabric 시스템은 비동기 왕복(round trips) 없", + "is_stub": false, + "is_huge": false, + "is_redirect": false, + "is_operational": false + }, { "path": "10_Wiki/Topics/Frontend/Feature-Driven Architecture.md", "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Frontend\\Feature-Driven Architecture.md", @@ -66675,6 +67793,118 @@ "is_redirect": false, "is_operational": false }, + { + "path": "10_Wiki/Topics/Frontend/Flutter.md", + "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Frontend\\Flutter.md", + "folder": "Frontend", + "filename": "Flutter", + "norm_name": "flutter", + "title": "Flutter", + "norm_title": "flutter", + "fm_id": null, + "fm_aliases": [], + "fm_tags": [ + "auto-wikified", + "technical-documentation", + "frontend" + ], + "fm_status": null, + "fm_trust": null, + "fm_last_reinforced": null, + "fm_redirect_to": null, + "fm_canonical_id": null, + "body_chars": 2324, + "body_first_para_hash": "c58d2b4e1f53", + "body_fingerprint": "flutter는 구글이 2017년에 출시한 오픈 소스 ui 소프트웨어 개발 키트로, 단일 코드베이스를 통해 모바일, 웹, 데스크톱 등 다양한 플랫폼의 애플리케이션을 구축할 수 있게 해주는 프레임워크이다 [1, 2]. dart 프로그래밍 언어를 기반으로 하며, 호스트 운영체제의 네이티브 ui 컴포넌트를 호출하는 대신 프레임워크 자체 렌더링 엔진(skia 또는 impeller)을 사용하여 화면의 모든 픽셀을 직접 그리는 방식을 취한다 [3 6]. 이를 통해 개발자는 플랫폼에 구애받지 않고 '픽셀 퍼펙트(pixel perfect)'한 일관된 사용자 인터페이스와 높은 성능을 제공할 수 있다 [4, 7]. 자체 렌더링 엔진과 아키텍처 혁신 : flutter는 모든 ui를 위젯(widget)으로 구성하며, 네이티브 구성 요소를 사용하지 않고 자체 그래픽 엔진을 통해 ui를 렌더링한다 [4, 5, 8]. 기존 skia 엔진의 한계였던 셰이더 컴파일 지연(jank) 문제를 해결하기 위해 impeller 렌더링 엔진 을 도입하였으며, 빌드 시점에 셰이더를 미리 컴파일함으로써 일관된 60fps 이상의 부드러운 성능을 보장한다 [9 11]. dart 언어와 컴파일 최적화 : f", + "is_stub": false, + "is_huge": false, + "is_redirect": false, + "is_operational": false + }, + { + "path": "10_Wiki/Topics/Frontend/Flutter_AOT_Compilation_Dart.md", + "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Frontend\\Flutter_AOT_Compilation_Dart.md", + "folder": "Frontend", + "filename": "Flutter_AOT_Compilation_Dart", + "norm_name": "flutteraotcompilationdart", + "title": "Flutter AOT Compilation (Dart)", + "norm_title": "flutteraotcompilationdart", + "fm_id": null, + "fm_aliases": [], + "fm_tags": [ + "auto-wikified", + "technical-documentation", + "frontend" + ], + "fm_status": null, + "fm_trust": null, + "fm_last_reinforced": null, + "fm_redirect_to": null, + "fm_canonical_id": null, + "body_chars": 1447, + "body_first_para_hash": "332058fd0d1d", + "body_fingerprint": "flutter의 aot(ahead of time) 컴파일은 dart 프로그래밍 언어로 작성된 애플리케이션 코드를 실행 이전에 네이티브 arm 코드(기계어)로 사전 컴파일하는 기술이다 [1 3]. 이는 실행 시점의 오버헤드를 줄여 애플리케이션의 빠른 초기 시작(cold start) 속도를 달성하고 높은 런타임 성능을 보장하는 flutter 아키텍처의 핵심 메커니즘이다 [2, 4]. 네이티브 기계어로의 직접 컴파일 : flutter는 프로덕션 배포 시 dart aot 컴파일러를 활용하여 코드를 android 및 ios 모바일 기기를 위한 네이티브 기계어(arm 코드)로 직접 변환한다 [1 3, 5]. 실행 시점에 파싱되거나 해석되어야 하는 자바스크립트 기반 프레임워크와 달리, 기계어 형태로 컴파일되므로 향상된 퍼포먼스를 제공한다 [4]. 빠른 콜드 스타트(cold start) 속도 : 코드가 미리 컴파일되어 있기 때문에 애플리케이션 구동 시 자바스크립트 엔진(예: hermes) 초기화 및 번들 파싱 과정을 거칠 필요가 없다 [2]. 이러한 이점 덕분에 flutter 애플리케이션은 일반적으로 더 빠른 초기 시작 속도를 자랑한다 [2]. 실행 효율 극대화 : flu", + "is_stub": false, + "is_huge": false, + "is_redirect": false, + "is_operational": false + }, + { + "path": "10_Wiki/Topics/Frontend/Flutter_Impeller.md", + "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Frontend\\Flutter_Impeller.md", + "folder": "Frontend", + "filename": "Flutter_Impeller", + "norm_name": "flutterimpeller", + "title": "Flutter Impeller", + "norm_title": "flutterimpeller", + "fm_id": null, + "fm_aliases": [], + "fm_tags": [ + "auto-wikified", + "technical-documentation", + "frontend" + ], + "fm_status": null, + "fm_trust": null, + "fm_last_reinforced": null, + "fm_redirect_to": null, + "fm_canonical_id": null, + "body_chars": 1615, + "body_first_para_hash": "16bb53f7dbe7", + "body_fingerprint": "flutter impeller는 기존 skia 엔진을 대체하기 위해 개발된 flutter의 최신 그래픽 렌더링 엔진입니다. 애플리케이션 빌드 시점에 셰이더(shader)를 미리 컴파일하여 런타임에 발생하는 프레임 드랍(jank) 현상을 근본적으로 해결할 목적으로 설계되었습니다. 2023년(flutter 3.10)부터 ios에서 기본 렌더러로 안정화되었으며, android를 비롯한 다른 플랫폼으로도 지원이 확대되고 있습니다 [1, 2]. 셰이더 컴파일 쟁크(jank) 해결 : 기존 구조의 가장 큰 성능 문제였던 '셰이더 컴파일 쟁크'는 사용자가 새로운 시각 효과를 처음 마주할 때 셰이더를 실시간으로 컴파일하면서 발생하던 프레임 드랍 현상이었습니다 [1, 2]. impeller는 앱 빌드 과정에서 더 작고 최적화된 셰이더 세트를 미리 컴파일(pre compile)해두는 방식으로 이 문제를 해결하여 첫 프레임부터 일관되고 부드러운 렌더링을 제공합니다 [3, 4]. 현대적 모바일 gpu 최적화 : impeller는 테셀레이션(tessellation) 기반의 렌더링 방식을 채택하여 최신 모바일 gpu 환경에 고도로 최적화되어 있습니다 [2]. 이를 통해 화면의 모든 ", + "is_stub": false, + "is_huge": false, + "is_redirect": false, + "is_operational": false + }, + { + "path": "10_Wiki/Topics/Frontend/Flutter_Web_-_Desktop.md", + "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Frontend\\Flutter_Web_-_Desktop.md", + "folder": "Frontend", + "filename": "Flutter_Web_-_Desktop", + "norm_name": "flutterwebdesktop", + "title": "Flutter Web / Desktop", + "norm_title": "flutterwebdesktop", + "fm_id": null, + "fm_aliases": [], + "fm_tags": [ + "auto-wikified", + "technical-documentation", + "frontend" + ], + "fm_status": null, + "fm_trust": null, + "fm_last_reinforced": null, + "fm_redirect_to": null, + "fm_canonical_id": null, + "body_chars": 1703, + "body_first_para_hash": "5f20f99b8bb0", + "body_fingerprint": "flutter web / desktop은 단일 코드베이스를 사용하여 모바일뿐만 아니라 웹과 데스크톱(windows, macos, linux) 환경을 위한 애플리케이션을 구축할 수 있게 해주는 크로스 플랫폼 프레임워크 기능이다 [1, 2]. 최근 webassembly(wasmgc) 기술 채택과 데스크톱 지원의 안정화를 거치며 성능과 범용성이 크게 향상되었다 [1]. 모바일 단말기를 넘어 모든 사용자 접점(touchpoints)에서 일관된 사용자 경험을 제공해야 하는 비즈니스에 특히 성숙한 솔루션으로 평가받고 있다 [1, 3]. flutter web의 성능 비약적 발전 : webassembly(wasmgc)가 주류 기술로 채택됨에 따라 자바스크립트 대신 wasm으로 코드를 컴파일할 수 있게 되었다 [1]. 이를 통해 로딩 시간이 눈에 띄게 단축되었고 번들 크기가 감소했으며, 복잡한 ui와 애니메이션에서도 네이티브에 가까운 성능을 제공하여 정교한 웹 애플리케이션 개발에 강력한 경쟁력을 갖추게 되었다 [1]. 안정화된 데스크톱 아키텍처 지원 : windows, macos, linux 운영체제에 대한 데스크톱 지원이 매우 안정적이고 견고해졌다 [1, 2]. 개발자는 ", + "is_stub": false, + "is_huge": false, + "is_redirect": false, + "is_operational": false + }, { "path": "10_Wiki/Topics/Frontend/Folder Structure Best Practices.md", "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Frontend\\Folder Structure Best Practices.md", @@ -67026,6 +68256,34 @@ "is_redirect": false, "is_operational": false }, + { + "path": "10_Wiki/Topics/Frontend/Hermes_Engine.md", + "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Frontend\\Hermes_Engine.md", + "folder": "Frontend", + "filename": "Hermes_Engine", + "norm_name": "hermesengine", + "title": "Hermes Engine", + "norm_title": "hermesengine", + "fm_id": null, + "fm_aliases": [], + "fm_tags": [ + "auto-wikified", + "technical-documentation", + "frontend" + ], + "fm_status": null, + "fm_trust": null, + "fm_last_reinforced": null, + "fm_redirect_to": null, + "fm_canonical_id": null, + "body_chars": 972, + "body_first_para_hash": "cda8fe5016f5", + "body_fingerprint": "hermes는 react native 애플리케이션에서 자바스크립트 로직을 실행하는 데 사용되는 엔진이다 [1, 2]. 고도로 최적화된 환경을 제공하며, react native의 새로운 브릿지리스 아키텍처의 핵심인 jsi(javascript interface)와 완벽하게 호환되어 작동한다 [3]. 애플리케이션 로직 실행: react native는 기본적으로 hermes와 같은 자바스크립트 코어 엔진을 탑재하여 애플리케이션의 내부 로직을 실행하고, 실제 렌더링은 네이티브 구성 요소를 호출하여 처리하는 아키텍처를 따른다 [1, 2, 4]. 신규 아키텍처(jsi) 호환: react native의 새로운 아키텍처를 구성하는 필수 요소인 jsi(javascript interface)는 고도로 최적화된 hermes 엔진을 포함한 다양한 자바스크립트 엔진을 지원하여 자바스크립트와 네이티브 간의 효율적인 통신을 돕는다 [3]. 앱 크기(app size) 기준점 형성: react native 앱을 배포할 때 hermes 자바스크립트 엔진이 함께 포함되어 제공되며, 이로 인해 최소 앱 크기(baseline apk size)는 대략 5~8mb 수준을 구성하게 된다 [1]. 초기 ", + "is_stub": false, + "is_huge": false, + "is_redirect": false, + "is_operational": false + }, { "path": "10_Wiki/Topics/Frontend/Hydration & Progressive Rendering.md", "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Frontend\\Hydration & Progressive Rendering.md", @@ -67114,6 +68372,34 @@ "is_redirect": false, "is_operational": false }, + { + "path": "10_Wiki/Topics/Frontend/Hydration_하이드레이션.md", + "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Frontend\\Hydration_하이드레이션.md", + "folder": "Frontend", + "filename": "Hydration_하이드레이션", + "norm_name": "hydration하이드레이션", + "title": "Hydration (하이드레이션)", + "norm_title": "hydration하이드레이션", + "fm_id": null, + "fm_aliases": [], + "fm_tags": [ + "auto-wikified", + "technical-documentation", + "frontend" + ], + "fm_status": null, + "fm_trust": null, + "fm_last_reinforced": null, + "fm_redirect_to": null, + "fm_canonical_id": null, + "body_chars": 2058, + "body_first_para_hash": "c45abb6aa992", + "body_fingerprint": "하이드레이션(hydration)은 서버에서 렌더링되어 전달된 정적인 html('건조한' html)에 상호작용성과 이벤트 핸들러라는 '물'을 주어 동적인 웹 페이지로 만드는 과정입니다 [1]. 프론트엔드 프레임워크는 전체 dom을 새로 다시 그리지 않고, 기존 dom 트리를 재사용하여 이벤트 리스너를 부착하는 방식으로 작동합니다 [2, 3]. 최근에는 초기 로딩 시간 단축과 상호작용성 개선을 위해 react의 선택적 하이드레이션(selective hydration)이나 vue의 지연 하이드레이션(lazy hydration) 같은 최적화 기법이 활용되고 있습니다 [4, 5]. 작동 원리 (mechanism): 하이드레이션은 페이지를 처음부터 렌더링하는 과정이 아닙니다 [3]. 리액트(react)의 경우, 구축 중인 fiber 트리와 병렬로 기존의 서버 렌더링 dom 트리를 순회하면서 각 fiber를 해당하는 dom 노드에 일치시키고( fiber.statenode 에 참조 저장), 이벤트 리스너를 부착합니다 [3]. 이처럼 dom을 완전히 새로 만들지 않고 재사용 하기 때문에 새로운 렌더링(fresh render)보다 더 빠르게 동작합니다 [3]. 선택적 하이드레", + "is_stub": false, + "is_huge": false, + "is_redirect": false, + "is_operational": false + }, { "path": "10_Wiki/Topics/Frontend/IDE_Stability_Fix.md", "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Frontend\\IDE_Stability_Fix.md", @@ -67145,6 +68431,34 @@ "is_redirect": false, "is_operational": false }, + { + "path": "10_Wiki/Topics/Frontend/Impeller.md", + "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Frontend\\Impeller.md", + "folder": "Frontend", + "filename": "Impeller", + "norm_name": "impeller", + "title": "Impeller", + "norm_title": "impeller", + "fm_id": null, + "fm_aliases": [], + "fm_tags": [ + "auto-wikified", + "technical-documentation", + "frontend" + ], + "fm_status": null, + "fm_trust": null, + "fm_last_reinforced": null, + "fm_redirect_to": null, + "fm_canonical_id": null, + "body_chars": 2017, + "body_first_para_hash": "4a8995d6b401", + "body_fingerprint": "impeller는 모바일 개발 프레임워크 flutter에서 기존의 skia 엔진을 대체하기 위해 새롭게 도입된 자체 그래픽 렌더링 엔진이다 [1 3]. 기존 런타임 환경에서 셰이더(shader)를 컴파일할 때 발생하던 프레임 끊김(jank) 문제를 해결하기 위해, 빌드 시점에 셰이더를 미리 컴파일하는 방식을 채택했다 [2, 4, 5]. 이를 통해 첫 프레임부터 일관되고 부드러운 ui 렌더링과 최적화된 성능을 제공하는 것이 핵심적인 특징이다 [4, 5]. 셰이더 컴파일 최적화 및 jank 문제 해결 : 과거 flutter의 기본 그래픽 엔진이었던 skia는 사용자가 앱과 상호작용할 때 런타임에서 ui를 네이티브 코드로 컴파일해야 했고, 이로 인해 처음 복잡한 애니메이션이 실행될 때 심각한 버벅임(shader compilation jank)이 발생했다 [2, 3, 5]. impeller는 애플리케이션 빌드 단계에서 더 작고 단순하며 최적화된 셰이더 세트를 미리 컴파일(pre compile)해 두어 이러한 렌더링 병목 현상을 근본적으로 제거한다 [4 6]. 자체 렌더링 철학 유지 : react native처럼 플랫폼의 네이티브 컴포넌트(ios의 uikit 등)에 ", + "is_stub": false, + "is_huge": false, + "is_redirect": false, + "is_operational": false + }, { "path": "10_Wiki/Topics/Frontend/Impeller_Engine.md", "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Frontend\\Impeller_Engine.md", @@ -67769,6 +69083,34 @@ "is_redirect": false, "is_operational": false }, + { + "path": "10_Wiki/Topics/Frontend/Mixins.md", + "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Frontend\\Mixins.md", + "folder": "Frontend", + "filename": "Mixins", + "norm_name": "mixins", + "title": "Mixins", + "norm_title": "mixins", + "fm_id": null, + "fm_aliases": [], + "fm_tags": [ + "auto-wikified", + "technical-documentation", + "architecture" + ], + "fm_status": null, + "fm_trust": null, + "fm_last_reinforced": null, + "fm_redirect_to": null, + "fm_canonical_id": null, + "body_chars": 1264, + "body_first_para_hash": "2ae05a645dad", + "body_fingerprint": "믹스인(mixins)은 vue.js 프레임워크의 options api 환경에서 코드 재사용을 위해 주로 사용되던 전통적인 패턴입니다 [1]. 그러나 대규모 애플리케이션으로 확장되는 현대적인 vue 3 개발 환경에서는 믹스인이 가진 구조적인 한계로 인해 사용이 지양되고 있습니다 [2]. 오늘날 엔터프라이즈 코드베이스에서는 반응형 로직을 더 투명하고 타입 안전(type safe)하게 공유할 수 있는 컴포저블(composables) 패턴으로 효과적으로 대체되었습니다 [2]. options api의 기본 재사용 접근법 : 믹스인은 재사용성 요구가 낮고 단일 기능을 수행하는 작고 단순한 컴포넌트를 설계할 때 options api가 채택하던 주된 코드 재사용 방식이었습니다 [1]. composables로의 진화 : 엔터프라이즈급 대규모 웹 애플리케이션에서는 컴포넌트를 뷰(view) 계층에 집중시키고 상태 저장 로직(stateful logic)을 효과적으로 분리하기 위해 믹스인 대신 컴포저블을 사용합니다 [2]. 상속보다 합성(composition over inheritance) : 비즈니스 규칙 등을 캡슐화할 때 믹스인과 같은 상속 기반의 패턴 대신, 독립적인 함수를 ", + "is_stub": false, + "is_huge": false, + "is_redirect": false, + "is_operational": false + }, { "path": "10_Wiki/Topics/Frontend/Mobile-Augmented-Reality.md", "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Frontend\\Mobile-Augmented-Reality.md", @@ -67954,6 +69296,34 @@ "is_redirect": false, "is_operational": false }, + { + "path": "10_Wiki/Topics/Frontend/Next_js_Caching_Architecture.md", + "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Frontend\\Next_js_Caching_Architecture.md", + "folder": "Frontend", + "filename": "Next_js_Caching_Architecture", + "norm_name": "nextjscachingarchitecture", + "title": "Next.js Caching Architecture", + "norm_title": "nextjscachingarchitecture", + "fm_id": null, + "fm_aliases": [], + "fm_tags": [ + "auto-wikified", + "technical-documentation", + "architecture" + ], + "fm_status": null, + "fm_trust": null, + "fm_last_reinforced": null, + "fm_redirect_to": null, + "fm_canonical_id": null, + "body_chars": 1577, + "body_first_para_hash": "b679ce950dd5", + "body_fingerprint": "next.js의 캐싱 아키텍처는 react 서버 컴포넌트(rsc) 및 서버 액션(server actions)과 긴밀하게 연동되어 애플리케이션의 데이터를 서버에 저장하고 무효화(invalidate)하는 메커니즘입니다 [1, 2]. 개발자는 다양한 데이터를 서로 다른 태그(tag)로 캐시하고, 데이터가 업데이트될 때 해당 태그를 무효화하는 방식으로 동작을 제어할 수 있습니다 [3]. 이를 통해 무거운 데이터의 잦은 재요청을 방지하고 빠른 렌더링 성능을 확보하는 것이 핵심 목적입니다 [3, 4]. 태그 기반 캐시 무효화 (cache invalidation with tags): next.js에서는 데이터를 가져올 때 개별 데이터에 고유한 태그를 할당하여 캐시할 수 있습니다 [3]. 데이터의 변경이나 업데이트가 발생하면 서버 액션 내에서 revalidatetag 함수를 호출하여, 특정 태그와 연결된 캐시 데이터를 방출(eject)하도록 지시할 수 있습니다 [2, 5]. rsc 트리 전체 리렌더링: revalidatetag api는 next.js에게 '무엇을 다시 로드할지'를 알려주는 것이 아니라, 단지 '캐시에서 무엇을 제거할지'만을 알려줍니다 [5]. 그 결과, 이", + "is_stub": false, + "is_huge": false, + "is_redirect": false, + "is_operational": false + }, { "path": "10_Wiki/Topics/Frontend/Nodejs-Global-Namespace-Augmentation.md", "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Frontend\\Nodejs-Global-Namespace-Augmentation.md", @@ -68329,6 +69699,34 @@ "is_redirect": false, "is_operational": false }, + { + "path": "10_Wiki/Topics/Frontend/Prefetching.md", + "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Frontend\\Prefetching.md", + "folder": "Frontend", + "filename": "Prefetching", + "norm_name": "prefetching", + "title": "Prefetching", + "norm_title": "prefetching", + "fm_id": null, + "fm_aliases": [], + "fm_tags": [ + "auto-wikified", + "technical-documentation", + "computer_science_and_theory" + ], + "fm_status": null, + "fm_trust": null, + "fm_last_reinforced": null, + "fm_redirect_to": null, + "fm_canonical_id": null, + "body_chars": 1709, + "body_first_para_hash": "33310d2e96dd", + "body_fingerprint": "프리페칭(prefetching)은 프론트엔드 및 백엔드 프레임워크에서 시스템 성능을 최적화하기 위해 데이터가 실제로 필요해지기 전에 미리 데이터를 불러오는 실전 패턴이다. react 생태계에서는 사용자 라우팅 지연 시간을 상쇄하기 위해 api 요청을 미리 실행하는 데 활용되며, django와 같은 백엔드 환경에서는 orm의 n+1 쿼리 문제를 방지하고 연관된 데이터베이스 객체를 효율적으로 가져오는 데 사용된다. react와 react query를 활용한 프리페칭 패턴 : next.js와 같은 메타 프레임워크 환경에서 url 변경 등의 라우팅에 의한 네비게이션 지연이 발생할 때, react query 의 queryclient.prefetchquery api를 사용하여 데이터를 미리 요청할 수 있다. [1, 2] 이 패턴을 적용하면 next.js가 변경되지 않은 서버 컴포넌트(rsc) 페이지를 렌더링하느라 대기하는 동안 네트워크 요청을 미리 백그라운드에서 실행시킬 수 있다. [1, 2] 이후 클라이언트 컴포넌트가 실제로 동일한 쿼리를 실행할 때, 이미 진행 중인 promise에 자동으로 연결되어 데이터를 즉시 사용할 수 있게 된다. [2] django orm의 ", + "is_stub": false, + "is_huge": false, + "is_redirect": false, + "is_operational": false + }, { "path": "10_Wiki/Topics/Frontend/Principles.md", "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Frontend\\Principles.md", @@ -68397,6 +69795,34 @@ "is_redirect": false, "is_operational": false }, + { + "path": "10_Wiki/Topics/Frontend/Progressive_Hydration_점진적_하이드레이션.md", + "abs_path": "E:\\Wiki\\2nd\\10_Wiki\\Topics\\Frontend\\Progressive_Hydration_점진적_하이드레이션.md", + "folder": "Frontend", + "filename": "Progressive_Hydration_점진적_하이드레이션", + "norm_name": "progressivehydration점진적하이드레이션", + "title": "Progressive Hydration (점진적 하이드레이션)", + "norm_title": "progressivehydration점진적하이드레이션", + "fm_id": null, + "fm_aliases": [], + "fm_tags": [ + "auto-wikified", + "technical-documentation", + "frontend" + ], + "fm_status": null, + "fm_trust": null, + "fm_last_reinforced": null, + "fm_redirect_to": null, + "fm_canonical_id": null, + "body_chars": 1246, + "body_first_para_hash": "daacd5736d89", + "body_fingerprint": "점진적 하이드레이션(progressive hydration)은 서버가 모든 데이터를 기다리지 않고 html 셸(shell)을 즉시 전송한 뒤, 데이터가 해결되는 대로 suspense 경계를 스트리밍하는 기술입니다 [1]. 클라이언트는 페이지의 나머지 부분이 여전히 다운로드되는 동안에도 이미 도착한 청크(chunk)들에 대해 먼저 하이드레이션을 시작할 수 있습니다 [1]. 이를 통해 가장 느린 데이터베이스 쿼리를 기다리느라 빈 화면이 노출되는 문제를 방지하고, 사용자에게 점진적인 로딩 경험을 제공합니다 [1]. 청크 기반의 html 스트리밍: 점진적 하이드레이션은 데이터를 모두 기다렸다가 한 번에 전송하는 대신, 데이터를 여러 청크로 나누어 순차적(progressive)으로 전송합니다 [1, 2]. suspense 마커와 재시도 메커니즘: 내부적으로 이 기술은 suspense 주석 노드 마커( =0.92 near-dup: 56, 0.80-0.92 dup-cand: 1, 0.65-0.80 related: 15) - 이미 merged (`redirect_to` 필드 보유): **403** -- 운영 로그 (sessions/_agents/_company 등, 클러스터링 제외): **301** -- 지식 문서 후보 (총수 - 운영 로그): **3548** +- 운영 로그 (sessions/_agents/_company 등, 클러스터링 제외): **203** +- 지식 문서 후보 (총수 - 운영 로그): **3643** - 빈약 stub (<200 chars, redirect 제외): **-24** - 거대 문서 (>50KB): **3** diff --git a/20_Meta/ReviewQueue/orphan_sort_log.md b/20_Meta/ReviewQueue/orphan_sort_log.md new file mode 100644 index 00000000..01aeb7f1 --- /dev/null +++ b/20_Meta/ReviewQueue/orphan_sort_log.md @@ -0,0 +1,103 @@ +# Orphan sort log — 2026-05-08 + +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/2026-04-25-Datacollector_Engine_Processed_Count_and_Stalled_Loop_Guard.md` → `10_Wiki/Topics/Skybound/2026-04-25-Datacollector_Engine_Processed_Count_and_Stalled_Loop_Guard.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/2026-04-26-Skybound_Low_Level_First_Upgrade_Offer_Balance.md` → `10_Wiki/Topics/Skybound/2026-04-26-Skybound_Low_Level_First_Upgrade_Offer_Balance.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/2026-04-26-Skybound_Skill_Slot_Limit_Weapon5_Passive5.md` → `10_Wiki/Topics/Skybound/2026-04-26-Skybound_Skill_Slot_Limit_Weapon5_Passive5.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Active_Record_Pattern_vs_Repository_Pattern.md` → `10_Wiki/Topics/Architecture/Active_Record_Pattern_vs_Repository_Pattern.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Albion Online (Full LootPlayer-Driven Production).md` → `10_Wiki/Topics/Game_Design/Albion Online (Full LootPlayer-Driven Production).md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Algorithmic Rhetoric.md` → `10_Wiki/Topics/Game_Design/Algorithmic Rhetoric.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/AOP_Aspect-Oriented_Programming.md` → `10_Wiki/Topics/Architecture/AOP_Aspect-Oriented_Programming.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/AOT_Compilation_Ahead-of-Time.md` → `10_Wiki/Topics/Architecture/AOT_Compilation_Ahead-of-Time.md` +- 🗄️ ARCHIVE `10_Wiki/Topics/_Archive_Orphans/Arkane Studios.md` → `01_Archive/ARCHIVED_ORPHANS/2026-05-08/_Archive_Orphans/Arkane Studios.md` (duplicate of `arkanestudios`) +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Async_Messaging.md` → `10_Wiki/Topics/Backend/Async_Messaging.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Asynchronous_Messaging.md` → `10_Wiki/Topics/Backend/Asynchronous_Messaging.md` +- 🗄️ ARCHIVE `10_Wiki/Topics/_Archive_Orphans/Auction Theory.md` → `01_Archive/ARCHIVED_ORPHANS/2026-05-08/_Archive_Orphans/Auction Theory.md` (duplicate of `auctiontheory`) +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Blog_Content_Rules.md` → `10_Wiki/Topics/Other/Blog_Content_Rules.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Blog_Title_Rules.md` → `10_Wiki/Topics/Other/Blog_Title_Rules.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Boilerplate.md` → `10_Wiki/Topics/Architecture/Boilerplate.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Bounded_Context.md` → `10_Wiki/Topics/Architecture/Bounded_Context.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Bridgeless_New_Architecture.md` → `10_Wiki/Topics/Frontend/Bridgeless_New_Architecture.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Computed_Properties_&_Watchers.md` → `10_Wiki/Topics/Frontend/Computed_Properties_&_Watchers.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Constructor_Injection.md` → `10_Wiki/Topics/Architecture/Constructor_Injection.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Cross-Cutting_Concerns_AOP.md` → `10_Wiki/Topics/Architecture/Cross-Cutting_Concerns_AOP.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Cross-platform_Mobile_Development_Frameworks.md` → `10_Wiki/Topics/Frontend/Cross-platform_Mobile_Development_Frameworks.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Custom_Hooks.md` → `10_Wiki/Topics/Frontend/Custom_Hooks.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Dart.md` → `10_Wiki/Topics/Frontend/Dart.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Dart_FFI_Foreign_Function_Interface.md` → `10_Wiki/Topics/Frontend/Dart_FFI_Foreign_Function_Interface.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Decorators.md` → `10_Wiki/Topics/Frontend/Decorators.md` +- 🗄️ ARCHIVE `10_Wiki/Topics/_Archive_Orphans/Dependency_Injection.md` → `01_Archive/ARCHIVED_ORPHANS/2026-05-08/_Archive_Orphans/Dependency_Injection.md` (duplicate of `dependencyinjection`) +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Dependency_Inversion_Principle.md` → `10_Wiki/Topics/Architecture/Dependency_Inversion_Principle.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Django_Signals.md` → `10_Wiki/Topics/Backend/Django_Signals.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Elite-Athletic-Development.md` → `10_Wiki/Topics/Game_Design/Elite-Athletic-Development.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Entity_엔티티.md` → `10_Wiki/Topics/Architecture/Entity_엔티티.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Expo_Router.md` → `10_Wiki/Topics/Frontend/Expo_Router.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Fabric_Renderer.md` → `10_Wiki/Topics/Frontend/Fabric_Renderer.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Fastify.md` → `10_Wiki/Topics/Backend/Fastify.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Flutter.md` → `10_Wiki/Topics/Frontend/Flutter.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Flutter_AOT_Compilation_Dart.md` → `10_Wiki/Topics/Frontend/Flutter_AOT_Compilation_Dart.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Flutter_Impeller.md` → `10_Wiki/Topics/Frontend/Flutter_Impeller.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Flutter_Web_-_Desktop.md` → `10_Wiki/Topics/Frontend/Flutter_Web_-_Desktop.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/GIT_PROTOCOL.md` → `10_Wiki/Topics/Other/GIT_PROTOCOL.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Global_Singleton.md` → `10_Wiki/Topics/Architecture/Global_Singleton.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Hermes_Engine.md` → `10_Wiki/Topics/Frontend/Hermes_Engine.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Hexagonal_Architecture_Ports_and_Adapters.md` → `10_Wiki/Topics/Architecture/Hexagonal_Architecture_Ports_and_Adapters.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Hydration_하이드레이션.md` → `10_Wiki/Topics/Frontend/Hydration_하이드레이션.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Impeller.md` → `10_Wiki/Topics/Frontend/Impeller.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Inversion_of_Control_IoC.md` → `10_Wiki/Topics/Architecture/Inversion_of_Control_IoC.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Kafka_&_RabbitMQ.md` → `10_Wiki/Topics/Backend/Kafka_&_RabbitMQ.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Knowledge-Extraction-Protocol.md` → `10_Wiki/Topics/Other/Knowledge-Extraction-Protocol.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Mapper_-_ModelMapper.md` → `10_Wiki/Topics/Architecture/Mapper_-_ModelMapper.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Metaverse Aesthetics.md` → `10_Wiki/Topics/Game_Design/Metaverse Aesthetics.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Mixins.md` → `10_Wiki/Topics/Frontend/Mixins.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Mocking_Framework.md` → `10_Wiki/Topics/Architecture/Mocking_Framework.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Modular_Architecture.md` → `10_Wiki/Topics/Architecture/Modular_Architecture.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Monorepo_architectures.md` → `10_Wiki/Topics/Architecture/Monorepo_architectures.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Monorepo_Turborepo-Nx.md` → `10_Wiki/Topics/Architecture/Monorepo_Turborepo-Nx.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/NestJS.md` → `10_Wiki/Topics/Backend/NestJS.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/NestJS_Microservices_Module.md` → `10_Wiki/Topics/Backend/NestJS_Microservices_Module.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Netflix_OSS.md` → `10_Wiki/Topics/Backend/Netflix_OSS.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Next_js_Caching_Architecture.md` → `10_Wiki/Topics/Frontend/Next_js_Caching_Architecture.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/OpenAPI_-_Swagger.md` → `10_Wiki/Topics/Backend/OpenAPI_-_Swagger.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Prefetching.md` → `10_Wiki/Topics/Frontend/Prefetching.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Process_Reflection_Template.md` → `10_Wiki/Topics/Other/Process_Reflection_Template.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Progressive_Hydration_점진적_하이드레이션.md` → `10_Wiki/Topics/Frontend/Progressive_Hydration_점진적_하이드레이션.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/project-profile.md` → `10_Wiki/Topics/Other/project-profile.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/React_Native.md` → `10_Wiki/Topics/Frontend/React_Native.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/React_Native_for_Web.md` → `10_Wiki/Topics/Frontend/React_Native_for_Web.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/React_Native_New_Architecture.md` → `10_Wiki/Topics/Frontend/React_Native_New_Architecture.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/React_Native_상태_관리_Redux_Toolkit,_Zustand,_React_Query.md` → `10_Wiki/Topics/Frontend/React_Native_상태_관리_Redux_Toolkit,_Zustand,_React_Query.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Reusable_Components.md` → `10_Wiki/Topics/Frontend/Reusable_Components.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Riverpod.md` → `10_Wiki/Topics/Frontend/Riverpod.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Roguelike Procedural Generation.md` → `10_Wiki/Topics/Game_Design/Roguelike Procedural Generation.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Scoped_Styles.md` → `10_Wiki/Topics/Frontend/Scoped_Styles.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Selective_Hydration_&_Streaming.md` → `10_Wiki/Topics/Frontend/Selective_Hydration_&_Streaming.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Separation_of_Concerns.md` → `10_Wiki/Topics/Architecture/Separation_of_Concerns.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Server_Actions.md` → `10_Wiki/Topics/Frontend/Server_Actions.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Server_State_Management.md` → `10_Wiki/Topics/Frontend/Server_State_Management.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Service_Layer_Pattern.md` → `10_Wiki/Topics/Architecture/Service_Layer_Pattern.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Shader_Compilation_Jank.md` → `10_Wiki/Topics/Frontend/Shader_Compilation_Jank.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Skia.md` → `10_Wiki/Topics/Frontend/Skia.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Smart_vs_Dumb_Components.md` → `10_Wiki/Topics/Frontend/Smart_vs_Dumb_Components.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Spring_Boot_Actuator.md` → `10_Wiki/Topics/Backend/Spring_Boot_Actuator.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Spring_Boot_Microservices.md` → `10_Wiki/Topics/Backend/Spring_Boot_Microservices.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Spring_Cloud_Netflix.md` → `10_Wiki/Topics/Backend/Spring_Cloud_Netflix.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/State_Management.md` → `10_Wiki/Topics/Frontend/State_Management.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/State_Management_Libraries_Pinia-Redux.md` → `10_Wiki/Topics/Frontend/State_Management_Libraries_Pinia-Redux.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/State_Management_Pinia-Vuex.md` → `10_Wiki/Topics/Frontend/State_Management_Pinia-Vuex.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Streaming_SSR.md` → `10_Wiki/Topics/Frontend/Streaming_SSR.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Suspense_Boundary.md` → `10_Wiki/Topics/Frontend/Suspense_Boundary.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Suspense_및_Streaming.md` → `10_Wiki/Topics/Frontend/Suspense_및_Streaming.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/TypeScript_Generics.md` → `10_Wiki/Topics/Frontend/TypeScript_Generics.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/use_client.md` → `10_Wiki/Topics/Frontend/use_client.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/useOptimistic.md` → `10_Wiki/Topics/Frontend/useOptimistic.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/useSuspenseQuery.md` → `10_Wiki/Topics/Frontend/useSuspenseQuery.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Vite.md` → `10_Wiki/Topics/Frontend/Vite.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Vue_Single-File_Components_SFC.md` → `10_Wiki/Topics/Frontend/Vue_Single-File_Components_SFC.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Vuex.md` → `10_Wiki/Topics/Frontend/Vuex.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/Zustand.md` → `10_Wiki/Topics/Frontend/Zustand.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/보상의 역효과 (Overjustification Effect).md` → `10_Wiki/Topics/Game_Design/보상의 역효과 (Overjustification Effect).md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/스트림Stream.md` → `10_Wiki/Topics/Programming & Language/스트림Stream.md` +- 📁 MOVE `10_Wiki/Topics/_Archive_Orphans/인문학적 게임 비평 및 서사학.md` → `10_Wiki/Topics/Game_Design/인문학적 게임 비평 및 서사학.md` + +--- +**TOTAL**: categorized=95, archived=3, failed=0 \ No newline at end of file diff --git a/_tools/p_reinforce_orphan_sort.py b/_tools/p_reinforce_orphan_sort.py new file mode 100644 index 00000000..8956f6dc --- /dev/null +++ b/_tools/p_reinforce_orphan_sort.py @@ -0,0 +1,184 @@ +""" +P-Reinforce Phase 4 — Orphan sorter for `_Archive_Orphans/`. + +Each file in _Archive_Orphans/ goes to one of two destinations: + (a) a proper knowledge folder if the topic clearly fits, OR + (b) 01_Archive/ARCHIVED_ORPHANS// if it's a duplicate of something + already in the wiki (matched by normalized filename). + +Steps: + 1. Build norm_name set from existing _index.json (excluding orphans, redirects, + operational paths). + 2. For each orphan, compare its norm_name to that set. + - match → archive (duplicate) + - no match → classify by filename keywords → move to category folder + 3. Hand-curated rules cover the common patterns; everything unmatched goes + to Architecture/ as a safe default (still better than the orphan bin). + +Outputs the move log to 20_Meta/ReviewQueue/orphan_sort_log.md. +""" + +from __future__ import annotations + +import json +import re +import shutil +import sys +import unicodedata +from datetime import date +from pathlib import Path + +ROOT = Path(r"E:/Wiki/2nd") +TOPICS = ROOT / "10_Wiki" / "Topics" +ORPHANS = TOPICS / "_Archive_Orphans" +ARCHIVE_DIR = ROOT / "01_Archive" / "ARCHIVED_ORPHANS" +INDEX_JSON = ROOT / "20_Meta" / "ReviewQueue" / "_index.json" +LOG_MD = ROOT / "20_Meta" / "ReviewQueue" / "orphan_sort_log.md" + +NONALNUM_RE = re.compile(r"[^0-9a-z가-힣]+") + + +def normalize(s: str) -> str: + if not s: + return "" + s = unicodedata.normalize("NFKC", s).lower() + s = NONALNUM_RE.sub("", s) + return s + + +# Category rules: (regex pattern in lowercase filename) -> target folder. +# First match wins. Order matters. +CATEGORY_RULES = [ + # Skybound project logs (date-prefixed Skybound build logs) + (r"^\d{4}-\d{2}-\d{2}.*skybound", "Skybound"), + (r"^\d{4}-\d{2}-\d{2}.*datacollector", "Skybound"), + + # Game design / culture + (r"albion|arkane|auction theory|roguelike|metaverse aesthet|algorithmic rhetoric|인문학적 게임|서사학|overjustification|보상의 역효과|elite-athletic", "Game_Design"), + + # Mobile (React Native / Flutter / Dart) — keep with Frontend + (r"react[_-]?native|expo[_-]?router|hermes|fabric_renderer|bridgeless|cross-platform_mobile|flutter|impeller|skia|shader_compilation|^dart\b|dart_ffi|riverpod", "Frontend"), + + # Frontend / web framework + (r"vite|vue|vuex|pinia|zustand|next_?js|use_?client|usesuspense|useoptimistic|custom_hooks|hydration|suspense|streaming|selective_hydration|server_actions|server_state|state_management|computed_properties|scoped_styles|smart_vs_dumb|reusable_components|prefetching|sfc|mixins|decorators|generics|typescript", "Frontend"), + + # Backend frameworks / messaging + (r"nestjs|spring|fastify|django|netflix|kafka|rabbitmq|async_?messag|asynchronous|openapi|swagger", "Backend"), + + # Stream concept (general) + (r"^스트림|^stream$", "Programming & Language"), + + # Architecture patterns / design + (r"aop|aspect-oriented|aot_compilation|active_record|repository_pattern|bounded_context|boilerplate|constructor_injection|cross-cutting|dependency_injection|dependency_inversion|entity_엔티티|global_singleton|hexagonal|inversion_of_control|ioc|mapper|modelmapper|mocking|modular_architecture|monorepo|separation_of_concerns|service_layer", "Architecture"), + + # Documentation/protocol/process — go to Other + (r"blog_content|blog_title|git_protocol|knowledge-extraction|process_reflection|project-profile", "Other"), +] + +DEFAULT_CATEGORY = "Architecture" + + +def classify(filename: str) -> str: + f = filename.lower() + for pat, cat in CATEGORY_RULES: + if re.search(pat, f): + return cat + return DEFAULT_CATEGORY + + +def main() -> int: + if not ORPHANS.exists(): + print("No _Archive_Orphans folder", file=sys.stderr) + return 0 + if not INDEX_JSON.exists(): + print("ERROR: run p_reinforce_index.py first", file=sys.stderr) + return 2 + + today = date.today().isoformat() + archive_dir = ARCHIVE_DIR / today + archive_dir.mkdir(parents=True, exist_ok=True) + + # Build norm_name set excluding orphans / redirects / operational + idx = json.loads(INDEX_JSON.read_text(encoding="utf-8")) + EXCLUDE_FRAG = ( + "/sessions/", "/_agents/", "/_company/", "/memory/", + "/Project_Logs/", "/Harness_Research_", "/docs/records/", + "/_Archive_Orphans/", "/Post_Drafts/", "/UX_Scenarios/", + ) + existing_norms: set[str] = set() + for e in idx: + rel = "/" + e["path"].replace("\\", "/") + if any(x in rel for x in EXCLUDE_FRAG): + continue + if e.get("is_redirect"): + continue + if e.get("norm_name"): + existing_norms.add(e["norm_name"]) + + log_lines = [f"# Orphan sort log — {today}\n"] + moved_to_category = 0 + moved_to_archive = 0 + failed = 0 + + for p in sorted(ORPHANS.iterdir()): + if not p.is_file() or p.suffix != ".md": + continue + nname = normalize(p.stem) + rel_orig = str(p.relative_to(ROOT)).replace("\\", "/") + + # Decide: archive if duplicate, else categorize + if nname in existing_norms: + target_dir = archive_dir / "_Archive_Orphans" + target_dir.mkdir(parents=True, exist_ok=True) + target = target_dir / p.name + try: + shutil.move(str(p), str(target)) + moved_to_archive += 1 + log_lines.append(f"- 🗄️ ARCHIVE `{rel_orig}` → `01_Archive/ARCHIVED_ORPHANS/{today}/_Archive_Orphans/{p.name}` (duplicate of `{nname}`)") + except OSError as e: + failed += 1 + log_lines.append(f"- ❌ FAIL `{rel_orig}`: {e}") + else: + cat = classify(p.stem) + target_dir = TOPICS / cat + target_dir.mkdir(parents=True, exist_ok=True) + target = target_dir / p.name + if target.exists(): + # very unlikely (already filtered by existing_norms, but just in case) + target_dir = archive_dir / "_Archive_Orphans" + target_dir.mkdir(parents=True, exist_ok=True) + target = target_dir / p.name + try: + shutil.move(str(p), str(target)) + moved_to_archive += 1 + log_lines.append(f"- 🗄️ ARCHIVE (collision) `{rel_orig}` → archive (target file exists)") + except OSError as e: + failed += 1 + log_lines.append(f"- ❌ FAIL `{rel_orig}`: {e}") + else: + try: + shutil.move(str(p), str(target)) + moved_to_category += 1 + log_lines.append(f"- 📁 MOVE `{rel_orig}` → `10_Wiki/Topics/{cat}/{p.name}`") + except OSError as e: + failed += 1 + log_lines.append(f"- ❌ FAIL `{rel_orig}`: {e}") + + log_lines.append(f"\n---\n**TOTAL**: categorized={moved_to_category}, archived={moved_to_archive}, failed={failed}") + LOG_MD.write_text("\n".join(log_lines), encoding="utf-8") + + # remove empty orphan folder + try: + if ORPHANS.exists() and not any(ORPHANS.iterdir()): + ORPHANS.rmdir() + print(f"Removed empty {ORPHANS}", file=sys.stderr) + except OSError: + pass + + print(f"DONE: categorized={moved_to_category}, archived={moved_to_archive}, failed={failed}", file=sys.stderr) + print(f"Log: {LOG_MD}", file=sys.stderr) + return 0 + + +if __name__ == "__main__": + sys.exit(main())