분류 전체보기 31

Whatever 프로젝트 회고 - 7 주차

이번주는 좋은 것과 나쁜 것이 무엇이 있었나요? 지난 7주간 안해봤던 작업들을 많이 해봐서 좋았습니다. 이번에 AWS 서버도 많이 만져봤고, OAuth2 로그인 기능도 처음해보고, 프론트와 백엔드 페이지가 나뉘어 있는 환경에서 작업을 하면서 많이 배웠습니다. 프로젝트 시작 전 다른 파트를 맡는 팀원과 기능 정의와 와이어 프레임을 구성해본 것도 좋았어서, 다른 프로젝트를 진행 할 때도 도움이 될 것 같습니다. 이번주 진행했던 개발 내용은 무엇이었나요? 피드 삭제 피드 문자열 및 필터 검색 가장 고민을 했던 부분은 무엇이었나요? 기록 안해두면 잊어버릴 것 같은 내용들이 많이 있어서 어떻게 기록을 남기면 좋을 지 고민 중입니다. 요즘 옵시디언이 많이 보여서 사용해보고 싶습니다. 아쉬운 부분을 개선하기 위해서 ..

Whatever 프로젝트 회고 - 6 주차

이번주는 좋은 것과 나쁜 것이 무엇이 있었나요? 저번 주 위클리 이후 슥슥 해결되었습니다. 문제가 많았던 세션 쿠키 문제는 서브 도메인을 맞추는 방법으로 해결이 되었습니다. 다음부터 서로 다른 도메인간의 쿠키 유지는 안되는 것으로 생각하겠습니다. MockMvc 테스트에서 모든 경로에 403 인증 에러 나는 문제도 해결 했습니다. 피드나 댓글 삭제, 수정 그리고 필터 및 검색 API가 구현되지 않았습니다. 이번주 진행했던 개발 내용은 무엇이었나요? 피드 및 댓글 작성, 조회 기능 서브 도메인을 사용해서 프론트/백 도메인 통합 이미지 업로드 사용자 닉네임 랜덤 생성 가장 고민을 했던 부분은 무엇이었나요? Swagger 없이 Post만으로 테스트하는 것이 좀 비효율적인 것 같습니다. Spring REST Do..

Whatever 프로젝트 회고 - 5 주차

이번주는 좋은 것과 나쁜 것이 무엇이 있었나요? 로그인 후 세션 쿠키가 사라지는 것을 해결할 수 없었습니다. 서로 다른 도메인에서 OAuth2 + 세션 로그인 구현 관련해서 인터넷에서 찾아볼 수 있었던 내용들은 다 적용해봐도 쿠키가 사라졌습니다. 일찍 안되는 것으로 판단했어야 했는데 늦었습니다. 서브 도메인을 맞추는 방법으로 진행해야 할 것 같습니다. SecurityConfig에서 petmitAll()로 열어둔 경로가 MockMvc 테스트에서 403에러가 발생했었습니다. MockMvc 테스트에서는 SecurityConfig 빈이 적용 안되는 것을 알았습니다. 이번주 진행했던 개발 내용은 무엇이었나요? OAuth2 로그인 기능을 구현했으나 정상 동작하지는 않았습니다. 피드와 댓글 작성 기능을 구현했지만 피..

Whatever 프로젝트 회고 - 4 주차

이번주는 좋은 것과 나쁜 것이 무엇이 있었나요? 이전에 Swagger를 사용했을 때는 API 문서와 엔드포인트 테스트 UI는 기본적으로 제공했었는데, Spring REST Docs는 각 API 엔드포인트마다 테스트 코드와 API 문서 포맷 파일을 작성해줘야 하는 번거로움이 있었습니다. Spring REST Docs 적용하면서 문제가 많았었는데 지금은 안정적으로 사용할 수 있습니다. 적용하고 나니 Swagger보다는 API 문서 제공 용으로는 더 깔끔하고 좋은 것 같습니다. 이번주 진행했던 개발 내용은 무엇이었나요? "찾아주세요", "댕글냥글" 피드 및 목록 조회 기능을 구현했습니다. Spring REST Docs로 API 문서를 생성했습니다. GitHub Actions로 CI/CD를 구축했습니다. 가장 ..

Whatever 프로젝트 회고 - 3 주차

이번주는 좋은 것과 나쁜 것이 무엇이 있었나요? 와이어 프레임 작성이 끝났다고 생각했었는데 더 자세하게 설계가 되어야 한다는 것을 알았습니다. 시작할 때 구현해보자 했던 기능들이 많았다는 게 이해되고 있습니다. 이번주 진행했던 개발 내용은 무엇이었나요? 와이어 프레임에서 세부 내용들을 더 정리했습니다. Repository를 공개로 전환했습니다. ERD 설계를 완료 했습니다. 로그인 없이 가능한 조회 기능부터 개발을 진행 중입니다. 가장 고민을 했던 부분은 무엇이었나요? "찾아주세요" 피드와 "댕글냥글" 피드 관련 Entity 설계에서 고민이 있었습니다. "찾아주세요" 피드에는 "동물 종류", "품종" 등 과 같은 추가적인 필드가 필요하고, 피드의 "제목"이나 "내용" 같이 공통적인 부분은 "댕글냥글" 피..

