본문 바로가기

auto2

JPA - 기본키 생성 전략 JPA - 기본키 생성 전략 관계형 데이터베이스에서 테이블은 각각의 행을 구별하는 기본키가 필요하다. 기본키를 만들 때는 주민등록번호, 주문번호 같은 '자연키' 를 사용할 수도 있고, 논리적 의미가 하나도 없는 하나씩 증가하는 순번 같은 '대체키'를 사용할 수도 있다. 기본키로 어떤 것을 선택하면 좋을까? 주문번호 관련 생성 정책이 변경되거나 주민등록번호를 더 이상 저장하면 안된다는 정책이 생기는 등 자연키는 기본키로 정할 수 있는 올바른 전략이 아닐 수도 있다. 상황에 따라 다르겠지만 대체키를 권장한다. 대체키를 사용하고자 할 때는 Integer 타입 (약 10자리수, 21억 정도까지 표현) 대신 Long 타입 (약 19자리, 9백경 정도까지 표현)을 사용하여 표현 범위를 .. 2021. 9. 26.
[React Native] - Auth, 자동로그인, 자동로그아웃 React Native 300 - Auth, 자동로그인, 자동로그아웃 클라이언트(리액트네이티브 모바일앱)가 서버에게 인증 데이터를 보내면, 서버는 세션에서 인증 데이터를 저장하며 클라이언트에게 세션 키를 리턴한다. 무상태(stateless) 를 다루는 웹 애플리케이션은 RESTful API 또는 GraphQL API 를 이용해 세션에서 인증을 관리한다. 하지만 모바일 앱의 경우, 서버가 각 클라이언트의 인증을 관리하지 않기 대문에 다른 방법이 필요하다. 이 때 세션 대신 토큰을 이용한다. 모바일 앱이 인증 데이터를 보내면, 서버는 서버만 아는 개인키(private key)를 만들어 토큰의 형태로 모바일 앱에게 보낸다. 그러면 Redux storage 같은 곳에 이 토큰을 저장한다. 앱이 실행되는 동안 메.. 2020. 12. 23.
728x90