Verification.java 하단의 코드는 Verification Domain 코드이다. Verification의 경우 ParticipationChallenge를 객체로 가지고 있다. 이때 Spring Data JPA의 파생된 쿼리 메서드 명명 규칙에 따라 VerificationRepository에서 ParticipationChallenge의 id 값을 불러오려면 어떻게 해야할까? @Entity @Getter @NoArgsConstructor public class Verification { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(nullable = false) private String imag..
문제 상황 프로젝트 개발을 하던 도중에 다음과 같은 문제가 발생했다. API 2개를 연달아 개발하던 도중에, 먼저 개발한 API를 모두 개발하고 나서 그 다음 API를 개발하려고 했다. 먼저 개발한 API - A 이후 개발한 API - B A, B 둘 다 같은 도메인을 사용하는 코드다 보니 Respository를 공통적으로 사용해야 했는다. A를 모두 개발하여 Pull Request를 날렸지만 아직 Merge가 되지 않아, 다음 작업을 진행하려고 할 때 공통 코드를 사용하기 위해서 A의 commit을 그대로 이어가야 했던 것이다. 위와 같이 커밋 히스토리가 남겨졌고, 다른 작업자에 의해 Pull Request가 merge 되어 B의 Pull Request를 날리려고 했다. 하지만, B에는 A의 커밋 내역..
구글 소셜 로그인을 구현을 하고, 실제 서버를 실행한 후에 로그인을 진행하려고 계정을 클릭하면 아래와 같은 에러가 발생했다. 왜 에러가 발생하는지에 대해 이해를 할 수 없었는데... 구글링을 해보니 다음과 같은 문제가 있었다. 인증/인가 구현을 하면서, 잘 구현이 되는지 확인하기 위해 일단 anyRequest().permitAll() 을 했었는데 해당 부분에 대해 OAuth2 Filter를 거치지 않아 코드가 원하는 대로 실행지 되지 않았던 것이다. 따라서 위와 같이 OAuth2 Filter를 거칠 수 있도록 .anyRequest().authenticated() 로 코드를 변경했다. 로그인이 잘 되는 것을 확인할 수 있었다! 참고 블로그 https://ryumodrn.tistory.com/29 [OAut..
🚨 챗봇을 개발하게 된 계기SW마에스트로 과정을 진행하면서 우리가 기획한 서비스의 가치를 판단할 필요가 있었다.하지만 앱을 통해 서비스를 제공하기에는, 유저에 대한 설치/가입 비용 등이 존재해 리스크가 있다고 판단했다. 그렇게 시작하게 된 것이 카카오톡 챗봇 서비스를 통한 파일럿 서비스 개발이다.기존에 운영하던 프로토타입은 자동화되어 있지 않은 상태였고, 그저 카카오톡 채널에서 유저에게 일일이 답변을 해줘야 했다. 직접 유저를 관리한다는 점에서 휴먼리소스가 쓰일 수 밖에 없었는데, 우리 서비스의 특성상 유저의 메시지에 대한 답장, 엑셀 관리 등 다양한 업무를 진행했어야 했으며, 이에 대해 굉장히 오랜 시간이 소요되곤 했다. 2일에 3h 24m… 해당 시간은 유저 수에 따라 선형적으로 증..