인텔리제이 remote : Repository not found 에러 해결

내 경우에는 인텔이제이의 Git 기능을 사용해서 GitHub의 Organization의 Repository에 push를 하는 과정에서 "remote : Repository not found" 에러가 발생했다. CLI에서 git push를 할 때는 원격 저장소에 push가 문제 없이 잘 되는데, 인텔리제이를 통해서 push 할 때만 이 현상이 발생하니 인텔리제이가 뭔가 잘못하고 있는 것 같았다. 인텔리제이가 push 할 때 만들고 있는 명령어는 다음과 같았다. git -c credential.helper= -c core.quotepath=false -c log.showSignature=false push --progress --porcelain origin refs/heads/master:master 이 ..

Tools 2023.08.23

[Spring] OAuth2 로그인 구현하기 2 - 로그인 과정 디버깅

aboutSpringSecurity/oauth 에서 테스트 프로젝트와 같이 볼 수 있습니다. 용어 Roles 공식 문서 section-1.1에서는 아래 4개의 역할을 정의한다. Resource Owner 리소스 소유자는 사용자로, 자신의 계정 데이터에 대한 접근 권한을 부여할 수 있는 개체입니다. Resource Server 리소스 서버는 리소스 소유자의 데이터를 호스팅하는 서버로, 보호된 리소스에 대한 접근을 처리합니다. Authorization Server 인증 서버는 사용자의 신원을 확인하고, 클라이언트에게 토큰을 발급하는 역할을 합니다. 이 토큰은 클라이언트가 리소스 서버에 접근할 수 있는 권한을 부여합니다. 아래 설명 중 나오는 Provider와 같습니다. (google, kakao, naver..

Spring 2023.08.22

Whatever 프로젝트 회고 - 2 주차

이번주는 좋은 것과 나쁜 것이 무엇이 있었나요? 와이어 프레임을 같이 작성하며 팀원들과 대화를 나눈 것이 좋았습니다. 기능 뿐만 아니라 어떤 API가 나와야 할 지 정리가 되었습니다. 카카오 로그인 기능을 구현해봤습니다. 스프링 OAuth2 라이브러리가 잘 되어 있어 로그인 관련해서 직접 작성할 코드는 많이 없었지만, OAuth2 인증 플로우를 디버깅하며 이해하는 과정이 좋았습니다. 이 과정이 웹 서버, 웹 애플리케이션 서버가 나뉘어진 환경에서도 유효한지는 잘 모르겠습니다. 이번주 진행했던 개발 내용은 무엇이었나요? 댕냥이 홈커밍(PetComing)의 레포지토리를 생성했습니다. 프로젝트에 필요한 Dependencies를 정했고, 프로젝트를 생성했습니다. ERD를 설계 중입니다. 필요한 Entity는 정했..

[Spring] OAuth2 로그인 구현하기 1 - 카카오 애플리케이션 등록

Kakao 애플리케이션 추가하기 https://developers.kakao.com/console/app 사업자명 적으래서 당황했는데 찾아보니 다들 막 적고 시작하더라 Web 플랫폼 등록 로컬테스트만 하려는데 사이트 도메인부터 준비해야하나 했지만 그냥 localhost 주소 작성해도 된다. Web 플랫폼을 등록하고 나면 아래 Redirect URI도 설정하는 링크가 생긴다. 상태를 활성화하고, 카카오는 OpenID Connect도 지원하니 이것도 활성화 했다. Redirect URI는 default Redirect URI를 적었다. 동의 항목 설정 닉네임, 프로필 사진, email을 설정했다. Client Secret 발급 보안 > Client Secret "Implicit Grant" 방식도 지원을 하..

Spring 2023.08.16

Whatever 프로젝트 회고 - 1 주차

2023월 8월 7일 ~ 8월 13일 첫번 째 Weekly 회의 모든 팀의 역할 구성이 같지는 않은 것 같은데, 우리 팀은 FE(Frontend) 1명, PD(Product Design) 1명, BE(Backend) 1명 총 3인으로 구성되었고, 나는 여기에 BE로 참여하게 되었다. 첫 모임에서는 짧은 자기 소개를 통해 서로를 알게 되었고, 멘토 분들이 앞으로 6 주간 프로젝트를 어떻게 진행해야 하는지 설명해주셨다. 그리고 팀원들과 친해지기 위한 아이스브레이킹 시간도 있었다. 노래 제목과 가수 맞추기 게임이 기억이 나는데, 대부분 아는 노래임에도 제목과 가수가 기억이 안나 많이 맞추지 못했지만 재밌었다. 회의가 종료된 후, 팀원들과 짧게 아이디어 회의와 잡담 시간을 보내고, 주제 선정을 마무리 하기 위한..