반응형

소설로 읽는 고려사 (11편)

대륙의 폭풍 — 몽골의 침입과 강화도 천도

A Narrative of History

그해 겨울, 압록강은 비릿한 금속의 냄새를 머금고 얼어붙었다. 강 너머에서 불어오는 바람은 단순히 차가운 공기의 이동이 아니었다. 그것은 대지 깊숙한 곳에서부터 솟아오른 거대한 짐승이 내뱉는 날카롭고 건조한 숨결이었고, 흙을 짓이기는 수만 개의 말발굽이 몰고 오는 검은 전조였다. 성벽 위에 선 병사의 눈동자 속으로, 지평선을 가득 메운 그림자들이 일렁이며 다가왔다. 푸른 늑대의 후예들이라 불리던 몽골의 기병들이었다. 그들이 내딛는 발걸음마다 고려의 연약한 흙은 비명을 지르며 부서졌다. 그것은 이미 오래전부터 예고된 재앙이었으나, 막상 닥쳐온 공포의 무게를 가늠할 수 있는 이는 아무도 없었다. 사람들은 그것을 하늘이 내린 벌이라 불렀고, 어떤 이들은 비로소 세상의 끝에 당도했음을 직감했다.

살리타가 이끄는 군대는 소리 없이, 그러나 압도적인 무게감을 지닌 채 국경을 넘었다. 그들이 지나간 자리에는 오직 타버린 살점의 냄새와 기괴한 정적만이 고여 있었다. 1231년, 평화로운 수확의 계절이 지나가기도 전에 고려의 북방은 피로 물들었다. 귀주성에서 박서가 끈질긴 사투를 벌이며 성문을 지켜냈지만, 대륙의 광풍은 견고한 성벽을 우회해 고려의 심장부를 향해 소용돌이치며 밀려왔다. 개경의 하늘은 낮게 가라앉아 숨을 죽였고, 궁궐의 처마 끝에는 공포가 투명한 고드름처럼 매달려 금방이라도 부서질 듯 위태로웠다. 왕실의 회랑에는 발자국 소리보다 깊은 한숨 소리가 먼저 번져 나갔다. 칼을 든 무신들의 손바닥은 보이지 않게 떨리고 있었으며, 붓을 쥐고 세상을 논하던 문신들의 손끝은 먹물이 바짝 말라붙어 더 이상 한 치의 문장도 나아가지 못했다.

실권자 최우는 어두운 밀실 안에서 낡은 지도를 내려다보았다. 일렁이는 촛불이 벽면에 그의 그림자를 기괴하게 늘어뜨릴 때마다, 그의 눈동자 속에는 차가운 계산이 번뜩였다. 그는 알고 있었다. 고려의 기병이 아무리 용맹한들, 유라시아 대륙을 집어삼킨 저 괴물들을 평원에서 막아내는 것은 자살 행위임을. 그의 시선은 지도 끝, 서해의 거친 물살 속에 자리한 작은 섬으로 향했다. 강화(江華). 육지와는 불과 몇 마일 떨어지지 않았으나, 거친 조수와 썰물의 갯벌이 천연의 성벽이 되어줄 그곳만이 무신 정권이 꿈꿀 수 있는 최후의 요새였다.

“개경을 버려야 한다. 바다를 건너 저들이 범접할 수 없는 섬으로 들어가 장기전을 도모해야 고려가 산다.”

최우의 목소리는 낮았고, 얼음장처럼 차가웠다. 그것은 결단이라기보다 비겁하고도 지독한 생존의 선언에 가까웠다. 관료들은 술렁였고 백성들은 망연자실했다. 나라의 어버이라던 왕실이, 세상을 호령하던 무신들이 가장 먼저 안전한 곳으로 몸을 숨기려 했다.

결정이 내려지자마자 개경은 아수라장으로 변했다. 왕실과 귀족들은 서둘러 수레에 짐을 실었다. 화려한 비단과 금은보화가 진흙탕 위를 굴러가는 동안, 길가에 버려진 백성들의 절규는 자욱한 안개 속에 묻혀 누구에게도 닿지 못했다. 대동강의 물줄기가 붉게 물들어가는 동안, 권력은 바다 너머의 안전한 고립을 향해 서둘러 돛을 올렸다. 남겨진 자들의 시선은 강화로 향하는 배들의 뒷모습에 박혀 소리 없는 피를 흘렸다. 섬 안에서는 화려한 가옥이 지어지고 술잔이 오갔지만, 섬 밖의 산하(山河)는 몽골의 말발굽 아래 짓이겨지며 검은 연기를 내뿜었다.

...

배가 육지를 떠날 때, 물결은 비정하게 갈라졌다. 강화도의 갯벌 위로 차가운 바닷물이 차오를 때, 그것은 지키지 못한 땅에 홀로 남겨진 자들이 흘리는 소금기 어린 눈물과 같았다. 육지에 남겨진 백성들은 임자 없는 짐짝처럼 몽골의 기병들 앞에 무력하게 놓였다. 평화롭던 마을은 불길에 휩싸였고, 아이들의 가느다란 울음소리는 검은 연기 속으로 흔적 없이 흩어졌다. 그러나 죽음이 일상이 된 그 척박한 땅 위에서도 누군가는 무너지지 않고 다시 일어섰다. 1232년, 처인성의 좁은 벌판이었다.

승려 김윤후는 해진 승복을 벗어 던지고 활을 들었다. 그의 손가락 끝에서 떨리는 것은 활시위가 아니라 살아야 한다는, 아니 죽어서라도 이 땅을 지켜내야 한다는 지독한 열망이었다. 성벽이라 부르기조차 민망한 낮은 토성 위에서 그는 지평선을 바라보았다. 금색 투구에 붉은 깃털을 단 몽골의 거장 살리타가 거드름을 피우며 다가오고 있었다. 김윤후는 숨을 멈췄다. 온 우주의 정적이 화살촉 끝에 맺혔다. 그가 날린 단 한 대의 화살이 살리타의 가슴을 정면으로 꿰뚫었을 때, 고려의 하늘에는 잠시 숨 가쁜 희망의 연기가 피어올랐다. 거대한 장수가 말 위에서 묵직하게 고꾸라지는 소리는 대지를 흔드는 천둥소리처럼 메아리쳤다. 그것은 이름 없는 민초들이 거대한 제국을 향해 내지른 최초의 반격이자 유일한 비명이었다.

