반응형

분류 전체보기 151

@Nested 와 @DisplayName 으로 유닛 테스트의 가독성 향상

유닛 테스트 작성시 테스트 코드의 가독성을 높일 수 있는 방법이 있다. @Nested 와 @DisplayName을 사용하는건데 @Nested 는 Nested 클래스로 비슷한 함수를 묶어주어 관리 @DisplayName는 해당 클래스 및 메소드의 설명(주석처럼)을 작성해준다 . 참고 https://bcp0109.tistory.com/297 [Spring] JUnit 5 에서 @Nested 와 @DisplayName 으로 가독성 있는 테스트 코드 작성하기 Spring 으로 개발하다보면 유닛 테스트 작성은 필수입니다. 많은 사람들이 거쳐가는 프로젝트는 테스트 코드의 크기도 어마어마합니다. 보통 테스트 코드를 작성할 땐 함수명으로 어떤 테스트 인 bcp0109.tistory.com

TestCode 2022.03.29

React jsx구조

react의 기본구조는 불편해서 개발자는 쉽게 사용하기 위해 jsx를 사용한다. jsx의 문법은 html과 비슷하여 사용하기 더 편리하다. jsx를 가져오고 html에 root라는 id를 가진 div를 가져왔다. jsx문법을 이용해 작성 ->jsx로 변형된다면 Title을 h3생각하고 보면된다. botton을 jsx이용해 작성 ->jsx 로 react구조로 변형된다면 jsx방식으로 구성해준다. Container를 함수로 구현 ->jsx로 변형된다면 이런구조 이를 html에 렌더링 해준다. () => 의 구조를 모른다면 function으로 생각하면된다.

Front/react 2022.03.27

JS의 데이터타입

