사용자 인증/인가 관심사 분리 (Thread Local)
사용자 인증/인가 관심사 분리 문제 해결 과정 왜 이런 과정이 필요했는지? 기존 코드에는 특정 API 컨트롤러마다 사용자 인증 정보를 가져오는 로직이 반복되고있었다. 컨트롤러에서 이에 대한 관심사를 해결하는 것 보다는 이를 분리하는게 더 역할에 맞다고 생각해서 이를 분리하기로 했다. 구체적으로 어떻게 구현한건지? HTTP Connectio...
사용자 인증/인가 관심사 분리 문제 해결 과정 왜 이런 과정이 필요했는지? 기존 코드에는 특정 API 컨트롤러마다 사용자 인증 정보를 가져오는 로직이 반복되고있었다. 컨트롤러에서 이에 대한 관심사를 해결하는 것 보다는 이를 분리하는게 더 역할에 맞다고 생각해서 이를 분리하기로 했다. 구체적으로 어떻게 구현한건지? HTTP Connectio...
프록시 패턴에 대한 궁금증 스프링에서 AOP를 공부하려다 보면 그 개념의 근원은 프록시부터 시작한다. AOP가 적용된 로직은 프록시 패턴을 적용하여 요구사항을 해결한다고 알려져있는데 도대체 프록시 패턴이 무엇이고 왜 쓰이고, 스프링은 왜 프록시 패턴으로 AOP를 구성하게 되었는지 알아보려고한다. 프록시 패턴? 디자인 패턴 중 구조 패턴으로 ...
OAuth Open Authorization 직역하면, 공개 인증이라는 의미이다. 다른 웹 서비스에게 이용중인 서비스에 있는 나의 정보에 접근할 수 있는 권한을 공개하여 인증할 수 있도록 접근 위임을 통한 인증을 수행한다.. OAuth 1.0 의 등장 2007년 12월, OAuth 가 등장했다. 실제로 트위터 등 대형 서비스에서도 도입을 시...
헷갈리는 키워드 모든 내용은 공식문서를 참고 클래스 관련 키워드 class data class sealed class enum class value class inner class 객체 관련 키워드 companion object object class class는 일반적으로 Java에서 사용하던 클래...
참고자료 Microsoft Doc 그런 REST API로 괜찮은가 REST? REST란 아키텍처 접근 방식 중 하나이다. 분산 하이퍼미디어 시스템(WEB)을 위한 아키텍처 스타일을 가리킨다. 아키텍처 스타일은 제약조건의 집합을 의미한다. REST 제약조건 uniform interface Identificatio...
0. 스프링이란? 스프링은 자바 엔터프라이즈 개발을 편하게 해주는 오픈소스 경량급 애플리케이션 프레임워크 이라고 한다. 이 정의를 조금씩 분해해서 살펴보자 애플리케이션 프레임워크 애플리케이션 프레임워크는 특정 계층/기술/분야에 관계없이 애플리케이션 전 영역을 다루는 범용 프레임워크이다. 이게 일반 프레임워크랑 무슨 차이냐면, 일반적으로 프레임...
흔하디 흔한 오프셋 기반 페이징 offset 쿼리를 사용해서 조회할 데이터를 분할해서 가져온다. 문제점 1. 데이터 중복/유실 페이징 중 데이터 추가/삭제 시 중복된 혹은 유실된 데이터 반환 이 내용은 아직 시나리오가 정확히 이해가 가지 않아서 나중에 자세한 시나리오를 작성하기로한다. 문제점 2. 성능 일단 Limit, Offest 문법은 ...
트랜잭션과 락 트랜잭션은 작업의 완전성을 보장해주는 것이다. 작업을 모두 완벽하게 처리하거나, 처리하지 않고 원 상태로 복구하거나 락과 트랜잭션은 유사해 보이지만 다르다. 락은 동시성을 제어하기 위한 기능이고, 트랜잭션은 데이터의 정합성을 보장하기 위한 기능이다. 락이 없다면 어떻게 되는걸까? 하나의 회원 정보 레코드를 여러 커넥션에서 동시...
모든 내용은 다음 링크를 출처로 두고 있다. KSUG Seminar 애플리케이션 아키텍처와 객체지향 - 조영호 SpringCamp 2013 ORM 프레임워크를 활용할 때의 설계, 개발 프로세스 객체지향을 지향하기 객체지향적으로 애플리케이션을 짜려면 아키텍처는 어떻게 해야하나? 본격적인 개발 시작은 어떻게 해야...
모든 내용은 다음 링크를 출처로 두고 있다. 우아한 객체지향 - 조영호 설계의 핵심은 의존성이다. 의존성을 어떻게 잡냐에 따라 설계의 모양이 바뀐다. 역할/책임을 다루는 이야기는 하지만, 역할이나 책임이 필요하게된 핵심은 의존성을 어떻게 관리하느냐이다. 이 세미나의 내용을 통해 의존성을 어떻게 관리할 것인지 알아가자! 의존성 설계를...