golang37 golang network bytes함수를 이용한 marshal/unmarshal 이번 글에서는 golang의 기본 모듈인 bytes를 활용하여 어떻게 marshal/unmarshal을 하는지 알아보겠습니다. hello world라는 문자열을 marshaling할건데 hello와 world 사이에 byte 숫자 0을 집어넣을 것입니다. 그리고 파싱할 때는 0을 구분자로 사용하여 구분자까지만 데이터를 받아오는 예제를 만들어보겠습니다. (즉, 파싱을 완료하면 world는 볼 수 없겠지요.) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 package main import ( "bytes" "fmt" ) func main() { b := new(bytes.Buffer) b.WriteString("hello") b.WriteByte(0) b.WriteString("world") .. 2021. 4. 18. 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. 이전 1 2 3 4 5 6 7 8 ··· 10 다음