전체 글 219

강의14

1. ToString의 무서움 patch하는 방식은 2가지가 있다. 1. eager Loading : 연관관계를 맺어주면 Join해서 가져와서 좋지않음...(Many to One관계에서) 근데 페이징처리할때는 eager이던 아니던 그냥 조회해버린다. 2. Lazy Loading :필요한 순간까지 로딩을 미루는것 (항상 lazy를 디폴트로 쓰자!, ToString에서는 연관관계가 없는애들은 항상 빼자) noSession에러는 한번더 connection을 걸어야할필요가 있는데 추가로 커넥션을 걸지않으면 생긴다. n+1문제 : 한번에 실행했어야 하는데 추가적으로 여러번의 쿼리를 날리게 되는 문제

강의11

Entity class는 무엇이고 Entity는 무엇인가... 객체- 속성과 동작이 있는 아이 명사형 클래스 - 클래스명 명사 > 한로우/recode라고 표현한다. - 속성(멤버변수) - 생성자 ->제약조건을 잡는다 (특정속성값이 없으면 객체를 생성하지 못하도록) 역할을 하는 클래스 - 메소드 위주 설계 - 속성: 유지하는 상태, 조력자 준비 이 두가지의 클래스가있기때문에 구분을 잘 해서 만들어주어야한다. Entity Class는 한 row를 표현하기 위한 class이다. Pk의 의미는 2가지가 있따 1.논리적인 의미 : 유니크함, 식별자 2. 물리적인의미 : 인덱스 B-tree의 구조 : 들어갈때느리지만 찾는데 빠르다. Entity클래스는 Id가 반드시 필요하다. 오라클에서는 @GeneratedValu..

강의10

인터페이스 상속은 인터페이스에 추가적인 기능을 구현하고자 할떄 한다. JDBC도 소켓프로그램이 연결하는거다 (listener라고 부른다) DB에 인풋스트림..아웃풋스트림.. 할필요없이 메세지를 처리해주는 아이가 JDBC Driver이다. SQL을 드라이버에 전달해주면 드라이버가 변환해서 DB에 알맞게 해준다. JPA에서 SQL을 생성하는것을 해주는 애를 'Dialect (방언)' 라고 한다. Mapping -> 한국어를 중국어로 바꾼다 (완전히 종류가 다른 아이들로 바꿔주는것) Binding -> 한국어로 써있는것을 한국어로 읽는다(정보에 대해서 표현할때, 처리할때를 바인딩이라고한다) ORM은 객체지향과 관계형 데이터베이스를 매핑해주는것 (어떤 객체지향프로그래밍에도 적용가능한 ORM이 있따) JPA는 그..

강의9

MSA를 할때는 공통으로하는애들은 따로빼주고 모듈별로묶는게 유리하다. 불변이라는게 왜 중요한가 코드를 만들때는 처음만들때만 값을 준다) 불변으로 설계하는 이유는? Entity클래스는 가능하면 Setter를 만들지 않는다(불변을 유지하려고 해야한다) 대신 필요할때만 바꿀수 있게 한다. //테스트할때는 이 어노테이션을 붙이면 환경이 끝난다 @SpringBootTest @ActiveProfiles("dev") @Log4j2 //로그를 찍을때 사용 public class TodoRepositoryTests { @Autowired private TodoRepository todoRepository; @Test public void test1(){ log.info(todoRepository.getClass().ge..

강의7

맛집리뷰해서 평점같은거 매긴다고 가정한다면? DB의 본질은 무엇을 남기는것 어떤것을 남기느냐? 진짜 고객이 원하는것 ->돈과 관련된것(1. 명사 2. 행위/히스토리) 항상 명사가 우선이다. 도메인이라는것은 영역이라는 의미인데 db에서는 테이블, 코드에서는 모듈이라는 이름으로 바뀐다. DB를 설계할떄 제일먼저 해야하는것은 고객의 요구사항(관심사항)이다. 데이터베이스 설계를 잡고 개발을 들어가는것을 DDD(Domain Driven Development) 도메인주도개발 이라고 한다. 도메인설계는 명사부터 시작한다. 명사도메인의 명사테이블을 1차도메인이라고 한다 1차도메인의 특징 : 명사이다, 아무것도 없는 상태에서 만들어 질 수 있다. (엑셀이나 장부의 형태로 존재하는 애들) 테이블을 만들땐 세로로 데이터를 ..

강의6

오늘 미션 : 11번가 로그인해서 장바구니/마이페이지 등등 크롤링 해보기 1. 클라우드 : AWS / Oracle cloud 2. 도커 -> 도커를 쓰면 좋은점->도커허브에 내가쓰던 이미지나 db정보를 올릴수 있다. 3. 개인PC세팅(원격에서 접속가능하게 할것이냐 / 로컬만 사용하느냐) 집에가면 log를 쓸수있는 환경을 만드세요 JPA를 쓰는방식은 2가지가있다. -객체지향 설계를 하고 DB를 만드는방법 -DB를 만들고 맞춰서 객체지향설계를 하는법 공부하는법 2가지 1. 내가 스스로 개발할수있는것에 포커스를 둔다. 2. 이걸가지고 다른사람들이 만든것이랑 결합해보는 것 8080~ 8099번까지의 포트를 이용할 계획이다. 1. DB세팅 2. 사용자 계정 생성 3. 방화벽 설정 = > 다른사람DB에 연결 가능한..