정기관리
2026년 4월 3일 09:30분
레위기 24장은 성소를 정기적으로 관리합니다. 등불은 매일 저녁 점검하고, 진설병은 매주 안식일에 교체합니다. 나는 작업 이름과 반복 주기를 함께 등록하고, n일째 날에 실행할 작업을 자동으로 골라냅니다.
package com.jesusbornd.leviticus;
import java.util.ArrayList;
import java.util.List;
public class Leviticus_24_Chapter_Lv3 {
record SanctuaryTask(String name, int intervalDays) {}
static class DailyScheduler {
private final List<SanctuaryTask> tasks = new ArrayList<>();
DailyScheduler register(SanctuaryTask task) {
tasks.add(task);
return this;
}
void runDay(int day) {
System.out.println("=== Day " + day + " ===");
boolean any = false;
for (SanctuaryTask t : tasks) {
if (day % t.intervalDays() == 0) {
System.out.println(" ▶ " + t.name());
any = true;
}
}
if (!any) System.out.println(" (없음)");
}
}
public static void main(String[] args) {
DailyScheduler scheduler = new DailyScheduler()
.register(new SanctuaryTask("등불 점검", 1))
.register(new SanctuaryTask("진설병 교체", 7));
for (int day = 1; day <= 14; day++) {
scheduler.runDay(day);
}
}
}
from dataclasses import dataclass
@dataclass
class SanctuaryTask:
name: str
interval_days: int
class DailyScheduler:
def __init__(self):
self._tasks: list[SanctuaryTask] = []
def register(self, task: SanctuaryTask) -> "DailyScheduler":
self._tasks.append(task)
return self
def run_day(self, day: int):
print(f"=== Day {day} ===")
due = [t for t in self._tasks if day % t.interval_days == 0]
if due:
for t in due:
print(f" ▶ {t.name}")
else:
print(" (없음)")
if __name__ == "__main__":
scheduler = (
DailyScheduler()
.register(SanctuaryTask("등불 점검", 1))
.register(SanctuaryTask("진설병 교체", 7))
)
for day in range(1, 15):
scheduler.run_day(day)
Search
Categories
← 목록으로
Comments
작업 이름과 반복 주기를 함께 등록해서 자동으로 골라내는 구조가, 성소 관리의 빠짐없는 규칙성을 잘 표현한 것 같습니다.