Tomcat

Tomcat 시작 스크립트 옵션들.

Tomcat 시작 스크립트에는 많은 옵션들이 있는데, 이에 대해서 기술합니다. start.sh 스크립트 Tomcat 을 시작하기 위해서는 CATALINA_HOME/bin/startup.sh 파일을 실행하면 된다. 이 스크립트 내용을 간단히 살펴보면 다음과 같다.

최종적으로 catalina.sh 파일을 호출하고 있는데, 이 파일에는 시작시에 사용할 수 있는 각종 쉘 환경 변수들이 나온다. Catalina.sh 스크립트 CATALINA_HOME Catalina 가 빌드된 디렉토리. 여기서 빌드된 디렉토리는 설치한 홈 디렉토리를 말하기도 한다. CATALINA_BASE Catalina 설치에 동적 영역을 해결하기 위한 기본 디렉토리. 이는 Multi Instance 설치할때에 에 사용된다. 만일 지정하지 않으면 CATALINA_HOME 을 사용한다. CATALINA_OUT stdout, […]

Java, Programming

Java 8 람다 표현식

이 글은 다음의 Youtube 강의 내용을 요약 정리한 것입니다. Java 8 Lambda Basics – Java Brains 왜 람다(Lambda) 인가? 함수형 프로그램이 가능하다. 읽기 쉽고 간결한 코드 API 나 라이브러리 사용이 좀 더 쉽다. 패러럴 프로그래밍이 가능하다. 람다는 함수 자체를 값으롤 할당할 수 있는 Inline 함수처럼 표현된다.   람다 표현식(Lambda Expressions) 자바에서 메소드로 불리우는 함수 표현식은 대략 다음과 같은 형식을 갖는다.

Inline Values

위 예제는 Inline Values 가 무엇인지 보여준다. 별다른 객체, 메소드의 도움이 바로 할당하는 형식이 바로 Inline […]

Uncategorized

최근 알고리즘 논쟁을 보고 느낌점…

최근 인터넷에 난데 없이 알고리즘 논쟁이 있었던 모양이다. 뭐 인터넷이라는게 방대하고 거기다 한국이란 곳으로 국한한다고 하더라도 몇몇 커뮤니티를 타고 옥신각신 한 정도밖에 더 될까만은 매우 흥미롭게 지켜보게 됐다. 원래 성격상 흥미가 없으면 ‘별 시덥잖은 이야기’ 정도로 치부하는데, 알고리리즘 논쟁을 보고 흥미가 생긴 이유가 아주 근본적인 사고차이에서 비롯된 것이라 생각했기 때문이다. 발단은 다음의 글에서 출발 했다. 개인적으로 알고리즘 관련 논람에 민감한 이유 알고리즘이 더 이상 모든 분야의 기본 지식이 아니라고 생각하는 이유는 이미 그런 토론을 통해 충분히 이야기했기 때문에, 지금은 왜 […]

WAS, WebLogic

WebLogic WLST 사용하기.

WebLogic 은 Administrator 를 위한 Web GUI 콘솔을 제공한다. 브라우저를 통해서 관리자로 로그인을 하면 Web 을 통해서 각종 설정들을 할 수 있게 된다. 하지만 Web 을 사용할 수 없는 환경이라면 무용지물이 된다. 이럴때 WebLogic Scripting Tools(WLST)를 사용하면 된다. 자바로 만들어지는 Tools 로서 Web GUI 화면 대신에 터미널상에서 실행되며 대화형식으로 Web GUI 콘솔에 모든 기능을 사용할 수 있다. 실행하기 실행은 먼저 WebLogic 서버의 전역 변수를 소스(Source) 함으로써 WLST 실행환경을 조성해 준다.

  WLST 실행하기 이제 다음과 같이 WLST 을 실행한다. […]

MySQL

MySQL USING VS ON 차이.

MySQL에서 JOIN 을 사용할때에 USING 이나 ON 을 사용한다. 결과적으로 뽑고자 하는 데이터는 모두 동일한데 과연 이둘의 차이는 무엇일까? 첫째로 사용법에서 차이가 있다. USING 은 두 테이블간 필드이름이 같은 경우에 사용한다.

