- [회고] GSM 1학년 C프로그래밍 콘테스트 회고2024년 09월 04일
- 아몬드맛빼빼로
- 작성자
- 2024.09.04.:02
반응형C언어,정말 기본중의 기본이자 CLI프로그램을 만드는 것이 기본인 언어이다.
1학기라는 짧은 기간동안 배운 C언어 지식들을 이용해서 하나의 프로그램을 내놓는 대회였다.
기술
기술스택이랄 것도 없고 대단한 기술도 없지만 curl 라이브러리 라던가 MariaDB 라이브러리를 이용해여 DB와 연결하여 온라인 게임을 만들었다.턴제 게임이었고 총 코드 수는 6만7천여줄 이었다.
좀 비효율적일진 몰라도 for문을 이용해 화면을 구현하고 4개의 테이블을 만들어 각각 연관관계를 맺어주고 실시간 연결을 구현하기 위해 웹 소켓까지 공부했다.
프로젝트를 진행하며 만난 가장 큰 복병이 있었다.바로 DB의 연결제한이었다.DB와의 활성연결이 자동으로 열고 닫히지 않아 너무나 활성 커넥션이 많아지며 DB와의 트랜젝션이 차단된 문제였다.결국 문제가 터질 당시 작업한 3만줄에 가까운 코드를 전부 리팩토링하여 DB를 연결하는 포인터 변수관리를 철저히 해 해결하였다.
curl를 이용한 계정 비밀번호 찾기를 프로그램 제출 2시간전에 작업에 착수하였는데 급하게 만들다 보니 단순 문자열로 저장한 HTML코드가 깨져보이는 문제도 존재하였다.결국 <style> 태그와 같은 오류를 일으킬 만한 모든 태그를 제거하고 기본 HTML만 전송하는 방식으로 조금 포기하여 문제를 해결하였다.
협업
3,4반만 팀으로 구성하여 진행하였는데 사실 팀이라기엔 코드도 내만 짜고 스토리도 내가 짜는 등 팀원의 도움이라곤 게임 내 이벤트 구상 같은 잡다한 일 뿐이었다.하지만 팀원이 도움이 되지 않았던건 아니었는게 그 덕분에 난 스토리와 게임 코드,테스트와 발표에만 신경쓸 수 있어 10시간 정도는 절약한거는 사실이다(...)
결과
정말 열심히 준비했고 무려 C언어 AI와 3D 렌더링 마인크래프트라는 막강한 상대가 있었지만 우승을 차지했다.사실 장려상이면 몰라도 마인크래프트나 다른 작품에 비하여 눈에 보이는 UI도 많이 부족했었기에 자신이 없었는데 심사위원 분들이 DB와 이메일 전송 기능이 많이 신기하게 받아들이신것 같다.

'회고' 카테고리의 다른 글
[회고] 난 분명 놀러왔는데 (0) 2025.11.07 [회고] GSM 이야기라 하고 번아웃 와서 적는 글 (0) 2025.09.04 [회고] 소통과 문서화 (0) 2025.08.22 [회고] 제27회 AppJam 참여 회고록 (0) 2024.09.04 다음글이전글이전 글이 없습니다.댓글