목록분류 전체보기 (141)
Connecting
Shell Loop Types 이번 시간에서는 Unix Shell에서 사용하는 반복문에 대해서 알아본다. 반복은 일련의 명령을 반복할 수 있도록 하는 프로그래밍 도구로서 아래에서 다양한 반복문 종류를 살펴보도록 한다. 각각의 반복문은 상황에 따라서 적절하게 선택할 수 있어야 한다. The while loop while 반복문은 조건이 발생할 때까지 명령을 지속적으로 실행한다. 문법 while command do Statement(s) to be executed if command is true done Example #!/bin/sh a=0 while [ $a -lt 10 ] do echo $a a=`expr $a + 1` done $ ./while.sh 0 1 2 3 4 5 6 7 8 9 The for..
Shell Decision Making 이번 장에서는 Unix Shell에서 특정 조건일 때, 올바른 수행이 가능하도록 하는 조건문에 대해서 알아본다. The if...else statements if else 문은 주어진 옵션 집합에서 조건을 선택할 수 있도록 지원한다. 어떠한 조건에 대해서 True가 될 때 지정된 문이 실행되고, False일 경우 실행되지 않는다. 대부분 비교 연산자를 통해 작성한다. 아래 실습을 통해 알아볼 것이지만 각 구문에 대한 공백을 지켜야 오류가 발생하지 않는다. if...fi statement 문법 if [ expression ] then Statement(s) to be executed if expression is true fi Example #!/bin/bash a=..
Vagrant 사용법 퍼블릭 클라우드를 이해하기 위해 지난 시간 대표적인 Amazone AWS, Microsoft Azure, Google GCP 3가지 퍼블릭 클라우드의 특징을 확인했다. 이번 챕터에서는 Vagrant를 통해서 자신의 PC에서 가상화 시스템을 운영하면서 IaC (Infrastructure as Code)에 대한 간단한 콘셉트를 이해하도록 한다. IaC (Infrastructure as Code) 인프라스트럭처 시스템은 서버, 네트워크, 보안, 스토리지 등 다양한 서비스를 안정적으로 운영하기 위해 발전했으며, 이를 관리하기 위한 복잡도 역시 증가하였다. 하나의 애플리케이션을 구성하고 이를 배포하기에 수 많은 시스템 간의 연계 및 구성이 필요하고 빠르게 변화하는 IT 산업에서 민첩성이 중요..
다양한 쉘 종류에 따라 연산자도 다양하지만 이번 시간에서는 가장 기본적인 bash 쉘의 기본 연산자에 대해 설명한다. 산술 연산자 관계 연산자 Boolean 연산자 문자열 연산자 파일 테스트 연산자 bash의 경우 간단한 산술 연산을 수행하는 메커니즘이 존재하지 않기 때문에 awk 혹은 expr과 같은 기본 명령을 사용한다. bash에서 진행하는 간단한 숫자 계산 기본적으로 bash에서는 사칙연산이 모두 가능하지만 나누기 소수점 계산은 불가능하며, 모두 정수형으로 취급된다. 따라서 awk나 bc 명령을 통해서 소수점 계산을 처리해야 한다. bash 변수 처리 x=3 y=4 z=$((x+y)) echo $z # 7 echo $((x-y)) echo $((x*y)) echo $((x/y)) # -1 # 12..
쉘 스크립트 배열 이번 시간에서는 쉘 스크립트에서 배열을 사용하여 변수의 집합을 그룹화하는 방법을 알아본다. 배열 정의 우리가 지금까지 쉘 스크립트에서 변수를 선언할 때 다음과 같은 방법을 사용했다. #!/bin/bash NAME01="Lucas" NAME02="soengwon" NAME03="wisoft" NAME04="hanbat" echo $NAME01 위에서 정의한 변수를 배열로 정의하면 다음과 같이 사용할 수 있다. #!/bin/bash NAME[0]="Lucas" NAME[1]="soengwon" NAME[2]="wisoft" NAME[3]="hanbat" echo "First Index: ${NAME[0]}" echo "Second Index: ${NAME[1]}" 만약 모든 배열에 접근하고..
이번 시간에는 Docker를 활용하여 카프카를 실행하고 CLI 환경에서 토픽을 생성하고, 생산자 및 소비자 환경을 구축하여 메시지 전달 방식에 대해 실습한다. 본 실습은 confluent에서 제공하는 기본 튜토리얼을 바탕으로 진행하였으며, Docker 기반으로 실행해야 하므로 본인이 사용하고 있는 환경에 Docker 설치가 완료되어 있어야 한다. 만약 Docker 설치가 어렵거나 네이티브로 실행해야 하는 경우 이전시간에 윈도우, 우분투를 기반으로 설치방법을 기술하였으니 전 챕터를 확인하길 바란다. 카프카 설치 필자 환경은 다음과 같다. MacBook Pro 2019 16인치 Intel Core i9, 32GB macOS Big Sur 11.1 Docker version 20.10.0-rc1, build ..
본 문서는 다음 링크를 참조하여 작성하였음을 알린다. https://www.tutorialspoint.com/unix/unix-special-variables.htm 이번 시간에서는 유닉스/리눅스에서 사용하는 특수 변수에 대해서 알아보도록 한다. 이러한 변수 이름은 예약어로 지정되어 있기 때문에 지역, 전역 변수로 사용할 수 없으며, 스크립트 작성 시 각별하게 유의해야 한다. 예약 변수 (Reserved Variable) 일반적인 프로그래밍 언어에서 사용하는 예약 변수와 동일한 기능을 담당한다고 생각하면 된다. 쉘 프로그래밍을 작성할 때, 예약변수를 사용하면 보편적인 실행환경으로 작성할 수 있으므로 편리하게 사용할 수 있다. 변수명 설명 HOME 사용자 홈 디렉터리 PATH 실행 파일을 찾을 경로 LAN..
AWS, AZURE, GCP 특징 지난 시간에 퍼블릭 클라우드에 대한 내용을 확인했다. 이번 시간에서는 퍼블릭 클라우드에서 가장 많이 사용하는 Amazon AWS, Microsoft Azure, Google GCP의 특징과 제공하는 서비스에 대해서 알아보도록 한다. 퍼블릭 클라우드 3사 2021년 현재 100여 가지가 넘는 다양한 퍼블릭 클라우드 업체가 존재하지만 앞도적인 점유율을 보여주는 업체는 Amazon AWS, Microsoft Azure, Google Cloud Platform이다. Canalys와 Synergy Research Group의 2019 년 보고서에 따르면 GCP의 성장률이 가장 높으며, Azure의 경우 많은 매출을 보여주며, AWS는 가장 오래된 퍼블릭 클라우드 업체로 안정적인 ..
본 문서는 https://www.tutorialspoint.com/ 에서 제공하는 UNIX / LINUX 쉘 튜토리얼을 참고했다. Extended Shell Scripts 쉘 스크립트를 수행할 작업과 시기를 알려주는 필수 구성요소가 필요하다. 대부분의 쉘 스크립트는 이보다 복잡하지만, 쉴 스크립트 역시 일종의 프로그래밍 언어이며, 변수, 함수, 제어, 반복 등과 같은 구조로 이루어진다. 스크립트가 복잡한 구조로 되어 있어도 순차적인 실행구조를 가진다. 다음은 간단한 입력 구조를 가지는 쉘 스크립트 예제이다. #!/bin/sh echo "What is your name?" read PERSON echo "Hello, $PERSON" $./test.sh What is your name? lucas Hello..
Public Cloud 기본 1980년대 전후하여 원격지와 컴퓨터 근처에 있는 단말기 사이에 있는 수많은 네트워크 장비를 전부 그리지 않고 구름을 통해 추상화한 것이 시초가 되어, 2000년대에 들어 클라우드 컴퓨팅이라는 개념이 완성되었다. 모든 서버 및 네트워크 장비와 같은 인프라스트럭처는 데이터센터에 존재하며, 사용자는 이를 인지하지 않고 자원을 임대하여 사용한 만큼 비용을 지불하고 서비스 규모를 자유자재로 설정할 수 있는 특징이 있다. IDC와 클라우드 IDC 온라인 서비스를 운영하는 데 있어서 필요한 서버는 반드시 필요하지만 물리적 공간 및 전력 및 온습도를 제어하기 위한 항온항습 및 방음시설 등을 갖춰야 하는 불편함이 있다. 대기업을 제외하고는 대부분의 기업에서는 이러한 서버를 자체 구축하여 운..