사닥다리

2025년 11월 26일 10:37분

package com.jesusbornd.genesis;

/*
 * Genesis_28_Chapter_Lv1_V2.java
 * KO: Lv1~초중급 — record, switch, StringBuilder 연습
 * EN: Beginner–Lower Intermediate — record, switch, StringBuilder practice
 */

public class Genesis_28_Chapter_Lv1_V2 {

    // --- Java record (간단 데이터 홀더) ---
    public record Verse(String ref, String krv, String esv) { }

    // --- 4 Key Verses (28장 핵심 장면) ---
    private static final Verse[] SAMPLE = {
        new Verse(
            "창세기 28:12",
            "사닥다리가 땅에 서 있고 꼭대기가 하늘에 닿았고…",
            "He dreamed, and behold, there was a ladder set up on the earth…"
        ),
        new Verse(
            "창세기 28:13",
            "나는 여호와니 너의 조부 아브라함의 하나님…",
            "I am the LORD, the God of Abraham your father…"
        ),
        new Verse(
            "창세기 28:15",
            "내가 너와 함께 있어… 너를 떠나지 아니하리라",
            "I am with you… I will not leave you…"
        ),
        new Verse(
            "창세기 28:16",
            "여호와께서 과연 여기 계시거늘 내가 알지 못하였도다",
            "Surely the LORD is in this place, and I did not know it."
        )
    };

    public static void main(String[] args) {
        printTitle();
        printVerses();
        printSummary();
        printPractice();
    }

    private static void printTitle() {
        System.out.println("[Genesis 28 | KRV & ESV]");
        System.out.println("— Lv1~초중급: record + switch + builder 활용 —\n");
    }

    private static void printVerses() {
        for (Verse v : SAMPLE) {
            System.out.println("■ " + v.ref());
            System.out.println("KRV: " + v.krv());
            System.out.println("ESV: " + v.esv());
            System.out.println();
        }
    }

    private static void printSummary() {
        StringBuilder sb = new StringBuilder();
        sb.append("[Summary]\n");

        // switch 패턴 — 메시지 조합
        for (Verse v : SAMPLE) {
            switch (v.ref()) {
                case "창세기 28:12" -> sb.append("• 하나님은 땅과 하늘을 연결하는 계시의 하나님. ");
                case "창세기 28:13" -> sb.append("• 약속은 아브라함-이삭-야곱으로 이어진다. ");
                case "창세기 28:15" -> sb.append("• ‘함께 하심’은 도망자의 길에도 유효하다. ");
                case "창세기 28:16" -> sb.append("• 하나님의 임재는 우리가 모르는 순간에도 있다. ");
            }
        }

        System.out.println(sb.toString() + "\n");
    }

    private static void printPractice() {
        System.out.println("[Practice]");
        System.out.println("오늘 하루 ‘하나님이 이미 여기 계신다’는 문장을 1번 말하며 시작해 보자.");
    }
}

#### Genesis_28_Chapter_Lv1_V2.py
#### KO: Lv1~초중급 — dataclass, unpacking, formatted block
#### EN: Beginner–Lower Intermediate — dataclass, unpacking, formatted block

from dataclasses import dataclass
from typing import List


@dataclass
class Verse:
    ref: str
    krv: str
    esv: str


def sample_verses() -> List[Verse]:
    return [
        Verse("창세기 28:12",
              "사닥다리가 땅에 서 있고 꼭대기가 하늘에 닿았고…",
              "He dreamed, and behold, a ladder was set on the earth…"),
        Verse("창세기 28:13",
              "나는 여호와니 너의 조부 아브라함의 하나님…",
              "I am the LORD, the God of Abraham your father…"),
        Verse("창세기 28:15",
              "내가 너와 함께 있어… 너를 떠나지 아니하리라",
              "I am with you… I will not leave you…"),
        Verse("창세기 28:16",
              "여호와께서 과연 여기 계시거늘 내가 알지 못하였도다",
              "Surely the LORD is in this place, and I did not know it."),
    ]


def show_verses(rows: List[Verse]):
    for v in rows:
        print(f"■ {v.ref}")
        print(f"KRV: {v.krv}")
        print(f"ESV: {v.esv}\n")


def show_summary(rows: List[Verse]):
    bullet = []
    for v in rows:
        if "28:12" in v.ref:
            bullet.append("• 하나님은 땅과 하늘을 잇는 계시의 주권자.")
        elif "28:13" in v.ref:
            bullet.append("• 약속은 하나님이 유지하신다.")
        elif "28:15" in v.ref:
            bullet.append("• ‘함께 하심’은 야곱의 도망길에서도 변함없다.")
        elif "28:16" in v.ref:
            bullet.append("• 하나님은 우리가 모르는 순간에도 임재하신다.")

    print("[Summary]")
    print(" ".join(bullet) + "\n")


def show_practice():
    print("[Practice]")
    print("오늘 ‘여호와께서 과연 여기 계시다’는 고백을 1번 소리내어 말해보자.")


def main():
    print("[Genesis 28 | KRV & ESV]")
    print("— Lv1~초중급: dataclass + 조건 분기 요약 —\n")

    rows = sample_verses()
    show_verses(rows)
    show_summary(rows)
    show_practice()


if __name__ == "__main__":
    main()

Comments

Avatar
 2025년 11월 26일 10:39분

“도망길에서도 하늘을 잇고 동행하시는 주님의 낮아진 사랑이 창세기 28장에서 또렷하게 빛나네요.”



Search

← 목록으로