그러나 승전의 짧은 환희 뒤에는 아득히 긴 수난의 세월이 기다리고 있었다. 몽골의 분노는 더욱 거세게 고려의 산천을 짓밟았다. 경주의 들판에서 황룡사의 9층 목탑이 시꺼먼 불길 속에서 무너져 내릴 때, 사람들은 하늘이 실제로 무너지는 환각을 보았다. 수백 년의 세월을 견디며 고려의 정신을 지탱해온 거대한 목조 구조물이 한낱 숯덩이가 되어 쓰러지는 모습은 고려라는 나라의 자존심이 통째로 꺾이는 순간과 다름없었다. 인류의 지혜가 응축된 초조대장경판이 한 줌의 허망한 재로 변할 때, 사람들은 비로소 깨달았다. 이 전쟁은 단순히 영토를 빼앗기 위한 싸움이 아니라, 한 민족의 기억과 영혼을 뿌리째 파괴하려는 거대한 음모라는 것을.

강화도의 습한 공기 속에서 장인들은 다시 칼을 들었다. 그들은 불타버린 경판 대신, 거친 나무판 위에 한 자 한 자 간절한 기원을 새겨 넣기 시작했다. 손끝에 박히는 날카로운 가시와 눈으로 파고드는 미세한 나무 가루를 견디며, 그들은 무너진 나라의 기둥을 다시 세우듯 정교하게 글자를 팠다. 그것이 훗날 우리가 팔만대장경이라 부를, 절망의 벼랑 끝에서 피워낸 불멸의 꽃이었다. 칼날이 단단한 나무를 파고드는 소리는 적막한 강화의 밤을 깨우는 유일하고도 처절한 고동 소리였다. 8만 개의 경판은 단순한 기록물이 아니라, 고통 속에서 건져 올린 고려의 마지막 숨결이자 꺾이지 않는 자존의 기록이었다.

강화도의 바닷가는 늘 안개가 자욱하게 깔려 있었다. 그 안개 너머로 육지에서 피어오르는 불길을 바라보며 왕은 홀로 소리 죽여 울었고, 실권자는 화려한 술잔을 들어 공포를 잊으려 했다. 그사이 백성들은 이름 없는 산성에서, 갯벌에서 처참하게 죽어갔다. 전쟁은 30년을 넘게 지루하고도 잔혹하게 이어졌고, 국토는 굶주린 짐승의 발톱에 할퀸 것처럼 만신창이가 되었다. 하지만 고려는 끝내 무너지지 않았다. 처인성에서, 충주성에서, 그리고 지도에도 표시되지 않은 수많은 산성에서 이름 없는 백성들은 서로의 체온에 의지해 혹독한 계절을 버텼다. 강화도의 거친 파도는 오늘도 여전히 갯벌을 때리며, 그날의 치욕과 숭고한 항전의 역사를 끊임없이 증언하고 있다.

사라진 황룡사의 재가 눈처럼 날릴 때에도,
이름 없는 민초들은 갯벌에 박힌 발가락의 힘으로 버텼다.
무너진 것은 성벽이었지, 그들의 투혼이 아니었다.

📚 한능검 핵심 요약: 몽골의 침입과 대몽 항전

1. 몽골의 침입과 천도 과정

  • 침입의 배경: 몽골 사신 저고여의 피살 사건을 구실로 1차 침입 시작(1231).
  • 강화도 천도: 최우 무신 정권이 장기 항전을 위해 수도를 강화도로 옮김(1232).
  • 수난의 역사: 전쟁 중 황룡사 9층 목탑(경주)과 초조대장경판(대구 부인사) 소실.

2. 주요 항전의 기록 ★★★★★

회차 사건 / 장소 핵심 인물 비고 (특징)
1차 귀주성 전투 박서 끈질긴 저항으로 성을 사수함
2차 처인성 전투 김윤후 부곡민과 함께 살리타를 사살함
5차 충주성 전투 김윤후 노비 문서 소각 약속으로 사기 진작
- 팔만대장경 강화도(재조도감) 부처의 힘으로 국난을 극복코자 제작
💡 한능검 출제 포인트!
몽골 사신 저고여 사건 → 강화도 천도(최우) → 처인성 전투(김윤후) → 팔만대장경 순서를 기억하세요. 특히 김윤후는 승려 출신이며 정규군이 아닌 부곡민, 하층민과 함께 승리했다는 점이 정답의 핵심입니다!
✏ 암기 구호
"박서는 귀주성, 윤후는 처인성!"
"최우는 강화도, 불탄 건 목탑뿐!"

대륙의 폭풍이 휩쓸고 간 자리는 참혹했으나, 그 폐허 위에서 고려는 다시금 정신을 가다듬고 칼날 같은 글자를 새겼습니다.

📌 다음 편 주제 예고
「소설로 읽는 고려사 (12편): 삼별초의 항쟁 — 바다로 간 마지막 맹호들」
개경 환도를 거부하고 끝까지 항전했던 그들. 진도에서 제주도까지, 고려의 푸른 바다를 피로 물들였던 삼별초의 마지막 자부심을 그려봅니다.

 

#고려사 #몽골침입 #강화도천도 #김윤후 #처인성전투 #박서 #팔만대장경 #황룡사9층목탑 #초조대장경 #역사소설 #한능검 #한국사능력검정시험 #역사공부 #블로그작가

반응형
반응형

소설로 읽는 수학사: 유클리드 편 (1부)

침묵하는 점의 비명 — 아테네의 고독한 관찰자

The Genesis of Stoicheia

