React-ghpage 연동해서 블로그 만들기
Setup
$ create-react-app myblog // react-cli로 간단하게 만든다.
$ cd myblog yarn or npm i
$ npm i --save gh-page
package.json
homepage: '<https://amiru11.myblog.github.io>' // URL 명시
script: {
deploy: 'gh-page -d build' // 디플로이 스크립트를 추가!
}
블로그 만들기는 쉽다 (관리를 못해서 그렇지..)
gitHub + React AweSomeeeee!
<CODE 하드웨어와 소프트웨어에 숨어 있는 언어> (찰스 펫졸드, )
10~49page
Your first library
> rune
에 대해 공부하던 중 Strings
에 대한 블로그How to Write Go Code - The Go Programming Language
Strings, bytes, runes and characters in Go - The Go Blog
Variadic Functions
0개 이상의 동일한 T으로 이루어진 파라미터를 넘기는 경우 아래와 같이 표기할 수 있다.
// func name(args ...T) {}
func add(args ...int) int {
total := 0
for _, v := range args {
total += v
}
return total
}
array vs slice
array
는 길이가 고정되어 유동적으로 사용할 수 없으나 slice
는 array
위에 구현되어 유동적으로 길이를 조정할 수 있는 타입
선언
// Array
// 1. 길이를 명시
a := [2]int{1, 2}
// 2. 길이를 자동으로 인식
b := [...]string{"Pen", "Teller"}
// Slice
// 1. 길이를 명시하지 않음
c := []int{1, 2, 3}
// 2. make 활용
// func make([]T, len, cap) []T
d := make([]int, 4) // d == []int{0, 0, 0, 0}
Slice 길이 조절하기
// 기본
t := make([]byte, len(s), (cap(s)+1)*2) // +1 in case cap(s) == 0
for i := range s {
t[i] = s[i]
}
s = t
// built-in 함수: copy
// func copy(dst, src []T) int
t := make([]byte, len(s), (cap(s)+1)*2)
copy(t, s)
Slice에 Append 하기
// pseudo code
func append(slice []T, args ...T) []T {
m := len(slice)
n := m + len(args)
if n > cap(slice) {
newSlice := make([]T, n)
copy(newSlice, slice)
slice = newSlice
}
slice = slice(:n)
copy(slice[m:n], data)
return slice
}
// built-in 함수
// append([]T, args ...T) []T
a := make([]int, 1)
// a == []int{0}
a = append(a, 1, 2, 3)
// a == []int{0, 1, 2, 3}
// Slice에 Slice를 Append 하려는 경우
b := make([]int, 2)
append(a, b...) // append(a, b[0], b[1])