Time of Update: 2018-12-03
<html><head><title>Vol_Outlay_ChooseSure</title><link href="../css/index.css" rel="stylesheet" type="text/css"/></head><body bgcolor="#ffffff" onLoad="removeOption(SelectedItem);"><table width="80%"
Time of Update: 2018-12-03
/** 這些資料可以自己控制,設定那個鍵具體代表什麼含義。*/var currentpage=1;function pageResult(page){ var weight=0; var height=0; //可以定位水平顯示的位置 //var setWeight=document.body.scrollHeight/totleNum; //定位樹直方向位置 ,分幾屏顯示資料 //每一螢幕的大小(根據顯示螢幕的大小顯示availHeight,availWidth) var
Time of Update: 2018-12-03
第十四章,組織直線型代碼前言14.1 必須有明確順序的語句針對介面編程而不是針對實現編程,則要求介面沒有假定,或者假定很明顯。1、 設法組織代碼,使依賴關係變得明顯。2、 使子程式名稱能夠明顯的表示依賴關係。3、 利用子程式參數明確表示依賴關係。4、 用注釋對不清晰的依賴關係進行說明。5、 用斷言或錯誤處理代碼來檢查依賴關係。 14.1 順序無關的語句如果語句間沒有依賴關係,則可以根據第二標準來來判斷語句或代碼塊的順序:就近原則(Principle of proximity)。1、
Time of Update: 2018-12-03
軟體開發中有資料驅動、表驅動方法,在流程最佳化中,也許可以考慮一下使用缺陷驅動的方法。所謂缺陷驅動,說白了,就是有病治病,沒病絕不亂投醫。 一個組織,為什麼進行流程最佳化,什麼時候進行流程最佳化,如何進行流程最佳化,是一個管理者要深刻思考的問題。 流程最佳化通常會受到很大的阻力。和曆史上的改革一樣,操之過急往往會導致改革失敗。 採用缺陷驅動的方法進行流程最佳化有下面幾個好處:1、 降低變革阻力。缺陷導致的問題給團隊成員的教訓會降低在團隊中進行流程最佳化的阻力,成員都會樂於接受流程的改變。2
Time of Update: 2018-12-03
英雄和領袖有很多共同特徵,但是應該是不對等的。至於有什麼區別,我以前倒沒有進行深入的思考。今天早上躺在床上的時候,突然想到《人間正道是滄桑》中的一句經典台詞。在這句台詞的啟發下,英雄和領袖的區別在我的大腦中突然清晰起來。 圖1:《人間正道是滄桑》劇照 先從電視劇《人間正道是滄桑》說起。 對於這部電視劇,我個人是十分喜歡的。我已經全部看完,如果有時間,我還會再多看幾遍。我喜歡它主要有三個個原因:一、從藝術的角度看,這部電視劇真的是一部精雕細琢的工藝品,無論是人物造型,故事情節,台詞對白,演
Time of Update: 2018-12-03
明確拒絕的方法:1、 將copy建構函式和copyassignment函式宣告為private。2、 上面的方法不是一個完全方案:因為類的members成員函數和friends函數還可以訪問。一點改進就是指聲明而不定義他們,這樣有地方使用它們的時候,就會產生串連警示。3、 聲明一個baseclass,並且將其copy建構函式和copyassignment操作符指定為private。但是這種方法會增加繼承層數。我不是很認同。 注意:為駁回編譯器自動(暗自)提供的功能,可以將相應的成員函式宣告為pr
Time of Update: 2018-12-03
剛寫了一篇文章,關於溝通的學習的心態,《初心修鍊
Time of Update: 2018-12-03
最近在看SCA方面的資料,對SCA有一點點認識。SCA編程模型之與傳統的編程模型,就好比活字印刷術與雕版印刷術一樣。 1、 雕版印刷術解決了整本書(系統架構)的模組化和重用,把每本書都分解為好多的可重用的“頁”。但是在“頁”層次沒有繼續劃分。這導致每個“頁”如果有一個更改,整個頁都無法使用,更改成本高。在重用性方面也很有限,每個“頁”在固定“書”的範圍內可重用。2、
Time of Update: 2018-12-03
http://acm.pku.edu.cn/JudgeOnline/problem?id=1887題目敘述很繁瑣,其實就是求最長下降子序列,這一類題也是動態規劃的典型題。這類問題有兩種演算法,一種 T(o) = O(n^2),另一種T(o) = O(nlogn),這裡用第一種,在1631 Bridging
Time of Update: 2018-12-03
藉助OSGI可以實現我們公司平台的基礎架構的藍圖。要好好學習一下。OSGI實戰1
Time of Update: 2018-12-03
今天下午加班,和一個同事共同開發一個流程引擎。這個流程引擎是我已經做了差不多的,但是這位同事要在此基礎上進行開發。我們嘗試了結對程式設計。這個流程引擎是我開發的,當時研究它也花費了很多的時間和精力,所以,我自認為我們在這方面還是一個“專家”,對他提出的意見,我總是不自覺的揣摩他的意圖,並對他的思路以一種“專家”的視角審視。後來他的一個思路,和我討論的很久,我終於理解了他的意思,並且,對原有的流程,也作出了很大的改善。下午的這個經曆讓我有點局促不安。不知道,我浪費了多少改進的機會,因為我的心態。回
Time of Update: 2018-12-03
原文:http://www.infoq.com/cn/news/2009/10/dissecting-technical-debt術語”技術債務“是由Ward Cunningham首次提出,指的是Team Dev在設計或架構選型時從短期效應的角度選擇了一個易於實現的方案,但從長遠來看,這種方案會帶來更消極的影響,亦即Team Dev所欠的債務。敏捷專家們就技術債務到底是什麼以及如何對其進行分類給出了自己的看法。Martin Fowler認為下面的定義最能表現技術債務的含義:
Time of Update: 2018-12-03
概述你有一段代碼可以被組織在一起並獨立出來。將這段代碼放進一個獨立的函數中,並讓函數名稱解釋該函數的用途。以後的筆記要多些自己的理解。而不單單是對文中內容的摘要。動機適用情況:主要是為了提高可理解性。1)函數過長;2)需要注釋才能夠理解——這兩種情況下可以考慮使用此重構手法。目標:簡短而又有良好命名的函數。好處:1)函數複用性好。2)高層函數更容易理解(就像讀注釋一樣閱讀代碼。但是,前提是函數有良好的命名)。3)覆寫更容易(??什麼意思,是否是繼承的覆寫)。前提條件:函數要有良好的命名,否則,使
Time of Update: 2018-12-03
1.1 Inline Method1.1.1 概述在函數調用點插入函數本體,然後移除該函數。1.1.2 動機代碼大全和重構中都強調過的一點是,為了代碼的可讀性,不要吝於為幾行代碼寫一個函數。這個重構方法,就是針對上述原則的濫用。如果代碼已經清晰的表達了其意圖,間接層的必要性就不大了。這個時候,就可以把間接層移除。另外一個需要此手法的地方時,你有一群不合理的函數,需要對他進行重構,你可以將他們都inline到調用函數中,然後再提煉出一些更小的函數。間接層有價值,但並不是所有的間接層都有價值。這個
Time of Update: 2018-12-03
1 jsp首頁跳轉sendRedirect <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath =
Time of Update: 2018-12-03
參考:http://askubuntu.com/questions/81647/upgrading-server-9-10Notice that 9.10 (your current installed release) is codenamed karmic, so we use that. (if you have "backports" or "proposed" section of the repository activated, remove the "#" before
Time of Update: 2018-12-03
1.1 Inline Temp1.1.1 概述對所有對該變數的引用操作,替換為對它賦值的那個運算式自身。1.1.2 動機一般是用作replace temp with quer的一部分使用。另外一個地方是它不利於其他重構手法的使用。1.1.3 做法1、 如果這個變數未被聲明為const(Java中為final),將它聲明為const或final,然後編譯。這一不用於確保它只被賦值一次。2、 找出此變數所有引用點,替換為賦值運算式,測試。3、 將原有變數刪除。
Time of Update: 2018-12-03
1 多參數傳遞配置 <action name="invite_*" method="{1}" class="friendAction"> <result name="success" type="tiles">{1}</result> <result name="error" type="tiles">error</result> </action>2
Time of Update: 2018-12-03
在linux下面用tcpdump 抓包非常方便, 但是抓的包要提取出來進行分析, 還是得用wireshark來過濾分析比較方便。 下面先介紹一下 TCPDUMP 的使用 例:tcpdump host 172.16.29.40 and port 4600 -X -s 500tcpdump採用命令列方式,它的命令格式為: tcpdump [ -adeflnNOpqStvx ] [ -c 數量 ] [ -F 檔案名稱 ] [ -i 網路介面 ] [ -r 檔案名稱] [ -s
Time of Update: 2018-12-03
原文:http://www.infoq.com/cn/news/2009/11/uncle-bob-tdd-applicabilityTDD取代架構了嗎?你不能通過TDD得到一個完整的架構。TDD可以告訴你某些架構決定,但是你無法在沒有架構設計的情況下啟動項目。因此某些預先的架構是必要的。其中最重要的一點是決定哪些架構元素可以延遲哪些不能。TDD能夠替代設計嗎?不,你仍然需要所有的設計技能。你仍然需要瞭解設計原則和設計模式。你應該瞭解UML。並且,你應該建立軟體設計的輕量級模型。 事實上,TDD