<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    paulwong

    #

    圖片服務架構演進

    現在幾乎任何一個網站、Web App以及移動APP等應用都需要有圖片展示的功能,對于圖片功能從下至上都是很重要的。

    posted @ 2014-07-16 08:39 paulwong 閱讀(254) | 評論 (0)編輯 收藏

    騰訊CKV海量分布式存儲系統

    posted @ 2014-07-16 07:58 paulwong 閱讀(651) | 評論 (0)編輯 收藏

    Java 多線程編程(生產者和消費者問題以及死鎖)

    Godown:
    就是個JAVABEAN,是被執行者,即被各種線程執行。
    在此系統中只有一個。存儲了一個倉庫的當前量和最大量。

    加同步關鍵字后表明,當被多個線程執行時,只有最早進入的線程能執行,其他的純種處于等待狀態。

    生產者和消費者就是線程,去觸發同一個JAVABEAN的代碼。

    Thread是指線程,一個進程里面可以有多個線程在運行,會產生線程的管理問題,如讓某些線程暫停,暫停后要恢復,
    這些控制代碼是放在共享的JAVABEAN中的,不是放在Thread的代碼中,如wait()/notify()/notifyall(),這個會通知當前調用此JAVABEAN
    的線程執行停止/恢復動作。

    posted @ 2014-07-16 07:20 paulwong 閱讀(301) | 評論 (0)編輯 收藏

    Simplehbase

    https://github.com/zhang-xzhi/simplehbase/
    https://github.com/zhang-xzhi/simplehbase/wiki


    ## simplehbase簡介
    simplehbase是java和hbase之間的輕量級中間件。
    主要包含以下功能。
    * 數據類型映射:java類型和hbase的bytes之間的數據轉換。
    * 簡單操作封裝:封裝了hbase的put,get,scan等操作為簡單的java操作方式。
    * hbase query封裝:封裝了hbase的filter,可以使用sql-like的方式操作hbase。
    * 動態query封裝:類似于myibatis,可以使用xml配置動態語句查詢hbase。
    * insert,update支持: 建立在hbase的checkAndPut之上。
    * hbase多版本支持:提供接口可以對hbase多版本數據進行查詢,映射。
    * hbase原生接口支持。


    ### v0.9
    新增

    支持HTable如下使用方式,對HTable可以定時flush。
    主要場景:
    批量寫入,但是flush可以配置為指定時間間隔進行。
    不降低批操作的吞吐,同時,有一定的實時性保證。

    支持用戶自定義htablePoolService。
    多個HTable可以使用同一個線程池。

    intelligentScanSize功能,可以根據limit的值設定scan的cachingsize大小。


    ### v0.8
    批量操作接口新增
    public <T> void putObjectList(List<PutRequest<T>> putRequestList); 
    public void deleteObjectList(List<RowKey> rowKeyList, Class<?> type); 
    public <T> void putObjectListMV(List<PutRequest<T>> putRequests,long timestamp) 
    public <T> void putObjectListMV(List<PutRequest<T>> putRequests,Date timestamp) 
    public <T> void putObjectListMV(List<PutRequest<T>> putRequestList) 
    public void deleteObjectMV(RowKey rowKey, Class<?> type, long timeStamp) 
    public void deleteObjectMV(RowKey rowKey, Class<?> type, Date timeStamp) 
    public void deleteObjectListMV(List<RowKey> rowKeyList, Class<?> type,long timeStamp) 
    public void deleteObjectListMV(List<RowKey> rowKeyList, Class<?> type,Date timeStamp) 
    public void deleteObjectListMV(List<DeleteRequest> deleteRequestList,Class<?> type); 


    Util新增(前綴查詢使用)
    public static RowKey getEndRowKeyOfPrefix(RowKey prefixRowKey) 

    性能改進
    把get的實現從scan調回get。

    ### v0.7新增功能:
    支持查詢時主記錄和關聯的RowKey同時返回。 

    posted @ 2014-07-15 08:35 paulwong 閱讀(381) | 評論 (0)編輯 收藏

    Linux系統查找清理磁盤大文件方法

    查詢磁盤空間的方法:
    df -H


    本文主要介紹Linux系統磁盤使用空間不足時,如何查找大文件并進行清理的方法。

    下午使用df-h檢查一臺服務器磁盤使用空間,發現磁盤已經使用了100%,其中/dev/mapper/vg_iavp-lv_root是邏輯卷。

    可以通過下面的方法進行清理:

    使用如下命令查找大于100M的大文件,發現有幾個日志文件及臨時文件比較大,使用rm –rf刪除即可。

    find / -size +100M -exec ls -lh {} \;















    posted @ 2014-07-14 13:14 paulwong 閱讀(332) | 評論 (0)編輯 收藏

    PMD for Jenkins

    PMD jenkins plugin is only displaying the PMD check results. You need to run PMD using Maven as part of your build triggered by Jenkins. For example this could look like that in your pom.xml

    <reporting>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-pmd-plugin</artifactId>
                <version>2.7.1</version>
                <configuration>
                    <linkXRef>false</linkXRef>
                    <targetJdk>1.6</targetJdk>
                    <rulesets>
                        <ruleset>/rulesets/basic.xml</ruleset>
                    </rulesets>
                </configuration>
            </plugin>
        </plugins>
    </reporting>

    Then PMD-jenkins will know where to pick up the results and publish them for you.

    To get the results you will need to add this code to your pom.xml and execute the according target in Jenkins, yes.

    Note that this is not related to PMD-plugin in Eclipse. The Eclipse PMD plugin just shows the result of the local analysis, not related to Jenkins.

    posted @ 2014-07-12 15:04 paulwong 閱讀(523) | 評論 (0)編輯 收藏

    MAC下JAVA的安裝路徑

    /Library/Java/JavaVirtualMachines/jdk1.7.0_55.jdk/Contents/Home

    posted @ 2014-07-12 12:21 paulwong 閱讀(10195) | 評論 (0)編輯 收藏

    搭建基于Jenkins+SVN+Maven持續集成環境(CI)

    一、準備工作

    1. 下載jenkins.war,也可以使用特定環境的安裝包。將其拷貝到c:\Dev\Jenkins目錄

    2. SVN, Maven

    二、啟動Jenkins

    在命令行啟動Jenkins

    java -jar jenkins.war --httpPort=8080, --httpPort 用來指定端口號。

    在地址欄輸入http://localhost:8080, 看到Jenkins主界面,就說明安裝成功了。

    搭建基于Jenkins+SVN+Maven持續集成環境(CI)

    三、Jenkins插件

    確保SVN和Maven插件都已經安裝好了,可以到Jenkins配置里面去查看,如果沒有可以裝上。

    Manage Jenkins->Manage Plugins->Installed

    默認情況下,SVN和Maven插件都是安裝好的,如果你需要安裝其他的插件可以在Available中查找。

    搭建基于Jenkins+SVN+Maven持續集成環境(CI)

    四、配置Jenkins

    新安裝的Jenkins需要配置一些環境,例如JAVA_HOME,MAVEN_HOME等

    Manage Jenkins->Configure System

    搭建基于Jenkins+SVN+Maven持續集成環境(CI)

    # of executors 用來指定同一時間最多能跑的job數量。

    SCM checkout retry count 如果從版本庫簽出代碼失敗,jenkins會按照這個次數重試。

    JDK 配置Java環境, Maven 配置Maven環境。

    五、創建Maven任務

    New Job-> 新建任務

    Job name->home-ci,ci指代commit階段,說明這個job是用來不斷集成我們的代碼的。

    Build a maven2/3 project->我們的項目是用maven來管理的,所以我們選擇maven job

    搭建基于Jenkins+SVN+Maven持續集成環境(CI)

    1. 首先我們配置SVN,選擇Subversion,填上項目的Repository URL,然后可以指定從這個地址簽出的代碼保存的位置。其他默認選擇。

    2. Build Trigger

    該選項是用來配置自動構建的,比如我們想讓項目每天中午一點和晚上一點自動構建,只需要在Build periodically中寫出0 13,1 * * *.在這里我們使用Poll SCM,"Poll SCM"用來定期檢查版本庫是否有更新,如果有更新,觸發構建。我們就讓它每分鐘檢查一次,輸入* * * * *。

    搭建基于Jenkins+SVN+Maven持續集成環境(CI)

    3. 配置Maven

    pom.xml文件,jenkins會去尋找需要執行的maven pom文件,需要給定。

    我們需要運行maven 的 clean install 命令,在Goals and options中指定。

    4. 生成打包文件

    Post-build Actions 這里我們可以使用一些分析工具,比如checkstyle, 代碼測試覆蓋率等等。

    這里我們只指定需要生產的最終文件War或者Jar,在Archive the artifacts 中輸入你想要的打包方式。

    /trunk/home/home-ci/*.war;/trunk/home/test-report/*.html

    六、運行構建

    點擊左側的Build Now按鈕,點擊Build History中的數字就可以看到本次構建的詳細。

    搭建基于Jenkins+SVN+Maven持續集成環境(CI)

    每次構建可以點擊Changes查看是否有更改, Console output可以看到本次構建的詳細輸出。

    posted @ 2014-07-12 00:11 paulwong 閱讀(2500) | 評論 (0)編輯 收藏

    Jenkins+Maven+SVN快速搭建持續集成環境(轉)

    Jenkins是一個可擴展的持續集成引擎,Jenkins非常易于安裝和配置,簡單易用,下面看看我們是如何幾分鐘就快速搭建一個持續集成環境吧。

    假設我們目前已經有2個maven項目:entities(JAVA類庫),web(Web應用,依賴entities)。

    一、安裝Jenkins

    地址http://mirrors.jenkins-ci.org/下載適合的Jenkins版本。

    Windows最新穩定版的Jenkins地址為:http://mirrors.jenkins-ci.org/windows-stable/jenkins-1.409.1.zip

    https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+as+a+Windows+service

    把Jenkins 1.409.1版解壓,把得到的war包直接扔到tomcat下,啟動tomcat,Jenkins就安裝完畢,是不是很簡單啊。

    redhat系統下安裝流程:https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Red+Hat+distributions

    二、配置Jenkins

    1、打開http://10.3.15.78:8080/jenkins/,第一次進入里面沒有數據,我們需要創建job,我們這有2個項目,需要創建2個job。http://10.3.34.163:9890/jenkins/

    2、點擊左上角的new job,在new job頁面需要選擇job的類型,Jenkins支持幾種類型,我們選擇“構建一個maven2/3項目”,Job名為:guan_caijing,如圖所示:

    image

    3、點擊OK按鈕后,進會進入詳細配置界面,詳細配置界面的配置項很多,不過不用怕,大部分使用默認配置就可以了,下面就說說我們需要修改的幾個地方:

    3.1)Source Code Management

    因為我們使用SVN管理源碼,所以這里選擇Subversion,并在Repository URL中輸入我們的SVN地址:

    http://10.3.34.163:9880/guan_caijing/trunk/

    輸入SVN庫的URL地址后,Jenkins會自動驗證地址,并給予提示。

    clip_image004

    點擊紅色字體部分的enter credential鏈接,進入如下頁面:

    clip_image006

    設置好訪問SVN庫的用戶名和密碼后,點擊OK按鈕,顯示:

    clip_image008

    說明設置成功。點擊Close按鈕,返回之前的Source Code Management頁面。此時不再有紅色警告信息了。

    clip_image010

    3.2)配置自動構建的計劃,假設我們想讓項目中每天12點和晚上8點自動構建一次,只需要在Build Triggers中選擇Build periodically,并在Schedule中輸入 0 12,20 * * *

    我配置的是每晚8點自動構建

    clip_image012

    注:Schedule的配置規則是有5個空格隔開的字符組成,從左到右分別代表:分 時 天 月 年。*代表所有,0 12,20 * * * 表示“在任何年任何月任何天的12和20點0分”進行構建。

    3.3)配置到這里,可能有人發現在Build配置節點,有紅色錯誤信息,提示

    Jenkins needs to know where your Maven2 is installed. 
    Please do so from the system configuration.

    如圖所示:

    clip_image014

    這是因為Jenkins找不到maven的原因,點擊"system configuration",是system configuration的maven配置中添加maven目錄就OK,如下圖:

    clip_image016

    我設置了JRE 6和MAVEN 3的安裝目錄。

    點擊左下角的SAVE按鈕,保存設置。

    3.4)保存好所有配置后,我們第1個job就算是完成了。

    3.5)創建第2個job,配置和上面的配置相同。只需把svn地址改成:http://localhost/svn/Web

    三、手動構建

    在經過上面的配置后,回到Jenkins首頁,在首頁可以看到剛才添加的2個job,如下圖:

    clip_image018

    點擊某1個job后后面的"Schedule a build"圖片手動構建,點擊完后,會在左邊的Build Queue或者Build Executor Status 顯示正在構建的任務,在自動構建完后,刷新頁面,就可以看到構建結果了,如何某個項目構建失敗,點擊項目后面的構建數字(從1開始遞增)進入項目的"Console Output "可以查看項目構建失敗的原因。當然我們也可以配置把構建失敗的結果發到郵箱。

    到目前為止,1個簡單的自動構建環境就搭建好了,很簡單吧。

    四、自動部署

    看完上面發現Jenkins配置真的很簡單,幾分鐘就搭建好自動構建環境,但環境搭建好后發現1個問題,現在是能自動構建了,但是構建好的web.war都還是在Jenkins目錄下,并沒有發布到tomcat中,還需要手動copy過去?

    這是個問題,不過別急,要達到自動部署的目的,需要安裝1個Jenkins的部署插件。選擇“系統管理”菜單的“管理插件”:

    clip_image020

    選擇“可選插件”,找到Deploy Plugin 1.8插件,選擇它。

    clip_image022

    注:Deploy Plugin 1.8插件支持Tomcat 4.x/5.x/6.x/7.x ,JBoss 3.x/4.x ,Glassfish 2.x/3.x

    點擊底部的“安裝”按鈕,顯示:

    clip_image024

    耐心等待:

    clip_image026

    直到Deploy Plugin完成,顯示Success:

    clip_image028

    選擇框打鉤,Jenkins會自動重啟:

    clip_image030

    此時,在插件管理的“已安裝”Tab頁,可以看到部署插件已安裝完畢。

    clip_image032

    重新進入web的configure 配置界面,在最下面會發現多處1個配置項,我們配置如下:

    clip_image034

    注:war file使用的是Jenkinsworkspace的相對目錄,hudon默認的目錄在:

    C:\Documents and Settings\用戶名\.Jenkins\

    workspace目錄:C:\Documents and Settings\用戶名\.Jenkins\ jobs\web\workspace\

    最終產生的war在:C:\Documents and Settings\用戶名\.Jenkins\ jobs\web\workspace\Web\target\web.war

    保存配置再重新構建一次,打開tomcat的webapps目錄,發現web.war終于過來了,大功告成。

    posted @ 2014-07-11 22:55 paulwong 閱讀(454) | 評論 (0)編輯 收藏

    通過終端調試 AngularJS 應用

         摘要: 當我們構建AngularJS應用時,通過瀏覽器(如Chrome,Firefox和IE)的JavaScript控制臺訪問應用中隱藏的數據和服務總會有些困難。下面是一些簡單的技巧可以幫助我們通過Javascript控制臺來查看或者控制正在運行的Angular應用,使得應用可以比較容易進行測試,修改,甚至實時的修改我們的Angular應用:1: 訪問作用域通過一行簡單的JS程序訪問頁面中任何作用域(甚至...  閱讀全文

    posted @ 2014-07-11 08:11 paulwong 閱讀(303) | 評論 (0)編輯 收藏

    僅列出標題
    共115頁: First 上一頁 48 49 50 51 52 53 54 55 56 下一頁 Last 
    主站蜘蛛池模板: 夜夜爽免费888视频| 久久久久久久久无码精品亚洲日韩| 亚洲av无码片区一区二区三区| 国产精品内射视频免费| 永久免费毛片手机版在线看| 亚洲国产成人精品无码区在线秒播 | 亚洲mv国产精品mv日本mv| 好男人视频在线观看免费看片| 深夜福利在线免费观看| 国产免费黄色无码视频| 亚洲AⅤ无码一区二区三区在线 | 永久在线毛片免费观看| 中文字幕免费在线播放| 国产自偷亚洲精品页65页| 成人免费网站久久久| 国产精品黄页在线播放免费| 亚洲爆乳无码精品AAA片蜜桃| 在线观看免费污视频| 久久久久久av无码免费看大片| 亚洲黑人嫩小videos| 99在线观看免费视频| 久久久久亚洲AV无码观看| 深夜国产福利99亚洲视频| 95免费观看体验区视频| 亚洲精品韩国美女在线| 精品国产无限资源免费观看| 亚洲国产亚洲片在线观看播放| 亚洲真人日本在线| 免费人成在线观看视频高潮| 久久久久久久亚洲Av无码| 亚洲性线免费观看视频成熟 | 久久久99精品免费观看| 亚洲av无码精品网站| 99久久国产免费-99久久国产免费| 亚洲成a人无码亚洲成www牛牛| 亚洲国产成人久久精品动漫 | 成人国产精品免费视频| 亚洲精品亚洲人成在线| 三上悠亚亚洲一区高清| 4399影视免费观看高清直播| 亚洲精品无码国产片|