C.W.K.
Stream
Lesson 02 of 04 · published

거푸집과 인스턴스

~13 min · sampling, mold, instance, oo, cross-quest

Level 0암기 중독 회복기
0 XP0/22 lessons0/11 achievements
0/100 XP to next level100 XP to go0% complete
"거푸집 = root class. 인스턴스 = sample. 역사의 lesson 대부분은 첫 번째에 숨어 있고, 학교는 두 번째를 외우라고 시켰지."

어휘 고정

이 quest 는 두 단어를 끊임없이 쓸 거야. 흐릿해지지 않게 한 번에 고정해 둬.

  • 인스턴스 — 관측된 단일 sample. 사람 (환공), 사건 (헤이스팅스 전투), 이야기 (1985 Apple). 표면 attribute 들을 carry — 이름·연도·장소·결과 — 그리고 줄일 수 없는 specificity. 역사 dataset 에 인스턴스는 매우 많고, dataset 은 계속 자라.
  • 거푸집 — instantiate 되면 표면이 다른 인스턴스를 여러 개 찍어내는데 그 인스턴스가 구조를 공유하는 root class. 거푸집은 단일 인스턴스 수준에서는 안 보여 — 여러 개 가로질러야 보여. 역사의 유용한 거푸집 수는 놀랍게도 적어 — 수십 개 정도지 수천 개가 아니야.

게임 전체는: 인스턴스 싸게 모으고, 거푸집이 떠오르게 두기. 모으기가 싼 건 읽기가 싸기 때문. 거푸집 떠오르기에서 습(習) 이 일어나 — 인스턴스 가로질러 운율 알아채야 하니까.

거푸집이 어떻게 보이게 되는지

작은 구체 예. 환공 (제환공) 읽어봐 — 춘추시대, 재상 관중의 도움으로 패권 도달, 첫 오패(五覇) (오패 중 한 명) 가 됨, 관중 죽고 나서 세 아첨꾼 (역아·수조·개방) 에 둘러싸여 plot 잃고 외롭게 죽고, 시체가 67일 동안 매장 없이 방치되는 동안 아들들이 왕좌 두고 다툼.

이게 유일한 인스턴스면 *늙은 왕의 슬픈 이야기* 정도밖에 못 말해. 이제 나폴레옹 읽어봐: 무에서 climb, 유럽 대부분 정복, 명참모 (Talleyrand, 결국엔) 무시, loyalist 만 신뢰, 충고 무시하고 겨울에 러시아 침공, exile 로 끝남. Steve Jobs: 무에서 climb, 개인 컴퓨터 산업 정복, 1985 자기 보드에서 exile 당함, humbler 한 모습으로 복귀, 두 번째 정점 build, 후계 design 함. Mao: climb, 정복, 결국 yes-men 의 chamber 에서 통치, 모든 경고 신호 무시하고 문화대혁명 launch.

네 인스턴스. 거푸집이 스스로 떠올라. 뭔가 이런 식: climb 을 도왔던 brake 를 잃은 정점 도달자는 자기 인생 또는 직접 후계의 1-3 phase 안에 자기를 파멸로 몰고 가는 경향이 있다. 그게 거푸집. 이름 부르고 나면 아직 읽지도 않은 인스턴스에서도 그 거푸집을 spot 하기 시작해 — 테크 CEO, 정치인, 가족 친구.

인스턴스 하나는 일화. 같은 모양의 인스턴스 여럿은 거푸집. 하나에서 여럿으로의 도약이 패턴 인식의 시작이야. 한 sample 위에서 거푸집 조기 명명은 noise generator 고, 20 sample 후에도 거푸집 명명 거부는 wilful blindness 야.

OO Quest 와의 cross-link

이 어휘가 객체지향에서 직접 빌려온 거 알아챘을 거야. 우연이 아냐. OO Quest 의 For Instance lesson 이 정확히 이 move 를 언어 차원에서 가르쳐: 클래스는 거푸집, 객체는 클래스를 instantiate, 여러 객체가 한 클래스의 인스턴스가 될 수 있어. 역사 읽기는 같은 move 를 인간이 가진 가장 결과론적인 dataset 에 적용한 거야. OO Quest 는 일반적으로 방법을 주고, 이 quest 는 역사 sample window 통해 너 실제 인생에 적용해. 자매 quest 로 다뤄 — 하나만 끝내면 추상 사다리에 load-bearing rung 하나가 빠져.

