본문 바로가기

분류 전체보기110

golang network udp connection 기초 이번 글에서는 golang 내장 모듈을 이용하여 udp connection을 만들어서 client가 "ping"이라고 보내면 server는 바로 "ping"을 return 해주는 예제를 만들어보겠습니다. 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 package main import ( "fmt" "log" "net" "time" ) func MakeUDPServer() net.Addr { server, err := net.ListenPacket("udp", "127.0.0.1:") if err.. 2021. 4. 17.
백준 사회망 서비스(Python/Go) 문제 링크: www.acmicpc.net/problem/2533 2533번: 사회망 서비스(SNS) 페이스북, 트위터, 카카오톡과 같은 사회망 서비스(SNS)가 널리 사용됨에 따라, 사회망을 통하여 사람들이 어떻게 새로운 아이디어를 받아들이게 되는가를 이해하는 문제가 중요해졌다. 사회망 www.acmicpc.net dp+dfs로 풀이할 수 있는 문제입니다. 우선 본인이 얼리어답터가 아닐 때는 친구들은 얼리어답터일 수도 있고 아닐 수도 있습니다. 그러나 본인이 얼리어답터가 아니라면 친구들은 모두 얼리어답터여야 합니다. 얼리어답터인 경우와 아닌 경우를 따져야하므로 dp는 dp[i][0], dp[i][1] 이렇게 2차원으로 만듭니다. dp의 값은 최소개수를 나타냅니다. 예를 들어 dp[1][0] 이라면 1번이.. 2021. 4. 15.
Golang network#2 tcp buffer 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 package main import ( "crypto/rand" "io" "net" "testing" ) func TestReadIntoBuffer(t *testing.T) { payload := make([]byte, 1 2021. 4. 12.
golang cancel과 waitGroup 기초 이번 글에서는 여러개의 고루틴을 제어하는 기초방법들 중 하나를 소개하겠습니다. 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 package main import ( "context" "fmt" "sync" ) func PrintNum(ctx context.Context, num int, wg *sync.WaitGroup) { defer wg.Done() // 고루틴이 끝났다고 알림 if ctx.Err() == context.Canceled { fmt.Println(num, " canceled") return } fmt.Println(num, "executed") } func main() { wg := &sync... 2021. 4. 11.