기원전 4세기, 아테네의 공기는 언제나 비릿한 지중해의 소금기와 뜨겁게 달궈진 대리석 먼지로 가득했다. 태양은 신들의 눈동자처럼 자비 없이 쏟아졌고, 아고라를 가득 메운 정치가들과 철학자들의 목소리는 끈적한 소음이 되어 허공을 떠돌았다. 사람들은 정의를 논하며 칼을 갈았고, 진리를 외치며 서로의 모순을 물어뜯었다. 그 무질서한 소란으로부터 한 발자국 떨어진 채, 어린 유클리드는 신전의 그늘진 회랑 아래 웅크리고 앉아 있었다. 소년의 눈에 비친 세상은 위태로웠다. 어제의 진리가 오늘의 거짓이 되고, 오늘의 권력이 내일의 잿더미가 되는 시대. 유클리드는 알고 싶었다. 결코 부서지지 않는 것, 누구도 부정할 수 없는 단 하나의 문장이 과연 이 땅에 존재하는지를. 그 갈망은 소년의 폐부 깊숙이 박힌 차가운 가시와 같았다.

유클리드의 가문은 부유한 상인이었으나, 그의 아버지는 아들의 눈동자에서 일렁이는 기묘한 정적을 두려워했다. 아들이 비단과 향료의 무게를 달기보다, 허공에 그어지는 보이지 않는 선들의 무게를 가늠하고 있었기 때문이다. "세상은 숫자로 돌아가는 것이 아니라 운으로 돌아가는 것이다. 운명에 순응하는 법을 배워라." 아버지는 타이르듯 말했으나 유클리드는 대답 대신 바닥의 고운 모래 위에 막대기로 원을 그렸다. 파도가 밀려오면 흔적도 없이 사라질 운명이었으나, 소년의 머릿속에서는 그 원이 영원히 닫히지 않는 완벽한 궤도를 그리며 박동하고 있었다. 유클리드에게 보이지 않는 것은 보이는 것보다 훨씬 선명한 실체였다.

10대에 접어든 유클리드는 가업을 이으라는 문중의 요구를 뒤로한 채, 플라톤이 세운 지혜의 성전 '아카데미아'의 문을 두드렸다. 그곳의 차가운 돌판 위에는 날카로운 기각의 문장이 새겨져 있었다. '기하학을 모르는 자, 이 문을 들어오지 말라.' 유클리드는 그 문장 앞에서 비로소 자신이 돌아갈 집을 찾았음을 직감했다. 세상의 그 어떤 화려한 수식어도, 교묘한 변론도 필요치 않은 곳. 오직 증명만이 신분이고, 논리만이 언어가 되는 그 서늘한 교실 안에서 그는 늙은 스승들의 사유를 스펀지처럼 빨아들였다.

“스승님, 어째서 점이 모든 것의 시작입니까? 그것은 보이지도 않고 만질 수도 없지 않습니까.”

유클리드의 물음에 스승은 흙판 위에 아주 미세한 점 하나를 찍었다. “점이 무엇이라 생각하느냐? 그것은 부분을 가지지 않는 것이다. 존재하지만 형체가 없고, 실재하지만 부피가 없는 것. 이 침묵하는 점에서부터 온 우주의 질서가 시작되기 때문이다. 네가 보는 저 거대한 신전도, 저 끝없는 바다도 결국 이 보이지 않는 점들의 연속일 뿐이다.”

그날 이후, 유클리드의 세계는 분절되기 시작했다. 그는 밤마다 올리브유가 타오르는 희미한 불빛 아래서 피타고라스 학파의 비밀스러운 조화와 에우독소스의 정교한 비율론을 수집했다. 당시의 수학은 흩어진 보석들과 같았다. 아름다웠으나 실로 꿰어지지 않았고, 정교했으나 뿌리가 약했다. 누군가는 경험에 의지해 농토의 넓이를 구했고, 누군가는 직관을 앞세워 별의 위치를 짐작했다. 하지만 유클리드에게 '아마도' 혹은 '대충'이라는 단어는 참을 수 없는 오염이었다. 그는 모든 진리가 단 하나의 근원적인 샘물에서 솟아나야 한다고 믿었다. 나무가 대지 깊숙이 뿌리를 박고 하늘을 향해 가지를 뻗듯이, 수학 또한 가장 명백한 '공리'에서 시작하여 장엄한 정리의 성전을 지어야 했다.

사유가 깊어질수록 유클리드는 더욱 고립되었다. 아테네의 청년들이 아고라에서 웅변술을 익히며 입신양명을 꿈꿀 때, 그는 자신의 손가락 사이로 흐르는 무수한 정의(Definition)들을 가다듬었다. "선은 폭이 없는 길이다." "선분의 끝은 점이다." 그 메마른 문장들이 소년의 머릿속에서 살을 얻고 뼈를 형성하며 거대한 유기체로 자라났다. 하지만 아테네는 이미 낡아 있었다. 펠로폰네소스 전쟁의 상처는 깊었고, 지식인들은 실천 없는 말잔치에 빠져 허우적거렸다. 유클리드는 자신의 머릿속에 설계된 이 완벽한 논리의 요새를 현실의 양피지 위에 구현할 새로운 땅이 필요함을 절감했다.

...

기원전 323년, 세상을 호령하던 알렉산드로스 대왕의 급작스러운 죽음과 함께 역사의 수레바퀴가 요동치기 시작했다. 거대한 제국은 산산조각 났으나, 그 혼란의 틈바구니에서 새로운 지식의 등대가 솟아올랐다. 이집트의 알렉산드리아. 그곳은 정복의 칼날이 멈춘 자리에 사유의 꽃이 피어나는 약속의 땅이었다. 유클리드는 낡은 가죽 샌들의 끈을 조여 맸다. 그의 품속에는 아카데미아에서 보낸 수십 년의 세월이 응축된 무수한 양피지 뭉치들이 들어 있었다. 그것은 상인들이 탐내는 금은보화보다 무거웠고, 어떤 병기보다 치명적인 변화의 씨앗을 품고 있었다.

배가 아테네의 항구를 떠날 때, 유클리드는 뒤를 돌아보지 않았다. 수평선 너머로 사라지는 대리석 기둥들을 바라보며 그는 생각했다. "나는 단순히 책을 쓰러 가는 것이 아니다. 나는 세상을 영원히 지탱할 보이지 않는 뼈대를 세우러 가는 것이다." 바닷바람은 차가웠고 파도는 비정하게 선체를 때렸으나, 유클리드의 내면에는 이미 점이 선이 되고, 선이 면이 되며, 면이 입체가 되는 장엄한 대서사시의 첫 문장이 적히고 있었다. 그것은 훗날 인류 지성사의 지도가 될 '기하학 원론(Elements)'의 위대한 태동이었다.

