Education

대학 시절의 학력 정보 및 수행한 학업 관련 프로젝트, 동아리 활동, 대외활동 등의 경험을 정리한 내용입니다.


목차

학력 정보

항목내용
학교목포대학교
전공정보호호학과
재학 기간2014.03 ~ 2021.02 (졸업 등)

주요 경험

대학 시절에 주도적으로 참여했던 프로젝트, 학과 활동, 공모전, 대외활동 등을 자유롭게 기록하는 공간입니다.

분산멀티미디어 연구실

활동 기간: 2018.09 ~ 2020.08 역할: 스마트 양식장 관리 시스템 개발 및 학술 동아리 조교 주요 내용

  • 스마트 양식장 관리 시스템(SmartAquaFarm)의 웹 서비스 개발
  • 양식장, 수조, 사용자, 유지보수 정보를 관리하는 데이터 관리 기능 구현
  • 수조 센서 데이터를 조회하는 API를 개발하여 수온(WT), 용존산소(DO), pH, NH4, NO2 등 수질 정보를 실시간으로 제공
  • 수질 상태와 이상 신호를 대시보드에서 시각화하여 운영자가 수조 상태를 직관적으로 확인할 수 있는 모니터링 화면 구현
  • JSP/Servlet 기반 MVC 구조와 DAO 패턴을 활용하여 데이터 조회 및 관리 기능 개발

캡스톤 디자인 - 사용자 행위 분석 기반 인가자 판별 시스템 (MNU Capstone Project)

활동 기간: 2019.08 ~ 2020.08
역할: 백엔드 개발 및 머신러닝 모델 구현 저장소: mnu-capstone-2019-2020

  • 활동 및 프로젝트 설명:
    • PC 사용자의 시스템 자원(Process, Threads, Memory Usage) 데이터를 실시간 수집 및 학습하여, 정상 인가 사용자의 사용 패턴과 비교함으로써 현재 사용자가 정당한 인가자인지 분석 및 탐지하는 보안 모니터링 프로젝트입니다.
  • 주요 기능 개발:
    • 시스템 자원 데이터 수집 에이전트 구축: psutil, os 모듈을 활용하여 분별(분 단위)로 PC 내부의 실시간 프로세스 개수, 동작 스레드 수, 물리 메모리 점유율을 백그라운드에서 주기적으로 수집하고 csv 파일 형태로 적재하는 수집 에이전트를 개발했습니다.
    • 머신러닝 기반 예측 모델 구현: 수집한 자원 데이터를 pandas로 전처리한 후, TensorFlow (v1.5.1)를 활용하여 다변인 선형 회귀(Multivariable Linear Regression) 모델을 학습시키고 실시간 자원 변화 예측에 따른 인가 여부 스코어를 계산하는 예측 모듈을 작성했습니다.
    • 실시간 모니터링 웹 대시보드 개발: Flask 웹 프레임워크를 기반으로 수집/예측 데이터를 연동하는 백엔드 API를 개발하고, 프론트엔드에 Chart.js CDN을 연동해 실시간 메모리 예측 그래프 및 사용자 행위 분석 결과를 웹 시각화 화면으로 구현했습니다.
  • 성과 및 배운 점:
    • 데이터 수집부터 시각화까지 하나의 파이프라인 구축 경험: 시스템 자원 수집, 데이터 전처리, 머신러닝 학습, 예측 결과 시각화까지 하나의 서비스 흐름을 직접 구현하며 데이터 기반 서비스를 End-to-End로 개발하는 경험을 쌓았습니다.
    • 실시간 데이터 처리 및 백엔드 설계 기초 확보: 백그라운드 데이터 수집, REST API, 웹 대시보드 연동을 직접 구현하며 이후 백엔드 개발에서 활용한 데이터 처리 및 API 설계의 기초를 다졌습니다.

파이썬 기반 자동화 프로젝트

