본문 바로가기

Programming134

Pull Request 006 - 자유게시글 작성 기능 TDD로 구현해보기 - 게시글 저장 이전 글에서 dto -> entity 변환 로직의 테스트를 작성하고 기능을 구현해보았다. 이번에는 데이터베이스에 저장이 잘 되는지를 테스트해보고자 한다. 시작에 앞서 Board객체를 전부 FreeBoard로 수정했음을 미리 알린다. 자유 게시판이라는 형식에 맞춰 이름을 바꿔줬다. 게시판은 자유 게시판 이외에도 리뷰 게시판과 구인구직 게시판이 있는데, 해당 게시판들마다 조금씩 다른 차이를 두고 있기에 크게 게시판으로 추상화하고 서로 다른 이름을 붙여 사용하고자 한다. 구인구직 게시판은 '글머리'가 붙는다. 구인 또는 구직을 나눠야 하기 때문이다. 리뷰 게시판은 게시글 내용에 '해당 샵의 정보'가 들어간다. 어느 샵을 리뷰하는지를 게시글을 보는 순간 쉽게 파악하기 위해서다. 이번에 테스트 해 볼 기능은 '게.. 2023. 11. 1.
5장. 객체지향 프로그래밍 그래서 객체지향이 뭔데? 사실 나도 여기에 명확하게 대답하기가 어렵다. 객체지향 프로그래밍이 뭐냐고 물어보면, 하나의 덩어리로 된 큰 프로그램을 여러 '객체'라는 단위로 나눠서 그 객체들 간 상호작용을 통해 프로그램이 돌아가도록 프로그래밍하는 방식이라고 대답할 수는 있겠는데. 해당 장에서는 객체지향 프로그래밍의 4요소 중 캡슐화, 상속, 다형성을 살펴보며 객체지향이 무엇인지에 대해 대답하고자 한다. 캡슐화? 객체지향을 정의하는 요소 중 하나로 캡슐화를 꼽는 이유는 데이터와 함수를 쉽고 효과적으로 캡슐화하는 방법을 객체지향 언어가 제공하기 때문이다. 이를 통해 데이터와 함수가 응집력 있게 구성된 집단을 서로 구분 짓는 선을 그을 수 있다. 캡슐화가 객체지향 언어에만 국한된 개념은 아니다. C언어에서도 헤더.. 2023. 10. 26.
Pull Request 005 - 자유게시글 작성 기능 TDD로 구현해보기 - Post DTO를 Entity로 변경. 첫 삽을 떠보려고 한다. 정의해놓은 여러 요구사항 중 가장 테스트하기 쉬워보이는 자유게시글 작성부터 도전해보기로 했다. 생각해놓은 게시글 작성 기능의 로직은 다음과 같다. 게시글 작성 기능은 BoardServicve#createBoard(BoardDto.Post postDto) 메서드로 정의한다. post dto를 Board 객체로 변환한다. 이 때, 제목과 내용이 작성되어있는지 검증한다. Board 객체를 데이터베이스에 저장한다. Board객체를 response dto로 변환한다. response dto를 controller에 반환한다. 이 때 response dto를 반환하는 이유는 글을 작성한 시점에서 해당 게시글로 이동해서 자신의 게시글을 확인할 수 있게 하기 위해서이다. 여기서 테스트 해볼 수 .. 2023. 10. 25.
Pull Request 004 - 맨날 까먹는 초기 Git 세팅 새롭게 프로젝트를 시작할 때마다 Git 세팅을 맨날 까먹어서 정리해놓는다. 앞으로는 까먹어도 이 글을 참고할 수 있도록 하자. Git에 등록하기(git init) 아마 이 글을 읽는 분들이 어이가 없을 수도 있지만 나는 맨날 까먹는다. 오늘도 초기 파일을 푸시하려다 '왜 안되지' 이러고 있었다. 인텔리제이로 프로젝트를 켰던, 아니면 터미널에서 프로젝트 디렉토리에 들어갔던, 일단 Git에 등록 좀 하자... Github Repository와 연동하기(git remote add) 오늘은 그래도 이 작업은 안까먹었는데, 다음에는 혹시 모르니까 기록한다. git remote add main (repository 주소) 사용자 정보 등록하기(git config) 로그인 방식 안된지가 3년이 됐는데, 아직도 까먹고.. 2023. 10. 24.
Pull Request 003 - 스프링 부트 버전과 자바 버전의 불일치 아니 무슨 시작부터 에러가... 아마 많은 분들이 start.spring.io에서 스프링 프로젝트를 만들 것이라고 생각된다. 나 역시 마찬가지로 해당 서비스를 이용했다. Spring Boot 버전을 3.1.5로 세팅하고, 이것저것 메타 데이터를 설정한 뒤, 여러 의존성을 추가하고 자바 버전을 11로 설정한 뒤 프로젝트를 생성했다. 프로젝트를 인텔리제이로 켜자마자 다음과 같은 오류 메시지를 맞이할 수 있었다. 🚫 A problem occurred configuring root project 'groomingzone'. Could not resolve all files for configuration ':classpath'. Could not resolve org.springframework.boot:spr.. 2023. 10. 24.
반응형