일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- kotlin coroutine
- CKA
- docker
- aws
- minikube
- Spring
- AWS EKS
- AI
- Linux
- Pinpoint
- 정보처리기사실기 기출문제
- go
- 오블완
- CKA 기출문제
- golang
- 코틀린 코루틴의 정석
- kotlin querydsl
- PETERICA
- APM
- 공부
- Java
- kotlin
- Kubernetes
- tucker의 go 언어 프로그래밍
- 정보처리기사 실기 기출문제
- Elasticsearch
- mysql 튜닝
- 티스토리챌린지
- CloudWatch
- 기록으로 실력을 쌓자
- Today
- Total
목록go (9)
피터의 개발이야기
ㅁ 들어가며ㅇ Tucker의 GO 언어 프로그래밍 책을 보면서 공부 중이다. ㅇ 현업에서 당장 필요한 부분부터 정리 중이라 목차가 필요하였다.ㅇ 필요한 부분을 찾아서 코딩할 수 있지만, 차근차근 공부하고 노트하면 오래 기억할 수 있다. ㅁ 1 단계 탄탄하게 기초 문법 다지기01 Hello Go World - [GO] Tucker의 GO 언어 프로그래밍 - 1장 역사와 특징02 변수 - [GO] Tucker의 GO 언어 프로그래밍 - 2장 변수03 fmt 패키지를 이용한 텍스트 입출력 - [GO] Tucker의 GO 언어 프로그래밍 - 3장 fmt04 연산자 - [GO] Tucker의 GO 언어 프로그래밍 - 4장 연산자05 함수06 상수07 if문08 switch문09 for문10 배열11 구조체12 포..
ㅁ 들어가며ㅇ Tucker의 GO 언어 프로그래밍 책을 보고 정리한 글입니다.ㅇ [GO] Tucker의 GO 언어 프로그래밍 - 목차ㅇ Go 언어의 인터페이스는 강력하면서도 유연한 추상화 도구이다. ㅁ 인터페이스type Speaker interface { Speak() string}ㅇ 인터페이스는 메서드의 집합을 정의하는 타입이다.ㅇ 이 인터페이스는 Speak() 메서드를 가진 모든 타입이 구현할 수 있다. type Person struct { Name string}func (p Person) Speak() string { return "Hello, my name is " + p.Name}ㅇ 예를 들어 Person 타입은 Speaker 인터페이스를 만족한다. ㅁ 인터페이스 왜 쓰나?ㅇ ..
ㅁ 들어가며ㅇ [GO] Tucker의 GO 언어 프로그래밍 - 목차ㅇ [GO] Tucker의 GO 언어 프로그래밍 - 24장 제네릭 프로그래밍을 작성하면서 제니릭과 인터페이스의 차이점에 대해서 공부하였다.ㅇ 인터페이스와 제네릭은 프로그래밍에서 추상화와 재사용성을 높이는 데 사용되는 개념이지만, 그 목적과 사용 방식에 차이가 있다. ㅁ 인터페이스ㅇ 인터페이스는 객체의 행동(메서드 집합)을 정의하고, 이를 구현하는 타입에 따라 다형성을 제공한다.package mainimport "fmt"// Shape 인터페이스 정의type Shape interface { Area() float64}// Circle 타입type Circle struct { Radius float64}func (c Circle) Area()..
ㅁ 들어가며ㅇ Tucker의 GO 언어 프로그래밍 책을 보고 정리한 글입니다.ㅇ [GO] Tucker의 GO 언어 프로그래밍 - 목차 ㅁ 제네릭 프로그래밍 소개 제네릭 프로그래밍은 Go 1.18 버전에서 도입된 기능으로, 타입에 구애받지 않고 재사용 가능한 코드를 작성할 수 있게 해준다. 이를 통해 개발자는 다양한 데이터 타입에 대해 동작하는 함수와 데이터 구조를 만들 수 있으며, 코드 중복을 줄이고 타입 안정성을 높일 수 있다. ㅁ 제네릭 함수ㅇ 제네릭 함수는 타입 매개변수를 사용하여 여러 타입에 대해 동작할 수 있는 함수이다.func Max[T comparable](a, b T) T { if a > b { return a } return b}ㅇ 이 함수는 comparab..
ㅁ 들어가며ㅇ Tucker의 GO 언어 프로그래밍 책을 보고 정리한 글입니다.ㅇ [GO] Tucker의 GO 언어 프로그래밍 - 목차고루틴과 Go 언어의 동시성 프로그래밍에 대해 핵심 개념을 정리합니다.ㅁ 스레드란?프로세스 내에서 실행되는 실행 흐름의 최소 단위로, CPU 자원을 할당받아 작업을 수행합니다. OS 스레드는 컨텍스트 스위칭 비용이 높고 메모리를 많이 사용하지만, Go의 고루틴은 경량 스레드로 2KB의 작은 스택에서 시작해 동적으로 확장되며, Go 런타임이 직접 관리한다.📌 고루틴 vs OS 스레드OS 스레드: 컨텍스트 스위칭 비용高, 메모리 사용량多고루틴: 빠른 생성/소멸, 수천 개 동시 실행 가능. ㅁ 고루틴 사용go 키워드로 함수를 비동기 실행한다. 메인 함수도 고루틴으로 실행되며, ..
ㅁ 들어가며ㅇ Tucker의 GO 언어 프로그래밍 책을 보고 정리한 글입니다.ㅇ 4장 연산자 - 연산자종류 ㅁ 산술 연산자산술 연산자는 수학적 계산을 수행a, b := 10, 20fmt.Println(a + b) // 30 (덧셈)fmt.Println(a - b) // -10 (뺄셈)fmt.Println(a * b) // 200 (곱셈)fmt.Println(b / a) // 2 (나눗셈)fmt.Println(b % a) // 0 (나머지)a++ // 증가b-- // 감소ㅇ 모든 연산자의 각 항의 타입은 항상 같아야한다.ㅇ 정수 타입과 실수 타입을 서로 더하거나 뺄 수 없다. ㅁ 비트 연산자비트 연산자는 정수의 비트를 직접 조작하는 데 사용a := 6 // 0110b := 5 // 0101#..
ㅁ 들어가며ㅇ Tucker의 GO 언어 프로그래밍 책을 보고 정리한 글입니다.ㅇ fmt를 이용하여 터미널 화면 출력하는 방법을 정리 ㅁ fmt 패키지 사용법golang의 fmt 패키지 사용법에 대해 서식문자, 최소 출력 너비 지정, 실수 소수점 이하 자릿수, 특수 문자로 나누어 정리 서식문자package mainimport "fmt"func main() { /* %d: 정수 %f: 실수 %s: 문자열 %t: 불리언 %v: 기본 형식 %T: 타입 */ name, age, pi := "Peterica", 42, 3.14159 fmt.Printf("이름: %s, 나이: %d, PI: %f\n", name, age, pi) fmt.Printf("age의 타입: %T\n", age)}##########..
ㅁ 들어가며ㅇ Go 언어의 sync.Map은 동시성 안전한 맵 구현을 제공한다. 일반 map과 달리 여러 고루틴에서 동시에 안전하게 사용할 수 있다. sync.Map의 초기화 및 기본적 사용법을 정리하였다. ㅁ sync.Map 초기화sync.Map은 별도의 초기화가 필요 없었다.var m sync.Map ㅁ주요 메서드Store(key, value interface{})m.Store("key", "value")ㅇ 맵에 키-값 쌍을 저장 Load(key interface{}) (value interface{}, ok bool)value, ok := m.Load("key")if ok { fmt.Println("Value:", value)}ㅇ 키에 해당하는 값을 조회 Delete(key interfa..
ㅁ 들어가며 이 글에서는 Golang을 사용하여 Linux 명령어를 실행하고, 실행된 프로세스를 sync.Map으로 관리한 후 종료하는 방법에 대해 정리하였다. ㅁ 필요한 패키지 importpackage mainimport ( "fmt" "os/exec" "sync" "syscall")ㅇ 먼저 필요한 패키지들을 import 한다. ㅁ 명령어 실행 및 관리 함수 작성var processMap sync.Mapfunc runCommand(name string, args ...string) (*exec.Cmd, error) { cmd := exec.Command(name, args...) err := cmd.Start() if err != nil { retur..