개-발

regex 패키지 클래스자바에서 java.util.regex 패키지를 사용하여 더 효율적인 정규표현식을 사용 할 수 있다. 패키지 안의 클래스는 주로 Pattern 클래스와 Matcher 클래스가 사용된다.이들 정규식 클래스의 장점으로는 정규식을 Pattern 객체로 미리 컴파일 해둘수 있어서 처리 속도가 좀 더 빠르고, 매칭된 데이터를 좀더 상세히 다룰 수 있다.Pattern 클래스문자열을 정규표현식 패턴 객체로 변환해주는 역할을 한다.이때 문자열을 정규식 문법에 알맞게 구성해주어야 한다. 그렇지않으면 예외(Exception)이 발생하게 된다.Pattern 클래스는 일반 클래스처럼 공개된 생성자를 제공하지 않는다. 그래서 정규식 패턴 객체를 생성하려면 compile() 정적 메소드를 호출해야 한다.이렇..
정규표현식이란정규표현식(Regular Expression)이란 문자열 데이터 중에서 원하는 조건(패턴)과 일치하는 문자열 부분을 찾아내기 위해 사용하는 것으로, 미리 정의된 기호와 문자를 이용해서 작성한 문자열을 말한다.문자열 사용(생성)에 제약(검증)을 둘때, 특정 패턴을 통해 검증을 할 수 있다예) 전화번호, 주민등록번호, 이메일기호기호설명예제.- 임의의 문자 1개 ^- 문자의 시작^a : a로 시작하는 단어- [^] 괄호 안에 있다면 제외 [^a] : 첫번째 a를 제외 (단일 문자)- ^[] 괄호 밖에 있다면 시작 문자^[a] : 첫번째 문자가 a인 단어^a : apple[^a] : apple -> p p l e $- 특정 문자로 끝나는 단어 a$$a : banana[]- 괄호 안에 특정 문자 확..
목표분산 시스템으로 구성 되어있는 각 서비스에 이벤트를 발행하고각 서비스의 데이터의 일관성을 보장한다. 구성도- 주문 서비스 주문을 생성하고 결제가 완료되면 주문 생성 이벤트를 발행한다.- 재고 서비스 주문 완료된 상품들의 재고를 차감 한다- 배송 서비스 주문 완료된 상품들을 배송 시킨다고려사항주문이 생성되면 반드시 재고를 지우고 배송을 처리 해야 한다.그런데카프카에 이벤트 발행이 불가능 하다면 ?결제 API에서 실패 한다면 ?주문 생성이 실패 한다면 ?위 사항들로 인해 주문은 생성되지 않을 수 있다.또, 모든 사항에 주문을 실패하게 해서 처음부터 주문을 다시 하게 만든다면 그것은 서비스에 대한 신뢰하락으로 이어질 것이다.Transcation OutBox Pattern 개념분산시스템의 데이터 정합성을 ..
KafkaTransactionManager ( 카프카 트랜잭션 처리 )스프링 부트에서 트랜잭션을 사용하기 위해서는 단순히 spring.kafka.producer.transaction-id-prefix값을 설정하기만 하면 된다. (application.yml 혹은 KafkaProducerConfig에 설정)스프링 부트에서는 자동적으로 KafkaTransactionManager bean을 구성하고 listener 컨테이너를 연결한다.@Beanpublic ProducerFactory producerFactory() { ... DefaultKafkaProducerFactory factory = new DefaultKafkaProducerFactory(props); factory.setTransa..
이벤트 발행을 보장하는 방법Event Driven Architecture 에서의 이벤트 발행을 보장하는 방법은 여러가지 있다.MSA로 설계된 분산시스템 에서는 데이터의 일관성을 유지 하는것은 매우 중요하다.아웃박스 패턴은 서비스 간의 데이터를 최소 한번 이상 전달하여두 서비스 간의 데이터의 정합성을 목표로 한다.멱등성최소 한번 이상 전달 하더라도 데이터가 동일 해야 한다. 위 말을 들으면 멱등성 이라는 것이 떠오를 것이다.그러므로 데이터가 중복 처리 되더라도 같은 결과를 얻을 수 있게멱등성을 고려하는 것이 중요하다.  목표 - 데이터의 일관성 메시지 손실 방지: 아웃박스 패턴은 로컬 트랜잭션을 통해 작업의 원자성을 보장하고                이벤트를 데이터 베이스에 저장하여, 전송 과정에서 발생..
모놀로식 아키텍처 (Monolithic Architecture)하나의 WAS에서 모든 기능을 처리하도록 구성한다.장점구조가 간단하다시스템 운영과 개발이 편리하다네트워크로 인한 지연 및 데이터 유실 안전하다디버깅이 쉽다 ( 로그 추적에 용이하다 )트랜잭션 관리가 편하다장애에 견고하다단점기능이 많아지면 복잡해질 수 있다 (스파게티 코드)코드베이스가 어지럽다 ( HTML, JS, CSS 파일을 포함해야 하므로 )클라이언트 코드에 버그를 수정하더라도 서버를 다시 실해야하 하는 불편함이 있다Git 브랜치도 많아지고 관리가 어렵다애플리케이션에 대한 확장이 비효율적이다점차 늘어나는 사용자의 요청을 감당하기 위해 시스템을 확장하여 고가용성을 확보해야 한다.소스코드가 증가함에 따라 서버의 빌드시간은 점차 늘어나게 되고,..
problemec2에 올릴 수 있었지만 ec2 메모리가 부족해서 이렇게 된거 ElastiCache 를 사용해보려고 한다.solutionElastiCache 란Amazon ElastiCache는 인 메모리 데이터베이스 캐싱 시스템을 제공하여 애플리케이션이 데이터를 검색 할 수있는 성능, 속도 및 중복성을 향상시키는 클라우드 캐싱 서비스이다.https://ap-northeast-2.console.aws.amazon.com/elasticache/home https://ap-northeast-2.console.aws.amazon.com/elasticache/home?region=ap-northeast-2#/ ap-northeast-2.console.aws.amazon.com1. Start위 링크에 접속해서 오른..
problem프로필 , 로고 업로드 기능을 위해 서버에서 이미지 처리 기능으로 S3를 사용 했다.S3 의 버켓에 특정 확장자 업로드를 방지하는 정책을 적용 해보기로 했다.solution적용 할 버킷에 접속한다.권한 탭으로 이동 후 아래에 내려오면 버킷 정책이 있다{ "Version": "2012-10-17", "Id": "Policy1717078661759", "Statement": [ { "Sid": "Stmt1717078657627", "Effect": "Deny", "Principal": "*", "Action": [ "s3:GetObject", ..
imSoo
'개-발' 카테고리의 글 목록 (4 Page)