IT 천국 (127) 썸네일형 리스트형 [Docker] Oracle DB 설치하기 (Oracle 12c) Docker를 사용해 Oracle 12c 버전 설치하는 방법을 살펴보기로 한다. 설치는 Synology Nas 718+에서 진행하였다. 1. Docker Login Oracle 이미지를 다운로드 받기 위해서는 Docker hub에 로그인이 되어있어야 한다. 본인이 사용하고 있는 Docker Hub 계정으로 로그인을 진행한다. root@MyFriends-svc:~# docker --version Docker version 20.10.3, build b455053 root@MyFriends-svc:~# docker login Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head .. [Spring boot] Chrome Cookie SameSite 해결하기 보통 Backend 에서 사용자 인증을 완료하고 Token 전달의 수단으로 Cookie를 많이 사용한다. Backend 로직에서 브라우저 Cookie 저장을 위해서 다음과 같이 보통 설정을 하게 된다. package com.deeplify.tutorial.oauthlogin.utils; import org.springframework.util.SerializationUtils; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.Base64; import java.util.Optional; public.. Frontend 서버 webpack, resource download Frontend를 웹서버에 Deploy하고 필요시 webpack 자원과 소스코드를 다운로드 받아야 할 때가 있다. 보통 웹 브라우저로 웹 접속 후 Chrome 개발자 도구에서 sources 항목을 보면 디버그 모드로 deploy된 경우 webpack 소스와 application 소스들이 열람이 가능하다. 개발 중 띄운 Frontend 웹페이지에 접속 하고 크롬 브라우저 F12로 개발자 모드를 열고 Sources 항목에 들어가 보면 좌측에 로딩 되어 있는 소스와 webpack 결과물들이 열람가능함을 볼 수 있다. 로딩되어 있는 소스 파일들을 다운받으려면 chrome 웹 스토어에 있는 Resource Saver라는 확장 프로그램을 설치하면 된다. 크롬 웹 스토어에 진입해서 resource saver로 검색하.. [Spring boot] Tomcat 배포 시 Path Rewrite 하기 웹 어플리케이션을 개발 시 외부 API Gateway 를 통해 웹 어플리케이션 Launch가 되는 경우가 많이 있다. 이런 경우에 본인의 어플리케이션을 구분하기 위해 앞단에서 특정 path가 삽입되는 경우가 많이 있다. 예기치 않게 중간에 path가 삽입되면 application 입장에서는 url path 처리를 하기 위해 Front end단 수정이 가해질 수 밖에 없다. 이런 경우에 Tomcat path rewrite 기능을 통해 해당 path를 제거해 주면 최초 만들어진 url 로 app을 동작 시킬 수 있게 된다. Tomcat rewrite.config 작성 apache-tomcat-9.0.65\conf\Catalina\localhost\rewrite.config RewriteCond %{REQUE.. [Spring Boot] Spring boot embedded tomcat https 적용 Spring boot를 이용해서 웹 어플리케이션을 만들었을때 최종적으로 https 적용을 고려하게 된다. HTTPS VS HTTP HTTP는 Hypertext Transfer Protocol의 약자다. 즉 Hypertext 인 HTML을 전송하기 위한 통신규약을 의미한다. HTTPS에서 마지막의 S는 Over Secure Socket Layer의 약자로 Secure라는 말을 통해서 알 수 있듯이 보안이 강화된 HTTP라는 것을 짐작할 수 있다. HTTP는 암호화되지 않은 방법으로 데이터를 전송하기 때문에 서버와 클라이언트가 주고 받는 메시지를 감청하는 것이 매우 쉽다. 예를들어 로그인을 위해서 서버로 비밀번호를 전송하거나, 또는 중요한 기밀 문서를 열람하는 과정에서 악의적인 감청이나 데이터의 변조등이 일.. [Postgresql] Sql 쿼리 수행 시간 늘리기 Postgresql 에서 수행시간이 긴 쿼리를 실행하면 쿼리 수행시간을 초과했다는 메세지가 출력 될 때가 있다. Postgresql에 기본으로 설정된 쿼리 수행시간이 있는데 이 기준을 넘어서서 쿼리를 수행했기 때문이다. 설정값은 아래와 같이 Postgresql DB 쿼리를 수행하면 볼 수 있다. 아래는 pg_settings 테이블에서 statement로 시작하는 레코드를 검색한 결과이다. 결과는 기본 30초로 설정되어 있는것을 볼 수 있다. 설정된 Timeout값을 현재 연결된 세션에서 변경하고자 한다면 다음 명령어를 수행하면 된다. 아래는 10분으로 타임아웃값을 설정한 예시이다. 위에서 설정한대로 적용되었는지 확인하기 위해 다시한번 pg_settings값을 조회해 본다. 10분으로 타임아웃 값이 변경되.. [Spring Boot] Quartz 배치 (scheduler) clustering Spring application을 구축하다 보면 spring scheduler를 이용해서 cron job을 많이 사용하게 된다. 그러나 이중화나 쿠버네티스에서 여러 pod를 실행하게 되면 다수의 was에서 job이 중복해서 실행이 되게 된다. 이를 위해서 특정 Node의 was에서만 job을 실행되게 인자나 property를 뺄 수 있으나 배포시에 노드마다 설정을 지정해주어야 하는 번거로움이 생긴다. 이럴때 Spring boot + Quartz 배치를 사용하고 Clustering 기능을 켜면 Cluster 기능으로 fail over를 방지 할 수도 있고 동시에 여러잡이 실행되는것도 방지 할 수 있다. Spring Quartz 라이브러리 Import pom.xml에 아래 spring-boot-starte.. [Spring boot] Tomcat (windows) + War 배포 하기 Apache Tomcat 다운로드 및 압축 해제 Apach Tomcat 9.0대 Download는 아래 Url에서 수행한다. https://tomcat.apache.org/download-90.cgi 추세에 맞게 64bit용 zip파일을 다운받고 원하는 위치에 Extract 해둔다. Spring boot application 수정 사항 Spring boot application main에서 다음과 같이 extend 및 implement를 추가한다. @EnableConfigurationProperties(AppProperties.class) @SpringBootApplication // Main class에서 SpringBootServletInitializer를 상속하고, implements를 구현한다. .. 이전 1 ··· 3 4 5 6 7 8 9 ··· 16 다음