Gin
Echo
Buffano
Revel
Iris
Beego
圖解SSL/TLS協(xié)議
http://www.ruanyifeng.com/blog/2014/09/illustration-ssl.html
也許昆箕,這樣理解HTTPS更容易(今天看到的, 對(duì)https總結(jié)最好的一篇)
Kubernetes學(xué)習(xí)之路目錄
【K8s爬坑系列】之解讀kubernetes的認(rèn)證原理&實(shí)踐
kubernetes apiserver源碼分析——api請(qǐng)求的認(rèn)證過程
http://www.sel.zju.edu.cn/?p=609
浙江大學(xué)SEL實(shí)驗(yàn)室
我是怎么閱讀kubernetes源代碼的鸦列?
https://yq.aliyun.com/articles/679199
kubernetes認(rèn)證授權(quán)機(jī)制
http://www.reibang.com/p/bb973ab1029b
TLS握手協(xié)議竟然能教你追女神?
https://baijiahao.baidu.com/s?id=1616211978225668389&wfr=spider&for=pc
Kubernetes源碼分析之kube-apiserver
https://blog.csdn.net/weixin_33757911/article/details/91454290
如何實(shí)現(xiàn)authentication鹏倘, authorization, admission control(認(rèn)證薯嗤,授權(quán),準(zhǔn)入控制)
認(rèn)證 (authentication) 和授權(quán) (authorization) 的區(qū)別
k8s.io/kubernetes/pkg/registry
k8s.io/kubernetes/pkg/master
k8s.io/apiserver/pkg/server/
go-restful 如何使用
https://godoc.org/github.com/emicklei/go-restful
https://feisky.gitbooks.io/kubernetes/components/apiserver.html
Golang在Kubernetes語境下的編程范式
https://www.sohu.com/a/195515370_657921
Kubernetes源碼分析之Pod的刪除
https://www.codercto.com/a/76897.html
Kubernetes源碼分析之kube-apiserver
https://juejin.im/post/5c934e5a5188252d7c216981
Kubernetes源碼分析之kubelet
https://juejin.im/post/5ccbfdca518825406b5abde9#heading-1
[深度剖析Kubernetes API Server三部曲 - Part 1]
https://www.cnblogs.com/CCE-SWR/p/9916205.html
Kubernetes TLS bootstrapping 那點(diǎn)事
https://mritd.me/2018/01/07/kubernetes-tls-bootstrapping-note/
【kubernetes/k8s源碼分析】kube-apiserverd go restful 框架使用
https://blog.csdn.net/zhonglinzhang/article/details/80346161
k8s APIServer源碼: api注冊(cè)詳細(xì)細(xì)節(jié)
http://wklken.me/posts/2017/09/23/source-apiserver-04.html
kubelet工作原理
https://www.cnblogs.com/girl1314/p/10766709.html
kubectl api-versions
kubectl api-resources
Chef 框架之 Cookbook 的介紹及應(yīng)用
https://www.ibm.com/developerworks/cn/cloud/library/1504_wangqw_chefcookbook/index.html
https://www.chef.io/
Kubernetes探秘—etcd狀態(tài)數(shù)據(jù)及其備份
https://my.oschina.net/u/2306127/blog/2979019
https://jolestar.com/etcd-architecture/
Golang struct纤泵、interface 組合嵌入類型詳解
http://www.reibang.com/p/d87c69ac6ce7
嵌入類型
結(jié)構(gòu)體類型可以包含匿名或者嵌入字段骆姐。也叫做嵌入一個(gè)類型。當(dāng)我們嵌入一個(gè)類型到結(jié)構(gòu)體中時(shí)捏题,該類型的名字充當(dāng)了嵌入字段的字段名玻褪。
接口的調(diào)用規(guī)則是建立在這些方法的接受者和接口如何被調(diào)用的基礎(chǔ)上。下面的是語言規(guī)范里定義的規(guī)則公荧,這些規(guī)則用來說明是否我們一個(gè)類型的值或者指針實(shí)現(xiàn)了該接口:
類型 *T 的可調(diào)用方法集包含接受者為 *T 或 T 的所有方法集
這條規(guī)則說的是如果我們用來調(diào)用特定接口方法的接口變量是一個(gè)指針類型带射,那么方法的接受者可以是值類型也可以是指針類型。顯然我們的例子不符合該規(guī)則循狰,因?yàn)槲覀儌魅?SendNotification 函數(shù)的接口變量是一個(gè)值類型窟社。
類型 T 的可調(diào)用方法集包含接受者為 T 的所有方法
這條規(guī)則說的是如果我們用來調(diào)用特定接口方法的接口變量是一個(gè)值類型,那么方法的接受者必須也是值類型該方法才可以被調(diào)用绪钥。顯然我們的例子也不符合這條規(guī)則灿里,因?yàn)槲覀?Notify 方法的接受者是一個(gè)指針類型。
語言規(guī)范里只有這兩條規(guī)則程腹,我通過這兩條規(guī)則得出了符合我們例子的規(guī)則:
類型 T 的可調(diào)用方法集不包含接受者為 *T 的方法
當(dāng)我們嵌入一個(gè)類型匣吊,這個(gè)類型的方法就變成了外部類型的方法,但是當(dāng)它被調(diào)用時(shí)跪楞,方法的接受者是內(nèi)部類型(嵌入類型)缀去,而非外部類型侣灶〉榧溃— Effective Go
Go 語言中內(nèi)部類型方法集提升的規(guī)則:
給定一個(gè)結(jié)構(gòu)體類型 S 和一個(gè)命名為 T 的類型,方法提升像下面規(guī)定的這樣被包含在結(jié)構(gòu)體方法集中:
如果 S 包含一個(gè)匿名字段 T褥影,S 和 *S 的方法集都包含接受者為 T 的方法提升池户。
這條規(guī)則說的是當(dāng)我們嵌入一個(gè)類型,嵌入類型的接受者為值類型的方法將被提升凡怎,可以被外部類型的值和指針調(diào)用校焦。
對(duì)于 *S 類型的方法集包含接受者為 *T 的方法提升
這條規(guī)則說的是當(dāng)我們嵌入一個(gè)類型,可以被外部類型的指針調(diào)用的方法集只有嵌入類型的接受者為指針類型的方法集统倒,也就是說寨典,當(dāng)外部類型使用指針調(diào)用內(nèi)部類型的方法時(shí),只有接受者為指針類型的內(nèi)部類型方法集將被提升房匆。
如果 S 包含一個(gè)匿名字段 *T耸成,S 和 *S 的方法集都包含接受者為 T 或者 *T 的方法提升
如果 S 包含一個(gè)匿名字段 T报亩,S 的方法集不包含接受者為 *T 的方法提升。
這條規(guī)則說的是當(dāng)我們嵌入一個(gè)類型井氢,嵌入類型的接受者為指針的方法將不能被外部類型的值訪問弦追。這也是跟我們上面陳述的接口規(guī)則一致。
我們把interface作為struct的一個(gè)匿名成員花竞,就可以假設(shè)struct就是此成員interface的一個(gè)實(shí)現(xiàn)劲件,而不管struct是否已經(jīng)實(shí)現(xiàn)interface所定義的函數(shù)。
golang中接口賦值與方法集
http://www.reibang.com/p/bb62887edffa
go語言學(xué)習(xí)-接口賦值https://studygolang.com/articles/5788
方法聲明的集合
任何類型的對(duì)象實(shí)現(xiàn)了在接口中聲明的全部方法约急,則表明該類型實(shí)現(xiàn)了對(duì)應(yīng)接口零远。
可以作為一種數(shù)據(jù)類型,實(shí)現(xiàn)了該接口的任何對(duì)象都可以給對(duì)應(yīng)的接口類型變量賦值烤宙。