다량의 데이터 삽입 시간 줄이기
·
BE/개발일지
이번 네트워킹 과제는 지난 과제와 비슷하게 이어서 진행된 과제이다.과제레포지난 과제는 20여개의 엑셀에 있는 데이터를 파싱해서 삽입하는것이 포인터라면, 이번 과제는 파일의 크기가 10,000배 증가한 20만개의 데이터를 삽입하는 과제이다.우선, 기존 코드로 엑셀에 데이터를 넣어보자. DB에 20만개의 삽입 쿼리@Transactionalpublic void createData() throws InvalidFormatException, IOException { OPCPackage excel = OPCPackage.open(new File(EXCEL_PATH)); Workbook sheets = new XSSFWorkbook(excel); Sheet firstSheet = sheets.getS..
데이터베이스 기본키 생성 전략
·
BE/개발일지
개발을 하다보면 DB연결을 통해 자바 객체를 데이터베이스에 저장하곤 한다.이 과정에서 PK를 개발자가 직접 지정하지 않는다.보통 아래와 같은 방식으로 pk외의 다른 컬럼에 대한 값을 지정하고 save를 하는 시점에서 자동으로 PK가 결정되게 한다.@Builderpublic Property(String zipCode, String roadNameAddress, String landLotNameAddress) { this.zipCode = zipCode; this.roadNameAddress = roadNameAddress; this.landLotNameAddress = landLotNameAddress;}기본 키는 기본 키 제약조건에 의해 아래와 같은 조건을 만족해야한다.기본 키 제약조건n..
OAuth를 통한 인증의 문제와 OIDC
·
BE/개발일지
이번 기수부터 생긴 코테이토의 백엔드 네트워킹 시간. 우리 Team의 첫 주제는 OAuth와 OIDC이다. 아래 Flow의 문제점을 찾고 OIDC로 해결해보는게 첫 과제였다. 1. 가능한 OAuth2.0의 Flow 위 4가지 과정이 무엇을 하는지 정리해보자. 로그인 하지 않은 상태. 새로운 웹서비스 코테이토에 로그인하려하는데, 현재 로그인이 되어있지 않은 상태이다. 로그인 버튼을 눌러 OAuth로 로그인을 시도해보자. 카카오(소셜로그인) 동의여기서는 생일, 카카오계정(이메일), 출생년도, 성별, 연계정보, 카카오계정(전화번호)를 받아와도 되는지 허가 받고 있다. 카카오에서 해당 회원의 정보를 받아오려는데 user의 정보를 받아와도 되는지 확인하는 과정이다. cotato 서비스 회원 가입 약관동의이때, 다..
유쓰응
'BE/개발일지' 카테고리의 글 목록