[Spring+Vue] 나이스 본인인증 API 구현하기3
·
BackEnd
📍들어가며NICE 본인인증 개발과정 마지막 포스팅으로 이전 글에서 최종적으로 발급받은 암호화된 폼 데이터를 사용하여 NICE 인증창을 호출하고 인증결과를 복호화하는 과정을 포스팅하겠습니다.암호화된 폼 데이터 발급 과정은 이전 포스팅을 참고해주시기 바랍니다. [Spring+Vue] 나이스 본인인증 API 구현하기2📍 들어가며다음 작성예정 포스팅인 8번 항목의 인증창을 열기위해선 정상적으로 암호화된 폼 데이터가 필요합니다. 따라서 이번 포스팅에서는 이전 포스팅에 이어서 3번부터 7번까지 과정을skh990427.tistory.com8. NICE 인증창 호출 본인인증 회원가입 전에 본인인증을 완료해주세요. 본인인증 시작 ..
[Spring+Vue] 나이스 본인인증 API 구현하기2
·
BackEnd
📍 들어가며다음 작성예정 포스팅인 8번 항목의 인증창을 열기위해선 정상적으로 암호화된 폼 데이터가 필요합니다. 따라서 이번 포스팅에서는 이전 포스팅에 이어서 3번부터 7번까지 과정을 포스팅하겠습니다. 기관토큰을 발급받는 과정은 이전 게시글을 참고해주시기 바랍니다. [Spring] 나이스 본인인증 API 구현하기1본인인증 기능을 개발하기 위해서 나이스(NICE)에서 제공하는 본인확인(통합형) 서비스를 도입했습니다.개발 가이드 문서에 맞지 않는 부분도 있고, 스프링을 사용하여 개발된 경우의 게시글을skh990427.tistory.com3. 본인인증 요청(암호화된 폼 데이터 요청)포스팅 과정에서는 제가 작성했던 클라이언트인 Vue.js로 작성합니다. 개발 과정에 따라서 필요한 문법으로 수정하시며 따라와주세요..
[Spring+Vue] 나이스 본인인증 API 구현하기1
·
BackEnd
본인인증 기능을 개발하기 위해서 나이스(NICE)에서 제공하는 본인확인(통합형) 서비스를 도입했습니다.개발 가이드 문서에 맞지 않는 부분도 있고, 스프링을 사용하여 개발된 경우의 게시글을 찾을 수 없어서 여러 시행착오를 겪었습니다.저처럼 스프링으로 나이스 본인인증을 도입하는 분들이 어려움을 겪지 않으셨으면 하는 바람으로 글을 작성합니다.📍 들어가며나이스 본인확인(통합형) 공식 개발 가이드문서에 나와있는 본인인증 서비스의 동작 구조입니다. 처음 보면 어떤방식으로 동작하는지 이해하기가 쉽지 않아서, 다음의 순서대로 구현이 진행된다고 생각해주시면 됩니다. 지금부터 위의 모든 과정을 거쳐 본인인증을 구현하는 과정을 포스팅하겠습니다.0. NICE 본인인증 초기 설정기능개발에 앞서 먼저 나이스아이디 초기 설정을 ..
[Mac]맥북 SSH 접속시 비밀번호 대신 key 사용하기(ssh-keygen)
·
Infra
최근에 서비스를 만들어서 배포를 했는데 매번 관리콘솔에 비밀번호를 사용하여 접속하는 과정에서 비밀번호가 !%DHktj 이런 형태의 비밀번호라 매번 복사 붙여넣기 하기 번거로워 SSH 접속 시 비밀번호 대신 key를 사용하는 방법을 포스팅해두고자 합니다.💻 평소 접속 과정$ ssh [사용자명]@[접속IP] -p [포트번호][사용자명]@[접속IP]'s password: 비밀번호 입력 #ex) !%DHktj한 두번 이런 과정으로 비밀번호 복사 + 붙여넣기 해서 접속하다 보니 번거롭다고 느껴서 key 파일을 사용하여 접속하는 방식으로 바꿔보겠습니다.⚙️ 해결 과정1. 키 생성$ ssh-keygen Generating public/private [키 번호] key pair. Enter file in whi..
[프로젝트 회고] 자격증 모의고사(CBT) 서비스 회고
·
회고
해당 프로젝트는 24.07.30.~24.12.13. 기간 동안 진행하였습니다. 기획부터 설계 개발 배포까지 거의 모든 과정을 혼자 해야 했기에 많은 어려움이 있었습니다. 개발하는 중간중간 기록을 하지 못했기에 프로젝트를 마친 지금 프로젝트를 하는 동안 있었던 어려움과 진행하며 아쉬웠던 점들이 망각되기 전에 프로젝트 과정을 돌아보고자 합니다.📢 프로젝트 소개프로젝트 명 : 자격증 모의고사 서비스링크 : 아이리포 CBT 둘러보기기술 스택FrontEnd : Vue.jsBackEnd : Spring Boot, JPA, QueryDSL, Redis, PostgreSQLInfra : KTCloud, Ubuntu, Docker, Nginx   📅 프로젝트 과정1. 기획현재 재직 중인 회사의 팀에서 팀장님과 자회사..
[Spring] firstResult/maxResults specified with collection fetch
·
트러블슈팅
❗️문제 상황(OneToMany 관계에서 fetchJoin과 페이징을 동시에 사용할 경우)OneToMany 관계에서 fetchJoin 하여 페이지네이션을 적용할 경우 HHH90003004: firstResult/maxResults specified with collection fetch; applying in memory Warning이 발생합니다.1. ERD팀 하나에 여러명의 멤버가 가입되어있을 수 있습니다.2. 예제코드예시로 서비스코드와 엔티티코드를 작성하겠습니다.Member.java@Getter@Entitypublic class Member { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @C..
[JPA, PostgreSQL] PK컬럼이 아닌 컬럼에 Sequence 적용하기
·
BackEnd
원래 id 컬럼을 String(UUID)로 쓰고있었는데 질문을 작성하는 순서대로 넘버링을 할 필요성이 있어서 PK가 아닌컬럼에 시퀀스를 적용해보았습니다.1. JPA Table Mapping@Entity@Getterpublic class Question { @Id String id; // 저장 형식: question_randomUUID // 넘버링 컬럼 추가 @Column(unique = true, nullable = false, insertable = false, updatable = false) private int initOrder; ...}DB의 테이블과 매핑할 컬럼을 추가해줍니다. int, Long 둘 다 가능합니다.2. 테이블 생성// 테이블 새로 생성CREATE..
[BOJ] 2057번 : 팩토리얼 분해 (Python/파이썬)
·
공부/백준
문제 2057번: 팩토리얼 분해 음 아닌 정수 N이 주어졌을 때, 이 수를 서로 다른 정수 M(M ≥ 1)개의 팩토리얼의 합으로 나타낼 수 있는지 알아내는 프로그램을 작성하시오. 예를 들어 2=0!+1!로 나타낼 수 있지만, 5는 이와 같은 www.acmicpc.net 문제풀이 문제는 입력된 N을 서로다른 M개의 팩토리얼의 합으로 나타낼 수 있는지 구하는 문제이다. 예를들어 N = 7 이라면 3! + 1! 으로 나타낼 수 있고, N = 9 라면 3! + 2! + 1! 으로 나타낼 수 있다. 문제를 2단계로 나누어 풀어보도록 한다. STEP 1. 팩토리얼을 구하는 사용자 정의 함수 코드 def factorial(n): if n == 0: return 1 else: return n * factorial(n ..
[BOJ] 2999번 : 비밀 이메일 (Python/파이썬)
·
공부/백준
문제 2999번: 비밀 이메일 정인이는 원래 "bombonisuuladici"를 보내려고 했다. 이 메시지는 16글자이므로, 정인이는 1*16, 2*8, 4*4 행렬을 선택할 수 있다. R이 가장 큰 것은 4*4이므로, 4*4를 선택한다. 정인이가 만든 행렬은 다음과 www.acmicpc.net 문제 풀이 먼저 예제 입력 3번인 "boudonuimilcbsai"를 살펴보면 총 글자수의 길이는 16글자로 만들수 있는 행렬은 1*16, 2*8, 4*4 행렬을 선택할 수 있다고 한다. 1부터 16순서대로 채워진다는걸 알수있다. 예제 입력 3번의 출력값은 "bombonisuuladici"으로 출력되는데 위에서부터 왼쪽부터 오른쪽 순서대로 출력된다는걸 알수있다. 출력순서 : 1 → 5 → 9 → 13 → 2 → ..