原创 Java Optional API

一位智者說過,沒有處理過空指針異常就不算一個真正的 Java 程序員。這當然是開玩笑,但是空指針異常確實是很多程序出錯的源頭。於是,在 Java 8 引入了 java.util.Optional,Optional 用來代表一種 可能有可能沒

原创 基於 NFA 實現正則表達式引擎

回想起第一次看到正則表達式的時候,眼睛裏大概都是 $7^(0^=]W-\^*d+,心裏我是拒絕的。不過在後面的日常工作裏,越來越多地開始使用到正則表達式,正則表達式也逐漸成爲一個很常用的工具。 要掌握一種工具除了瞭解它的用法,瞭解它的原理也

原创 Docker: 容器互訪的三種方式

場景 三個容器 digger-app: 啓動 API 服務,依賴 redis 和 mysql digger-redis: redis 服務 digger-mysql: mysql 服務 我們需要讓 digger-app 容器內運

原创 Jenkins + Docker 簡單部署 node.js 項目

有了前幾篇的基礎後,我們現在已經能 docker 篇: 構建 docker 鏡像 上傳私有倉庫 拉取私有鏡像 啓動容器 jenkins 篇: 配置 pipeline 觸發 pipeline 接下來就可以結合兩者,用 jenkins

原创 Docker: 上傳鏡像至私有倉庫

鏡像可以很方便直接 push 到 docker 的公共倉庫,就好像 github 一樣,但是我們在開發中很多時候都不想公開鏡像文件,這時就需要搭建 docker 的私有倉庫,就好像 gitlab 一樣。 在 上一篇 構建出鏡像後,我們可以部

原创 Docker: 編寫 dockerfile 啓動 node.js 應用

編寫 Dockerfile 以 express 自動創建的目錄爲例,目錄結構如下: ├── /bin │   └── www ├── /node_modules ├── /public ├── /routes ├── /views ├──