Health-Genie
-
[error] 현재 브랜치의 끝이 리모트 브랜치보다 뒤에 있으므로 업데이트가 거부되었습니다Health-Genie 2024. 1. 22. 15:56
해당 문제는 git 문제입니다. 에러 해당 에러가 발생하면서 git push가 동작하지 않고 있습니다 에러 원인 개인적으로 여러 블로그를 찾아본 결과 기존에 같은 branch로 작성한 commit중에서 에러가 발생했는데, 지금의 커밋과 과거 에러가 났던 커밋의 충돌 때문이라고 보입니다. 에러 해결 방법 해결 방법은 2가지가 있는거 같습니다 1. 과거 에러가 발생했던 branch의 커밋이 필요없다면, github repository로 들어가서 해당 branch로 올린 과거 커밋 내역 삭제하기 2. git push origin 해당 branch --force 명령어를 통해서 과거 커밋 내용 상관없이 현재 커밋으로 덮어쓰기 에러 해결 결과 저는 2번째 방법을 통해서 위의 에러를 해결했습니다 개인적으로 첫번째 ..
-
[error] cannot deserialize from Object value (no delegate- or property-based Creator)Health-Genie 2024. 1. 13. 17:05
발생한 에러 cannot deserialize from Object value (no delegate- or property-based Creator) requestDTO를 받는 과정에서 발생한 원인 입니다 발생 당시 코드 @Getter @Builder public class PtReviewRequestDto { private Long id; private String content; private String stopReason; private Double reviewScore; private String userNickName; private String trainerNickName; // 작성하는 사람 } (no Creators, like default constructor, exist) 위의 내용..
-
[에러] JSON parse errorHealth-Genie 2024. 1. 6. 14:47
에러 내용 JSON parse error: Cannot deserialize value of type `java.util.ArrayList` from Object value (token `JsonToken.START_OBJECT`)] 에러 원인 해당 프로젝트는 Routine이라는 Entity안에 WorkoutRecipe라는 내장객체가 있는데, Routine 작성시 workoutRecipe가 null로 반환되는 문제가 있었다. Routine entity public class Routine { ... @Embedded // 내장타입이다. private WorkoutRecipe workoutRecipe; ... } Routine Dto public class RoutineRequestDto { private..
-
[이메일] univCert api를 사용한 대학 이메일 인증Health-Genie 2023. 12. 21. 03:19
API를 사용해서 대학교 이메일을 인증하기! 필요한 자료는 github 주소와 해당 api 도메인을 남기겠습니다. api 제공 사이트 : https://univcert.com/instruction 깃허브 주소 : https://github.com/SINZAK/sinzak-backend/tree/main 필요하게 추가해야하는 부분은 아래 부분을 gradle에 추가해줘야 합니다. repositories { mavenCentral() maven { url 'https://jitpack.io' } } dependencies { implementation 'com.github.in-seo:univcert:master-SNAPSHOT' implementation group: 'com.squareup.okhttp',..
-
[에러] broken pipe 에러Health-Genie 2023. 12. 20. 09:53
[ 현재 상황 ] univcert api 적용중 broken pipe에러 발생에 의한 socket read timeout exception 발생 [ 에러 이유 ] 잦은 입출력 호출로 발생한다. 두 개의 소켓(sender, receiver )중에서 receiver가 송신 받은 데이터를 처리하지 못하여 sender가 계속 보내는 경우에 발생한다. [ 해결 방법 및 코드 변화 ] 서버에서는 client 동작에서 발생하는 에러를 막을 수 없기에 exceptionhandler를 통한 해결이 대표적이다 그 외의 방법으로는 중복 요청 막기 , client의 request 후에 server의 response이 올때까지 기다리게 하는 방법들이 있다. 기존 코드 @Transactional public Map certify..
-
[postman] api 문서 만들기Health-Genie 2023. 12. 11. 14:45
이번에 api 문서화를 하면서 경험했던 것을 보이기 위해서 작성합니다! 기존에 collection이 있던 상황! 위에서 보이는 New 버튼을 눌러줍니다. 다른 블로그들을 찾아보면 postman 버전이 달라서 그런지 모르겠지만, 아래와 같이 docuemtn를 누르고 2번째 사진처럼 사진처럼 뜬다고 되어 있는데 현재는 조금 바뀌었습니다 제가 진행한것은 new를 누르고 API 아이콘 버튼을 눌렀습니다 위의 사진에서 API를 누르면 아래와 같이 New API가 생성됩니다. 이러고 전체화면을 보시면, github repository를 연결하실지 마실지에 대한 문구를 볼 수 있습니다. 연결하지 않고도 만들어 볼 수 있으니, without repository를 눌러서 넘어 가면, 아래와 같은 화면이 뜹니다 이제 Co..
-
[타입 고민] 엔티티에 정수 타입으로 Int VS IntegerHealth-Genie 2023. 12. 8. 14:33
문뜩, 개발을 하는데 엔티티에 정수 타입으로 Int를 써야할지 Integer를 써야할지 고민이 들었다. 그래서 각각을 비교하고 언제 사용하면 좋을 지 정리해 보겠다 일단 int와 Integer 모두 정수 값을 나타내는 자료형인데, 두 자료형 간에는 몇 가지 차이점이 있다. Int vs Integer int: 기본 자료형이여서, 값이 없는 경우 null이 아닌 0으로 초기화를 하며 오버헤드가 작아서 메모리 사용 측면에서 효율적이다. [ null 표현 불가능 ] Integer: int의 래퍼 클래스(wrapper class)로, null을 허용하는 참조 타입인데, 컬렉션 프레임워크에서 제공하는 메서드들이 객체를 요구하기에 유용하다 [ null 표현 가능 ] 언제 어떤 것을 사용해야 할까요? Null이 필요한..