알렉산드리아로 향하는 긴 항해 동안, 그는 밤하늘의 북극성을 이정표 삼아 공준(Postulate)들을 다듬었다. "임의의 두 점을 잇는 직선을 그을 수 있다." 이 단순하고도 자명한 문장이 세상의 모든 모순을 잠재울 유일한 무기라는 사실을 그는 믿어 의심치 않았다. 무한을 향한 인간의 첫 번째 좌표는 그렇게 파도 위에서, 그리고 고독한 소년의 심장 안에서 잉태되고 있었다. 유클리드의 인생 1막은 아테네의 먼지 속에 묻혔으나, 그가 품은 차가운 빛은 이제 막 나일강의 비옥한 삼각주를 향해 뜨겁게 타오르기 시작했다.

존재하지만 만질 수 없는 점 하나가 모든 실재의 근원이 된다는 사실을 깨달았을 때,
소년은 비로소 인간의 언어를 버리고 우주의 기호를 배우기 시작했다.

📚 수학사 핵심 요약: 유클리드와 논리 기하학의 탄생 (1부)

1. 시대적 배경과 유클리드의 철학

  • 플라톤의 아카데미아: "기하학을 모르는 자 들어오지 말라"는 철학적 바탕 아래서 엄격한 논증법을 익힘.
  • 공리적 방법론의 씨앗: 감각적 경험보다 이성적 사고를 우위에 두며, '증명'이 없는 지식을 경계함.
  • 흩어진 지식의 수집: 피타고라스, 에우독소스 등 이전 수학자들의 성취를 하나의 계통으로 묶기 시작함.

2. 주요 핵심 용어 정리 ★★★★★

구분 유클리드의 정의 비고 (의의)
점 (Point) 부분이 없는 것 모든 기하학적 형상의 최소 단위이자 시발점
선 (Line) 폭이 없는 길이 면을 구성하는 기초이자 점의 연속적 흐름
정의 (Definition) 용어의 의미를 규정함 수학적 의사소통의 혼선을 막는 약속
💡 수험생 및 독자 주의 포인트!
유클리드는 기하학을 '발명'한 사람이 아닙니다. 그는 기원전 300년경까지 존재하던 고대 수학 지식을 집대성하고, 이를 **'공리-증명'**이라는 논리적 순서로 재배치한 '천재적인 편집자'이자 '체계화의 아버지'라는 점이 시험 문제의 핵심입니다!
✏ 핵심 암기 구호
"부분 없는 점 하나, 폭이 없는 선 하나!"
"아카데미아의 문턱은 오직 기하학뿐!"
"경험을 넘어 논리로, 흩어진 진리를 꿰어 보석으로!"

아테네를 떠난 유클리드는 이제 지식의 용광로, 알렉산드리아에 도착합니다. 다음 편에서는 파라오의 부름 아래 인류 최대의 도서관에서 집대성되는 '기하학 원론'의 장엄한 완성 과정과 그의 전성기를 세밀하게 다룹니다.

📌 다음 수학 이야기 예고
「소설로 읽는 수학사: 유클리드 편 (2부): 불멸의 성전 — 잉크로 쌓아 올린 논리의 요새」
"기하학에는 왕도가 없습니다." 파라오 프톨레마이오스 앞에서 유클리드가 내뱉은 그 서늘한 경고는 어떻게 탄생했을까요? 잉크가 피가 되고, 수식이 뼈가 된 기록의 시간이 펼쳐집니다.

 

#수학사 #유클리드 #기하학원론 #플라톤 #아카데미아 #아테네 #알렉산드리아 #수학소설 #과학사 #그리스수학 #블로그작가 #수학이야기 #유클리드기하학 #기하학의아버지 #수학전기소설
반응형
반응형
코딩으로 시간 벌기 / 엑셀 VBA

여덟 번째 이야기: 수천 줄 데이터에서 '원하는 것'만 쏙 뽑아내기

물류아재 칵칵 · 엑셀 VBA 시리즈 8편

안녕하세요, 물류와 코딩 사이의 경계에서 성장하고 있는 물류아재 칵칵입니다. 😊

매일 아침 수천 줄의 전일 출고 데이터를 열 때마다 드는 생각이 있죠. "이 중에서 '미출고' 건만 따로 모아서 보고해야 하는데..." 필터를 걸고 복사해서 새 시트에 붙여넣는 일, 5분이면 하지만 매일 하면 일 년에 20시간이 넘는 노동이 됩니다. 오늘은 이 노가다를 단 1초 만에 끝내주는 데이터 자동 추출 매크로를 배워보겠습니다.


자동 추출의 원리 💡

🔍 매크로의 사고방식
1. 원본 시트의 데이터를 한 줄씩 읽는다.
2. "이 줄의 상태가 '미출고'인가?"라고 묻는다 (If문).
3. 맞다면 추출 시트의 다음 빈 줄에 복사해서 붙여넣는다.

데이터 자동 추출 코드 (복붙용) 🛠️

원본 시트 이름이 **"Data"**이고, 데이터를 모을 시트 이름이 **"Extract"**라고 가정합니다. 원본의 **B열(2번째 열)**에 상태값이 있다고 설정했습니다.

Sub ExtractData()
    Dim wsSource As Worksheet, wsTarget As Worksheet
    Dim lastRow As Long, i As Long, targetRow As Long

    Set wsSource = Sheets("Data")
    Set wsTarget = Sheets("Extract")

    '1. 기존 추출 데이터 삭제
    wsTarget.Cells.Clear
    wsSource.Rows(1).Copy wsTarget.Rows(1) '제목줄 복사
    
    lastRow = wsSource.Cells(wsSource.Rows.Count, 1).End(xlUp).Row
    targetRow = 2

    '2. 반복문을 돌며 조건 확인
    For i = 2 To lastRow
        If wsSource.Cells(i, 2).Value = "미출고" Then
            wsSource.Rows(i).Copy wsTarget.Rows(targetRow)
            targetRow = targetRow + 1
        End If
    Next i

    MsgBox "추출 완료! 총 " & targetRow - 2 & "건을 찾았습니다."
End Sub

코드 포인트 레슨 📚

