← GHMUN.COM
독서 · 생각 · 제작기

일상 회화 영단어 2000

영어 단어 100개를 뽑아달라는 요청에서 시작했다. "제일 좋은 암기법이 뭐냐"고 묻길래 간격 반복(SRS)과 능동적 인출을 같이 쓰라고 답했는데, 그 대답을 들은 사람이 "그럼 그렇게 100개만 만들어봐"라고 했다. 그날 하루 만에 플래시카드 → 주관식 퀴즈 → 객관식 퀴즈로 세 번 갈아엎고, 발음은 한 번 통째로 뜯어고치고, 마지막엔 단어 수가 400개로 늘어났다. 지금 세어보니 같은 페이지를 여섯 번 다시 배포했다.

일상 회화 영단어 400 히어로 화면, 기초 200 · 심화 200 난이도 필터와 4지선다 퀴즈 카드
카테고리 10개 × 기초 20개 · 심화 20개, 총 400단어

플래시카드는 "이게 맞는 방법이냐"는 질문 한마디에 접었다

처음엔 단어 앞면, 뒤집으면 뜻과 예문이 나오는 흔한 플래시카드로 만들어 배포했다. 그런데 "이렇게 하는 게 좋은 방법 맞아? 단어가 나오면 뜻을 맞추는 방식이 나은 거 아니야?"라는 질문이 돌아왔다. 플립 카드는 스스로 맞혔는지 아닌지 검증이 안 되는 자기 신고제라는 게 문제였다. 회화가 목적이면 한글 뜻 보고 영단어를 직접 꺼내는 연습이 더 맞겠다고 답했더니 "퀴즈 모드로 하자. 학습에 검증된 방식이면 더더욱 좋겠어"라는 답이 왔다. 그래서 뜻을 보고 영단어를 타이핑해서 맞히는 주관식 퀴즈로 갈아엎고, 맞히면 복습 간격을 늘리고 틀리면 다시 당겨오는 Leitner 시스템까지 붙였다. 그런데 바로 다음 요청이 "왜 전부 주관식으로 했어. 객관식으로 해"였다. 타이핑 채점 로직을 통째로 들어내고 보기 4개 중 고르는 방식으로 다시 짰다 — 같은 날 두 번째 전면 개편이었다.

발음을 넣었다가 "미친 거 아니냐"는 말부터 들었다

브라우저 내장 음성합성(Web Speech API)으로 발음 듣기 버튼을 넣으면서, lang만 en-US로 지정하고 정작 어떤 목소리를 쓸지는 지정하지 않았다. "누가 이런 목소리를 넣어. 미친 거아니야... 여자 목소리 없으면 그냥 넣지를 마"라는 반응이 왔다. 실제로 그 컴퓨터의 음성 목록을 뽑아보니 Bad News, Boing, Bubbles, Albert처럼 macOS가 기본으로 깔아둔 장난 음성이 수십 개 있었고, 목소리를 명시하지 않으면 그중 아무거나 골라도 이상하지 않은 구조였다. 이름으로 여성 음성을 걸러내는 로직을 새로 짜서 "Samantha"가 잡히도록 고쳤는데, 이번엔 "좀 더 자연스러운 영어 목소리 없어? 이건 한국어로 영어 읽는 느낌이야"라는 말이 돌아왔다. 다시 그 브라우저의 전체 음성 목록을 뽑아 대조해보니 Chrome이 자체로 갖고 있는 "Google US English"라는 네트워크 기반 음성이 따로 있었다 — 그동안 이름에 "female" 힌트가 붙은 Samantha가 먼저 걸려서 정작 더 자연스러운 쪽은 뒷전으로 밀려 있었다. 우선순위를 Google 음성이 있으면 그쪽부터 쓰도록 바꾸고 나서야 끝났다.

가로 스크롤 하나 때문에 다른 작업 중에 다시 불려갔다

카테고리 필터가 한 줄로 늘어서 있어서 다 보려면 마우스로 옆으로 드래그해야 했다. 발음 문제를 붙잡고 있는 도중에 "그리고 단어선택이 마우스 드래그를 해야만 하는데 그냥 칸에 맞추어 아래로 줄을 바꿔줘"라는 요청이 끼어들었다. 하던 작업을 마무리하고 나서 칩 목록에 `flex-wrap`만 걸어 화면 폭에 맞춰 다음 줄로 넘어가게 고쳤다. 사소해 보였지만 실제로 만져보면 손이 자주 가는 부분이라 뒤로 미룰 수 없는 요청이었다.

200개를 다 채워놓고 나니 "너무 쉽다"는 말을 들었다

카테고리 10개 × 20단어로 200개를 채워 배포했더니 "난이도가 쉬운 단어만 있는 것 같아. 조금 더 어려운 어휘를 섞으면 좋을 것 같아. 200단어 더 추가해줘"라는 요청이 왔다. 그냥 어려운 단어를 섞어 넣기만 하면 나중에 어느 게 쉬운 단어고 어느 게 어려운 단어인지 구분할 방법이 없어질 거라 판단해서, 단어마다 기초/심화 태그를 달고 카테고리 필터 밑에 난이도 필터 줄을 하나 더 만들었다. 기본값은 "전체 난이도"라 섞여서 나오지만, 기초만 또는 심화만 골라 연습할 수도 있게 했다. 카테고리당 심화 단어 20개씩, 총 200개를 새로 써서 넣었는데 — 예문에서 정답 단어를 빈칸으로 바꾸는 코드가 단순 문자열 포함 검사라는 걸 알고 있어서, 쓰면서부터 "procrastinate"의 예문을 "procrastinating"처럼 활용형으로 썼다가는 빈칸이 안 뚫린다는 걸 미리 걸러냈다. 다 쓰고 나서는 시키지 않았는데도 400개 전체를 훑어 예문에 정답 단어가 실제로 들어 있는지, 중복된 단어는 없는지 검증 스크립트를 한 번 더 돌렸다.

사용법: 난이도부터 정하고 시작하면 된다

맨 위 카테고리 칩 밑에 "전체 난이도 · 기초 · 심화" 필터가 있다. 처음이라면 기초부터, 어느 정도 익숙하면 심화만 걸러서 풀면 된다. "오늘 복습할 단어만" 체크박스는 기본으로 켜져 있는데, 맞힌 단어는 복습 주기가 며칠씩 밀려서 다음날 다시 오면 그새 복습 대상이 줄어 있다. 퀴즈 카드는 뜻과 빈칸 뚫린 예문을 보고 보기 4개 중 하나를 고르면 되고, 숫자 키 1~4로도 고를 수 있다. 정답을 맞히면 스피커 버튼으로 발음도 들을 수 있고, 틀리면 몇 문제 뒤에 같은 단어가 다시 나온다. "목록 보기"로 전환하면 전체 단어를 쭉 훑어보면서 현재 복습 단계(Lv.0~5)를 확인할 수 있고, 단어를 누르면 예문이 펼쳐진다. 진도는 브라우저에 저장되니 다시 들어와도 이어서 볼 수 있고, 맨 아래 "학습 기록 초기화"를 누르면(확인차 한 번 더 눌러야 한다) 처음부터 다시 시작할 수 있다.

일상 회화 영단어 2000 실제로 써보기 ghmun.com/words 가기 →