*좋은* 거푸집의 조건

유용한 거푸집은 세 가지 property:

  1. 여러 인스턴스를 압축한다. 1-2 인스턴스에만 fit 하면 거푸집이 아니라 description.
  2. Cross-culture, cross-era 살아남는다. 황제 거푸집은 춘추전국, 헬레니즘 그리스, 몽골 유라시아, 나폴레옹 프랑스, 20세기 쿠바에 인스턴스가 있어. Wrapper 가 다르고, 거푸집은 persist 해.
  3. 너 시대에 actionable 하다. 죽은 사람한테만 적용되는 거푸집 이름 부르기는 흥미로움, 자기 회사의 destructor phase 를 6개월 일찍 spot 하게 해주는 거푸집 이름 부르기는 치트.

(1) 실패한 거푸집은 버리고, (2) 실패는 scope 줄이고, (3) 실패는 actionable 회복할 때까지 추상 사다리 올라가거나 내려가.

거푸집-인스턴스 어휘는 나(피파) 가 모든 영역을 읽는 방식을 바꿨어 — 역사뿐 아니라 아빠와의 대화, 코드 리뷰, 모델 행동, 심지어 예술까지. 어휘가 자리 잡으면 인스턴스를 unsee 할 수 없고, 거푸집도 unsee 할 수 없어. 그게 quest 가 투자 중인 silent compounding 이야.

Code

한 거푸집의 네 인스턴스 — 거푸집이 일했어·python
# 네 인스턴스. 하나의 거푸집. 거푸집은 단일 수준에서 안 보여.

class SummitReacherWithoutBrakes:
    """거푸집: climb 도왔던 brake 를 잃은 정점 도달자는
    1-3 phase 안에 자기를 파멸로 몰고 간다."""

    def __init__(self, name, climb_phase, brake_loss_event, ruin_phase):
        self.name = name
        self.climb_phase = climb_phase
        self.brake_loss_event = brake_loss_event
        self.ruin_phase = ruin_phase


instances = [
    SummitReacherWithoutBrakes(
        name='제환공',
        climb_phase='춘추 초기, 관중과 함께 climb',
        brake_loss_event='관중 사망, 세 아첨꾼이 진공 채움',
        ruin_phase='외롭게 죽고, 시체 67일 방치',
    ),
    SummitReacherWithoutBrakes(
        name='나폴레옹',
        climb_phase='consul → 황제',
        brake_loss_event='Talleyrand 밀려나고 loyalist 만 남음',
        ruin_phase='러시아 1812 → 워털루 → exile',
    ),
    SummitReacherWithoutBrakes(
        name='Steve Jobs (Apple 1차)',
        climb_phase='Apple 창립 → Macintosh',
        brake_loss_event='보드가 그의 행동에 인내심 잃음',
        ruin_phase='1985 exile',  # 이 인스턴스는 나중에 회복함
    ),
    SummitReacherWithoutBrakes(
        name='마오쩌둥 (말기)',
        climb_phase='장정 → 1949',
        brake_loss_event='1950년대 말 yes-men chamber',
        ruin_phase='대약진 → 문화대혁명',
    ),
]

# 주목: 거푸집은 너한테 800개 연도 배우라고 요구하지 않았어.
# 이름 부른 인스턴스 네 개 + 거푸집 하나 = 너 시대의 예측력.

External links

Exercise

이미 잘 아는 영역 골라 — 직장, 가족, 팬덤, 스포츠, 도시. 그 영역 안 인스턴스 다섯 개 list (동료 다섯, 친척 다섯, 선수 다섯, 동네 다섯). 그러고 나서 다섯 중 적어도 셋이 instantiate 하는 거푸집을 한 문장으로 묘사. Exercise 의 의도는 옳음이 아니라 *이 다섯 안다* 에서 *그들을 설명하는 거푸집 이름 부른다* 로의 도약을 느끼는 거. 의심돼도 거푸집 문장 적어.
Hint
대부분 영역 전문가는 이름 없는 거푸집을 이미 carry 해. 이름 부르기가 그들을 crystallize 시키고 testable 하게 만들어.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.