當前訪問本站: hits

          yjhmily

          堅持走自己的路……

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            100 Posts :: 8 Stories :: 353 Comments :: 0 Trackbacks

          2012年9月29日 #

          原文出處:http://space.itpub.net/133735/viewspace-710117 
          總結的不錯!
          -------------------------------------------------------------------------------------------------
          生產環境最佳實踐
          1.linux 系統:
          1】關閉文件系統/分區的atime 選項
          Vi /etc/fstab
          在對應的分區項后面添加noatime ,nodiratime
          LABEL=/1 / ext3 defaults 1 1
          LABEL=/data1 /data ext4 defaults,noatime,nodiratime 1 2
          2】設置文件句柄4k+,目前該配置已經集成到啟動腳本中。
          Vi /etc/security/limit.conf
          * soft nproc 65536
          * hard nproc 65536
          * soft nofile 65536
          * hard nofile 65536
          3】不要使用large vm page (不要使用大內存頁選項)
          Linux 大內存頁參考:http://linuxgazette.net/155/krishnakumar.html
          4】用dmesg 查看主機的信息。
          2.linux 文件系統的選擇:
          Mongodb 采用預分配的大文件來存儲數據,我們推薦
          1】ext4
          2】xfs
          3.內核版本:
          網絡上對2.6.33-31 以及2.6.32 的表現持懷疑度, 而強力推薦2.6.36
          4.線程堆棧的尺寸
          默認的線程堆棧尺寸為10m ,調整為1m ,已經集成在啟動腳本中。
          項目過程中的總結與建議
          1.大小寫問題
          mongodb 是默認區分大小寫的,但是這會不會衍生出跟mysql 一樣的問題?(mysql 區
          分大小寫,導致windows 與linux 下的表名,字段名不一致)。
          如果無特別用途,建議表名,字段名全部用小寫字母。
          2.盡可能的縮短字段名的長度
          mongodb 的schema free 導致了每筆數據都要存儲他的key 以及屬性,這導致了這些數
          據的大量冗余。開發同事也許考慮到,從易讀性出發設計的key 基本比較長,基本都是按
          照起字面意思去設計的。這導致key 很長。對應的數據存儲占用了很大的空間。
          必要的時候,可以考慮建立一個key 與實際意義的map 表,盡量降低key 的長度。
          示例定義:
          // 基本信息
          static final String _ID = "_id";
          static final String STATUS_CODE = "sc";
          // 緩沖
          static final String DATE = "date";
          static final String MAX_AGE = "age";
          // 內容
          static final String CONTENT = "content";
          static final String CONTENT_TYPE = "ctype";
          static final String CONTENT_LENGTH = "clen";
          static final String ZIP = "zip";
          3. mongodb 單表最大索引數為64
          無索引排序的最大數據量為4M, 超過則報錯退出。
          建議where 條件盡量落在索引字段上,排序字段需要建立索引,索引的使用原則與oracle
          mysql 一致,盡量降低索引數量,索引長度。
          mongodb 的查詢每次只能用到一個索引,對數據的查詢不會“并發”執行
          例如: db.tab.find({'id'=1,'name'=2}) 如果‘id’,‘name' 列上分別有索引
          對查詢效率提升意義不大,如果索引為('id','name') 則大幅提升效率。
          4.mongodb 添加字段
          如果添加字段且帶有default 值,需要全部數據都要修改,這也是設計階段需要考慮的
          事情,這個問題的另外一種解法是應用代碼里做一次判斷。
          5.測試過程的密碼問題
          對于用作數據庫使用的Mongodb,在代碼測試階段都應加上密碼驗證,目前上線階段基
          本都會在密碼驗證方面出現問題(做緩存使用的可以不做密碼驗證)。
          6.數據源連接方式
          使用連接池模式,盡量減少認證帶來的性能額外消耗
          建議采用標準的uri 連接方式: mongodb://user:passwd@host:port,host:port/db
          7.Mongodb日志量
          正常情況下不需要開啟-v 日志選項。
          Mongodb 的-v 日志適合在開發環境的調試線上部署不建議采用這個參數,目前線上
          部署的情況,-v 日志一天也會有幾個G 的日志量,去掉這個參數,跟數據查詢相關的操作
          就不會記日志了,數據庫的內部的重要操作還是會寫日志的。
          8.連接數大小的設置
          Mongodb 驅動程序采用的連接池的方式連接到數據庫,目前從觀察到的情況是應用一
          開啟便根據變量的設置,建立全部連接,然后提供給程序使用,并且一旦其中某個連接
          到數據庫的訪問失敗,則會清空整個連接池到這臺數據庫的連接,并重新建立連接。
          而mongodb 對中斷連接的垃圾清理工作則是懶惰的被動清理方式,如果驅動程序端配
          置的連接數過大,一旦發生重連,則會導致mongo 端堆積大量的垃圾連接數據,導致
          主機資源耗盡。
          建議: mongodb 驅動的連接池大小的設置一般應該控制100 以下,一般情況30-50 足
          夠支撐應用訪問。
          9.鎖的問題
          Mongodb 對數據庫的訪問全部加鎖,如果是查詢請求則設置共享鎖,數據修改請求,
          則設置全局排他鎖,并且是實例級別的排他鎖。并且寫鎖會阻塞讀請求,如果長時間持有
          寫鎖,會阻塞整個實例的讀請求。
          部署建議:
          1】一般情況下,建議不同的應用不要合用一套示例。
          2】如果資源不滿足,需要合用,應該具有相同屬性的應用合用一套實例。
          例如合同mongo 的應用都是讀多寫少,防止一臺寫多應用阻塞讀請求。
          10.關于map/reduce問題
          mongodb 對map/reduce 的支持是單線程的,我們不建議在前臺使用該功能, group by
          是通過map/reduce 實現的,開發過程中,要慎用。
          11.安全問題
          1】Mongodb 運行在mongodb 用戶之上,并禁止mongodb 用戶登錄
          2】使用Mongodb 自帶的認證方法(adduser、auth)限制用戶訪問行為
          3】將Mongodb 置于內網環境中
          4】Mongodb 必須暴露在外網環境中的時候,使用IPTABLES 等網絡層技術進行防護
          5】網絡層面內容為明文傳輸,可以考慮存儲加密文檔,應用端,加解密。
          12.性能監控
          Mongodb 自帶有性能數據收集系統
          Mongostat 實時采集數據庫的多項指標,提供http console 端口號為應用端口號+1000。
          關注的主要性能指標:
          1】Faults:顯示Mongodb 每秒頁面故障的數量,這個是mongoDB 映射到虛擬地址空間,
          而不是物理內存,這個值如果飆高的話,可能意味著機器沒有足夠的內存來
          存儲數據和索引。
          2】Flushes:每秒做了多少次fsync,顯示多少次數據被刷新進了磁盤
          3】locked:寫鎖
          4】idx miss:索引未命中比例
          5】qr | qw:讀寫鎖的請求隊列長度。
          6】conn: 當前已經建立的連接數。
          其他命令:
          Db.stat()
          db.serverStatuse()
          Db.collection.stats()
          13.碎片問題
          Mongodb 數據庫如果數據修改很頻繁,會出現比較嚴重的空間碎片問題,表現在磁盤
          文件擴張與實際數據量不相符,內存不夠用,索引命中率低,查詢效率降低。
          碎片整理,目前我們采用的版本沒有太有效的方法。
          可以用db.repaireDatabase() 來整理數據庫,這個過程非常的慢
          如果是Master-slave 模式則相當于執行一次主從切換,然后從新建立從庫。
          如果是replSet 架構可以停掉數據庫,然后刪除數據目錄,從新從復制復制組中全同步數據,
          這個時候要考慮oplog 的尺寸。
          一個大體的步驟:
          1.】先調用rs.freeze(1200),將每個不想讓它成為primary 的機器讓它在1200 秒內無法成為
          primary(這步也可以不做)
          2. 】將primary stepDown,不出意外新的primary 會起來.
          3. 】將原primary kill 掉.
          4. 】刪掉所有data 數據(調用repair 很慢,真不如干掉重新來)
          5. 】再重啟動原primary 的進程
          6. 】以此循環完成整個復制組的全部重建。
          14.系統備份:
          Mongodb 目前不支持在線備份,只能離線備份。
          我們采用的架構為replSet 和Master-slave .
          基于我們目前的架構以及數據一致性要求,我們沒有安排相關的備份系統。
          15.應用代碼中Mongodb連接問題
          在有些應用在使用Mongodb 過程中會存在以下兩個小問題:
          1. 在應用啟動過程中,應用存在要求連接池中所有的連接都建立成功才讓應用正
          常啟動,這種做法不可取,因為存在網絡問題、Mongodb 拒絕連接或Mongodb 假死情況,如
          果沒加外部try catch 做防護,則Resin 不斷重啟也不能正常啟動端口。
          2.有些應用在使用Mongodb 中連接池配置了safe=true,w=1;這種配置意味著客戶端在
          插入數據或更新數據的時候,要求mongodb 必須將所更新的數據寫入磁盤并返回更新成功
          的信息給程序。如果碰上應用程序訪問壓力大,mongodb 就會反應遲鈍,并會發生假死可能,
          針對此情況,需要評估數據的一致性需求,做出合適調整。我們一般建議關閉此選項。
          16.補充開發方面的一些問題
          1】skip+limit翻頁,越往后面越慢,有資料說用數組元素的分頁可以解決,目前還沒
          試過,比較靠譜的做法是,先找出上次的id,翻頁的時候不用skip:
          last_row_id = ObjectId(‘....’);
          db.activity_stream->find({_id:{$lt: last_row_id },
          user_id:20 } ).sort( {_id:-1} ).limit(10);
          2】.只有真正需要的字段才select出來
          3】.更新的某條數據的時候,先查出來再更新會減小鎖的時間
          4】.只有返回很少結果的查詢才用索引,否則會加載太多數據,比沒有用索引還慢
          5】.屬性比較多的時候,建立分層的關系能夠提高查詢效率,否則每個記錄都要過一遍
          才能找到要的屬性
          17.關于硬件資源的選擇:
          虛擬機可以很好的隔離資源,并可動態的擴展。
          我們建議mongodb 的部署采用虛擬機的方式,每個虛擬機部署一個實例,使各節點分
          散在不同的物理機上,根據應用的前期預測,平衡虛擬機的之間的i/o。
          posted @ 2012-09-29 22:17 kangxm 閱讀(630) | 評論 (0)編輯 收藏

          2012年8月10日 #

          adb shell

          # mount -oremount,rw /dev/block/mtdblock3 /system

          # pm list packages -f (列出apk和包名的對應關系)
          # cd /system/app (APK文件所在地)
          # rm Mms.* (rom自帶的短信)
          # exit

           

          adb uninstall com.android.mms

           

          返回Success,就說明卸載成功了

           

          注意..
          刪除之前, 最好用

          1. adb pull /system/app/xxx.apk .

          復制代碼

          給備份一下, 避免出錯(系統老是Force Close, 沒法用).
          出錯后, 可以用

          1. adb push xxx.apk /system/app
          adb shell

          # mount -oremount,rw /dev/block/mtdblock3 /system

          # pm list packages -f (列出apk和包名的對應關系)
          # cd /system/app (APK文件所在地)
          # rm Mms.* (rom自帶的短信)
          # exit

           

          adb uninstall com.android.mms

           

          返回Success,就說明卸載成功了

           

          注意..
          刪除之前, 最好用

          1. adb pull /system/app/xxx.apk .

          復制代碼

          給備份一下, 避免出錯(系統老是Force Close, 沒法用).
          出錯后, 可以用

          1. adb push xxx.apk /system/app
          posted @ 2012-08-10 17:56 kangxm 閱讀(537) | 評論 (0)編輯 收藏

          2011年8月22日 #

          最近的機器內存又爆滿了,出了新增機器內存外,還應該好好review一下我們的代碼,有很多代碼編寫過于隨意化,這些不好的習慣或對程序語言的不了解是應該好好打壓打壓了。
          下面是參考網絡資源和總結一些在java編程中盡可能做到的一些地方
          -
          1.盡量在合適的場合使用單例
          使用單例可以減輕加載的負擔,縮短加載的時間,提高加載的效率,但并不是所有地方都適用于單例,簡單來說,單例主要適用于以下三個方面
          第一,控制資源的使用,通過線程同步來控制資源的并發訪問
          第二,控制實例的產生,以達到節約資源的目的
          第三,控制數據共享,在不建立直接關聯的條件下,讓多個不相關的進程或線程之間實現通信
          -
          2.盡量避免隨意使用靜態變量
          要知道,當某個對象被定義為stataic變量所引用,那么gc通常是不會回收這個對象所占有的內存,如
          public class A{
          static B b = new B();
          }
          此時靜態變量b的生命周期與A類同步,如果A類不會卸載,那么b對象會常駐內存,直到程序終止。
          -
          3.盡量避免過多過常的創建java對象
          盡量避免在經常調用的方法,循環中new對象,由于系統不僅要花費時間來創建對象,而且還要花時間對這些對象進行垃圾回收和處理,在我們可以控制的范圍內,最
          大限度的重用對象,最好能用基本的數據類型或數組來替代對象。
          -
          4.盡量使用final修飾符
          帶 有final修飾符的類是不可派生的。在Java核心API中,有許多應用final的例子,例如java.lang.String。為String類指 定final防止了使用者覆蓋length()方法。另外,如果一個類是final的,則該類所有方法都是final的。java編譯器會尋找機會內聯 (inline)所有的final方法(這和具體的編譯器實現有關)。此舉能夠使性能平均提高50%。
          -
          5.盡量使用局部變量
          調用方法時傳遞的參數以及在調用中創建的臨時變量都保存在棧(Stack)中,速度較快。其他變量,如靜態變量,實例變量等,都在堆(Heap)中創建,速度較慢。
          -
          6.盡量處理好包裝類型和基本類型兩者的使用場所
          雖然包裝類型和基本類型在使用過程中是可以相互轉換,但它們兩者所產生的內存區域是完全不同的,基本類型數據產生和處理都在棧中處理,包裝類型是對象,是在堆中產生實例。
          在集合類對象,有對象方面需要的處理適用包裝類型,其他的處理提倡使用基本類型。
          -
          7.慎用synchronized,盡量減小synchronize的方法
          都 知道,實現同步是要很大的系統開銷作為代價的,甚至可能造成死鎖,所以盡量避免無謂的同步控制。synchronize方法被調用時,直接會把當前對象鎖 了,在方法執行完之前其他線程無法調用當前對象的其他方法。所以synchronize的方法盡量小,并且應盡量使用方法同步代替代碼塊同步。
          -
          8.盡量使用StringBuilder和StringBuffer進行字符串連接
          這個就不多講了
          -
          9.盡量不要使用finalize方法
          實際上,將資源清理放在finalize方法中完成是非常不好的選擇,由于GC的工作量很大,尤其是回收Young代內存時,大都會引起應用程序暫停,所以再選擇使用finalize方法進行資源清理,會導致GC負擔更大,程序運行效率更差。
          -
          10.盡量使用基本數據類型代替對象
          String str = "hello";
          上面這種方式會創建一個“hello”字符串,而且JVM的字符緩存池還會緩存這個字符串;
          String str = new String("hello");
          此時程序除創建字符串外,str所引用的String對象底層還包含一個char[]數組,這個char[]數組依次存放了h,e,l,l,o
          -
          11.單線程應盡量使用HashMap, ArrayList
          HashTable,Vector等使用了同步機制,降低了性能。
          -
          12.盡量合理的創建HashMap
          當你要創建一個比較大的hashMap時,充分利用另一個構造函數
          public HashMap(int initialCapacity, float loadFactor)
          避 免HashMap多次進行了hash重構,擴容是一件很耗費性能的事,在默認中initialCapacity只有16,而loadFactor是 0.75,需要多大的容量,你最好能準確的估計你所需要的最佳大小,同樣的Hashtable,Vectors也是一樣的道理。
          -
          13.盡量減少對變量的重復計算
          for(int i=0;i<list.size();i++)
          應該改為
          for(int i=0,len=list.size();i<len;i++)
          并且在循環中應該避免使用復雜的表達式,在循環中,循環條件會被反復計算,如果不使用復雜表達式,而使循環條件值不變的話,程序將會運行的更快。 
          -
          14.盡量避免不必要的創建
          A a = new A();
          if(i==1){list.add(a);}
          應該改為
          if(i==1){
          A a = new A();
          list.add(a);}
          -
          15.盡量在finally塊中釋放資源
          程序中使用到的資源應當被釋放,以避免資源泄漏。這最好在finally塊中去做。不管程序執行的結果如何,finally塊總是會執行的,以確保資源的正確關閉。 
          -
          16.盡量使用移位來代替'a/b'的操作
          "/"是一個代價很高的操作,使用移位的操作將會更快和更有效
          int num = a / 4;
          int num = a / 8;
          應該改為
          int num = a >> 2;
          int num = a >> 3;
          但注意的是使用移位應添加注釋,因為移位操作不直觀,比較難理解
          -
          17.盡量使用移位來代替'a*b'的操作
          同樣的,對于'*'操作,使用移位的操作將會更快和更有效
          int num = a * 4;
          int num = a * 8;
          應該改為
          int num = a << 2;
          int num = a << 3;
          -
          18.盡量確定StringBuffer的容量
          StringBuffer 的構造器會創建一個默認大小(通常是16)的字符數組。在使用中,如果超出這個大小,就會重新分配內存,創建一個更大的數組,并將原先的數組復制過來,再 丟棄舊的數組。在大多數情況下,你可以在創建 StringBuffer的時候指定大小,這樣就避免了在容量不夠的時候自動增長,以提高性能。 
          如:StringBuffer buffer = new StringBuffer(1000);  
          -
          19.盡量早釋放無用對象的引用
          大部分時,方法局部引用變量所引用的對象 會隨著方法結束而變成垃圾,因此,大部分時候程序無需將局部,引用變量顯式設為null。
          例如:
          Public void test(){
          Object obj = new Object();
          ……
          Obj=null;
          }
          上面這個就沒必要了,隨著方法test()的執行完成,程序中obj引用變量的作用域就結束了。但是如果是改成下面:
          Public void test(){
          Object obj = new Object();
          ……
          Obj=null;
          //執行耗時,耗內存操作;或調用耗時,耗內存的方法
          ……
          }
          這時候就有必要將obj賦值為null,可以盡早的釋放對Object對象的引用。
          -
          20.盡量避免使用二維數組
          二維數據占用的內存空間比一維數組多得多,大概10倍以上。
          -
          21.盡量避免使用split
          除 非是必須的,否則應該避免使用split,split由于支持正則表達式,所以效率比較低,如果是頻繁的幾十,幾百萬的調用將會耗費大量資源,如果確實需 要頻繁的調用split,可以考慮使用apache的StringUtils.split(string,char),頻繁split的可以緩存結果。
          -
          22.ArrayList & LinkedList
          一 個是線性表,一個是鏈表,一句話,隨機查詢盡量使用ArrayList,ArrayList優于LinkedList,LinkedList還要移動指 針,添加刪除的操作LinkedList優于ArrayList,ArrayList還要移動數據,不過這是理論性分析,事實未必如此,重要的是理解好2 者得數據結構,對癥下藥。
          -
          23.盡量使用System.arraycopy ()代替通過來循環復制數組
          System.arraycopy() 要比通過循環來復制數組快的多 
          -
          24.盡量緩存經常使用的對象
          盡可能將經常使用的對象進行緩存,可以使用數組,或HashMap的容器來進行緩存,但這種方式可能導致系統占用過多的緩存,性能下降,推薦可以使用一些第三方的開源工具,如EhCache,Oscache進行緩存,他們基本都實現了FIFO/FLU等緩存算法。
          -
          25.盡量避免非常大的內存分配
          有時候問題不是由當時的堆狀態造成的,而是因為分配失敗造成的。分配的內存塊都必須是連續的,而隨著堆越來越滿,找到較大的連續塊越來越困難。
          -
          26.慎用異常
          當 創建一個異常時,需要收集一個棧跟蹤(stack track),這個棧跟蹤用于描述異常是在何處創建的。構建這些棧跟蹤時需要為運行時棧做一份快照,正是這一部分開銷很大。當需要創建一個 Exception 時,JVM 不得不說:先別動,我想就您現在的樣子存一份快照,所以暫時停止入棧和出棧操作。棧跟蹤不只包含運行時棧中的一兩個元素,而是包含這個棧中的每一個元素。
          如 果您創建一個 Exception ,就得付出代價。好在捕獲異常開銷不大,因此可以使用 try-catch 將核心內容包起來。從技術上講,您甚至可以隨意地拋出異常,而不用花費很大的代價。招致性能損失的并不是 throw 操作——盡管在沒有預先創建異常的情況下就拋出異常是有點不尋常。真正要花代價的是創建異常。幸運的是,好的編程習慣已教會我們,不應該不管三七二十一就 拋出異常。異常是為異常的情況而設計的,使用時也應該牢記這一原則。

          文章主要是為了拋磚引玉,希望有更多牛人的指點

          謝謝的 xuanyuan 的建議:
          ===================================================
          7.慎用synchronized,盡量減小synchronize的方法
          re:同意,不過文中有個地方說錯了,使用synchronized關鍵字并不一定都是鎖定當前對象的,要看具體的鎖是什么。如果是在方法上加的synchronized,則是以對象本身為鎖的,如果是靜態方法則鎖的粒度是類。
          ---------------
          9.盡量不要使用finalize方法
          re:同意,其實不推薦用finalize方法的根本原因在于,JVM的規范并不保證何時執行該方法,所以用這個方法來釋放資源很不合適,有可能造成長時間資源得不到釋放。
          ---------------
          16.盡量使用移位來代替'a/b'的操作;17.盡量使用移位來代替'a*b'的操作
          re:個人不太同意這兩條。這樣做確實有更好的性能,但是卻犧牲了可讀性。這兩個操作符對很多程序員來說并不直觀。我認為在如今硬件價格不那么昂貴的情況下,略微犧牲一些性能,換來更好的可讀性和可維護性是好的選擇。
          ===================================================
          19.盡量早釋放無用對象的引用
          大部分時,方法局部引用變量所引用的對象 會隨著方法結束而變成垃圾,因此,大部分時候程序無需將局部,引用變量顯式設為null。
          例如:
          Public void test(){
          Object obj = new Object();
          ……
          Obj=null;
          }
          上面這個就沒必要了,隨著方法test()的執行完成,程序中obj引用變量的作用域就結束了。但是如果是改成下面:
          Public void test(){
          Object obj = new Object();
          ……
          Obj=null;
          //執行耗時,耗內存操作;或調用耗時,耗內存的方法
          ……
          }
          如果Object obj = new Object(); 如果這對象并不是大對象,這有必要嗎?Obj=null;只是告訴jvm這個對象已經成為垃圾,至于什么時候回收,還不能確定! 這可讀性也不好!
          ===================================================
          posted @ 2011-08-22 15:18 kangxm 閱讀(557) | 評論 (0)編輯 收藏

          2011年4月6日 #

          提示/boot目錄空間不足,查了一些資料,最后把久的內核給卸載得以解決。

          1.首先查看自己使用的內核

          lxz@lxz-pc:~$ uname -a

          Linux lxz-pc 2.6.35-25-generic #44-Ubuntu SMP Fri Jan 21 17:40:48 UTC 2011 i686 GNU/Linux


          2.然后查看自己boot目錄,選擇需要卸載的版本
          lxz@lxz-pc:~$    cd /boot
          lxz@lxz-pc:/boot$  ls -l
          總計 35125
          -rw-r--r-- 1 root root   705861 2011-01-22 06:04 abi-2.6.35-25-generic
          -rw-r--r-- 1 root root   709370 2011-03-01 23:56 abi-2.6.35-28-generic-pae
          -rw-r--r-- 1 root root   128615 2011-01-22 06:04 config-2.6.35-25-generic
          -rw-r--r-- 1 root root   129056 2011-03-01 23:56 config-2.6.35-28-generic-pae
          drwxr-xr-x 3 root root     7168 2011-03-23 10:31 grub
          -rw-r--r-- 1 root root 10761551 2011-03-04 10:49 initrd.img-2.6.35-25-generic
          -rw-r--r-- 1 root root 10741569 2011-03-23 10:18 initrd.img-2.6.35-28-generic-pae
          drwx------ 2 root root    12288 2011-01-05 04:52 lost+found
          -rw-r--r-- 1 root root   165084 2010-09-25 01:14 memtest86+.bin
          -rw-r--r-- 1 root root   167264 2010-09-25 01:14 memtest86+_multiboot.bin
          -rw-r--r-- 1 root root  1831296 2011-01-22 06:04 System.map-2.6.35-25-generic
          -rw-r--r-- 1 root root  1873873 2011-03-01 23:56 System.map-2.6.35-28-generic-pae
          -rw-r--r-- 1 root root     1192 2011-01-22 06:06 vmcoreinfo-2.6.35-25-generic
          -rw-r--r-- 1 root root     1196 2011-03-01 23:57 vmcoreinfo-2.6.35-28-generic-pae
          -rw-r--r-- 1 root root  4294672 2011-01-22 06:04 vmlinuz-2.6.35-25-generic
          -rw-r--r-- 1 root root  4428048 2011-03-01 23:56 vmlinuz-2.6.35-28-generic-pae
          上面顯示的情況中,是我已經把linux-image-2.6.35-27-generic的結果

          3.卸載舊內核應該使用命令:
          lxz@lxz-pc:/boot$  sudo apt-get remove linux-image-2.6.35-27-generic

          4.查看/boot目錄:
          lxz@lxz-pc:/boot$ sudo du -m /boot           //以MB為單位顯示
          1    /boot/grub/locale
          2    /boot/grub
          1    /boot/lost+found
          36    /boot

          5.查看文件系統使用情況,和文件系統被掛在的位置:
          lxz@lxz-pc:/boot$  df  -lh
          文件系統            容量  已用  可用 已用%% 掛載點
          /dev/sda7              71G  7.7G   60G  12% /
          none                 1001M  244K 1001M   1% /dev
          none                 1007M  216K 1006M   1% /dev/shm
          none                 1007M  100K 1006M   1% /var/run
          none                 1007M     0 1007M   0% /var/lock
          /dev/sda8              92M   42M   46M  48% /boot
          posted @ 2011-04-06 12:09 kangxm 閱讀(3187) | 評論 (0)編輯 收藏

          2011年3月23日 #

          在ubuntu環境下進行android開發,想把目標設備定為真實的手機。

          前幾天剛買了個defy就試了下,結果打開手機usb調試模式連接到電腦后,在eclipse里面手機名字顯示為一堆???號,且無法使用。

          需要以下的步驟才能連接到:

          1 把手機設備為usb調試模式并和電腦連接

          2 打開終端運行

              lsusb


              屏幕上會有一行顯示類似

              Bus 002 Device 012: ID 22b8 :xxxx Motorola xxxxxxxxxxxx

              這就是你的android手機了

          3 然后在終端運行

             sudo gedit /etc/udev/rules.d/50-android.rules

             并編輯其中加入行: SUBSYSTEM=="usb", SYSFS{"Motorola xxxxxxxxxxxx "}=="22b8 ", MODE="0666"

          4 接著運行

              sudo chmod a+rx /etc/udev/rules.d/50-android.rules

              sudo /etc/init.d/udev restart

          5 最后進入android sdk的tools目錄 platform-tools 運行

              sudo ./adb kill-server

              sudo ./adb devices

          試著重新打開eclipse,在運行參數里選則手動選取目標設備,這時在Device Chooser里面應該就可以看到正常顯示出名字的手機了。

          posted @ 2011-03-23 14:11 kangxm 閱讀(2068) | 評論 (2)編輯 收藏

          2010年11月3日 #

              做個記錄:

          1、刪除 mysql

          1 sudo apt-get autoremove --purge mysql-server-5.0
          2 sudo apt-get remove mysql-server
          3 sudo apt-get autoremove mysql-server
          4 sudo apt-get remove mysql-common (非常重要)
          上面的其實有一些是多余的,建議還是按照順序執行一遍

          清理殘留數據

          dpkg -|grep ^rc|awk '{print $2}' |sudo xargs dpkg -P

          2、安裝 mysql

          1 sudo apt-get install mysql-server
          2 sudo apt-get install mysql-client
          3 sudo apt-get install php5-mysql(安裝php5-mysql 是將php和mysql連接起來 )
           
          一旦安裝完成,MySQL 服務器應該自動啟動。您可以在終端提示符后運行以下命令來檢查 MySQL 服務器是否正在運行:
          1 sudo netstat -tap | grep mysql


          當您運行該命令時,您可以看到類似下面的行:

          tcp 0 0 localhost.localdomain:mysql *:* LISTEN -

          如果服務器不能正常運行,您可以通過下列命令啟動它:


          1 sudo /etc/init.d/mysql restart


          3、進入mysql

          $mysql -uroot -p 管理員密碼
          配置 MySQL 的管理員密碼:

          1 sudo mysqladmin -u root password newpassword




          posted @ 2010-11-03 13:49 kangxm 閱讀(49703) | 評論 (31)編輯 收藏

          2010年8月10日 #

          諸如svn、subclipse之類的名詞解釋我就不在這里羅嗦了,直接進入正題,

          先說說什么環境下會遇到javaHL的問題:
                當SVN服務器為windows2003時,且客戶端的eclipse運行在linux(這里以Ubuntu為例)上時,一般情況下SVN的接口都只能用javaHL
          其他情況下,接口使用SVNkit就完全足夠了;
                如果沒有安裝javaHL的話,一般啟動eclipse或者更新subclipse插件是會報如下錯誤:

          Failed to load JavaHL Library. These are the errors that were encountered: no libsvnjavahl-1 in java.library.path no svnjavahl-1 in java.library.path no svnjavahl in java.library.path java.library.path = /usr/lib/jvm/java-6-sun-1.6.0.03/jre/lib/i386/client::/ usr/lib/jvm/java-6-sun-1.6.0.03/jre/lib/i386::/usr/lib/firefox:/usr/lib/ firefox/:/usr/java/packages/lib/i386:/lib:/usr/lib
          其實就是說沒有安裝javaHL.

          再說說如何安裝javaHL吧(以Ubuntu操作系統為例):
                 1、在終端運行:sudo apt-get install libsvn-java
                 2、檢查/usr/lib/jni目錄是否存在,如果不存在,說明javaHL沒有安裝成功

          最后需要修改eclipse配置,使javaHL起作用:
                 1、在eclipse目錄下的eclipse.ini添加: -Djava.library.path=/usr/lib/jni
                 2、確認是否已經安裝subclipse插件,如果沒有,請自行安裝,可以直接在eclipse中更新,也可以下載subclipse的包,手動安裝插件
                 3、重啟eclipse,一切搞定!!!


          posted @ 2010-08-10 01:35 kangxm 閱讀(7017) | 評論 (0)編輯 收藏

          2010年4月20日 #

                  
                  目前手上的項目需要用到memory cache,于是我選擇強大的Memcached。至于Memcached的強大先不在這里說了,
          后續有時間,我專門來介紹一下Memcached吧。今天只介紹下安裝和配置;
                   直接進入主題吧;
                   1、下載
                         Memcached下載地址: http://memcached.org/  我下載的最新版本v1.45
                         Libevent下載地址:http://www.monkey.org/~provos/libevent/   我下載的版本是libevent-1.4.13-stable
                        
                    因為Memcache用到了libevent這個庫用于Socket的處理,所以需要安裝libevent

                  2、先安裝libevent
                       # tar zxvf libevent-1.4.13-stable.tar.gz
                       # cd libevent-1.4.13-stable
                       # ./configure –prefix=/usr
                       # make
                       # make install
                
                  3、再安裝Memcached,同時需要安裝中指定libevent的安裝位置:
                       # tar zxvf memcached-1.4.5.tar.gz
                       # cd memcached-1.4.5
                       # ./configure –with-libevent=/usr
                       # make
                       # make install
                       安裝完成后會把memcached放到 /usr/local/bin/memcached ,

                  4、memcached的基本設置

                       啟動Memcache的服務器端:
                       # /usr/local/bin/memcached -d -m 100 -u root -l 192.168.1.192 -p 12000 -c 256 -P /tmp/memcached.pid

              -d選項是啟動一個守護進程,
              -m是分配給Memcache使用的內存數量,單位是MB,我這里是100MB,
              -u是運行Memcache的用戶,我這里是root,
              -l是監聽的服務器IP地址,如果有多個地址的話,我這里指定了服務器的IP地址192.168.1.192,
              -p是設置Memcache監聽的端口,我這里設置了12000,最好是1024以上的端口,
              -c選項是最大運行的并發連接數,默認是1024,我這里設置了256,按照你服務器的負載量來設定,
              -P是設置保存Memcache的pid文件,我這里是保存在 /tmp/memcached.pid,

                     如果要結束Memcache進程,執行:

                     # kill  cat /tmp/memcached.pid

                    也可以啟動多個守護進程,不過端口不能重復。

                      
          posted @ 2010-04-20 12:19 kangxm 閱讀(648) | 評論 (0)編輯 收藏

          2010年4月16日 #

          原處:http://www.javaeye.com/topic/644277

          《為什么畢業后5年同學間的差距會拉得如此巨大?》 引起大家不少的共鳴,今天繼續發布一篇勵志的文章,首先聲明:如果你是“憤青”或“類憤青”,對不起,請你離開,我怕我的觀點再次傷害你那“純潔”得幾乎不識人間煙火的心靈!

             如果你想從此改變自己,那么,就花上十幾分鐘的時間,仔仔細細把這篇文章看完。如果你想改變自己的命運,那么,從現在就開始行動。有時候我們之所以失 敗,99%的原因是因為說得太多,而行動得太少!那1%的人或許并不聰明,或許只是小學畢業,但是人家成功了,做了你的上司,那是因為人家善于用行動證明 自己,而不是嘴巴。我不敢保證看了我這篇文章就一定會使你平步青云,我沒有那個本事。如果你有一天飛黃騰達,也絕對與這篇文章沒有直接的關系。因為,你的 命運,只掌握在你自己的手中!

             同樣是打工,為什么你一個月只有2、3K,而唐駿的身價卻可以高達10億?

             或許你會反駁我,說人人都成為唐駿的概率有多大?的確,人人都成為唐駿的確不現實,但是經過努力,月薪達到8K、1W的總是大有人在吧?雖然不能達到大富大貴,但也不至于被女朋友看不起,付不起房貸首付款吧?

              很多人都喜歡抱怨,覺得這個世道不好。但現實是,在同樣世道不好的情況下,為什么有的人成功,而你卻碌碌無為?差距在哪里?怪世道不好嗎?還是怪自己沒本 事?我說這話可能你不愛聽。但是一個無法辯駁的事實是:你要是有本事,為什么月薪只有2、3K或者3、4K?事實勝于雄辯。所以,如果看到這里還想抱怨的 人,那么,也請你趁早離開。抱怨永遠解決不了問題。

              職場是一個復雜的綜合體。看到別人在職場上呼風喚雨,你認為很愜意,是么?但是他們風光表面的背后,又有幾個有看到他們曾經付出的巨大艱辛?這個社會其實 是很公平的。努力不一定有回報,但是如果不努力,就一定沒有回報。要怪,就怪自己投錯胎,怪自己的老子沒本事,當初沒有給你留下一大筆可以揮霍的資本!

             說歸說,對于那些想改變自己的朋友們來說,還是需要看清楚一些東西,有一些經驗也想和大家分享分享。同樣是職場人士,我也有我的經驗和感受。在打工的3年 里,我得到了7次加薪(同時進入公司的員工,加薪不超過2次的員工大有人在),順利地從員工做到了總監,是公司所有員工中成長最快的。我敢肯定,在看過這 篇文章的人當中,肯定有人比我更優秀。但是對于那些更渴望得到幫助的朋友們來說,我還是希望把自己的經驗寫出來,與大家分享。

          我自己寫了一篇文章,叫《決定前程的8件事,你做到了幾件?》在這里整理出來,希望能對大家有所幫助。

          一、一定要清楚自己未來的目標是什么
          很多人把職場想得太美好,其實不然。如果你沒有規劃好,你就會難免遇到各種各樣的問題:工作不開心;沒有前進的動力;工作不是自己想像的那么好;自己的才能無法發揮;看到以前的同學待遇如何如何,便受不了刺激,急切地想跳槽;當初為了生存而找的工作,根本就不適合自己……
          這是幾乎所有初入職場的朋友都會面臨的問題。而這些問題通常會在步入職場的1-3年之內最明顯(3年之后之所以不明顯,是因為你已經被現實折磨得 太久了,已經被種種不平現象同化了,因此也就習慣了。你曾經的種種抱負被現實碾得粉碎,于是,你也從一個志向遠大的年輕人一下子變成了一個碌碌無為、甘于 平庸、成天為了生計而奔走的普通打工者)。

             如果不及早解決這些問題,那么,你就會荒廢這3年的時間(有的人可能會更長),而對于一個職場新人來說,這3年至關重要,是鍛煉能力、積累資本的黃金3 年!一旦錯過,則要花費更多的時間,從頭再來,重新彌補!更有甚者,可能一輩子都無法彌補!這絕對不是危言聳聽!因此,如果你的職場年齡還沒有超過3年, 恭喜你,還有改變命運的機會。而一旦超過了3年,那么,你的每一次改變,都將付出巨大的代價!

             為什么要清楚自己的目標?因為,有了目標,才有行動的指南。知道自己想干什么,喜歡干什么,這才是你前進的最終動力。工作不開心、動力不足、盲目跳槽的最 根本原因是職業目標不清晰。沒有目標,便沒有了追求,于是,所有的行動只是為了掙一口飯吃。你根本沒有考慮過自己的未來應該端什么飯碗。
          或許你在30歲之前還有揮霍的資本,因為年輕嘛,做什么都不怕。連廣告上都說了,“30歲之前,有什么好怕的?!”而一旦過了30歲,你走的每 一步都必須要慎之又慎,因為:你要結婚、你要養活老婆孩子、你要供房貸、你要供養年邁的父母、孩子大了還要上學、父母年邁了需要照顧……等等等等,所有的 這些責任,都要你來承擔。如果沒有規劃,一旦出現問題,你只能自亂陣腳。

             人生的職業發展如同品牌塑造一樣,只不過你的產品就是你自己。你自己的發展目標,也就是你人生的品牌目標。有了目標,就要考慮該怎么走。每走一步,都應該 離目標更近,而不是更遠。所以,你每做一個決定的時候,要衡量這個決定對不對,唯一的標準就是:它是不是能夠幫助你離目標更近?如果不是,那么,趕緊住 手,因為,你走的路偏離了你的目標!再走下去,只能錯得更離譜!

             對于人生目標,涉及到職業生涯規劃的問題。這是一個老話題,很多人以為自己很了解了,其實卻遠不是那么回事。大家可以看一些相關書籍,但在中國,此類書籍 的最大問題就是說教性比較強,實用性非常差!很多人看了書之后依然一頭霧水,不知所措,看了之后反而更糊涂。我的意見是,最好還是找一些專門的機構咨詢一 下。
          注意:是咨詢,不是測評。二者的區別在于,咨詢的意義在于“為客戶提供可應用性的解決方案”,而測評則僅僅局限于“幫助你認識自己”,至于怎么 做,怎樣行動才能更接近自己的目標,不知道!因為測評的人都是專家,而國內的專家都是做研究的,沒有實戰經驗,甚至對職場升遷是怎么回事都不太清楚,怎么 可能指導你做實戰規劃?建議大家去做一下職業生涯規劃。如果現在不解決,恐怕未來3年你都會白白浪費,更有可能因此而毀了你的一生!
          記住:有了規劃,不一定能夠成功;但沒有規劃,一定不會成功!

          二、能力固然重要,但并不能代表全部

            這里所說的能力,是指專業技能。步入職場你會發現,能力其實并沒有你想像的那么重要,它并不是是步步高升的全部資本。你會發現一個能力不太強的人做了你的 上司,只因為他在這個公司干了10年——這說明“資歷”是你高升的本錢(這種現象,在國有企業和政府機構里特別明顯,因此,在國企工作的朋友和公務員同志 要注意了);有時候你會發現能力并不怎么強,但是與老板關系非常好的人通常能夠得到提拔——這說明“關系”也是本錢。在我原先工作的公司,有兩個特別明顯 的例子。

              一 個有著豐富工作經驗的男士,跳槽來到公司,能力也特別強,但就是與同事處理不好關系,自認為自己非常牛,喜歡主動當別人的“導師”,動不動就對別人的工作 指手畫腳,頂頭上司非常討厭他;而同時進入公司的另外一位女士,能力不是特別強,但是非常踏實、勤奮、與其他同事相處得也很好,能夠顧全大局。最后試用期 結束時,那位女士得到了公司的認可,而那位男士則收到了公司的辭退通知。

             在職場上,一定要對職場有清醒的認識,不要生活在夢幻當中,不要太理想化,不要標新立異,不要恃才傲物,不要認為有能力就可以走遍天下。專業技能固然重 要,但是職場發展看的是一個人的綜合素質。綜合素質高的人,才是職場發展的“潛力股”。這些綜合素質,包括溝通能力、人際關系能力、團隊合作能力、管理能 力、工作態度及敬業精神等各種“軟實力”。

              對于有些朋友而言,可能會對這些“軟實力”不屑一顧。很多人會說,如果老板喜歡愛拍馬屁的人,難道我就要委屈自己,學著去拍馬屁?很不幸,我會告訴你,答 案是肯定的,你一定要學會拍馬屁,否則吃虧的是自己。但要聲明的是,我不是教你詐。中國有句成語,叫外圓內方,用在人際交往上,就是說你與人相處要學會妥 善處理各種關系,但不可因此而失去了內心的準則,否則就變質了。尤其在中國這種注重人情的社會,這種人際交往的能力一定要好好練練。
          如果有時間,看一下《厚黑學》,了解一下社會現實,切忌不可因此而迷失了自己。

          三、要手足夠的“亮劍”資本

              有的大學生經常會跟我說,我畢業之后一定要找到一份月薪多少多少的工作,爭取做到什么什么職位。這時候我總是會耐心聽完他們的“遠大藍圖”,然后問一句:“你憑什么達到你的目標?你的資本是什么?”然后他就會啞口無言。

              我相信讀過這篇文章的人也會和這位大學生一樣,有著自己的偉大抱負,但是大學四年下來,你有沒有想到,要實現這些目標,你的資本是什么?對于很多已經身在職場的朋友而言,你晉升的資本又是什么?

             人生在發展過程中,很多時候都需要毫不猶豫地向別人展示自己的實力,要敢于展示,善于展示,這就是“亮劍”。因為這年頭,酒香也怕巷子深,是金子未必會發 光。相反,發光的倒是那些碎玻璃、爛瓶子。中國什么都缺,就是不缺人。茫茫人海,如果你一直都謙虛地默默無聞,那么,你就大錯特錯了。

             既然具備了“亮劍”的意識,那么,下一步你就要考慮到亮什么劍:我到底拿什么資本給人家看?對于職場上的朋友而言,你“亮劍”的資本又在哪里?你的業績提 升了嗎?你的能力提升了嗎?你在一年內看過多少本對自己的職業有益的書籍?你參加過幾次培訓班來為自己充電?如果沒有,你又憑什么讓老板為你加工資?靠抱 怨?你肯定會提前被職場淘汰出局!


          四、慎重對待第一份工作

          這一觀點,對于大學生來說,更有意義。
          現在整個社會、媒體、專家等等各種單位都一直在鼓吹“先就業,再擇業”。這種論調不是今年就有,而是多好多年前就出現了,并且屢屢出現,不絕于耳。相信當年我們大學畢業時候,也會有很多人相信了這一點吧?管它呢,騎驢找馬,先找份工作掙錢填飽肚子再說!

          但是根據本人自身的經驗及職場發展的現實情況來看,本人絕對不贊同這種說法。相信現在在職場上發展不順的朋友,多半也和第一份工作有關系吧?俗話說,“男怕入錯行,女怕嫁錯郎。”第一步錯了,以后就會經常犯錯。正所謂一步錯,步步錯。

          為什么第一分工作這么重要呢?原因有三:

          1、先入為主的觀念影響。
          具體是指,先聽進去的話或先獲得的印象往往在頭腦中占有主導地位,以后再遇到不同的意見時,就不容易接受。舉個最簡單的例子:在你的頭腦印象中, 諾基亞已經是手機的代名詞。如果有一天諾基亞生產出了一種“諾基亞牌電腦”,你的心里是什么感覺?非常不對勁對不對?這主是先入為主現象。

          我原先有一個同事,曾經在海爾工作過,她用的是海爾的手機,功能也非常不錯,但她總是說要換一部手機,我問她原因,她說,兜里裝著海爾的手機,總 感覺像裝了一個大冰箱,非常不舒服。為什么?先入為主唄!不要小看這一現象,其實對人的潛意識影響非常大。海爾的手機和電腦等IT產品賣得不好,相當一部 分是因為先入為主:大家普遍認為海爾是家電的代名詞,而不是IT的代名詞。

          對于求職的大學生來說,這一觀念同樣會影響你以后的發展。你的第一份工作會對你以后的工作產生影響,你跳槽時,你的新雇主也會通過你的第一份工作 經驗來判斷你是否能夠勝任這份工作。曾經有一個大學生,畢業之后想做策劃,就找了一家廣告公司。剛進公司時,因為文筆不錯,被安排到了文案的位子上。而與 他同時進去的另外一個人,恰恰因為文筆不好而被安排到了策劃的位子上。后來她屢次想轉行做策劃,但都是因為前一份工作經驗的影響,而始終沒有得到轉行的機 會。

          2、職場中不允許從頭再來。

          如果公司招聘的是有幾年工作經驗的老員工,一定要求是“相關經驗”!這一點至關重要!因為這樣的員工一般不需要培訓,可以直接上崗,會很快為公司 帶來最大的效益。如果是工作幾年以后再打算轉行的應聘人員,一般不會受到重視,一是不會給公司直接帶來效益,二是培訓起來也比較困難,思維已經固化。與其 這樣,倒不如招一名應屆生,白紙一張,可塑性強,發展起來潛力更大。

          所以,一旦有了工作經驗之后,再想轉行從頭再來,難度相當大。除非你認識公司的高層領導,可以得到一個機會,否則,很難。

          3、時間成本不允許。

          步入職場的前三年,是一個人職業成長的最重要、最關鍵的時期。如果你這時候還把工作的重點放在騎驢找馬式的轉行上,則會浪費你最寶貴的青春,你的成長也因此比其他人慢一步,而很多晉升的機會將因此而失去。
          所以,對待第一份工作,一定要慎重。找工作就像結婚,情愿不結,絕不能亂結。
          如果現在你剛剛步入職場還不到3年,勸你趁早做一個職業規劃,亡羊補牢,尤未為晚。一旦你結婚了買房子了,你再想彌補都已經晚了!

          五、要保持一種“空杯心態”

          給大家講一個故事。古時候有一個佛學造詣很深的人,聽說某個寺廟里有位德高望重的老禪師,便去拜訪。老禪師的徒弟接待他時,他態度傲慢,心想:我 是佛學造詣很深的人,你算老幾?后來老禪師又十分恭敬地接待了他,并為他沏茶。可在倒水時,明明杯子已經滿了,老禪師還不停地倒。他不解地問:“大師,為 什么杯子已經滿了,還要往里倒?”大師說:“是啊,既然已滿了,干嘛還要倒呢?”

          禪師的意思是,既然你已經很有學問了,干嘛還要到我這里求教?這就是“空杯心態”的故事哲理。它最直接的含義就是一個裝滿水的杯子很難接納新東 西,要將心里的“杯子”倒空,將自己所重視、在乎的很多東西以及曾經輝煌的過去從心態上徹底了結清空,只有將心倒空了,才會有外在的松手,才能擁有更大的 成功。這是每一個想在職場發展的人所必須擁有的最重要的心態。它告訴我們一個道理:做事的前提是先要有好心態。如果想學到更多的學問,先要把自己想象成 “一個空著的杯子”,而不是驕傲自滿。

          我見過很多的大學畢業生,剛進入公司時常常處處吹牛,說自己在學校如何如何,本來可以找到更好的工作,迫不得已才來到了這里等等之類的話,好像這 家公司委屈了自己。在這里提醒一下那些即將步入職場的大學生:這種心態千萬要不得!不要認為自己很牛。還是那句你不愛聽的話:中國什么都缺,就是不缺人! 話又說回來,你要是這么牛,為什么不像比爾?蓋茨、戴爾、喬布斯那樣,大學沒畢業就退學去創辦一家世界級的大企業?火車不是推的,牛皮不是吹的。
          你要是有本事,就用事實證明給人家看,而不是成天抱怨!

          對于身在職場的朋友而言,這一心態同樣重要。中國有一個詞,叫“虛懷若谷”。我們都知道,優秀的人有極高的素養,甚至是虛懷若谷,他們都有一個能 包容一切的胸懷,有了這樣的胸懷,你在職場上就會獲得別人的尊重,就會獲得更多的發展機會。類似的詞還有“大智若愚”“大巧若拙”等等,不多說,自己去體 會。

          六、要懂一點做人的常識
          職場就像一個大熔爐。在職場中,不僅僅是要掙一碗飯吃,更重要的是學會做人的道理。如果連最起碼的道理都不懂,你不僅得不到別人的尊重,更會失去更多的發展機會。因為,在中國,人際關系也是生產力。中國有句古話:得道多助,失道寡助。

          我見過很多人,雖然已經工作多年,但對于做人,卻連一點最基本的常識都不懂。做人的道理萬萬千,但其中最重要的,莫過于以下三條:

          1、嚴于律己,寬以待人。
          職場不同于生活。雖然職場上同事之間的相互關系表面上會比較好,但你總會感覺到缺點兒什么。非常明顯的一點,就是大家都在相互利用,人與人之間難免會因為利益關系而鬧得不愉快。這時候,你若是錙銖必較,勢必引起同事之間的不愉快。
          在這種情況下,為避免糾紛,同時也為了贏得他人的尊重,你要學會大度一些,容忍一些。出現問題時,首先想想是不是自己出了問題,而不是一出現問題就去找別人的責任(長此以往,你的心態就會變得非常不平衡,因此也難以容人了)。
          嚴于律己,寬以待人,是十分必要的。長期下去,你會積累很多的人脈,會得到大家的尊重;而你需要幫助時,大家也樂意伸手。
          2、學會傾聽。
          無論什么時候,傾聽都顯示出一個人的職業素養。與別人交談時,一定要記住等對方說完話時再發表意見,切不可中途插話或者打斷他人。通過這種方式,大家都樂意和你交往,同樣也會有助于樹立你個人在大家心目中的形象。
          3、誠實守信。
          職業中固然處處充滿了相互利用、利益至上的現象,在這種情況下,誠實守信仍然不失為一種傳統美德。誠信同樣可以帶來效益。只要你誠實守信,長此以 往,大家都會對你形成一種良好的印象,都愿意和你交往。而那種兩面三刀、當面一套背后一套的人,固然可以占一點小便宜,但要想成就大事業,誠實守信的基本 原則絕對不能丟。
          七、要學會遵守游戲規則
          我為什么在文章一開頭就提醒“憤青”或者“類憤青”們不要看這篇文章?
          因為他們多半是放蕩不羈、不會遵守游戲規則的主兒!很多人都會感覺到,在職場上發展,不僅會受到各種約束,而且處處都充滿了不公平現象。比如上班 遲到老板會扣你工資,但你加班的時候卻從來沒有拿過加班工資。這是最常見的一種現象,其他不公平的現象也比比皆是,這里就不多就了,大家都有體會。
          在這個世界上,不要奢求公平。那只是一種烏托邦式的理想,從來都不存在于現實社會中。
          員工和老板之間的關系,就好像是一場游戲。是游戲就會有游戲規劃,否則,游戲就玩不下去。但是,游戲規則是誰制定的呢?當然是老板,各種利益也偏向老板!身在職場的你,一開始看不慣這種現象,是很正常的,因為你初涉職場,本質上還是比較純潔的。
          但你一定要學會慢慢接受這種游戲規則。不要試圖改變這種規則,因為在老板面前,你沒有太多的話語權。說得再難聽些,你只是一個打工的,混口飯吃,給你吃就不錯了,還嫌飯涼?如果不想做,可以離開。還是那句話:中國什么都缺,就是不缺人。
          記住這句話:“如果你不是游戲規則的制定者,你的選擇只有兩條:要么屈從,要么離開!”
          八、機會只垂青有準備的人
          無論你再怎么抱怨,再怎么不開心,飯還是要吃的,覺還是要睡的,工作還是要做的,未來的事情永遠只屬于自己的。買房子也好,娶老婆也罷,壓力只有 自己扛,老板不會為你操任何心。與其有時間去抱怨,但不如踏踏實實靜下心來,好好提升自己的基本功,用事實證明自己的本事,讓別人對你刮目相看,萬不可因 為自己的書生意氣而自做一個自毀前程的“憤青”。
          當然,你的準備是多方面的,除了專業技能外,其他的輔助技能也是非常必要的,比如溝通能力、人際關系處理能力、管理能力等等。當然,更重要的是 要為自己的未來做一個規劃,清楚地知道自己的目標是什么,應該怎么努力才能實現。適當的時候也要充充電,不要舍不得那半個月的工資,這也算是為自己的未來 進行投資,有什么舍不得的呢?如果你現在不學會“舍”,以后將永遠也“得”不到。
          有時候,你之所以發展得不好,不是因為沒有機遇,而是因為你沒有準備好,導致機遇與你擦肩而過。這個社會就是這樣,再怎么不合理,再怎么不公 平,但是發展機遇是時時都會面臨的,只看你有沒有準備好。你要是真的練就了一身令人刮目相看的真本事,說不定明天就有人請你做某世界500強的總裁也不一 定呢。
          以上只是本人做HR多年的經驗積累,希望對大家有所幫助。作為過來人,我真誠地希望在職的朋友們及即將就業的大學生們也能夠以一種“空杯心態” 看待這篇文章。有時候,過來人的經驗是非常有價值的,那是他們用時間和金錢換來的血汗教訓。有的人偏偏不信這一套,認為只有自己親自體會過,才能知道是什 么滋味,別人的經驗只是別人的,和自己無關。如果你這樣想,那我也沒有辦法。我也要有一種寬容的心態,冷靜看待那些“不見棺材不掉淚,不撞南墻不回頭”的 “人才”,不是嗎?參加一下培訓,適當充一下電,為未來做更好、更完善的準備,才是積極的人生態度。記住:抱怨永遠解決不了問題!)

          posted @ 2010-04-16 12:24 kangxm 閱讀(507) | 評論 (0)編輯 收藏

          2010年3月14日 #

                 假設我們現在有user和org兩張表:
          1、user用戶表 字段包含:id、name、orgId 其中orgId標示該用戶所屬的組織
          2、org組織表   字段包含:id、name
          兩表之間的關系很簡單,一個組織下會擁有多個用戶,一個用戶屬于某個組織。

                   在解析之前先普及一下數據庫空值(null)的概念:
          有很多時候我們都能碰到某表中某字段值為空的情況,空值不等同于字符串中的空格、空串
          也不等同于數字類型的0,所以,一般我們用IS NULL 關鍵字來檢索有空值字段的記錄。而不是用!=、<>這些判斷符。

                  接下來,我們給示例庫表中做上一些測試數據,如下圖:
                                       

                  有了這些數據,咱們就可以進入正題啦:
          一、左連接、右連接
                  A Left join(左連接)優先解出左表中所有的記錄,包含右表中沒有匹配到得記錄。
                  A Right join(右連接)優先解出右表中所有的記錄,包含左表中沒有匹配到得記錄。

          左右連接是相互對應的,所以在這里一并解釋。
          羅嗦一句如何區分左表和右表:
                  在JOIN的左邊出現的表叫左表,在JOIN的右邊出現的表叫右表
          具體體現在SQL語句上即:(以左連接為例)
                  左連接語句:SELECT user.name,org.name FROM user LEFT JOIN org ON  user.orgId = org.id
                  右鏈接語句:SELECT user.name,org.name FROM user RIGHT JOIN org ON  user.orgId = org.id
          顯而易見,該SQL中,user為左表、org為右表
          下面我們來看看這兩個語句分別執行后的效果:
                                             
                  為了更好的看出左右連接的效果,我們再來看看內連接查詢出來的效果
                  內連接:SELECT user.name,org.name FROM user JOIN org ON  user.orgId = org.id
          內連接語句執行后的效果:
                                                              
                  很明顯:
          內連接與左連接相比,檢索結果集中漏掉了user表的user3數據
          內連接與右連接相比,檢索結果集中漏掉了org表的org4數據

          posted @ 2010-03-14 18:25 kangxm 閱讀(672) | 評論 (0)編輯 收藏

          2010年2月24日 #

                 
                  進入10年了,先回顧一下吧:

                  08年注定是變化的一年,該死的金融危機上來就搞倒了我待了3年多的公司,到現在還灰常的懷念以前公司的工作氛圍和那些一起奮斗的日子。那時候做項目,真的是把項目當自己的孩子來養,很有感情;懷念ing.

                  09年注定是壓抑的一年,生活壓抑,工作壓抑,很多壓抑。。。壓抑到實在不想糾纏。

                  10年注定是拼搏的一年,勾畫了美麗的圖,也承諾了很多事,必須做了。

                  10年的那些事在這里留個記錄吧,年終的時候再來看;

                  1、ZZ的那個網站,我已經答應下來了,不管多難也要搞出來;
                  2、WX的那些活,希望我能做的比去年更好,也希望他那邊能再多接一些新活;
                  3、公司的那攤事,走一步看一步吧,畢竟09年失望太多,希望能找到合適的契機和方向;
                  4、考駕照、買車,今年必須實現了,要不5年計劃沒法劃上句號了;


                  
          posted @ 2010-02-24 10:15 kangxm 閱讀(467) | 評論 (2)編輯 收藏

          2009年10月28日 #

                  作者:于良,遼寧大連人。1997年大學畢業參加工作,十年來一直從事快速消費品領域的銷售工作,從基層的銷售代表做起直到營銷總監。十年間一路走來飽償心酸,同時也收獲無盡的喜悅。回憶過去總是那么心情澎湃,當這一刻成為歷史的時候,我必需銘記在我成長的道路上為我提供幫助的每一位朋友。

            銷售工作獨特的競爭機制,練就了從業的銷售人,超群的心里素質和超強的執行力。本文所提到的銷售方法有些另辟蹊徑甚至另類,但我確定它很有效。

          第一節:機遇

            面對同樣的機遇,不同的人有不同的表現和結局,區別在于能否抓住機遇。而能否抓住機遇,關鍵在于自身的積累、準備、能力和勇氣。只有努力提高自身素質,苦練“內功”,才能在機遇到來時“發現”機遇,抓住機遇。

            2001年9月我結束了22個月在雀巢(中國)有限公司雀巢礦泉水大連市場銷售主管的工作后,跟隨原雀巢礦泉水的銷售團隊來到了從未了解過的美國好時巧克力公司,由于此前在雀巢公司管理大連市場工作業績突出,而且又是堅定追隨這個銷售團隊離開雀巢公司的所謂“嫡系”,因此到了新公司后我從一名銷售主管破格提拔成主管遼寧省銷售工作的大區銷售經理,連升三級。通常外企職位等級:(1)銷售代表、(2)銷售主管、(3)城市銷售經理、(4)地區銷售經理、(5)大區銷售經理。那年我只有27歲,直接上級匯報人也從原上級變成了原上級的上級――全國銷售總監。

            我從來沒有預感過但是機遇來的的確很突然,從那一天起,我在這里渡過了2年的時光,也經歷了人生中最重要的一個階段。在以后的歲月里,有關這個時期的工作情景曾無數次在我的記憶里,讓我魂牽夢繞。

          第二節:上任伊始

            不要告訴我未來有多么美好,我只想知道如何穿越眼前的沙漠。

            為什么公司會選擇我?除了在雀巢公司的“嫡系”原因,就是我對巧克力這個行業,對當時遼寧市場銷售的困難程度一無所知。所謂無知者無畏。這個任務的達成將決定我在這個職位上走多遠持多久。尤其是外企銷售工作獨特的競爭機制,決定了公司不會給我太多時間,不會了解我完成任務的過程有多么艱難,不會聽我的解釋和“借口”。結果,上司只要結果。

            10月6日就職,離12月30日的年度區域銷售目標的達成日不到3個月,銷售任務額380萬,只有順利完成任務我才有可能轉正成為大區銷售經理,完不成任務就只有“走人”。我嘆息了遼寧區全年銷售任務700萬,1至9月分才完成320萬,要在剩下3個月完成380萬難度可想而知。如果說大連市場180萬任務,我還有些“天時地利人和”的話(本文介紹過我是大連人),沈陽200萬的任務就頭痛了。不盡感嘆:我把前任區域經理給“競爭”下去了,誰又是我的下一個呢?實際上這個銷售額只是任務的一個量化和表象。這個任務的核心就是在極其惡劣的條件下,甚至是不可能的條件下,如何利用最少的資源去創造最大的效益。我是寧愿被打倒,也不能被嚇倒的人,我需要拿出“亮劍“精神。

            每一個做銷售、做渠道的從業者都有過這樣的希望:

            1. 公司或產品具有非常高的知名度;

            2. 產品的價格具有競爭力,產品本身具有很強的銷售力;

            3. 充足的供貨及快捷的物流保障;

            4. 準確的廣告投入,行之有效的促銷手段;

            5. 成熟的銷售網絡和渠道管理體系;

            6. 行業競爭不夠激烈,市場發展空間很大………

            可是并不是所有產品天生就具有這些,特別是剛剛上市不久和沒有品牌力的產品。簡單來說當時好時巧克力所面臨的沈陽市場狀況和我面對的問題如下:

            1. 在產品開發市場前期沒有品牌知名度,不容易讓經銷商消費者相信和認可你的產品,甚至不相信你所在的公司;

            2. 好時產品因為100%進口,非國內生產,所以也沒有價格上的優勢;

            3. 覆蓋率不夠,銷售也不多,所以也沒有廣告的支持;

            4. 前任的工作“不利”,導致經銷商放棄了繼續合作,經銷商庫存產品到期、過保質期的產品十幾萬,商場條碼缺失嚴重,產品面臨超市下架,找不到愿意合作的經銷商;

            5. 公司產品規格不全,生產日期已過三個月以上(進口產品通常就這樣,但是生產日期過3個月以上商場有權拒絕收貨);

            6. 因為剛到公司不久即走馬上任,并且立刻投入工作,在沈陽沒有固定住處,只能住酒店,公司報銷費用緩慢,本人積蓄不多面臨“彈盡糧絕”;

            7. 沒有區域管理經驗,沒有開發經銷商的經驗,對沈陽市場、超市、渠道非常陌生;

            機遇永遠與挑戰并存,是不是在還沒開始的時候就放棄?因為這樣我至少可以在好時公司找到一份主管級職位“養家戶口”。的確我在最初什么都不具備,靠什么?其實在很大情況下,在什么都沒有的時候,我們往往忽略了一點,我至少還擁有我的人這才是最寶貴的。與我同時存在的還有我的精神,當經銷商認可了你的人,他就會在一定程度上認可你的產品,他會認為與你這樣的人合作比產品合作更有前景,這在渠道的開發前期非常重要。我堅信。

          第三節: 目標就在前方

            目標往往不是一開始就有的,而是在不斷的潛行中尋找到的。

            好在大連市場由于較熟悉而且好時產品在此市場銷售渠道較完善,三個月(10、11、12月)180萬的任務合同在與經銷商軟硬兼勢,連哄帶騙,不簽180萬就堅決取消經銷權的狗急跳墻式招術下簽訂了,但是也花掉了我兩周的時間,之后在我下一級城市經理的逐月的“強迫”下完成了180任務,這里就不再詳述了。沈陽200萬任務還一點希望都沒有,此時已是10月21日了,之前沈陽當地城市經理以苦苦尋覓經銷商兩周了沒有任何收獲。于是我把工作重心全部移到沈陽,我現在唯一要做的就是在沈陽市場鋪貨、鋪貨、再鋪貨,其他的不重要。因為你的產品市場上沒有,消費者買不到,再好的產品也無計可施。我沒有“雞”,又想馬上吃到“蛋”,我必須“抓到”會下蛋(渠道)的雞(經銷商),找到愿意代理好時巧克力產品的沈陽新的經銷商,而開發經銷商的關鍵是要清楚地知道我們的優勢在哪里? 劣勢在哪里?對于不利的劣勢一定要深埋心底,不可顯露,甚至要暫時忘記,如不然會打擊你的信心,影響你的心態。只要知道這一點,我就已經有了方向,這將引領我走向勝利。

            思路決定出路:

            1、目標分析

            劣勢:鑒于好時巧克力還屬于開發市場前期沒有品牌知名度,不容易讓經銷商、消費者相信和認可你的產品,甚至不相信你所在的公司;

            解決:尋找德芙巧克力、吉百利巧克力、金帝巧克力的經銷商,因為好時巧克力雖然在沈陽市場知名度不高,但是熟悉巧克力行業的經銷商一定會了解到好時巧克力是美國第一品牌的巧克力,好時公司也是一個具有一百年歷史的著名巧克力生產企業。

            劣勢:好時產品因為100%進口,非國內生產,所以價格高也沒有價格上的優勢,只能在大型買場和超市銷售;

            解決:尋找具有大型買場和超市渠道的經銷商。

            劣勢:覆蓋率不夠,銷售也不多,所以也沒有廣告的支持;

            解決:在沒有廣告宣傳的情況下,消費者了解你產品的最佳機會就是超市賣場的堆頭和終端陳列及生動化的產品展示。需要執行力強,終端管理能力強并且具有一定的市場營銷意識的經銷商。

            劣勢:前任的工作“不利”,導致前經銷商放棄了繼續合作,商場條碼缺失嚴重,產品面臨超市下架。公司倉庫產品品種規格不全,生產日期已過三個月以上(生產日過3個月以上商場有權拒絕收貨);

            解決:需要在超市客請關系相當好的經銷商才能搞定。

            劣勢:要在3個月完成200萬銷售額,這是必須的。

            解決:尋找至少有200萬資金的經銷商。

            2、目標設定

          人脈就是財富,通過朋友介紹某超市采購提供的了他們掌握的經銷商資料,沈陽市所有經銷食品類經銷商的聯系方式、負責人及代理品牌、公司規模等的基本情況就擺在面前,在根據以上目標的分析搜尋符合要求的經銷商,成功的希望就在眼前,好像困難沒那么大。

            3、尋找目標

            通過電話將我們的信息和商業機會傳遞到每一個目標經銷商,然后約見面談,就合作進行談判,簽訂合同,達成合同。路就在前方,似乎水到渠成,200萬的目標在向我召喚。  

          第四節:虎山之行

            只有螞蟻上樹式的一步一個腳印,才會有直升飛機式的平步青云。

            10月21日這是個深秋的日子,也是個星期天,我開始“亮劍”了,三個月200萬的任務,我“上路”了。秋天的沈陽格外涼,花瓣離開花朵的季節,枯黃的落葉有些悲壯,似乎在提醒我此行充滿無盡的坎坷。我按公司的出差標準找了家四星級酒店住下,臨睡前我特意又看看已經整理好的目標經銷商的資料,有十幾個符合條件,我相信總有一個能行。那一夜我充滿了希望睡的好香,這竟是在以后很長很長的時間里我睡的最香的一夜。

            10月22日我很早起來,把酒店的房間當成臨時辦公室,今天我計劃為拉網階段,就是把好時巧克力要在沈陽開發市場,找經銷商的信息傳遞給目標經銷商,談話內容很簡單就是簡約的說明我是什么人,想要做什么,關鍵是提供了我公司的網址,供經銷商查詢我司的情況和產品。從聽到對方“喂”的一聲開始,我就進入全面的緊張狀態,在前幾句話就判斷對方的情況非常重要。我的心幾乎一天都在波動,從熱情到冷遇、從希望到失望、從興奮到低落,我無法控制我的情緒,好像自已掌握在對方手中。我最直接的收獲就是更加明確了幾個目標經銷商,至少這幾個還有再打電話的機會,其它的電話打過去大多都吃了“閉門羹”,由于好時巧克力前期上市銷售并不成功,而且遺留諸多市場問題,知情的經銷商大多都不愿意“搭理”這樣的產品。我決定明天去市場超市看看好時產品的實情,做到知已知彼。

            10月23日

            我選了沈陽最大的幾家超市探勘好時產品的情況,超市里德芙巧克力擺放著超大的堆頭陳列,其促銷品琳瑯滿目。吉百利產品端架陳列位置突出,而且又多了許新品。金帝巧克力的促銷員在努力地宣傳金帝產品,面對顧客大有不買金帝巧克力就絕不善罷甘休的勁頭。再看看好時產品,陳列位置極差,我好不容易才“發現”,已被競爭對手“打擊”的只有在一個不起眼兒的角落擺放,區區幾個單品,離保質期還有2個月。剎那間腦子有些空白,感覺好像在前面沖鋒陷陣的我,當我拿起槍拼命沖到前線的時候,才發現我的槍里沒有子彈,或者說當我拿著槍沖到敵人面前的時候,你面對的卻是敵人的大炮。

            10月24日

            我再一次聯系了前天打電話有些意向的經銷商,相信他們通過兩天的了解和考慮會給我一次面談的機會,我分析的不錯,三個經銷商都是對好時巧克力在美國的背景有些了解(好時巧克力是美國第一品牌的巧克力,也是北美銷量第一的巧克力產品),愿意面談。我約一個經銷商下午在他公司談,明天和后天各約定一個經銷商,盡管時間很急迫,但是我還是擔心欲速則不達。

            這個經銷商是一個沈陽很有名氣的經銷商,代理了包括德芙巧克力在內的諸多大品牌,見面后沒有那么多的寒暄,王總一看我是個年輕人,開門見山,單刀直入:“好時是個國際品牌,是個大品牌,此前沈陽市場運作不理想,那是沒給我搞,否則現在的銷售狀況就不會是這樣了,看看你們能給我什么支持,我可以考慮代理”。他的語氣是那么的盛氣凌人,甚至有些傲慢,的確他是沈陽的“地頭蛇”,但是我還是有著出生牛犢不怕虎的勇氣,針鋒相對:“支持當然有,要多少有多少,要多大有多大,我們有這個實力,但是要看你能為好時產品做些什么,到年底能完成多少銷量”。“說來聽聽你們的支持有多少,市場廣告投入多少”王總有些不耐煩了。“投入和銷量是成正比的,你預估一下到12月底能完成多少銷量”,我沒有正面回答他的問題。因為我們沒有任何廣告支持,沒有賒貨及任何鋪底支持,僅有的7%的進場費用和超市促銷費也被我的前任區域經理花光了。王總沒有再逼問下去,短暫的思考后他的回答很肯定:“四五十萬吧,最多六十萬”。我仍然沒有正面回應,而是闡述準備了一邊又一邊的好時產品在中國的發展藍圖,描繪了好時產品在沈陽的市場的前景,分析了好時產品的利潤盈利模式。王總聽得頻頻點頭,我看時機差不多了,拋出了我的要求到12月底至少完成200萬任務。王總詭異的笑了:“小伙子,你瘋了,這怎么可能,你們有多少鋪底(賒貨)”。“沒有,一分沒有,我們沒有”。我有些羞澀的回答。“好吧,我還有事情,再見小伙子”。他有些失望的甚至不禮貌的離開了,我沒有再解釋什么,我很清楚我的任務和目標。

            10月25日

            按約定的時間我來到她的公司,一個中年女人接待了我,她是這個商貿公司的老板,很有些氣質和素養。雙方各自介紹后,她很客氣的說在美國的妹妹非常喜愛吃這個品牌的巧克力并經常從美國帶給她,她認為好時的品質很好,她很愛吃。她還主動的介紹了她公司的情況。我也不失時機的表達了我對貴司的好印象,也沒有保留的贊美了她和她的公司,同時描繪了好時產品在中國及沈陽的市場的前景。我感受的到她很希望代理這個品牌,我也了解和相信這個經銷商的渠道、管理、理念、資金都是相當不錯的經銷商。我鼓足勇氣提出了我的要求:到12月底至少完成200萬任務的合作前提。她皺了皺眉,疑惑之極:“如果達不成呢?”。“達不成就只能做朋友了”,我含蓄的表達著我的拒絕并勉強地笑笑。“我需要考慮,并且還要與財務經理溝通看看我們的資金情況”,她表情凝重的說。

            10月26日

            這是個很有些背景的集團公司,代理品牌的商貿公司是集團旗下的一個子公司,從企業的介紹手冊看其在連鎖超市、物流、房地產、投資、代理品牌銷售等領域發展。劉總看來是個東北人,豪爽直接的他是商貿公司的總經理,態度相當積極,通過與之溝通了解到其公司因為剛剛成立不到一年,沒有什么太好的代理品牌,有些品牌雖然是知名產品但是留給經銷商的利潤空間太小,都成了“搬運工”了。“有集團做后盾,我們的資金沒有問題”劉總自信的說。“而且集團的子公司本身就經營連鎖超市,因此我們有十足的運營超市渠道的銷售經驗”他接著介紹說。我心里暗暗高興,的確從綜合實力和代理好時產品的動機來看,這個經銷商無疑是目前最合適的對象,對于好時巧克力在中國市場的未來,在沈陽市場的發展前景,市場推廣的規劃,我都以十分認真和專一的態度講解和描繪著,我不希望因為小的差錯和不足影響劉總的決策。由于對方能看的出來急于尋找好的品牌代理,我適時的改變了溝通策略,既然這個經銷商宣稱具有很強的資金實力,我何不采用激將法,讓對方接受200萬的銷售任務呢?于是我提起精神并帶有些驕傲的語氣說:“到12月底至少完成200萬任務的目標對劉總來說資金沒有什么問題吧”。“這當然,沒有什么問題”劉總哈哈大笑似乎他看得出來我的擔心。“不過你需要給我提供一份200萬的好時巧克力的銷售計劃,我不希望到時候賣不動占壓我的資金甚至賠錢”。我當然是有備而來,做計劃是外企銷售經理的必修課,每一個人都會把計劃書項目書之類的做到大氣磅礴,氣勢洶涌。甚至帶有極強的欺騙性,而你卻無法看透,但是我確定可執行性落地性一般較差。一天下來,我單槍批馬與劉總的“智囊團”關于銷售計劃的諸多細節,經銷合同的諸多條款一一給予分析解答。夜幕降臨的時候我已用完渾身吃奶的勁兒了,劉總非常激動的握著我的手說:“于經理,這份合同我會很快拿總公司批復,相信我們的合作會很快開始,也預祝我們的合作愉快”。盡管合同沒有最后簽訂但是我相信這只是個時間和程序問題。我有理由宣布我即將成功了。

            10月27、28日

            今天后已是我正式入職好時公司的第20天,上司已是第3次打來焦急的電話詢問經銷商的開發情況了。我的回復還是那樣的斬釘截鐵和自信,“沒問題,請放心”。

            俗話說的好“行萬里路半九十”意思就是走了90%的路程實際只相當成功了一半,也告訴我們“編框編簍難在收口”。沒到合同的正式簽訂并完成匯款,什么事情都可能會發生,越到最后越要小心謹慎。我在期盼中焦慮的等待了兩天,兩天好像過的格外漫長,像是過了兩年。我仍然記得在那一天的晚上,夢見經銷商劉總向我走來,。“于良,祝我們合作愉快吧”。他手上拿著簽好的合同和匯票,我飛快的走過去,緊緊的擁抱他。“合作愉快,合作愉快”,我大聲的甚至有些失控的說。這個夢好真實,還沒來的急慶祝,天已經亮了。

            10月29日

            今天是個“宣判”的日子,外面下著小雨,天陰沉沉的。我拿起電話的時候似乎緊張的手都在發抖,拿起電話放下,又拿起又放下,反反復復。因為我希望是經銷商先打過來電話并告訴我合同已簽好馬上匯款。打過去電話詢問會很有些被動,我不希望讓經銷商感到我的焦急,這對最后達成目標很關鍵。我靜靜的等,手心里和額頭都是汗,心跳的很快。房間的時鐘秒表在不時的發出嘀噠嘀噠的聲音,時間過的好快,下午4點了,但是……..一種不祥的預感充斥著我的心。我決心問問情況。從難到易,我打給了面談的第一個經銷商的手機,電話響了好久好久沒有人接聽,打到他公司說人不在。沒關系對這個經銷商我本來寄托的希望就不大。我鼓了鼓氣,把電話打給了第二個面談的經銷商,問問她考慮的怎么樣了,資金有把握了嗎?對方很快就接了電話,語氣還是那么禮貌:“我們經過認真的考慮,還是感覺時機不成熟,有機會再合作吧,有時間常來坐坐”。我有心里準備,絕地逢生,劉總那里不會再有問題的,我回憶著和這個經銷商劉總談判的每一個細節,過程幾乎完美無缺,一切盡在掌握。電話打過去,電話響了,這是我最后的希望,任務的希望,此行的希望,繼續工作的希望,職業前途的希望,是一切一切的希望。劉總的聲音有些低沉:“對不起啊,小于,由于我們總公司的房地產項目占用了預算外資金,到年底不會再有太大的資金支持,我們也沒有辦法,現在我只能說聲遺憾了,如果你們還能等幾個月的話……..”后來劉總講些什么我都聽不太清楚了,我突然眼前發黑。

           

          第五節:沒有結果的努力等于零

            在很多時候,我們的努力并不是沒有成功的可能,只是在沒有達到最后一刻的時候你放棄了,再只要努力一點點就可以成功的時候,你放棄了。

            晚上我一個人在酒店的房間里反省,房間非常冷清,甚至外面的秋風順著窗戶縫都在敲打我的臉。我關掉了手機,只想一個人,靜靜的待著。我的時間越來越少,每過一天200萬任務的達成可能性就越小,我想到了辭職,但是又打消了念頭。出于個人的尊嚴,我絕不能就這樣離開。現在糟糕的心情,就像人要面對病痛一樣,可恨卻又要面對。

            嗨,就這樣我每天送走朝陽,迎來月光,行色匆匆,衣冠楚楚的過著艱難的日子,當然沒有人知道我的焦慮,只有自己知道。我要堅持不住了,的確我的錢已不能支持我住四星級的公司的標準的酒店,我找了個招待所住下。我很少想甚至不去想其它許多事情,父母的身體怎么樣,女朋友她好嗎?我沒了吃飯的食欲,不知道晚飯如何解決,街邊的羊肉串都讓我吃膩了,更沒有什么娛樂生活。在這一階段我變得極為單純,這種單純甚至時常陷入夢幻中,200萬任務的達成的時刻無數次出現在我的夢里,讓我在夢中快樂的驚醒,睜眼看看四周卻是一片的寂靜和黑暗,寂靜的可以聽到窗外的風和酒店其它房間客人的鼾聲。我必須在11月份來臨前簽約并至少完成100萬以上的打款,否則就來不及了。我要找到那個可以讓我脫離苦海的經銷商,找到可以激發我信心的人。沒有結果的努力等于零,現在我一無所有。

          第六節:柳暗花明

            盡力而為和全力以赴是兩種不同的態度。

            10月30日

            想來想去,我覺得我真的不行。在開始的時候,我一直認為是我的運氣不好,再就是任務難度太大也許沒有人能達成。不過痛定思痛我決定我要最后一搏,我分析了所有細節,發現我簽不下合同是我犯了一個錯誤,那就是太強調經銷商的全面了,即要有渠道,還要管理好,理念好,還要有資金實力。因為這樣才能保證200萬的任務完成并且快速的銷售出去產品,這樣經銷商才會降低風險,因為好時產品的保質期到貨時已經3個月了,而這一切經銷商渾然不知。我太為經銷商考慮了,沒有風險的生意會賺錢嗎?我這樣給經銷商一種印象就是好時巧克力是沒人代理的產品,是沒有競爭的,是可以讓他們用很長時間考慮的,是我非常渴望的,所以經銷商沒有興趣,有興趣的只是我,只有我才最急,所以我失敗了。要贏得信任,就有先端正自己。再一點經銷商有200萬資金的能力嗎?如果沒有的話,你再努力也沒用。確定自己對目標的分析,不能再猶豫徘徊,只要符合200萬的資金標準其它方面的不足可以在合作中調整和彌補。如果經銷商沒有資金實力,我應該馬上放棄,否則堅持到最后,只能是浪費時間。

            我必須重新調整心態,沒有失敗,只有暫時擱淺。重新找新的目標,而新的目標的前提就是必須有資金,而且最好對巧克力行業甚至食品行業全然不知不懂,如果是同行幾乎沒有人愿意投入這么大的資金。積極總比消極好,積極心態的樹立,將使我們很快擺脫消極心里的陰影,成為一個強者。

            人生最難得就是在你最落魄的時候有人肯伸出關愛之手。

            10月31日

            劉總的電話又響了,他告訴我雖然他們公司由于資金問題沒有取得合作的機會,但是他的一個朋友很有興趣代理好時巧克力,有很強的資金實力,只是這個朋友是經銷柯達交卷和相機的經銷商,從來沒有經銷過食品,劉總問我可不可以考慮一下,見面談一下。我已經別無選擇。我冷靜的考慮了好一會,與我分析的結果很契合:新的目標的前提就是必須有資金,而且最好對巧克力行業甚至食品行業全然不知不懂,如果是同行幾乎沒有人愿意投入這么大的資金,做風險如此大的生意。為什么一個做柯達交卷的經銷商愿意經銷巧克力是必須搞清楚的前提,他的動機是什么?帶著疑問我們見面了。

            有劉總在自然我們很快就談到正題,通過劉總之前的介紹此經銷商王先生似乎對我們的產品、市場和資金要求都十分清楚,沒有問過多的問題,他手中拿的合同也是我原與劉總即要簽的合同,上面做了好多標記。我問的唯一的問題就是:“按我公司開發經銷商的原則,王先生是不符合經銷條件的,因為你沒有食品銷售渠道,我想了解你如何建立渠道,如何分銷好時產品。”王先生不慌不忙的為我斟了一杯茶,接著說:“沒有遠慮,必有近憂。目前交卷生意不太景氣,銷售額一天不如一天,數碼相機越來越普及,用不了多久,生意會受到致命的打擊,所以未雨綢繆我必須選擇新的行業,找到我公司新的機會,創造利潤的新的增長點,置于你的問題,我認為并不難,因為不能說我們是隔行如隔山,因為銷售很多地方都是同理的,只不過產品不一樣,渠道不同而已。我可以馬上招聘有經驗的食品銷售人員建立食品銷售渠道,這些沒有問題我相信。”實際上我也沒有退路了,只要能完成200萬的任務到年底,其它的都是次要的。但是此時此刻我還是表現的很為難的樣子,故作矜持,我不想給這個經銷商一種印象好時巧克力是沒人代理的產品,是沒有競爭的,是可以讓他們用很長時間考慮的,是我非常渴望的,這樣以證明過我失敗了。這一次我提出關于貴公司的好時產品代理我需要慎重考慮,并需要向上級匯報,請等待。這也是欲擒故縱的技巧吧,我的確不想讓煮熟的鴨子又飛了。

            11月1日

            經過一天的所謂“慎重”考慮之后,我提出很多很多附加條件,唯一的目的就是不想讓對方認為我的答復很隨意,畢竟越容易得到的就越不珍惜。置于那些附加條件內行人一看就知道是“小菜一碟”。唯一算的上苛刻的就是三日內必須簽訂合同并打款。

            11月2日經銷商終于正式對我承諾后天簽訂合同,并首次匯款100萬了,經銷商又給了他自己2天的考慮時間,兩天時間足可以改變一切,在承諾匯款這天來臨前,我沒有再打電話給這個經銷商,因為這樣做的結果是負面的,一點點的急躁心里都可能是知致命的。

            11月3日我什么都不想,什么也不做,沒有其它的備選經銷商了,還可以再找嗎?但是現在的時間對于200萬的任務已經沒有可能了,沒有近日鑒定合同打款訂貨,什么都來不及的。我不在考慮其它的經銷商了,目前我只有這個唯一的經銷商,唯一的希望。

            11月4日,這一天終于到了,我靜靜的等了一天,我沒有收到公司給我的電話,也就是公司沒有收到匯款憑證。經銷商失去了承諾,我有些憤怒打電話去問,對方告訴我因為今天突然有急事,打款被耽誤了,明天一定匯款。放下電話,我的眼前又一片漆黑,這樣的承諾在以前做銷售員的時候被證明是謊言。我心里想,我被欺騙了。

            我終于感受到在煎熬中渡過夜晚是多么的漫長,我不知道在這個夜晚是不是睡著過。夜里我不只一次的醒來。突然有了一個想法,我要置于死地而后生,明天必須有個結果要么死要么生,沒有其它選擇。這樣的折磨生不如死,大不了不干了,尊嚴值多少錢一斤?我可以不要。

            11月5日

            一早起來,精神好了很多,8點一到我就打了電話給他:“如果今天收不到你的匯款,那么我們以后絕對不會再有任何合作的機會,這機會是你放棄的,你違反了你的承諾,我已經仁至義盡了,我準備好了我們所有的合作準備,鑒于你的做法,我已經開始考慮重新與其他的意向經銷商進行合作”。我最清楚的記得我最后的話:“如果今天4點仍收不到你的匯款的話,我們永遠不會再有合作。”然后我掛了電話,這肯定是實話,因為今天我還沒有結果,我就在明天辭職,當然沒有再合作的可能了。

          第七節:心中的太陽再次升起

            這是一個只要你認真付出努力就一定能有所收獲的時代。  

            中午12點我收拾好我的行禮,退掉了我住的招待所的房間,兜里的錢只夠買張回大連的車票,當汽車即將駛離沈陽的時候,我的心情有多么的復雜,我突然感覺很孤單,感覺渾身乏力,我的眼始終盯著車窗外的田野和森林,腦子里一片蒼白。汽車運行了幾個小時,我似乎沒有眨過眼,我始終盯著窗外。11月5日3點30分,突然我的手機響了,是北京公司上司的固定電話:“于良,恭喜你,你讓我等太久了。”在這一瞬間,我終于體會到喜極而泣的感覺,我甚至發現哭泣是一種很好的享受。我的眼淚奪框而出不停的灑落在我的臉頰。這無疑是對我上任區域經理以來所有的努力及付出的回報。電話又響了,是這個經銷商王先生:“愿我們合作愉快!”這個場景曾經在夢里出現無數次,今天終于成為現實。

            在以后的日子里,有關這個時期的情景曾無數次在我的記憶里,在我的心里,在我的夢里浮現,離我很近卻又很遙遠。在以后的日子里,每次來沈陽的時候,曾經激情和痛苦的歲月仿佛又回到眼前。經歷是一筆財富,如今已過而立之年的我,變得更理性、更豁達,更從容,有一種不屈的精神一直伴隨著我。

            笑到最后也是笑的最好的,最快樂的。成功和失敗是同一過程。沒有人在乎你以前曾經失敗過多少次,經歷最后一次失敗而最終爬起來了,你就是成功者。

            一個人自已認為自已是個什么樣的人很關鍵。認為自已是個平庸的人,則會按照平庸的軌跡去發展;認為自己具有大寫的人格,則會向著非凡挺進。決定成敗的最核心因素就在于此,所有的成功人的骨子里都有相同的內驅力:我必須成功!  

            獻給:即將在或正在銷售行業努力拼搏,苦苦探索的朋友們。

          posted @ 2009-10-28 14:42 kangxm 閱讀(481) | 評論 (0)編輯 收藏

          2009年10月26日 #

          我現在是自己做,但我此前有多年在從事軟件開發工作,當回過頭來想一想自己,覺得特別想對那些初學JAVA/DOT。NET技術的朋友說點心里話,希望你們能從我們的體會中,多少受點啟發(也許我說的不好,你不贊同但看在我真心的份上別扔磚頭啊).

          一。 在中國你千萬不要因為學習技術就可以換來穩定的生活和高的薪水待遇,你千萬更不要認為哪些從事 市場開發,跑腿的人,沒有前途。

          不知道你是不是知道,咱們中國有相當大的一部分軟件公司,他們的軟件開發團隊都小的可憐,甚至只有1-3個人,連一個項目小組都算不上,而這樣的團隊卻要承擔一個軟件公司所有的軟件開發任務,在軟件上線和開發的關鍵階段需要團隊的成員沒日沒夜的加班,還需要為測試出的BUG和不能按時提交的軟件模塊功能而心懷忐忑,有的時候如果你不幸加入現場開發的團隊你則需要背井離鄉告別你的女友,進行封閉開發,你平時除了編碼之外就是吃飯和睡覺(有錢的公司甚至請個保姆為你做飯,以讓你節省出更多的時間來投入到工作中,讓你一直在那種累了就休息,不累就立即工作的狀態)

          更可怕的是,會讓你接觸的人際關系非常單一,除了有限的技術人員之外你幾乎見不到做其他行業工作和職位的人,你的朋友圈子小且單一,甚至破壞你原有的愛情(想象一下,你在外地做現場開發2個月以上,卻從沒跟女友見過一面的話,你的女友是不是會對你呲牙裂嘴)。

          也許你拿到了所謂的白領的工資,但你卻從此失去享受生活的自由,如果你想做技術人員尤其是開發人員,我想你很快就會理解,你多么想在一個地方長期待一段時間,認識一些朋友,多一些生活時間的愿望。

          比之于我們的生活和人際關系及工作,那些從事售前和市場開發的朋友,卻有比我們多的多的工作之外的時間,甚至他們工作的時間有的時候是和生活的時間是可以兼顧的,他們可以通過市場開發,認識各個行業的人士,可以認識各種各樣的朋友,他們比我們坦率說更有發財和發展的機會,只要他們跟我們一樣勤奮。(有一種勤奮的普通人,如果給他換個地方,他馬上會成為一個勤奮且出眾的人。)

          二。在學習技術的時候千萬不要認為如果做到技術最強,就可以成為100%受尊重的人。

          有一次一個人在面試項目經理的時候說了這么一段話:我只用最聽話的人,按照我的要求做只要是聽話就要,如果不聽話不管他技術再好也不要。隨后這個人得到了試用機會,如果沒意外的話,他一定會是下一個項目經理的繼任者。

          朋友們你知道嗎?不管你技術有多強,你也不可能自由的騰出時間象別人那樣研究一下LINUX源碼,甚至寫一個LINUX樣的杰作來表現你的才能。你需要做的就是按照要求寫代碼,寫代碼的含義就是都規定好,你按照規定寫,你很快就會發現你昨天寫的代碼,跟今天寫的代碼有很多類似,等你寫過一段時間的代碼,你將領略:復制,拷貝,粘貼那樣的技術對你來說是何等重要。(如果你沒有做過1年以上的真正意義上的開發不要反駁我)。

          如果你幸運的能夠聽到市場人員的談話,或是領導們的談話,你會隱約覺得他們都在把技術人員當作編碼的機器來看,你的價值并沒有你想象的那么重要。而在你所在的團隊內部,你可能正在為一個技術問題的討論再跟同事搞內耗,因為他不服你,你也不服他,你們都認為自己的對,其實你們兩個都對,而爭論的目的就是為了在關鍵場合證明一下自己比對方技術好,比對方強。(在一個項目開發中,沒有人愿意長期聽別人的,總想換個位置領導別人。)

          三。你更不要認為,如果我技術夠好,我就自己創業,自己有創業的資本,因為自己是搞技術的。

          如果你那樣認為,真的是大錯特錯了,你可以做個調查在非技術人群中,沒有幾個人知道C#與JAVA的,更談不上來欣賞你的技術是好還是不好。一句話,技術僅僅是一個工具,善于運用這個工具為別人干活的人,卻往往不太擅長用這個工具來為自己創業,因為這是兩個概念,訓練的技能也是完全不同的。

          創業最開始的時候,你的人際關系,你處理人際關系的能力,你對社會潛規則的認識,還有你明白不明白別人的心,你會不會說讓人喜歡的話,還有你對自己所提供的服務的策劃和推銷等等,也許有一萬,一百萬個值得我們重視的問題,但你會發現技術卻很少有可能包含在這一萬或一百萬之內,如果你創業到了一個快成功的階段,你會這樣告訴自己:我干嗎要親自做技術,我聘一個人不就行了,這時候你才真正會理解技術的作用,和你以前做技術人員的作用。

          [小結]

          基于上面的討論,我奉勸那些學習技術的朋友,千萬不要拿科舉考試樣的心態去學習技術,對技術的學習幾近的癡迷,想掌握所有所有的技術,以讓自己成為技術領域的權威和專家,以在必要的時候或是心里不暢快的時候到網上對著菜鳥說自己是前輩。

          技術僅僅是一個工具,是你在人生一個階段生存的工具,你可以一輩子喜歡他,但最好不要一輩子靠它生存。

          掌握技術的唯一目的就是拿它找工作(如果你不想把技術當作你第二生命的話),就是干活。所以你在學習的時候千萬不要去做那些所謂的技術習題或是研究那些帽泡算法,最大數算法了,什么叫干活?

          就是做一個東西讓別人用,別人用了,可以提高他們的工作效率,想象吧,你做1萬道技術習題有什么用?只會讓人覺得酸腐,還是在學習的時候,多培養些自己務實的態度吧,比如研究一下當地市場目前有哪些軟件公司用人,自己離他們的要求到底有多遠,自己具體應該怎么做才可以達到他們的要求。等你分析完這些,你就會發現,找工作成功,技術的貢獻率其實并沒有你原來想象的那么高。

          不管你是學習技術為了找工作還是創業,你都要對技術本身有個清醒的認識,在中國不會出現BILL GATES,因為,中國目前還不是十分的尊重技術人才,還僅僅的停留在把軟件技術人才當作人才機器來用的尷尬境地。(如果你不理解,一種可能是你目前僅僅從事過技術工作,你的朋友圈子里技術類的朋友占了大多數,一種可能是你還沒有工作,但喜歡讀比爾。蓋茨的傳記)。
          posted @ 2009-10-26 14:53 kangxm 閱讀(787) | 評論 (1)編輯 收藏

          2009年5月12日 #

          早上讀RSS,看到不錯的東西,抄錄下來


          1、? 堅持不懈的向團隊傳達目標

          2、? 崇拜質量

          3、? 每天都和項目成員聊上兩句

          4、? 敢于說不,慎于說不

          5、? 幫助項目成員解決困難,而不是幫他干活

          6、? 敏感,不將風險留到最后才面對

          7、? 懂得歡慶

          個人覺得總結的蠻好,簡單易懂,回想我工作這幾年:
          不管作項目組成員,還是作Team Manager;
          不管項目成功,還是失敗;
          以上都比較有感觸

          posted @ 2009-05-12 11:24 kangxm 閱讀(440) | 評論 (0)編輯 收藏

          2009年4月21日 #

          不小心把快速啟動里面的“顯示桌面”圖標搞沒了,懶得折騰,所以一直用WIN+D,還是覺得不太習慣。總覺得少了點什么......

          后來還是把“顯示桌面”找回來了!記錄一下

          以前用過一個自己編寫“顯示桌面.scf”文件的辦法干過,具體操作如下:

          記事本輸入:[Shell]Command=2IconFile=explorer.exe,3[Taskbar]Command=ToggleDesktop另存為"顯示桌面.scf",文件類型為所有文件。然后將文件拖到快速啟動欄即可;


          不過有點麻煩,這次?google了一下,找到一個更簡單的辦法;

          “start”-->“Run”-->輸入“regsvr32 /n /i:u shell32”

          顯示桌面.jpg

          這個時候你會發現你的快速啟動欄里面就有了“顯示桌面”
          posted @ 2009-04-21 10:29 kangxm 閱讀(553) | 評論 (0)編輯 收藏

          2008年12月18日 #

               摘要: 轉:唐駿:我的創業第一步
          尋找新的發展空間
            我的人生其實經歷了很多次失敗。考大學是一次失敗,留學日本讀研究生又是一次失敗。我和板倉老師發生沖突后私逃美國的行為,無論如何都是不妥當的。但從另一個角度講,從日本到美國的人生環境轉變,是我的主動選擇,也為我未來的職業生涯創造了新的契機。

            閱讀全文
          posted @ 2008-12-18 11:33 kangxm 閱讀(494) | 評論 (0)編輯 收藏

          2008年12月9日 #

          例子在:\jasperreports-3.1.2-project\jasperreports-3.1.2\demo\samples

          用ant工具運行就可以看到效果

          1. alterdesign

          該例子演示了報表編譯后,在報表展現的時候如何動態的控制其中的元素
          比如讓某一個矩形變色或其他

          2. antcompile

          演示如何讓 ant 來編譯
          3. chart

          演示了如何在報表中添加圖像,JasperReport是用Scriptlet的方式
          往報表中添加圖像,而Scriptlet是調用也是開源的jfreechart的Api來
          生成圖形,去jfreechart看一下,該工具能的圖形生成能力也很強
          4. datasource

          演示了如何在報表中使用各種數據源,能夠使用beanarray
          beancollection,也可以用自定義的數據源,只要繼承了JRDataSource的
          兩個接口,這個能給用戶提供非常大的靈活性,報表的數據不用局限于一
          條Sql語句,也可以使用存儲過程,對生成報表中的數據也可以排序,二
          次檢索,等等
          5. fonts

          各種字體的演示
          6. horizontal

          演示了水平分欄的報表,演示報表中分了三欄,其中還用到了
          textFieldExpression,就像if語句的效果來選擇輸出的內容
          7. hyperlink

          演示了各種樣式的鏈接
          8. images

          演示了如何在報表中加入圖像以及圖像的顯示方式
          9. jasper

          演示了分組分欄的報表,演示中用了2次group
          10. jcharts

          演示了調用另一個開源的API jcharts來往報表中加入分析圖形,原理同
          上chart,如果jfreechart都還不能滿足你分析圖形的要求,那到jcharts
          里找找看吧,說不定有
          11. landscape

          演示橫向的報表
          12. nopagebreak

          演示比如在IE中不分頁的方式打印出報表的內容,通過這個演示也可以
          了解報表輸出如何配置參數
          13. noreport

          演示了如何直接通過java程序生成JasperPrint對象來輸出
          14. noxmldesign

          演示了如何直接通過java程序生成JasperDesign對象來動態的生成報
          表,根據這個例子,用戶可以作出自定義選列的報表,當然比較麻煩,
          而且肯定自己要補充他的API庫
          (JasperReport真是強大啊,呵呵)
          15. pdfencrypt

          演示了pdf的輸出方式,可以給pdf文件加密碼,其實就是pdf輸出方式的
          參數配置,具體有那些參數可配置,去看看API吧
          16. printservice

          演示了如何直接打印報表
          17. query

          演示了如何讓查詢的sql動態起來,比如你可以通過一個Jsp頁面傳
          報表的sql的where條件,order條件,甚至整個sql語句
          18. rotation

          演示了文字縱向顯示的報表
          19. scriptlet

          演示了如何繼承JRDefaultScriptlet,并加入自己的處理語句,這個功能
          可是很強大的哦,看看這些接口
          beforeReportInit() afterReportInit() beforePageInit()
          afterPageInit() beforeColumnInit() afterColumnInit()
          beforeGroupInit(String groupName)
          afterGroupInit(String groupName)
          看看這些名字就知道你能完成那些功能,比如顯示一列數據后,馬上跟
          上該列數據的分析圖形,當然你也可以加上自己的方法并在報表中調用
          20. shapes

          演示了JasperReport中自帶的圖形,及能配置的參數
          當然你也能繼承或者覆寫JasperReport中的Api生成你要的圖形,
          21. stretch

          演示了如何處理報表中數據拉伸以及帶來周圍的線及框的拉伸,
          你能了解到雖然黑框式表格不是JasperReport中缺省的展現方式,
          但在JasperReport中不難實現
          22. subreport

          演示了子報表,還告訴你一個報表中可以有n個子報表,子報表中還可以
          嵌套子報表
          23. tableofcontents

          演示了如何生成一個有目錄的,復雜的報表
          24. unicode

          演示了各種 字符編碼
          25. webapp

          演示了如何把報表放到一個JavaWeb項目中,可以用Jsp Servlet
          applet,筆者做了一個有參數頁面,可以選擇html pdf applet
          輸出方式的報表,有興趣的 我可以在后面放上代碼
          posted @ 2008-12-09 16:59 kangxm 閱讀(1092) | 評論 (0)編輯 收藏

          2008年11月20日 #

          今天看到一篇帖子,作者用通俗的語言形容了一下次貸危機的形成原因,強人啊!
          原帖地址:
          http://jrwua.spaces.live.com/Blog/cns!FD3F0102B0A1BFDF!360.entry

          一男趕集賣豬,天黑遇雨,二十頭豬未賣成,到一農家借宿。
          少婦說:家里只一人不便。
          男:求你了大妹子,給豬一頭。
          女:好吧,但家只有一床。
          男:我也到床上睡,再給豬一頭。
          女:同意。
          半夜男與女商量,我到你上面睡,女不肯。
          男:給豬兩頭。
          女允,要求上去不能動。
          少頃,男忍不住,央求動一下,女不肯。
          男:動一下給豬兩頭。女同意。
          男動了八次停下,女問為何不動?
          男說豬沒了。
          女小聲說:要不我給你豬……
          天亮后,男吹著口哨趕30頭(含少婦家的10頭)豬趕集去了……
          哈佛導師評論:要發現用戶潛在需求,前期必須引導,培養用戶需求,因此產生的投入是符合發展規律的。

          (加強篇)
          另一男得知此事,決意如法炮制,遂趕集賣豬,天黑遇雨,二十頭豬未賣成,到一農家借宿.
          少婦說:家里只一人不便。
          男:求你了大妹子,給豬一頭
          女:好吧,但家只有一床。
          男:我也到床上睡,再給豬一頭。
          女:同意。
          半夜男商女,我到你上面睡,女不肯。
          男:給豬兩頭。
          女允,要求上去不能動。
          少頃,男忍不住,央求動一下,女不肯。
          男:動一下給豬兩頭。女同意。
          男動了七次停下,女問為何不動?
          男說:完事了~~~女:......
          天亮后,男低著頭趕2頭豬趕集去了......

          哈佛導師評論:要結合企業自身規模進行謹慎投資,謹防資金鏈斷裂問題


          又一男得知此事,決意如法炮制兼吸取教訓,遂先用一頭豬去換一粒偉哥,事必,天亮后,男吹著口哨趕38頭(含少婦家的18頭)豬趕集去了……
          哈佛導師評論:企業如果獲得金融資本的幫助,自身經營能力將得到倍增。

          知道此法男多,偉哥供不應求,逐漸要2頭,3頭豬換一粒偉哥。
          哈佛導師評論:這就是通貨膨脹。

          當豬價格漲到16粒一棵的時候,哈佛導師評論:該男已經進入邊際成本,除了擁有對自身能力的自信和未來良好愿望以外,實際現豬流已經為零。

          但換豬男越來越多,賣偉哥的決定,擴展生產能力,推出一種次級偉哥,如果你缺一頭豬,只要你承諾可以到該女房中一夜,就可以先借,事成后補交豬款,這個方法大大促進了偉哥銷售。
          哈佛導師評論:這就是貸款,讓企業可以根據未來的收益選擇借支流動資金

          偉哥專賣店后來在即使你一頭豬都沒有,只要你承諾可以到該女房中一夜,就可以先借,事成后補交豬款。
          哈佛導師評論:這就是金融創新,讓現在的人花未來的錢,反正等你老了未來的錢你也花不動。

          消息一出,換豬男越來越多,有人找偉哥專賣店,這個項目太好了,我們把它變成優質基金,對外銷售債卷,你們也就可以分享我的收益,如何?
          結果偉哥專賣店覺得甚好,于是該公司把換豬男分三類,一類是拿現豬換的,一類是一部分現豬貸的,一類是完全沒有現豬借的,發行三種債卷。大家踴躍而上。紛紛購買偉哥專賣店的債卷,偉哥專賣店生意太好,就把債卷銷售外包給另外一家公司運作,該公司也一并大發其財,公司越做越大,甚至可以脫離實際偉哥銷售情況來發行,給自己和偉哥專賣店帶來巨大的現金收益。
          哈佛導師評論:這就是專業的人做專業的事,從實體經營到資本運作,經濟進入了更高的層次。

          為了防止自己債卷未來有損失,該公司決定給它買上保險,這樣債卷銷售就更容易,因為一旦債卷出現問題,還可以獲得保險公司的賠付,哇,債券公司銷售這下子太好了,保險公司也獲得巨大平白無故的保險收入。
          哈佛導師評論:這就是風險對沖,策略聯盟,提高了企業的抗風險能力,也保護了消費者利益。

          換豬男太多,排長隊等待,該女無法承受,說老娘不干了,我搬家,一時間有無數擁有偉哥的欠豬男。
          哈佛導師評論:這是個別現象,屬于市場的正常波動,不會影響整個經濟。

          結果該女遲遲不肯搬回。一部分欠豬男沒有收入,只好賴帳,結果大量債卷到期無法換現豬吃,債卷公司一看,一粒偉哥16頭豬,這哪里還得起,宣布倒閉
          哈佛導師評論:這是次貸危機,不會影響整個金融行業。

          哪里曉得債卷公司還把債卷上了保險,保險公司一看,這哪里賠得起,于是也宣布要倒閉。
          哈佛導師評論:這是金融危機,還不會影響整個實體經濟。

          后文:據說該女已搬到中國定居。
          posted @ 2008-11-20 14:55 kangxm 閱讀(502) | 評論 (0)編輯 收藏

          2008年11月14日 #

          ?成功IT經理的11個顯著特征

          1、了解公司需求的能力?

          ??????????????????  所有的IT經理都需要知道如何才能夠了解公司的需求,因為這同自己的技術職責密切相關。不管自己在公司當中的位置如何,作為一名IT經理,你都有必要了解公司的真正需求,只有在此基礎上才能做出“正確的事情”。太多的IT經理在制定“IT議程”之前都沒有真正了解公司的目標和需求。迅速掌握了解公司技術需求的能力會讓你了解自己更多的職責。如果IT經理在制定計劃時由于缺乏了解公司需求的技能而“錯過了公司的目標”,公司可能會蒙受數萬美元的損失。了解公司的技術需求是IT經理職業生涯發展的一個重要組成部分。?


          2、制定前景規劃的能力?

          ??????????????????  想要成為一名優秀的IT經理,你必須要能夠確定自己的目標,并且制定出前景規劃,讓你手下的員工了解你希望大家通過努力能夠取得的成績。想要成為一名優秀的IT經理,你要擔負起自己的職責,領導整個小組向著目標前進。能夠制定出計劃并且清楚的向自己手下的員工說明的IT經理能夠在工作中取得巨大的成功,因為你手下的員工會按照你的要求去做。清楚的向自己手下的員工說明自己的前景規劃會讓他們了解工作的中心,讓他們了解你會帶領他們向明確的目標前進。?


          3、制定計劃的能力?

          ??????????????????  一旦知道了自己想要實現的目標,成功的IT經理會知道如何去制定計劃,以實現自己的目標。這意味著要正確估計眼前的形勢,知道哪些事應該擺在優先的位置,制定出大膽而又切實可行的計劃。對于一名想要取得“高度成功”的IT經理來說,制定計劃是一個非常基礎的步驟。但可惜有太多的IT經理沒有能夠做到這一點。在這種情況下,他們所取得的工作成績要比公司有能力取得的成績小的多。擁有制定計劃的能力,通過計劃的實行來實現公司的目標會讓你承擔更多的工作職責。事先制定計劃表明你是一個積極主動而不是一個消極被動的人。?


          4、組建小組的能力?

          ??????????????????  成功的IT經理知道組建一個有深度而又有技能的IT小組的重要性。既要知道如何改進現有的IT小組,又要知道如何白手起家,建立一個新的IT小組。我所見過的所有優秀的IT經理都有根據手頭的工作任務建立一個有力的工作小組的能力,有正確預計未來工作需求以使整個小組做好應對新挑戰的準備的能力。強有力的職業IT經理能夠有效的組建自己手下的員工隊伍。他們了解職業生涯的重要性,并且愿意把職業生涯的構建作為一種工具,來組建強有力的工作小組,更加獨立的開展工作。?


          ?5、集中使用資源的能力?

          ??????????????????  如果想要取得成功,IT經理要集中公司所有的IT工作人員、資金和技術資源,處理最關鍵最重要的事情。公司技術資源的使用要同公司的需求和目標保持同步,并且要通過多產有效的方式。任何有清楚的職業發展目標的IT經理都知道集中使用資源的重要性。?


          ?6、貫徹“客戶服務”理念的能力?

          ??????????????????  對于任何IT公司來說,高水平的客戶服務都是非常重要的。成功的IT經理會在員工的心目中貫徹一種客戶優先的文化理念??不管是內部用戶還是外部客戶。優秀的IT經理知道自己職業生涯的存在和發展是由于客戶需要他們提供的技術,支持他們提供的服務。這也正是成功的IT經理要同客戶建立出色的關系的原因。?


          7、管理項目的能力?

          ??????????????????  公司能夠以可以預見的有效方式制定出項目計劃是所有IT經理開展工作的基礎。任何IT經理想要取得成功,都要對項目進行有效的管理。不管你的職業生涯發展方向如何,強有力的項目管理技能都能夠增加你獲得成功的機會。?


          ?8、應對變化、進行管理的能力?

          ??????????????????  迅速的發展變化是技術的本質特征。每一個IT經理都要了解如何有效的應對變化、進行管理。不能有效的應對變化會影響IT經理職業生涯的發展。?


          ?9、領導員工并激發其工作熱情的能力?

          ??????????????????  如果工作熱情得不到有效的激發,IT工作人員就無法在工作中發揮出自己最大的能量。成功的IT經理總是能夠對員工進行強有力的領導并激發他們的工作熱情。成功的管理人員知道如何發揮他人的潛質,這是一項非常重要的技能。?


          10、有效溝通的能力?

          ??????????????????  成功的IT經理能夠通過多種不同的方式同不同的員工進行溝通。通常,職業生涯的成功在很大的程度上依賴于有效的溝通技能。想要成為成功的IT經理,必須能夠同各種人進行有效的溝通,既包括技術人員也包括非技術人員,要同高級經理交換對項目進展狀況的看法。很多IT經理就是因為做不到這一點而極大的影響了自己的工作成績。能夠在自己的職業生涯中取得最大的成功的IT經理能夠同所有人進行有效的溝通:員工、同行、外部客戶、銷售商和高層管理人員。?


          11、追蹤并衡量工作表現的能力?

          ??????????????????  確定目標并以此來衡量工作表現是非常重要的。成功的IT經理能夠通過明確的方式來衡量小組的工作表現,并且通過反饋信息來改進工作表現。
          posted @ 2008-11-14 10:05 kangxm 閱讀(490) | 評論 (0)編輯 收藏

          2008年11月4日 #

          前一篇中講了團隊建設中應該著重、優先考慮的一些做法,但是,革命不是請客吃飯,團隊建設中也不可能總是和風細雨,總會遇到一些非常情況,也總會用到一些非常手段。下面,就談一下自己信奉的一些名言和實際體會。
          首先,既要可以“俯首甘為孺子牛”也要能夠“橫眉冷對千夫指”。在面對對立、被誤會、被造謠中傷甚至暫時的眾叛親離等困境時,一定要夠堅忍!這其實不難做到,一個基本的態度是:活著,要充滿感激。這是我在學校當班長時,面臨前面提到的困擾時悟出的。當時的想法是:現在遭遇的種種比將來到社會上將要遭遇的,不只要少多少、輕多少,那么現在不就是一次好的鍛煉機會嗎?和你過不去的人不就是在幫你嗎?幫了你,不就該感激他們么?這樣想了以后,頓時渾身清爽,跑道操場上,當時的感覺就是陽光在每一個草尖上跳舞。其后是在進水口帶工程師組的時候,因為面臨要把失去的工期搶回來,又要轉變由來已久的工作作風,“亂世用重典”,又沒有過多的時間去解釋、通融,一時間惡名遠播。但當時經過多年的歷練,已經很自信了,知道自己是什么樣的人,也堅信時間和事實能證明一切,再加上上司的信任和支持,最終也挺過了這一關。另外一個基本態度就是:不要害怕得罪人,不能以和求和。原因很簡單,你來工作的目的是干活拿錢,是把工作做好,不是來交朋友的。所以,對危害團隊的人和事,一定要堅決反對,處理起來要當機立斷,毫不手軟。這方面,我又成功的經驗,也有深刻的教訓。曾經有兩個人,自己判定他們不適合待在團隊里,但因為有上司地說請給留了下來,最終都惹了一些不必要的麻煩,后一個還給工作造成了較大的損失。
          有了基本的態度以后,策略上,“誰是我們的朋友,誰是我們的敵人,這是革命的首要問題”。實際上,這也是團結一切可以團結的力量,爭取大多數;孤立、分化、瓦解、打擊極少數的問題。即便是在要打擊的極少數里頭,也還要再講個“首惡必懲,協從不糾”。總之,打擊面要盡可能的窄!因為,這絕不可能雙贏,所謂“殺敵一千,己傷八百”。所以,一定要慎重,而且,必須是在團隊利益受到危害時逼不得已的選擇。這里講的敵友,衡量的標準就是是否危害團隊利益,絕不可憑個人好惡。
          敵友問題搞清楚了,下一個面臨的就是雷鋒說的:對待同志,要像春天般溫暖;對待敵人,要像嚴冬般冷酷。一旦決定對危害團體利益的人和事采取行動,就一定要堅決有力,次數上要盡可能少而精,力度上要盡可能穩準狠。要讓人知道,你手里有劍,而且,一旦需要,這把劍會毫不留情地砍下來的。這樣做的原因,還有一點就是:對待人的群體,在認同“性本善”的同時我還認同棗核理論。就是說:在群體里頭,特別好的和特別壞的都是少數,絕大部分人是集中在中間的,往兩頭跑的。榜樣的力量是無窮的!決定這個群體性質的關鍵就是看哪頭得勢。作為一個團隊建設者,就是要懲惡揚善,樹立正氣,形成良性循環。一旦形成良性循環,工作就非常順利了。
          至于說具體手段,就要因人就事,不拘一格了。毛澤東講:這個世界是復雜的,所以我們的思想也要復雜一些。尤其你面對的人,往往都是小人、惡人、自認為聰明的人。所以,不講些手段,僅憑善良和正義是不行的。不要對手段抱有成見,其實和內容決定形式一樣,目的決定手段。就像毒藥,可以用來害人,也可用來殺耗子,幫助人。手段本身無罪,關鍵看你用來做什么。不過,運用手段的時候,有一點一定要提防,不要像面具的故事那樣在戴面具的過程中被面具迷失了本性。依據自己的性格,追求和應用的手段就是不用手段,實在要用,也是一招制敵。武俠小說里講:無招勝有招。古龍更是塑造了小李飛刀。實際中,看著對方費盡心思玩手段對付你;你呢,你不跟他玩,只是好整以遐地看著,什么時候不想看了,一刀捅到他心口窩,他的所有動作戛然而至。你臉上不動聲色,但心里的感覺,爽!不過,這也說明自己的修煉還不夠,包括在這里舞文弄墨。真正的境界應該時寵辱不驚,心如止水。
          還有一點:朝中有人好做官,不管是外企還是國企,上司的信任和支持都非常重要,尤其在你面對非常情況、陷入困境的的時候!事實上,自己幾次成功的團隊建設經歷,也都和上司的信任和支持分不開。可惜的是,在處理和上司的關系上,我做得很不好,需要的是更多的反思、提高和轉變,主要是個性和觀念。和大部分人一樣,我認為跟上司走得近乎是巴結、逢迎、獻媚。自己曾長期津津樂道并引以為豪的是不會去故意和上司套近乎,得到信任是因為自己的實力。后來的兩件事情和兩篇文章是我改變了看法。一是遇到了一個巨細管理的上司,什么都想自己管,猜忌防范下屬,雖然他最終沒能怎樣,但確實給個人、給工作帶來了較大的困擾。還有一次經歷,我曾一度失去了一位一直很信任和支持我的上司的支持和信任,雖然最終排除了干擾,但畢竟有了一段不愉快的回憶。再看看歷史上,那么多的忠臣良將被奸人所害,不都是教訓深刻么?后來,在學習項目管理的過程中,我看了兩篇文章,一篇是關于如何應對巨細管理的,一篇是關于如何看待辦公室政治的。具體內容不管它,兩篇文章有一個共同點就是,碰到這些問題,不能逃避,要拋開傳統觀念,從問題的正面出發,積極應對。雖然其中種種行之有效的技巧我還是做不來,但起碼不像以前那樣反感。而且,一些基本的概念也已確立,比如:上司也是人;上司周圍的空間,與其讓小人、奸人去填補,不如你去填補;你可以對客戶做的,為什么不能對上司做,何況,上司是你最重要的客戶等等。
          個人的體會,基本上就是這些了。和上一篇講的優先考慮的做法不一樣的是:既然是非常手段,就只能在非常情況下使用,只是輔助手段;和上一篇講的優先考慮的做法一樣的是:正確與否,都要以是否有利于團隊建設為衡量基準。?
          posted @ 2008-11-04 13:18 kangxm 閱讀(457) | 評論 (0)編輯 收藏

          團隊建設,簡單講就是:給你一撥人,你得能把他們攏在一起,朝著一個方向走。怎么做呢?下面就把個人實踐中,認為應該優先考慮的一些做法給列出來:?
          首先,一切的前提?尊重!不懂得尊重人,一切都無從談起。這個尊重不是來自鬼都不相信的“人人生而平等”,而是來自于堅信“只要是個人,就有比自己強的地方,就有用”。這個尊重是有形的,是可以看得出來、感覺得到的,比如說:你對人的守時、守信、虛心聽取意見等等。最大、最可貴、最有效地的尊重是信任!這體現為對團隊成員的合理、有效的授權和委任。
          然后是溝通,把情況了解上來,把影響施加下去。好的溝通就像一個靈敏有效的神經系統,又像是機件運行的潤滑劑。溝通的手段多種多樣,自己比較喜歡用的有:聊天;有人曾經問我:怎么整天見你跟人聊天啊?我的回答是:聊天也是工作。因為,那不是亂聊的,尤其在時機和話題的選擇上。目的只有一個?拉近距離,融洽氣氛,了解情況,施加影響。還有比較喜歡用的就是娛樂,尤其是下棋、打牌、喝酒,這三項活動最能體現人的性格,想藏都藏不住。性格無所謂優劣!最重要的是要因人而異,善加利用。通過合理的組合,減少沖突,增強合力。
          還有就是文字記錄,一定要讓團隊成員,尤其是關鍵成員養成做文字記錄(正式非正式)的習慣,這對團隊建設本身不是十分重要,但從企業管理和項目管理的角度來看,卻是非常重要。而且,團隊建設的目的,也是為了最終把工作做好。
          然后是服務,這是團隊建設的核心內容。要盡可能地把自己是頭、有權發號施令的念頭壓下去,把監督、控制等字眼兒壓下去。更多地想的是對這個團體的責任,目的是要把工作做好。工作最終要靠整個團隊,而不是某個人來完成。要立足于服務,給團隊成員創造出一個良好的工作環境。
          換句話說,組織者的任務就是把臺子搭好,讓團隊成員把戲唱好。不要擔心會被搶了風頭!一則,戲唱的再好,到上司那里匯報的還是你;二則,即便是團隊成員最終超越了你,你真誠地幫過他,他自然也會幫你,何樂而不為呢?所以,不要吝嗇在上司面前肯定團隊成員的成績,更不要邀功于己,諉過于人,這是非常忌諱的。要讓團隊成員放手工作,“錯了,責任是我的,對了,功勞是你們的”這句話,不但要說,更要做!
          這里講的服務,既是工作上的,也是生活上的,都很重要,都要盡可能細致、周到。服務做好了,管理基本上也就到家了。這里需要指出的是:服務不等于遷就,是有原則的,也是在自己能力范圍內的。還有,在這個過程中,會有不少誤解、委屈,也會很“吃虧”,沒辦法,誰讓你是頭呢,如果你想把工作做好,這些你都得認嘍,吃這些小“虧”占“工作做好”這個大“便宜”。等成績出來的時候,那些誤解、委屈也就沒了,你收獲得將是一幫多少年后都還彼此眷顧、相互信任的朋友和一段美好的回憶。
          還有協調和組織,也就是把合適的人放在合適的位置上。實際上,作為一種具體的技能和工作內容,這是和尊重、溝通和服務是連在一起的。把前幾項做好了,協調組織基本上就是個水到渠成的問題。由兩個需要注意的方面,一是要注意實際情況,因人就勢;一是要注意盡可能多地、合理地授權,管得越少越好。
          再就是激勵。物質獎勵是必要的,但一定要慎用、少用。因為,好事往往會變成壞事,尤其對于時下的國人而言。不但起不到激勵的作用,反而造成不必要的麻煩,增加攀比、猜忌等矛盾,破壞氣氛。而且,如果老是要靠物質刺激來激勵的話,就說明組織、薪酬體系有問題。
          激勵更多的應該是精神層面的,最有效的就是對人真誠的尊重和信任、充分有效的授權和對成績及時有效的肯定,最不濟也可以用哥們義氣。如果你能真正重視團隊成員的意見并給予充分、有效、適當的授權,完成任務時給予及時的肯定,失敗時給予真誠的幫助和鼓勵,比許諾獎他多少多少錢產生的激勵作用要來的強烈和持久的多。“士為知己者死”,雖然沒必要那么夸張,但作用絕不可低估。每個人都希望自己的工作獲得認可,及時、公開的表揚就顯得很重要了,那代表著認知、肯定和認同。
          最后,也是最重要的,就是個導向問題。前面提到的種種,都要以一個原則為導向,那就是:產生合力,達成目標,最終目的是要把工作做好。這是基本準則,也是衡量團隊建設成功與否的標準。
          總之,團隊建設說難不難,說易不易,關鍵在于你如何把握。只要你熱心、誠懇、負責任,肯和團隊成員交朋友(洛陽有句話:伙計擱好了,活也就做好了),加上一些必要的技巧(不是玩心眼),和上司的支持(這也非常必要),團隊不愁建不好。非常手段的使用?
          posted @ 2008-11-04 13:16 kangxm 閱讀(493) | 評論 (0)編輯 收藏

          2007年9月28日 #

               摘要: SiteMesh:一個優于Apache Tiles的Web頁面布局、裝飾框架  閱讀全文
          posted @ 2007-09-28 15:34 kangxm 閱讀(9946) | 評論 (3)編輯 收藏

          2007年9月27日 #

               摘要: 最近經常看一些朋友寫的源代碼,總是感覺編碼規范問題還沒有成為大家的關注點,導致代碼的通用可讀性相對比較差;

          所以在此嘮叨幾句編碼規范(以struts2+spring2+hibernate3架構的項目為例),大家各取所需,歡迎拍磚!
            閱讀全文
          posted @ 2007-09-27 13:31 kangxm 閱讀(3637) | 評論 (10)編輯 收藏

          2007年9月21日 #

               摘要: 教你十招優化WinXp系統盤  閱讀全文
          posted @ 2007-09-21 16:13 kangxm 閱讀(993) | 評論 (2)編輯 收藏

          2007年9月14日 #

          ??? 水木周平:“中國99%的白領以及他們的家庭即將面臨破產。而且是必然破產!無路可逃!這件事可能是發生在未來2-10年。你可以盡量去懷疑這個數字。但它必然發生,絕非危言聳聽。”
          ???
          ??? 就如我預言中國國營企業職工必然失業一樣,在當時來說沒人信。但確實會發生。因為在中國這樣一個發展中國家,其必然以不斷的以通貨膨脹和改革手段來換取經 濟的發展。而每一次改革所帶來的陣痛都是由百姓來承擔的。無論是上山下鄉時迷茫的知青們還是改革開放帶來的大量國企紛紛倒閉時大量下崗職工。如果他們能有 一定的前瞻性的話,那么我想他們也許會為自己留一點后路。但是由于過分相信文件以及過分相信生活不會突變,所以才導致了他們的人生悲劇。有人說政府不會坐 視不理白領破產,其實政府當然不愿意。可有的事情……怎么說呢。想想當年的下崗職工吧。引起了那么大的社會震動。又能怎樣呢?今天的白領明天破產的時候也 那樣而已。

          ??? 而改革開放20多年來,中國的經濟發展快速騰飛。但舊的體制并沒有完全更改。各種重要行業依然施行的是政府壟斷機制在運轉。如:銀行,金融,冶金,能源, 信息,運輸,醫療,教育,土地。在改革開放初期我國不可能對這些東西進行全方面的改革開放。但到了今天,壟斷經營所帶來的矛盾日益突出。首當其沖的就是房 地產。由于我國的法制不健全,尤其是金融以及改革領域里出現了各種失誤導致房地產節節攀升。隨著房地產的增加以及外來人口向大城市集中。所以城市新民工也 就是所謂的“白領”收入表面上也在提升,以北京為例3000-15000元人民幣的月薪處處可見。但這一部分收入主要用于支付租房或還貸。

          ??? 為了深入地了解為什么99%的白領家庭會破產,我們就必須先了解房價為什么會這么高?高在哪里?資金是運轉的?(這里的白領指買房或者準備買房族。)以及發展趨勢帶來的相關效應。本文會分三個階段向你闡述。
          ???
          ??? 1:導致房價爆漲的第一個因素:銀行競爭下的貸款開放。--水木周平

          ????其實房價的爆漲的因素主要是因為百姓在替政府所犯下的錯誤買單。比如以前一個開發商通過某銀行貸款了1000萬開發了一個房子。如果還不起那他就 倒霉了,因為所有的銀行都是一個體系,你欠了錢沒還就再也沒有翻身的機會。但是中國在銀行改革的基礎上開了一條口子,為了各銀行之間的競爭所以把工行,農 行,建設銀行等等全部獨立運營。這本來是好事。但問題是這些銀行都不是私有的,而是國家的。我們不難想象。當一個開發商從工行貸款1000萬的后果。他只 需要用500萬來開發房子,然后把售價提升,再把這個開發中的房子按他的售價標準抵押從農行再貸款2000萬,然后再用這2000萬中的1000萬開發一 套售價更高的房子來找建設銀行抵押貸款4000萬。就是這樣一個滾雪球的瘋狂貸款模式。房子賣不賣得出去不重要,關鍵是房價要高,不得降價。反正銀行的錢 不是私人的,所以稍微疏通一下行長加之又有“合法的”高零售價的樓盤做抵押所以自然就越來越好從銀行貸款。

          ??? 那么這樣造成的結果就是,房子價格只攀不跌!因為不能跌!一跌銀行貸出去的款就再也回不來了。這可是政府的銀行,政府的錢!所以為了堵住這個資金黑洞一些 被收買的專家、媒介便開始瘋狂制造輿論用各種輿論手段威逼利誘人買房子。比如土地資源嚴重緊張,再不買房將來就只能住在郊區呀之類的。導致人們不得不去買 房。其實住不了市中心這種情況這根本不可能發生,城市居民是一個新老替換的過程,要上班的住城里,老人退休喜歡住郊區。只要人口不爆炸就不會出現上班族住 不了市中心的情況。雖然這些輿論造成了很多人買房子,但是僅僅是這樣,房價還沒有高到現在這樣的離譜。緊接著政府又犯了第二個錯誤。


          ??? 2:導致房價爆漲的第二個錯誤:中國特色的按揭。--水木周平

          ????按揭本來是一種西方很流行的制度,也很合適。但這個制度一旦運用到中國就有點問題了。因為從大的體制上來說。所有銀行都是國家的,而不是私人的。所以貸款這個關口就不可能控制得住。只要文件上說得過去,人們就能貸到款。

          ????為了早日緩解第一個錯誤所帶來的資金黑洞。政府開始實行個人按揭制度來售房。還經常舉什么美國來太太和中國老太太的例子來誘惑人們去按揭。確實有 人按揭了,而且是瘋狂的按揭。只要和銀行有點“路子”的人。他們先按揭一套80萬的房子,自己出10萬首付然后再從銀行貸出70萬。之后再把這個房子抬高 價格到180萬出售。這個時候他們的親戚或者老爸老媽再去買下,也用按揭的方式自己出首付30萬再從銀行貸出150萬。然后就不管了。他們不還貸款怎么 辦?銀行愛收不收。反正根據合同我還不上錢你可以收走房子,我們兩不相欠。

          ????所以轉了一圈,抬高了幾倍價格的房子又回到了政府回到了銀行手里。這就解釋了為什么很多新樓盤剛開始修就被“炒房團”買走了。他們炒的不是賭房子會升值。而是拿了房子去收拾銀行。

          ????銀行拿到這個房子怎么辦?更不敢降價了。只好再加點價接著賣。所以普通老百姓現在根本別想買到真正合理價格的房子!即使你直接從開發商手里買來的 房子都說不定已經轉了好幾次手又回到銀行以及開發商手里的了。說句不好聽的現在8000/平的房子里,有只有2500才是房價,有5500都是以為決策錯 誤帶來的資金黑洞!也就是說你正在替人任勞任怨的擦屁股。


          ??? 3:第三個問題:白領家庭何時破產??--水木周平

          ????那么我們研究了房子價格為什么會漲,再來研究一下中國城市所謂的白領家庭破產的必然性。

          ????首先國外白領收入確實是高,但是高得有價值。而中國所謂的白領則普遍素質較差。中國企業內耗嚴重。人人相輕,人人頑固。所以難怪外資企業一進入中 國大陸市場就開始驚呼:“在中國辦企業招不到人!”對此我也深有體會。那有人會說:“既然現在的白領不值這個身價,那水木周平你說說為什么他們還能拿到這 樣的薪水呢?”

          ????其實,這由于房地產的火爆造成的一個量子效應。銀行損失的資金大量的經過少數人之手流向了市場。這些人開始在中國的其他領域瘋狂投資。因為他們自 己也知道房地產就快要崩盤了。他們這樣一輪又一輪的投資熱潮正在快速消化這些資金,他們投資互聯網,投資高新技術,投資娛樂,投資很多很多。但起碼付出的 工資要夠員工付房子月租或者月供吧。所以正是因為房價的高漲所以造就了中國城市人口工資水平的相對提升。不相信你自己算算你所在的城市白領階級平均收入一 旦交完每月的房錢,手上還能剩多少錢?我想這個問題就不用我再羅嗦了吧。大家心理有數。所以我可以說一旦房地產崩盤緊接著崩潰的就是你的工資。

          ????有很多很多我認識的白領們都購了房。他們的算盤很簡單:“兩口子除開各種稅收保險每月純收入還余12000。交3000房錢算什么?我還能再買一 套呢!”是的不算什么。但因為房子貴所以什么東西都貴。吃的貴,交通貴,學費貴,醫療費用更貴!!!所以交了房錢你再除開生活費用就基本上一分錢存不下 來,就算存點也趕不上正常的通貨膨脹率。問題是如果能一直保持這個現狀的話,理論上說應該沒事。你這二十年賺來的錢正好可以彌補政府的兩個錯誤帶來的虧 損。

          ????但問題也出在這里。隨著WTO5年緩沖期的結束,具體時間應該是在2006年的12月31日。大量外資通訊,銀行,醫療,保險等等公司都會陸續進 入中國。到時候沒有人能阻止你把錢存入花旗,存入匯豐。請問一下到那個時候誰愿意把錢存在呆帳壞帳如此之多的中國國有銀行呢?即使政府再怎么采取措施也可 能擠兌,所以到時候會發生什么現在還很難說。但有一點可以肯定的是到時中國國有這些銀行的壓力將變得非常巨大。貸款就會難上加上,因為銀行根本無錢可貸! 同時大量具備高素質人材的外資企業進入中國必定帶來市場的強烈沖擊和大量現有企業的倒閉以及白領失業。也就是說。一旦外資企業加入競爭,中國現有的99% 的白領都將面臨大環境下的就業壓力!

          ????而且外資銀行一旦積累了資金開始投資房地產,那么由于它們是正常的操作流程所以造出來的房子就會便宜,其必然拉動全國房地產大幅下跌。如我剛才所 說,房價一跌,緊跟著跌的就是你所在的企業的工資收入!可你之前買的房子還貸價格并不會降低或者減少,所以你將無力支付高昂的貸款。那么你的的房子會被銀 行收走,你的存款會被直接凍結。所以未來中國城市中的白領們最大的可能是和幾十年前的中國國有企業職工一樣。辛辛苦苦二十年,到頭來竹籃打水一場空!

          ??? 如何避免破產?--水木周平

          ????看到這里您應該明白,不要買房是一個避免破產的好辦法。不過我還要提醒你,為了托住樓市不跌,他們還有個辦法,那就是鼓吹老百姓不買房就不是個爺 們兒!您別說,這還真有點效果。現在的人一張口第一句就是:“你有房嗎。”似乎你沒房就是個太監一樣。我實在是氣得連罵人的力氣都沒有了。還有人在百度水 木周平這個帖吧里發帖說:“不買房子你住哪里?”我就奇怪了,住和買有必然聯系嗎?在中國一個土地都不屬于你的房子賣給你和租給你有什么區別?(笑)。更 別提土匪一樣的物業和把人不當人的強制拆遷!這不純粹是“皇帝的新裝”嗎?不過既然WTO中已經說明出版業和傳媒業中國還是不對外開放的。那么輿論救市就 會成為政府和開發商手中的最后一張王牌。所以我們在面對很多花言巧語的時候還是自己多動動腦子。以后我們聽到的房產的鬼話會越來越多,越來越令人發指!比 如最近就有磚家在鼓吹房價不貴時都說:“什么即使年薪5萬,兩口子也是一年10萬,5年就50萬。所以房價當然不貴。”我奇怪的是居然有人點頭稱是?也許 對于這種或者此類已經進化到了不吃不喝不病不穿不動且爹娘早已死絕不用贍養的磚家來說也許還真是那么回事。所以大家注意提高警惕。

          ??? 結束語:--水木周平

          ????已經買房或者準備買房的白領一族必定隨著房價的崩潰而崩潰,那會是一個緩慢發生的過程。短則兩年,長則十年。但這是不可逆轉的趨勢。所以中國 99%城市白領一族已經面臨破產一說絕非危言聳聽!今天你往銀行交的每一分房錢都是替政府替炒房者補洞,只有一小部分是真正的房錢。明天大環境一變,你沒 有那么多資金來補洞的時候就會被市場和銀行一腳踢回老家,換一批新人來接著補。不信?走著瞧唄!--PS:為什么我說99%這個數,是因為根據我的了解 99%的人一旦月薪過5000就開始買房,甚至3000,4000都買。小倆口什么都不明白這樣買下去人生一定會很慘。我只是替他們感到憂傷。當然如果你 是那1%的智者,多勸救他們吧。獨樂樂不如眾樂樂。

          ??? 本文轉載自:http://www.aygfsteel.com/fanyingjie/archive/2007/09/05/142964.html
          posted @ 2007-09-14 10:47 kangxm 閱讀(607) | 評論 (3)編輯 收藏

          2007年6月18日 #

          ??? 我終于有機會帶項目了!鼓勵一下自己!:-)

          ??? 先全力以付把系統設計做好!加油!!!
          posted @ 2007-06-18 09:03 kangxm 閱讀(838) | 評論 (2)編輯 收藏

          2007年5月28日 #

               摘要: 共享一個MyEclipse5.5GA注冊碼  閱讀全文
          posted @ 2007-05-28 09:21 kangxm 閱讀(13458) | 評論 (170)編輯 收藏

          2007年5月10日 #


          Ctrl+1 快速修復(最經典的快捷鍵,就不用多說了)

          Ctrl+D: 刪除當前行? ?

          Ctrl+Alt+↓ 復制當前行到下一行(復制增加)

          Ctrl+Alt+↑ 復制當前行到上一行(復制增加)

          Alt+↓? 當前行和下面一行交互位置(特別實用,可以省去先剪切,再粘貼了)

          Alt+↑? 當前行和上面一行交互位置(同上)

          Alt+←? 前一個編輯的頁面

          Alt+→? 下一個編輯的頁面(當然是針對上面那條來說了)

          Alt+Enter 顯示當前選擇資源(工程,or 文件 or文件)的屬性

          Shift+Enter 在當前行的下一行插入空行(這時鼠標可以在當前行的任一位置,不一定是最后)

          Shift+Ctrl+Enter 在當前行插入空行(原理同上條)

          Ctrl+Q? 定位到最后編輯的地方

          Ctrl+L? 定位在某行? (對于程序超過100的人就有福音了)

          Ctrl+M 最大化當前的Edit或View (再按則反之)

          Ctrl+/? 注釋當前行,再按則取消注釋

          Ctrl+O? 快速顯示 OutLine

          Ctrl+T? 快速顯示當前類的繼承結構

          Ctrl+W? 關閉當前Editer

          Ctrl+K? 參照選中的Word快速定位到下一個

          Ctrl+E 快速顯示當前Editer的下拉列表(如果當前頁面沒有顯示的用黑體表示)

          Ctrl+/(小鍵盤) 折疊當前類中的所有代碼

          Ctrl+×(小鍵盤) 展開當前類中的所有代碼

          Ctrl+Space 代碼助手完成一些代碼的插入(但一般和輸入法有沖突,可以修改輸入法的熱鍵,也可以暫用Alt+/來代替)

          Ctrl+Shift+E 顯示管理當前打開的所有的View的管理器(可以選擇關閉,激活等操作)

          Ctrl+J? 正向增量查找(按下Ctrl+J后,你所輸入的每個字母編輯器都提供快速匹配定位到某個單詞,如果沒有,則在stutes line中顯示沒有找到了,查一個單詞時,特別實用,這個功能Idea兩年前就有了)

          Ctrl+Shift+J 反向增量查找(和上條相同,只不過是從后往前查)

          Ctrl+Shift+F4 關閉所有打開的Editer

          Ctrl+Shift+X? 把當前選中的文本全部變味小寫

          Ctrl+Shift+Y? 把當前選中的文本全部變為小寫

          Ctrl+Shift+F? 格式化當前代碼

          Ctrl+Shift+P 定位到對于的匹配符(譬如{}) (從前面定位后面時,光標要在匹配符里面,后面到前面,則反之)

          Alt+Shift+R 重命名 (是我自己最愛用的一個了,尤其是變量和類的Rename,比手工方法能節省很多勞動力)

          Alt+Shift+M 抽取方法 (這是重構里面最常用的方法之一了,尤其是對一大堆泥團代碼有用)

          Alt+Shift+C 修改函數結構(比較實用,有N個函數調用了這個方法,修改一次搞定)

          Alt+Shift+L 抽取本地變量( 可以直接把一些魔法數字和字符串抽取成一個變量,尤其是多處調用的時候)

          Alt+Shift+F 把Class中的local變量變為field變量 (比較實用的功能)

          Alt+Shift+I 合并變量(可能這樣說有點不妥Inline)

          Alt+Shift+V 移動函數和變量(不怎么常用)

          Alt+Shift+Z 重構的后悔藥(Undo)

          posted @ 2007-05-10 11:15 kangxm 閱讀(601) | 評論 (0)編輯 收藏

          2007年5月9日 #


          一、page?對象
          ????page對象代表JSP本身,更準確地說它代表JSP被轉譯后的Servlet,它可以調用Servlet類所定義的方法。
          ????????
          二、config?對象
          ????config?對象里存放著一些Servlet?初始的數據結構。
          ????config?對象實現于javax.servlet.ServletConfig?接口,它共有下列四種方法:
          ????????public?String?getInitParameter(name)
          ????????public?java.util.Enumeration?getInitParameterNames(?)
          ????????public?ServletContext?getServletContext(?)
          ????????public?Sring?getServletName(?)

          三、request?對象
          ????request?對象包含所有請求的信息,如:請求的來源、標頭、cookies和請求相關的參數值等等。
          ????request?對象實現javax.servlet.http.HttpServletRequest接口的,所提供的方法可以將它分為四大類:
          ????1.儲存和取得屬性方法;
          ????????void?setAttribute(String?name,?Object?value)?????? 設定name屬性的值為value
          ????????Enumeration?getAttributeNamesInScope(int?scope)????取得所有scope?范圍的屬性
          ????????Object?getAttribute(String?name)?????????????????? 取得name?屬性的值
          ????????void?removeAttribute(String?name)?????????????? ?? 移除name?屬性的值
          ????2.取得請求參數的方法
          ????????String?getParameter(String?name)?????????????? ? ? 取得name?的參數值
          ????????Enumeration?getParameterNames(?)?????????????? ? ? 取得所有的參數名稱
          ????????String?[]?getParameterValues(String?name)??????? ? 取得所有name?的參數值
          ????????Map?getParameterMap(?)?????????????????????????????取得一個要求參數的Map
          ????3.能夠取得請求HTTP?標頭的方法
          ????????String?getHeader(String?name)????????????????????? 取得name?的標頭
          ????????Enumeration?getHeaderNames()?????????????????????? 取得所有的標頭名稱
          ????????Enumeration?getHeaders(String?name)??????????????? 取得所有name?的標頭
          ????????int?getIntHeader(String?name)????????????????????? 取得整數類型name?的標頭
          ????????long?getDateHeader(String?name)??????????????? ??? 取得日期類型name?的標頭
          ????????Cookie?[]?getCookies(?)??????????????????????? ??? 取得與請求有關的cookies
          ????4.其他的方法
          ????????String?getContextPath(?)?????????????????????????? 取得Context?路徑(即站臺名稱)
          ????????String?getMethod(?)??????????????????????????????? 取得HTTP?的方法(GET、POST)
          ????????String?getProtocol(?)?????????????????????????? ?? 取得使用的協議?(HTTP/1.1、HTTP/1.0?)
          ????????String?getQueryString(?)??????????????????? ? ? ?? 取得請求的參數字符串,不過,HTTP的方法必須為GET
          ????????String?getRequestedSessionId(?)???????????? ? ? ?? 取得用戶端的Session?ID
          ????????String?getRequestURI(?)????????????????????????????取得請求的URL,但是不包括請求的參數字符串
          ????????String?getRemoteAddr(?)????????????????????????????取得用戶的IP?地址
          ????????String?getRemoteHost(?)????????????????????????????取得用戶的主機名稱
          ????????int?getRemotePort(?)?????????????????????????? ? ? 取得用戶的主機端口
          ????????String?getRemoteUser(?)????????????????????? ? ? ? 取得用戶的名稱
          ????????void?etCharacterEncoding(String????encoding)?????? 設定編碼格式,用來解決窗體傳遞中文的問題

          四、response?對象
          ????response?對象主要將JSP?處理數據后的結果傳回到客戶端。
          ????response?對象是實現javax.servlet.http.HttpServletResponse?接口。response對象所提供的方法。
          ????1.設定表頭的方法
          ????????void?addCookie(Cookie?cookie)??????????????????? ? 新增cookie
          ????????void?addDateHeader(String?name,?long?date)???????? 新增long類型的值到name標頭
          ????????void?addHeader(String?name,?String?value)????????? 新增String類型的值到name標頭
          ????????void?addIntHeader(String?name,?int?value)??????? ? 新增int類型的值到name標頭
          ????????void?setDateHeader(String?name,?long?date)????? ?? 指定long類型的值到name標頭
          ????????void?setHeader(String?name,?String?value)?????? ?? 指定String類型的值到name標頭
          ????????void?setIntHeader(String?name,?int?value)????????? 指定int類型的值到name標頭
          ????2.設定響應狀態碼的方法
          ????????void?sendError(int?sc)?????????????????????????????傳送狀態碼(status?code)
          ????????void?sendError(int?sc,?String?msg)???????????????? 傳送狀態碼和錯誤信息
          ????????void?setStatus(int?sc)?????????????????????????????設定狀態碼
          ????3.用來URL?重寫(rewriting)的方法????
          ????????String?encodeRedirectURL(String????url)????????????對使用sendRedirect(?)方法的URL予以編碼

          五、out?對象
          ????out?對象能把結果輸出到網頁上。
          ????out主要是用來控制管理輸出的緩沖區(buffer)和輸出流(output?stream)。
          ????????void?clear(?)??????????????????????????????????? ? 清除輸出緩沖區的內容
          ????????void?clearBuffer(?)??????????????????????????????? 清除輸出緩沖區的內容
          ????????void?close(?)??????????????????????????????????? ? 關閉輸出流,清除所有的內容
          ????????int?getBufferSize(?)?????????????????????????? ? ? 取得目前緩沖區的大小(KB)
          ????????int?getRemaining(?)??????????????????????????? ? ? 取得目前使用后還剩下的緩沖區大小(KB)
          ????????boolean?isAutoFlush(?)?????????????????????????? ? 回傳true表示緩沖區滿時會自動清除;false表示不會自動清除并且產生異常處理
          ????????
          六、session?對象
          ????session對象表示目前個別用戶的會話(session)狀況。
          ????session對象實現javax.servlet.http.HttpSession接口,HttpSession接口所提供的方法
          ????????long?getCreationTime()?????????????????????????? ? 取得session產生的時間,單位是毫秒
          ????????String?getId()?????????????????????????????????????取得session?的ID
          ????????long?getLastAccessedTime()????????????????????? ?? 取得用戶最后通過這個session送出請求的時間
          ????????long?getMaxInactiveInterval()?????????????????? ?? 取得最大session不活動的時間,若超過這時間,session?將會失效
          ????????void?invalidate()?????????????????????????????? ?? 取消session?對象,并將對象存放的內容完全拋棄
          ????????boolean?isNew()????????????????????????????????????判斷session?是否為"新"的
          ????????void?setMaxInactiveInterval(int????interval)?????? 設定最大session不活動的時間,若超過這時間,session?將會失效

          七、application對象
          ????application對象最常被使用在存取環境的信息。
          ????因為環境的信息通常都儲存在ServletContext中,所以常利用application對象來存取ServletContext中的信息。
          ????application?對象實現javax.servlet.ServletContext?接口,ServletContext接口容器所提供的方法
          ????????int?getMajorVersion(?)?????????????????????????????取得Container主要的Servlet?API版本
          ????????int?getMinorVersion(?)?????????????????????????????取得Container次要的Servlet?API?版本
          ????????String?getServerInfo(?)??????????????????????? ? ? 取得Container的名稱和版本
          ????????String?getMimeType(String?file)?????????????? ? ?? 取得指定文件的MIME?類型
          ????????ServletContext?getContext(String?uripath)????? ? ? 取得指定Local?URL的Application?context
          ????????String?getRealPath(String?path)??????????????? ? ? 取得本地端path的絕對路徑
          ????????void?log(String?message)??????????????????????? ?? 將信息寫入log文件中
          ????????void?log(String?message,?Throwable?throwable)????? 將stack?trace?所產生的異常信息寫入log文件中

          八、pageContext對象
          ????pageContext對象能夠存取其他隱含對象。
          ????1.pageContext對象存取其他隱含對象屬性的方法,此時需要指定范圍的參數。
          ????????Object?getAttribute(String?name,?int?scope)
          ????????Enumeration?getAttributeNamesInScope(int?scope)
          ????????void?removeAttribute(String?name,?int?scope)
          ????????void?setAttribute(String?name,?Object?value,?int?scope)
          ????范圍參數有四個,分別代表四種范圍:PAGE_SCOPE、REQUEST_SCOPE、SESSION_SCOPE、APPLICATION_SCOPE
          ????2.PageContext對象取得其他隱含對象的方法
          ????????Exception?getException(?)?????????????????????? ?? 回傳目前網頁的異常,不過此網頁要為error?page,
          ????????JspWriter?getOut(?)??????????????????????????? ??? 回傳目前網頁的輸出流,例如:out?
          ????????Object?getPage(?)?????????????????????????????? ?? 回傳目前網頁的Servlet?實體(instance),例如:page
          ????????ServletRequest?getRequest(?)?????????????????? ? ? 回傳目前網頁的請求,例如:request
          ????????ServletResponse?getResponse(?)?????????????????? ? 回傳目前網頁的響應,例如:response
          ????????ServletConfig?getServletConfig(?)?????????????? ?? 回傳目前此網頁的ServletConfig?對象,例如:config
          ????????ServletContext?getServletContext(?)????????????????回傳目前此網頁的執行環境(context),例如:application
          ????????HttpSession?getSession(?)????????????????????????? 回傳和目前網頁有聯系的會話(session),例如:session
          ????3.PageContext對象提供取得屬性的方法
          ????????Object?getAttribute(String?name,?int?scope)????????回傳name?屬性,范圍為scope的屬性對象,回傳類型為Object
          ????????Enumeration?getAttributeNamesInScope(int?scope)????回傳所有屬性范圍為scope?的屬性名稱,回傳類型為Enumeration
          ????????int?getAttributesScope(String?name)??????????????? 回傳屬性名稱為name?的屬性范圍
          ????????void?removeAttribute(String?name)??????????????? ? 移除屬性名稱為name?的屬性對象
          ????????void?removeAttribute(String?name,?int?scope)?????? 移除屬性名稱為name,范圍為scope?的屬性對象
          ????????void?setAttribute(String?name,?Object?value,?int?scope)????????指定屬性對象的名稱為name、值為value、范圍為scope
          ????????Object?findAttribute(String?name)????????????????? 尋找在所有范圍中屬性名稱為name?的屬性對象

          九、exception對象
          ????若要使用exception?對象時,必須在page?指令中設定。<%@?page?isErrorPage="true"?%>才能使用。
          ????exception提供的三個方法:
          ????????getMessage(?)
          ????????getLocalizedMessage(?)、
          ????????printStackTrace(new?java.io.PrintWriter(out))?

          原文出處:http://www.javaresearch.org/article/68164.htm
          posted @ 2007-05-09 10:12 kangxm 閱讀(701) | 評論 (3)編輯 收藏

          2007年3月16日 #

               摘要: 千萬別把JAVA環境變量和TOMCAT的配置方法忘了!!!  閱讀全文
          posted @ 2007-03-16 02:20 kangxm 閱讀(1189) | 評論 (0)編輯 收藏

          2007年3月14日 #

          ?????從上周起,公司的電腦一開機諾盾就報:C:\WINDOWS\SYSTEM32\LWIGW.DLL被感染木馬:??

          2007 - 3 - 14 ? 10 : 19 : 10 ????文件?C:\WINDOWS\SYSTEM32\LWIGW.DLL:?檢測到?木馬程序?Trojan - Downloader.Win32.Agent.bbb

          2007 - 3 - 14 ? 10 : 20 : 00 ????文件?C:\WINDOWS\system32\drivers\fpvsy.sys:?檢測到?木馬程序?Trojan - Downloader.Win32.Agent.bbb

          ?????并且還清除失敗(明顯殺毒能力太差);工作太忙沒顧得上管它;
          ?????

          ???今天實在是忍受不了了,下了個卡巴斯基開殺,沒想到這下殺出毛病來了:

          ???卡巴斯基一上來就發現了這個病毒,然后提示刪除,我點擊確定,卡巴又提示我重啟后刪除,我心想,那就重啟唄!只要能殺掉,省
          ??? 得它老在這煩我!重啟完我就傻了,卡巴又提示有這個病毒,和剛才一樣,繼續要求重啟后刪除;就這樣不聽的循環.........................

          ???現在的病毒太欺負殺毒軟件了!!!!!!!!!!?? 搞得殺毒軟件就只好欺騙我!!!!!!!!

          ???小樣,我就不信治不了你! Google了一下,發現這個木馬還蠻牛:

          ?Trojan / Agent.bbb“代理木馬”變種bbb是一個盜取用戶機密信息的木馬程序。“代理木馬”變種bbb運行后,自我
          復制到系統目錄下,文件名隨機生成。修改注冊表,實現開機自啟。從指定站點下載其它木馬,偵聽黑客指令,盜取用戶機密信息。

          ??? 搜了點資料最后將其搞定,以下是我結合各種資料并試驗成功的辦法(自認為比較簡單)


          ?????1、下載一個叫unlocker的工具,它有解鎖功能,可以知道你要刪除的文件被哪一些程序占用了該目錄或文件,并將其解鎖,然后就可以正常刪掉了!
          ?????????????????地址:
          http://www.skycn.com/soft/22964.html


          ??????2、在殺毒軟件提示你被感染病毒的文件目錄下找到對應的文件,點擊鼠標右鍵,選擇Unlocker解鎖,會彈出一個框告訴你當前是哪些程序在使用該文件,點擊“全部解鎖”即可;

          ??????3、確定所有被感染的文件都解鎖后,運行殺毒軟件殺毒,一切OK!
          ????????????保證不會再被病毒欺負!!!!!

          ???
          ????????????
          ???

          ???
          ???

          posted @ 2007-03-14 18:55 kangxm 閱讀(3184) | 評論 (6)編輯 收藏

          2007年3月12日 #

               摘要: 早上讀RSS源,無意間看這個最近很火的Psytopic特別版MBTI測試,狂喜!

          很早以前就聽說大名鼎鼎的MBTI了,可惜一直沒找到可以做的地方!

          啥話不說,感受先......

            閱讀全文
          posted @ 2007-03-12 09:53 kangxm 閱讀(8302) | 評論 (7)編輯 收藏

          2007年3月8日 #

          堅持做一件事情確實不是一件容易的事情!

          看看我Blog上的內容就知道了,很久很久沒更新自己寫的文章了,反而轉載卻越來越多;

          反省一下,客觀原因是工作比較忙,其實最主要的還是自己那種惰性思想在作怪!

          必須強迫自己堅持寫下去!!!!

          不是為寫blog而寫blog,應該是為了培養堅持做某件事情的素質而寫blog!!!!

          Come On Baby!!!

          posted @ 2007-03-08 09:13 kangxm 閱讀(782) | 評論 (2)編輯 收藏

          2007年3月1日 #

               摘要: 中國人正在上的四個大當  閱讀全文
          posted @ 2007-03-01 00:15 kangxm 閱讀(708) | 評論 (0)編輯 收藏

          2007年1月25日 #

               摘要: 可憐的戴爾:戴爾預計無法滿足最后期限 摘牌勢在必然  閱讀全文
          posted @ 2007-01-25 16:43 kangxm 閱讀(721) | 評論 (0)編輯 收藏

               摘要: 主要是最近Eclipse Plugins裝的比較多,對Links方式安裝的方便之處感觸越來越深.

          主推原因: 方便,省事,易遷移.

          下面我以Log4E插件為例:( 順便推薦一下Log4E插件 :-) )  閱讀全文
          posted @ 2007-01-25 14:29 kangxm 閱讀(1484) | 評論 (2)編輯 收藏

          2007年1月23日 #

               摘要: vi基本技巧  閱讀全文
          posted @ 2007-01-23 02:00 kangxm 閱讀(1083) | 評論 (0)編輯 收藏

               摘要: Vista的銷售價錢,連邦軟件商城獨家發售的Windows Vista的5個版本  閱讀全文
          posted @ 2007-01-23 00:28 kangxm 閱讀(1243) | 評論 (3)編輯 收藏

          2007年1月16日 #

               摘要: DOM是基于平臺、語言無關的官方W3C標準。基于樹的層次,其優點是可以移植,編程容易,開發人員只需要調用建樹的指令。其缺點是加載大文件不理想。 SAX是基于事件模型的,它在解析 XML 文檔的時候可以觸發一系列的事件,當發現給定的tag的時候,它可以激活一個回調方法,告訴該方法制定的標簽已經找到。類似與流媒體的解析方式,所以在加載大文件時效果不錯。 JDOM是想成為 Java 特定文檔模型。它簡化與 XML 的交互并且比使用 DOM 實現更快。使用的是具體類不使用接口,運用了大量的COllections類,方便程序員。 DOM4J是一個獨立的開發結果。是一個非常非常優秀的Java XML API,具有性能優異、功能強大和極端易用使用的特點,同時它也是一個開放源代碼的軟件。推薦使用。  閱讀全文
          posted @ 2007-01-16 09:04 kangxm 閱讀(1085) | 評論 (0)編輯 收藏

          2007年1月5日 #

               摘要: 軟件開發生命周期包括需求分析、設計、開發、測試、交付部署等各個階段,以及貫穿在整個開發過程的軟件開發項目管理環節,
          2006年,在每一個階段都出現了令人眼花繚亂的技術與應用,同時這些技術還將進一步影響2007年的發展,令人充滿期待。  閱讀全文
          posted @ 2007-01-05 10:56 kangxm 閱讀(1084) | 評論 (0)編輯 收藏

          主站蜘蛛池模板: 老河口市| 宣城市| 余庆县| 高要市| 电白县| 肇源县| 巴塘县| 安图县| 鄂州市| 原平市| 丰都县| 扶风县| 拜城县| 米林县| 海晏县| 岫岩| 乌什县| 博乐市| 旬阳县| 安顺市| 彭山县| 内乡县| 图们市| 灵丘县| 读书| 佛山市| 清苑县| 安宁市| 桦南县| 万源市| 白山市| 茂名市| 新营市| 勃利县| 西充县| 云南省| 肃宁县| 文安县| 明溪县| 杭锦旗| 章丘市|