목록- (91)
Study Memory Work
1. Container 에서 ssh를 설치하고 실행시킨다. # apt 업데이트 $ apt-get update # net-tools, vi, openssh-server 설치 $ apt-get install net-tools vi openssh-server # ssh config 에서 root 접속 권한 변경 $ vi /etc/ssh/sshd_config ################### PermitRootLogin yes# root권한 로그인을 허용한다 ################### # (Option)root password 변경 $ passwd root # ssh 서비스 시작 $ service ssh start # ifconfig를 이용하여 컨테이너 ip 가져오기 $ ifconfig 2. 로컬에서..
# 컨테이너 목록 docker ps -a # 컨테이너 접속 docker exec -it {Container-name}
func main() { ch1 := make(chan int) ch2 := make(chan string) go func() { for { // 채널이 닫힐 때 까지 반복 ch1 2023-03-06 13:53:19.399308 +0900 KST m=+0.000562209 Work1 : Start ---> 2023-03-06 13:53:19.399313 +0900 KST m=+0.000567376 Work1 : End ---> 2023-03-06 13:53:20.400448 +0900 KST m=+1.001706418 Work2 : End ---> 2023-03-06 13:53:20.400424 +0900 KST m=+1.001682626 Main : End ---> 2023-03-06 13:53:20...
멀티코어 사용하기 runtime.GOMAXPROCS(runtime.NumCPU()) // 현 시스템의 CPU 코어 갯수를 반환하여 runtime 설정 fmt.Println("Current System CPU : ", runtime.GOMAXPROCS(0)) // runtime.GOMAXPROCS(0) --> 0을 파라미터로 넣으면 위에서 세팅한 값을 출력해줌 예제) package main import ( "fmt" "math/rand" "runtime" "time" ) func exe(name int) { r := rand.Intn(100) fmt.Println(name, " start : ", time.Now()) for i := 0; i >..
인터페이스 객체의 동작을 표현, 골격 단순히 동작에 대한 방법만 표기 추상화 제공 인터페이스의 메소드를 구현한 타입은 이터페이스로 사용 가능 Go 언어를 유연하게 사용 가능 덕타이핑 : Go언어의 독창적인 특성 인터페이스를 왜 사용하는지?? -> 자바의(전략패턴, 템플릿메소드, 팩토리메소드패턴, 어댑터패턴 .....) 디자인 패턴 측면에서볼 때, 메소드를 호출하는 클라이언트 입장에서 사용하는 메소드의 구체적인 클래스를 몰라도 인터페이스에 정의된 메소드를 사용하는 객체 보장. 클래스의 수정이 일어나도 메소드를 따로 수정할 필요 없음. ==> 클래스 간의 결합도를 낮춰줌 -> 유지보수 용이, 추가개발 용이, 독립적인 프로그래밍 가능 인터페이스 선언 기본 type 인터페이스명 interface { 메소드1()..
구조체 임베디드 패턴 Go에는 상속 개념이 없는 대신 상속과 같은 기능을 하도록 하는 활용 패턴 A 구조체와 B구조체가 있고, B구조체가 A구조체를 필드로 가진 경우 --> A구조체 관련 리시버메소드까지 B구조체에서 구현이 가능하다. package main import "fmt" // 사원 type Employee struct { name string salary float64 bonus float64 } // 임원 -------------------> 사원 구조체를 필드로 가지고 있음 type Excutives struct { Employee // ---> "is a 관계" specialBonus float64 } // 급여 func (e Employee) Calaulate() float64 { ret..