몇 달 전부터 알뜰 통신사의 요금제로 바꾼 후에 전자책 구독 서비스인 '밀리의
서재'를 무제한으로 이용할 수 있게 되어서, 재미있는 책들을 많이 보고 있습니다.
도서관 전자책 서비스도 좋지만, 없는 책이 많아서, 좀 아쉬웠습니다. 밀리의
서재에서 최근에 읽은 책들은,
EBS 다큐멘터리 자본주의,
자본주의 사용설명서,
우리가 겨울을 지나온 방식
등이 있습니다. 읽은 기록들을 살펴보니, 대략 두 권의 비소설을 읽는 동안, 소설과
같은 문학 작품을 한 권 정도 읽었던 것 같습니다.
밀리의 서재에서 읽어볼 책들을 찾아 헤매다 우연하게 발견한 '언젠가 우리가 같은
별을 바라본다면'이라는 작품을 접했습니다. 작가 이름이 차인표입니다. 맞습니다.
유명한 배우, 차인표씨입니다. 저는 배우 차인표에 대해 많이 알지는 못하지만,
소위 바른 생활 사나이라고 알려졌다고 들은 것 같습니다. 책 표지가 참 아름답고,
제목이 조금 낭만적(?)입니다. 마치 헤르만 헤세의 한 작품이나 황순원의 소나기를
떠올리게 합니다.
1931년 일제 강점기, 백두산 기슭의 한 마을을 배경으로 이야기가 시작됩니다.
저는 대략 20여년 전에 회사 사람들과 함께 중국을 통해 백두산 여행을 하였습니다.
그 때 보았던 신비한 느낌이 영롱한 문장으로 정말 잘 그려져 있습니다.
천둥소리를 내며 하얀 물을 쏟아 내는 폭포 위를 날아 우산대처럼 하늘로 길게
뻗은 이깔나무 숲을 지나니, 끝없이 펼쳐진 노란 들꽃밭이 나타납니다. ...
억새밭이 끝나는 그곳에 작은 언덕이 봉긋 솟아있네요.
백두산 자락에서 자유롭게 하늘을 날아다니는 새끼 제비의 시각으로 하늘에서 마을
사람들의 삶을 바라봅니다. 이야기를 구수하고, 따뜻하게 풀어내는 작가의 솜씨가
보통이 아닙니다.
이야기를 읽다 보면, 호랑이 마을의 촌장님 댁, 너른 억새밭, 잘가요 언덕의
꿀밤나무가 눈에 선하게 잡힙니다. 그리고 '오세요 종' 소리가 "땡~ 땡~" 멀리서 들리며, 때로는
차가운 백두산 안개 속에서 미세한 호랑이 냄새가 나는 것 같습니다. 4D 영화관에 온
것처럼 말이죠.
작가는 1997년 한국에 오셨던 훈 할머니를 보고, 그 형편없는 시절을 버텨 낸 우리
할머니, 할아버지들의 이야기를 쓰기로 결심했다고 합니다. 무려 10년에 걸쳐서
원고를 붙잡고서, 백두산을 직접 탐방하고, 사실을 검증하며, 그리고 위안부
할머니들이 살고 계시는 '나눔의 집'에 가보고, 다듬고 또 다듬어 세상에 선보인
작품입니다.
잔인하고, 폭력적인 시대였지만, 백두산의 천지처럼 맑은 영혼을 가진 우리 나라와
일본 젊은이들이 무도한 시대에 맞서 서툰 사랑을 지켜내려는 모습이 아름답습니다.
안타깝게도 그런 사랑은 오래 가지 못합니다. 호랑이 마을의 순이를 비롯한 수많은
젊은 여성들이 일본군 위안부로 '물건처럼' 끌려갔기 때문입니다.
파렴치한 죄를 널리 알리고 죄인들을 응징하겠다는 작가의 첫 마음은, 용서와
화해가 이루어지기를 바라는 마음으로 바뀌어갑니다. 작가는 이렇게 말합니다.
가해자들이 진정한 반성과 사과, 용서를 구함으로써, 할머니들과 그들 사이에
진정한 용서와 화해가 이루어지기를 간절히 바래봅니다. 라고요.
잔인하고, 아프고, 시린 이야기를 이렇게 아름다운 문장들에 담아서 선사해준
작가에게 고마움을 느낍니다.
아주 즐겨서 듣는다고 말하기는 어렵지만, 저는 가끔씩 다이나믹 레인지가 크고
정교한 클래식 음악을 듣고 싶을 때, 또는 차분하고 안정적인 음악에 빠지고 싶을
때, 아니면 위안을 주는 선율을 찾고 싶을 때 93.1Mhz (수도권 기준) KBS 클래식
FM을 듣습니다.
밤 10시에 방송하는 『당신의 밤과 음악』은 밤의 어두움과 고요함에 푹 빠질 수
있는 차분한 음악들이 주로 나옵니다. 선곡되는 음악들도 좋지만, 맨 처음 오프닝
시그널 음악도 참 매력적입니다. 바순의 서정적인 연주가 신디사이저 전자 피아노
음색의 반주를 배경으로, 음악을 들으면서도, 마치 가을 밤의 정적으로 빠져드는
느낌을 가져다줍니다.
그 음악은 캐나다의 바순 연주자이자 작곡가인 빌 더글라스(Bill Douglas)의
찬가(Hymn)입니다. 이름이 찬가이다보니 종교적인 찬송을 담고 있는 것으로 생각할
수 있는데, 종교적인 곡은 아니라고 합니다. 라디오에서 나오는 버전은 전자 피아노
반주도 담백한 화성과 리듬을 가지고 있어서, 어떤 면에서는 밤의 몽환적인 느낌을
자아내기도 합니다.
인터넷에서 더 찾아보면, 조금 더 클래식 음악의 특성에 맞게 편곡된 연주가
있습니다. 전자 피아노 대신 어쿠스틱 피아노가 나오고, 반주가 더 다이나믹하며,
화성도 약간 더 현대적입니다.
합창과 플룻이 들어간 반면, 정적인 반주를 유지하다 보니, 유니즌이 많이 나오고,
약간 공허하게 들릴 수 있겠다 싶었습니다. 그래서 적절히 위의 전자 피아노 버전과
클래식 편곡(?) 버전, 그리고 합창과 플룻이 들어간 버전을 결합하여 좀 더 편곡을
했습니다. 그렇게 해서 나온 빌 더글라스의 찬가 들어보시지요.
PDF 전자책은 Airtable로 만들어진 버전과 달리, 계속 업데이트가 되지 않습니다.
Airtable은 제가 조금씩이라도 업데이트를 하면, 모두가 최신의 내용을 같이 볼 수
있지만, PDF 전자책은 현재의 버전이 계속 유지가 됩니다.
시중에 있는 경영지도사 2차 시험 기출문제 풀이집 가운데, 가장 방대하고 상세한
분량을 담고 있으며, 문제마다 관련 단원(주제) 태그가 붙어 있어, 관련 단원의
학습과 병행할 수 있도록 했습니다. 2차 시험 준비하시는 분들에게는 이 한 권으로
다른 기출문제 풀이를 찾아 헤매실 필요가 없도록 구성했습니다.
주어진 총 예산은 1,000만원이다. 교육 프로그램의 종류가 4가지가 있는데, 제일
비싼 것 A는 100만원, 그 다음 B가 60만원, 그 다음 C가 30만원, 가장 가벼운
프로그램 D는 20만원이다. 예산 1,000만원을 다 쓰는 범위 내에서 각 프로그램을 몇
회 씩 운영해야 할 지 계획을 세워라.
단, 모든 프로그램은 모두 연간 2회 이상 운영해야 하고, 가장 비싼 프로그램은
최대 3회 이내에서 운영할 수 있고, 가장 가벼운 프로그램도 최대 30회 이내에서
운영해야 한다.
문제 분해
이런 문제가 전형적인 최적화 문제입니다. 즉, 목표치가 주어지고, 목표치와 몇
가지 제약 조건에 맞추어서 주어진 자원을 어떻게 배분하느냐의 문제이지요. 엑셀,
구글 시트, 리브레오피스의 캘크의 "해 찾기(solver)" 기능으로 답을 찾을 수
있습니다.
목표: 연간 예산 총액 1,000만원에 맞추기
변수: A, B, C, D 프로그램의 운영 횟수 (각각 a, b, c, d라고 하겠습니다.)
제약 조건:
a, b, c, d는 모두 정수(integer)이다.
a, b, c, d는 모두 2 이상이다.
a는 3 이하이다.
d는 30 이하이다.
방정식: 100a + 60b + 30c + 20d = 1000 을 만족하는 미지수 a, b, c, d를
구하라.
미지수가 여러 개인 다항식이기 때문에 일차 방정식이지만 해가 여러 개
존재한다.
따라서, 주어진 목표값에 이르기 위한 입력값을 여러 가지로 변화시켜보는
목표 탐색 기법을 써야 한다.
엑셀의 해 찾기에 대입
엑셀 (2024년 8월 28일 현재, Microsoft 365 기준)의 '해 찾기'에 이 문제를 넣기
위해 아래와 같은 표를 만들었습니다.
목표 셀에 커서를 놓은 상태에서, 엑셀의 해 찾기를 실행합니다.
제일 위에 E7이라고 지정한 것이 목표 셀입니다. 바로 밑에서 목표 지정값으로
10,000,000원을 주었습니다.
중간에 변수들의 범위를 지정합니다. 운영 횟수, 즉 D3 ~ D6가 변수
부분입니다.
마지막으로, 특별히 제약 조건이 무엇인지 지정합니다. 예를 들면, 변수는 모두
정수이고, 2 이상이고 등 총 4가지 제약 조건이 들어가 있습니다.
이렇게 해서 해 찾기를 실행하면, 아래와 같은 계산 결과가 나옵니다.
이런 결과가 마음에 들지 않으면, 다시 해 찾기를 실행하거나, 제약 조건을 더
추가해서 실행하면 다른 해를 찾아줍니다.
사상 최장의 열대야 기록을 깼다는 2024년 여름의 끝자락에서 지독하게 추운 겨울을 살아가는 사람들의 이야기를 읽었다. 혼자 살아가지 않는 우리 모두에게 돌봄은 남의 이야기가 아니다. 그리고, 그것의 무게는 겪어보지 않은 사람은 알 수 없다. 끝이 보이지 않은 긴 터널을 지나가는 명주와 준성의 삶은 반전은 커녕 더욱 진흙탕 속으로 빠져들어간다.
왜 외면하지 않고, 돌봄을 택한 어떤 사람에게는 삶이 이렇게 힘든 것인가.
치매 걸린 어머니를 간병하며 연금으로 근근히 살아가는 명주도, 아버지를 돌보며 젊은 시절을 송두리째 보냈지만 오히려 더 궁지에 몰린 준성도, 요양원에서 도망쳐나온 할머니도, 증평댁과 여행을 꿈꾸며 온기를 전했던 진천할아버지의 인생도 모두 소중하다. 지금껏 아버지를 돌보며 살았던 그의 인생은 무엇이었는지 준성이 묻는다. 벼량 끝에 몰려 뉴스에 나올 만한 결정을 한 그들에게 누가 돌을 던지겠는가?
신도, 국가도, 의료 기술도, 법에서도 도와주지 않는 엉망진창인 삶의 위기에 빠진 이웃들이 어떻게 어떻게 손을 잡았다. 그들의 선택이 어떤 결말을 가져올지 모른다. 하지만, 그렇게 바닥으로 꺼져가는 인생에서 두 손을 잡고 바다에 빠지지 않으려는 그들의 몸짓에 책을 읽는 사람도 소심한 희망을 가져본다. 각자도생의 시대, 누군가는 잔혹한 현실에서 삶의 무게를 오롯이 혼자 짊어지고 간다.
온라인 설문지를 만들다보면, 한 질문에 대해 복수 응답이 가능하도록 문항을
만드는 경우가 자주 발생합니다. 예를 들면, "지금 먹고 싶은 과일을 모두
선택하세요."라고 하면, 선택한 과일의 갯수가 0개가 될 수도 있고, 1개가 될 수도
있고, 그보다 많을 수도 있습니다.
1. 체크박스를 이용한 복수 선택 문항
이런 설문지를 만들 때, 보통은 복수 선택형 체크박스(checkbox)를
사용합니다.
이렇게 문항을 만들면 결과 데이터를 담는 스프레드시트(구글 시트 또는 엑셀 등)의
한 개의 셀에 여러 개 과일 이름이 한꺼번에 들어갑니다. 예를 들면, 셀 하나에
"사과, 수박" 이렇게 값이 들어갑니다. 설문 응답자가 여러 명일 때에, 전체 응답자
중에 "사과"라는 응답이 몇 개 나왔는지 카운트하려면 매우 어렵습니다.
이런 경우, 텍스트 구분자(이 경우 쉼표)를 기준으로 컬럼을 잘라준 다음, 데이터
분석을 하는 방법이 있고, 그렇지 않으면, 셀 안에 있는 텍스트들을 분석하는 다소
복잡한 수식을 만들어야 합니다.
위의 그림에서 총3명의 응답을 분석해보면 사과가 2회, 딸기가 1회, 수박이 2회,
포도가 1회 나왔습니다. 과일 이름이 셀 단위로 분리되지 않았으므로, 셀 안에 있는
특정 단어를 카운트하기 위해서
3명 응답 전체의 텍스트 길이를 구합니다.
=sumproduct(len(b$2:b$4) ...
A10 셀에 있는 "포도"라는 단어가 몇 번 나왔는지 카운트하기 위해 "포도"를
제거한 전체 텍스트 길이를 구합니다.
이제 지난 18년간 기출 문제와 그 예시 답안을 모두 담은 데이터베이스를 공개해도
될 것 같습니다. 경영지도사 시험 문제가 공식적으로 공개된 것은
2013년부터입니다. 그래서 그 이전 자료는 응시자들의 기억에 의해 복원된
문제들입니다. 그렇게 복원된 문제들을 여러 곳에서 찾아서, 예시 답안을 작성하고,
그것을 소위 "DB화" 하였습니다.
제가 시험 준비를 하면서 수험생으로서 아쉬웠던 점이 있었습니다. 즉, 기출 문제가
체계적으로 정리되어 있지 않아서, 내가 공부하는 주제에 맞추어, 이 분야에서는
어떤 기출 문제가 있었는지, 그리고 그것에 대한 답안은 어떤 관점으로 정리하면
좋을지 바로 참조할 수 있는 곳이 없었습니다.
몇몇 학원가에서 제공하는 기출문제 풀이는 최근 몇 년에 집중되어 있었는데,
그것도 "DB화" 되어있지 않아서, 공부하는 장(챕터)에 맞추어, 관련 문제를 전부
열람하고, 풀어볼 수가 없었습니다. 그래서 문제와 문제 풀이를 (한글, 워드, 구글
독스같은) 워드프로세서에 정리해나갔는데, 주제별, 과목별, 연도별로 정리가 잘 안
되니, 활용도가 낮고, 공부하기가 불편했습니다.
대안을 찾다가, 문제와 답을 (엑셀, 구글 시트 같은) 스프레드시트로 옮기려고
했는데, 답안이 길고, 서식이 있는 리치 텍스트(rich text)여서 스프레드시트로
정리하는 것은 매우 어려웠습니다. 그래서 다양한 형식의 데이터를 수용할 수 있고,
다양한 조건으로 조회(쿼리)가 가능한 데이터베이스로 옮기는 게 좋겠다고 결론을
내렸습니다.
기출문제 풀이 데이터베이스 구성
결론적으로, 로우코드 데이터베이스인 에어테이블(Airtable)에 정리를 하고, DB
구조도 몇 번 변경을 하면서 가장 적합한 형태로 바꾸어갔습니다. 18년간 문제를
모두 정리하다보니 총 324문제가 되더군요. 이것들의 답안을 정리하는 데에 엄청난
시간이 걸렸습니다. 제가 가지고 있는 수험 교재 세 권, 그리고 국가법령정보센터, 노동OK, 한국어/영어
위키피디아, 각종 블로그 아티클, 대학 강의 자료 등을 참조하고, 그래도 답을
쓰기가 애매한 경우는, 생성형 AI(제미나이, 챗GPT,
끌로드,
코파일럿 등)의
도움을 받아서 답안을 정리하였습니다. 또 문제별로 키워드를 자동 추출하기 위해
에어테이블의
AI 필드의 도움을 좀 받았으나, 제가 쓰는 요금제로 쓸 수 있는 용량이 정해져 결국에는
노가다(?) 작업으로 거의 진행했습니다.
사용자 인터페이스 구성
아무리 에어테이블이 쉽게 만들어놨다고 하지만, 데이터베이스 날 것의 테이블들은
일반적인 사용자가 접근하면 어디에서 무엇을 해야 할 지 감이 안 옵니다. 그래서
사용자 인터페이스 화면을 만들어줘야 하는데, 고려한 솔루션은 에어테이블 자체
인터페이스 디자이너(Interface Designer), 소프터(Softr),
노로코(Noloco)였습니다.
노로코는 기능이 세세하고 막강하여, 트라이얼 기간동안 몇 번 감탄하며 UI를
만들어봤는데, 트라이얼 기간이 끝나니, 요금이 너무 비쌌습니다. 소프터는
한국에서는 가장 알려진 도구인데, 이상하게 저하고는 잘 안 맞았는지, 제가 원하는
인터페이스를 도저히 만들 수가 없었습니다. 인터페이스 디자이너는 기능 면에서
가장 떨어지지만, 에어테이블에 네이티브하게 붙어 있어서 가장 간편하고
안정적(?)입니다.
현재 사용자 인터페이스는 간단하게 문제 목록을 목록형으로 과목별로 조회하는
것이 주된 기능입니다. 조회할 때 기본적으로 필터, 검색, 정렬, 그룹핑을 원하는
대로 할 수 있습니다. 문제 목록이 목록형으로 나오는 것이 별로 맘에 안 들면,
카드 형식으로 나오는 메뉴도 추가했습니다. 그러다가, 이왕 데이터베이스가 구축된
것, 주제별로 어떤 분야에서 문제가 많이 나왔는지 빈도 분석 차트도 넣어봤습니다.
이것도 처음에는 그냥 몇 개 고정형 차트로 보여주다가, 출제연도를 선택해가면서
약간은 인터액티브하게 다이나믹한 차트로 변경시켜놓았습니다.
사용자 의견 반영 실시간 업데이트
마지막으로, 종이책도 아니고 전자책(ebook)도 아닌 클라우드 기반의 시스템 장점을
살려, 사용자의 의견 제출 기능을 추가했습니다. 문제 풀이 과정에 오류, 오타,
개선점을 발견한 경우, [의견 보내기] 버튼을 눌러서 수정 의견을 내면, 제가
접수하여 오류를 재빠르게 수정합니다. 제출된 의견은 고유 티켓 번호가 붙어서 추적 관리되고, 그 결과를 알려드립니다.
그렇게 해서 기존의 출판물과 달리, 사용자
의견을 반영하여 지속적으로 품질이 좋아지고, 항상 최신 버전이 유지되는 기출문제
시스템이 됩니다.
패키징과 판매
에어테이블의 큰 단점은 소프트웨어를 패키징하여 판매하는 방법이 상당히 어렵다는
것입니다. 한 기업 내에서 엔터프라이즈용으로 사용할 때에는 접근 권한을
조정하면서 데이터와 접근 메뉴를 사용자들에게 배분하면 되는데, 일반
소비자용으로 판매하는 것은 생각할 문제가 매우 많습니다. 판매할 대상이 데이터
자체인지, 데이터베이스 구조인지, 그것의 인터페이스인지, 또는 그런 것들의
결합인지에 따라 다른 접근법을 취해야 합니다. 몇 가지 복잡한 방법들도 있지만,
결국에 찾다가 찾다가 네이버 스마트스토어에 접근 권한을 판매하는 방식으로
결정하였습니다. 스마트스토어의 상품 분류를 어떻게 하느냐부터 시작해서 애매하고
잘 맞지 않은 부분이 많았지만, 현재는 스마트스토어에 입점한 상태입니다.
판매 가격
무료로 공개해볼까 생각을 안 한 것은 아닌데, 그래도 제가 여기에 투자한 시간에
대한 보상, 그리고 이 제품(프로그램)을 쓰는 사람들이 잠재적으로 얻게 되는
이득과 가치가 어느 정도 있다고 판단했습니다. 그리고, 이게 단순히 기출문제
풀이집을 전자책이나 종이책으로 제공하는 것이 아니라, 클라우드 시스템이기
때문에, 개인 맞춤형(?)으로 문제들을 재구성할 수 있고, 프로그램에 새로운 기능이
업그레이드되거나, 결함이 제거되거나, 내용이 실시간으로 업데이트됩니다. 그런
것들을 고려하여, 적당한 가격을 붙였습니다. 구독형은 아니고, 그냥 일회성 구매만
하면 됩니다.