본문 바로가기

전체 글54

OAuth 2.0 - 생활코딩 강의 정리 생활 코딩의 WEB2 - OAuth 2.0 강의를 들으며 정리한 자료입니다. 강의 영상은 아래 페이지에서 확인하실 수 있습니다. https://opentutorials.org/course/3405 WEB2 - OAuth 2.0 - 생활코딩 수업소개 사용자가 가입된 서비스의 API에 접근하기 위해서는 사용자로부터 권한을 위임 받아야 합니다. 이 때 사용자의 패스워드 없이도 권한을 위임 받을 수 있는 방법이 필요합니다. 이를 위 opentutorials.org 1. 수업 소개 3개의 참여자 Mine: 나의 서비스 User: 나의 서비스 사용자 Their: 나의 서비스가 연동하고자 하는 그들의 서비스. Ex) 구글, 페이스북, 트위터 User가 Mine에 글을 쓰면, Their인 그들에 정보를 입력함. use.. 2022. 2. 20.
Spring, JPA 기억해야 할 코드 연관 관계 편의 메소드 @Entity public class Member { public void changeTeam(Team team){ if(this.team != null){ this.team.getMembers().remove(this); } this.team = team; team.getMembers().add(this); } } 기존 팀이 있으면 기존 팀과 회원의 연관 관계를 삭제해야함. JPA 교재 5단원, 192p https://passionate.tistory.com/61 컬렉션 한번에 조회 페이징 해야해서 fetch join을 사용할 수 없을 때 유용하다. 처음에 설정으로 넣어놓기 JPA2 Section5 V3-1강의 Optional public Optional findById(Long.. 2022. 2. 5.
Spring, JPA 기억할 것 보안을 위한 정보 정리 1. PATH Variable로 Id가 넘어오면 service 단에서 권한이 있는지 검사한다. 2. 컨트롤러에서 엔티티 반환하지말고 dto 반환 + 엔티티 외부 노출 금지 프로젝트 고려할 것 정리 1. 도메인 패키지 내에서도 패키지를 분리함. ex, item 2. 저장은 객체를 반환하고, 업데이트는 반환하지 않음' 3. 간단한 것은 return에서 바로 찾아서 반환 4. 레포에서 id 를 set함 5. 레포에는 테스트를 위한 clearStore 메소드를 두자 6. 컨트롤러 제일 앞에는 /가 들어간다. 7. 상품 저장 후 바로 view로 보내지 말고 redirect한다. (새로코침 문제 해결): RPG - 이것은 API에는 필요X 8. jpql은 보통 소문자로 쿼리를 작성하는 것 같.. 2022. 2. 5.
단계별로 풀어보기 4. While 문 sys.stdin 10952 A + B - 5 (2/5) import sys for k in sys.stdin: a,b=map(int,k.split()) if a!=0 and b!=0: print(a+b) https://www.acmicpc.net/source/17419127 Python sys.stdin과 sys.stdin.readline() https://bnzn2426.tistory.com/105 sum 10951 A + B - 4 (2/5) import sys for line in sys.stdin: a, b = map(int, line.split()) print(a+b) # 다른분 코드 for line in sys.stdin: print(sum(map(int,line.spli.. 2022. 2. 5.
[JPA] 양방향 연관관계와 연관관계의 주인 두 엔티티가 양방향 연관관계를 가져도, 테이블은 변하지 않습니다. 안녕하세요. JPA의 양방향 연관관계에와 연관관계의 주인 대해서 알아보겠습니다. 지난 게시글에서 단방향 연관관계를 매핑하고 CRUD를 수행하는 방법을 알아보았습니다. 이어지는 내용이니 관심있는 분들은 아래 게시글을 참고해주세요. HTML 삽입 미리보기할 수 없는 소스 양방향 연관관계 두 객체가 서로를 참조할 때, 양방향 연관관계라고 합니다. 두 객체가 서로의 정보를 찾는 코드가 많을 때, 양방향 연관관계를 갖게 설계하면 코드를 간결하게 사용할 수 있습니다. 아래 사진은 멤버 객체도 팀 객체를 참조하고, 팀 객체도 멤버 객체를 참조하는 경우입니다. 테이블은 외래 키 하나로 양방향으로 조회합니다. 객체가 단방향 연관관계를 가질 때도, 테이블은.. 2022. 2. 4.
[JPA] 단방향 연관관계 객체 연관관계와 테이블 연관관계를 매핑해봅시다. 객체의 참조와 테이블의 외래 키를 매핑하는 것입니다. 안녕하세요. 단방향 연관관계에 대해서 알아보겠습니다. JPA는 객체와 관계형 DB 두 기둥 위에 있는 기술이라고 말합니다. 객체와 관계형 DB를 이어주는 기술이기 때문입니다. 연관관계는 객체와 관계형 DB 모두에서 정말 중요합니다. 그러나 둘은 다릅니다. 아래 사진을 봅시다. 객체와 테이블의 연관관계 객체는 참조(주소)를 사용해서 관계를 맺습니다. 회원 객체는 Member.team 필드로 팀 객체와 연관관계를 맺습니다. 또한, 회원 객체와 팀 객체는 단방향 관계입니다. 단방향 관계는 회원 -> 팀, 팀 -> 회원 둘 중 한쪽만 참조하는 것을 의미합니다. 여기서는 회원 -> 팀으로 회원만 팀을 참조하고, .. 2022. 2. 4.
시퀀스 allocationSize 정리 시퀀스 allocationSize의 기본값은 왜 50일까요? 안녕하세요. DB 시퀀스의 allocationSize에 대해서 알아보겠습니다. 이 게시글은 아래 글을 작성하며 Sequence의 allocation에 대해 궁금해져서 작성하게 된 글입니다. JPA에서 시퀀스를 어떻게 다루는지 내용이 포함되어있으니 궁금하신 분은 아래 게시글을 참고해주세요. HTML 삽입 미리보기할 수 없는 소스 시퀀스의 allocationSize는 단어 그대로 할당해놓는 시퀀스의 크기입니다. 시퀀스를 보통 한 개만 할당할 것 같지만, allocationSize의 기본값이 50이라는 것에 주의해야 합니다. 한번 시퀀스를 호출할 때 50개씩 시퀀스를 할당해놓는다는 것입니다. 왜 이렇게 많이 할당해놓는지 궁금합니다. 엔티티를 영속성 .. 2022. 2. 4.
[JPA] 기본 키 매핑 안녕하세요. 기본 키 매핑을 알아보겠습니다. 지난 게시글에서 엔티티를 테이블에, 필드를 컬럼에 매핑하는 방법을 알아보았습니다. 이어지는 내용이니 관심 있는 분들은 아래 게시글을 참고해주세요. HTML 삽입 미리보기할 수 없는 소스 기본 키 매핑 기본 키(PK, Primary Key)는 관계형 DB의 식별자입니다. 모든 엔티티는 고유의 기본 키를 가져야 합니다. JPA는 '@ID' 어노테이션으로 기본 키 매핑을 지원합니다. 기본 키로 사용할 필드에 @ID 어노테이션을 붙이면 됩니다. @Entity public class Member { @Id private Long id; private String username; private Integer age; } @Id 어노테이션만 사용하면 영속성 컨텍스트에 p.. 2022. 2. 3.