세션복원
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}")
Search
Categories
← 목록으로
Comments
중단된 세션의 복원은 처음부터 시작이 아닙니다.