본문 바로가기

Just Do

(82)
파이썬 자료형 숫자형 표현 종류 정수형 실수형 8진수 16진수 복소수 연산자 * : 곱하기 ** : 제곱 / : 나누기 ex) 7 / 4 = 1.75 // : 나눈 몫 ex) 7 // 4 = 1 a = 3 b = 4 print(a*b) #12 print(a**b) #81 print(a/b)#0.75 print(a//b)#0 문자형 표현 1. 만드는 방법 4가지 큰따옴표 ex) "Hello World" 작은따옴표 ex) 'Python is fun' 큰따옴표 * 3 ex) """Life is too short, You need python""" 작은따옴표 * 3 ex) '''Life is too short, You need python''' 2. 문자열에 따옴표 포함시키기 food = "Python's favorite f..
파이썬의 시작 파이썬은 무료이지만 강력한 언어이며 C언어와 찰떡궁합을 이루는 언어이다. 파이썬 vs C언어 파이썬은 인터프리터 언어이며, 씨언어는 컴파일 언어이다. 씨언어는 작성한 언어를 컴퓨터가 바로 읽지 못하기 때문에 컴파일러를 통해서 컴퓨터가 읽을 수 있는 언어로 변경한다.그러므로 컴퓨터는 바로 읽을 수 있기때문에 속도가 빠르다. 파이썬은 인터프리터 언어로 한줄 읽어서 실행하고 다음줄을 읽어서 실행하기때문에 속도면에서는 느리다. 파이썬으로 개발 가능한 일 웹 프로그래밍 수치 연산 프로그래밍 데이터베이스 프로그래밍 데이터 분석 사물 인터넷 제어 파이썬으로 할수 없는 일 시스템과 밀접한 프로그래밍 영역 모바일 프로그래밍(App)
프록시와 연관관계 관리 프록시와 연관관계 관리(난이도 상) 멤버와 팀과의 관계에서 연관관계가 맺어져 있지만 어떤 경우에는 멤버의 정보와 팀정보를 다 가져오고 다른 경우에는 팀정보가 아닌 멤버의 정보만 가져오고 싶을때 어떻게 해야할까??? // 멤버와 팀을 모두 가져오는 경우 public void printUserAndTeam(String memberId) { Member member = em.find(Member.class, memberId); Team team = member.getTeam(); System.out.println("회원 이름: " + member.getUsername()); System.out.println("소속팀: " + team.getName()); } // 멤버만 가져오는 경우 public void p..
JPA 상속관계 매핑 객체는 상속관계를 지원하기 때문에 표현할 수 있는데 테이블 관계에 있어서는 상속을 표현하기 위해서는 여러가지 전략이 있다. 주요 어노테이션 @Inheritance(strategy=InheritanceType.XXX) ex) InheritanceType.JOINED / 내가 직접 전략을 지정해서 사용할 수 있다. → 어노테이션의 값만 바꿨을 뿐인데 JPA가 이에 맞춰서 알아서 변경해준다. JPA의 장점 중 하나!! JOINED : 조인전략 SINGLE_TABLE : 단일 테이블 전략 TABLE_PER_CLASS : 구현 클래스마다 테이블 전략 조인전략(JOINED) : 이 전략이 제일 정석!!! @DiscriminatorColumn(name=“DTYPE”) → 조인전략에서는 어떤 타입인지 알 수 있게 적어..
다양한 연관관계 매핑 연관관계 매핑시 고려사항 3가지 다중성 단방향, 양방향 연관관계의 주인 다중성 다대일 : @ManyToOne 일대다 : @OneToMany 일대일 : @OneToOne 다대다 : @ManyToMany - 보통 실무에서는 쓰면 안되는 것 단방향, 양방향 테이블 외래 키 하나로 양쪽 조인 가능 사실 방향이라는 개념이 없음 객체 참조용 필드가 있는 쪽으로만 참조 가능 한쪽만 참조하면 단방향 양쪽이 서로 참조하면 양방향 - 사실 양방향이라기 보다는 용어일 뿐이고 객체입장에서는 방향이 하나인 셈이다. 연관관계의 주인 테이블은 외래 키 하나로 두 테이블이 연관관계를 맺음 객체 양방향 관계는 A->B, B->A처럼 참조가 2군데 객체 양방향 관계는 참조가 2군데 있음. 둘 중 테이블의 외래 키를 관리할 곳을 지정해야..
연관관계 매핑 기초 이번 글에서는 연관관계에 대해서 적어보고자 한다. "객체지향 설계의 목표는 자율적인 객체들의 협력 공동체를 만드는 것이다." - 조영호(객체지향의 사실과 오해) 나중에 경험치가 쌓였을 때 이책을 한번 봐봐야 겠다. 연관관계가 필요한 이유 예제 시나리오 회원과 팀이 있다. 회원은 하나의 팀에만 소속될 수 있다. 회원과 팀은 다대일 관계이다. 테이블 관계에서는 TEAM이 1이고 MEMBER가 N으로 1:N 관계이다. 이를 객체 연관관계로 표현하면 외래키(FK)인 TEAM_ID를 teamId로 그대로 표현해서 사용 코드로 표현하자면 아래와 같다.. try{ Team team = new Team(); team.setName("TeamA"); em.persist(team); Member member = new M..
엔티티 매핑 이번 글에서는 실제 JPA를 사용해서 테이블과 매핑하는 방법에 대해서 적어볼게요.. 엔티티 매핑 종류 객체와 테이블 매핑 : @Entity, @Table 필드와 컬럼 매핑 : @Column 기본 키 매핑 : @Id 연관관계 매핑 : @ManyToOne, @JoinColumn @Entity - @Entity가 붙은 클래스는 JPA가 관리, 엔티티라 한다. - JPA를 사용해서 테이블과 매핑할 클래스는 @Entity 필수 + 속성 : name JPA에서 사용할 엔티티 이름을 지정 기본값 : 클래스 이름을 그대로 사용(예 : Member) 같은 클래스 이름이 없으면 가급적 기본값을 사용한다. @Table - @Table은 엔티티와 매핑할 테이블 지정 + 속성 : name - 매핑할 테이블 이름 + 속성 : c..
JPA내부 구조(영속성 관리) 이번 글에서는 JPA내부 구조와 영속성 관리에 대해서 끄적여보고자 한다. JPA에서 가장 중요한 2가지 - 객체와 관계형 데이터베이스 매핑하기(어떻게 매핑 할 것인가?) - 영속성 컨텍스트 먼저 위 두가지 경우를 이해하기 위해서는 엔티티 매니저 팩토리와 엔티티 매니저에 대해서 이해가 필요하다. 이 두개에 대해서는 이전 글에서도 언급을 해놨으니 참고하길 바란다. -> 2020/07/01 - [Dev/JPA] - JPA의 사용 1. 영속성 컨텍스트 JPA를 이해하는데 가장 중요한 용어 "엔티티를 영구 저장하는 환경"이라는 뜻 EntityManager.persist(entity); - DB에 저장한다는 것이 아니고 엔티티를 영속성 컨텍스트라는 곳에다가 저장한다는 뜻 - EntityManager 를 통해 영속성..