'use strict'; 이 선언은 값이 선언되지 않은 상태로 사용할수 있는 자바스크립스를 선언해야만 사용할 수 있도록 선언 해주는 선언이다. 오류 바이지를 위해 사용하자. 선언 let / var 불변선언 const 화면표시 console.log() 응용 ex1)const brendan = 'bdan'; console.log('brendan'); ---> bdan ''를 이용하여 합치기 가능 ex2) const hellobob = hi ${brendan} !'; consol.log('value : ${hellobob}); ----->hi bdan! symbol은 고유한 식별자를 만들 떄 사용 string 은 ===비교하면 같지만 심볼을 사용하면 다르다고 나온다. const sybol1 = Symbol('..

Front 2022.03.20

jQuery - each() 메서드

each() 메서드는 다음과 같은 두 가지 타입이 있다. // jQuery 유틸리티 메서드 $.each(object, function(index, item){ }); // jQuery 일반 메서드 $(selector).each(function(index, item){ }) 매개변수에 배열을 전달 // 객체을 선언 var arr= [ {title : '다음', url : 'http://daum.net'}, {title : '네이버', url : 'http://naver.com'} ]; // $.each() 메서드의 첫번째 매겨변수로 위에서 선언한 배열은 전달 $.each(arr, function (index, item) { // 두 번째 매개변수로는 콜백함수인데 콜백함수의 매개변수 중 // 첫 번째 ind..

Front 2022.03.19

JPA 테이블 상속관계 매핑

관계형 데이터베이스는 상속 관계가 없으며 객체의 상속과 유사한 슈퍼타입과 서브타입이 있다. 슈퍼타입과 서브타입의 논리모델을 실제 물리모델로 구현하는 방법은 크게 3가지가 있다. 1. 각각 테이블로 변환 -> 조인 전략 2. 통합 테이블로 변환 -> 단일 테이블 전략 3. 서브타입 테이블로 변환 -> 구현 클래스마다 테이블 전략 1. 각각 테이블로 변환 -> 조인 전략 슈퍼타입과 서브타입으로 나누어 슈퍼타입에 공통적인 부분을 두고 조인하는 방식으로 객체의 상속과 가장 유사하다. 조회 쿼리가 복잡하지만 저장공간이 효율적이며 테이블 정규화가 가능해진다. 2. 통합 테이블로 변환 -> 단일 테이블 전략 한 테이블에 모두 통합하는방식이다. 조인이 필요 없으므로 일반적으로 조회 성능이 빠르지만 테이블이 너무 커질 ..

카테고리 없음 2022.03.18

1:1매핑

1:1매핑은 다대일 단방향 매핑과 유사하다. 다대일 양방향 매핑 처럼 외래 키가 있는 곳이 연관관계의 주인이되고 반대편은 mappedBy 적용한다. 기본적으로 주 객체가 대상 객체의 참조를 가지는 것 처럼 주 테이블에 외래 키를 두고 대상 테이블을 찾ㄴ,ㄴ디/ 장점: 주 테이블만 조회해도 대상 테이블에 데이터가 있는지 확인 가능 단점: 값이 없으면 외래 키에 null 허용 아래처럼 교차하여 구성하는건 추천되지 않는다. 프록시 기능의 한계로 지연 로딩으로 설정해도 항상 즉시 로딩되기 때문이다. 추가적으로 다대다 매핑은 실무에서 사용하지 않는편으로 중간에 새로운 테이블을 두어 두개의 일대 다를 만드는것이 안전하다. 왜냐하면 연결 테이블이 단순히 연결만 하고 끝나지 않으며 주문시간, 수량 같은 데이터가 들어올..

JPA 2022.03.17

양방향 매핑

객체는 다른 객체를 부를떄 참조를 한다. 하지만 테이블을 FK를 조인으로 이용하여 가져온다. 이러한 둘의 차이가 있는데.. 기존 개발에서는 객체를 테이블에 맞추어 모델링 (참조 대신에 외래 키를 그대로 사용) 하였다. 이를 단방향 연관관계를 이용하면 Menber에 Team 타입으로 변수를 만들어 연결해줄 수 있다. 현재 1개의 팀이 여러명의 멤버를 가질 수 있기때문에 ManyToOne을 team변수에 넣어준다. 이렇게 Team team이 테이블에서 FK로 매핑되는걸 알수 있다. 하지만 멤버에서 팀을 찾을수는 있지만 팀에서는 멤버를 찾을 수 없다. 이때 이제 양쪽을 매핑해주는 양방향 매핑을 사용하면된다.! 멤버는 단방향 매핑때와 동일하게 유지하고 Team클래스에는 Member타입의 리스트를 만들어준다. 보..

JPA 2022.03.16

H2콘솔 연결 안될때

Generic H2 (Embedded)를 선택하고 JDBC URL에 jdbc:h2:~/test를 입력하고 연결을 클릭한다. test라는 데이터베이스가 생성되며, 생성할 데이터베이스 이름을 다른걸로 하고싶으면 test 말고 다른 이름을 입력하면 된다. 이후에 내가 원하는 database로 연결하면 안되던 연결이 성공 ++ 데이터베이스 파일을 생성한 다음에 JDBC URL을 저렇게 변경하는 이유는 파일 직접 접근이 아닌 TCP 소켓을 통해 접속해야 어플리케이션과 콘솔이 동시에 접근했을 때 오류가 발생하지 않기 때문이다.

카테고리 없음 2022.03.15

JPA 기본[PK] 키 매핑하기

기본 키 매핑 어노테이션 종류 2개 • @Id • @GeneratedValue 직접 할당: @Id만 사용 자동 생성: (@GeneratedValue): (종류 4개) • IDENTITY: 데이터베이스에 위임, MYSQL • SEQUENCE: 데이터베이스 시퀀스 오브젝트 사용, ORACLE @SequenceGenerator 필요 • TABLE: 키 생성용 테이블 사용, 모든 DB에서 사용 @TableGenerator 필요 • AUTO: 방언에 따라 자동 지정, 기본값 IDENTITY는 db에게 ID자동생성을 위임하기 때문에 데이터 베이스에 저장이 되어야만 pk값을 알수 있다. 때문에 IDENTITY 는 예외적으로 db에 저장되기전에 persist를 했을때 id값( pk)을 받을 수 있도록 insert 문이..

카테고리 없음 2022.03.14
반응형