코드설명
targetRow = 2 추출 시트에 데이터를 쌓을 시작 위치입니다.
Cells(i, 2) 2번째 열(B열)의 값을 확인하라는 뜻입니다.
Rows(i).Copy 조건에 맞으면 해당 줄 전체를 통째로 복사합니다.

💡 칵칵의 실무 팁
만약 '미출고' 뿐만 아니라 '오배송' 건도 같이 뽑고 싶다면?
If wsSource.Cells(i, 2).Value = "미출고" Or wsSource.Cells(i, 2).Value = "오배송" Then
이렇게 Or를 사용해 조건을 확장할 수 있습니다!


⚠️ 주의사항
- 시트 이름이 코드와 정확히 일치해야 합니다 (Data, Extract).
- 데이터 양이 수만 건 이상이라면 속도가 느려질 수 있습니다.

반복적인 추출 작업에 소모되던 에너지를 이제 기획과 분석에 쓰세요. VBA는 여러분의 시간을 벌어다 주는 가장 든든한 비서입니다. 💪

다음 편에서는 "여러 개의 엑셀 파일을 하나로 합치는 마법"을 소개해 드릴 예정입니다. 물류 현장의 수많은 일일 리스트를 하나로 합칠 때 필수적인 기능이니 기대해 주세요! 😊

반응형
반응형

소설로 읽는 고려사 (10편)

하층민의 절규 — 망이·망소이부터 만적의 반란까지

A Narrative of History

그늘은 길고 눅눅했다. 공주 명학소의 흙바닥에서는 언제나 마르지 않는 습기와 쇠 냄새가 섞인 비릿한 악취가 났다. 숯을 굽고 종이를 만드는 이들의 손등은 갈라진 가뭄의 논바닥처럼 깊게 패어 있었고, 그 틈으로 배어든 검은 매연은 씻어도 씻기지 않는 문신(文身)처럼 그들의 운명을 규정짓고 있었다. 그들은 인간이기 이전에 물건이었고, 이름 이전에 세금을 매기는 번호였다. 망이의 손바닥에 박힌 굳은살은 이제 감각을 잃은 지 오래였다. 그 단단한 가죽 같은 피부 아래로 맥박치고 있는 것은 뜨거운 피가 아니라, 차갑게 식어가는 절망의 부스러기들이었다.

무신들이 칼로 세상을 뒤엎었을 때, 누군가는 세상이 바뀔 것이라 속삭였다. 그러나 칼을 쥔 손만 바뀌었을 뿐, 그 칼날이 겨누는 곳은 여전히 가장 낮고 그늘진 곳에 웅크린 이들의 목덜미였다. 도망친 왕은 거제도의 파도 소리에 울었으나, 명학소의 사람들은 마른 침조차 삼키지 못하는 허기 속에서 울음조차 잊었다. 세금으로 거둬가는 숯의 양은 늘어났고, 그 숯이 타오르는 온기만큼 그들의 식은 육신은 더욱 차갑게 비틀어졌다. 1176년, 겨울의 끝자락에서 망이는 자신의 아우 망소이의 굽은 등을 보았다. 숯가마 열기에 그을린 등의 피부가 허물처럼 벗겨지고 있었다. 그것은 살이 아니라 짐승의 가죽에 가까웠다.

망이는 자신의 손톱 사이에 박힌 검은 검댕을 내려다보았다. 그것은 단순히 숯의 흔적이 아니었다. 대대로 이어져 온 가난의 낙인이자, 고려라는 거대한 수레바퀴 아래 깔려 으스러진 골수의 잔해였다. 관청에서 파견된 관리들의 채찍은 소리 없이 공기를 가르며 그들의 마른 등 위로 떨어졌다. 채찍이 지나간 자리마다 붉은 선이 그어지고, 그 선은 다시 진물이 되어 흙바닥으로 흘러내렸다. 바닥의 흙은 그 피를 게걸스럽게 들이켰으나, 땅은 결코 그들에게 곡식을 내어주지 않았다. 그들은 다만 숯을 굽기 위해 나무를 베고, 자신의 영혼을 태워 연기를 뿜어낼 뿐이었다.

“형님, 이렇게 죽으나 저렇게 죽으나 매한가지라면, 한 번이라도 사람의 숨을 크게 들이켜보고 죽고 싶소.”

망소이의 목소리는 숯가마에서 새어 나오는 연기처럼 건조하고 흐릿했다. 망이는 대답 대신 자신의 옆에 놓인 투박한 낫을 쥐었다. 쇠가 손바닥의 굳은살에 닿는 차가운 감각이 비로소 그를 깨웠다. 그것은 살인이 아니라, 더 이상 깎여 나갈 살점이 없는 이들이 선택한 최후의 외과 수술이었다. 그들은 일어섰다. 낫과 괭이, 그리고 분노로 벼려진 숯검정 묻은 손들이 햇빛 아래 드러났다. 명학소의 흙먼지가 바람을 타고 공주 시내를 뒤덮었을 때, 개경의 권력자들은 비웃었다. “천한 것들이 감히.” 그러나 그 비웃음이 비명으로 변하는 데는 그리 오랜 시간이 걸리지 않았다.

불꽃은 전국으로 번져나갔다. 그것은 정교한 전략에 의한 전쟁이 아니라, 억눌린 육체들이 일제히 터뜨리는 파열음이었다. 전주에서, 명주에서, 운문에서 사람들은 으스러진 뼈 위로 일어섰다. 그들의 손에 들린 것은 병기가 아니라, 평생을 부려온 쟁기와 쇠스랑이었다. 평생 땅을 일구던 도구들이 이제는 인간의 심장을 겨누는 흉기가 되었다. 흙먼지 속에서 터져 나오는 함성은 언어가 아니었다. 그것은 수백 년간 목구멍 안쪽으로 삼켜왔던 통곡의 덩어리였다. 개경의 화려한 단청 아래서 시를 읊던 문신들은 그 거칠고 원초적인 소리에 몸을 떨었다. 그들에게는 보이지 않던 유령들이 비로소 형체를 갖추고 눈앞에 나타난 것이었다.

