본문 바로가기
TIL (Today I Learned)

TIL) 팀과제 - MemoVO로 메모장 구현하기

by Won's log 2023. 6. 5.

TIL 기준

1. 어떤 문제가 있었는지

2. 내가 시도해 본 것들

3. 어떻게 해결했는지

4. 뭘 새롭게 알았는지

=문시해알

 

팀과제로 메모장 만들기를 하게 되었다. (아이디와 비밀번호를 포함하여 입력, 목록 리스트, 수정, 삭제, 완료 등)

내가 맡은 역할은 메모리스트 중에서도

  • 글 삭제 후 글 번호를 다시 붙여준다.
  • 글이 삭제된 후 새 글이 입력될 때 idx가 기존 idx값에 이어서 1씩 증가할 수 있도록 count의 값을 수정한다. 였고 

문제의 서막이 시작되었다.

메모 리스트 (MemoList) 조건
    여러 건의 메모를 저장하는 클래스 이다.
    메모 전체를 조회할 수 있다. (Getter/Setter 존재)
    작성 최신 순으로 메모를 출력한다.
    1건의 글을 메모 리스트에 추가할 수 있다.
    글의 수정 또는 삭제 시 글 번호를 넘겨 받고 리스트에서 글 번호에 해당하는 글 1건을 얻어와 리턴 시키는 메소드가 있다.
    해당되는 글 1건을 수정하는 메소드가 있다.
    글 1건을 삭제하는 메소드가 있다.
    글 삭제 후 글 번호를 다시 붙여준다.
    글이 삭제된 후 새 글이 입력될 때 idx가 기존 idx값에 이어서 1씩 증가할 수 있도록 count의 값을 수정한다.

문제 : 글번호 추가 삭제라니.. 글 삭제하는 기능도 아직 잘 모르는 나인데..

시도 :  수많은 구글링과 네이버링(?), 챗지피티. 유튜브를 동원해보니 결국 나의 역할은 삭제라는 기능이 암묵적으로 행해져야 동작가능한 기능임을 깨닫게 되었다.

*검색 명칭 : 자바 메모장 구현, 메모장 수정 삭제, 메모장 만들기, 게시판 글번호, java memolist, java memoVO, memolist, spring memo

해결 중 :  여차저차 검색 결과 결국 메모리스트에서 삭제를 하기 위한 memolist메서드가 제대로 작성되어야 했다. 우선 아래와 같은 코드로 작성을 해보았으나 다른 팀원들의 코드와 합치는 과정에서 코드가 제대로 구현할지는 살펴보아야 할 것 같다.

public class MemoList {

    public void delete(int no){
        memoList.remove(no - 1);
    }

 @Override
public String toString() {
    String newIdx = "";

    if(memoList.size() == 0){
        newIdx = "해당 글이 존재하지 않습니다.";
    } else {
        // 데이터를 역순으로 출력한다.
        for(int i=memoList.size()-1; i>=0; i--) {
            // 메모리스트에 데이터가 삭제됐을 때 글번호를 다시 정리해준다.
            memoList.get(i).setIdx(i+1);
            // memoList의 데이터를 String형으로 저장한다.
            newIdx += memoList.get(i)";
        }
    }
    return newIdx;
  }
}

새 앎 : 팀과제라고 하였지만 과제의 기준을 명확하게 잡지 못한 것이 문제의 발단이었던 것 같다. 특별히 내가 맡은 부분이 삭제 기능과 연관된 글번호 삭제 추가이기에 다음 팀과제에서는 그 기능별로 속해있는 메소드와 변수명을 미리 정해서 팀과제를 진행하는 것이 빠른 업무가 될 것이라고 생각된다.

 

할 수 있다!