原创 感覺重構成了笑話

從開始編程到現在,呆過的公司,呆過的每個項目組,幾十上百行的函數都比比皆是。以此爲美的還不在少數,認爲這是“緊湊”;變量太多也不認爲是問題,統統提到函數開頭就行了,認爲這樣“更易讀”;變量命名也很簡短,一個

原创 編程的核心在於抽象

抽象是軟件體系結構的靈魂。一個“優秀”的軟件體系,必然是抽象層次恰到好處的結構。軟件需要抽象,就如同書籍需要目錄和章節一樣;又好似茂盛的樹木需要樹幹和枝丫。任何具備面向抽象編程意味的動作,都使軟件體系朝質變

原创 Win7下重裝ubuntu雙系統

一、卸載現有ubuntu系統(參考[url=http://www.linuxidc.com/linux/2010-03/25129.htm]linuxidc.com[/url])1、下載[url=http:

原创 要成功就現在,不要推到將來

人生爲某一個終極目標而活,很荒謬。這樣的一生時間再長,也只等於一瞬間。爲了六十歲的成功犧牲前面的二十歲、三十歲、四十歲乃至五十歲,得到的是一,失去的也許是十。 每個時期都做最大程度發揮潛能的事情,贏得

原创 學習感悟--編程語言

從前覺得學校的教材太淺,只講語法,根本不講一種語言能用來做什麼。後來不論學習什麼語言都要認真鑽研一番,看它到底有哪些功能。時間長了,就發現,現在感興趣的又回到了語言本身的語法、特性上。因爲,每種語言能做的事

原创 actionscript與javascript交互總結

一、actionscript調用javascriptfunction method4As() { alert('This is js code ')}ExternalInterface.call('m

原创 涉及頁面展示儘量少用js

用js操作DOM元素會引起頁面頻繁的reflow和repaint,加重頁面負擔。能用html和css達到效果的,就不要用js。

原创 基數排序

時間複雜度爲O(k*n)的排序算法。目前只適用於非負整數,當然改造下也可用於負整數。 /** * 過程:1、從個位數起,使用計數排序作爲內排序方法,針對各個數位即“基數”進行排序。 * * *

原创 直接插入排序

直接插入排序。 public void sortWithIndex(Integer arr[], int from, int to) { if (arr == null || to > arr.lengt

原创 獲取鼠標相對位置

獲取鼠標相對於html的位置: function mousePosition(evt){ if(evt.pageX||evt.pageY){ return {x:evt.pageX,y:evt.

原创 《人性的弱點》不是靠學來的

曾經鑽研過卡耐基的這本著作,也老老實實地實踐過一陣子,但大多不了了之。究其原因,無外是逼自己做另一個完全不同的人,太難了,簡直不可能。 比如說,作者建議不吝自己真誠的讚美。這點看起來容易,實際上稍有不

原创 代碼分層、分模塊的好處

第一條,也是最根本的一條:抽象出了代碼的整體框架、脈絡,同時也隔離了具體的變化。沒有分層,把邏輯都寫在一個方法裏面的代碼就好比是一本沒有目錄的電子書,要找哪一章哪一節全得憑感覺,得點進去看,得結合上下文來分

原创 快速排序

快速排序。基於比較的排序中基本上最快的算法O(nlgn)。數據基本有序且每次取第一個元素作劃分點(含基本相同)時將遭遇“最壞”情形,時間複雜度爲O(n^2)。換言之數據越亂越高效。缺點:非穩定排序。 pub

原创 判斷日期格式

var startTime = "2011-03-31 12:33:30";var reg = /^((\d{2}(([02468][048])|([13579][26]))[\-\/\s]?((((0?[13578])|(1[02]))

原创 兼容各瀏覽器盒子模型

各瀏覽器盒模型的組成結構是一致的,區別只是在"怪異模式"下寬度和高度的計算方式,而“標準模式”下則沒有區別。組成結構以寬度爲例:總寬度=marginLeft+borderLeft+paddingLeft+c