728x90
320x100

전체 글 504

[Gradle] 그레들 빌드 스크립트 작성과 실행

2021.04.06 - [프로그래밍 노트/빌드도구] - [Gradle] 그레들 빌드시작하기 - 그루비(Groovy) 기본 문법 2021.04.06 - [프로그래밍 노트/빌드도구] - [Gradle] 그레들이란? 그레들 특징, 그레들 vs 메이븐 빌드 스크립트 작성과 실행 그레들과 친해지기 위해서 간단하게 빌드 스크립트를 작성해보자. 특별한 지정이 없는 한 빌드 스크립트의 기본 파일명은 build.gradle 이다. build.gradle task hello{ // hello 라는 태스크 정의 println "Hello Gradle World!!" // {} 안에 처리내용 기술 } $gradle hello 를 실행하면, 빌드 결과를 확인할 수 있다. $ gradle hello :hello // hello ..

[Gradle] 그레들 빌드시작하기 - 그루비(Groovy) 기본 문법

그레들에서 빌드를 하려면 먼저 빌드 스크립트를 작성해야 한다. 그레들 문법(DSL)에 따라 텍스트 파일로 작성하기 때문에 별도의 IDE는 필요없다. 그루비 특유의 문법 그레들의 빌드 스크립트는 그루비 스크립트다. 하지만 그레들이 제공하는 DSL 덕분에 그루비를 거의 의식할 필요 없이 빌드 스크립트를 작성할 수 있다. 하지만..!! 그루비 특유의 문법을 모르면 그레들의 빌드 스크립트를 읽거나 작성할 때 어려움이 있을 수 있다. 자주 사용되는 것만 정리해보자. 문자열 크게 두가지가 존재 작은따옴표(') : 자바의 문자열과 거의 같은 용도 큰따옴표(") : 문자열 내부에 $ 기호로 동적인 내용을 넣을 수 있다. 내부적으로 그루비의 GString 클래스가 사용된다. // 작은 따옴표 String name = '..

[Gradle] 그레들이란? 그레들 특징, 그레들 vs 메이븐

아직까지 나는 Maven에 익숙하지만, 회사에서 그레들을 쓰는 프로젝트가 있어 공부하게 되었다. 그레들관련한 내용을 간략히 정리해보자. 그레들이란? 차세대 빌드 툴로 주목받는 오픈소스 제품 특징 빌드 스크립트를 간단하게 작성할 수 있음 스크립트가 간단해서 배우기도 쉽고 읽기도 쉬워 처리 내용을 금방 이해할 수 있음 앤트 태스크나 앤트 빌드 스크립트, 메이븐 저장소를 이용할 수 있어 과거에 축적한 자원을 활용할 수 있음(단, 메이븐 플러그인 사용불가) - 기존 자원을 최대한 활용하면서 단계적으로 이전이 가능하다. 일단 간단하게 빌드툴의 종류에 대해 알아보자 메이크 : 빌드 개념을 확립 앤트 : 범용성을 높임(= 크로스 플랫폼 대응) 메이븐 : 빌드 스크립트 작성 효율을 높임 (= 규칙 기반) 그레들 : 유..

맥북(Mac)에서 기본 브라우저 변경법

맥북을 처음 사용할때는 safari가 기본 브라우저로 설정되어 있다. 그 후에 whale, chrome을 다운받았는데 chrome을 기본 브라우저로 설정하기 위해선 아래와 같은 방법을 사용한다. 기본 브라우저설정을 해야, 링크를 열때 원하는 브라우저로 열리게 된다. 방법은 2가지가 존재한다 1. 맥 시스템 환경설정에서 변경 1-1. 시스템 환경 설정 > 일반설정 1-2. 기본 웹 브라우저 설정 2. 변경하려는 웹 브라우저에서 설정 chrome으로 기본 웹 브라우저를 설정해보자. 2-1. 크롬 환경설정 실행 (Command + ,) 2-2. 기본브라우저 항목에서 기본 브라우저 설정 클릭 저는 이미 크롬이 기본브라우저로 설정되어있기 때문에 아래와 같이 나옵니다.

스웜(swarm)을 이용한 도커 컨테이너 배포_3 (스웜 클러스터 외부에서 서비스 사용하기)

2021.02.05 - [프로그래밍 노트/도커] - 스웜(swarm)을 이용한 도커 컨테이너 배포_1 2021.03.27 - [프로그래밍 노트/도커] - 스웜(swarm)을 이용한 도커 컨테이너 배포_2 앞에서 포스팅한 스웜클러스터는 아직 상용화할수 없다. 왜냐하면 외부에서 서비스(echo_nginx)에 접근을 할 수 없기 때문인데 이 문제를 해결해보자. 마지막에 설정한 visualizer는 스웜 클러스터 외부에서 접근(localhost:9000)하다. 이것은 contraints설정에서 visualizer 컨테이너를 manager에 배치되도록했기 때문인데, 호스트로부터 manager까지 여러 단계에 걸친 포트 포워딩을 사용했기 때문에 문제가되지 않는다. docker-compose.yml version: ..

스웜(swarm)을 이용한 도커 컨테이너 배포_2

2021.02.05 - [프로그래밍 노트/도커] - 스웜(swarm)을 이용한 도커 컨테이너 배포_1 2021.03.29 - [프로그래밍 노트/도커] - 스웜(swarm)을 이용한 도커 컨테이너 배포_3 (스웜 클러스터 외부에서 서비스 사용하기) 스택 스택은 하나 이상의 서비스를 그룹으로 묶은 단위로, 애플리케이션 저체 구성을 정의한다. 서비스는 애플리케이션 이미지를 하나밖에 다루지 못하지만, 여러 서비스가 협조해 동작하는 형태로 다양한 애플리케이션을 구성할 수 있다. 이를 구현하기 위한 상위 개념이 바로 스택이다. (여러 서비스를 함께 다를 수 있음) 스택은 말하자면 스웜에서 동작하는 스케일 인, 스케일 아웃, 제약 조건 부여가 가능한 컴포즈다. 스택은 docker stack 하위 명령으로 조작한다. ..

[리눅스_linux] 파이프라인(uniq, tee)

파이프라인 표준 입력으로부터 데이터를 읽고, 표준 출력으로 데이터를 전송하는 명령어의 능력은 파이프라인이라고 하는 쉘의 기능으로 보다 더 응용될 수 있다. 파이프 연산자인 |(수직바) 기호를 사용하여 명령어의 표준 출력을 또 다른 명령어의 표준 입력과 연결이 가능하다. $ command1 | command2 $ ls -l /usr/bin | less 필터 파이프라인은 데이터의 복잡한 연산을 수행할 때 사용되는데, 하나의 파이프라인에 여러 명령어를 입력하는 것이 가능하다. 주로 이러한 방식을 사용하는 명령어들을 필터라 일컫는다. 필터는 입력 받은 내용을 어떻게든 바꾸어 출력하게 한다. $ cat /etc/passwd | sort | less -> passwd 파일의 내용을 정렬해서 보여준다. sort - ..

스웜(swarm)을 이용한 도커 컨테이너 배포_1

컨테이너를 단일 도커 호스트에만 배치하는 것은 간단하고 개발자가 관리하기도 쉽다. 그러나 많은 트래픽을 처리할 수 있는 실용적인 시스템은 여러 컨테이너가 각기 다른 호스트에 배치되는 경우가 많다. 또 컨테이너를 배치하는 방법과 하나 이상의 도커 호스트를 다루는 방법 역시 호스트 하나만을 다룰 때와는 달리 다양한 사항을 고려해야 한다. 도커 스웜이란 무엇인가? 도커 스웜은 여러 도커 호스트를 클러스터로 묶어 주는 컨테이너 오케스트레이션 도구의 한 종류이다. 컨테이너 오케스트레이션 도구없이는 도커 호스트 여러 대를 사용하는 확장성 있는 애플리케이케이션을 만들기가 어렵다. 도커 호스트에 어떤 컨테이너를 배치해야 하는지, 서로 다른 호스트에 위치한 컨테이너 간의 통신은 어떻게 제어하는지 등의 조율을 오케스트레이..

실용적인 (도커)컨테이너 구축 및 배포를 위한 지식_1

애플리케이션 내 단일 컨테이너의 적정 비중 실제 운영에서는 애플리케이션을 컨테이너 안에 어떻게 배치하는지가 매우 중요하다. 컨테이너 하나가 맡을 수 있는 적정 수준의 책임은 어느 정도일까? 세세하게 역할을 나누다가 시스템 전체의 복잡도가 올라가지는 않을까? 단일 컨테이너의시스템 내 비중은 어떻게 결정해야하는지 알아보자. 컨테이너 1개 = 프로세스 1개? 애플리케이션 + 인프라 = 도커 컨테이너 결과부터 말하자면, 컨테이너 1개 = 프로세스 1개 원칙은 괜찮게 생각될 수 있으나 지나치게 복잡해질수도 있다. 예를 살펴보자 정기적으로 작업을 실행하는 애플리케이션 정기적으로 어떤 작업을 실행하는 컨테이너가 있다고 가정해보자. 스케줄러 + 작업이 합쳐진 애플리케이션을 만든다면 컨테이너 1개 = 프로세스 1개 원칙..

728x90
300x250