목록분류 전체보기 (191)
개발 기록

로컬에서 테스트할때 WebSocketConfig 에서 프론트는 localhost:63342로 보내기때문에 이 주소도 추가해줘야 됐다 ! @Override public void registerStompEndpoints(StompEndpointRegistry registry) { registry.addEndpoint("/websocket").setAllowedOrigins("https://api.fevertime.shop", "https://www.fevertime.shop", "http://localhost:8080", "http://localhost:63342").withSockJS(); } --이제 send만 하면 되는데 오류 뜸 feed.html:580 Uncaught TypeError: Cannot..
Could not create query for public abstract org.springframework.data.domain.Page shop.fevertime.backend.repository.ChallengeRepository.findAllByChallengeProgressAndCategoryNameEquals(shop.fevertime.backend.domain.ChallengeProgress,java.lang.String)! Reason: Paging query needs to have a Pageable parameter! --아주 친절한 에러 설명.. Page findAllByChallengeProgressAndCategoryNameEquals(ChallengeProgress chal..

-프론트 배포! -s3 만들어서 정적 웹 사이트 호스팅 활성화 / 권한 퍼블릭 / 버킷 정책 생성 해주고 프론트 파일 업로드 -cloudfront 배포 생성해서 s3와 연결해주고 배포 도메인 이름을 입력하면 사이트가 뜬다. -cloudfront 설정 대체 도메인 이름(CNAME) (서브도메인까지 사용할 경우 다 써줘야함-인증서 만들때 넣은 도메인 모두) 사용자 정의 SSL 인증서 (cloudfront 는 버지니아 리전의 인증서 사용) 이건 필수조건인지는 모르겠는데 리액트 사용했을 경우 cloudfront 배포 오류페이지를 설정해준다 삭제해도 사이트가 잘 뜨는 것 보면 꼭 해야하는 것은 아닌듯 -route53 해당 도메인 호스팅영역에서 레코드 생성 레코드 이름 : 연결할 도메인 (ex.. www.~~.co..

백엔드 코드 배포하고 도메인이랑 연결하는 작업 연습 그래도 공부할때 한두번씩 해본건데 생각이 아예 안 났다 예전에 내배캠분들이랑 정리해놓은 자료가 도움이 많이 됐다 aws 는 흥미가 너무 안 생긴다 그래도 큰 흐름은 알고 있어야 할 것 같다. https 설정 [도메인 생성 -> 라우트53에서 호스팅 영역 생성 -> ACM 생성 -> (eb사용시) 로드밸런서 리스너 편집 -> 라우트53에서 레코드 편집 (로드밸랜서 연결해줌) ] 그래도 어려움 route53 서브도메인 생성 route53 메인도메인 호스팅영역에 CNAME으로 입력해주면 된다. 값에는 메인 도메인이나 eb url 입력하면 되는 듯 ACM 생성 메인 도메인과 서브 도메인을 사용하는 경우 인증서 생성할때 도메인에 두개 다 입력해줘야한다 aws A..

배포 연습 해본 날 ! 사실 아직 깃허브액션 음 감은 안 오는데 아직은 하다보면 어케 할 수는 있을 것 같은 느낌 rds설정도 처음 해봤는데 나는 mysql 테이블 각각 만들어주는 줄 알았다 그럼 rds 쓰는 의미가 없지.. rds 생성하면서 놓친 부분 - 추가 구성에서 초기데이터베이스 이름 설정하기 -밑에 친절하게 데이터베이스 이름을 지정하지 않으면 amazom RDS에서 데이터베이스를 생성하지 않습니다. 라고 써있다. -그리고 우리는 aws 시크릿매니저를 사용해서 환경변수 관리했는데 mysql_url 부분도 같이 수정해줌 jdbc:mysql://엔드포인트:3306/db이름 인텔리제이에서 MYSQL 연동해주고 여기서 추가구성에서 써준 데이터베이스이름을 Database에 넣어주면 된다 나머지도 host,..
-유저 정보를 변경할때 이미지와 이름 두가지 변경 가능 -처음에는 이미지 변경, 이름 변경 api를 따로 만들어서 구현 -하나의 api로 합치려고 했는데 이름만 바꾸려고 할때 이미지가 첨부 안된 상태를 null로 받아오려니 백엔드에서 안 받아줬다 multipartfile 이라 형식이 달라서 그런 듯 -그래서 dto에서 multipartfile image를 빼고 컨트롤러에서 리퀘스트파람으로 따로 받았다 ( 필수값이 아니도록 설정 가능 ) -dto에서도 어노테이션으로 널값 허용 할 수 있을 거같은데 @nullabel 해봤는데 안 먹었다. 나중에 다시 해보기 @PutMapping("/user") public ResultResponseDto updateUser(@ModelAttribute UserRequestD..
-통합테스트 코드 작성 할때 나온 에러들. 더 많지만 시간 많이 잡은 에러만. org.hibernate.TransientPropertyValueException: object references an unsaved transient instance - save the transient instance before flushing : shop.fevertime.backend.domain.Challenge.user -> shop.fevertime.backend.domain.User; nested exception is java.lang.IllegalStateException: org.hibernate.TransientPropertyValueException: FK 로 사용되는 컬럼값이 없는 상태에서 데이터를..

Java Optional Guide Java Optional Guide Java.util.Optional class | 안녕하세요. 이 글은 java.util 패키지의 Optional 에 대하여 다루려고 합니다. Optional class는 값이 존재하는지 여부를 명시적으로 체크하기 위해 등장했습니다. 이 글을 통해서 Opt brunch.co.kr 테스트케이스 작성시 참고한 부분 -테스트 케이스 만들면서도 필요성이 확 와닿지 않았는데 팀원분들이랑 튜터님 말씀들어보니 좀 알것도 같았다. 두가지 입장이 있다고 하셨는데 나도 전체 코드를 테스트 케이스로 작성해 테스트 커버리지를 높이는 것 보다는 에러가 날 만한?! 한 메서드 안에 여러가지가 실행되는 그런 코드를 중점으로 작성하는 게 더 효율적일 것 같다고 생..