原创 設計模式(19)—— Observer (觀察者)

觀察者模式是什麼? 觀察者模式定義了對象間一種一對多的依賴關係。當一個對象的狀態發生變化時,所有依賴於它的對象都得到通知並被自動更新。 觀察者模式的適用範圍 1. 一個抽象模型有兩個方面,其中一個方面依賴於另一個方面,將這兩者方莊

原创 PYTHON寫爬蟲時用到的相對路徑-urljoin

使用URLJOIN從相對路徑獲取絕對路徑: >>> from urlparse import urljoin >>> urljoin("http://www.asite.com/folder/currentpage.html", "ano

原创 JAVA 8 特性

JAVA 8 新特性(1) 接口類的新寫法 在JAVA8中,我們可以用default關鍵詞在interface中添加非抽象類,也叫作 Extension Methods(擴展方法),例如 interface Formula {

原创 solrj 高亮顯示

版本solr-4.10.1中,不用配置文件設置高亮,而用solrj設置高亮。注意高亮的字段field必須設置storeOffsetsWithPositions="true",否則高亮異常:field 'dkeys' was index

原创 我學正則表達式——組(group)和回溯引用(backreference)

靚號的選擇 人怕不動,腦怕不用。 一覺醒來,漫步到公司之後。項目經理又交來一個任務: “公司最近打算升級號碼管理,針對VIP客戶推出靚號服務,暫定靚號爲6位,尾數AAAA的爲靚號,比如118888是靚號。” 這個任務太簡單了,不就

原创 Spring最新教程(譯自Spring官網)——構建一個RESTful Web Service

文章目的 本篇文章介紹如何創建使用Spring創建一個Hello World的RESTful web service  該服務可以通過 http://localhost:8080/greeting 訪問,返回JSON字符串 {"id

原创 設計模式(20)—— State (狀態)

 狀態模式是什麼? 狀態模式允許一個對象在其內部狀態改變時改變它的行爲,對象看起來似乎修改了它的類。 狀態模式的適用範圍 狀態模式的典型例子就是狀態機,隨着狀態不同,選擇的行爲也不一樣,具體的行爲根據運行時的狀態決定。 採用狀態

原创 我學正則表達式(1)

在做了一些文字處理工作後,覺得正則表達式真的是有通天的神力,熟練掌握後,頓覺手握倚天劍,心有九陽真經,腳踏風火輪,可以肆意地在文字的叢林裏披荊斬棘。下面,我們就來看看基本的正則表達式的用法。 基本的正則表達式 剛剛碰到正則表達式的時候,我

原创 設計模式(23)——Visitor(訪問者)

訪問者模式是什麼? 訪問者模式表示一個作用於某對象結構中的每個元素的操作,而不需要關注每個元素的類型。 訪問者模式的適用範圍: 想定義一個新的操作,而不想改變被操作對象的類型。 訪問者模式的示例: 下面用在汽車的部件上添加打印操作

原创 使用 Apache POI讀取EXCEL文件

添加MAVEN依賴 <dependency>     <groupid>org.apache.poi</groupid>     <artifactid>poi</artifactid>     <version>3.12</ve

原创 設計模式(18)——Memento(備忘錄)

備忘錄是什麼? 備忘錄模式是在不破壞封裝性的前提下捕獲一個對象的內部狀態,並在對象之外保存這個狀態。這樣以後就可以將對象回覆到原先保存的狀態。 備忘錄模式示例 下面的示例中,實現了undo功能,把狀態暫時保存到Memento,然後

原创 設計模式(17)——Mediator(中介者)

中介者模式是什麼? 中介者模式用一箇中介對象來封裝一系列的對象交互。中介者使各對象不需要顯示地相互引用,從而使其耦合鬆散,而且可以獨立地改變它們之間的交互。 中介者模式封裝了對象之間的通信。對象不再直接通信,而是通過中介者通信。 中介者

原创 設計模式(22)——Template Method(模板方法)

模板方法是什麼? 模板方法定義了一個操作中的算法骨架,而將一些步驟延遲到子類中。這樣的話,子類可以修改算法的某些步驟,而不會改變算法的結構。 模板方法的適用範圍 1. 一次性實現算法的不變部分,將可變的行爲留給子類實現 2. 提出子類

原创 我學正則表達式——價格之爭( | 和\t的用法)

錯別字的煩惱 一大早就接到了個任務,要用正則來識別價格的變動情況,價格表的信息如下: 蘋果 6.00 09/17 平果 6.50 09/18 香蕉 3.00 09/17 香蕉 4.00 09/18 ... 怎麼才能找出蘋果的價格

原创 設計模式(21)——Strategy (策略)

什麼是Strategy策略? Strategy策略是定義一系列的算法,把它們一個個封裝起來,並且使它們可以相互替換。此模式使得算法可以獨立於使用它們的客戶而變化。策略模式的主要目的是隔離算法。 Strategy策略的適用範圍 許多相關