일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- web ide
- code-server
- nested virtualization
- containerd
- 워커노드
- go
- 쿠버네티스
- curl
- ubuntu
- 도커
- 컨테이너
- calico
- ALB
- kubernets
- 묘공단
- vscode
- passwd
- 504
- Kind
- Pane
- windows
- 중첩가상화
- 코어 쿠버네티스
- 네트워크 네임스페이스
- network namespace
- ansible
- Docker
- 패스워드 재설정
- WSL
- kubernetes
- Today
- Total
목록Book Study (7)
a story
이 글은 골든래빗 ‘Tucker의 Go 언어 프로그래밍의 31장 써머리입니다. 이 책의 마지막 스토디 노트입니다. Todo 리스트 웹 서비스 만들기 Todo 리스트 웹 서비스는 프론트 엔드 코드와 백엔드 코드로 나눠진다. 프론트 엔드는 웹서비스의 화면을 담당하고, 백엔드는 데이터와 로직을 담당한다. 구현 순서 먼저 RESTful API에 맞춰 서비스를 정의한다. Todo 구조체를 만든다. RESTful API에 맞춰 각 핸들러를 만든다. 화면을 구성하는 HTML 문서를 만든다. 프론트엔드 동작을 나타내는 자바스크립트 코드를 만든다. 웹 브라우저로 동작을 확인한다. 시작 하기 전에 웹서버를 만들기 앞서 gorilla/mux 외 두 가지 패키지를 더 설치한다. urfave/negroni 패키지: 자주 사용되..
이 글은 골든래빗 ‘Tucker의 Go 언어 프로그래밍의 27~30장 써머리입니다. 27장 객체지향 설계 원칙 SOLID 객체지향 설계의 5가지 원칙인 SOLID를 살펴보고 좋은 설계가 무엇인지 살펴본다. 좋은 설계: 상호 결합도(coupling)가 낮고 응집도(cohesion)가 높은 설계를 말한다. 반대로 상호 결합도가 높다는 것은 모듈이 서로 강하게 결합되어 있어서 떼어 낼 수 없다는 의미이다. 한편 응집도가 낮다는 것은 하나의 모듈이 스스로 자립하지 못한다는 의미로, 다른 모듈에 의존적인 관계를 가지는 경우이다. 단일 책임의 원칙(single responsibility principle, SRP) 모든 객체는 하나의 책임만 져야 한다. → 코드의 재사용성을 높여준다. 아래는 나쁜 사례로, 회계 보..
이 글은 '코어 쿠버네티스'의 5장 내용을 실습한 내용입니다. kind에서 Calico CNI 를 테스트 해본다. kind 클러스터에 아래 config를 제공해 기본 CNI를 비활성화 하고 클러스터를 생성한다. # cat kind-Calico-conf.yaml kind: Cluster apiVersion: kind.x-k8s.io/v1alpha4 networking: disableDefaultCNI: true podSubnet: 192.168.0.0/16 nodes: - role: control-plane - role: worker kind 설정에 대해서는 아래 문서를 참고할 수 있다. https://kind.sigs.k8s.io/docs/user/configuration/ 책이 출간된 이후 apiVer..
이 글은 골든래빗 ‘Tucker의 Go 언어 프로그래밍의 23~26장 써머리입니다. Go에서 에러를 처리하는 방법과 동시성 프로그래밍에 대한 주제를 다루고 있습니다. 23. 에러 핸들링 에러 핸들링(error handling)은 프로그램의 에러를 처리하는 방법을 말한다. 특정 에러가 발생했을 때 프로그램이 강제 종료 되는 것보다는 적절한 메시지를 출력하고, 에러를 다른 방식으로 처리해서 사용자 경험을 향상 시킬 수 있다. package main import ( "os" ) const filename string = "data.txt" func main() { file, _ := os.Open(filename) defer file.Close() } 이렇게 하면 Program exited.로 종료한다. pa..
이 글은 골든래빗 ‘Tucker의 Go 언어 프로그래밍의 18~22장 써머리입니다. 여기서 부터 주제가 조금씩 어려워지고 생각이 필요한 부분이 많습니다. 18. 슬라이스 일반적인 배열은 고정 길이를 가진다. 아래의 배열은 10개까지 값을 저장할 수 있다. var array [10]int 슬라이스는 배열과 비슷하지만 []안에 개수를 지정하지 않고 선언하는 동적 배열이다. 다만 슬라이스를 초기화 하지 않으면 길이가 0인 슬라이스가 만들어 지는 것이기 때문에 임의로 인덱스를 접근하면 패닉이 발생한다. package main func main() { var slice []int slice[1] = 10 } // 에러 panic: runtime error: index out of range [1] with len..
이 글은 골든래빗 ‘Tucker의 Go 언어 프로그래밍의 12~17장 써머리입니다. 12. 배열 배열(array)은 같은 타입의 데이터들로 이루어진 타입이다. 배열의 각 값은 요소(element)라고 하고, 이를 가리키는 위치값을 인덱스(index)라고 한다. // var 변수명 [요소개수]타입 var t [5]float64 days := [3]string{"monday","tuesday","wednesday"} x := [...]int{10,20,30} // 요소 개수 생략 var b = [2][5]int{ // 다중 배열 {1,2,3,4,5}, {6,7,8,9,10}, // 초기화 시 닫는 중괄호 } 가 마지막 요소와 같은 줄에 있지 않은 경우 마지막 항목 뒤에 쉼표, 를 찍어줘야 함! } // 추후..