검색
검색
공개 노트 검색
회원가입로그인

[UCA울산코딩아카데미] 선거개표방송 SW 개발하기--(1)

page thumbnail

2024 국회의원 총선거 시즌이 돌아왔다.

재미난 선거개발 관련 이야기를 먼저 해볼까 한다.

일본은 선거를 치를때 투표 용지의 후보 이름에 도장이나 마킹을 찍지않고 자필로 후보 이름을 손으로 적는방식이다. 이름이 한자라서 사실 읽어들여 판독하는 OCR기술의 난이도가 꽤 높은편이다. 카타카나및 한자를 읽어서 처리해야 하므로 개표기 1대당 금액은 약 2억원을 호가한다고한다.

이번 대한민국 총선거에는 비례대표 선거용지가 추가로 있는데, 지지하는 정당에 표를 주면 해당 표를 받은 수에 비례해서 비례대표 후보가 비례대표 국회의원이 될 수 있다.

elect12

우측의 용지에 또박또박글을 적어내려가야하는데, 저런 경우는 지지하는 정당의 이름을 그대로 적거나, 약어로 쓴다. 재미난 사실은 세번째의 일본공산당 (약어: 공산당)을 적는 사람도 있다.

일본은 자유민주당(자민당)이 득세하고 있는데, 차세대당, 공명당, 사민당 등이 있지만, 맨 마지막에 있는게 문제의 바로 그 당 <지지나이>다.

내가 딱히 지지하는정당이 없는 경우 <지지하는 정당없음>이란 뜻의 한자어 지지정당나이 (약어: 지지나이)를 손으로 적는게 당연할텐데, <지지정당나이> 이게 실제 정당으로 활동하고 있는 이름이다.

마치 폰지 사기 같은일이 벌어진건데, <지지하는정당없음> 이란 정당의 이름이 등록을 통과한 것도 사실 이상하지만, 이름을 진짜 지지하는 정당 없음으로 오해한 사람들이나 아예 재미로 찍어준 사람들로부터 꽤 비례표를 많이 받았다고 전해진다.

우리나라도 2024년 올해 약 51Cm짜리 비례대표 용지로 선거를 해야한다. 당 이름도 이미 지나간 자유민주당, 새누리당, 한나라당등을 그대로 가져다 쓰는 정당도 있으며, 공보물에 허경영씨의 국가배당금을 주창하는 국가혁명당도 보인다.

선관위 당코드정당명
100더불어민주당
200국민의힘
730녹색정의당
5070개혁신당
5035새진보연합
5010진보당
5062K정치혁신연합당
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%이상의 의석을 장악하고 있다. 함이 불투명하면 이중바닥같은 무슨 장난을 칠지 모르니까 투명함을 쓴다는 생각이다. 프랑스도 투명 투표함을 긍정적으로 검토한다고 하고, 우리나라만 내가 접은 표가 보일까 싶어서 그런지 엄청 가린다.

elect13

약빨고 개표방송 프로그램을 만드는 S사는 올해도 무슨 컨텐츠를 만들지 사실 흥미진진하다.

ubc 울산방송도 2018년도에 디즈니 한국 변호사에게 전화를 걸어 저작권 문제가 불거지지않게 <캡틴아메리카>와 <아이언맨> 2가지 캐릭터 IP 사용을 허가받아 선거 개표방송을 만들었다.

어벤저스 출연진 전부 다 나오면 재미있겠지만, 후보들은 타노스같은 악의 축은 피하고 싶을테니 2개의 대표 캐릭터들에게 색깔만 달리한 유니폼을 입혔다. 그래서 아이언맨이지만, 보라색이나 녹색 유니폼도 있다.

elect7

개표방송 SW는 C# 언어랑 MS-SQL서버, AWS아마존 클라우드의 IBM DB2 수신기등으로 개발되었다.

오픈소스로 2022년 선거개표방송분까지 C#, 파워빌더 IOS Swift등의 소스코드를 공개하고있으니 필요하신분들은 비제이퍼블릭 출판사의 홈페이지의 자료실/깃허브에서 다운로드 받으면 된다.

XL2

0.1%의 승부, 소프트웨어로 분석하는 선거 개표방송

모두가 쉬는 선거일, 국민에게 선거 결과를 전달하기 위해 뒤에서 고군분투하는 사람들이 있다. 바로 선거 개표방송을 만드는 개발자와 방송 관계자들이다. 본서는 선거 개표방송 시스템이 궁금한 개발자가 간접적으로..

화면 몇개 살펴 보자면,

S사가 아마존 클라우드에 DB2를 공개하면 수신기SW로 해당 데이터를 받아서 MS-SQL서버로 바꿔서 저장한다. 대구나 대전, 부산, 강원 방송사 등에서 DB서버를 같이 공유한다. 실시간으로 개표 데이터가 갱신된다.

elect19

실시간 개표데이터를 바탕으로 TV 개표방송 SW, 유튜브 방송 송출, 모바일 앱등이 여럿 개발될 수 있다.

M사는 M사대로 지방계열사들과 공유하고, YTN은 채널A, TV조선등의 종편들과 데이터를 공유한다. OBS만 별도로 서버를 따로 독자운영한다.

C#버전의 개표방송 소프트웨어는 MS-SQL서버로 부터 현재 개표율, 선거구별 후보의 득표율, 득표수, 정당명과 같은 개표 정보를 읽어와 CG그래픽과 합성한다. 수치가 적용된 아이언맨이나 캡틴아메리카 그래픽으로 만들어진다.

2018년 후보들 득표수는 모두 동일한 상태에서 캡처함

elect20

C#으로 개발한 수신기로 AWS아마존클라우드 DB2의 데이터베이스를 자동으로 다운로드 받는 모습이다.

elect21

2018년도 개표율 3%당시 데이터

a5

선거개발정보 통합블로그

election.postype.com

아티클이 맘에 드시면 ulsancoding.com을 방문해 다른 게시물들도 참고해주세요

구글 제미나이, 클로드3, 미스트랄, 네이버클로바X, solar, ollama등의 API코딩 기법이 소스코드와 함께 공개되어있습니다.

UCA울산코딩아카데미

ulsancoding.com

052-708-0001

조회수 : 77
heart
공유하기
카카오로 공유하기
페이스북 공유하기
트위터로 공유하기
url 복사하기
T
페이지 기반 대답
AI Chat