원본복원

2026년 6월 15일 09:30분

신명기 10장에서 모세가 깨뜨린 돌판을 새로 깎아 하나님이 다시 십계명을 기록합니다. 원본 데이터를 백업에서 복원합니다. 나는 훼손된 데이터를 감지하고 백업에서 원본을 복원하는 복원기를 만들었습니다.

package com.jesusbornd.deuteronomy;
import java.util.List;

public class Deuteronomy_10_Chapter_Lv2 {
    record Tablet(String version, List<String> content, boolean broken) {}

    static Tablet restore(Tablet original, Tablet backup) {
        if (!original.broken()) return original;
        System.out.println("⚠️ 원본 훼손 감지 → 백업에서 복원 중...");
        return new Tablet("restored-" + backup.version(), backup.content(), false);
    }

    public static void main(String[] args) {
        var first  = new Tablet("v1", List.of("계명1..계명10"), true);
        var backup = new Tablet("v1", List.of("계명1..계명10"), false);
        var result = restore(first, backup);
        System.out.printf("버전: %s | 상태: %s | 내용: %s%n",
            result.version(), result.broken() ? "훼손" : "정상", result.content());
    }
}

def restore(original, backup):
    if not original["broken"]:
        return original
    print("⚠️ 원본 훼손 감지 → 백업에서 복원 중...")
    return {"version": f"restored-{backup['version']}", "content": backup["content"], "broken": False}

if __name__ == "__main__":
    first  = {"version": "v1", "content": ["계명1..계명10"], "broken": True}
    backup = {"version": "v1", "content": ["계명1..계명10"], "broken": False}
    result = restore(first, backup)
    status = "훼손" if result["broken"] else "정상"
    print(f"버전: {result['version']} | 상태: {status} | 내용: {result['content']}")

Comments

Avatar
 2026년 6월 15일 12:53분

깨진 데이터를 버리지 않고 복원하는 것, 시스템 신뢰성의 핵심이네요.



Search

← 목록으로