전체 글

imSoo TecBlog
problem시놀로지는 편리하게 dns설정을 도와준다.DNS (Domain Name System) 란사용자에게 친숙한 도메인 이름을 컴퓨터가 네트워크에서 서로를 식별하는 데 사용하는 인터넷 프로토콜(IP) 주소로 변환하는 인터넷 표준 프로토콜의 구성 요소나스 ddns 설정을 안해준다면124.523.102.102:5000ip 와 port 가 적나라 하게 표시된다.위 같은 주소를example.synology.com으로 바꿔주는 서비스 라고 생각하면 좋다.여기서 ssl 이라는 개념이 나오는데 ssl 은 쉽게 설명하면 http -> https 로 바꿔 보안 접속을 가능케 해준다고 생각하면 된다.크롬은 http:// 접속은 되지만 간혹 접속을 막기도 한다. 그러므로 https 설정은 거의 필수라고 생각하면 된다...
1.컨테이너 중지docker stop [컨테이너id]2.도커 중지 sudo service docker stop3.도커 컨테이너 정보 조회 sudo docker ps -a --no-trunc | grep [컨테이너id]위 구문을 넣으면 컨테이너의 HASH 값을 가져 올 수 있다.4.컨테이너 설정 파일 접근sudo vi /var/lib/docker/containers/[컨테이너hash전체]/hostconfig.json시놀로지 : sudo vi /volume1/@docker/containers/[컨테이너hash전체]/hostconfig.json5. PortBindings의 HostPort를 원하는 포트로 변경기존) PortBindings":{"8080/tcp":[{"HostIp":"","HostPort":"8..
Mixed Content: The page at 'https://flowdnskk.duckdns.org/' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://localhost:8080/fileList'. This request has been blocked; the content must be served over HTTPS.problem프론트 ( NEXTJS) 와 백엔드 ( Spring Boot ) 의 서버를 구동시키고,외부의 요청을 NginX 에서 -> NEXTJS -> Spring Boot 로 보내주려고 하는데 위와 같은 에러가 떳다.처음엔 같은 인스턴스 (서버) 내에 있으니 localhost:8080으로..
인덱스란https://soobysu.tistory.com/115 [DB] Index 테이블 인덱스 설정 feat.JPAIndex 인덱스란 뭘까 ?데이터베이스 인덱스는 추가 쓰기 및 저장 공간을 희생 하여 테이블에 대한 데이터 검색 작업의 속도를 향상시키는 데이터 구조입니다 .(DB에서 검색이 이루어 질땐 컴퓨soobysu.tistory.com인덱스 생성 고려사항 인덱스는 WHERE 절에 자주 사용되는 속성이어야 한다. 인덱스는 JOIN에 자주 사용되는 속성이어야 한다. 단일 테이블에 인덱스가 많으면 속도가 느려질 수 있다. 속성이 가공되는 경우 사용하지 않는다. 속성의 선택도가 낮을 때 유리하다. 즉, 검색 조건에 자주 사용되고 카디널리티가 높은 컬럼을 인덱스로 설정하면 좋다.*카디널리티란 특정 데이터 ..
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 개념분산시스템의 데이터 정합성을 ..
problem스프링 배치를 실행 시키면 배치는 아래와 같이 관련된 테이블을 생성하는데,생성이 되지 않아 / 찾지 못해 생기는 에러이다. solution1. 자동생성application.properties 에 해당 옵션을 설정해주면 자동으로 관련 테이블이 생성된다.spring.batch.initialize-schema=always하지만 스프링 5.0 부터는 @EnableBatchProcessing 을 사용하면 위 옵션을 막아 생성이 안된다.   2. 직접 생성 위 방법으로 안된다면 직접 생성을 해주어야 한다.아래 링크를 확인하여 직접 생성해준다. https://soobysu.tistory.com/146 [오류노트] Spring Batch [ Could not obtain sequence value ]pro..
imSoo
sudoSoooooo