본문 바로가기

스파르타코딩클럽(내일배움캠프)

스파르타코딩클럽 내일배움캠프 12주차 5일

728x90

[문제 1]

삭제 되었을때, 몇번 게시글이 삭제되었는지 리턴하고 싶어서

board ID를 받고, 그 ID게시글이 삭제 되었다고 글을 작성하고 싶었습니다.

 

그래서 Concat으로 글자를 합쳐서 리턴을 하려고했는데 잘되지않아 string buffer를 이용한 append를 사용해서 리턴을 하였습니다.

 

@Override
@Transactional
public ResponseEntity deleteBoard(Long boardId, User user)
{
    Board board =boardRepository.findById(boardId).orElseThrow(BoardException.BoardNotFoundException::new);
    checkUser(user, board);
    boardRepository.deleteById(boardId);

    StringBuffer deletePrint = new StringBuffer();
    String boardIdChar = Long.toString(boardId);
    String print = "번 게시글이 삭제되었습니다.";
    deletePrint.append(boardIdChar);
    deletePrint.append(print);

    return new ResponseEntity<>(deletePrint, HttpStatus.OK);
}

 

[문제 2]

 

Board를 Dto로 담으려고할때 for문으로 돌려서 가독성이 안좋았는데

map매소드를 이용해서 가독성이 좋게 변경 시켰다.

Page<Board> myBoardList = boardRepository.findAllByUsername(pageable, user.getUsername());
Page<BoardResponseDto> myBoardListDto = myBoardList.map(BoardResponseDto::toBoardResponseDto);

https://www.notion.so/8fa710b180e24ba4bc22e80dd86f88e7

 

삼성과 아이들

📚 프로젝트 개요

www.notion.so

 

*MAP 사용 주의점

for문대신 MAP이나 람다식, for each를 사용하는것은 대용량 트래픽에서 좋지 않다. 그렇기 때문에, 대용량 트래픽에서의 MAP이나 Foreach등은 사용하지 않는것이 좋다.

https://needjarvis.tistory.com/636

 

[Java] 자바에서 Map 반복 시키는 방법들

자바에서 Map 데이터를 loop를 돌리면서 가져오는 방법은 한가지만 있는 것이 아니다. 게다가 Stream이 지원이 되는 1.8부터는 더더욱 그 방법들이 늘어났는데 방법들을 정리해보고, 성능을 비교해

needjarvis.tistory.com

 

728x90