Java 관통 프로젝트: 영상 관리 프로그램
개발 기간 2023/08/04 (1일)
개발 인원 2명
프로젝트 개요
- 비디오 및 해당 비디오 리뷰 관리
- 회원가입 유저 목록 관리
프로젝트 목표
- MVC 패턴 기반 프로그램 구현
- 싱글톤 기반 데이터 관리 메서드 구현
- json 파일 데이터 자료 구조에 담기 및 관리
사용 기술
- Java 8
구현 과정
우리는 Github 저장소를 만들고, 각자 브랜치에 푸시하고, 병합하며 작업을 진행했다. VSCode를 이용할 땐 충돌이 발생할 경우 화면에서 바로 해결할 수 있어서 편리했는데, java는 충돌 해결이 쉽지 않을 것 같아 각자 맡은 파일 외에는 수정하지 않기로 했다.
속도가 빠른 편이라 각자 브랜치를 만들어 작업하기 잘한 것 같다.
- 먼저 주어진 명세를 보고 파일마다 어떤 기능을 요구하는지 파악했다. 가장 먼저 기능을 담당하는 클래스들부터 만들고, 이후 확인하는 방식으로 진행했다.
- 심화 기능까지 구현할 것을 고려해 user 관리 폴더와 해당 json 파일도 생성했다.
- 기능을 모두 구현한 후 main에서 UI를 구현했다. 웹 페이지가 아니다 보니 유저 입장에서 프로그램의 흐름이 어떻게 흘러가는지 생각하는 것이 어려웠다. 로그인 상태를 파악하고, 로그인되면 본 서비스로 넘어가는 로직으로 만들었다.
마지막에 확인하면서 보니 리뷰를 저장할 때 문제가 있었다. 리뷰를 동영상 아이디를 key로 하는 Map으로 만들었는데, json 에서 받아올 때는 문제가 없지만 쓸 때 새로운 리뷰를 담은 자료가 중복으로 들어가서 오류가 났다.
1번 동영상에 1-1 댓글이 있었는데, 1-2 댓글을 추가하면 json에 1+1-1 , 1+1-1, 1-2 가 추가된 식. Review 인스턴스를 활용해서 데이터 관리를 하라는 거였다….
느낀 점
java 프로젝트 구조에 대해 조금 더 알 수 있었고, 개발 방법론에서 MVC의 개념을 알게 되었다! 역시나 콘솔에서 user 사용 흐름에 맞게 ui 로직을 구성하는 것은 어려웠다. 회원가입 -> 로그인 -> 영상 목록 -> 영상 선택…
json 파일을 쓰고 읽어오는 것이 어려웠지만 언젠가 해야 하는 마음의 숙제로 가지고 있었기 때문에 직접 해 볼 수 있는 기회였다.
더 해볼만한 것
영상 detail 화면에서 getUrl 메소드를 활용하여 링크에 해당하는 인터넷 창을 띄워 동영상을 보여주는 기능 추가