• [Campper] Redis template 사용하여 용량 개선하기

    Redis를 사용하는 방법에는 두 가지가 있다. CrudRepository 상속 Redis template 사용 CrudRepository CrudRepository 인터페이스는 spring data commons 모듈에 선언된 인터페이스로 데이터베이스를 다루는 데 필요한 메서드를 모아둔 인터페이스입니다. 도메인 클래스 타입과 ID 타입을 제네릭 인자로 전달하고 CrudRepository 인터페이스를 상속하면 관계형 데이터베이스부터 NoSQL 데이터베이스까지 데이터 조회 기능과 갱신 기능을 편리하게 사용할 수 있습니다. Spring Data Redis Repository 역시 CrudRepository 인터페이스에 선언된 모든 메서드를 오버라이딩해 Redis Hash 데이터에 쉽게 접근할 수 있습니다. ..

  • [Campper] Spring Cloud Feign 사용하여 공공데이터 쉽게 관리하기

    Feign + 공공데이터 Feign 이란? Feign은 Netflix에 의해 처음 만들어진 Declarative(선언적인) HTTP Client 도구로써, 외부 API 호출을 쉽게 할 수 있도록 도와준다. “선언적인” 이란 어노테이션 사용을 의미하는데, 소스코드가 아닌 어노테이션 선언만으로 트랜잭션을 적용할 수 있는 기술이다. 공공데이터란? 공공데이터란 공공기관이 만들어내는 모든 자료나 정보, 국민 모두의 소통과 협력을 이끌어내는 공적인 정보를 말한다. ↗ 공공데이터_포털 공공데이터 포털 국가에서 보유하고 있는 다양한 데이터를『공공데이터의 제공 및 이용 활성화에 관한 법률(제11956호)』에 따라 개방하여 국민들이 보다 쉽고 용이하게 공유•활용할 수 있도록 공공데이터(Datase www.data.go.k..

  • [Campper] SpringSecurity + JWT + 로컬로그인 인증 구현하기

    [Campper] SpringSecurity + JWT + 로컬로그인 인증 구현하기

    SpringSecurity SecurityFilterChain은 수많은 필터로 이루어져 있다. 로컬 로그인의 인증 구현을 위해 전반적인 인증 로직 및 UsernamePasswordAuthenticationFilter을 자세히 보면 된다. Authenticaiotn Flow 전반적인 인증 흐름은 위와 같다. 로그인 요청 로그인 인증 요청이면 UsernamePasswordAuthenticationFilter가 요청을 가로 채 id, pw를 이용한 UsernamePasswordAuthenticationToken인증 객체를 만든다. AuthenticationManager에 인증을 위임한다. AuthenticaitonManager을 구현한 ProvicerManager은 시큐리티에서 기본적으로 제공하는 Authen..

  • [HongEat] 리팩토링 - Enum/ParameterBinding(Converter)

    ParameterBinding 앞서 Dto로 전달한 Category의 viewName으로 가게리스트를 카테고리별로 조회하는 기능을 만들고자 했다. /** * 가게 리스트 종류별 조회 */ @GetMapping("/category/{category}") @Operation(summary = "카테고리별 가게 리스트 조회 요청", description = "카테고리별 가게 리스트 조회 요청 API 입니다.") public ResponseEntity getStoresByType( @PathVariable("category") Category category) { List getStoreDtos = storeService.getStoresByType(category); return ResponseEntity.o..

  • 컨테이너

    컨테이너

    ※ 본 포스팅은 21.06.03에 게시된 글을 이전한 것 입니다. 컨테이너 기술 배경 컴퓨터 프로그램들은 환경이 바뀔 때마다 각종 오류가 발생하는데 이를 방지하기 위해 다른 환경으로 이동하더라도 안정적으로 실행되도록 하기 위해 나온 기술 최근 클라우드 컴퓨팅에서 하이퍼바이저 기반의 가상화 기술을 컨테이너 기술이 대체 컨테이너 하나의 OS환경에서 애플리케이션을 실행하기 위한 영역을 여러개로 나누어 사용하는 것 다시 말해 모듈화되고 격리된 컴퓨팅 공간 또는 환경 이때 각각의 공간을 '컨테이너' 라고 일컬음 또한 컨테이너는 하나의 OS환경에서 돌아가므로 OS를 제외하고 어플리케이션 실행에 필요한 모든 파일만을 패키징한 형태임 이 각각의 컨테이너는 다른 컨테이너에게 영향을 미치지 않고 어플리케이션 실행이 가능함..