일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
31 |
- 정보처리기사 실기 기출문제
- 티스토리챌린지
- 정보처리기사실기 기출문제
- APM
- CKA
- go
- AWS EKS
- 오블완
- CKA 기출문제
- PETERICA
- Elasticsearch
- Java
- minikube
- golang
- SRE
- tucker의 go 언어 프로그래밍
- kotlin coroutine
- AI
- Kubernetes
- Linux
- aws
- kotlin
- kotlin querydsl
- 기록으로 실력을 쌓자
- MySQL
- CloudWatch
- Spring
- 공부
- Pinpoint
- 코틀린 코루틴의 정석
- Today
- Total
목록Programming (214)
피터의 개발이야기
ㅁ 들어가며ㅇ 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)}##########..
ㅁ 들어가며Spring Boot에서 application.yaml 파일을 사용하여 base-info를 지정하고 프로파일에 따라 다르게 설정하는 과정에서 헷갈리는 부분이 있었다. Spring Boot 설정 시 프로파일에 따라 설정 로드 우선 순위가 있었다. 단일 파일에서 active profile에 따른 선택적 설정방법과 application.yaml과 application-{profile}.yaml이 모두 존재할 경우 설정의 우선 순위에 대해서 정리하였다. 예를 들어 base-info를 기준으로 설명하였다. 핵심프로파일별 설정 파일은 기본 설정 파일보다 항상 우선적으로 적용되며, 기본 정보에 오버라이딩하여 최종적으로 active profile에 따른 설정을 우선 시 한다. ㅁ active profil..
ㅁ 들어가며ㅇ Tucker의 GO 언어 프로그래밍 책을 보고 정리한 글입니다.ㅇ 변수가 갖는 속성(이름, 값, 타입, 메모리 주소)과 사용법을 정리한다.ㅁ 변수란?변수는 프로그램에서 값을 저장하는 메모리 공간이다.var name int = 10ㅇ var : 변수 선언부ㅇ name : 변수명, 메모리 시작 주소ㅇ int : 타입, 메모리에 int 타입만큼의 공간을 할당.ㅇ 10 : 초기 데이터ㅁ 변수의 속성ㅇ 이름: 프로그래밍에서 이름을 통해 직관적으로 메모리 공간에 접근 할 수 있다.ㅇ 값: 변수가 저장된 값ㅇ 주소: 변수가 저장된 메모리의 시작주소이다.ㅇ 타입: 변수의 형태를 정의함. 정수,실수, 문자열 등의 다양한 타입들이 있었다.ㅁ 올바른 변수명ㅇ 문자나 _로 시작하고 다른 특수문자를 포함할 수 없..
ㅁ 들어가며ㅇ Tucker의 GO 언어 프로그래밍 책을 보고 정리한 글이다.ㅇ 1장, Go언어의역사와특징을살펴보고, HelloGoWorld코드를 작성한다. ㅁ GO 역사ㅇ 2009년11월10일 세상에 공개ㅇ 홈페이지주소ㅇ 온라인 Go 언어컴파일러 ㅇ GO 언어의 풀 리퀘스트가 지속적으로 증가하고 있다.ㅇ JAVA 개발자인 나도 현재 GO를 사용 중이며, 대세에 맞추어 가는 중이기도 하다. ㅁ GO 언어의 특징개념설명클래스클래스는 없지만, 메서드를 가지는 구조체를 지원상속상속을 지원하지 않음메서드구조체가 메서드를 가질 수 있음인터페이스상속이 없지만 인터페이스는 있음익명 함수함수 리터럴이라는 이름으로 제공GCGC 제공함포인트메모리 주소를 가리키는 포인트 제공제네릭 프로그래밍제네릭 프로그래밍은 1.8부터 지원..
ㅁ 들어가며ㅇ Go 언어를 사용하다 보면 함수와 메서드, 그리고 포인터 메서드와 값 타입 메서드의 차이점을 이해하는 것이 중요하다. 메서드는 포인터 리시버를 가질 때 값이나 포인터 모두 받을 수 있지만, 함수는 값 인자를 받을 때 해당 타입의 값만 받을 수 있다. 이 글에서는 이들의 차이점과 사용 방법에 대해 정리하였다. Tucker의 Go언어 프로그래밍 책, 17장 1~3의 내용을 참조하였다. ㅁ 함수 vs 메서드함수 (Function)독립적으로 존재하며 특정 타입에 종속되지 않는다.예: print(), sum() 등메서드 (Method)특정 타입에 종속되어 있다.객체의 동작(behavior)을 정의한다.문법: func (리시버) 메서드명(매개변수) 반환값 { ... }type Person struct..
ㅁ 들어가며ㅇ fsnotify는 Go 언어에서 파일 및 디렉토리의 변경 사항을 실시간으로 감지할 수 있도록 도와주는 라이브러리이다. fsnotify의 주요 기능과 사용법을 정리하였다. ㅁ fsnotify란? fsnotify는 Windows, Linux, macOS 등 다양한 운영체제에서 동작하는 크로스 플랫폼 파일 시스템 감시 라이브러리이다. 이 라이브러리를 사용하면 파일 생성, 삭제, 수정, 권한 변경 등의 이벤트를 실시간으로 감지할 수 있다. ㅁ 감지 이벤트이벤트설명fsnotify.Create파일 또는 디렉토리 생성fsnotify.Remove파일 또는 디렉토리 삭제fsnotify.Write파일 내용 수정fsnotify.Rename파일 또는 디렉토리 이름 변경snotify.Chmod파일 또는 디렉토리 ..
ㅁ 들어가며ㅇ 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..
ㅁ 들어가며 이전에 [GO] Go 언어에서의 "fatal error: concurrent map read and map write" 해결하기에서 동시성으로 인한 오류를 해결하는 과정에서 이를 예방할 수 있는 Race Detector를 알게 되었다. Go 언어는 동시성 프로그래밍을 위한 강력한 기능을 제공하지만, 이와 함께 데이터 레이스(data race)와 같은 동시성 버그의 위험도 존재한다. 이러한 문제를 해결하기 위해 Go는 내장 Race Detector를 제공한다. ㅁ Race Detector란? Go의 Race Detector는 프로그램 실행 중 발생할 수 있는 데이터 레이스 조건을 감지하는 도구이다. Go 프로그램을 실행시키면 deadlock이나 data race condition이 발..