★ 소개
안녕하세요? 순천향대 컴퓨터 소프트웨어공학과 (새내기 아닌 새내기) 18학번 임동우입니다.
초등학생 때부터 프로그래밍에 관심을 갖게 되었고, 그 관심이 저를 발전시켰습니다. 특히, 초등학교 4학년 때 담임선생님께서 제게 처음으로 가르쳐주신 VB 6.0을 시작으로 C언어, C++, Java 등 여러 프로그래밍 언어를 접해보았습니다.
★ 지금까지 접해본 적 있는 프로그래밍 언어
- VB 6.0 : 초등학교 4학년 때 필자가 처음으로 접해본 언어
- C/C++ : 초등학교 5~6학년 때 우연히(?) 접해보았으며, 대학교 입학 후 처음으로 수강한 언어
- Java : 중학생 때 처음 접해보았으며, Android 앱 제작에도 사용되었던 언어
- Kotlin : 필자가 현재 Android 앱 제작에 사용하는 언어
- HTML : 블로그 글 작성 등에 사용되는 언어
- Free Pascal : Baekjoon OJ에서 구현이 간단한 문제를 풀 때 사용하는 언어
- Python 3 : 요즘 떠오르는 언어 중 하나로, 필자의 친한 친구도 접해본 언어
- Fortran, COBOL, Common Lisp : 필자가 대학교 2학년 프로그래밍 언어론 과제를 위해 접해본 언어
- C# : 필자가 대학교 3학년 때 수강한 Unity와 운영체제 과제를 위해 사용한 언어
★ 현재까지 취득한 자격증 목록
- ITQ 한글(A), ITQ 엑셀(A), ITQ 파워포인트(B) : 2020년 02월 27일
- 정보처리기능사 : 2020년 05월 08일
- 컴퓨터 활용능력 1급 : 2020년 09월 11일
- 정보처리기사 : 2021년 06월 02일
★ 필자의 관심 분야
저의 관심 분야 중 하나는 Android 앱을 만드는 것입니다.
제가 중학생 때 처음으로 스마트폰을 접하게 되었습니다. 당시 글꼴 설정을 변경하기 위해 인터넷을 찾아보다가 APK라는 파일 형식을 알게 되었고, 직접 APK를 만드는 방법을 배우기 위해 Android 앱 프로그래밍을 시작하게 되었습니다.
과거에는 Eclipse와 ADT(Android Development Tool), Java를 사용했지만, Eclipse ADT 플러그인의 지원 중단으로 현재는 Android Studio와 새로운 공식 지원 언어인 Kotlin을 사용하고 있습니다.
물론 iOS 앱도 만들어보고 싶지만, 제가 iOS를 거의 접해본 적이 없고 Windows에서는 불가능하다는 점과 만만치 않은 개발자 등록 비용, Android의 시장 점유율 등을 고려해서 보류하게 되었습니다.
또, Android 뿐 아니라 Windows 응용 프로그램도 만들어보고 싶습니다.
대학교 3학년 때 Unity 과목을 수강하면서 C# 언어를 접하게 되었고, 운영체제 과제의 GUI 프로그래밍을 위해서도 C# 언어를 사용했습니다. 이로 인하여 Windows 응용 프로그램 제작에도 관심을 갖게 되었습니다.
저의 또 다른 관심 분야로 알고리즘 공부가 있습니다.
이와 관련해서 대학교 2학년 때 자료구조 과목을 수강했었습니다. 상대적으로 어려웠던 과목이었지만, 관심 분야인 만큼 열심히 공부했고, 미리 예습도 하였습니다. 물론 그래프와 같이 저에게 어려웠던 부분도 있었습니다. 그 결과, 2021년 교내 SW 경진대회 프로그래밍 부문에서 우수상을 받기도 하였습니다.
알고리즘을 공부하고자 일명 '종만북'으로 불리는 책을 구매하여 공부하고 있습니다. 졸업 작품도 준비하면서 여유 시간이 있을 때 읽을 생각입니다.
그리고 가끔 AtCoder에 참여할 때도 있습니다. 한국 시각 기준으로 대부분 주말 밤 9시에 시작하기 때문에 부담이 적었습니다. 비록 Rating은 낮지만, 현재는 400 이상을 목표로 하고 있습니다.
★ 필자가 현재 진행 중인 졸업 작품
필자의 졸업 작품 주제는 (스팸 및 사기 문자 방지 앱) 16 × 16 및 변형 스도쿠 게임입니다.
이에 대하여 자료 조사를 진행하던 중, 스팸 빅데이터 개방을 추진하고 있다는 기사를 접하게 되었습니다. 하지만, 아직 부족한 스팸 데이터 등으로 인하여 고민이 깊어지고 있습니다. 인터넷에서 영어로 되어있는 데이터를 찾았지만, 실생활에서는 한국어 데이터가 많다는 점에서 제가 직접 문자 공유 앱을 만들게 되었습니다.
개발 초기에는 영어 데이터를 사용할 예정이며, 충분한 한국어 데이터가 수집되면 한국어 데이터를 추가해서 개발을 진행하려고 합니다. 이와 관련해서 머신러닝을 공부할 계획이며, 시간이 충분하다면, 문자뿐 아니라 전자우편 스팸도 수집할 계획입니다.
원래 계획했던 주제와 관련해서 데이터를 수집하는 과정에 차질을 빚게 되었고, 이로 인하여 새로운 주제를 선정하게 되었습니다.
새로운 주제를 고민하다가, 스도쿠를 게임으로 만들어볼까 하는 생각이 들게 되었고, 이를 Android 앱과 Windows 프로그램으로 제작하려고 합니다. Android 앱 제작에는 Kotlin을 사용하고 있으며, Windows 프로그램 제작에는 C#을 사용하고 있습니다. 시간적으로 여유가 생기게 된다면 웹 프로그램으로도 제작하려고 합니다.
스도쿠 풀이 알고리즘도 다양하고, 이와 관련된 라이브러리를 활용하는 만큼, 일반적인 수업의 프로젝트 수준이라는 지적과 함께 특징적인 요소를 부여했으면 좋겠다는 의견이 있었습니다. 그래서 변형 스도쿠 또한 지원하기로 하였고, 변형 스도쿠의 종류도 조사하려고 합니다. 또, 게임 형식으로 제작하는 만큼, 다양한 인게임 아이템을 추가하려고 합니다.
개발을 하면서 데이터를 저장할 서버의 필요성을 느꼈습니다. 대학교 4학년 1학기 때 수강한 과목 중 라즈베리파이를 활용한 과목이 있었습니다. 라즈베리파이를 서버로 활용하려고 했으나, 임베디드 시스템인 만큼 성능 관련 문제로 인하여 다른 방안을 찾아보았습니다. 이를 통하여 Google에서 제공하는 Firebase를 활용하게 되었습니다.
최근에는 졸업 작품과는 별개로 AWS에서 제공하는 기능들도 연동하여 다양한 웹 관련 기능도 제작하고 있습니다.
★ 맺으며
특히, 정보처리기사 자격증도 준비해야 하고 (2021년 06월 02일 취득) 기회가 된다면 Google AAD(Associate Android Developer) 자격도 인증받고 싶다는 생각도 하였습니다.
또, 졸업 작품 준비와 알고리즘 공부도 열심히 해서 저의 코딩 능력도 키우고 싶습니다.
앞으로도 열심히 공부하고 항상 초심을 잃지 않겠다는 생각으로 생활하면서 좋은 결과를 이루고 싶습니다.