목록Bank-End (53)
관심쟁이 영호
Context란? 어떠한 대상에 대한 모든 정보를 가지고 있는 것이 Context다. 그럼 영속성 Context란? 영원히 저장해야하는 Context를 말한다. Spring에서의 영속성 Context는 이렇게 이해할 수 있다. 자바를 이용해서 데이터를 조회하거나 입력할 때, 직접적으로 DB에 요청하는 것이 아니다. 중간에 영속성 컨텍스트라는 것이 있고, 영속성 컨텍스트에 호출을 하게 되면 영속성 컨텍스트가 DB에 직접가서 받아오거나 입력한다. 왜 필요한걸까? 1. 트랜잭션을 지켜 "쓰기 지연"을 제공한다. 이 말은 어떠한 값을 입력할 때, Insert가 따로 동작하면 모든 것을 한번에 처리할 수 있도록 도와준다는 말이다. 모종의 이유로 따로 동작하다가 1개는 insert되고, 다른 하나는 insert가 ..
이제 카테고리 엔티티 클래스를 작성할 차례이다. 1. 카테고리 작성 @Entity @Getter @Setter public class Category { @Id @GeneratedValue @Column(name = "category_id") private Long id; private String name; @ManyToMany @JoinTable(name = "category_item",// 다대다 관계에서는 중간 테이블을 통해서 매칭시켜주어야한다. joinColumns = @JoinColumn(name = "category_id"), //중간 테이블에 있는 아이템 inverseJoinColumns = @JoinColumn(name = "item_id")) // 거기에 있는 item으로 들어가는 것 ..
ORM? ORM은 Object Relational Mapping이다. 데이터베이스에 저장된 테이블 형식의 데이터를 모델링하여 자바에서 사용할 수 있도록 클래스로 바꿔주는 것이다!! 거꾸로도 가능하다! ]ORM를 알아보기 전에, 사전지식이 필요하다. 일반 IT 기업으로 생각하자. 일반 IT 기업에서 사용자들이 회원가입을 한다. 아이디와 비밀번호를 입력한다. 그 다음에 사람들이 로그인을 하면 홈페이지에서는 해당 아이디와 비밀번호가 회원가입할 때, 입력했던 정보와 맞는지 체크를 한다. 그럼 여기서 아이디와 비밀번호는 어디다가 저장해둘까? 회사의 컴퓨터 디스크에 저장되어 있을 것이다. 하지만 회원이 몇천만명이 넘어가고, 정보도 개인 당 수백개씩 있다면 회사의 컴퓨터 디스크만으로는 부족하다. 그래서 데이터 센터를..
이제 본격적으로 개발을 시작한다. 이번 강의는 이전 강의에서 분석했던것을 차례대로 개발하는 것이다. 엔티티 클래스 개발이라는 것은 객체 하나하나를 코딩하기 시작한다는 뜻인것 같다. 해보자. 시작하기에 앞서, 예제에서는 모든 클래스에 Getter, Setter를 설정한다. ※ 실무에서는 Getter만 열어두고, Setter는 필요시에만 설정해두는 것을 추천하신다. -> Getter는 조회를 실제로 엄청나게 많이 하기 때문에 열어두는 것이 좋고, Setter는 열어두었다가 데이터가 변경되는 경우가 있어서, 어디서 어떻게 데이터가 바뀌는지 파악하기가 힘들어서 개발장애가 일어나는 일이 있을 수 있다고 하신다. 1. domain pakage 생성 해당 "domain pakage"는 주요 Entity를 모두 넣을 ..
프랑스, 일본, 독일 사람들이 각자의 나라의 언어로 나에게 말을 건넨다. 내가 응답을 해줘야 한다고 하면, 나는 프랑스어, 독일어, 일본어를 각각 공부를 하고 각자의 말로 응답을 해줘야 한다. 정말 비효율적이다. 그럼 저 사람들이 한국어를 공부해서 나한테 말을 건네면 되자나? 그럼 효율적이다. 그럼 저 사람들이 한국어 공부를 열심히 해서 나한테 말을 건네려고 할 때, 나 대신 대답을 해줄사람이 중국인으로 바뀌어버리면? 저 사람들은 또 중국어를 공부해야한다. 이것 또한 비효율적이다. 그래서 세계 공통어인 영어가 생겼다! 이러한 원리로 만들어낸것이 JSON이다. 컴퓨터 세계에서 서로 데이터를 송수신할 때로 생각해보자. 자바와 자바를 데이터를 송수신한다면, 말이 통한다. 반대로 자바객체를 C언어로 보낸다고 하..
오늘은 도메인 모델과 테이블 설계에 관한 강의를 수강할 예정이다. 도메인이란? 소프트웨어 공학에서 도메인 모델(domain model)은 행위와 데이터를 둘 다 아우르는 도메인의 개념 모델이다. 쉽게 말하자면, 데이터는 어떤형식으로 저장하는가? 데이터 CRUD는 어떻게 구상해야하나? 로 정리를 할 수 있을것이다. 이 단계부터 정확하고 확실하게 해야 나중에 힘들지 않다는 건, 누구나 알것이다. 건물을 거의 다 짓고, 소방 시설이나 수도 시설을 새로 뜯어고치는 건 너무나 힘든일이니까. 수강중인 강의는 경험이 많으신 현직 개발자님이 개발과정을 다루는 것이기 때문에, 배워두면 전반적인 실무 흐름을 파악할 수 있을것이다. 시작해보자. 1. 개발전체를 하나씩 모듈화 시킨다. - 회원, 주문, 배송, 주문상품, 카테..