原创 JavaScript對象繼承 基於原型鏈的方式 構造函數繼承 組合繼承的方式 通過工廠模式創建子對象

開門見山,以下根據繼承方式的不同逐一介紹: 基於原型鏈的方式 這應該是基於js中prototype的特點實現的最簡單的繼承 var SuperType = function() { this.property= true; } Sup

原创 Scala學習筆記:函數編程&集合 Functional Programming Collection

Functional Programming lambda 匿名函數(至少python是叫lambda)算是FO的基本功能了。scala定義一個匿名函數按照如下格式: object Main { def main(args: Arra

原创 Scala學習筆記:面向對象 OO: Class & Object

scala的官方文檔寫得太爛了。沒辦法,只能找點資料,或者看scala編譯的class文件,反正最後都是java的語法,然後自己總結一下。 爲便於閱讀,以下展示的編譯後的class文件有做適當調整,且大部分的main函數的object編譯內

原创 Scala學習筆記:Actor & Future Actor Future

關於scala的Actor和經常配合使用的Future Actor Creating Actor & best practice 步驟一:實現traitakka.actor.Actor即可創建一個Actor類型,其中的receive()方

原创 Docker Embedded DNS Container Network Model(CNM) How it works

因爲工作需要,去學習了下Docker的embedded DNS. 這個功能似乎是1.10才加進來的,用來對Docker自帶的overlay網絡提供DNS服務(容器)發現。我學習的是Docker1.10.3版本,對應的libnetwork是r

原创 Knative Pod Autoscaling PA reconcile 各組件工作原理

本文基於Knative 0.7.0版本代碼,解讀KPA的工作原理。 PA reconcile 創建PA時,PA controller會開始reconcile過程。 這裏KPA可以通過annotationautoscaling.knativ

原创 Flink Checkpoint Easy Understand Chandy-Lamport algorithm Result Guarantees

在學習flink的時候看了本書《Stream Processing with Apache Flink》。裏面對Flink checkpoint的原理講得挺清楚的,後面內部分享時也參考了這個說法,所以這裏按照我的理解描述一下。 首先,fli

原创 Knative Pod Autoscaling

本文基於Knative 0.7.0版本代碼,解讀KPA的工作原理。 PA reconcile 創建PA時,PA controller會開始reconcile過程。 這裏KPA可以通過annotationautoscaling.knativ

原创 Scala學習筆記:函數編程&集合

Functional Programming lambda 匿名函數(至少python是叫lambda)算是FO的基本功能了。scala定義一個匿名函數按照如下格式: object Main { def main(args: Arra

原创 Flink Checkpoint

在學習flink的時候看了本書《Stream Processing with Apache Flink》。裏面對Flink checkpoint的原理講得挺清楚的,後面內部分享時也參考了這個說法,所以這裏按照我的理解描述一下。 首先,fli

原创 Scala學習筆記:Actor & Future

關於scala的Actor和經常配合使用的Future Actor Creating Actor & best practice 步驟一:實現traitakka.actor.Actor即可創建一個Actor類型,其中的receive()方

原创 Scala學習筆記:面向對象

scala的官方文檔寫得太爛了。沒辦法,只能找點資料,或者看scala編譯的class文件,反正最後都是java的語法,然後自己總結一下。 爲便於閱讀,以下展示的編譯後的class文件有做適當調整,且大部分的main函數的object編譯內

原创 JavaScript對象繼承

開門見山,以下根據繼承方式的不同逐一介紹: 基於原型鏈的方式 這應該是基於js中prototype的特點實現的最簡單的繼承 var SuperType = function() { this.property= true; } Sup

原创 Prometheus對Swarm的服務發現插件

最近由於項目需要,自己實現了Prometheus對Swarm的服務發現,以方便收集metrics。代碼在github,retrieval/discovery/swarm。基於Prometheus 0.17.0和Swarm v1.1.0。 系

原创 Golang defer

話題起於同事在微信羣裏發了張圖,是Go Newsletter於13日在Twitter上轉的一個代碼截圖,問輸出是啥? 代碼如下,輸出結果在文末: package main import "fmt" type number int fu