
SNS 프로젝트를 진행하면서 해결 과정과 오류들을 기록하기로 하였다.해당 프로젝트는 아래와 같은 목표를 갖고 있다.로그인, 글쓰기, 수정, 삭제, 피드기능(페이징), 댓글, 좋아요, 알림 기능을 개발해보며 복습과 응용.나의 개발 스타일 만들기전체적으로 통일감 있는 코드

인스턴스 유형 : 필요에 따라 OS, CPU, 메모리 등을 선택한다. 이번에는 ubuntu 22.04, t3 small을 선택하였다.키페어 : 있는 것 사용해도 되고, 없으면 만들어도 된다. 어디에 저장했는지만 기억한다.Springboot와 mysql에 연결하기 위해

Github 레포지토리를 만들고 Gitlab과 연동을 한다.GitLab, Github 참고 블로그GitLab에서 GitHub로 미러링하기프로젝트에 도커파일을 만든다.Pipeline Editor의 변수들을 설정변경사항을 push하면 자동으로 변경된 컨테이너를 띄울 수 있
springfox-boot-starter를 추가해야Docket이 임포트 된다.

우선 회원가입 기능부터 시작해 보자.회원가입시 권한은 USEr이고 ID가 sol이라면 ADMIN 권한을 준다.나중에 ADMIN이 USER의 권한을 변경하는 로직을 추가 할 예정이다.우선 Controller이다.UserRestControllerDto를 통해 값을 입력받고

이번에는 로그인 기능을 만들어보자.회원가입에 비해 로그인기능은 조금 더 복잡하다.우선 Controller이다.dto를 통해 받아올 수 있게 해주었으니 dto도 만들어주자반환 타입은 Token만 반환하게 해주었다.로그인은 몇가지 예외처리를 해야한다.1\. userName

자 이제 Entity에 공통적으로 들어가는 값들을 정의할 것이다.사용방법은 간단하다 Configuration 클래스를 생성하고 @EnableJpaAuditing을 사용하면 활성화가 된다.공통으로 들어가는 값들을 정의한 클래스를 만들어야 한다.@MappedSupercla
BaseEntity에 deletedAt으로 null값으로 초기화하여 soft delete를 할 수있게 하였다.그리고 @Where 어노테이션을 클래스에 주어서 해당 엔티티가 쿼리문으로 실행될때 where조건이 포함된 메서드를 삭제하게 하였다.이제 Service에서 로직은

앞서 회원가입과 로그인을 하는 기능을 구현해보았다.이제 로그인한 회원이 게시글을 작성하는 기능을 만들어 보자.이제 게시글을 작성 할 수 있다.Swagger를 통해 확인해 보자.

이제 포스트를 작성하는 기능을 구현했으니 전체 조회하는 기능을 만들어보자.Get은 Security 설정시 아무 설정을 해주지 않아서 모든 사용자가 접근 가능하다.Security 설정을 회원가입을 구현할때 해주었다.리스트가 잘 나오는것을 확인 할 수 있다.

이제 특정 포스트를 조회하는 기능을 만들어 보자.Endpoint는 GET /posts/{postsId} 로 postsId를 받아서 조회할 것이다.이제 상세조회를 할 수 있다.Swagger를 통해 확인해 보자.

이제 특정 포스트를 조회하는 기능을 만들어 보자.이제 수정/삭제를 할 수 있다.Swagger를 통해 확인해 보자.수정삭제

자 이제 Post에 댓글에 작성 기능을 만들것이다.앞으로는 편의를 위해 Post를 게시글이라고 하겠다.(개인적으로 Post에 댓글보다는 게시글에 댓글이 더 정감이 간다.)우선 Controller이다.Authentication에서 UserName을 가져와 사용한다.게시물

자 이제 댓글 전체조회 기능을 만들것이다.로직은 게시글 전체조회하는것과 동일하다.Authentication에서 UserName을 가져와 사용한다.게시글에 달린 Comment를 확인할 것이여서 PostId를 받아온다.우선 Post에 있는 Comment를 전부 찾아온다.그
자 이제 댓글 수정/삭제 기능을 만들것이다.Authentication에서 UserName을 가져와 사용한다.게시글에 달린 Comment를 확인할 것이여서 PostId를 받아온다.수정할 Comment의 id를 받아온다.댓글 수정Comment와 Post를 찾는다.Post에
프로젝트를 진행하면서 기능들을 전부 Json으로 반환하여 Swagger로 확인했습니다.그렇게 회원가입, 로그인, 시큐리티 설정, 댓글, 좋아요, list조회 기능을 만들었습니다.그런데 문제는 UI를 만들때 어떻게 적용할지에 대한 고민이 생겼었습니다.지금까지 가장 많이