1198년, 개경의 밤은 더욱 서늘하고 집요했다. 최충헌의 가노 만적은 어둠이 깊게 깔린 북산의 숲속에서 사람들의 숨소리를 들었다. 그 숨소리는 살아있는 인간의 것이라기보다, 쇠사슬에 묶인 채 발발 떠는 짐승들의 거친 호흡에 가까웠다. 만적은 자신의 손목을 만져보았다. 주인의 이름이 낙인찍히지 않았음에도, 그의 영혼에는 이미 '노비'라는 글자가 깊게 새겨져 있었다. 그는 밤마다 그 글자를 손톱으로 긁어내려 애썼으나, 긁어낼수록 상처는 깊어졌고 피는 더 진하게 흘러나왔다. 그 피는 주인의 것과 다르지 않았다. 붉고, 뜨겁고, 비릿했다.

“장군과 재상이 어찌 처음부터 씨가 따로 있겠느냐? 우리는 왜 평생 채찍 아래서 뼈를 깎으며 살아야 하는가? 왕후장상의 씨가 과연 따로 있더냐?”

만적의 외침은 나무들 사이를 돌아 사람들의 가슴에 박혔다. 왕후장상의 씨가 따로 있는가. 그 단순하고도 잔인한 질문은 고려라는 거대한 신분제의 성벽에 가느다란 금을 냈다. 그 금 사이로 천 년간 가둬두었던 비명들이 쏟아져 나왔다. 노비들은 가슴 속에 숨겨둔 정(丁)자와 낫을 고쳐 쥐었다. 그들은 자신들을 사고파는 종이 쪼가리들을 불태우고 싶었다. 자신들의 이름이 적힌 장부를 잿가루로 만들어 바람에 날려 보내고 싶었다. 그것은 문자가 아닌, 존재의 증명이었다.

강물 속으로 던져지는 순간, 만적은 자신의 육신이 드디어 무거운 사슬을 벗어던지는 것을 느꼈다. 차가운 물이 폐부 깊숙이 들어와 숨을 막았으나, 역설적이게도 그것이 그가 평생 처음으로 온전히 들이킨 '자신의 숨'이었다. 수천 명의 노비가 수장되고, 명학소의 불꽃이 꺼져갔지만, 그들이 남긴 비명은 사라지지 않았다. 그것은 개경의 호화로운 담장을 타고 흐르는 서늘한 냉기가 되었고, 권력자들의 잠자리를 뒤흔드는 불길한 악몽이 되었다. 으스러진 뼈들이 강바닥에 쌓여 지층을 이루고, 그 위로 고려의 역사는 위태롭게 흘러갔다.

사람들은 다시 숯을 굽고, 다시 종이를 만들며, 다시 채찍 아래 허리를 굽혔다. 그러나 이제 그들의 눈은 예전과 같지 않았다. 한번 타오른 불꽃은 잿더미 속에서도 보이지 않는 온기를 간직했다. “장군과 재상이 어찌 씨가 따로 있겠는가.” 그 한마디는 고려라는 우아한 껍데기 아래 숨겨진, 가장 처절하고도 생생한 진실이었다. 육체를 가진 자들이 마침내 자신의 이름을 부르기 시작한, 그 지독하고도 아름다운 저항의 기록이었다.

부서진 뼈는 다시 붙지 않으나,
그 뼈에서 흘러나온 골수는 대지를 적셔 새로운 싹을 틔운다.
왕후장상의 씨는 없었다. 오직 살고 싶다는, 인간이고 싶다는 절규만이 실재했을 뿐.

📚 한능검 핵심 요약: 무신정권기 민란과 신분 해방 운동

1. 무신정권기 하층민 봉기의 배경

  • 수탈의 가중: 무신들이 정권을 장악한 후 농민에 대한 수탈이 더욱 심해짐.
  • 신분 질서의 동요: 천민 출신 이의민이 최고 권력자가 되자 하층민들의 신분 상승 욕구 자극.
  • 특수 행정 구역 차별: 향, 소, 부곡 주민들에 대한 가혹한 공물 부담과 차별 대우.

2. 주요 민란 정리 ★★★★★

연도사건명지역주동자 및 성격
1176망이·망소이의 난공주 명학소특수 행정 구역(소)의 차별 반대
1198만적의 난개경신분 해방 운동 ("왕후장상 씨가 따로 있나")
✏ 암기 구호
"명학소엔 망이·망소이, 개경 북산 만적의 난!"
"왕후장상 씨는 없다, 노비 문서 불태우자!"

하층민들의 절규는 예성강 물결 아래로 잠들었지만, 그들이 던진 질문은 고려 사회의 근간을 뿌리째 흔들었습니다.

📌 다음 편 주제 예고
「소설로 읽는 고려사 (11편): 대륙의 폭풍 — 몽골의 침입과 강화도 천도」
푸른 늑대의 후예들이 압록강을 건넜습니다. 고려는 왜 섬으로 숨어들어야 했을까요? 처절한 항전과 수난의 역사가 시작됩니다.
반응형
반응형
코딩으로 시간 벌기 / 엑셀 입문

열두 번째 이야기: 오타 원천 봉쇄! 클릭으로 입력하는 드롭다운 목록

물류아재 칵칵 · 엑셀 기초 시리즈 12편

"누구는 '서울'이라고 쓰고, 누구는 '서울특별시'라고 쓰고... 통계 좀 내려고 하면 데이터가 엉망이라 미치겠어요!"

협업 보고서를 취합할 때마다 겪는 고통입니다. 오타 하나 때문에 VLOOKUP이 안 먹히고, 피벗 테이블 항목이 쪼개지는 비극을 막으려면 어떻게 해야 할까요? 정답은 '입력하는 사람의 자유를 뺏는 것'입니다. 정해진 목록 중에서 선택만 할 수 있게 만드는 데이터 유효성 검사를 소개합니다.


데이터 유효성 검사란? 🛑

💡 입력의 가이드라인
셀에 들어갈 데이터의 형식을 미리 정해두는 기능입니다. 특히 '목록' 기능을 사용하면 셀 옆에 화살표 버튼이 생기며 클릭만으로 데이터를 입력할 수 있게 됩니다.

30초 만에 드롭다운 목록 만들기 🚀

