목록구글 (9)
Connecting
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는 가장 오래된 퍼블릭 클라우드 업체로 안정적인 ..
파일 입출력 거의 모든 프로그래밍 언어에서 데이터를 읽기/쓰기 작업 기능이 필요합니다. Go 언어 역시 이러한 기능을 제공하며, 다음 예제를 통해서 확인해 보겠습니다. package main import ( f "fmt" "io/ioutil" "os" ) func main() { CurrentDirectory() data, err := ioutil.ReadFile("hello.txt") check(err) f.Print(string(data)) } func check(e error) { if e != nil { f.Println("파일을 읽을 수 없습니다.") f.Println("Error Code : ", e) } } func CurrentDirectory() { path, _ := os.Getwd()..
고루틴 고루틴 (goroutine)은 가벼운 스레드와 같은 것으로 수행 흐름과 별개로 병렬처리가 가능하게 합니다. OS에서 스케줄링으로 관리되는 스레드(약 1MB)보다 가볍기 때문에 (약 8kbyte) 자신의 코어갯수보다 많이 실행해도 무리 없이 동작한다는 장점이 있습니다. 고루틴은 고 런타임이 관리하고 고채널을 통해 고루틴간의 통신을 할 수 있습니다. Go 언어에서 고루틴을 실행하는 방법은 아래와 같이 매우 간단합니다. go Hello() // 일반함수를 통한 고루틴 실행 for i := 0; i < 3; i++ { go func(n int) { // 익명함수(클로저)를 통한 고루틴 실행 f.Println("goroutine : ", n) oneTime.Do(Hello) }(i) } 고루틴을 사용하고자..
구조체 Go의 structs는 필드들로 이루어진 타입을 갖는 컬렉션입니다. 레코드를 구성하기 위해 데이터들을 그룹핑 하는데 유용합니다. 다음 예제를 통해 구조체 선언을 확인해 보세요. type person struct { name string age int } 위 person 구조체 타입은 name과 age라는 필드를 가지고 있습니다. 같은 자료형을 가지고 있다면 다음과 같이 작성할 수 도 있습니다. type person struct { phone, age int } 구조체를 선언하고 필드명을 초기화 할 수 있으며, 생략된 필드는 0을 가지게 됩니다. 기본적으로 . 을 사용해서 구조체 필드에 접근하여 사용하며, &를 사용하면 구조체 포인터를 사용할 수 있습니다. 다음 예제를 통해 구조체 연습을 진행하도록..
함수 함수(function)란 어떠한 입력을 통해서 어떠한 출력 매개변수로 맵핑하는 독립적인 코드 영역입니다. Go 언어에서는 main 함수가 기본이지만 필요에 따라서 여러 함수 선언을 통해서 다양한 역할을 담당하는 함수를 선언하여 사용할 수 있습니다. 이렇게 기능별 함수를 선언하면 해당 역할을 담당하는 함수를 재사용 할 수 있으며, 코드를 간결하게 작성할 수 있습니다. 다음 예제는 함수를 사용한 기본 예제입니다. package main import f "fmt" func hello() { f.println("Hello") } func main() { hello() world() } func world() { f.println("world!") } 일부 언어의 경우 함수를 선언하기 위해서는 정의한 함수를..
배열 사용하기 Go 언어에도 다른 프로그래밍 언어와 동일하게 배열이 존재합니다. 배열은 숫자, 문자, 문자열 등을 나열해 놓은 상태로서 다양한 값이 들어갈 수 있습니다. 또한, 배열은 비슷한 데이터들을 한번에 가지고 있을 때 사용되거나, 반복적으로 사용되어야 하는 값들의 집합을 만들 때 사용합니다. Go 언어에서 배열은 길이가 고정되어 있고, 다른 언어와 마찬가지로 배열의 인덱스는 0부터 시작합니다. 다음 예제를 통해 배열을 선언하도록 하겠습니다. var empty [5]int // 크기가 5인 배열을 생성 empty[4] = 5 // empty 배열 4번째 부분에 값을 5로 초기화 한다. f.Println(empty) var a [3]int = [3]int{1, 2, 3} // 정수형의 크기가 3인 배..
조건문 / 분기문 / 반복문 if 사용하기 if 문은 해당 조건이 만족하면 {}안에 코드를 수행합니다. 다만 다른 언어와 다르게 조건식을 ()를 작성하지 않아도 되지만 반드시 Boolean 형식으로 작성해야 하며, 해당 문법을 같은 라인에 두어야 합니다. 이를 어기게 될 경우 에러가 발생합니다. 다음은 기본적인 if 문법을 사용한 예제입니다. package main import f "fmt" func main() { num := 10 if num = 1 && num = 6 && num
Go 언어란? 2019년 구글이 개발한 프로그래밍 언어로써, GC (garbage collection)와 병행성 (concurrent)을 잘 지원하는 컴파일 언어입니다. 로버트 그리즈머, 롭 파이크, 케네스 톰슨이 C++의 복잡성이 싫어서 개발되었습니다. 현재도 어떠한 패키지에 무엇을 포함할지는 이 세 사람이 만장일치로 합의해야 이루어진다고 하며, Golang 으로 불리기도 합니다. Go 언어 사용자들을 고퍼(Gopher)라고 부르며, 고퍼들을 위한 연례행사인 고퍼콘(Gophercon)이 열리고 있습니다. Go 언어 특징 Go 언어의 특징은 다음과 같습니다. 컴파일 언어이지만 컴파일러가 소스 코드를 해석하는 pass 수를 줄여서 인터프리터 언어처럼 빠르게 동작합니다. 언어의 문법이 간결하여 접근하기 쉽고..
GCP를 활용한 K8s Application GCP는 Google Cloud Flatform으로 아주 간단하면서 다양한 애플리케이션을 실습해서 사용할 수 있다. 최초 가입 시 300달러 안에서 12개월 동안 무료로 제공되며, 일부 조건이 충족한다면 평생 무료로 사용할 수 있는 플랜도 있기 때문에 기본적인 테스트 및 개발 용도로는 충분히 사용할 만한 가치가 있다. NOTICE 본 문서는 GCP에 공식 Documents에 나오는 내용을 가지고 실습하는 내용이므로, 추가적으로 궁금한 내용이 있다면 링크를 클릭하여 내용을 추가적으로 확인할 것을 권장한다. First K8s Application Deploy Google Cloud Flatform에 접속하여 회원가입을 진행하고 프로젝트를 생성하면. 다음과 같은..