전체 글 (62) 썸네일형 리스트형 마이바티스 # $ 차이 javascript $ 의미 [DDD START!] 4장. 리포지터리와 모델구현(JPA 중심) - JPA를 이용한 리포지터리 기능 구현 - 엔티티와 밸류 매핑 - 밸류 컬렉션 매핑 - 애그리거트 로딩 전략과 영속성 전파 - 식별자 생성 기능 모듈위치 리포지터리 인터페이스 -> 애그리거트와 같은 도메인 영역 리포지터리 구현 클래스 -> 인프라스트럭처 영역 리포지터리 기본 기능 구현 1. 아이디로 애그리거트 조회하기 2. 애그리거트 저장하기 인터페이스는 애그리거트 루트를 기준으로 작성 -> 주문 애그리거트는 Order(루트 엔티티), OrderLine, Orderer, ShippingInfo 등이 있지만, Order를 기준으로 작성. 기본생성자 엔티티와 밸류의 생성자는 객체를 생성할 때 필요한 것을 전달받는다. Receiver (밸류)가 불변 타입이면 생성 시점에서 필요한 값을 모두 전달 받으므로 값.. [켄트 벡의 구현 패턴] 4장 동기유발, 5장 클래스, 6장 상태 4. 동기유발 소프트웨어 전체 비용 = 개발 비용 + 유지비용 유지 비용 = 이해 비용 + 수정 비용 + 테스트 비용 + 설치비용 초기 코드 개발에 대한 투자를 크게 확대 하는 것은 비효율적 1. 화폐 가치는 시일이 지나면 떨어지므로, 비용 발생 시점을 뒤로 미루는 것이 좋음. 2. 불확실성 측면에서 볼 때, 이후 이득을 가져올지도 모르는 구현 구현 패턴은 미래 코드 확장이나 수정이 쉬운 깔끔한 코드를 추구하면서도, 당장 얻을 수 있는 이득에 초점. 저자가 사용하는 비용 절감 : 모든 프로그래머가 커뮤니케이션하기 쉬운 코드를 짬으로써, 유지 비용을 줄이는 것. 이 경우 깔끔한 코드를 통해 코드의 결함이 줄어들고 코드 공유가 쉬워져서 좀더 원활한 개발이 가능. 5... 특정 구간의 숫자 랜덤하게 뽑아내기 20~30 사이의 숫자가 필요함. 내가 한거 double randomValue = Math.random(); int intValue = (int)(randomValue * 10); int cc = intValue + 20; =>>> 이러면 30이 안나옴. 수정 Random random = new Random(); int intValue = random.nextInt(11); int cc = intValue + 20; 테스트 코드 추가 lombok 실수 기존 @Data 테스트하다가 @Builder 추가 ->> 그럼 생성되지 않음 @NoArgsConstructor @AllArgsConstructor 추가해야함 테스트 코드 실수한 것1 mock 객체로 관계 설정할 때 나머지는 다 생성자로 생성함 1개만 @Resource를 사용. private AA aa; private BB bb; private Service service; @Setup aa = mock(AA.class) bb = mock(BB.class) service = new Service(bb); 이렇게 설정하구 돌렸는데 aa에서 null 에러가 났음. -> service 객체와 bb aa객체간의 관계 설정이 안되어 있어서 그랬음 -> set 으로 관계 설정해주니 해결 예제~~ 어쩌구 저쩌구~~ [mysql] on duplicate key update 데이터가 없으면 삽입 -> 업데이트 데이터가 있으면 -> 업데이트 내가 처리한 방식 1. 조회 (select * from TABLE) 2. 분기 없으면 -> insert 3. 업데이트 한 번에 해결할 수 있는 방법이 있음. 데이터가 없으면 insert, 있으면 update 예제 INSERT INTO table (a, b, c) values (1, 2, 3) on duplicate key update b = 4 11장 DOM 확장 11장 DOM 확장 선택자 API에 대한 이해 HTML5 DOM 확장 사용 브라우저 전용 DOM 확장 사용 1.선택자 API 1.1 querySelector() 메서드 매개변수로 CSS 쿼리를 받고 패턴에 일치하는 첫 번째 자손 요소를 반환하며 일치하는 것이 없다면 null 반환. 1.2 querySelectorAll() CSS 쿼리를 매개변수로 받되 일치하는 노드 전체(NodeList)를 반환함. 1.3 matchesSelector() CSS 선택자를 받고 요소가 그에 일치하면 true, 일치하지 않으면 false 요소 간 이동 버전 9 미만의 인터넷 익스플로러는 타 브라우저와 달리 요소 사이의 공백을 텍스트 노드로 반환하지 않음. ->> childNodes나 firstChild 같은 프로퍼티를 사용할.. 이전 1 2 3 4 5 6 7 8 다음