분류 전체보기
-
OAuth2 Client카테고리 없음 2024. 3. 7. 19:36
[ 목차 ]설정* 환경 spring boot 3.2.1 소셜 로그인을 하려면 먼저 아래와 같은 설정을 해주어야한다. 1. gradle OAuth2 client 의존성 추가implementation 'org.springframework.boot:spring-boot-starter-security'implementation 'org.springframework.boot:spring-boot-starter-oauth2-client' 2. spring application.yaml 에 client 정보 등록authorization server(kakao developers) 에 client 로써, client application 을 등록하면 client id, secret 을 받을 수 있다.scope 은 고객..
-
OAuth2 AccessTokenResponseHandler Customize카테고리 없음 2024. 2. 29. 20:42
respons handler 는 OAuth2TokenEndpointFilter 에 정의되어있다. private void sendAccessTokenResponse(HttpServletRequest request, HttpServletResponse response, Authentication authentication) throws IOException { OAuth2AccessTokenAuthenticationToken accessTokenAuthentication = (OAuth2AccessTokenAuthenticationToken) authentication; OAuth2AccessToken accessToken = accessTokenAuthentication.getAccessToken(); O..
-
-
카프카 프로듀서카테고리 없음 2024. 2. 26. 21:35
[ 목차 ] acks 옵션 프로듀서가 전송한 데이터가 카프카 클러스터에 얼마나 신뢰성 높게 저장할지 지정할 수 있다. 0, 1, all(-1) 값을 가질 수있다. 복제 개수가 1인 경우 acks 옵션에 따른 성능 변화는 크지 않다. 그러나 안정적 운영을 위해 대부분 복제 개수가 2 이상인 경우가 많다. acks=0 프로듀서가 리더 파티션으로 데이터를 전송했을 때 리더 파티션으로 데이터가 저장되었는지 확인하지 않는다는 뜻이다. 리더 파티션은 데이터가 저장된 이후에 데이터가 몇 번째 오프셋에 저장되었는지 리턴하는데, acks가 0으로 설정되어 있다면 프로듀서는 리더 파티션에 데이터가 저장되었는지 여부에 대한 응답 값을 받지 않는다. retries 설정을 해도 전송하자마자 성공으로 간주해 재전송할 일이 없다...
-
OAuth카테고리 없음 2024. 2. 10. 21:17
[ 목차 ]OAuth 란OAuth 는 Open Authorization 의 약자로 인터넷 사용자가 비밀번호를 제공하지 않고, 다른 웹사이트에서 자신의 정보에 대해 웹사이트나 애플리케이션의 접근권한을 부여할 수 있는 공통적인 수단으로 사용되는, 접근 위임을 위한 개방형 표준 (protocol) 이다. OAuth 이전에는 외부사이트와 인증기반 데이터를 사용할 때 사용자 ID/PWD 인증방식을 사용했지 때문에 비밀번호 노출 위험이 있었다. OAuth는 API 를 제공하는 서버에서 인증을 진행하고, Access Token을 발급해 3rd party에서 해당 서버의 API 를 안전하고 쉽게 사용할 수 있게 한다. 현재는 OAuth 2.0 으로 많이 구현되어 있지만 1.0 과 비교해서 살펴보겠다.OAuth 1.0..
-
카프카 기본 개념카테고리 없음 2024. 1. 16. 22:11
[ 목차 ] 토픽과 파티션 토픽이름은 데이터의 얼굴이다. 카프카 클러스터의 브로커에서 데이터를 관리할 때 기준이 된다. 리더 파티션, 팔로워 파티션으로 구성될 수 있다. 토픽의 네이밍은 아래와 같이 역할을 쉽게 이해할 수 있도록 하는 것이 좋다. 1. 환경.팀-명.애프리케이션-명.메세지-타입 ex) prd.marketing-team.sms-platform.json 2. 프로젝트-명.서비스명.환경.이벤트명 ex) commerce.payment.prd.notification 3. 환경.서비스명.jira번호.메세지타입 ex) dev.email-sender.jira-123.email-vo-custom 4. 카프카클러스터명.환경.서비스명.메세지타입 프로듀서 데이터를 발행한다. bootstrap.servers 에 ..
-
성능 테스트 개론카테고리 없음 2023. 4. 10. 13:51
시스템 성능 검증 테스트는 검증 범위에 따라 단위, 통합, 임계, 장시간 테스트로 구분된다. 단위 성능테스트 테스트 대상 단위 업무에 대한 성능 목표치를 달성할 수 있는지 여부를 검증하기 위해 수행한다. 스트레스 테스트 형태로 진행되며, 측정된 최대 업무량(throughput)과 단위 성능테스트 목표와 비교해 목표 미달일 경우 튜닝 테스트 대상이 된다. 설사 목표 달성을 하지 못하더라도 오래 매달리지 않는다. 통합 성능테스트 테스트 대상 전체 업무들에 대한 성능 목표치를 달성할 수 있는지 여부를 검증하기 위해 수행한다. 본 테스트를 통해 구축된 시스템에 대한 최종 성능을 검증한다. 총체적인 관점에서 접근한다. 임계 성능테스트 테스트 대상 시스템이 SAL(Service Level Agreement) 를 만..
-
엔티티 와 VO카테고리 없음 2023. 4. 7. 16:51
엔티티 : DB 와 매핑되는 핵심 클래스. 외부에서 함부로 데이터에 접근/변경하지 못하도록 제한해야하며, persistence, buseniss, presentation 중 persistence tier 에 속한다. 데이터 일관성을 위해 불변객체로 만들거나, 변경 로직일 경우 명확한 목적과 이름을 가진 메서드를 제공한다. VO(Value Object) 값 객체, 핵심 역할이 equals , hashcode 오버라이딩 해 값이 같은 것을 검증한다., DTO 는 계층 간 데이터 교환을 위한 객체이다. 로직이 없는 순수한 데이터 객체이다. Vo 와 DTO 둘 다 데이터 전달 객체이지만, VO 는 비지니스 로직의 결과를 갖고 객체 비교 등 로직에 필요한 메서드를 가진다. DTO 는 layer 간 통신용 단순한 ..