[UCA수퍼컴아카데미] 선거개표방송 SW 개발하기--(1)
2024 국회의원 총선거 시즌이 돌아왔다.
재미난 선거개발 관련 이야기를 먼저 해볼까 한다.
일본은 선거를 치를때 투표 용지의 후보 이름에 도장이나 마킹을 찍지않고 자필로 후보 이름을 손으로 적는방식이다. 이름이 한자라서 사실 읽어들여 판독하는 OCR기술의 난이도가 꽤 높은편이다. 카타카나및 한자를 읽어서 처리해야 하므로 개표기 1대당 금액은 약 2억원을 호가한다고한다.
이번 대한민국 총선거에는 비례대표 선거용지가 추가로 있는데, 지지하는 정당에 표를 주면 해당 표를 받은 수에 비례해서 비례대표 후보가 비례대표 국회의원이 될 수 있다.
우측의 용지에 또박또박글을 적어내려가야하는데, 저런 경우는 지지하는 정당의 이름을 그대로 적거나, 약어로 쓴다. 재미난 사실은 세번째의 일본공산당 (약어: 공산당)을 적는 사람도 있다.
일본은 자유민주당(자민당)이 득세하고 있는데, 차세대당, 공명당, 사민당 등이 있지만, 맨 마지막에 있는게 문제의 바로 그 당 <지지나이>다.
내가 딱히 지지하는정당이 없는 경우 <지지하는 정당없음>이란 뜻의 한자어 지지정당나이 (약어: 지지나이)를 손으로 적는게 당연할텐데, <지지정당나이> 이게 실제 정당으로 활동하고 있는 이름이다.
마치 폰지 사기 같은일이 벌어진건데, <지지하는정당없음> 이란 정당의 이름이 등록을 통과한 것도 사실 이상하지만, 이름을 진짜 지지하는 정당 없음으로 오해한 사람들이나 아예 재미로 찍어준 사람들로부터 꽤 비례표를 많이 받았다고 전해진다.
우리나라도 2024년 올해 약 51Cm짜리 비례대표 용지로 선거를 해야한다. 당 이름도 이미 지나간 자유민주당, 새누리당, 한나라당등을 그대로 가져다 쓰는 정당도 있으며, 공보물에 허경영씨의 국가배당금을 주창하는 국가혁명당도 보인다.
선관위 당코드 | 정당명 |
---|---|
100 | 더불어민주당 |
200 | 국민의힘 |
730 | 녹색정의당 |
5070 | 개혁신당 |
5035 | 새진보연합 |
5010 | 진보당 |
5062 | K정치혁신연합당 |
1970 | 가나코리아 |
5054 | 가락특권폐지당 |
3070 | 가자!평화인권당 |
5039 | 가자환경당 |
5051 | 공화당 |
5031 | 국가혁명당 |
2060 | 국민대통합당 |
5074 | 국민의미래 |
5075 | 국민정책당 |
5069 | 국민주권당 |
2070 | 국민참여신당 |
5064 | 국민통합연대 |
2020 | 기독당 |
5052 | 깨어있는시민연대당 |
5041 | 내일로미래로 |
1988 | 노동당 |
3000 | 노인복지당 |
710 | 녹색당 |
5059 | 대한국민당 |
3010 | 대한당 |
650 | 대한민국당 |
5076 | 더불어민주연합 |
4040 | 미래당 |
2080 | 민생당 |
4010 | 민중민주당 |
5071 | 사회민주당 |
4070 | 새누리당 |
5072 | 새로운미래 |
5067 | 새로운선택 |
4080 | 신한반도당 |
5046 | 여성의당 |
5063 | 열린민주당 |
5000 | 우리공화당 |
5056 | 자유민주당 |
5030 | 자유의새벽당 |
3040 | 자유통일당 |
5077 | 조국혁신당 |
5045 | 중소자영업당 |
5044 | 친박신당 |
5073 | 태건당 |
5058 | 통일한국당 |
2050 | 한국국민당 |
5066 | 한국농어민당 |
700 | 한국독립당 |
1990 | 한나라당 |
5055 | 한류연합당 |
5068 | 한반도미래당 |
5057 | 혁명21 |
4060 | 홍익당 |
9999 | 무소속 |
일본에는 이시하라 쇼코라는 <옴진리교> 사이비 교주가 일본에서 정권을 잡기위한 교를 위한 정당을 만들려고 한 적이 있는데, 정당이 안 만들어지길 천만다행이다. 신도중 핵 물리학자를 시켜 핵탄두를 개발하거나 지하철 독가스 테러까지 감행해서 큰 문제가 된 사건이 터진적도 있었다.
태국이나 러시아등은 보통 투명한 투표함을 쓴다고 한다.
태국은 국왕을 따르는 군부 세력이 약 50%이상의 의석을 장악하고 있다. 함이 불투명하면 이중바닥같은 무슨 장난을 칠지 모르니까 투명함을 쓴다는 생각이다. 프랑스도 투명 투표함을 긍정적으로 검토한다고 하고, 우리나라만 내가 접은 표가 보일까 싶어서 그런지 엄청 가린다.
약빨고 개표방송 프로그램을 만드는 S사는 올해도 무슨 컨텐츠를 만들지 사실 흥미진진하다.
ubc 울산방송도 2018년도에 디즈니 한국 변호사에게 전화를 걸어 저작권 문제가 불거지지않게 <캡틴아메리카>와 <아이언맨> 2가지 캐릭터 IP 사용을 허가받아 선거 개표방송을 만들었다.
어벤저스 출연진 전부 다 나오면 재미있겠지만, 후보들은 타노스같은 악의 축은 피하고 싶을테니 2개의 대표 캐릭터들에게 색깔만 달리한 유니폼을 입혔다. 그래서 아이언맨이지만, 보라색이나 녹색 유니폼도 있다.
개표방송 SW는 C# 언어랑 MS-SQL서버, AWS아마존 클라우드의 IBM DB2 수신기등으로 개발되었다.
오픈소스로 2022년 선거개표방송분까지 C#, 파워빌더 IOS Swift등의 소스코드를 공개하고있으니 필요하신분들은 비제이퍼블릭 출판사의 홈페이지의 자료실/깃허브에서 다운로드 받으면 된다.
0.1%의 승부, 소프트웨어로 분석하는 선거 개표방송
모두가 쉬는 선거일, 국민에게 선거 결과를 전달하기 위해 뒤에서 고군분투하는 사람들이 있다. 바로 선거 개표방송을 만드는 개발자와 방송 관계자들이다. 본서는 선거 개표방송 시스템이 궁금한 개발자가 간접적으로..
화면 몇개 살펴 보자면,
S사가 아마존 클라우드에 DB2를 공개하면 수신기SW로 해당 데이터를 받아서 MS-SQL서버로 바꿔서 저장한다. 대구나 대전, 부산, 강원 방송사 등에서 DB서버를 같이 공유한다. 실시간으로 개표 데이터가 갱신된다.
실시간 개표데이터를 바탕으로 TV 개표방송 SW, 유튜브 방송 송출, 모바일 앱등이 여럿 개발될 수 있다.
M사는 M사대로 지방계열사들과 공유하고, YTN은 채널A, TV조선등의 종편들과 데이터를 공유한다. OBS만 별도로 서버를 따로 독자운영한다.
C#버전의 개표방송 소프트웨어는 MS-SQL서버로 부터 현재 개표율, 선거구별 후보의 득표율, 득표수, 정당명과 같은 개표 정보를 읽어와 CG그래픽과 합성한다. 수치가 적용된 아이언맨이나 캡틴아메리카 그래픽으로 만들어진다.
2018년 후보들 득표수는 모두 동일한 상태에서 캡처함
C#으로 개발한 수신기로 AWS아마존클라우드 DB2의 데이터베이스를 자동으로 다운로드 받는 모습이다.
2018년도 개표율 3%당시 데이터
선거개발정보 통합블로그
아티클이 맘에 드시면 ulsancoding.com을 방문해 다른 게시물들도 참고해주세요
구글 제미나이, 클로드3, 미스트랄, 네이버클로바X, solar, ollama등의 API코딩 기법이 소스코드와 함께 공개되어있습니다.