---
layout: post
title: Weekly
category: Weekly
author: 东岳

---

https://github.com/google/graphd The Metaweb graph repository server, backend for Freebase https://developers.google.com/freebase/ 

***

https://github.com/golang/tools/tree/master/internal/lsp go 官方已经在做 language server 了 /w\ https://mattn.kaoriya.net/software/lang/go/20181217000056.htm

***

https://github.com/bradfitz/exp-httpclient Rethinking Go's HTTP client 有一些我在 go.ice 里的 httpclient 里可以解决 增加 type 对 encode/decode 更好的支持 cc @gaocegege (之前在公司已经实现了一个 ....

***

k8s 是的，不过我觉得更值得参考的是 https://caicloud.github.io/nirvana/zh-hans/guides/client.html

k8s 的实现过于复杂。不知道目前针对 openapi 的研究如何了，能通过它间接支持 client gen 么，可以的话估计还能做到多语言支持

***

@gaocegege 好像主要逻辑是在 https://github.com/caicloud/nirvana/tree/master/utils 下, 扫代码然后生成 client, 还有一种更简单的方法, 直接要求生成器调用 spec 的代码然后直接用 reflect 连 `go/ast` 都不需要了 ... 我先写点 prototype 试试, openapi 好像什么都支持 https://github.com/OpenAPITools/openapi-generator 但不知道自定义程度如何 ... 

另外我看到 nirvana 也支持生成 swagger 所以也可以生成 swagger 然后让 openapi/swagger 生成其他语言的 .... 我很讨厌把 spec 写在 yaml 里 ... 很容易就 out of sync 了 ... 

***

https://github.com/go-internals-cn/go-internals

go-internals 本书是关于 Go 程序设计语言内部实现原理的阐释，当前正在进行中。

***

https://blog.golang.org/modules2019

Interested in Go modules? Learn what the Go team has planned for modules in 2019

***

https://github.com/kubernetes-sigs/kubebuilder and https://github.com/operator-framework difference? And controller runtime? @gaocegege 

***

https://github.com/gardener/gardener from SAP used to create kubernetes cluter https://kubernetes.io/blog/2018/05/17/gardener/

***

https://github.com/kyma-project/kyma also from SAP, wrapper on top of knative which is wrapper on top of istio

***

https://github.com/strapdata/elassandra Elassandra = Elasticsearch + Apache Cassandra ... saw it when looking at a k8s cassandra operator https://github.com/instaclustr/cassandra-operator

***

