티스토리 뷰
최근 2만여개의 주소 목록으로 지리적인 밀집도를 분석해야 하는 일에 관여하고 있다. 정부에서 권장하고 있는 도로명 주소의 기재요령은 ‘동대문구 ○○로 100’ ‘마포구 ○○로12번길 120-5’와 같이 적는 것이다. 하지만 주어진 자료에서 규칙에 따라 기재된 것은 얼마 되지 않아서 별도의 정리 작업이 필요한 상황이다.
과거 방식대로 ‘○○동 26-7’처럼 법정동과 지번을 적은 경우로 오류라 보기 어려운 것도 있지만, 법정동이 아니라 행정동을 기재하는 사례가 많다. 이렇게 기재된 주소는 행정동에 대응하는 법정동을 찾아서 하나하나 정정해야 한다. 간혹 여러 개의 법정동을 포함하는 행정동이 적혀 있으면 어느 법정동이 해당 주소지인지 확정하지 못하여 난감하다.
도로명을 ‘○○로 14길’처럼 ‘~로’와 ‘~길’을 떼어 적는 경우도 많은데 서로 붙여 써야 한다. 사람은 ‘~로’와 ‘~길’ 중간에 빈칸이 들어있어도 쉽게 이해할 수 있다. 하지만 컴퓨터는 ‘○○로12길’과 ‘○○로 12길’을 서로 다른 정보로 받아들인다. 도로명과 건물번호를 서로 붙여서 ‘○○로12길100’처럼 적는 경우도 정보처리에 문제를 발생시킨다. 실제 자료에는 열거하기 어려울 만큼 다양한 방식으로 주소가 적혀 있다. 규칙에 어긋나서 예측하기 어려운 모든 경우는 정보처리를 곤란하게 만든다.
자연어 처리 알고리즘과 기계학습을 활용하면 비교적 쉽게 해결할 수 있겠으나 전문적인 프로그래머를 섭외할 형편이 아니어서 예전에 조금 익혀두었던 비주얼베이직 언어로 직접 분석프로그램을 작성하였다. 주소가 어떤 식으로 기재되었는지 판단하기 위한 수많은 조건문과 해당 정보가 데이터베이스에 존재하는지를 확인하기 위한 수많은 루프로 구성된 프로그램을 몇 주에 걸쳐서 작성하였다. 한껏 기대를 품고 구동하니 잘 돌다가 갑자기 반응이 없다. ‘의도치 않은 무한루프’에 빠진 것이다.
‘루프(loop)’는 순환작업을 의미한다. 1부터 100까지 더한 값을 구한다고 가정해보자. 1부터 100까지 순서대로 숫자를 발생시키면서 이 숫자들을 차곡차곡 더하여 기록한 후 최종값을 출력하도록 하면 되는데 이 과정이 하나의 루프이다. 순서대로 발생시키는 숫자가 100에 이르면 루프를 종료하도록 프로그램을 작성하면 된다. 그런데 순차값이 0보다 작을 때 종료하라고 설정하면 영원히 조건에 맞지 않게 되어 무한루프에 빠질 수밖에 없다. ‘프로그램이 다운되었다’라는 건 이런 상태를 말한다. 의도치 않은 무한루프는 애초의 목적을 달성하지 못하므로 바르게 고쳐야 한다. 유용한 프로그램은 사용자의 요구에 따라 순조롭게 무한루프에서 빠져나올 수 있어야 한다.
어찌 보면 우리의 삶 자체도 무한루프이다. 아침에 일어나서 씻고 출근하고 일하고 퇴근하고 다시 잠자리에 드는 과정이 쭉 이어진다. 사람마다 조금 혹은 무척 다르겠지만 사람들은 누구나 매일 반복하는 일상이 있다. 일상이 무너져도 여러 문제가 생기지만 앞으로 끝도 없이 똑같은 루프를 반복한다 생각하면 그 또한 무간지옥처럼 느껴진다. 우리가 가끔 일탈을 꿈꾸는 이유이다. 요즘 이목을 끄는 ‘자발적 퇴사’도 이와 같은 맥락에서 이해할 수 있을 것 같다.
쳇바퀴 돌 듯 삶을 반복하다 보면 의도치 않은 무한루프에 빠진 듯 스스로 빠져나오지 못하는 지경에 이르기도 한다. 잘못된 삶일수록 그런 경우가 많은데, 조금 귀찮고 번거롭지만 다양한 휴지기와 중단점을 두고 반성하는 긍정적이고 건강한 삶과 달리 어둡고 건강하지 못한 삶은 자기조절이 안되는 게 다반사다. 이런 부정적인 삶이 개인을 넘어서 사회에 나쁜 영향을 끼치는 악순환이 적폐일 것이다.
의도치 않은 무한루프가 발견되면 일단 프로그램을 중지하고 제어되지 않는 순환을 감시할 수 있게 프로그램을 수정해야 한다. 마찬가지로 적폐가 발견되었다면 해당 시스템을 멈추고 전면적으로 조사하여 잘못된 과정을 감시하고 견제할 수 있는 장치를 만드는 것이 유일한 해결책이다. 프로그래머와 사용자를 피곤하게 하는 무한루프는 스스로 고쳐지는 법이 없기 때문이다.
<강세진 | 새로운사회를여는 연구원 이사>
'일반 칼럼 > 세상읽기' 카테고리의 다른 글
비동시성의 동시성 (0) | 2018.07.10 |
---|---|
지방분권 시대, ‘유니언시티’ 모델 (0) | 2018.07.06 |
대통령만 바라보는 시민들에게 (0) | 2018.06.29 |
‘386’들에게 (0) | 2018.06.26 |
동의하지 않더라도 비핵화는 시작됐다 (0) | 2018.06.19 |