분류 전체보기

Spring

포트원 결제 - 카카오페이 (Spring, Java) With 시퀀스 다이어그램

🌱 오늘의 주제 : 포트원 결제 - 카카오페이 (Spring, Java) With 시퀀스 다이어그램 🌱 포트원 정보 및 설치 포트원 정보 및 설치는 아래 링크를 통해 실행하면 됩니다. 포트원 카카오페이 깃헙 : https://github.com/iamport/iamport-manual/blob/master/%EC%9D%B8%EC%A6%9D%EA%B2%B0%EC%A0%9C/sample/kakao.md 포트원 사이트 : https://portone.io/korea/ko 포트원, 온라인 비즈니스를 위한 통합 결제 솔루션 코드 한 줄로 세상 모든 방식의 결제를 경험해보세요 portone.io 🌱 포트원 이란? 국내 PG결제 연동을 쉽게해주는 결제 API 입니다. PG란 Payment gateway의 약자인데, ..

Spring

Kakao 로그인(OAuth 2.0) in Spring Boot With 시퀀스 다이어그램

🌱 오늘의 주제 : Kakao 로그인(OAuth 2.0) in Spring Boot With 시퀀스 다이어그램 🌱 OAuth 2.0 이란? OAuth 2.0 을 간단하게 설명하면 어떤 서비스를 만들 때 사용자 개인정보와 인증에 대한 책임을 지지 않고 신뢰할 만한 타사 플랫폼에 위임하는 겁니다. 보안적으로 문제되지 않도록 안전하게 관리해야 하고 ID/PW 에 관련된 지속적인 해킹 공격 등 여러 가지 신경써야 할 부분이 많습니다. 하지만 OAuth 2.0 을 사용해 신뢰할 수 있는 플랫폼 (구글, 페이스북, 네이버, 카카오 등) 에 개인정보, 인증 기능을 맡기면 서비스는 인증 기능에 대한 부담을 줄일 수 있습니다. 🌱 OAuth 2.0 주요 용어 Authentication 인증, 접근 자격이 있는지 검증하는..

코딩 에러 및 질문

월별 성별에 따른 조회 JPA - nativeQuery

🌳 Before 월별 매출에 따른 성별 수 조회 방법을 알아봅니다. 🌳 After 🌾 해결 방법 : COUNT(DISTINCT CASE WHEN C.gender = '남자' THEN B.id END)는 SQL 쿼리에서 사용되는 특별한 표현식입니다. 이 표현식은 다음과 같은 역할을 합니다. CASE WHEN C.gender = '남자' THEN B.id END: 이 부분은 C.gender가 '남자'인 경우에는 B.id 값을 반환하고, 그렇지 않으면 NULL 값을 반환합니다. 즉, '남자'인 환자의 경우에만 해당 환자의 B.id 값을 가지고 오고, 그 외의 경우에는 NULL을 반환합니다. COUNT(DISTINCT ...): 이 부분은 DISTINCT 키워드를 사용하여 중복된 값을 제거한 후, 그 결과의 개..

코딩 에러 및 질문

Mysql - (년도 + 월) 합쳐서 조회하기

🌳 에러 코드 Mysql - 년도, 월 따로 조회 되는 경우. 🌳 해결 방법 🌾 해결 방법 : 1. 년도별 월별 매출을 yyyy-MM 형식으로 표현하려면 CONCAT 함수를 사용합니다. 2. LPAD는 "Left Pad"의 약자로, 문자열을 특정 길이로 만들기 위해 왼쪽에 다른 문자를 채우는 함수입니다. 일반적으로 숫자나 문자열을 일정한 길이로 맞추는데 사용됩니다. 예를 들어, LPAD('7', 4, '0')은 문자열 '7'을 길이 4로 맞추고 왼쪽에 '0'을 채워서 '0007'을 생성합니다. 여기서 첫 번째 인수는 대상 문자열이고, 두 번째 인수는 목표 길이이며, 세 번째 인수는 채워질 문자입니다. 년도와 월을 표현할 때 년도는 4자리로, 월은 2자리로 표현하는 경우가 많기 때문에 LPAD 함수를 사용..

코딩 에러 및 질문

"could not extract ResultSet; SQL [n/a]; nested exception is org.hibernate.exception.SQLGrammarException: could not extract ResultSet",

🌳 에러 코드 "could not extract ResultSet; SQL [n/a]; nested exception is org.hibernate.exception.SQLGrammarException: could not extract ResultSet", 🌳 해결 방법 🌾 원인 :쿼리 문자열의 각 부분이 연결되어 있지 않아서 문법 오류가 발생 🌾 해결 방법 : "FROM reservation AS A "와 "SELECT A.reservationDate AS reservationDate " 의 문자열 간 공백을 추가하고 각 부분을 연결 (\n 추가) Before After

코딩 에러 및 질문

return; 무한루프

🌳 에러 코드 무한루프 발생 🌳 해결 방법 🌾 원인 : return; 예외처리 해주지 않아서 무한루프 발생. 🌾 해결 방법 : RuntimeException 예외처리로 해결. After

코딩 에러 및 질문

could not execute statement; nested exception is org.hibernate.exception.GenericJDBCException: could not execute statement

🌳 에러 코드 could not execute statement; nested exception is org.hibernate.exception.GenericJDBCException: could not execute statement 🌳 해결 방법 🌾 원인 : 자바 entity와 DB의 table이 일치하지 않아서 발생, DDL을 update로 두고 실행하면 위와같은 에러가 발생 🌾 해결 방법 : DB에 있는 해당 테이블을 수정한대로 변경.

코딩 에러 및 질문

Cannot drop column : needed in a foreign key constraint

🌳 에러 코드 Cannot drop column : needed in a foreign key constraint 🌳 해결 방법 🌾 원인 : foreign key로 등록되어 있어서 해당 컬럼 삭제 불가. 🌾 해결 방법 : Warning With foreign_key_checks=0, dropping an index required by a foreign key constraint places the table in an inconsistent state and causes the foreign key check that occurs at table load to fail. To avoid this problem, remove the foreign key constraint before dropping t..

코딩 에러 및 질문

Date 객체 이쁘게 정리

🌳 에러 코드 🌳 해결 방법 🌾 해결 방법 : Date 를 담을 속성에 아래 어노테이션을 추가하면 됩니다. 포멧은 원하는 방식으로 변경하면 됩니다. (Jackson 2.x 이상 기준)@JsonFormat(pattern = "yyyy-MM-dd") Before After

코딩 에러 및 질문

nested exception is org.hibernate.exception.SQLGrammarException: could not execute query

🌳 에러 코드 java.sql.SQLException "could not execute query; SQL [SELECT d.hospitalName, d.hospitalAddress, d.mapx, d.mapy, d.category, d.hospitalPhoneNumber, d.hospitalIntroduce, d.hospitalProfileURL FROM doctor d WHERE d.category = ?]; nested exception is org.hibernate.exception.SQLGrammarException: could not execute query", 🌳 해결 방법 🌾 해결 방법 : Doctor 엔티티를 사용하지 않고 interface 반환 타입을 만들어서 해결. https://ww..

요가하는 개발자
'분류 전체보기' 카테고리의 글 목록 (3 Page)