https://serverfault.com/questions/1010342/nginx-using-resolver-in-a-stream
stream {
resolver 127.0.0.1 valid=1s;
# a hack to declare $server_us variable
map "" $server_us {
default server.foo.com:22222;
https://serverfault.com/questions/1010342/nginx-using-resolver-in-a-stream
stream {
resolver 127.0.0.1 valid=1s;
# a hack to declare $server_us variable
map "" $server_us {
default server.foo.com:22222;
https://dave.cheney.net/2019/10/06/use-internal-packages-to-reduce-your-public-api-surface
For example, a package /a/b/c/internal/d/e/f can only be imported by code in the directory tree rooted at /a/b/c. It cannot be imported by code in /a/b/g or in any other repository.
bytes<->string without allocation. However, bytes can't be changed.
// StringToBytes converts string to byte slice without a memory allocation.
// The bytes must not be modified; doing so can cause
// the program to crash or behave unpredictably.
func StringToBytes(s string) []byte {
return unsafe.Slice(unsafe.StringData(s), len(s))
}
Kubebuilder does not exist as an example to copy-paste, but instead provides powerful libraries and tools to simplify building and publishing Kubernetes APIs from scratch. It provides a plugin architecture allowing users to take advantage of optional helpers and features.
Kubebuilder is developed on top of the controller-runtime and controller-tools libraries.
Kubebuilder is extensible and can be used as a library in other projects. Operator-SDK is a good example of a project that uses Kubebuilder as a library.
Sample controller: https://github.com/kubernetes/sample-controller
dynamodb getitem x query x scan
Rendezvous hashing is better than consistent hashing