原创 Spring下自定義xml標籤

dubbo自定義了很多xml標籤,例如<dubbo:application>,那麼這些自定義標籤是怎麼與spring結合起來的呢?我們先看一個簡單的例子。 一 編寫模型類 1 package com.hulk.testdub

原创 Kettle — 常用組件使用

前言 Kettle控件分爲三種:轉換控件、作業控件和Hop(跳)。 轉換控件 輸入控件 表輸入 表輸入控件是從數據庫的表中讀取數據的控件。我們可以在表中輸入SQL語句(或者通過獲取SQL查詢語句獲取)。比如我們通過獲取SQL查詢語句獲取

原创 讀Spring實戰(第四版)概括—裝配Bean

很久很久以前讀過Spring實戰(第三版),因爲第三版和第四部差異還是特別明顯的,在整體思想上有了比較重大的改變,比如用註解和JavaConfig替換Xml以及現在非常火熱的Springboot在書的最後也有提到。OK,開始看書,書本的第

原创 Docker 入門基礎

Docker是一個能把開發的應用程序自動部署到容器的開源引擎。Docker是新的容器化技術,輕巧,易移植[Build Once, Configure Once And Run Anywhere]。Docker引擎的基礎是Linux容器[L

原创 Docker Compose使用手冊

Docker Compose是一個比較簡單的docker容器的編配工具,以前的名稱叫Fig,由Orchard團隊開發的開源Docker編配工具,在2014年被Docker公司收購,Docker Compose是使用Python語言開發的一

原创 Docker遠程連接和Docker Remote Api

在Docker生態系統中一共有3種API:Registry API、Docker Hub API、Docker Remote API這三種API都是RESTful風格的。這裏Remote API是通過程序與Docker進行集成和交互的核心

原创 讀Spring實戰(第四版)概括—高級裝配

1.環境與Profile在開發軟件的時候,有時候需要從一個環境遷移到另一個環境。比如在開發階段我們使用的是dev的環境,在測試階段使用的是product環境,這時我們就需要不同的配置。Spring同樣也提供了類似的解決方案(在Spring

原创 Dubbo學習入門

本文參考自:Dubbo用戶手冊(中文)http://dubbo.apache.org/books/dubbo-user-book/ 現在的參考文檔地址:http://dubbo.apache.org/zh-cn/docs/user/qui

原创 Java Lambda表達式

前言 隨着函數式編程的流程,Java8中也引入了函數式編程風格(Lambda表達式)。Lambda表達式允許我們將行爲傳遞到函數中,其可以替換匿名內部類實現的繁瑣的代碼。下面就是一個最經典的例子,用普通的匿名內部類一共用了6行代碼,使用L

原创 【分佈式】高性能分佈式發號器

關於數據庫主鍵生成 在我們的業務中,數據庫表主鍵是需要保證唯一的,有序的。通常在單表(不分庫、分表)情況下,我們可以直接使用主鍵自增長來實現。但是這種模式存在幾點明顯的缺點:1、不能支持分庫分表;2、基於數據庫生成,會影響數據庫性能;3、

原创 2019年個人技術棧規劃

光陰似箭,歲月如梭。不論是出師未捷還是碩果累累,2018年已經告別,2019已經到來。對於我來說2018是特別有意義的一年,但對於家庭而言又是風波不斷的一年。暫不說家庭事,對於我而言,18年初我毅然的離開了國內工業自動化行業龍頭公司之一,

原创 Java NIO簡介和使用

前言 Java NIO其實就是JDK1.4中加入的新的基於Channel和Buffer的Iuput/Output方式。我個人認爲NIO主要有以下兩個優點: 同步非阻塞:這點是指在結合使用Selector時,會不斷的輪詢,查看註冊的事件是否

原创 Git日常使用積累

拉取代碼 1.先將代碼fork到自己的倉庫 2.然後將自己倉庫的代碼clone下來 3.添加遠程倉庫 4.查看是否添加成功 更新代碼 1.查看項目 git remote -v 有沒有添加upstream遠程主庫 2.如果沒有添加,

原创 Kettle — 安裝和部署

前提 Kettle是純Java編寫的ETL開源工具,目前Kettle7和Kettle8都需要Java8或者以上才能正常運行。所以開運行Kettle前先檢查Java環境是否正確配置,Java版本是否是8或者以上。 Kettle安裝 1)創

原创 Kettle — 源碼啓動和代碼結構分析

衆所周知Kettle是一個開源的項目,所有我們有必要把Kettle的源碼pull下來進行簡單的分析,搞清楚Kettle的執行原理和實現過程。 首先我們需要從Github中將源代碼Pull下來。從Github上的分支可以看到,最新的版本應該