분류 전체보기 (126) 썸네일형 리스트형 Level2. atdd-subway-map 정리 2021-06-11글 중복되는 테스트 메서드 중복되는 테스트 메서드는 추출하자 테스트코드도 유지보수의 대상이며 하나의 문서이기 때문에 가독성을 고려하자 private ExtractableResponse addSection(String content) { return RestAssured.given().log().all() .body(content) .contentType(MediaType.APPLICATION_JSON_VALUE) .when() .post("/lines/{id}/sections", 1L) .then().log().all() .extract(); } 예외 처리는 Service에서 DAO에서 예외를 체크해주고 있었음 DAO는 말그대로 DB에 어세스하는 역할만 할 뿐 이 결과에 대한 예외는 서.. 스프링 부트 Profile별로 다른 환경 구성 2021-06-09글 Profile? 애플리케이션 일부 configuration을 분리하고 싶을 때 사용 애플리케이션 일부 configuration을 특정 환경에서만 가능하게 하고 싶을 때 사용 개발 환경에 따라 설정값을 달르게 로딩할 때 @Profile @Component, @Configuration, @ConfigurationProperties을 @Profile와 함께 선언 @Configuration @Profile("production") public class ProductionConfiguration { // ... } 어플리케이션 실행시 spring.profiles.active 프로퍼티로 프로파일을 지정하면 해당 프로파일일 경우에만 해당 빈이 등록됨 application-properties s.. Level2. jwp-chess 정리 2021-06-09글 @ControllerAdvice 전역 예외를 처리하는데 사용 정리 @ControllerAdvice, @RestControllerAdvice REST API REST API 설계 방법을 찾아보고 고민하여 반영 정리 REST API 디자인 Profile 실제 애플리케이션에서 사용하는 DB는 Mysql 그대로 냅두고 테스트에서는 h2를 사용하여 h2 의 장점을 극대화해서 사용하도록 리팩또 테스트 DB를 따로 설정하기 위해 열심히 찾아보다가 application-properties를 활용하는 방안 학습 처음에는 application-{환경}-properties로 각각 파일을 만들어주었음 아래와 같은 리뷰를 받고 test.resource에 application-properties를 만들어줌 .. Cache 2021-05-31글 [10분 테코톡] 🐻큰곰의 Cache을 들으며 정리한 글입니다. 메모리 계층 구조 데이터를 저장하는 공간의 속도와 용량은 반비례 빠를수록 가격이 올라간다. 용량이 큰 저장장치는 속도가 느림 둘 다 잡기엔 비용이 너무 많이 듦 파레토의 법칙 원인 중 상위 20%가 전체 결과의 80%를 만든다. 많이 쓰는 20%가 80%의 효율을 차지한다. 데이터 지역성의 원리 자주 쓰는 데이터는 시간적 혹은 공간적으로 한 곳에 몰려있을 가능성이 높음 시간 지역성 for문에 조건 변수를 선언하면 해당 변수는 for문이 끝나기 전까지 계속 쓰일 확률이 높음 공간 지역성 for문에서 어떤 배열에 접근했을 때 해당 배열이 위치한 메모리 공간의 내용은 for문이 끝나기 전까지 계속 쓰일 확률이 높음 순차 지역.. 📋 4. 의존 자동 주입 2021-05-29글 @Autowired 어노테이션을 통한 의존 자동 주입 자동 주입 기능을 사용하면 스프링이 알아서 의존 객체를 찾아 주입한다. 사용 방법은 의존을 주입할 대상에 @Autowiwred 어노테이션을 붙이면 된다. 해당 어노테이션이 붙어있으면 스프링이 이를 찾아 필드에 할당한다. *@Autowired를 적용한 대상에 일치하는 빈이 없으면? * 해당 필드에 대한 의존을 충족하지 않는다는 내용과 함께 빈이 존재하지 않는다는 에러 메시지가 출력된다. *만약 두개 이상이면? * 해당 타입의 빈이 한개가 아닌 여러개를 발견했다는 예외 메시지가 출력된다. @Qualifier를 이용한 의존 객체 선택 자동 주입 가능한 빈이 두 개 이상인 경우 자동 주입을 할 빈을 지정하는 방법 사용 위치 @Bean 을.. 📋 3. 스프링 DI 2021-05-28글 스프링은 객체 컨테이너 BeanFactory 객체 생성과 검색에 대한 기능 정의 getBean() : 생성된 객체를 검색하는데 필요한 메서드 객체 검색 이외에도 싱글톤인지 프로토타입 빈인지 확인하는 기능도 있음 AnnotationContext 메시지, profile, 환경 변수 등을 처리할 수 있는 기능을 추가로 쩡의 의존이란? DI를 통한 의존 처리 의존이란? 한 클래스가 다른 클래스의 메서드를 실행할 때 의존한다고 표현 변경에 의해 영향을 받는 관계를 의미 DI는 의존하는 객체를 직접 생성하지 않고, 의존 객체를 주입받는 방식을 사용 DI를 통해 객체를 주입하면 유지보수성이 더 올라간다. 스프링의 DI 설정 스프링은 DI를 이용해서 객체를 서로 연결해주는 조립기이다. 특정 타입의.. 📋 테스트로 배우는 Spring Auth 강의 2021-05-28글 피드백 강의 인증 헤더 로그인을 통해 토큰을 발급 받은 후 헤더에 Authorization에 토큰을 실어보낸다. 왜 굳이 이 헤더에 토큰을 넣어 보낼까? HTTP 인증 HTTP 프로토콜의 정의이기 때문이다. 클라이언트가 "/" 요청을 보낸다. 서버는 접근을 할 수 있는지 확인하고, 없으면 401을 보낸다. 여기서는 basic이라는 방식으로 토큰을 검증하고 있다. 잘못되었으니 다시 요청해! HTTP 인증 스킴 Basic base64를 이용해 인코딩된 사용자의 id/pw 쌍의 인증 정보를 전달 안전을 위해 HTTPS(TLS) 연결 위에서 발생되어야 함 Bearer bearer token이라는 보안 토큰을 활용하는 인증 스킴 Outh2.0에서 사용하기 위해 만들어짐 JWT Json Web.. SpringBoot Auto Configuration 2021-05-27글 테코톡을 보고 추가로 학습한 내용들 스프링 부트는 component-scan을 통해 component를 찾고 bean을 생성한다. 이 과정에서 우리가 설정한 bean들이 생성된다. 그리고 이 과정에서 spring boot의 auto configuration에 의해 추가적인 bean들도 함께 생성된다. Spring Boot AutoConfiguration이란? 클래스 패스에 존재하는 dependecy를 기반으로 spring 애플리케이션을 자동으로 구성하는 방법 스프링 부트는 web, h2, jdbc등 여러 자동 설정을 제공 (starter) 특정 Bean을 정의할 필요 없기 때문에 개발이 더 빠르고 쉬워짐 스프링부트에선 @SpringBootApplication에 있는 EnableAut.. 이전 1 ··· 6 7 8 9 10 11 12 ··· 16 다음