Home
동준이 블로그
Cancel

@Mock, @MockBean, @InjectMocks

Spring에서 단위테스트와 통합테스트시 객체 생성에 사용하는 애너테이션인 @Mock, @MockBean, @InjectMocks에 대해서 알아보자. @Mock Mock 객체를 직접 생성하여 사용하는 애너테이션으로, 스프링 컨텍스트와 관련이 없는 순수 객체이다. @MockBean Mock 객체를 생성하고, Bean이므로 스프...

[Clean Code] 7장. 오류 처리

Use Exceptions Rather than Return Codes DeviceController.java public class DeviceController { ... public void sendShutDown() { DeviceHandle handle = getHandle(DEV1); // Check the state of t...

[JavaScript] Common Js 와 ES6 Module

자바스크립트의 모듈 시스템은 코드를 분리해 유지보수성을 높여준다. 모듈 시스템 중 가장 대표적인 Common JS와 ES6 Module 시스템에 대해서 알아보자. Common JS Common JS는 NodeJS에서 주로 사용되는 모듈 시스템으로 require와 export 키워드를 통해 모듈을 가져오고 내보낼 수 있다. 예제로 숫자를 더하고 ...

[알고리즘] 이항계수

이항계수란 2개의 항을 전개하여 계수를 나타낸 수를 이항계수라고 한다. 예를 들어 (a+b)^3을 전개한다고 했을 때 (a+b)^3 = a^3 + 2a^2b + 2ab^2 + b^3이 되어 계수는 {1, 3, 3, 1}이 된다. 이런식으로 이항계수들을 전개하다보면 다음과 같은 파스칼 삼각형의 모습이 나온다. 이항계수를 다르게 해석하면 b를 뽑...

[Java] Generics

Generics란 클래스나 컬렉션 자료구조에 타입 체크를 통해 타입 안정성을 제공해주는 기능이다. 여기서 타입 안정성이란 저장되는 곳에 의도하지 않은 데이터 타입 삽입을 막고 잘못된 형변환의 오류를 방지하는 것을 말한다. Generics의 필요성 list에 문자열을 저장하고 데이터를 꺼낼때 형변환을 명시해 조회하는 예를 들어보자. List l...

[알고리즘] 재귀

프로그래밍의 반복 알고리즘에 사용되는 알고리즘은 크게 2가지가 있다. 하나는 반복문을 이용해 순회하는 방식이고, 다른 하나는 재귀를 이용한 방식이다. 재귀란 자기 자신을 호출하면서 반복적으로 수행하는 코드이다. 팩토리얼을 계산하는 알고리즘을 재귀 형식으로 구현해보자. 위 알고리즘은 재귀형식으로 팩토리얼을 구하는 방식으로 Factorial()인 함...

서블릿

웹 서버 VS 웹 애플리케이션 서버 웹 서버는 정적인 리소스만 제공되는 서버다. 정적인 리소스는 HTML, CSS와 같은 즉시 응답 가능한 파일을 말한다. 반면 웹 애플리케이션 서버(WAS)는 동적인 웹 페이지를 만들고 응답해준다. WAS는 웹 서버가 할 수 있는 기능도 처리가 가능하며 비즈니스 로직을 수행할 수 있어 클라이언트에게 동적인 컨텐츠...

Java Stream과 for 문

자바 Stream API를 이용해 코드를 구성하면 다양한 데이터 소스를 일관성있게 다룰 수 있다는 장점이 있어 가독성을 향상시키는 효과를 준다. 그럼 for문과 Stream API를 이용한 반복문은 성능의 차이가 있을까? for loop vs Stream 비교를 위해 원시타입 int를 저장하는 배열을 하나 만들고, 배열에서 가장 큰 원소를 찾는...

[소프트웨어공학] 애자일 방법론

애자일이란? 애자일은 ‘날렵한’, ‘기민한’이라는 뜻으로 소프트웨어 개발 방법론 중 하나이다. 작업 계획을 짧은 단위로 세우고 제품을 만들고 고쳐 나가는 사이클을 반복함으로써 고객의 요구 변화에 유연하고도 신속하게 대응하는 개발 방법론이다. 애자일을 더 알아보기 위해 폭포수 모델 방법론과 비교하여 알아보자. 폭포수 모델 방법론(Waterfall...

[알고리즘] 중복 문자 제거

문제 중복된 문자를 제외하고 사전식 순서로 나열하라. 입력 "bcabc" 출력 "abc" 입력 "cbacdcbc" 출력 "acdb" 풀이1 (스택 일치 여부 판별) 이 문제를 풀기 전에, 사진식 순서라는 용어를 알아야한다. 사전식 순서란 사전에서 가장 먼저 찾을 수 있는 순서를 말하며, bcabc에서 중복문자를 제외하면 ...