Time of Update: 2018-12-04
考慮下面的情境:一個Git repository中有6個Java項目A,B,C,D,E,F.A是最底層模組。B依賴A, C,D,E,F又同時依賴A和B。 這時候項目可以分成三層關係。需求:1.Jenkins只編譯檔案有改動的項目預設情況系,只要一個Git repository中有代碼改動,6個項目就全部會被編譯,這顯然是非常浪費資源的.安裝Pathignore plugin後,在每個Jenkins的項目中如設定:**
Time of Update: 2018-12-04
Jenkins使用者權限一直是含混不清。今天花了點時間琢磨了一下,解決了兩個問題。問題一:Jenkins通過Ant指令碼調用本地的Glassfish目錄下的asadmin來進行web程式部署,一直工作的很好。突然昨天沒有許可權了。問題二:Jenkins通過shell指令碼調用啟動本地的Java程式,一直工作的很好。突然3周前不能工作了。在Ubuntu下,當執行apt-get
Time of Update: 2018-12-04
題目:有兩個數組a,b,大小都為n,數組元素的值任意,無序;要求:通過交換a,b中的元素,使數組a元素的和與數組b元素的和之間的差最小 很久之前就看到過這條題目,思路是有的,也沒看網上其他人是怎麼解的: 1. A,B需要分別建最大堆(複雜度2N),維護各自的和值sumA,sumB, 2. 如果堆A和堆B都非空; 2. 如果sumA>=sumB,且{若max(A)>=max(B),交換A堆的根與B堆的根;若max(A)<max(
Time of Update: 2018-12-04
我們使用Jenkins作為持續整合的主要工具。它一直工作的很好,但是今天我發先兩台Jenkins不能升級/安裝
Time of Update: 2018-12-04
今天碰到一個網友問如何找二進數低位連續0的個數,從網上搜尋到一個有趣的網站http://graphics.stanford.edu/~seander/bithacks.html#IntegerLog;另外有解析http://www.matrix67.com/blog/archives/3985 從上面摘錄一些東西下來:Find the log base 2 of an N-bit integer in O(lg(N)) operations with multiply
Time of Update: 2018-12-04
公司網路調整,加強安全性。結果Nexus不能用了。Nexus服務建立在Ubuntu server上,首先Ubuntu server安裝時指定系統代理程式為proxy.mycompany.com結果此方案不行。那麼在Nexus管理介面中設定proxy吧。選擇左邊的Administration/Server菜單,點擊Nexus選項卡。然後找到default proxy
Time of Update: 2018-12-04
前一陣子因為忙著TechED以及項目開發,很久沒有到上面來踏一腳 。今天忙裡偷閒,讓我們繼續我們的用.NET開發Silverlight應用程式的入門系列。今天的主題比較簡單,也是最後一個和XAML直接相關的主題:Silverlight中不同類型的畫刷和變形。因為這兩個屬性變化多端,進一步瞭解一下可以協助我們更好的理解Silverlight中的XAML。A.
Time of Update: 2018-12-04
先來一個newLISP程式測試,發起一個串連,發送一個正確字元'a',串連不斷,再發送一個錯誤字元,串連斷開。測試指令碼如下:(define (quit-for-error) ((println (net-error)) (exit)))(set 'socket (net-connect "localhost" 8888))(if (net-send socket "a") (println "send a successfully") (quit-for-error))(if socket
Time of Update: 2018-12-04
上次我們嘗試了如何在Silverlight中建立一個自訂控制項。這次讓我們再深入一步,談談Silverlight中的事件處理。通過這種方式,我們就可以給上次製作的自訂控制項增強它的互動性了。Silverlight 2.0提供了兩種添加事件的方式。方法一:在Silverlight 2.0中,事件處理方法都是用Managed 程式碼編寫的。最簡單的添加事件的方式是在分隔代碼(Code
Time of Update: 2018-12-04
在訪問WebServides的時候,必須使用http的Post動作.建立一個WebServices:Service,有兩個服務函數如下: [WebMethod] public string HelloWorld() { return "Hello World"; } [WebMethod] public int HelloWorld2(int a) { return a; } [WebMethod] public
Time of Update: 2018-12-04
最近在一個背景程式調試的時候,經常死掉,嘗試過寫log,但還是很難定位。 想到了使用dumpfile來做儲存崩潰資訊方便調試定位錯誤。因為debug版本與release版本的最佳化差異,在release版本仍然難以定位到代碼,只有在debug版本出現錯誤的時候,可以定位到代碼。目前只有這種方法了,結合記錄的log應該會有效。#include <windows.h>#include <dbghelp.h>#program
Time of Update: 2018-12-04
newLISP提供了簡單的方法讓我建立多個進程。下面的程式建立10個進程,每個進程發送幾個'a', 最後發送一個'q'.(define (quit-for-error) ((println (net-error)) (exit)))(define (send-test) (set 'socket (net-connect "localhost" 8888)) (if (net-send socket "a") (println "send a successfully")
Time of Update: 2018-12-04
如何發送位元組數組net-send僅僅接受string作為參數,也就是說只能發送字串。後來才發現,原來這隻是這個API的介面,通過字串仍然能夠發送位元據,比如:> (net-send socket "\019\000")2只需要前面加上\轉義符號即可。如何發送16位整數,並按照big-endian順序發送答案是pack。看下面的例子:> (set 'socket (net-connect "localhost" 8889))5> (set 'size (pack ">u"
Time of Update: 2018-12-04
Silverlight 2支援基本的資料驗證功能。在Silverlight 2中,當我們把資料繫結到某個UI控制項的時候,該資料所具有的有效性規則也自動被綁定到了該UI控制項上。比如某個資料欄位被設定為整數型,當我們用非整數型資料對該欄位進行更新的時候就會發生錯誤。我們就可以利用這個規則在UI中對輸入資料進行驗證。要做到這點,我們只要設定兩個XAML屬性,並在所定義的事件中實現我們所期望的UI行為就可以了。 比如如下的XAML代碼定義了一組控制項,使用者通過TextBox對資料進行更新: &
Time of Update: 2018-12-04
最近研究PE檔案結構,每看一次文檔都有新的收穫,證明有很多東西還是理解得不深刻。今天做了關於checksum校正和的實驗,確認了在應用程式層,系統載入程式的時候,CreateProcess不會對exe做校正和檢驗,LoadLibrary不會對dll做檢驗和檢驗。按文檔說,這些都是不需要檢驗的,沒有問題,另外一個問題就是要確認驅動程式載入的時候需要檢驗校正和。下面內容摘自PECOFF-v864/64 4
Time of Update: 2018-12-04
安裝Jenkins到Ubuntu server推薦採用官方文檔描述的方法:http://pkg.jenkins-ci.org/debian/很快就可以使用了。而且這種方法能夠方便的升級到最新版本。不過連接埠號碼是8080,我的另一個程式用到了8080,怎麼修改呢?網上一些方法介紹通過nginx或者apache將80連接埠映射到8080, 還有人說用iptables,
Time of Update: 2018-12-04
太極拳誕生前的創造曆程田金龍[1](揚州大學體育學院,揚州 225002)摘要:在太極拳誕生前中國武術各個曆史階段的思想文化與武術實踐背景下,探討太極拳創造過程的曆史軌跡,及其相應的技術形態。即本能技術的激情型武術——直接技術的簡單型武術——變化技術的升華型武術——閃電戰技術的精神修鍊型武術——控制技術的整體型武術關鍵詞:太極文化;武術;技術中圖分類號:G852.11 文獻標識碼:A 文章編號:1000-5498-(2004)01-0041-04 Creating Course
Time of Update: 2018-12-04
首先下載最新的Ubuntu系統的安裝包:http://www.newlisp.org/downloads/newlisp_10.4.5-utf8_i386.deb然後安裝:dpkg -i ./newlisp_10.4.5-utf8_i386.deb現在看看怎麼用。運行newlisp,報錯:/usr/bin/newlisp: error while loading shared libraries: libreadline.so.6: cannot open shared object file:
Time of Update: 2018-12-04
最近看一些關於核心方面的資料,碰到未公開函數,未能在微軟官方找到答案,從網上瞭解到一些資訊,摘錄下來備用。 我看到驅動程式在ring0調用的一段代碼的使用:ULONG GetModuleBase(PCHAR szModuleName){ ULONG uSize = 0x10000; PVOID pModuleInfo = ExAllocatePoolWithTag(NonPagedPool,
Time of Update: 2018-12-04
關鍵字:段寄存器、段選擇子、通用描述元表、局部描述符表、段描述符、線性地址; 保護模式下使用段機制的CS,SS,DS,ESt,FS,GS儲存的並不是實模式下的段地址,而是一個包含了段選擇子和位移地址的組合值。CPU在讀取記憶體的時候,需要將段寄存器的值解析成為段地址,才能定位找到相應的段。下面我們一步一步解析這個過程。 知識點: 段寄存器值=段選擇子,簡單來說,段選擇子就是用來指定段描述符的位置的一個值。