본문 바로가기

전체 글95

Spring Cloud Gateway(SCG)에서 CORS 적용(allow-Credentials) 이번 글에서는 Spring Cloud Gateway(SCG)에서 CORS를 적용하는 방법에 대해 알아보도록 하자. 1. CORS(Cross Origin Resource Sharing)란? CORS(Cross Origin Resource Sharing)이란 추가적인 HTTP 헤더를 사용하여, 한 출처에서 실행중인 웹 어플리케이션이 다른 출처의 리소스에 접근할 수 있는 권한을 부여하도록 체제이다. 웹 어플리케이션은 리소스가 자신의 출처(도메인, 프로토콜, 포트)와 다를 때 Cross Origin Http 요청을 실행한다. 쉽게 말하자면 웹페이지(브라우저)에서 특정 API 서비스를 호출할 때 웹페이지와 API서비스의 도메인이 다르게 되면 Cross Origin Http 요청을 허가해줘야 한다. 그렇기 때문에 .. 2020. 5. 27.
AWS RDS MariaDB 한글 깨짐 현상 해결(character_set, collation) 이번 글에서는 AWS RDS에 구축한 MariaDB에 데이터 입력 시 한글 깨짐 현상이 발생하는 문제를 해결하는 법에 대해 알아볼 것이다. 작업을 진행한 MariaDB는 10.2버전이다. 1. 왜 AWS RDS로 MariaDB를 생성하면 한글 깨짐현상이 발생할까? AWS RDS에서는 DB를 생성할 때 속성값으로 파라미터 그룹을 지정하게 되어 있다. 파라미터 그룹은 간단히 말해서 해당 DB의 속성값이라고 보면 되는데 이 속성값에 character-set도 있다. 그런데 파라미터 그룹을 별도로 지정하지 않으면 기본 파라미터 그룹으로 설정되는데, 이 기본 파라미터 그룹의 character-set이 utf8이 아니기 때문에 한글이 깨지는 현상이 발생하게 된다. 그렇기 때문에 RDS로 DB를 생성할 때 chara.. 2020. 4. 12.
windows10에서 telnet 사용하기(특정 서버 ip 및 port 방화벽 오픈 확인) 프로젝트를 진행하다보면 내 로컬PC(windows10사용)에서 외부에 있는 특정 서버로의 방화벽이 열렸는지 확인해야 하는 경우가 종종 있다. 이럴 때 외부 서버의 ip/port에 telnet으로 접근해보면 외부 서버의 방화벽이 열렸는지 확인 가능하다. 1. Windows10 검색창에서 [optionalfeatures] 라고 검색 후 실행(혹은 제어판 -> 프로그램 -> Windows 기능 켜기/끄기 실행) 2. 목록에서 telnet client 검색 후 체크 3. CMD를 실행시킨 후 telnet 명령어 실행. 결과 확인 # telnet [서버 ip] [서버 포트] 접속이 안되면 아래와 같이 "호스트에 연결할 수 없습니다" 메시지 발생. 연결이 되면 CMD 화면이 전환됨 참고 https://sfixer... 2020. 4. 9.
IntelliJ "Could not target platform" 에러 해결방법 IntelliJ에서 스프링부트로 개발할 때(빌드툴은 Gradle) 이전 프로젝트는 JDK 8버전을 쓰다가 새로운 프로젝트에서 JDK 11버전으로 올려서 Gradle Build를 수행하니 CompileJava 명령어 수행 중 처음보는 에러가 발생했다. 에러문구 : Execution failed for task ':compileJava'. > Could not target platform: 'Java SE 11' using tool chain: 'JDK 8 (1.8)'. 생전 처음보는 에러 문구에 JDK 설정이 잘못되었나 이곳저곳 찾아보았지만 설정은 JDK 11로 정상적으로 되어 있었다. File -> Project Settings -> Project File -> Project Settings -> Mod.. 2020. 4. 7.
스프링부트 Gradle 버전 변경하기 스프링부트 프로젝트를 진행하다보면 Gradle 버전 변경이 필요한 경우가 있다. Gradle 버전을 변경하기 위해선 다음과 같이 진행하면 된다. 1. Gradlew 명령어를 통한 버전 변경 Gradle 버전을 변경하려는 프로젝트로 이동한 후 Gradlew 명령어를 통해 버전을 변경한다. # ./gradlew wrapper --gradle-version [변경버전] 2. 변경된 버전 변경 완료 후 gradle/wrapper/gradle-wrapper.properties에서 변경된 버전을 확인한다. 2020. 4. 5.
Elasticsearch REST API 사용하기(인덱스, 도큐먼트 CRUD) Elasticsearch에서 인덱스(index)와 도큐먼트(document)를 조회/등록/변경/삭제 등을 수행하기 위해서는 REST API를 호출하게 된다. 이번 글에서는 Elasticsearch에서 사용하는 API에 대해 알아보고자 한다. 1. 인덱스(Index) 관리 1-1. 클러스터에 존재하는 인덱스 전체 조회 클러스터에 존재하는 전체 인덱스를 조회한다. 보통 엘라스틱서치를 처음 설치하고 조회를 하게 되면 아무것도 나오지 않는다(필자의 엘라스틱서치에는 이미 인덱스가 존재하기 때문에 아래처럼 나온 것이다). 인덱스의 상태(yellow, green)과 인덱스명, 샤드갯수와 크기 등을 확인할 수 있다. # curl -XGET '[엘라스틱서치ip:port]/_cat/indices?v' 1-2. 인덱스 생성.. 2020. 4. 4.
리처드 브랜슨 명언1 - 사람은 걷는 규칙을 배워서 걷지 않는다. 걸음을 시도하고, 넘어지면서 배운다. "사람은 걷는 규칙을 배워서 걷지 않는다. 걸음을 시도하고, 넘어지면서 배운다." 원문 : You don't learn to walk by following rules. You learn by doing, and by failing over. 참고 https://www.goalcast.com/2018/02/01/top-15-richard-branson-quotes/ Top 15 Richard Branson Quotes on Doing Business Branson is a goal-oriented individual who has written his own rules for success. Here are 15 Richard Branson quotes to inspire you to write your.. 2020. 4. 3.