Anki 문장 암기하기 8 - 단순 암기의 발견


 컴퓨터 관련 공부를 생각만큼 하지 못한 이유는 몇 가지가 있다.


 첫 번째는 블로그다. 초기에는 vim이나 HTML/CSS 등을 공부하면서 블로그로 올릴 계획을 세웠다. 하지만 매일 공부한 것을 블로그에 올리려면 스스로 내요을 편집하고 정리해야 하는데, IT 공부는 생각 외로 전혀 단순하지 않았다. 끊임없이 의문점이 나타나고 관련 내용을 찾아보지만 스스로도 신뢰할 수 없었다. 그렇다고 책을 그대로 베껴서 포스팅을 작성할 수 없다고 판단하여 중단하게 되었다. 덕분에 블로그에 올릴 수 있는 다른 공부에 집중하게 되었다. 


 두 번째는 번역이다. 블로그에 포스팅하지 않고, 그냥 공부하려고 했다. 그런데 그럴 때마다 번역이 이상한 책들하고만 인연이 닿았다. 신뢰할 수 없는 번역, 지나치게 이상한 문장 등으로 책을 덮기 일쑤다. 그렇게 공부하기를 포기한 책들이 3~4권정도 된다. 매번 의욕에 차서 공부를 시작했다가 실망하고 덮는 과정이 반복되면서 공부에 대한 의욕도 저하될 수밖에 없었다. 나중에는 번역되지 않은 영어 원서로 공부하고 싶을 정도였다.


 마지막은 Anki에 이공계 관련 과목을 집어넣는 방법이다. 이공계를 비롯하여 IT 분야는 수식과 그림을 적극 활용할 수밖에 없다. 이제껏 한문, 영어 등의 공부는 그저 텍스트로 충분했다. 하지만 이공계 과목은 텍스트로 표현하면 지나치게 길어지고 그 의미를 제대로 전달할 수 없는 경우가 많다. 간단한 기호와 수식이면 그 함의가 정확하고 간결하게 전달된다. Anki에서 기호와 수식 표현으로 사용하기를 권장하는 소프트웨어는 LaTeX이고 제대로 정리하려면 이를 익혀야 했다. 의욕에 차서 공부하려고 책을 폈는데, 그 전에 공부해야할 것이 있다는 것을 발견한 셈이다. 그렇다고 그 공부할 내용이 간단한 것도 아니다. 거의 책 한권 분량이니 부담이 되었다. 공부하고 싶은 내용도 아니니 더더욱 의욕이 꺾였다. 이 경우에도 LaTeX을 습득할지 말지 꽤나 오래 고민했다. 필요하다는 것은 알지만 낯설고 공부할 내용도 많으며 별로 알고 싶은 내용도 아니기 때문이다. 


 다른 방법이 없었다. 어떻게든 정신을 가다듬고 LaTeX을 공부하기로 했다. 스스로에게 필요성을 역설하기 시작했다. 수식 사용이 필요한 다양한 상황을 그려보면서 의욕을 부추겼다. Anki의 카드뿐만 아니라 블로그 포스팅에도 수식을 집어넣어야 하고 아마도 무척 많이 사용할 수 밖에 없다. 수식이 필요할 때마다 사진을 찍거나 파워포인트로 얼기설기 그림을 그리면 카드 만들 때마다 고역이고, 공부할 때도 그 어설픔이 눈에 밟힐 것이다. 게다가 다른 사람들과 공유할지도 모르는 카드이므로 LaTeX을 써서 깔끔하게 조판하는 편이 바람직하다고 스스로를 설득했다. 그렇게 힘들게 LaTeX을 공부하면서 새로운 경험을 하게 되었다.


 유용한 LaTeX 교재를 찾기 어려웠다. LaTeX은 IT 소프트웨어에서 자주 볼 수 있는 특유의 문서(document)가 돌아다니는데, 이러한 문서들은 읽기 쉽지 않다. 문서는 친절한 가이드가 아니고 그저 취지와 각종 명령 사용법 등을 건조하게 제시하는 정도이기 때문이다. 이런 문서들은 하나하나 조작해보면서 씨름을 해야지 겨우 감이 온다. 그것도 어느 정도 개발 경험이 있고, 다른 비슷한 소프트웨어를 써본 경험이 있어야 빠르게 익힐 수 있다. 처음 접하는 사람이 문서로 소프트웨어를 공부하는 것은, 영어를 전혀 모르는 사람이 공부하겠다고 사전을 통째로 외우는 것처럼 막막한 행위가 될 수 있다. 게다가 문서들 대부분 읽기 쉽게 정서된 글도 아니고, 친절하게 하나하나 설명해주는 것도 아니어서 더 까다롭다. 그래서 이런 문서류는 좋아하지 않고 잘 보지도 않는다. 하지만 LaTeX은 적당한 교재를 구하기 어려웠다. 어떤 것은 너무 자세해서 부담스럽고, 어떤 것은 너무 간단해서 이해하기 어려웠다. 전문가가 될 것은 아니므로 적당히 쓸 수준의 간단한 교재를 원했지만 아쉽게도 시중에서 구입하지 못했다. 결국, 이리저리 탐색하다가 포기하고 국내 TeX 사용자 그룹인 KTUG에서 가장 초보자에게 권장하는 lshort-ko를 골랐다. 


 당시에는 지나치게 많은 Anki 카드에 질려서 쓸데없는 카드를 최대한 만들지 말자는 주의였다. 그래서 열심히 문서를 이해하고 중요한 내용만 카드로 옮겨 공부하겠다고 마음먹었다. 하지만 이는 불가능했다. 무엇이 필요하고 무엇이 필요 없는지 전혀 모르는데 어떻게 요약하고 정리할까? 게다가 LaTeX 매뉴얼은 이해하기 어려웠다. 그 서술 방식이 사용자 친화적인 아닌 점도 있지만 생소한 조판에 대해서 다루고 있어서 이기도 하다. 게다가 LaTeX의 버전이 너무 다양해서 혼란스럽고 그 다음에 등장하는 수많은 명령어와 패키지는 이런 혼란을 더욱 가중시켰다. 결국, 이리저리 탐색만 하다 지지부진 진도가 나가지 않고 또 의욕이 꺾였다. 


 아무 것도 하지 못하는 교착된 상태가 시작되면서 잠시 무기력한 나날을 보냈다. 무기력하게 노는 상황과 원래 하던 대로 무조건 외우는 상태를 비교해보니 이미 충분히 시간낭비를 했고, 무기력한 상황이 더 지속되면 더 시간낭비를 할 것 같았다. 결국, 카드를 정리하기를 포기하고 닥치는 대로 외우기 시작했다. 


 IT 관련 Anki 카드를 처음 만드는 상황은 아니다. vim이나 HTML/CSS 관련 카드를 만들어 공부했었다. 그리고 이때는 블로그 포스팅도 같이 했기 때문에 외워야할 내용들이 문장이나 글의 형태로 만들어 단순한 지식이 아닌 종합적이고 입체적인 지식의 형태가 되도록 어느 정도 노력했다. 그런데 LaTeX은 부담스러운 상황에 갑자기 얹어진 반갑지 않은 공부였고, 빨리 끝내고 싶었다. 그래서 lshort-ko 문서에 나온 단순한 설명과 명령어, 부호 등을 최대한 간단하게 다음과 같이 명령어와 해당 결과를 Q/A 식으로 작성했다.