진행 상태(입고완료, 출고예정, 보류)를 선택하는 목록을 만들어 봅시다.

  1. 목록을 적용할 셀 범위를 드래그합니다.
  2. 상단 메뉴 [데이터] -> [데이터 도구] -> [데이터 유효성 검사]를 클릭합니다.
  3. [설정] 탭의 제한 대상에서 [목록]을 선택합니다.
  4. 원본 칸에 항목을 쉼표로 구분해 입력합니다: 입고완료,출고예정,보류
  5. [확인]을 누르면 셀 옆에 화살표가 생기며 작업이 끝납니다!

고급 활용: 별도 영역의 목록 참조하기 ⚓

목록이 너무 많거나 자주 바뀐다면 직접 입력하는 것보다 별도의 시트에 정리해둔 표를 참조하는 것이 좋습니다.

📍 참조 방식의 장점
- 목록이 10개 이상일 때 관리가 편합니다.
- 원본 표에서 항목 이름을 바꾸면 드롭다운 목록에도 즉시 반영됩니다.
- 방법: 원본 칸에 쉼표 대신 =Sheet2!$A$1:$A$10 처럼 범위를 지정하세요!

🚨 의외로 많이 당황하는 상황

1. 목록에 없는 값을 억지로 넣으려 할 때
"입력한 값은 잘못되었습니다"라는 경고창이 뜹니다. 만약 경고만 주고 입력을 허용하고 싶다면 [오류 메시지] 탭에서 스타일을 '정보'나 '경고'로 바꿔주세요.
2. 화살표가 안 보여요!
셀을 클릭했을 때만 화살표가 나타나는 것이 정상입니다. 만약 아예 안 나타난다면 설정 창에서 '드롭다운 목록 표시'가 체크되어 있는지 확인하세요.

드롭다운 목록은 단순히 입력을 편하게 해주는 도구를 넘어, **데이터의 정체성(Integrity)**을 지켜주는 아주 강력한 방패입니다. 오늘 여러분의 보고서에 이 방패를 하나씩 달아보는 건 어떨까요? 😉

반응형
반응형

진리를 쫓는 자들 (3편)

완벽한 우주의 붕괴 — 피타고라스 학파의 최후

A Mathematician's Story

그날 밤, 크로톤의 공기는 비릿하고 무거웠다. 해안 절벽을 때리는 파도는 거품 섞인 비명을 질렀고, 부서진 포말들이 뿜어내는 소금기 섞인 습기가 휑한 석조 건물의 기둥 사이사이를 파고들었다. 히파수스를 수장시킨 지 수일이 지났지만, 비밀 집회소 안을 감도는 침묵은 예전처럼 정갈하지 않았다. 그것은 썩어가는 사체의 냄새를 닮은, 부패하기 시작한 지식의 냄새였다. 피타고라스는 촛불 하나 켜지지 않은 방 안에서 홀로 앉아 자신의 손바닥을 내려다보았다. 손금 사이사이에 낀 먼지들이 기묘한 기하학적 문양처럼 보였다. 그는 자신의 손바닥이 우주의 지도라고 믿어왔으나, 이제 그 지도는 알아볼 수 없는 얼룩으로 가득 차 있었다.

유리처럼 매끄럽고 견고했던 학파의 세계는 아주 미세한 금에서부터 무너져 내리고 있었다. 히파수스가 발견한 '말할 수 없는 숫자', 즉 무리수는 제거되었다고 생각했으나 그것은 착각이었다. 숫자는 육신을 가지지 않기에 죽일 수 없었다. 그것은 학파가 매일 공부하는 모든 삼각형의 빗변 위에, 모든 원의 둘레 속에, 심지어 그들이 마시는 찻잔의 둥근 테두리 안에도 유령처럼 깃들어 있었다. 완벽한 정수의 비율로 우주를 설명할 수 있다는 신념은 이미 안쪽에서부터 바스러지고 있었다. 단원들의 눈빛은 예전처럼 맑지 않았고, 그들이 입은 흰 옷은 달빛 아래서 차가운 수의(壽衣)처럼 보였다.

“스승님, 마을 사람들의 분위기가 심상치 않습니다.”

가장 아끼는 제자가 어둠 속에서 나타나 나지막이 읊조렸다. 그의 목소리는 젖은 가죽이 쓸리는 소리처럼 축축했다. 피타고라스는 대답하지 않았다. 그는 알고 있었다. 학파의 폐쇄성과 기묘한 규칙들, 그리고 권력자들과 결탁했던 행보가 크로톤 시민들의 가슴 속에 증오라는 이름의 불씨를 지폈다는 것을. 하지만 그보다 더 무서운 것은 외부의 칼날이 아니었다. 내부에서 무너져 내리는 논리의 성벽이었다. 그는 평생을 바쳐 쌓아 올린 '수(數)의 성전'이 사실은 거대한 모래성 위에 지어졌음을 부정하기 위해 눈을 감았다. 그러나 감은 눈꺼풀 안쪽에서도 그 끝도 없이 이어지는 비순환 무한소수의 행렬이 환각처럼 명멸했다.

폭풍은 예기치 못한 순간에 닥쳐왔다. 횃불의 붉은 빛이 창문을 넘어 들어왔을 때, 공기는 순식간에 뜨겁고 건조해졌다. 성난 시민들의 함성은 기하학의 고요를 찢어발겼다. 그들은 숫자를 숭배하며 자신들을 무시하던 기묘한 집단을 증오했다. 돌멩이가 유리창을 깨뜨리는 소리는 마치 완벽한 우주가 산산조각이 나는 파열음 같았다. 피타고라스는 자리에서 일어났다. 그의 관절에서 으스러지는 소리가 났다. 그것은 노쇠한 육체의 비명이자, 한 시대를 풍미했던 사상의 조종(弔鐘)이었다.

“불을 질러라! 저 요사스러운 자들을 모두 태워 죽여라!”

건물 사방에서 불길이 솟구쳤다. 나무 기둥들이 타들어 가며 내는 비릿한 연기가 사람들의 폐부 깊숙이 박혔다. 학파의 단원들은 우왕좌왕하며 도망쳤으나, 그들을 기다리는 것은 차가운 창날이었다. 피타고라스는 불길을 뚫고 뒷문으로 빠져나갔다. 그의 흰 옷자락에 검은 그을음이 묻었다. 그는 들판을 가로질러 달렸다. 등 뒤에서는 제자들의 비명이 가을밤의 공기를 찢고 있었다. 그 비명의 주파수는 학파가 공들여 계산했던 협화음의 비율과는 전혀 무관한, 지독하게 불협화적인 인간의 고통 그 자체였다.