활동 기간: 2016.09 ~ 2019.12 (학부 재학 중 상시 진행)
역할: 1인 개인 학습 및 개발
저장소: tpjt-python-2016-2019

  • 활동 및 프로젝트 설명:
    • 파이썬의 기초 문법을 익히고 실생활 및 학업 중 발생했던 크고 작은 불편함을 해결하며 개발 감각을 키우기 위해 진행한 토이 프로젝트 모음입니다. 코드 분석을 통해 확인된 실제 구현 의도와 기술적 특성을 폴더 단위로 세분화하여 기록했습니다.
  • 구현 내용:
    • 크롬 방문 기록 복원 및 가공 (chromeHistoryScript): 크롬 브라우저가 방문 이력을 로컬 SQLite DB에 저장하는 구조를 분석하여 방문 기록을 복원하는 도구를 개발했습니다. psutil로 실행 중인 Chrome을 감지해 DB Lock을 해제한 뒤 History DB를 직접 조회하고, WebKit Timestamp를 Unix Epoch로 변환하는 SQL을 작성하여 URL, 제목, 방문 횟수 및 방문 시간을 복원했습니다.

    • 윈도우 UserAssist 레지스트리 ROT13 복호화 (userasistRegstiry_Dump): Windows UserAssist 레지스트리에 저장된 프로그램 실행 기록을 분석하기 위해 ROT13 복호화 도구를 구현했습니다. 라이브러리 없이 순수 파이썬으로 ROT13 알고리즘을 구현하여 암호화된 레지스트리 데이터를 사람이 읽을 수 있는 형태로 복원했습니다.

    • 디버깅 포트 연동 설문 제출 자동화 (NaverFormAuto_Generator): 반복적인 네이버 오피스 설문 제출을 자동화하기 위해 기존 로그인 세션을 재사용하는 브라우저 제어 방식을 구현했습니다. Chrome Debugging Protocol을 활용해 실행 중인 브라우저에 WebDriver를 Attach하고, XPath 기반 요소 탐색과 응답 제어를 통해 설문 제출을 자동화했습니다.

    • 파일명 예측 기반 다운로드 취약점 검증 스크립트 (MNU ASSIGN TRAVERSAL / FileChase): 예측 가능한 파일명 규칙을 기반으로 파일 다운로드 요청을 자동 생성하여, 접근 제어가 미흡한 환경에서 비인가 사용자가 파일에 접근할 수 있는지 검증하는 자동화 스크립트를 개발했습니다.

    • 공공 데이터 포털 Open API 연동 및 파싱 (Open API): 공공 데이터 포털의 데이터를 활용하기 위해 REST API 연동 프로그램을 구현했습니다. requests를 이용해 HTTP 요청을 처리하고 XML·JSON 응답을 역직렬화하여 필요한 데이터를 추출·가공하는 데이터 처리 과정을 구현했습니다.

    • 해양수산청 홈페이지 스크래핑 (SuSan_Mokpo / Sinagong_Download): 웹사이트에 흩어진 데이터를 수집하고 반복적인 다운로드 작업을 자동화하기 위한 프로그램을 개발했습니다. BeautifulSoup를 이용해 HTML을 분석하여 데이터를 추출하고, 다운로드 URL 규칙을 분석해 파일 번호를 순회하며 대량의 첨부파일을 자동으로 수집했습니다.

  • 성과 및 배운 점:
    • 문제를 코드로 해결하는 습관 형성: 학업과 일상에서 반복되는 작업이나 시스템 동작 원리를 발견하면 직접 분석하고 자동화 도구를 구현하는 개발 습관을 형성했습니다.
    • 시스템 내부 구조를 이해하는 개발 역량 확보: SQLite, Windows Registry, File System, HTTP, HTML 등 다양한 데이터 저장 구조와 프로토콜을 직접 분석하며 단순 라이브러리 사용을 넘어 시스템의 동작 원리를 이해하는 역량을 키웠습니다.
    • 실무의 기반이 된 백엔드 기초 체력 축적: 파일 처리, 데이터 파싱, API 연동, 웹 크롤링, 브라우저 자동화 등 다양한 기술을 직접 구현하며 이후 FastAPI 기반 백엔드 개발과 데이터 처리 업무의 기반이 되는 프로그래밍 역량을 쌓았습니다.