Q : 다음 레이텍 명령의 결과는? \AE 

A : Æ

    

Q : 다음 레이텍 출력을 만드는 명령은? Æ

A : \AE 


 첫 번째 Q/A는 명령어의 작동 결과를 묻고, 두 번째 Q/A는 특정 결과를 만들어내는 명령어를 묻는 방식이다. 대부분의 카드를 이런 방식으로 간단하게 신속하게 만들었다. 기존에 하던 것처럼 프로그램 내부의 작동이나 배경, 조판 용어 설명 등을 추가로 찾아보지 않고, 그저 필수적인 몇몇 간단한 개념과 필요한 기능을 나열해서 외운 것이다. 물론, 카드는 많이 만들어졌다. 모든 특수문자와 명령어를 전부 카드로 옮겼기 때문이다. 

 

 이건 상당히 재미있는 경험이었다. 단답형의 카드들은 너무나 쉽고 빠르게 흡수되었다. 문장과 글을 곱씹어 외우는 방식을 살펴보면 처음 공부하는 새 카드는 대략 짧게는 3~4분에서 길게는 15분 정도 걸린다. 하지만 단답형 카드들은 5~10초 정도면 학습이 된다. 너무 쉽게 진도가 나가니 즐겁고 상쾌했다. 복습은 더 빨랐다. 보통 1초면 하나의 카드를 복습하고 넘어갈 수 있었다. 단순한 사실들을 상기하면서 빠르게 복습할 수 있게 되니 Anki에 수백 개의 복습 카드가 있어도 전혀 부담스럽지 않다. 오히려 상쾌했다. 외우고 곱씹는 방식에서는 느낄 수 없는 빠른 카드 클리어는 속도감을 주어 지루하지 않았고, 너무 쉽게 답을 기억해낼 수 있어서 공부에 대한 부담감을 줄이고 자존감도 살짝 올려주었다. 


 덕분에 진도가 빠르게 나아갔다. LaTeX 공부는 필요한 부분인 수식 조판을 다루는 부분까지만 공부했다. 이는 메뉴얼 절반에 해당하는 부분으로 70페이지 정도 된다. 다른 공부라면 최소 2달은 걸렸을 분량이지만 이 경우는 10일 정도로 공부를 끝낼 수 있었다. 끝내주는 속도감이었다.


 게다가, 단순히 매뉴얼을 눈으로 볼 때는 이상할 정도로 손에 잡히지 않던 내용들이 자잘 자잘한 명령어와 특수기호 사용법을 외우면서 빠르게 친숙해지고 손에 딱 달라붙기 시작했다. 단순 암기를 시도했을 때는 미리 단순한 명령들을 암기하고 다시 LaTeX 매뉴얼을 보면서 몸에 익히려는 계획이었다. 하지만 단순 암기만 했음에도 막막했던 LaTeX을 어떻게 사용해야하는지 손에 잡힐 듯 감이 오기 시작했다.


 종합하자면 LaTeX 공부 경험은 빠르게 진행되는 즐겁고 가벼운 공부라고 할 수 있다. 공부 결과도 매우 좋았다. 빠르게 LaTeX을 필요한 부분까지 익혔고 잘 사용한다. 무엇보다도 어떻게 사용할지 감이 잡혀 매우 만족하고 있다.


 왜 그 동안 한 번도 이렇게 상쾌하게 만족스럽게 공부하지 못했을까? 그것은 바람직한 공부는 주입식으로 단순 지식을 암기하지 말아야 한다고 믿었기 때문이고 그것에 더하여 지금껏 공부해온 내용들이 이런 공부에 적합하지 않았기 때문으로 보인다.


 스스로 믿는 바람직한 공부는 지식과 정보를 다른 지식과 정보와 연계시켜 입체적으로 살아있는 지식을 익히는 공부다. 그러면 해당 지식이 자연스럽게 응용되고 장기간 기억하기 편해진다고 생각한다. 그래서 문장이나 글 형태로 외우고, 그림이나 시청각 자료를 동원해서 익힌다. 어찌 보면 흔히 듣게 되는 교육 모델이랑 비슷하다. 쉬운 개념부터 차근차근 접근하고 다양한 교보재와 시청각 자료를 이용해서 생생하게 인지시키고, 개념을 추출해 심화시키는 식의 교육법이다. 이러한 교육법은 뇌 속의 다양한 신경들을 자극한다. 그 결과 지식과 활동들이 탄탄하게 결속되어 효과적으로 장기 기억을 형성하고 죽은 지식이 아닌 언제든 응용 가능한 살아있는 지식을 형성하게끔 도와준다고 여겨진다. 그리고 이런 믿음에 따라서 글이나 문장 형태로 외워보니 비록 속도가 느리기는 하지만 깊은 충족감을 느낄 수 있었다. 결국, 믿음과 경험이 공부방식이 옳다고 확신시켜주었다.


 하지만 단순 지식으로 외운 경험은 새로운 가능성을 보여주었다. 단순 지식으로 외웠다는 것은 그냥 명령어와 기호 쓰는 법 등 개별적이고 파편화된 지식으로 공부했다는 것이다. 공부하기 싫고 최소한으로 빨리 끝내려는 마음이었기 때문에 이전의 공부처럼 명령어가 작동하는 원리를 찾거나 이렇게 조판하는 이유를 더 이해해보려고 노력하는 등의 노력을 일체 하지 않았다. 처음에는 어떻게 쓰는지 전혀 모르고 중요성을 분별할 수도 없으니 일단, 외우고 매뉴얼을 다시 읽거나 실제로 사용하면서 정말 필요한 것만 하나하나 들여다보자는 심산이었다. 그런데 외웠더니 그 다음 부터는 바로바로 원하는 대로 사용할 수 있었고, 더 이상의 추가적인 공부가 필요 없었다. 깊게 공부하지 않았음에도 머릿속에 흡수된 단순 지식들이 알아서 서로 상호작용하면서 LaTeX 수식 작성이라는 체계를 세웠기 때문이다. 


 이는 어떻게 가능했을까? 두 가지 요인을 추정할 수 있었다. 그것은 머릿속에 있는 지식들의 상호작용과 암기의 힘이다. 


 일단, 머릿속에 들어온 지식들은 서로 상호작용한다. 이 점은 문장과 글을 곱씹어 외우는 과정에서 확연하게 알 수 있었다. 따라서 단순한 지식들도 흡수하면 머릿속에서 서로 상호작용하면서 하나의 체계를 구축한다고 말할 수 있다. 하지만 이런 상호작용을 과대평가할 수는 없다. 경험에 따르면 머릿속의 지식들이 상호작용하여 체계를 구축하는데 상당한 시간이 걸린다. 또, 모든 지식들이 상호작용하여 체계를 구축하지도 않는다. 사례를 들면, 문득 깨닫는 경험들이 머릿속에서 지식들이 저절로 상호작용하여 체계를 구축하는 경험인데, 인위적인 노력을 하지 않을 경우 보통 2년의 시간이 걸린다. 그리고 문득 깨닫는 경험은 1년에 2~3번 있을까 말까하니 극히 일부의 지식과 정보만 체계화된다고 봐야 할 것이다. 지식이나 정보가 중복되거나 서로 모순될 경우 잘 기억되지 않거나 기억된 내용이 왜곡되는 등 상호작용이 바로 일어나지만 서로 연관이 없는 파편화된 단순 지식들이 상호작용하여 하나의 체계를 형성하는 경우는 많지 않아 보인다.


 그래서 그 다음으로 파악한 원인은 암기의 힘이다. 무엇을 암기의 힘이라고 하는가? 암기를 하다보면 굳이 외우지 않은 것들이 자연스레 기억이 되는 경험을 한다. 가령, 장황한 근거를 제시하고 추론 과정을 거쳐서 컴퓨터가 TV와 같은 바보상자라고 논증하는 글을 생각해보자. 글을 열심히 읽고 글의 결론에 동의하며 “컴퓨터는 TV와 같이 사람들을 바보로 만든다.” 라는 문장 하나만 외운다. 그러면 신기하게도 이 문장만 되새겨도 글에서 제시한 근거와 논리들이 상당히 선명하게 머릿속에 떠오른다. 즉, 본인이 직접 읽고 요약하여 필요한 내용들을 암기하면 요약하지 않은 다양한 맥락들이 머릿속에서 생생하게 살아있게 된다. 암기한 문장이나 지식이 마치 키워드처럼 작동하여 암기하지 않은 수많은 내용과 맥락들을 떠올릴 수 있게 해준다. 


 추정하면, LaTeX 공부에서 벌어진 일이 이런 일이었다. 단순한 내용들만 간단간단하게 외웠지만 이러한 내용들을 암기하면서 그 주위의 맥락을 전부 흡수한 것이다. 덕분에 머릿속은 LaTeX 수식 작성에 필요한 단순한 명령어와 파일, 환경들을 엮어서 나만의 총체적인 수식 작성 요령을 만들어냈다. 


 글이나 문장을 곱씹어 외우려고 했던 이유가 단순한 지식들과 그 지식들이 엮이어 만드는 다양한 맥락, 함의 등을 명시적으로 표현하고 전부 흡수하기 위함이었다. 그런데 LaTeX 공부를 하면서 단순 지식을 외우는 것만으로 이러한 맥락이 저절로 흡수된다는 점을 깨달았다. 깨달은 순간부터 곱씹어 외우기가 지나치게 시간과 노력을 잡아먹는 사치스러운 공부로 보이기 시작했다.

 HTML/CSS 관련 Ankilog를 올리기 시작한 것은 2017년 12월 부터였으니 대략 1년이 넘어간다. 이 1년 동안 포스팅을 성실하게 올리지는 못했지만 나름 꾸준하게 올렸다. 하지만 2019년이 되면서 HTML/CSS에 대한 Ankilog 포스팅이 막혔다. 그만 둔 것이 아니라 막힌 것이다.


 그 이유는 HTML/CSS 공부에 대한 맥락을 잃어버렸고, 오류가 많았기 때문이다. 


 우선, IT를 공부하려는 의도로 시작했는데, 정신을 차려보니 디자인을 공부하고 있었다. 내 의도는 명백히 IT 기술인데 어느새, 폰트와 조판, 색깔의 배치 등을 출판 편집 디자인 같은 것을 공부하고 있었다. 그리고 그걸 깨닫자마자 스스로 하고 있는 것이 무엇인지 헤매면서 길을 잃게 되었다.


 사람들마다 잘 맞는 공부가 있는 법이다. 그리고 나의 경우 디자인은 잘 맞는 공부가 아니다. 흥미도 관심도 없기 때문이다. 나에게 디자인이란 그저 단순하게 잘 읽히고, 잘 보이면 되는 것이지, 색깔의 배합과 여백의 크기에 관심으로 이어지지 않는다. 재능이 있는 것도 아니고 관심이나 흥미가 있는 것도 아닌 것을 공부하는 것은 고행이다. 이런 것을 공부하려면 필연적인 맥락이 존재해야 한다. 가령, 평소라면 식용 가능한 식물이 무엇인지 관심이 없겠지만 산에서 길을 잃고 식물을 채취해서 먹어야 하는 상황이라는 필연적인 맥락이 생기면 열심히 식용 가능한 식물이 무엇인지 관심을 가지게 될 것이다. 


 시험과 점수는 바로 이러한 필연적인 맥락을 부여하기 위한 기본적인 장치다. 하지만 지금 내가 하고 있는 공부는 점수나 자격증을 따기 위한 시험공부가 아니라 순수하게 즐기는 공부다. 새로운 지식을 아는 순간 그동안 이해하지 못했던 것들을 이해하게 되고 의미를 이해하게 되는 것을 즐긴다. 그런데 맥락을 잃은 순간 이 모든 지식의 즐거움이 빛바래게 된다. 맛있는 밥이 갑자기 모래처럼 씹히는 느낌이다.


 두 번째 이유는 오류가 꽤 많이 발생한다는 점이다. 나름 최선을 다해서 검증한다고 했지만, 전문가로서 공부해야할 내용을 정리해서 올리는 것이 아니라, 초보자로서 그날그날 공부한 내용을 올리고 있기 때문에 당연히 그 내용이 근시안적일 수밖에 없다. 그날 공부할 때는 옳다고 생각했던 내용들이 다른 곳에서 오류라는 점이 밝혀지거나 하는 경우가 가끔 발생한다. 


 혹은 의문점이 생겼는데 이 의문점을 해결할 수 없는 경우도 많다. 사실, 이 부분이 제일 힘들다. W3C 튜토리얼도 종종 이상한 방식으로 설명하는 것 같고, 책을 읽어보니 외국 사이트를 그대로 베낀 것도 많이 눈에 띈다. 또, HTML 버전, 실무 경력, 웹 브라우저의 종류에 따라서 이야기가 달라지는 경우도 많아 무엇을 신뢰하고 학습해야할지 잘 모르겠다. 일일이 검증을 해보려고 하는데, 검증할 사항은 너무 많고 제대로 하고 있는지 확신이 잘 서지 않기 때문에 더더욱 손을 대기가 어렵게 느껴진다. 


 원래 내 성향대로라면 좀 더 기초적인 분야로 돌아가서 이를 이해하고 다시 돌아와야 맞지만 HTML 관련 역사나 내용을 보면 더 기초적인 분야라고 할 수 있는 것이 없어 보인다. 웹에서 가장 기초적인 분야는 HTML이기 때문이다. 이 HTML을 CSS로 꾸미고 Javascript로 작동시키는 것이 웹의 기본이기 때문이다.

 

 또, IT를 처음 공부할 때는 그저 프로그래밍 언어를 공부하면 된다고 막연히 생각했다. 하지만 조금씩 공부를 하면서 프로그래밍 언어는 그저 수단일 뿐이라는 점도 알게 되었다. 프로그래밍 언어를 배운다는 것은 기본적인 제어 외에는 IT의 관련 분야를 배우는 것과 같았다. 네트워크를 프로그래밍 한다면 프로그래밍 언어도 알아야 하지만 네트워크를 이해하고 네트워크에서 조작가능한 부분과 개선할 점 등을 아는 것이 더 중요하다. 프로그래밍 언어는 그저 도구일 뿐이다. 결국, IT를 공부한다는 것은 하드웨어와 소프트웨어, 그리고 관련 분야의 토픽을 같이 공부하는 것이다.


 HTML도 마찬가지다. 결국, 웹 브라우저에 표시될 웹 사이트를 만드는 것이 기본적인 역할이다. 그리고 CSS는 그 자체로 디자인이라는 목적을 위해서 설계된 언어이기 때문에 디자인의 개념들이 CSS에 녹아들고 있는 것이다. 이것을 IT가 아닌 것이라고 규정하는 것은 적합하지 않은 것 같다. 


 HTML과 CSS를 처음 공부할 때는 이게 뭔지도 모르고 그저 필요한 기초 IT 공부라고 생각했다. 이게 웹 페이지를 구축하고 디자인하기 위한 도구라는 점을 들어서 알고는 있었지만, 이제 “정말 그렇구나.” 라고 진실로 체득하게 된 셈이다. 즉, 뒤집어 생각해보면 내가 발전했기에 오히려 길을 잃어버린 것이다.


 따라서 지금 내가 할 일은 잃어버린 맥락을 복원하고 내공을 닦는 것이다. 그 동안 블로그에 포스팅하기 위해 포스팅할 주제 위주로 내용을 파악했다면, 당분간은 웹 페이지 디자인에 관한 디자이너들의 고민과 기초적인 내용과 토픽을 읽어보고 관련 HTML과 CSS를 사용하는 방식에 대하여 조금 총체적으로 파악해보려고 한다. 맥락이 없는 공부가 고행이라면 맥락을 만들면 되는 것이다. 기본적인 내용들을 파악함으로써 평생 한번도 건드려보지 못한 영역을 맛볼 수 있게 된다면 그것도 매우 이익이다. 오히려, HTML과 CSS 공부라는 맥락으로 디자인을 조금 파는 것도 괜찮아 보인다. 그리고 그래도 영 안맞는다면 아주 기초적인 수준만 달성하고 돌아오면 될 일이다. 


 맥락을 복원하고 내공이 조금 쌓일 때까지 HTML/CSS 포스팅을 잠시 쉬어가려고 한다. 어차피, 공부는 Ankilog로 할 것이므로 결국, 다시 Ankilog 포스팅으로 돌아올 것이다. 너무 오래 걸리지는 않을 것이라고 생각한다. 

+ Recent posts