세션복원

2026년 11월 6일 09:30분

사무엘하 19장에서 다윗은 반란이 진압된 후 예루살렘으로 귀환합니다. 중단된 세션을 복원하는 절차입니다. 나는 세션 복원 시 이전 상태를 검증하고 재개하는 함수를 만들었습니다.

package com.jesusbornd.samuel2;
import java.util.Optional;

public class Samuel2_19_Chapter_Lv3 {
    record Session(String owner, String state, Optional<String> savedAt) {}
    static Session restore(Session prev) {
        if (prev.savedAt().isPresent()) {
            System.out.println("세션 복원: " + prev.owner() + " (저장 시점: " + prev.savedAt().get() + ")");
            return new Session(prev.owner(), "ACTIVE", Optional.empty());
        }
        return new Session(prev.owner(), "NEW", Optional.empty());
    }
    public static void main(String[] args) {
        var suspended = new Session("다윗", "SUSPENDED", Optional.of("반란 발생 전"));
        var restored  = restore(suspended);
        System.out.println("복원 후 상태: " + restored.state());
    }
}

from dataclasses import dataclass
from typing import Optional

@dataclass
class Session:
    owner: str
    state: str
    saved_at: Optional[str] = None

def restore(prev: Session) -> Session:
    if prev.saved_at:
        print(f"세션 복원: {prev.owner} (저장 시점: {prev.saved_at})")
        return Session(prev.owner, "ACTIVE")
    return Session(prev.owner, "NEW")

s = restore(Session("다윗", "SUSPENDED", "반란 발생 전"))
print(f"복원 후 상태: {s.state}")

Comments

Avatar
 2026년 11월 6일 11:37분

중단된 세션의 복원은 처음부터 시작이 아닙니다.



Search

← 목록으로