原创 責任鏈模式的7種不同實現

引言 責任鏈模式是經典的GoF 23種設計模式之一,也許你已經瞭解這種模式。不管你是否熟悉,建議讀者在閱讀本文之前,不妨先思考下面三個問題: (1) 如何用多種風格迥異的編程範式來實現責任鏈模式? (2) 能否讓責任鏈上的結點多任

原创 好用的Linux命令

1. whoami: 顯示用戶名 WenzheServer-host1-10> whoami wenzhe 2. who am i: 顯示用戶名,當前的時間,客戶端的IP地址,非常有用 WenzheServer-host1-10> w

原创 Pretty工具類:讓軟件開發調試與單元測試更happy!

    在軟件開發調試過程中,經常會去查看某一對象的取值。但類之間複雜的層次關係,再加上數組(鏈表)、映射(字典)等多種數據結構,讓我們難以一目瞭然。本文介紹的Pretty工具類,以縮進的方式突出類之間的層次關係,並且將對象一層層的整個結

原创 軟件需求文檔可以這樣寫 ---- “香皮匠式”需求文檔

     不同的team對於同一個需求的理解是不完全一樣的,甚至有可能完全不一樣。由於知識背景的差異、工作重心的差異,看問題的角度也不一樣,見解自然也就容易產生分歧。比如: 1.     產品人員注重產品的功能、外觀、易用性、可靠性,以及

原创 從組合框控件看SWT與JFace的區別

Combo是SWT的組合框,ComboViewer是JFace的組合框,都是組合框,ComboViewer其實就是在Combo上面加上MVC的封裝。記住下面的公式: JFace = SWT + MVC 比如說要實現如下圖的任務,選中一本

原创 My suggestions to do estimation

1. Do not do any estimation before the following done: (1) First of all, list all the tickets, and make all the team me

原创 SWT佈局(Layouts)

        每種類型操作系統對屏幕的定義不一樣,在開發跨平臺應用軟件時,我們一般都會使用佈局(Layout)來管理複合控件(Composite)中子控件的位置和大小。通過佈局,程序員可以充分展示那些埋沒已久的藝術細菌,哦不,是藝術細胞

原创 如何在INSERT語句中使用SELECT的結果

有兩張表,第一張表session如下: mysql> desc session; +-----------------------+--------------+------+-----+---------------------+--

原创 從一道小學數學題的程序解法看開發效率的重要性

有個4位數,千位數等於(這個4位數中0的個數),百位數爲1的個數,十位數爲2的個數,個位數爲3的個數。求符合這個規則的所有4位數。 如果改爲7位數,最高位爲0的個數,次高位爲1的個數,依次類推,結果又如何? 由於數學功底有限,用數學方法

原创 Kotlin的誘人特性

引子 想統計出某個項目產品中所有文件Java源代碼的總行數,寫個Kotlin腳本很簡單,只需 3 行代碼搞定: import java.nio.file.Paths import java.nio.file.Files Files.wa

原创 從Java角度理解Angular之入門篇:npm, yarn, Angular CLI

本系列從Java程序員的角度,帶大家理解前端Angular框架。 本文是入門篇。筆者認爲親自動手寫代碼做實驗,是最有效最紮實的學習途徑,而搭建開發環境是學習一門新技術最需要先學會的技能,是入門的前提。 作爲入門篇,本文重點介紹Angula

原创 Android小公舉:Clipboard to file

我們經常在手機上看文章,時間久了眼睛會很累。不如用耳朵聽。有些App會發音,可以把文字朗讀出來,比如多看閱讀就是這類軟件中比較好的一個。但是它不能讀剪貼板的文字,我一般是這樣用的: 有段想聽的文字,選中,複製。 打開文件瀏覽器(如ES)

原创 性能優化:RxJava異步響應式編程提升響應速度

本文通過引入RxJava,通過異步的方式,以短短30行的代碼,解決了一個常見的性能問題,提升界面的響應速度。 作爲例子,請看下圖: 單線程的問題 上圖中,ID,Status,Runtime數據的獲取都需要時間。如果用單線程去獲取,然後再

原创 如何向GitHub貢獻代碼

前提條件 創建GitHub賬號,郵箱激活,安裝GitBash(Windows系統)。 如果還沒提交過代碼,需要設置Git user,向GitHub輸入SSH Key;如果已經向GitHub提交過代碼的,可跳過這兩個步驟,直接進入創建Git

原创 Maven generate source.jar

Add a plugin to pom.xml <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artif