본문 바로가기

전체 글79

함수형 인터페이스 활용 함수형 인터페이스 오직 하나의 메서드만 가지고 있는 인터페이스 상속받은 메서드까지 포함했을 때 하나의 메서드만 가지고 있어야지만 함수형 인터페이스 예시) public interface Predicated { bollean test(T t); } public interface Comparator { int compare(T o1, T o2); } public interface Runnable { void run(); } 함수형 인터페이스 활용 → 람다 표현식을 사용하면 함수형 인터페이스의 추상 메서드 구현을 직접 전달할 수 있다. → 전체 표현식을 함수형 인터페이스의 인스턴스로 취급 예시) Runnable r1 = () -> System.out.println("hello 1"); Runnable r2 = .. 2020. 11. 16.
Mockito Mockito 모의 객체 생성 프레임워크 mock: 모조품 mockito: 모조품을 쉽게 만드는 프레임워크 협력 객체에서 반환 값이 없는 경우, 즉 간접 입력이 없는 경우 협력 객체에서 변수를 잘 받았는지 그리고 잘 처리했는 지를 검증(간접 출력) → mockito Mock 모의 객체 생성 및 모의 객체 동작 지정(Stubbing) 모의 객체가 제공하는 연산을 지닌 인터페이스 선언 @Mock과 @InjectMocks 어노테이션을 사용하여 모의 객체 생성 Mockito의 when().thenReturn()을 사용하여 동작 지정 예시) → pm은 다른 동작은 못하고 1234가 들어왔을 때 1000을 리턴해주는 모의 객체가 되었다. → cart입장에서는 간접입력을 생성한 것 ✔️ doReturn().when(.. 2020. 11. 16.
Junit5 Junit5 가장 최근에 개발된 Junit 테스트 프레임워크, 풍부한 어노테이션을 제공하여 쉽고 간결하게 테스트 코드를 작성 및 실행할 수 있다. Java 8에 기반 (Junit4는 Java 5 기반) 아키텍처 → 테스트를 발견하고 테스트 계획을 생성하는 TestEngine 인터페이스를 정의. → Platform은 TestEngine을 통해서 테스트를 발견하고, 실행하고, 결과를 보고 테스트 코드 → 테스트 메서드는 3A로 구성되어있다. (3A: Arrange, Act, Assert) @DispalyName: 메서드 설명을 넣을 때 사용 (테스트 시에 깔끔하게 볼 수 있음) Error: Assert문 이전에 문제가 발생 Failure: Assert문에서 기댓값과 결괏값이 다른 경우 발생 참고) Asser.. 2020. 11. 16.
함수형 인터페이스 모음 Function : 매개값을 리턴값으로 매핑(타입 변환)하는 역할 Consumer : 매개값을 소비하는 역할만 하며, 소비한다는 말은 사용만하고 리턴값이 없다는 뜻 Supplier : 호출한 곳으로 데이터를 리턴(공급)하는 역할, 리턴값은 있고 매개변수는 없음 Operator : Function과 동일하게 매개 변수와 리턴값이 있는 applyXXX() 메소드를 가지고 있다. 하지만 이 메소드들은 매개값을 리턴값으로 매핑(타입 변환)하는 역할보다 매개값을 이용해서 연산을 수행한 후 동일한 타입으로 리턴값을 제공하는 역할 Predicate : true 또는 false를 리턴하는 역할 Runnable : run()실행할 수 있는 인터페이스 Function 함수적 인터페이스 목록 인터페이스 명 추상 메서드 설명.. 2020. 10. 8.
위메프 2차 면접 정리 보호되어 있는 글 입니다. 2020. 7. 13.
passport 적용 Passport란? 현재 로그인한 유저, 클라이언트에는 쿠키를 서버에는 세션을 설정할 수 있는 미들웨어 NodeJS에 적용 passport를 애플리케이션의 미들웨어로 적용하기 전 로그인 전략(Strategy)을 짤 필요가 있음 -> 네이버로그인으로 접근하는지, 자체 로그인 방식으로 접근하는지에 대한 전략 전략 코드를 만들기 위해 passport라는 폴더를 만들어 전략 실행을 위한 index.js 파일과 local.js(로그인 전략) 파일을 만듦 passport/local.js const passport = require('passport'); const { Strategy: LocalStrategy } = require('passport-local'); const bcrypt = require('bcry.. 2020. 7. 8.