목록전체 글 (48)
나만의 코딩 일지
SpringTest Mockito 란 Mock : Mock 객체는 가짜(모의)라는 뜻을 가지며 테스트를 진행할 때 진짜 객체와 비슷하게 동작하도록 프로그래머가 직접 행동을 관리하는 객체이다. 객체를 쉽게 만들고, 관리하고, 검증할 수 있는 방법을 제공하는 프레임워크이다. Mockito 사용하기 위한 방법 @ExtendWith(MockitoExtension.class) // @ExtendWith는 외부 기능을 사용할 때 지정하는 어노테이션이다. class DMakerServiceTest { @Mock // 객체를 만들어 반환해주는 가짜 객체 어노테이션 private DeveloperRepository developerRepository; @Mock private RetiredDeveloperReposito..

AOP 관점 지향 프로그래밍 - Aspect Oriented Programming AOP는 Aspect Oriented Programming의 약자로, 여러 객체에 공통으로 적용할 수 있는 기능을 분리해서 재사용성을 높여주는 프로그래밍 기법이다. AOP는 핵심 기능과 공통 기능의 구현을 분리함으로써 핵심 기능을 구현한 코드의 수정 없이 공통 기능을 적용 할 수 있게 만들어 준다. AOP의 기본 개념은 핵심 기능에 공통 기능을 삽입하는 것이다. 즉 핵심 기능의 코드를 수정하지 않으면서 공통 기능의 구현을 추가하는 것이 AOP이다. 특정한 함수 호출 전이나 후에 어떠한 공통적인 처리가 필요할 때 사용 -> AOP 로깅 트랜잭션 인증 OOP로 처리하기에는 다소 까다로운 부분을 AOP라는 처리 방식을 도입하여 ..
컴포넌트 스캔 컴포넌트 스캔은 스프링이 직접 클래스를 검색해서 빈으로 등록해주는 기능이다. 설정 클래스에 빈으로 등록하지 않아도 클래스를 빈으로 등록해주는 기능이다. 설정 클래스에 빈으로 등록하지 않아도 원하는 클래스를 빈으로 등록할 수 있으므로 컴포넌트 스캔 기능을 사용하면 설정 코드가 크게 줄어든다. @Component 어노테이션으로 스캔 대상 지정 스프링이 검색해서 빈으로 등록할 수 있으려면 클래스에 @Component 어노테이션을 붙여야 한다. @Component 어노테이션은 해당 클래스를 스캔 대상으로 지정한다. @Component public class MemberDao{ ... } 기본적으로 @Component에 아무 속성을 지정하지 않을 경우 클래스 이름에 첫 글자를 소문자로 바꿔 빈 이름..
의존 자동 주입 의존 대상을 설정 코드에서 직접 주입하지 않고 스프링이 자동으로 의존하는 빈 객체를 주입 해주는 기능을 자동 주입이라고 한다. 의존 주입을 하지 않을 경우 // 빈 설정 @Configuration public class Config(){ @Bean public MemberDao memberDao(){ return new MemberDao(); } @Bean public RegisterService registerService(){ return new RegisterService(memberDao()); // 의존 주입 } } // 의존 주입 public Class RegisterService(){ MemberDao memberDao; public RegisterService(MemberD..

변수(Variable) 변수는 데이터를 저장할 때 쓰이는 저장소 같은 역할을 하며 그 저장소에 이름을 표현하는 것을 변수라고 한다. let str = "변수 테스트"; let a = 5; 위에 코드를 보게 되면 let 키워드를 사용해 변수를 생성하고 str와 a는 변수에 이름이 된다. 그리고 오른쪽에 있는 데이터가 각각 str와 a 안에 들어가게 되는 원리이다. 변수의 특징 변수는 let 또는 var 키워드를 상용해 변수를 생성한다. 변수의 키워드는 let과 var 두 가지가 있다. 이 두 개의 변수 키워드의 기능은 똑같다. 하지만 var은 오래전에 사용했던 키워드고 최근에는 let 키워드를 많이 사용한다. 변수의 값을 저장할 때는 = 할당 연산자를 사용해 오른쪽에 있는 데이터를 외쪽에 있는 변수에 값을..
배열 메서드 사용법 push('원소') : 배열의 마지막 인덱스의 요소 추가 const fruits = ['apple', 'banana', 'grape', 'plum', 'orange']; fruits.push('strawberry'); console.log(fruits); // 출력결과 : ['apple', 'banana', 'grape', 'plum', 'orange']; pop() : 배열 마지막 인덱스의 요소를 삭제 const fruits = ['apple', 'banana', 'grape', 'plum', 'orange']; console.log(fruits.pop()); // 출력결과 : orange unshift('원소') : 배열의 맨 앞에 위치에 원소를 추가, 새로운 배열의 길이를 리턴 ..
숫자 0, 빈 문자열 "", null, undefined, NaN은 불린형으로 변환시 모두 false가 된다. 연산자 &&는 ||보다 우선순위가 높다. 자바스크립트에서 || 연산자 특징 가장 왼쪽 피연산자부터 시작해 오른쪽으로 나아가며 피연산자를 평가한다. 각 피연산자를 불린형으로 변환하고 변환 후 그 값이 true이면 연산을 멈추고 해당 피연산자의 변환 전 원래 값을 변환한다. 피연산자 모두를 평가한 후(모든 피연산자가 false로 평가되는 경우)엔 마지막 피연산자를 반환된다. 반환 값은 형 변환을 하지 않은 원래 값이다. null 병합 연산자 ??를 사용하면 피연산자 중 값이 할당된 변수를 빠르게 찾을 수 있다. a ?? b : a가 null도 아니고 undefined도 아니면 a를 반환 그 외의 경..
자바스크립트 객체 // 객체 생성 1. let foo = new Object; 2. let foo = {}; 3. let foo = { name : 'foo', major : "computer science" }; // 객체 프로퍼티 읽기 alert(foo.name); // foo alert(foo.major); // computer science // 객체 프로퍼티 갱신 foo.major = 'electronics engineering'; // 객체 프로퍼티 동적 생성 foo.age = 30; // 객체 프로퍼티 생성 // 대괄호 표기법을 사용할 경우 foo.['age'] = 30; // 대괄호 안에 반드시 작은따옴표나 큰따옴표가 있어야 한다. alert(foo['age']); // 30 대괄호 표현법..