0719 개발일지

Yesol Lee·2022년 7월 19일
0

개발일지 - 2022

목록 보기
97/187

오늘 한 일

첫 프로젝트 개발을 하기 전, 이전 프로젝트 개발에 사용되었던 코드 및 DB 데이터를 연습용으로 만져볼 수 있게 해주셔서 오늘은 기존 코드를 이용해 새로운 게시판 만들기를 시작했다. 다른 사람이 만든 코드를 살펴보고 그걸 수정하는 것은 처음이라 구조 파악부터 쉽지 않았다.

앞으로 만들 것

기존 시스템은 관리자 사이트, 사용자 사이트가 이루어져 있다. 나는 공지사항 게시판을 참고해 문의사항 게시판을 만들어보려고 한다. 공지사항 게시판과 다른 점은 다음과 같다.

  1. 공지사항은 관리자 페이지에서는 CRUD가 전부 가능, 사용자 페이지에서는 목록 및 상세조회만 가능하다. 하지만 문의사항은 사용자도 작성할 수 있어야 한다.
  2. 사용자가 작성한 문의 게시물에 대해 관리자는 답글을 달 수 있다. 따라서 답글 게시물에 관련된 컬럼을 추가해야 한다.
  3. 답글 게시물 여부에 따라 화면 레이아웃이 변경되어야 한다.
  4. 질문에 답변이 있는지 여부에 따라 처리상태가 변경되어야 한다.
  5. 답글 게시물의 경우 최신 날짜순이 아닌 답변의 대상 질문 바로 아래에 위치해야 한다.

오늘 개발한 것

1. QnA Tibero DB 테이블 생성

  • 기존 테이블 정의서 참고
  • 기존 공지사항 테이블 컬럼에 답글 관련 컬럼 3개 추가
  • 기존 테이블 script 복사해서 값만 바꿔서 실행하면 편하게 만들 수 있다.

2. QnA 자바 파일 생성

  • (service/impl) EgovQnADAO.java
  • (service/impl) EgovQnAServiceImpl.java
  • (service) EgovQnAService.java
  • (service) QnAVO.java
  • (web) EgovQnAController.java
  • controller 안에 관리자 페이지들과 사용자 페이지들 메소드가 같이 있어서 헷갈렸다. 공지사항의 경우 이용자에 따라 CRUD 권한이 바껴야 되지만 문의사항의 경우 사용자도 CRUD가 가능하니 추후 이 부분을 수정해야 한다.

3. QnA mapper XML 생성

  • EgovQnASQL_tibero.xml
  • mapper의 DB 컬럼 이름을 덜 바꿔서 에러가 났었다. 항상 내 눈보다 ctrl+F를 믿어야겠다..

4. QnA idgen

  • context-idgn-QnAManage.xml
  • 기존 공지사항의 idgen 파일 참고해서 만들었다.
  • idgen 정보 저장하는 DB 테이블에도 값 추가

5. QnA jsp 생성

  • 사용자와 관리자 페이지가 각각 있는 것을 모르고 처음엔 관리자 페이지를 수정해서 적용했더니 사용자 메인화면에서 관리자 화면으로 이동하는 것이 부자연스러웠다.
  • 사용자 jsp 파일 수정 후 경로 변경해주니 잘 넘어갔다.

6. 메뉴 목록 DB 수정

  • 해당 사이트는 메뉴 목록을 DB에 저장된 값에서 가져오는데, 메뉴 보여주기 및 링크 이동에 필요한 정보들이 3개 테이블에 나누어져 있어서 처음엔 파악하기 어려웠다. 그렇게 나눠진 이유는 관리자페이지에서 메뉴 생성이 가능하기 때문에 메뉴 생성 내역을 저장해야 하고, 메뉴들이 가변적이기 때문인 것 같다.
  • 프로그램목록, 메뉴생성내역, 메뉴목록 테이블에 데이터 추가
  • 지금까지 개인프로젝트에서는 mysql을 자주 사용했는데, tibero를 사용하니 테이블 수정 후 commit을 해주어야 하는 것이 살짝 어색하다.
profile
문서화를 좋아하는 개발자

0개의 댓글