原创 同賬號下阿里雲ecs克隆——通過鏡像更換系統

說明 買了服務器A,裝機完後,又買了服務器B,但是不想又重新裝一遍機,軟件太多了,都是重複性的工作,於是可以將服務器A的系統克隆到服務器B。就和Windows的GHOST裝系統類似。 分爲兩個步驟: 首先,將服務器A做成系統鏡像(

原创 阿里雲OSS訪問權限配置——RAM權限控制

場景 需要將阿里雲oss的某個bucket的指定目錄授權給測試人員使用,比如指定 myBuket 的 static/material/ 目錄。 測試人員通過ossbrowser工具來維護這個目錄。 步驟 新建用戶 在RAM訪問控

原创 Jenkins在歷史中展示構建者和分支名

通過在構建後執行Groovy腳本來實現。 1. 安裝兩個插件 (1)安裝“user build vars plugin”插件。 在“系統管理->插件管理->可用插件”中搜索插件名“user build vars plugin” , 由於我

原创 thymeleaf 動態生成表格-換行問題-每隔n列換一行

這種方式在高版本的thymeleaf中報錯, 建議使用新的方式生成: 動態生成表格-新方式 用到的th標籤 th:remove tag: 刪除當前標籤(即包含這個屬性的標籤),但不刪除它的子標籤(孩子節點)。 all: 刪除

原创 程序員必須知道的幾個Excel技巧——批量生成sql腳本

說明 有時候我們在維護數據庫時,需要編寫SQL腳本批量導入數據庫(尤其是在項目上線初期),比如業務給了一個Excel文檔(成千上萬條數據的那種),要你導入數據庫,當然你可以通過寫代碼來讀取Excel文檔進行導入,不過這種需求可能是

原创 java8集合Stream之reduce聚合函數——看這篇就夠了

說明 java8集合中Stream()相關函數都支持lambda表達式,reduce()就是其中之一, reduce是一種聚合操作,聚合的含義就是將多個值經過特定計算之後得到單個值, 常見的 count 、sum 、avg 、ma

原创 阿里雲OSS上傳報錯: You have no right to access this object because of bucket acl

報錯信息 com.aliyun.oss.OSSException: You have no right to access this object because of bucket acl. [ErrorCode]: Acce

原创 thymeleaf 動態生成表格-換行問題-每隔n列換一行——新方式

用到的標籤和函數 numbers.sequence(from,to)函數 生成一個從from到to的序列; th:with 定義局部變量,可以配合td:block標籤使用,也可以定義在常規html標籤內; th:block 功能標

原创 docker實踐總結——基於容器製作鏡像

一、說明 學習docker有一段時間了,今天來做一個定製化的容器:centos+python+一些第三方python包,容器要複用的話需要形成鏡像(一次定製n次使用)。在定製過程中也遇到了不少問題,現將其記錄下來方便後續回看。好記

原创 docker實踐總結——centos安裝docker

說明 本示例是在centos7中通過yum安裝docker 。 由於執行yum需要root權限, 所以需要切換到root用戶,或者使用sodo。 查看系統版本 查看centos版本:lsb_release -a $

原创 docker實踐總結——docker常用命令

介紹 docker之前就有過了解,最近工作中有用到,便準備系統的學習一下,順便通過博客的形式做筆記。 docker和虛擬機(如VMware)的區別:docker比虛擬機要輕量級,虛擬機是模擬硬件,然後在虛擬的硬件上安裝操作系

原创 Mybatis攔截器結合ThreadLocal實現數據庫updateTime等操作字段的更新

Mybatis攔截器 可攔截的目標對象有四個(前面是可被攔截的對象,後面括號中是對象中可被攔截的方法) Executor (update, query, flushStatements, commit, rollback, ge

原创 如何優雅的替換掉代碼中的ifelse

場景 平時我們在寫代碼時,需要針對不同情況處理不同的業務邏輯,用得最多的就是if和else。 但是如果情況太多,就會出現一大堆的“if else”,這就是爲什麼很多遺留系統中,一個函數可能出現上千行的代碼。當然你說可以通過抽取方

原创 Android學習之_UI線程阻塞

概念  當一個Android應用啓動之後,Android系統會爲這個應用程序創建一個主線程,該線程負責渲染圖像、分發事件、對界面進行輪詢監聽,也叫UI線程。   UI線程:UI Thread,又稱之爲主線程Main Thread,An

原创 Jenkins在構建歷史中顯示構建者和分支名

通過在構建後執行Groovy腳本來實現。 1. 安裝兩個插件 (1)安裝“user build vars plugin”插件。 在“系統管理->插件管理->可用插件”中搜索插件名“user build vars plugin” , 由於我