본문 바로가기

전체 글12

게시판 만들기 04 - 테스트 코드 작성(PostService) 이번 포스팅은 게시글 CRUD API의 테스트 코드를 작성해 보려고 한다. 나는 PostController, PostService 두 가지를 나눠서 각각 6개씩 테스트 코드를 작성했다. 게시글 쓰기 게시글 단건 조회 게시글 조회 실패 - 잘못된 ID 게시글 페이징 조회 게시글 수정 게시글 삭제 나는 Controller와 Service 두 개의 계층에서 테스트 코드를 작성했으니 12개의 테스트 코드를 작성했지만, 포스팅에서는 PostService에서 1, 2, 3번의 테스트 코드를 보여주고 PostController에서 4, 5, 6번의 테스트 코드를 보여주려고 한다. PostService 테스트 코드 작성 테스트 코드는 [ic]src/test/[/ic] 패키지 안에 작성을 한다. 테스트 코드 파일을 직접.. 2022. 12. 8.
게시판 만들기 03 - 게시글 페이징 페이징 처리 하는 이유 여러 사이트를 돌아다니다 보면 아래 사진과 같은 걸 본 적이 분명히 있을 것이다. 이런 페이징 처리는 많은 데이터들을 여러 페이지로 나눠서 제공하므로 데이터를 보는 사람들에게 효과적으로 보여주게 된다. 내가 지금 만들고 있는 게시판도 수백, 수천 개의 게시글이 생길 수도 있는데 이 게시글들을 효과적으로 보여주려면 페이징 처리를 하는 게 좋을 것이다. JPA에서 페이징 나는 지금 MySQL을 사용하고 있는데 만약에 JPA를 사용하지 않았다면 limit, offset 키워드를 활용해서 페이징 처리가 가능한 쿼리를 날렸을 것이다. 하지만 JPA에서는 아주 간단한 페이징 처리 방법을 제공한다. 먼저 저번 포스팅에서 PostRepository를 생성할 때 JpaRepository라는 인터페.. 2022. 12. 8.
게시판 만들기 02 - 게시글 CRUD 게시글 CRUD를 구현하기 전에... REST API 예전에 학원에서 프로젝트를 할 때 스프링 부트와 타임리프를 같이 사용했다. 이때는 컨트롤러에서 HTML을 반환하는 방식을 사용했고, 시간이 지나고 페이지를 반환하는 게 아닌 데이터만 반환할 수 있다는 것도 알게 됐다(REST API). 어쨌든 이번에 게시판 프로젝트에서는 스프링 부트를 사용한 REST API를 만들어볼 계획이다. REST API 참고자료 https://meetup.toast.com/posts/92 Spring Boot에서 REST API 기존에 @Controller를 붙인 컨트롤러들은 HTML을 리턴했다고 했는데, 데이터만 반환하는건 어떻게 할까? 컨트롤러에서 REST 하게 만들고 싶은 메서드에 @ResponseBody라는 어노테이션을.. 2022. 12. 2.
게시판 만들기 01 - 게시글 Entity 만들기 프로젝트 만들기 먼저 스프링 부트를 이용해서 프로젝트를 생성해 준다. 필요한 의존성들을 추가해 주고 application.yml에서 프로젝트 설정을 해준다. 나는 데이터베이스는 MySQL을 사용할 예정이어서 관련된 설정들을 추가했고 JPA 관련 설정도 해두었다. Post 엔티티 만들기 게시글 CRUD 기능을 구현하려면 게시글에 해당하는 Entity를 정의해야 한다. Post Entity를 만들어보자. 보통 Entity나 Class에 붙이는 어노테이션들이 있다. 예를 들면, @Getter, @Setter, @AllArgsConstructor, @NoArgsConstructor, @Data, @ToString, @Builder, @Entity 등이 있겠다. 취업하기 전에 간단하게 JPA를 맛만 본 후에 취업.. 2022. 11. 30.
게시판 만들기 하는 이유 나는 국비 학원에서 Java와 Spring을 배웠다. 학원 수업으로도 배웠지만 인프런에 있는 유명한 강의도 들으면서 Java, Spring, JPA 등을 조금씩 알게 됐다. 그리고 운 좋게 그때 배웠던 기술스택을 거의 비슷하게 사용하는 회사에 백엔드 개발자로 취업을 하게 됐다. 내가 강의로만 배웠던 기술을 실무에서는 어떻게 쓸지 궁금증도 있었기 때문에 나도 회사 프로젝트에 코드로 기여하고 싶다는 생각을 했다. 그렇게 기대를 하면서 회사 생활을 이어가는데… 회사는 나에게 Vue.js를 사용한 프론트 엔드 개발도 시키고(각 잡고 하는 거 아니고 그냥 부트스트랩 써서 화면 만들어! 이런 느낌) 간간히 Spring, JPA 사용해서 간단한 CRUD api 만드는 작업도 시키고 등등 뭔가 백엔드 개발자로 취업한 .. 2022. 11. 25.
블로그 시작 블로그를 시작하는 이유 원래 글을 잘 쓰는 사람이 아니라 블로그를 시작하기 너무 어려웠다. 하지만 이제부터는 블로그를 시작해야 할 것 같다. 그 이유는 바로 회사에서 혹은 따로 공부하는 시간에 뭘 했는지 남겨놓을 곳이 없다는 것이다. 취업을 하고 일을 시작한 지 6개월이 지나가는 시점인데 돌아보면 내가 이 회사에서 내가 한 일이 무엇인지, 얼마큼 기여했는지는 기억이 잘 나지 않는다. 그리고 앞으로 회사 일 뿐만 아니라 혼자 공부하면서 배우거나 느끼는 것도 많을 텐데 그런 것들을 남겨놓는 것이 좋을 거라고 생각했다. 블로그 방향 위에서도 썼듯이, 회사에서 일하면서 혹은 개인적으로 공부하면서 배우거나 느낀점들을 간단하게 정리해서 올리려고 한다. 제발 내가 블로그를 꾸준히 했으면 좋겠다! 2022. 11. 18.