employees 와 salaries 를 조인(JOIN)하는데 emp_no 를 키가 양쪽 테이블에 모두 있기 때문에 USING 을 사용할 수 있다. 하지만 만일 조인시에 컬럼 이름이 다를 경우에는 ON 을 사용한다. 물론, 컬럼 이름이 같은 것을 기반을 조인을 할때도 ON 을 상용해도 된다.

MariaDB

Xtrabackup 을 활용한 Replication 설정

Xtrabackup 을 이용한 Slave 추가 하기. Master 에 Slave 를 추가해야 하는데, Online 상황에서 추가하기는 쉽지가 않다. 대부분 mysldump 를 이용해서 추가 하는 방법이나, mysql data 디렉토리를 압축해서 해제하는 방법을 쓰거나 둘중 하나이다. 하지만 이렇게하면 Online 상태를 유지할 수 없다. Online 상태를 유지면서 Master 의 데이터를 옮기는 방법으로는 Xtrabackup 을 이용하는게 제일 좋다. 먼저, Xtrabackup 툴을 Master 와 Slave 서버에 모두 설치해 준다. 그리고 Master 서버에 다음과 같이 백업을 위한 계정을 생성한다.

그리고 두가지를 생각해봐야 한다. 먼저 새롭게 준비된 […]

HowTo, Linux

Database 를 위한 공유 메모리, HugePages 계산하기

Database 시스템은 공유메모리 혹은 HugePages 에 매우 의존적입니다. 서버에서 데이터베이스가 가동되면 Database 가 사용하는 메모리는 Database만을 위해서 사용되어 집니다. 대부분의 큰 Database 시스템은 다른 서버 프로그램 없이 단독으로 설치되어 운영되어지기 때문에 얼마만큼 물리적 메모리를 Database 에 할당할지가 Database 시스템 전체에 큰 영향을 미칩니다. 이 글에서 Database 시스템을 위한 공유메모리, HugePages 등을 할당할때에 고려사항은 무엇이며 얼마나 할당하는 것이 좋은지를 살펴보겠습니다. Oracle 11g or 12c 먼저 Oracle 은 물리적 메모리에 약 80% 를 Oracle 이 사용하도록 할당하도록 합니다. 여기서 대략 80% 라고 […]

HowTo

Telegraf 설치 및 설정

Telegraf 는 서버내의 각종 지표들을 수집하는 에이전트(Agent) 프로그램 입니다. 서버 자체뿐만 아니라 각종 서버소프트웨어들에 지표도 함께 수집할 수 있으며 InfluxDB, OpenTSDB, Kafka 등과 같은 데이터소스(Datasource)에 저장하도록 할 수 있습니다. 환경 설치 및 설정 환경은 다음과 같습니다. CentOS x86_64 설치 설치는 Telegraf 홈페이지에서 관련 파일을 다운로드 받으면 됩니다. Telegraf 는 배포판별로 패키지를 제공하기 때문에 편하게 설치를 할 수 있습니다.

  설정 설정은 /etc/telegraf/telegraf.conf 파일에서 해주시면 되며, 주요 설정은 다음과 같습니다.

위 설정만으로도 주요한 Linux 시스템의 지표들을 수집할 수 있습니다. […]

HowTo

InfluxDB 설치 및 설정

InfluxDB 는 Time Series Database 로 각광을 받는 데이터베이스 시스템입니다. SQL 로 데이터 조회가 가능하며 Retention 설정(보유기간을 설정) 할 수 있는 특징이 있습니다. 환경 설치 환경은 다음과 같습니다. CentOS x86_64 설치 다음의 페이지에서 다운로드를 받을 수 있습니다. https://portal.influxdata.com/downloads InfluxDB 는 각 배포판별로 패키지를 제공 합니다. 패키지를 이용하면 손쉽게 설치할 수 있고 init script 등록도 자동으로 되기 때문에 패키지 설치를 권장 합니다.

설치가 끝나면 다음과 같은 파일들을 확인할 수 있습니다.

설정 대부분의 설정은 /etc/influxdb/influxdb.conf 파일에서 이루어 집니다.  주요한 설정은 […]

Oracle Database

Oracle 12c 데이터베이스 삭제하기

Oracle 12c 데이터베이스 삭제하기 위해서는 다음과 같이 하면 된다.