HTTP Server 들의 성능은 반드시 다음을 포함 해야 유용하다.
Requests [total, rate] 3600000, 60000.00
Latencies [mean, 95, 99, max] 223.340085ms, 326.913687ms, 416.537743ms, 7.788103259s
Bytes In [total, mean] 3714690, 3095.57
Bytes Out [total, mean] 0, 0.00
Success [ratio] 100.0%
Status Codes [code:count] 200:3600000
Error Set:
kube config 생성: https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/#create-a-configmap
현재 내가 쓰고 있는 git branch/versioning 전략은 다음과 같다.
Major.Minor.Patch
https://www.youtube.com/watch?v=m6p4BpgTBuw&list=PLOU2XLYxmsIIwNIJygAKuo9-Nx6BOj4Jb
Service worker 에서 Websocket접속도 문제 없고 desktop 에서는 Background에서도 connection 이 끊어 지지 않고 유지 된다.
https://www.youtube.com/watch?v=E-ZbrtoSuzw
Web component 용 lib에 PWA 용 lib 을 붙여봐야 할듯 하다.
https://www.youtube.com/watch?v=GSiUzuB-PoI
service worker 는 ES6 module 로 다룰수 없다. 다만 chrome 에서는 그렇게 구현할 생각이 있는 듯 하다. https://developers.google.com/web/fundamentals/primers/modules
k8s.io/client-go 를 쓰다보면 versioning 때문에 고생할때가 있다. go mod 를 쓴다면 다음과 같이 버전을 명시해서 해결할수 있다.
go mod edit -replace k8s.io/api=github.com/kubernetes/api@kubernetes-1.14.2
go mod edit -replace k8s.io/client-go=github.com/kubernetes/client-go@kubernetes-1.14.2
go mod edit -replace k8s.io/apimachinery=github.com/kubernetes/apimachinery@kubernetes-1.14.2
js Iterator 는 단순히 { next() }
Object 을 return 하는 것과 같다. 다만 어떤 Object 가 iteratorble 하다는 것은 Symbol.iterator()
을 구현한것이다.
Symbol.iterator
함수는 iterator를 리턴하는 함수를 리턴하는 것이다.
yield 는 { value: ""}
를 return 하는 것과 같다.
* function() {
for (var i = 0; i < 10; i++){
yield i;
}
}
는 다음과 같다.
function() {
var i = 0;
return {
next: function() {
if (i > 10) {
return { done: true};
}
return {value: i++};
}
}
}
Web의 IndexedDB 는 그 API 가 굉장히 난해한 편에 속한다. 모든 API 가 Async 로 동작하기 떄문인데, 문제는 promise가 아니라 Event Listener 로 일일히 Event 처리 해야 된다는 것이다. 이는 코드를 상당히 복잡하게 만든다. 이를 ES6 문법으로 개선할수 있다. 대부분 구분은 Promise 와 async/await 구문으로 변경할수 있으며 cursor 를 iterator 로 만드는 것도 가능하다. 물론 이미 만들어 진 idb.js 같은것을 쓸수 있지만 직접 한번 해보는 것도 훌륭한 경험이 될수 있다.
https://github.com/bluemir/web-components
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await…of
Hotfix는 각 버전 별 Branch에서 새 Branch를 딴 후 각 버전 별 Branch로 PR 합니다.
실제로 해보니 각 버전에서 딴후 master에 backport하기가 상당히 까다롭다. 두 branch 가 merge 되는 것처럼 적용되서 상당히 꺼려진다.
https://docs.traefik.io/configuration/acme/#wildcard-domains