모든 것은 수로 이루어져 있다고 믿었다.
그러나 불타는 연기 속에서 내가 본 것은 숫자가 아니었다.
그것은 고통받는 육체의 질감이었고, 타버린 종이의 가벼움이었으며,
결코 계산할 수 없는 죽음의 깊이였다.

그는 콩밭 앞에 멈춰 섰다. 피타고라스 학파에게 콩은 금기 중의 금기였다. 콩의 생김새가 인간의 장기를 닮았다는 이유로, 혹은 그것이 영혼의 통로라는 이유로 그들은 콩을 만지는 것조차 거부했다. 하지만 눈앞의 콩밭 너머에는 성난 군중이 칼을 휘두르고 있었고, 콩밭 안으로 들어가는 것은 영혼의 부정을 의미했다. 피타고라스는 콩밭 가장자리에 서서 떨고 있었다. 그는 죽음보다 자신의 신념이 무너지는 것을 더 두려워했을까, 아니면 그토록 혐오하던 콩의 감촉이 자신의 피부에 닿는 것을 참을 수 없었을까.

군중이 다가왔다. 횃불의 불꽃이 그의 눈앞까지 일렁였다. 피타고라스는 콩밭으로 발을 들이는 대신 자리에 멈춰 서서 그들을 마주 보았다. 그는 최후의 순간에도 수의 질서를 믿고 싶어 했다. 이 잔인한 학살조차 우주의 거대한 주기(Cycle) 중 일부라고 스스로를 속이고 싶었을지도 모른다. 그러나 차가운 칼날이 그의 목을 관통했을 때, 그가 느낀 것은 숫자의 명징함이 아니라 뜨거운 피의 끈적임이었다. 그의 의식은 소수점 아래 무한히 이어지는 무리수의 끝을 보려는 듯 서서히 가라앉았다.

피타고라스 학파의 위대한 도서관은 잿더미가 되었다. 수천 개의 삼각형 증명과 별들의 궤적 기록들은 검은 연기가 되어 밤하늘로 흩어졌다. 지식은 기록된 종이가 불타면 사라지는 것처럼 보였으나, 살아남은 몇몇 제자들은 그 잿더미 속에서 기억의 파편들을 들고 흩어졌다. 그들은 더 이상 콩을 거부하지 않았고, 더 이상 무리수를 부정하지 않았다. 비극적인 붕괴를 통해서만 수학은 비로소 종교의 탈을 벗고 학문의 길로 들어섰다. 완벽함이라는 감옥에 갇혀 있던 숫자들이 비로소 자유를 얻은 셈이었다.

날이 밝자 크로톤의 집회소 자리에는 연기 나는 잔해만이 남았다. 사람들은 타버린 시신들 사이에서 부서진 흙판 조각들을 발견했다. 거기에는 아직 지워지지 않은 원과 선들이 그려져 있었다. 인간은 죽고 학파는 흩어졌으나, 그들이 발견한 진리는 불길에 타지 않았다. 그것은 차가운 돌덩이처럼 남아 다음 세대의 발굴을 기다리고 있었다. 우주는 더 이상 유리처럼 맑지도, 정수처럼 딱 떨어지지도 않았다. 그것은 훨씬 더 넓고, 훨씬 더 불규칙하며, 훨씬 더 심오한 혼돈을 품은 채 그곳에 있었다.

피타고라스가 흘린 피는 흙 속으로 스며들어 콩의 뿌리를 적셨다. 금기는 무너졌고 전설은 시작되었다. 수학의 역사는 그렇게 한 학파의 거대한 몰락 위에서, 무너진 성벽의 돌들을 주워 다시 쌓아 올리는 작업으로 이어졌다. 인간이 만든 숫자가 우주보다 작다는 사실을 깨닫는 것, 그것이 피타고라스가 목숨을 대가로 지불하고 얻은 최후의 증명이었다.

📐 수학 파트: 피타고라스 학파의 최후와 그 유산

1. 학파의 붕괴 원인

  • 정치적 갈등: 학파가 크로톤의 귀족 정치를 지원하면서 하층민 및 반대 세력과 극심한 마찰을 빚었습니다.
  • 내부적 모순: 무리수의 발견으로 인해 '만물은 정수의 비'라는 근본 교리가 무너진 상태였습니다.
  • 폐쇄적 성격: 비밀 결사적 성격과 엄격한 금기들이 대중의 혐오와 공포를 샀습니다.

2. 피타고라스 학파가 남긴 수학적 업적

분야 주요 내용 의의
증명 수학 모든 수학적 사실을 논리로 증명하려 함 수학을 기술에서 '학문'으로 격상
정수론 완전수, 친화수, 홀수·짝수의 정의 수론(Number Theory)의 기초 확립
음악 이론 현의 길이와 협화음의 수적 비율 발견 음악의 수학적 체계 구축

3. 콩밭의 전설 — 신념의 무게

피타고라스가 콩밭 앞에서 죽음을 택했다는 이야기는 그의 **철학적 집착**을 상징합니다. 그는 자신의 원칙(금기)을 어기느니 차라리 육체적 죽음을 택한 것입니다. 이는 수학이 단순히 계산이 아닌, 삶을 지배하는 종교적 신념이었음을 보여줍니다.

CORE INSIGHT
수학은 완벽한 유리 성벽이 아니었다.
무너진 성벽 너머에는 더 거대한 '무한'의 바다가 있었다.

피타고라스는 죽었으나 그의 정리는 살아남았고,
학파는 불탔으나 그들이 닦아놓은 논증의 길은 인류의 지도를 바꾸었다.

피타고라스 학파의 종말은 수학의 끝이 아니라 새로운 시작이었습니다. 완벽한 숫자의 조화라는 꿈은 깨졌지만, 그 덕분에 우리는 무리수와 무한이라는 더 넓은 진리에 닿을 수 있었습니다.

반응형
12345678···11

+ Recent posts