본문 바로가기
C.W.K.
Stream
Lesson 01 of 05 · published

장식 말고 압력

~11 min · 모드, 압력, 고르기, 설계

Level 0찬 쇠
0 XP0/36 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete

장식 말고 압력

Anvil의 열한 모드는 ‘여럿에게 묻고 하나를 고르기’라는 루프 하나에 극적인 이름표만 붙인 게 아니야. 모드마다 결과물이 지나는 길, 참가자가 볼 수 있는 것, 중간에 꼭 만들어야 하는 작업, 그리고 심사단이 마지막에 판단하는 대상이 달라.

Arena는 서로 독립적인 대안을, Relay는 모든 중간 지점을 지키는 이어달리기식 개선을, Elimination은 심사단 전체의 되먹임 아래 살아남기를 압박해. Workshop은 탈락 없는 비평과 수정을, Debate는 결론을 향해 배정된 입장을, Red Team은 공격과 방어를 통과한 결과물의 튼튼함을 압박해.

Synthesis는 가장 좋은 단일 출품작을 이겨야 하는 재조합을 압박해. Party는 저자가 고른 검토와 혼자 한 대조군을 비교하고, Apprentice는 초안 전에 붙인 지도를 시험해. Defense는 공통의 구술 시험으로 결과물을 시험하고, Restoration은 한 차례 안에서 점수가 매겨지는 진단 뒤에 수리를 요구해.

결과물에서 드러내고 싶은 약점으로 모드를 고른 다음, 그 모드의 정확한 역할과 단계와 상한과 심사 대상을 그대로 보존해. 구현이 그걸 바꾸면 실험 자체를 바꾼 거야.

모드는 압력의 지도야. 이름이 의미를 갖는 건 그 이름이 정확한 운영 계약을 묶고 있기 때문이야.

Code

장식인지 압력인지 가려내는 법·python
MODES = {
    "Arena":       ("독립 초안",   "없음",       "참가진 전체"),
    "Relay":       ("이어받기",   "앞 중간본",  "모든 중간본"),
    "Elimination": ("살아남기",   "심사 되먹임", "살아남은 참가진"),
    "RedTeam":     ("공격/방어",  "남의 출품작", "방어한 수정본"),
}


def is_costume(a, b):
    """두 모드의 (압력, 보이는 것, 심사 대상)이 같으면 하나는 장식이다."""
    return MODES[a] == MODES[b]


def distinct_axes(a, b):
    return [axis for axis, (x, y) in
            zip(("압력", "보이는 것", "심사 대상"), zip(MODES[a], MODES[b]))
            if x != y]


assert not is_costume("Arena", "Relay")
print("Arena vs Relay 가 갈리는 축:", distinct_axes("Arena", "Relay"))
print("Arena vs RedTeam 가 갈리는 축:", distinct_axes("Arena", "RedTeam"))

# 축이 하나도 안 갈리면 이름만 둘인 것 — 그때가 장식이다.
assert distinct_axes("Arena", "Arena") == []

External links

Exercise

결과물 하나의 서로 다른 약점 셋을 골라 각각 Anvil 모드에 짝지어. 짝마다 결과물이 지나는 정확한 경로와 마지막 심사 대상을 적어.
Hint
답 둘이 같은 경로라면 그중 하나는 장식일 가능성이 커.

Progress

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

댓글 0

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

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