總結(jié)的不錯!
-------------------------------------------------------------------------------------------------
生產(chǎn)環(huán)境最佳實踐
yjhmily堅持走自己的路…… |
2012年9月29日 # 原文出處:http://space.itpub.net/133735/viewspace-710117 總結(jié)的不錯! ------------------------------------------------------------------------------------------------- 生產(chǎn)環(huán)境最佳實踐 1.linux 系統(tǒng): 1】關(guān)閉文件系統(tǒng)/分區(qū)的atime 選項 Vi /etc/fstab 在對應(yīng)的分區(qū)項后面添加noatime ,nodiratime LABEL=/1 / ext3 defaults 1 1 LABEL=/data1 /data ext4 defaults,noatime,nodiratime 1 2 2】設(shè)置文件句柄4k+,目前該配置已經(jīng)集成到啟動腳本中。 Vi /etc/security/limit.conf * soft nproc 65536 * hard nproc 65536 * soft nofile 65536 * hard nofile 65536 3】不要使用large vm page (不要使用大內(nèi)存頁選項) Linux 大內(nèi)存頁參考:http://linuxgazette.net/155/krishnakumar.html 4】用dmesg 查看主機的信息。 2.linux 文件系統(tǒng)的選擇: Mongodb 采用預(yù)分配的大文件來存儲數(shù)據(jù),我們推薦 1】ext4 2】xfs 3.內(nèi)核版本: 網(wǎng)絡(luò)上對2.6.33-31 以及2.6.32 的表現(xiàn)持懷疑度, 而強力推薦2.6.36 4.線程堆棧的尺寸 默認的線程堆棧尺寸為10m ,調(diào)整為1m ,已經(jīng)集成在啟動腳本中。 項目過程中的總結(jié)與建議 1.大小寫問題 mongodb 是默認區(qū)分大小寫的,但是這會不會衍生出跟mysql 一樣的問題?(mysql 區(qū) 分大小寫,導(dǎo)致windows 與linux 下的表名,字段名不一致)。 如果無特別用途,建議表名,字段名全部用小寫字母。 2.盡可能的縮短字段名的長度 mongodb 的schema free 導(dǎo)致了每筆數(shù)據(jù)都要存儲他的key 以及屬性,這導(dǎo)致了這些數(shù) 據(jù)的大量冗余。開發(fā)同事也許考慮到,從易讀性出發(fā)設(shè)計的key 基本比較長,基本都是按 照起字面意思去設(shè)計的。這導(dǎo)致key 很長。對應(yīng)的數(shù)據(jù)存儲占用了很大的空間。 必要的時候,可以考慮建立一個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"; // 內(nèi)容 static final String CONTENT = "content"; static final String CONTENT_TYPE = "ctype"; static final String CONTENT_LENGTH = "clen"; static final String ZIP = "zip"; 3. mongodb 單表最大索引數(shù)為64 無索引排序的最大數(shù)據(jù)量為4M, 超過則報錯退出。 建議where 條件盡量落在索引字段上,排序字段需要建立索引,索引的使用原則與oracle mysql 一致,盡量降低索引數(shù)量,索引長度。 mongodb 的查詢每次只能用到一個索引,對數(shù)據(jù)的查詢不會“并發(fā)”執(zhí)行 例如: db.tab.find({'id'=1,'name'=2}) 如果‘id’,‘name' 列上分別有索引 對查詢效率提升意義不大,如果索引為('id','name') 則大幅提升效率。 4.mongodb 添加字段 如果添加字段且?guī)в衐efault 值,需要全部數(shù)據(jù)都要修改,這也是設(shè)計階段需要考慮的 事情,這個問題的另外一種解法是應(yīng)用代碼里做一次判斷。 5.測試過程的密碼問題 對于用作數(shù)據(jù)庫使用的Mongodb,在代碼測試階段都應(yīng)加上密碼驗證,目前上線階段基 本都會在密碼驗證方面出現(xiàn)問題(做緩存使用的可以不做密碼驗證)。 6.數(shù)據(jù)源連接方式 使用連接池模式,盡量減少認證帶來的性能額外消耗 建議采用標準的uri 連接方式: mongodb://user:passwd@host:port,host:port/db 7.Mongodb日志量 正常情況下不需要開啟-v 日志選項。 Mongodb 的-v 日志適合在開發(fā)環(huán)境的調(diào)試線上部署不建議采用這個參數(shù),目前線上 部署的情況,-v 日志一天也會有幾個G 的日志量,去掉這個參數(shù),跟數(shù)據(jù)查詢相關(guān)的操作 就不會記日志了,數(shù)據(jù)庫的內(nèi)部的重要操作還是會寫日志的。 8.連接數(shù)大小的設(shè)置 Mongodb 驅(qū)動程序采用的連接池的方式連接到數(shù)據(jù)庫,目前從觀察到的情況是應(yīng)用一 開啟便根據(jù)變量的設(shè)置,建立全部連接,然后提供給程序使用,并且一旦其中某個連接 到數(shù)據(jù)庫的訪問失敗,則會清空整個連接池到這臺數(shù)據(jù)庫的連接,并重新建立連接。 而mongodb 對中斷連接的垃圾清理工作則是懶惰的被動清理方式,如果驅(qū)動程序端配 置的連接數(shù)過大,一旦發(fā)生重連,則會導(dǎo)致mongo 端堆積大量的垃圾連接數(shù)據(jù),導(dǎo)致 主機資源耗盡。 建議: mongodb 驅(qū)動的連接池大小的設(shè)置一般應(yīng)該控制100 以下,一般情況30-50 足 夠支撐應(yīng)用訪問。 9.鎖的問題 Mongodb 對數(shù)據(jù)庫的訪問全部加鎖,如果是查詢請求則設(shè)置共享鎖,數(shù)據(jù)修改請求, 則設(shè)置全局排他鎖,并且是實例級別的排他鎖。并且寫鎖會阻塞讀請求,如果長時間持有 寫鎖,會阻塞整個實例的讀請求。 部署建議: 1】一般情況下,建議不同的應(yīng)用不要合用一套示例。 2】如果資源不滿足,需要合用,應(yīng)該具有相同屬性的應(yīng)用合用一套實例。 例如合同mongo 的應(yīng)用都是讀多寫少,防止一臺寫多應(yīng)用阻塞讀請求。 10.關(guān)于map/reduce問題 mongodb 對map/reduce 的支持是單線程的,我們不建議在前臺使用該功能, group by 是通過map/reduce 實現(xiàn)的,開發(fā)過程中,要慎用。 11.安全問題 1】Mongodb 運行在mongodb 用戶之上,并禁止mongodb 用戶登錄 2】使用Mongodb 自帶的認證方法(adduser、auth)限制用戶訪問行為 3】將Mongodb 置于內(nèi)網(wǎng)環(huán)境中 4】Mongodb 必須暴露在外網(wǎng)環(huán)境中的時候,使用IPTABLES 等網(wǎng)絡(luò)層技術(shù)進行防護 5】網(wǎng)絡(luò)層面內(nèi)容為明文傳輸,可以考慮存儲加密文檔,應(yīng)用端,加解密。 12.性能監(jiān)控 Mongodb 自帶有性能數(shù)據(jù)收集系統(tǒng) Mongostat 實時采集數(shù)據(jù)庫的多項指標,提供http console 端口號為應(yīng)用端口號+1000。 關(guān)注的主要性能指標: 1】Faults:顯示Mongodb 每秒頁面故障的數(shù)量,這個是mongoDB 映射到虛擬地址空間, 而不是物理內(nèi)存,這個值如果飆高的話,可能意味著機器沒有足夠的內(nèi)存來 存儲數(shù)據(jù)和索引。 2】Flushes:每秒做了多少次fsync,顯示多少次數(shù)據(jù)被刷新進了磁盤 3】locked:寫鎖 4】idx miss:索引未命中比例 5】qr | qw:讀寫鎖的請求隊列長度。 6】conn: 當(dāng)前已經(jīng)建立的連接數(shù)。 其他命令: Db.stat() db.serverStatuse() Db.collection.stats() 13.碎片問題 Mongodb 數(shù)據(jù)庫如果數(shù)據(jù)修改很頻繁,會出現(xiàn)比較嚴重的空間碎片問題,表現(xiàn)在磁盤 文件擴張與實際數(shù)據(jù)量不相符,內(nèi)存不夠用,索引命中率低,查詢效率降低。 碎片整理,目前我們采用的版本沒有太有效的方法。 可以用db.repaireDatabase() 來整理數(shù)據(jù)庫,這個過程非常的慢 如果是Master-slave 模式則相當(dāng)于執(zhí)行一次主從切換,然后從新建立從庫。 如果是replSet 架構(gòu)可以停掉數(shù)據(jù)庫,然后刪除數(shù)據(jù)目錄,從新從復(fù)制復(fù)制組中全同步數(shù)據(jù), 這個時候要考慮oplog 的尺寸。 一個大體的步驟: 1.】先調(diào)用rs.freeze(1200),將每個不想讓它成為primary 的機器讓它在1200 秒內(nèi)無法成為 primary(這步也可以不做) 2. 】將primary stepDown,不出意外新的primary 會起來. 3. 】將原primary kill 掉. 4. 】刪掉所有data 數(shù)據(jù)(調(diào)用repair 很慢,真不如干掉重新來) 5. 】再重啟動原primary 的進程 6. 】以此循環(huán)完成整個復(fù)制組的全部重建。 14.系統(tǒng)備份: Mongodb 目前不支持在線備份,只能離線備份。 我們采用的架構(gòu)為replSet 和Master-slave . 基于我們目前的架構(gòu)以及數(shù)據(jù)一致性要求,我們沒有安排相關(guān)的備份系統(tǒng)。 15.應(yīng)用代碼中Mongodb連接問題 在有些應(yīng)用在使用Mongodb 過程中會存在以下兩個小問題: 1. 在應(yīng)用啟動過程中,應(yīng)用存在要求連接池中所有的連接都建立成功才讓應(yīng)用正 常啟動,這種做法不可取,因為存在網(wǎng)絡(luò)問題、Mongodb 拒絕連接或Mongodb 假死情況,如 果沒加外部try catch 做防護,則Resin 不斷重啟也不能正常啟動端口。 2.有些應(yīng)用在使用Mongodb 中連接池配置了safe=true,w=1;這種配置意味著客戶端在 插入數(shù)據(jù)或更新數(shù)據(jù)的時候,要求mongodb 必須將所更新的數(shù)據(jù)寫入磁盤并返回更新成功 的信息給程序。如果碰上應(yīng)用程序訪問壓力大,mongodb 就會反應(yīng)遲鈍,并會發(fā)生假死可能, 針對此情況,需要評估數(shù)據(jù)的一致性需求,做出合適調(diào)整。我們一般建議關(guān)閉此選項。 16.補充開發(fā)方面的一些問題 1】skip+limit翻頁,越往后面越慢,有資料說用數(shù)組元素的分頁可以解決,目前還沒 試過,比較靠譜的做法是,先找出上次的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】.更新的某條數(shù)據(jù)的時候,先查出來再更新會減小鎖的時間 4】.只有返回很少結(jié)果的查詢才用索引,否則會加載太多數(shù)據(jù),比沒有用索引還慢 5】.屬性比較多的時候,建立分層的關(guān)系能夠提高查詢效率,否則每個記錄都要過一遍 才能找到要的屬性 17.關(guān)于硬件資源的選擇: 虛擬機可以很好的隔離資源,并可動態(tài)的擴展。 我們建議mongodb 的部署采用虛擬機的方式,每個虛擬機部署一個實例,使各節(jié)點分 散在不同的物理機上,根據(jù)應(yīng)用的前期預(yù)測,平衡虛擬機的之間的i/o。
2012年8月10日 # adb shell # mount -oremount,rw /dev/block/mtdblock3 /system # pm list packages -f (列出apk和包名的對應(yīng)關(guān)系) adb uninstall com.android.mms 返回Success,就說明卸載成功了 注意.. 復(fù)制代碼 給備份一下, 避免出錯(系統(tǒng)老是Force Close, 沒法用). # mount -oremount,rw /dev/block/mtdblock3 /system # pm list packages -f (列出apk和包名的對應(yīng)關(guān)系)
adb uninstall com.android.mms
返回Success,就說明卸載成功了
注意..
復(fù)制代碼 給備份一下, 避免出錯(系統(tǒng)老是Force Close, 沒法用).
2011年8月22日 # 最近的機器內(nèi)存又爆滿了,出了新增機器內(nèi)存外,還應(yīng)該好好review一下我們的代碼,有很多代碼編寫過于隨意化,這些不好的習(xí)慣或?qū)Τ绦蛘Z言的不了解是應(yīng)該好好打壓打壓了。
下面是參考網(wǎng)絡(luò)資源和總結(jié)一些在java編程中盡可能做到的一些地方 - 1.盡量在合適的場合使用單例 使用單例可以減輕加載的負擔(dān),縮短加載的時間,提高加載的效率,但并不是所有地方都適用于單例,簡單來說,單例主要適用于以下三個方面 第一,控制資源的使用,通過線程同步來控制資源的并發(fā)訪問 第二,控制實例的產(chǎn)生,以達到節(jié)約資源的目的 第三,控制數(shù)據(jù)共享,在不建立直接關(guān)聯(lián)的條件下,讓多個不相關(guān)的進程或線程之間實現(xiàn)通信 - 2.盡量避免隨意使用靜態(tài)變量 要知道,當(dāng)某個對象被定義為stataic變量所引用,那么gc通常是不會回收這個對象所占有的內(nèi)存,如 public class A{ static B b = new B(); } 此時靜態(tài)變量b的生命周期與A類同步,如果A類不會卸載,那么b對象會常駐內(nèi)存,直到程序終止。 - 3.盡量避免過多過常的創(chuàng)建java對象 盡量避免在經(jīng)常調(diào)用的方法,循環(huán)中new對象,由于系統(tǒng)不僅要花費時間來創(chuàng)建對象,而且還要花時間對這些對象進行垃圾回收和處理,在我們可以控制的范圍內(nèi),最 大限度的重用對象,最好能用基本的數(shù)據(jù)類型或數(shù)組來替代對象。 - 4.盡量使用final修飾符 帶 有final修飾符的類是不可派生的。在Java核心API中,有許多應(yīng)用final的例子,例如java.lang.String。為String類指 定final防止了使用者覆蓋length()方法。另外,如果一個類是final的,則該類所有方法都是final的。java編譯器會尋找機會內(nèi)聯(lián) (inline)所有的final方法(這和具體的編譯器實現(xiàn)有關(guān))。此舉能夠使性能平均提高50%。 - 5.盡量使用局部變量 調(diào)用方法時傳遞的參數(shù)以及在調(diào)用中創(chuàng)建的臨時變量都保存在棧(Stack)中,速度較快。其他變量,如靜態(tài)變量,實例變量等,都在堆(Heap)中創(chuàng)建,速度較慢。 - 6.盡量處理好包裝類型和基本類型兩者的使用場所 雖然包裝類型和基本類型在使用過程中是可以相互轉(zhuǎn)換,但它們兩者所產(chǎn)生的內(nèi)存區(qū)域是完全不同的,基本類型數(shù)據(jù)產(chǎn)生和處理都在棧中處理,包裝類型是對象,是在堆中產(chǎn)生實例。 在集合類對象,有對象方面需要的處理適用包裝類型,其他的處理提倡使用基本類型。 - 7.慎用synchronized,盡量減小synchronize的方法 都 知道,實現(xiàn)同步是要很大的系統(tǒng)開銷作為代價的,甚至可能造成死鎖,所以盡量避免無謂的同步控制。synchronize方法被調(diào)用時,直接會把當(dāng)前對象鎖 了,在方法執(zhí)行完之前其他線程無法調(diào)用當(dāng)前對象的其他方法。所以synchronize的方法盡量小,并且應(yīng)盡量使用方法同步代替代碼塊同步。 - 8.盡量使用StringBuilder和StringBuffer進行字符串連接 這個就不多講了 - 9.盡量不要使用finalize方法 實際上,將資源清理放在finalize方法中完成是非常不好的選擇,由于GC的工作量很大,尤其是回收Young代內(nèi)存時,大都會引起應(yīng)用程序暫停,所以再選擇使用finalize方法進行資源清理,會導(dǎo)致GC負擔(dān)更大,程序運行效率更差。 - 10.盡量使用基本數(shù)據(jù)類型代替對象 String str = "hello"; 上面這種方式會創(chuàng)建一個“hello”字符串,而且JVM的字符緩存池還會緩存這個字符串; String str = new String("hello"); 此時程序除創(chuàng)建字符串外,str所引用的String對象底層還包含一個char[]數(shù)組,這個char[]數(shù)組依次存放了h,e,l,l,o - 11.單線程應(yīng)盡量使用HashMap, ArrayList HashTable,Vector等使用了同步機制,降低了性能。 - 12.盡量合理的創(chuàng)建HashMap 當(dāng)你要創(chuàng)建一個比較大的hashMap時,充分利用另一個構(gòu)造函數(shù) public HashMap(int initialCapacity, float loadFactor) 避 免HashMap多次進行了hash重構(gòu),擴容是一件很耗費性能的事,在默認中initialCapacity只有16,而loadFactor是 0.75,需要多大的容量,你最好能準確的估計你所需要的最佳大小,同樣的Hashtable,Vectors也是一樣的道理。 - 13.盡量減少對變量的重復(fù)計算 如 for(int i=0;i<list.size();i++) 應(yīng)該改為 for(int i=0,len=list.size();i<len;i++) 并且在循環(huán)中應(yīng)該避免使用復(fù)雜的表達式,在循環(huán)中,循環(huán)條件會被反復(fù)計算,如果不使用復(fù)雜表達式,而使循環(huán)條件值不變的話,程序?qū)\行的更快。 - 14.盡量避免不必要的創(chuàng)建 如 A a = new A(); if(i==1){list.add(a);} 應(yīng)該改為 if(i==1){ A a = new A(); list.add(a);} - 15.盡量在finally塊中釋放資源 程序中使用到的資源應(yīng)當(dāng)被釋放,以避免資源泄漏。這最好在finally塊中去做。不管程序執(zhí)行的結(jié)果如何,finally塊總是會執(zhí)行的,以確保資源的正確關(guān)閉。 - 16.盡量使用移位來代替'a/b'的操作 "/"是一個代價很高的操作,使用移位的操作將會更快和更有效 如 int num = a / 4; int num = a / 8; 應(yīng)該改為 int num = a >> 2; int num = a >> 3; 但注意的是使用移位應(yīng)添加注釋,因為移位操作不直觀,比較難理解 - 17.盡量使用移位來代替'a*b'的操作 同樣的,對于'*'操作,使用移位的操作將會更快和更有效 如 int num = a * 4; int num = a * 8; 應(yīng)該改為 int num = a << 2; int num = a << 3; - 18.盡量確定StringBuffer的容量 StringBuffer 的構(gòu)造器會創(chuàng)建一個默認大小(通常是16)的字符數(shù)組。在使用中,如果超出這個大小,就會重新分配內(nèi)存,創(chuàng)建一個更大的數(shù)組,并將原先的數(shù)組復(fù)制過來,再 丟棄舊的數(shù)組。在大多數(shù)情況下,你可以在創(chuàng)建 StringBuffer的時候指定大小,這樣就避免了在容量不夠的時候自動增長,以提高性能。 如:StringBuffer buffer = new StringBuffer(1000); - 19.盡量早釋放無用對象的引用 大部分時,方法局部引用變量所引用的對象 會隨著方法結(jié)束而變成垃圾,因此,大部分時候程序無需將局部,引用變量顯式設(shè)為null。 例如: Public void test(){ Object obj = new Object(); …… Obj=null; } 上面這個就沒必要了,隨著方法test()的執(zhí)行完成,程序中obj引用變量的作用域就結(jié)束了。但是如果是改成下面: Public void test(){ Object obj = new Object(); …… Obj=null; //執(zhí)行耗時,耗內(nèi)存操作;或調(diào)用耗時,耗內(nèi)存的方法 …… } 這時候就有必要將obj賦值為null,可以盡早的釋放對Object對象的引用。 - 20.盡量避免使用二維數(shù)組 二維數(shù)據(jù)占用的內(nèi)存空間比一維數(shù)組多得多,大概10倍以上。 - 21.盡量避免使用split 除 非是必須的,否則應(yīng)該避免使用split,split由于支持正則表達式,所以效率比較低,如果是頻繁的幾十,幾百萬的調(diào)用將會耗費大量資源,如果確實需 要頻繁的調(diào)用split,可以考慮使用apache的StringUtils.split(string,char),頻繁split的可以緩存結(jié)果。 - 22.ArrayList & LinkedList 一 個是線性表,一個是鏈表,一句話,隨機查詢盡量使用ArrayList,ArrayList優(yōu)于LinkedList,LinkedList還要移動指 針,添加刪除的操作LinkedList優(yōu)于ArrayList,ArrayList還要移動數(shù)據(jù),不過這是理論性分析,事實未必如此,重要的是理解好2 者得數(shù)據(jù)結(jié)構(gòu),對癥下藥。 - 23.盡量使用System.arraycopy ()代替通過來循環(huán)復(fù)制數(shù)組 System.arraycopy() 要比通過循環(huán)來復(fù)制數(shù)組快的多 - 24.盡量緩存經(jīng)常使用的對象 盡可能將經(jīng)常使用的對象進行緩存,可以使用數(shù)組,或HashMap的容器來進行緩存,但這種方式可能導(dǎo)致系統(tǒng)占用過多的緩存,性能下降,推薦可以使用一些第三方的開源工具,如EhCache,Oscache進行緩存,他們基本都實現(xiàn)了FIFO/FLU等緩存算法。 - 25.盡量避免非常大的內(nèi)存分配 有時候問題不是由當(dāng)時的堆狀態(tài)造成的,而是因為分配失敗造成的。分配的內(nèi)存塊都必須是連續(xù)的,而隨著堆越來越滿,找到較大的連續(xù)塊越來越困難。 - 26.慎用異常 當(dāng) 創(chuàng)建一個異常時,需要收集一個棧跟蹤(stack track),這個棧跟蹤用于描述異常是在何處創(chuàng)建的。構(gòu)建這些棧跟蹤時需要為運行時棧做一份快照,正是這一部分開銷很大。當(dāng)需要創(chuàng)建一個 Exception 時,JVM 不得不說:先別動,我想就您現(xiàn)在的樣子存一份快照,所以暫時停止入棧和出棧操作。棧跟蹤不只包含運行時棧中的一兩個元素,而是包含這個棧中的每一個元素。 如 果您創(chuàng)建一個 Exception ,就得付出代價。好在捕獲異常開銷不大,因此可以使用 try-catch 將核心內(nèi)容包起來。從技術(shù)上講,您甚至可以隨意地拋出異常,而不用花費很大的代價。招致性能損失的并不是 throw 操作——盡管在沒有預(yù)先創(chuàng)建異常的情況下就拋出異常是有點不尋常。真正要花代價的是創(chuàng)建異常。幸運的是,好的編程習(xí)慣已教會我們,不應(yīng)該不管三七二十一就 拋出異常。異常是為異常的情況而設(shè)計的,使用時也應(yīng)該牢記這一原則。 文章主要是為了拋磚引玉,希望有更多牛人的指點 謝謝的 xuanyuan 的建議: =================================================== 7.慎用synchronized,盡量減小synchronize的方法 re:同意,不過文中有個地方說錯了,使用synchronized關(guān)鍵字并不一定都是鎖定當(dāng)前對象的,要看具體的鎖是什么。如果是在方法上加的synchronized,則是以對象本身為鎖的,如果是靜態(tài)方法則鎖的粒度是類。 --------------- 9.盡量不要使用finalize方法 re:同意,其實不推薦用finalize方法的根本原因在于,JVM的規(guī)范并不保證何時執(zhí)行該方法,所以用這個方法來釋放資源很不合適,有可能造成長時間資源得不到釋放。 --------------- 16.盡量使用移位來代替'a/b'的操作;17.盡量使用移位來代替'a*b'的操作 re:個人不太同意這兩條。這樣做確實有更好的性能,但是卻犧牲了可讀性。這兩個操作符對很多程序員來說并不直觀。我認為在如今硬件價格不那么昂貴的情況下,略微犧牲一些性能,換來更好的可讀性和可維護性是好的選擇。 =================================================== 19.盡量早釋放無用對象的引用 大部分時,方法局部引用變量所引用的對象 會隨著方法結(jié)束而變成垃圾,因此,大部分時候程序無需將局部,引用變量顯式設(shè)為null。 例如: Public void test(){ Object obj = new Object(); …… Obj=null; } 上面這個就沒必要了,隨著方法test()的執(zhí)行完成,程序中obj引用變量的作用域就結(jié)束了。但是如果是改成下面: Public void test(){ Object obj = new Object(); …… Obj=null; //執(zhí)行耗時,耗內(nèi)存操作;或調(diào)用耗時,耗內(nèi)存的方法 …… } 如果Object obj = new Object(); 如果這對象并不是大對象,這有必要嗎?Obj=null;只是告訴jvm這個對象已經(jīng)成為垃圾,至于什么時候回收,還不能確定! 這可讀性也不好! =================================================== 2011年4月6日 # 提示/boot目錄空間不足,查了一些資料,最后把久的內(nèi)核給卸載得以解決。 1.首先查看自己使用的內(nèi)核 lxz@lxz-pc:~$ uname -aLinux lxz-pc 2.6.35-25-generic #44-Ubuntu SMP Fri Jan 21 17:40:48 UTC 2011 i686 GNU/Linux
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 上面顯示的情況中,是我已經(jīng)把linux-image-2.6.35-27-generic的結(jié)果 3.卸載舊內(nèi)核應(yīng)該使用命令: 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.查看文件系統(tǒng)使用情況,和文件系統(tǒng)被掛在的位置: lxz@lxz-pc:/boot$ df -lh 文件系統(tǒng) 容量 已用 可用 已用%% 掛載點 /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 2011年3月23日 # 在ubuntu環(huán)境下進行android開發(fā),想把目標設(shè)備定為真實的手機。 前幾天剛買了個defy就試了下,結(jié)果打開手機usb調(diào)試模式連接到電腦后,在eclipse里面手機名字顯示為一堆???號,且無法使用。 需要以下的步驟才能連接到: 1 把手機設(shè)備為usb調(diào)試模式并和電腦連接 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,在運行參數(shù)里選則手動選取目標設(shè)備,這時在Device Chooser里面應(yīng)該就可以看到正常顯示出名字的手機了。 2010年11月3日 #
做個記錄:
1、刪除 mysql 1 sudo apt-get autoremove --purge mysql-server-5.0
上面的其實有一些是多余的,建議還是按照順序執(zhí)行一遍2 sudo apt-get remove mysql-server 3 sudo apt-get autoremove mysql-server 4 sudo apt-get remove mysql-common (非常重要) 清理殘留數(shù)據(jù) dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
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連接起來 )
1 sudo netstat -tap | grep mysql
當(dāng)您運行該命令時,您可以看到類似下面的行: tcp 0 0 localhost.localdomain:mysql *:* LISTEN -如果服務(wù)器不能正常運行,您可以通過下列命令啟動它: 1 sudo /etc/init.d/mysql restart
3、進入mysql $mysql -uroot -p 管理員密碼 1 sudo mysqladmin -u root password newpassword
2010年8月10日 #
諸如svn、subclipse之類的名詞解釋我就不在這里羅嗦了,直接進入正題,
先說說什么環(huán)境下會遇到j(luò)avaHL的問題: 當(dāng)SVN服務(wù)器為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操作系統(tǒng)為例): 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、確認是否已經(jīng)安裝subclipse插件,如果沒有,請自行安裝,可以直接在eclipse中更新,也可以下載subclipse的包,手動安裝插件 3、重啟eclipse,一切搞定!??! 2010年4月20日 # 目前手上的項目需要用到memory cache,于是我選擇強大的Memcached。至于Memcached的強大先不在這里說了, 后續(xù)有時間,我專門來介紹一下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的基本設(shè)置: 啟動Memcache的服務(wù)器端:
如果要結(jié)束Memcache進程,執(zhí)行: # kill cat /tmp/memcached.pid 也可以啟動多個守護進程,不過端口不能重復(fù)。 2010年4月16日 #
原處:http://www.javaeye.com/topic/644277
即《為什么畢業(yè)后5年同學(xué)間的差距會拉得如此巨大?》 引起大家不少的共鳴,今天繼續(xù)發(fā)布一篇勵志的文章,首先聲明:如果你是“憤青”或“類憤青”,對不起,請你離開,我怕我的觀點再次傷害你那“純潔”得幾乎不識人間煙火的心靈! 如果你想從此改變自己,那么,就花上十幾分鐘的時間,仔仔細細把這篇文章看完。如果你想改變自己的命運,那么,從現(xiàn)在就開始行動。有時候我們之所以失 敗,99%的原因是因為說得太多,而行動得太少!那1%的人或許并不聰明,或許只是小學(xué)畢業(yè),但是人家成功了,做了你的上司,那是因為人家善于用行動證明 自己,而不是嘴巴。我不敢保證看了我這篇文章就一定會使你平步青云,我沒有那個本事。如果你有一天飛黃騰達,也絕對與這篇文章沒有直接的關(guān)系。因為,你的 命運,只掌握在你自己的手中! 同樣是打工,為什么你一個月只有2、3K,而唐駿的身價卻可以高達10億? 或許你會反駁我,說人人都成為唐駿的概率有多大?的確,人人都成為唐駿的確不現(xiàn)實,但是經(jīng)過努力,月薪達到8K、1W的總是大有人在吧?雖然不能達到大富大貴,但也不至于被女朋友看不起,付不起房貸首付款吧? 很多人都喜歡抱怨,覺得這個世道不好。但現(xiàn)實是,在同樣世道不好的情況下,為什么有的人成功,而你卻碌碌無為?差距在哪里?怪世道不好嗎?還是怪自己沒本 事?我說這話可能你不愛聽。但是一個無法辯駁的事實是:你要是有本事,為什么月薪只有2、3K或者3、4K?事實勝于雄辯。所以,如果看到這里還想抱怨的 人,那么,也請你趁早離開。抱怨永遠解決不了問題。 職場是一個復(fù)雜的綜合體??吹絼e人在職場上呼風(fēng)喚雨,你認為很愜意,是么?但是他們風(fēng)光表面的背后,又有幾個有看到他們曾經(jīng)付出的巨大艱辛?這個社會其實 是很公平的。努力不一定有回報,但是如果不努力,就一定沒有回報。要怪,就怪自己投錯胎,怪自己的老子沒本事,當(dāng)初沒有給你留下一大筆可以揮霍的資本! 說歸說,對于那些想改變自己的朋友們來說,還是需要看清楚一些東西,有一些經(jīng)驗也想和大家分享分享。同樣是職場人士,我也有我的經(jīng)驗和感受。在打工的3年 里,我得到了7次加薪(同時進入公司的員工,加薪不超過2次的員工大有人在),順利地從員工做到了總監(jiān),是公司所有員工中成長最快的。我敢肯定,在看過這 篇文章的人當(dāng)中,肯定有人比我更優(yōu)秀。但是對于那些更渴望得到幫助的朋友們來說,我還是希望把自己的經(jīng)驗寫出來,與大家分享。 我自己寫了一篇文章,叫《決定前程的8件事,你做到了幾件?》在這里整理出來,希望能對大家有所幫助。 一、一定要清楚自己未來的目標是什么 很多人把職場想得太美好,其實不然。如果你沒有規(guī)劃好,你就會難免遇到各種各樣的問題:工作不開心;沒有前進的動力;工作不是自己想像的那么好;自己的才能無法發(fā)揮;看到以前的同學(xué)待遇如何如何,便受不了刺激,急切地想跳槽;當(dāng)初為了生存而找的工作,根本就不適合自己…… 這是幾乎所有初入職場的朋友都會面臨的問題。而這些問題通常會在步入職場的1-3年之內(nèi)最明顯(3年之后之所以不明顯,是因為你已經(jīng)被現(xiàn)實折磨得 太久了,已經(jīng)被種種不平現(xiàn)象同化了,因此也就習(xí)慣了。你曾經(jīng)的種種抱負被現(xiàn)實碾得粉碎,于是,你也從一個志向遠大的年輕人一下子變成了一個碌碌無為、甘于 平庸、成天為了生計而奔走的普通打工者)。 如果不及早解決這些問題,那么,你就會荒廢這3年的時間(有的人可能會更長),而對于一個職場新人來說,這3年至關(guān)重要,是鍛煉能力、積累資本的黃金3 年!一旦錯過,則要花費更多的時間,從頭再來,重新彌補!更有甚者,可能一輩子都無法彌補!這絕對不是危言聳聽!因此,如果你的職場年齡還沒有超過3年, 恭喜你,還有改變命運的機會。而一旦超過了3年,那么,你的每一次改變,都將付出巨大的代價! 為什么要清楚自己的目標?因為,有了目標,才有行動的指南。知道自己想干什么,喜歡干什么,這才是你前進的最終動力。工作不開心、動力不足、盲目跳槽的最 根本原因是職業(yè)目標不清晰。沒有目標,便沒有了追求,于是,所有的行動只是為了掙一口飯吃。你根本沒有考慮過自己的未來應(yīng)該端什么飯碗。 或許你在30歲之前還有揮霍的資本,因為年輕嘛,做什么都不怕。連廣告上都說了,“30歲之前,有什么好怕的?!”而一旦過了30歲,你走的每 一步都必須要慎之又慎,因為:你要結(jié)婚、你要養(yǎng)活老婆孩子、你要供房貸、你要供養(yǎng)年邁的父母、孩子大了還要上學(xué)、父母年邁了需要照顧……等等等等,所有的 這些責(zé)任,都要你來承擔(dān)。如果沒有規(guī)劃,一旦出現(xiàn)問題,你只能自亂陣腳。 人生的職業(yè)發(fā)展如同品牌塑造一樣,只不過你的產(chǎn)品就是你自己。你自己的發(fā)展目標,也就是你人生的品牌目標。有了目標,就要考慮該怎么走。每走一步,都應(yīng)該 離目標更近,而不是更遠。所以,你每做一個決定的時候,要衡量這個決定對不對,唯一的標準就是:它是不是能夠幫助你離目標更近?如果不是,那么,趕緊住 手,因為,你走的路偏離了你的目標!再走下去,只能錯得更離譜! 對于人生目標,涉及到職業(yè)生涯規(guī)劃的問題。這是一個老話題,很多人以為自己很了解了,其實卻遠不是那么回事。大家可以看一些相關(guān)書籍,但在中國,此類書籍 的最大問題就是說教性比較強,實用性非常差!很多人看了書之后依然一頭霧水,不知所措,看了之后反而更糊涂。我的意見是,最好還是找一些專門的機構(gòu)咨詢一 下。 注意:是咨詢,不是測評。二者的區(qū)別在于,咨詢的意義在于“為客戶提供可應(yīng)用性的解決方案”,而測評則僅僅局限于“幫助你認識自己”,至于怎么 做,怎樣行動才能更接近自己的目標,不知道!因為測評的人都是專家,而國內(nèi)的專家都是做研究的,沒有實戰(zhàn)經(jīng)驗,甚至對職場升遷是怎么回事都不太清楚,怎么 可能指導(dǎo)你做實戰(zhàn)規(guī)劃?建議大家去做一下職業(yè)生涯規(guī)劃。如果現(xiàn)在不解決,恐怕未來3年你都會白白浪費,更有可能因此而毀了你的一生! 記?。河辛艘?guī)劃,不一定能夠成功;但沒有規(guī)劃,一定不會成功! 二、能力固然重要,但并不能代表全部 這里所說的能力,是指專業(yè)技能。步入職場你會發(fā)現(xiàn),能力其實并沒有你想像的那么重要,它并不是是步步高升的全部資本。你會發(fā)現(xiàn)一個能力不太強的人做了你的 上司,只因為他在這個公司干了10年——這說明“資歷”是你高升的本錢(這種現(xiàn)象,在國有企業(yè)和政府機構(gòu)里特別明顯,因此,在國企工作的朋友和公務(wù)員同志 要注意了);有時候你會發(fā)現(xiàn)能力并不怎么強,但是與老板關(guān)系非常好的人通常能夠得到提拔——這說明“關(guān)系”也是本錢。在我原先工作的公司,有兩個特別明顯 的例子。 一 個有著豐富工作經(jīng)驗的男士,跳槽來到公司,能力也特別強,但就是與同事處理不好關(guān)系,自認為自己非常牛,喜歡主動當(dāng)別人的“導(dǎo)師”,動不動就對別人的工作 指手畫腳,頂頭上司非常討厭他;而同時進入公司的另外一位女士,能力不是特別強,但是非常踏實、勤奮、與其他同事相處得也很好,能夠顧全大局。最后試用期 結(jié)束時,那位女士得到了公司的認可,而那位男士則收到了公司的辭退通知。 在職場上,一定要對職場有清醒的認識,不要生活在夢幻當(dāng)中,不要太理想化,不要標新立異,不要恃才傲物,不要認為有能力就可以走遍天下。專業(yè)技能固然重 要,但是職場發(fā)展看的是一個人的綜合素質(zhì)。綜合素質(zhì)高的人,才是職場發(fā)展的“潛力股”。這些綜合素質(zhì),包括溝通能力、人際關(guān)系能力、團隊合作能力、管理能 力、工作態(tài)度及敬業(yè)精神等各種“軟實力”。 對于有些朋友而言,可能會對這些“軟實力”不屑一顧。很多人會說,如果老板喜歡愛拍馬屁的人,難道我就要委屈自己,學(xué)著去拍馬屁?很不幸,我會告訴你,答 案是肯定的,你一定要學(xué)會拍馬屁,否則吃虧的是自己。但要聲明的是,我不是教你詐。中國有句成語,叫外圓內(nèi)方,用在人際交往上,就是說你與人相處要學(xué)會妥 善處理各種關(guān)系,但不可因此而失去了內(nèi)心的準則,否則就變質(zhì)了。尤其在中國這種注重人情的社會,這種人際交往的能力一定要好好練練。 如果有時間,看一下《厚黑學(xué)》,了解一下社會現(xiàn)實,切忌不可因此而迷失了自己。 三、要手足夠的“亮劍”資本 有的大學(xué)生經(jīng)常會跟我說,我畢業(yè)之后一定要找到一份月薪多少多少的工作,爭取做到什么什么職位。這時候我總是會耐心聽完他們的“遠大藍圖”,然后問一句:“你憑什么達到你的目標?你的資本是什么?”然后他就會啞口無言。 我相信讀過這篇文章的人也會和這位大學(xué)生一樣,有著自己的偉大抱負,但是大學(xué)四年下來,你有沒有想到,要實現(xiàn)這些目標,你的資本是什么?對于很多已經(jīng)身在職場的朋友而言,你晉升的資本又是什么? 人生在發(fā)展過程中,很多時候都需要毫不猶豫地向別人展示自己的實力,要敢于展示,善于展示,這就是“亮劍”。因為這年頭,酒香也怕巷子深,是金子未必會發(fā) 光。相反,發(fā)光的倒是那些碎玻璃、爛瓶子。中國什么都缺,就是不缺人。茫茫人海,如果你一直都謙虛地默默無聞,那么,你就大錯特錯了。 既然具備了“亮劍”的意識,那么,下一步你就要考慮到亮什么劍:我到底拿什么資本給人家看?對于職場上的朋友而言,你“亮劍”的資本又在哪里?你的業(yè)績提 升了嗎?你的能力提升了嗎?你在一年內(nèi)看過多少本對自己的職業(yè)有益的書籍?你參加過幾次培訓(xùn)班來為自己充電?如果沒有,你又憑什么讓老板為你加工資?靠抱 怨?你肯定會提前被職場淘汰出局! 四、慎重對待第一份工作 這一觀點,對于大學(xué)生來說,更有意義。 現(xiàn)在整個社會、媒體、專家等等各種單位都一直在鼓吹“先就業(yè),再擇業(yè)”。這種論調(diào)不是今年就有,而是多好多年前就出現(xiàn)了,并且屢屢出現(xiàn),不絕于耳。相信當(dāng)年我們大學(xué)畢業(yè)時候,也會有很多人相信了這一點吧?管它呢,騎驢找馬,先找份工作掙錢填飽肚子再說! 但是根據(jù)本人自身的經(jīng)驗及職場發(fā)展的現(xiàn)實情況來看,本人絕對不贊同這種說法。相信現(xiàn)在在職場上發(fā)展不順的朋友,多半也和第一份工作有關(guān)系吧?俗話說,“男怕入錯行,女怕嫁錯郎。”第一步錯了,以后就會經(jīng)常犯錯。正所謂一步錯,步步錯。 為什么第一分工作這么重要呢?原因有三: 1、先入為主的觀念影響。 具體是指,先聽進去的話或先獲得的印象往往在頭腦中占有主導(dǎo)地位,以后再遇到不同的意見時,就不容易接受。舉個最簡單的例子:在你的頭腦印象中, 諾基亞已經(jīng)是手機的代名詞。如果有一天諾基亞生產(chǎn)出了一種“諾基亞牌電腦”,你的心里是什么感覺?非常不對勁對不對?這主是先入為主現(xiàn)象。 我原先有一個同事,曾經(jīng)在海爾工作過,她用的是海爾的手機,功能也非常不錯,但她總是說要換一部手機,我問她原因,她說,兜里裝著海爾的手機,總 感覺像裝了一個大冰箱,非常不舒服。為什么?先入為主唄!不要小看這一現(xiàn)象,其實對人的潛意識影響非常大。海爾的手機和電腦等IT產(chǎn)品賣得不好,相當(dāng)一部 分是因為先入為主:大家普遍認為海爾是家電的代名詞,而不是IT的代名詞。 對于求職的大學(xué)生來說,這一觀念同樣會影響你以后的發(fā)展。你的第一份工作會對你以后的工作產(chǎn)生影響,你跳槽時,你的新雇主也會通過你的第一份工作 經(jīng)驗來判斷你是否能夠勝任這份工作。曾經(jīng)有一個大學(xué)生,畢業(yè)之后想做策劃,就找了一家廣告公司。剛進公司時,因為文筆不錯,被安排到了文案的位子上。而與 他同時進去的另外一個人,恰恰因為文筆不好而被安排到了策劃的位子上。后來她屢次想轉(zhuǎn)行做策劃,但都是因為前一份工作經(jīng)驗的影響,而始終沒有得到轉(zhuǎn)行的機 會。 2、職場中不允許從頭再來。 如果公司招聘的是有幾年工作經(jīng)驗的老員工,一定要求是“相關(guān)經(jīng)驗”!這一點至關(guān)重要!因為這樣的員工一般不需要培訓(xùn),可以直接上崗,會很快為公司 帶來最大的效益。如果是工作幾年以后再打算轉(zhuǎn)行的應(yīng)聘人員,一般不會受到重視,一是不會給公司直接帶來效益,二是培訓(xùn)起來也比較困難,思維已經(jīng)固化。與其 這樣,倒不如招一名應(yīng)屆生,白紙一張,可塑性強,發(fā)展起來潛力更大。 所以,一旦有了工作經(jīng)驗之后,再想轉(zhuǎn)行從頭再來,難度相當(dāng)大。除非你認識公司的高層領(lǐng)導(dǎo),可以得到一個機會,否則,很難。 3、時間成本不允許。 步入職場的前三年,是一個人職業(yè)成長的最重要、最關(guān)鍵的時期。如果你這時候還把工作的重點放在騎驢找馬式的轉(zhuǎn)行上,則會浪費你最寶貴的青春,你的成長也因此比其他人慢一步,而很多晉升的機會將因此而失去。 所以,對待第一份工作,一定要慎重。找工作就像結(jié)婚,情愿不結(jié),絕不能亂結(jié)。 如果現(xiàn)在你剛剛步入職場還不到3年,勸你趁早做一個職業(yè)規(guī)劃,亡羊補牢,尤未為晚。一旦你結(jié)婚了買房子了,你再想彌補都已經(jīng)晚了! 五、要保持一種“空杯心態(tài)” 給大家講一個故事。古時候有一個佛學(xué)造詣很深的人,聽說某個寺廟里有位德高望重的老禪師,便去拜訪。老禪師的徒弟接待他時,他態(tài)度傲慢,心想:我 是佛學(xué)造詣很深的人,你算老幾?后來老禪師又十分恭敬地接待了他,并為他沏茶??稍诘顾畷r,明明杯子已經(jīng)滿了,老禪師還不停地倒。他不解地問:“大師,為 什么杯子已經(jīng)滿了,還要往里倒?”大師說:“是啊,既然已滿了,干嘛還要倒呢?” 禪師的意思是,既然你已經(jīng)很有學(xué)問了,干嘛還要到我這里求教?這就是“空杯心態(tài)”的故事哲理。它最直接的含義就是一個裝滿水的杯子很難接納新東 西,要將心里的“杯子”倒空,將自己所重視、在乎的很多東西以及曾經(jīng)輝煌的過去從心態(tài)上徹底了結(jié)清空,只有將心倒空了,才會有外在的松手,才能擁有更大的 成功。這是每一個想在職場發(fā)展的人所必須擁有的最重要的心態(tài)。它告訴我們一個道理:做事的前提是先要有好心態(tài)。如果想學(xué)到更多的學(xué)問,先要把自己想象成 “一個空著的杯子”,而不是驕傲自滿。 我見過很多的大學(xué)畢業(yè)生,剛進入公司時常常處處吹牛,說自己在學(xué)校如何如何,本來可以找到更好的工作,迫不得已才來到了這里等等之類的話,好像這 家公司委屈了自己。在這里提醒一下那些即將步入職場的大學(xué)生:這種心態(tài)千萬要不得!不要認為自己很牛。還是那句你不愛聽的話:中國什么都缺,就是不缺人! 話又說回來,你要是這么牛,為什么不像比爾?蓋茨、戴爾、喬布斯那樣,大學(xué)沒畢業(yè)就退學(xué)去創(chuàng)辦一家世界級的大企業(yè)?火車不是推的,牛皮不是吹的。 你要是有本事,就用事實證明給人家看,而不是成天抱怨! 對于身在職場的朋友而言,這一心態(tài)同樣重要。中國有一個詞,叫“虛懷若谷”。我們都知道,優(yōu)秀的人有極高的素養(yǎng),甚至是虛懷若谷,他們都有一個能 包容一切的胸懷,有了這樣的胸懷,你在職場上就會獲得別人的尊重,就會獲得更多的發(fā)展機會。類似的詞還有“大智若愚”“大巧若拙”等等,不多說,自己去體 會。 六、要懂一點做人的常識 職場就像一個大熔爐。在職場中,不僅僅是要掙一碗飯吃,更重要的是學(xué)會做人的道理。如果連最起碼的道理都不懂,你不僅得不到別人的尊重,更會失去更多的發(fā)展機會。因為,在中國,人際關(guān)系也是生產(chǎn)力。中國有句古話:得道多助,失道寡助。 我見過很多人,雖然已經(jīng)工作多年,但對于做人,卻連一點最基本的常識都不懂。做人的道理萬萬千,但其中最重要的,莫過于以下三條: 1、嚴于律己,寬以待人。 職場不同于生活。雖然職場上同事之間的相互關(guān)系表面上會比較好,但你總會感覺到缺點兒什么。非常明顯的一點,就是大家都在相互利用,人與人之間難免會因為利益關(guān)系而鬧得不愉快。這時候,你若是錙銖必較,勢必引起同事之間的不愉快。 在這種情況下,為避免糾紛,同時也為了贏得他人的尊重,你要學(xué)會大度一些,容忍一些。出現(xiàn)問題時,首先想想是不是自己出了問題,而不是一出現(xiàn)問題就去找別人的責(zé)任(長此以往,你的心態(tài)就會變得非常不平衡,因此也難以容人了)。 嚴于律己,寬以待人,是十分必要的。長期下去,你會積累很多的人脈,會得到大家的尊重;而你需要幫助時,大家也樂意伸手。 2、學(xué)會傾聽。 無論什么時候,傾聽都顯示出一個人的職業(yè)素養(yǎng)。與別人交談時,一定要記住等對方說完話時再發(fā)表意見,切不可中途插話或者打斷他人。通過這種方式,大家都樂意和你交往,同樣也會有助于樹立你個人在大家心目中的形象。 3、誠實守信。 職業(yè)中固然處處充滿了相互利用、利益至上的現(xiàn)象,在這種情況下,誠實守信仍然不失為一種傳統(tǒng)美德。誠信同樣可以帶來效益。只要你誠實守信,長此以 往,大家都會對你形成一種良好的印象,都愿意和你交往。而那種兩面三刀、當(dāng)面一套背后一套的人,固然可以占一點小便宜,但要想成就大事業(yè),誠實守信的基本 原則絕對不能丟。 七、要學(xué)會遵守游戲規(guī)則 我為什么在文章一開頭就提醒“憤青”或者“類憤青”們不要看這篇文章? 因為他們多半是放蕩不羈、不會遵守游戲規(guī)則的主兒!很多人都會感覺到,在職場上發(fā)展,不僅會受到各種約束,而且處處都充滿了不公平現(xiàn)象。比如上班 遲到老板會扣你工資,但你加班的時候卻從來沒有拿過加班工資。這是最常見的一種現(xiàn)象,其他不公平的現(xiàn)象也比比皆是,這里就不多就了,大家都有體會。 在這個世界上,不要奢求公平。那只是一種烏托邦式的理想,從來都不存在于現(xiàn)實社會中。 員工和老板之間的關(guān)系,就好像是一場游戲。是游戲就會有游戲規(guī)劃,否則,游戲就玩不下去。但是,游戲規(guī)則是誰制定的呢?當(dāng)然是老板,各種利益也偏向老板!身在職場的你,一開始看不慣這種現(xiàn)象,是很正常的,因為你初涉職場,本質(zhì)上還是比較純潔的。 但你一定要學(xué)會慢慢接受這種游戲規(guī)則。不要試圖改變這種規(guī)則,因為在老板面前,你沒有太多的話語權(quán)。說得再難聽些,你只是一個打工的,混口飯吃,給你吃就不錯了,還嫌飯涼?如果不想做,可以離開。還是那句話:中國什么都缺,就是不缺人。 記住這句話:“如果你不是游戲規(guī)則的制定者,你的選擇只有兩條:要么屈從,要么離開!” 八、機會只垂青有準備的人 無論你再怎么抱怨,再怎么不開心,飯還是要吃的,覺還是要睡的,工作還是要做的,未來的事情永遠只屬于自己的。買房子也好,娶老婆也罷,壓力只有 自己扛,老板不會為你操任何心。與其有時間去抱怨,但不如踏踏實實靜下心來,好好提升自己的基本功,用事實證明自己的本事,讓別人對你刮目相看,萬不可因 為自己的書生意氣而自做一個自毀前程的“憤青”。 當(dāng)然,你的準備是多方面的,除了專業(yè)技能外,其他的輔助技能也是非常必要的,比如溝通能力、人際關(guān)系處理能力、管理能力等等。當(dāng)然,更重要的是 要為自己的未來做一個規(guī)劃,清楚地知道自己的目標是什么,應(yīng)該怎么努力才能實現(xiàn)。適當(dāng)?shù)臅r候也要充充電,不要舍不得那半個月的工資,這也算是為自己的未來 進行投資,有什么舍不得的呢?如果你現(xiàn)在不學(xué)會“舍”,以后將永遠也“得”不到。 有時候,你之所以發(fā)展得不好,不是因為沒有機遇,而是因為你沒有準備好,導(dǎo)致機遇與你擦肩而過。這個社會就是這樣,再怎么不合理,再怎么不公 平,但是發(fā)展機遇是時時都會面臨的,只看你有沒有準備好。你要是真的練就了一身令人刮目相看的真本事,說不定明天就有人請你做某世界500強的總裁也不一 定呢。 以上只是本人做HR多年的經(jīng)驗積累,希望對大家有所幫助。作為過來人,我真誠地希望在職的朋友們及即將就業(yè)的大學(xué)生們也能夠以一種“空杯心態(tài)” 看待這篇文章。有時候,過來人的經(jīng)驗是非常有價值的,那是他們用時間和金錢換來的血汗教訓(xùn)。有的人偏偏不信這一套,認為只有自己親自體會過,才能知道是什 么滋味,別人的經(jīng)驗只是別人的,和自己無關(guān)。如果你這樣想,那我也沒有辦法。我也要有一種寬容的心態(tài),冷靜看待那些“不見棺材不掉淚,不撞南墻不回頭”的 “人才”,不是嗎?參加一下培訓(xùn),適當(dāng)充一下電,為未來做更好、更完善的準備,才是積極的人生態(tài)度。記?。罕г褂肋h解決不了問題?。? 2010年3月14日 #
假設(shè)我們現(xiàn)在有user和org兩張表:
1、user用戶表 字段包含:id、name、orgId 其中orgId標示該用戶所屬的組織 2、org組織表 字段包含:id、name 兩表之間的關(guān)系很簡單,一個組織下會擁有多個用戶,一個用戶屬于某個組織。 在解析之前先普及一下數(shù)據(jù)庫空值(null)的概念: 有很多時候我們都能碰到某表中某字段值為空的情況,空值不等同于字符串中的空格、空串 也不等同于數(shù)字類型的0,所以,一般我們用IS NULL 關(guān)鍵字來檢索有空值字段的記錄。而不是用!=、<>這些判斷符。 接下來,我們給示例庫表中做上一些測試數(shù)據(jù),如下圖: 有了這些數(shù)據(jù),咱們就可以進入正題啦: 一、左連接、右連接 A Left join(左連接)優(yōu)先解出左表中所有的記錄,包含右表中沒有匹配到得記錄。 A Right join(右連接)優(yōu)先解出右表中所有的記錄,包含左表中沒有匹配到得記錄。 左右連接是相互對應(yīng)的,所以在這里一并解釋。 羅嗦一句如何區(qū)分左表和右表: 在JOIN的左邊出現(xiàn)的表叫左表,在JOIN的右邊出現(xiàn)的表叫右表 具體體現(xiàn)在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為右表 下面我們來看看這兩個語句分別執(zhí)行后的效果: 為了更好的看出左右連接的效果,我們再來看看內(nèi)連接查詢出來的效果 內(nèi)連接:SELECT user.name,org.name FROM user JOIN org ON user.orgId = org.id 內(nèi)連接語句執(zhí)行后的效果: 很明顯: 內(nèi)連接與左連接相比,檢索結(jié)果集中漏掉了user表的user3數(shù)據(jù) 內(nèi)連接與右連接相比,檢索結(jié)果集中漏掉了org表的org4數(shù)據(jù) 2010年2月24日 # 進入10年了,先回顧一下吧: 08年注定是變化的一年,該死的金融危機上來就搞倒了我待了3年多的公司,到現(xiàn)在還灰常的懷念以前公司的工作氛圍和那些一起奮斗的日子。那時候做項目,真的是把項目當(dāng)自己的孩子來養(yǎng),很有感情;懷念ing. 09年注定是壓抑的一年,生活壓抑,工作壓抑,很多壓抑。。。壓抑到實在不想糾纏。 10年注定是拼搏的一年,勾畫了美麗的圖,也承諾了很多事,必須做了。 10年的那些事在這里留個記錄吧,年終的時候再來看; 1、ZZ的那個網(wǎng)站,我已經(jīng)答應(yīng)下來了,不管多難也要搞出來; 2、WX的那些活,希望我能做的比去年更好,也希望他那邊能再多接一些新活; 3、公司的那攤事,走一步看一步吧,畢竟09年失望太多,希望能找到合適的契機和方向; 4、考駕照、買車,今年必須實現(xiàn)了,要不5年計劃沒法劃上句號了; 2009年10月28日 #
作者:于良,遼寧大連人。1997年大學(xué)畢業(yè)參加工作,十年來一直從事快速消費品領(lǐng)域的銷售工作,從基層的銷售代表做起直到營銷總監(jiān)。十年間一路走來飽償心酸,同時也收獲無盡的喜悅?;貞涍^去總是那么心情澎湃,當(dāng)這一刻成為歷史的時候,我必需銘記在我成長的道路上為我提供幫助的每一位朋友。
銷售工作獨特的競爭機制,練就了從業(yè)的銷售人,超群的心里素質(zhì)和超強的執(zhí)行力。本文所提到的銷售方法有些另辟蹊徑甚至另類,但我確定它很有效。 第一節(jié):機遇 面對同樣的機遇,不同的人有不同的表現(xiàn)和結(jié)局,區(qū)別在于能否抓住機遇。而能否抓住機遇,關(guān)鍵在于自身的積累、準備、能力和勇氣。只有努力提高自身素質(zhì),苦練“內(nèi)功”,才能在機遇到來時“發(fā)現(xiàn)”機遇,抓住機遇。 2001年9月我結(jié)束了22個月在雀巢(中國)有限公司雀巢礦泉水大連市場銷售主管的工作后,跟隨原雀巢礦泉水的銷售團隊來到了從未了解過的美國好時巧克力公司,由于此前在雀巢公司管理大連市場工作業(yè)績突出,而且又是堅定追隨這個銷售團隊離開雀巢公司的所謂“嫡系”,因此到了新公司后我從一名銷售主管破格提拔成主管遼寧省銷售工作的大區(qū)銷售經(jīng)理,連升三級。通常外企職位等級:(1)銷售代表、(2)銷售主管、(3)城市銷售經(jīng)理、(4)地區(qū)銷售經(jīng)理、(5)大區(qū)銷售經(jīng)理。那年我只有27歲,直接上級匯報人也從原上級變成了原上級的上級――全國銷售總監(jiān)。 我從來沒有預(yù)感過但是機遇來的的確很突然,從那一天起,我在這里渡過了2年的時光,也經(jīng)歷了人生中最重要的一個階段。在以后的歲月里,有關(guān)這個時期的工作情景曾無數(shù)次在我的記憶里,讓我魂牽夢繞。 第二節(jié):上任伊始 不要告訴我未來有多么美好,我只想知道如何穿越眼前的沙漠。 為什么公司會選擇我?除了在雀巢公司的“嫡系”原因,就是我對巧克力這個行業(yè),對當(dāng)時遼寧市場銷售的困難程度一無所知。所謂無知者無畏。這個任務(wù)的達成將決定我在這個職位上走多遠持多久。尤其是外企銷售工作獨特的競爭機制,決定了公司不會給我太多時間,不會了解我完成任務(wù)的過程有多么艱難,不會聽我的解釋和“借口”。結(jié)果,上司只要結(jié)果。 10月6日就職,離12月30日的年度區(qū)域銷售目標的達成日不到3個月,銷售任務(wù)額380萬,只有順利完成任務(wù)我才有可能轉(zhuǎn)正成為大區(qū)銷售經(jīng)理,完不成任務(wù)就只有“走人”。我嘆息了遼寧區(qū)全年銷售任務(wù)700萬,1至9月分才完成320萬,要在剩下3個月完成380萬難度可想而知。如果說大連市場180萬任務(wù),我還有些“天時地利人和”的話(本文介紹過我是大連人),沈陽200萬的任務(wù)就頭痛了。不盡感嘆:我把前任區(qū)域經(jīng)理給“競爭”下去了,誰又是我的下一個呢?實際上這個銷售額只是任務(wù)的一個量化和表象。這個任務(wù)的核心就是在極其惡劣的條件下,甚至是不可能的條件下,如何利用最少的資源去創(chuàng)造最大的效益。我是寧愿被打倒,也不能被嚇倒的人,我需要拿出“亮劍“精神。 每一個做銷售、做渠道的從業(yè)者都有過這樣的希望: 1. 公司或產(chǎn)品具有非常高的知名度; 2. 產(chǎn)品的價格具有競爭力,產(chǎn)品本身具有很強的銷售力; 3. 充足的供貨及快捷的物流保障; 4. 準確的廣告投入,行之有效的促銷手段; 5. 成熟的銷售網(wǎng)絡(luò)和渠道管理體系; 6. 行業(yè)競爭不夠激烈,市場發(fā)展空間很大……… 可是并不是所有產(chǎn)品天生就具有這些,特別是剛剛上市不久和沒有品牌力的產(chǎn)品。簡單來說當(dāng)時好時巧克力所面臨的沈陽市場狀況和我面對的問題如下: 1. 在產(chǎn)品開發(fā)市場前期沒有品牌知名度,不容易讓經(jīng)銷商、消費者相信和認可你的產(chǎn)品,甚至不相信你所在的公司; 2. 好時產(chǎn)品因為100%進口,非國內(nèi)生產(chǎn),所以也沒有價格上的優(yōu)勢; 3. 覆蓋率不夠,銷售也不多,所以也沒有廣告的支持; 4. 前任的工作“不利”,導(dǎo)致經(jīng)銷商放棄了繼續(xù)合作,經(jīng)銷商庫存產(chǎn)品到期、過保質(zhì)期的產(chǎn)品十幾萬,商場條碼缺失嚴重,產(chǎn)品面臨超市下架,找不到愿意合作的經(jīng)銷商; 5. 公司產(chǎn)品規(guī)格不全,生產(chǎn)日期已過三個月以上(進口產(chǎn)品通常就這樣,但是生產(chǎn)日期過3個月以上商場有權(quán)拒絕收貨); 6. 因為剛到公司不久即走馬上任,并且立刻投入工作,在沈陽沒有固定住處,只能住酒店,公司報銷費用緩慢,本人積蓄不多面臨“彈盡糧絕”; 7. 沒有區(qū)域管理經(jīng)驗,沒有開發(fā)經(jīng)銷商的經(jīng)驗,對沈陽市場、超市、渠道非常陌生; 機遇永遠與挑戰(zhàn)并存,是不是在還沒開始的時候就放棄?因為這樣我至少可以在好時公司找到一份主管級職位“養(yǎng)家戶口”。的確我在最初什么都不具備,靠什么?其實在很大情況下,在什么都沒有的時候,我們往往忽略了一點,我至少還擁有我的人這才是最寶貴的。與我同時存在的還有我的精神,當(dāng)經(jīng)銷商認可了你的人,他就會在一定程度上認可你的產(chǎn)品,他會認為與你這樣的人合作比產(chǎn)品合作更有前景,這在渠道的開發(fā)前期非常重要。我堅信。 第三節(jié): 目標就在前方 目標往往不是一開始就有的,而是在不斷的潛行中尋找到的。 好在大連市場由于較熟悉而且好時產(chǎn)品在此市場銷售渠道較完善,三個月(10、11、12月)180萬的任務(wù)合同在與經(jīng)銷商軟硬兼勢,連哄帶騙,不簽180萬就堅決取消經(jīng)銷權(quán)的狗急跳墻式招術(shù)下簽訂了,但是也花掉了我兩周的時間,之后在我下一級城市經(jīng)理的逐月的“強迫”下完成了180任務(wù),這里就不再詳述了。沈陽200萬任務(wù)還一點希望都沒有,此時已是10月21日了,之前沈陽當(dāng)?shù)爻鞘薪?jīng)理以苦苦尋覓經(jīng)銷商兩周了沒有任何收獲。于是我把工作重心全部移到沈陽,我現(xiàn)在唯一要做的就是在沈陽市場鋪貨、鋪貨、再鋪貨,其他的不重要。因為你的產(chǎn)品市場上沒有,消費者買不到,再好的產(chǎn)品也無計可施。我沒有“雞”,又想馬上吃到“蛋”,我必須“抓到”會下蛋(渠道)的雞(經(jīng)銷商),找到愿意代理好時巧克力產(chǎn)品的沈陽新的經(jīng)銷商,而開發(fā)經(jīng)銷商的關(guān)鍵是要清楚地知道我們的優(yōu)勢在哪里? 劣勢在哪里?對于不利的劣勢一定要深埋心底,不可顯露,甚至要暫時忘記,如不然會打擊你的信心,影響你的心態(tài)。只要知道這一點,我就已經(jīng)有了方向,這將引領(lǐng)我走向勝利。 思路決定出路: 1、目標分析 劣勢:鑒于好時巧克力還屬于開發(fā)市場前期沒有品牌知名度,不容易讓經(jīng)銷商、消費者相信和認可你的產(chǎn)品,甚至不相信你所在的公司; 解決:尋找德芙巧克力、吉百利巧克力、金帝巧克力的經(jīng)銷商,因為好時巧克力雖然在沈陽市場知名度不高,但是熟悉巧克力行業(yè)的經(jīng)銷商一定會了解到好時巧克力是美國第一品牌的巧克力,好時公司也是一個具有一百年歷史的著名巧克力生產(chǎn)企業(yè)。 劣勢:好時產(chǎn)品因為100%進口,非國內(nèi)生產(chǎn),所以價格高也沒有價格上的優(yōu)勢,只能在大型買場和超市銷售; 解決:尋找具有大型買場和超市渠道的經(jīng)銷商。 劣勢:覆蓋率不夠,銷售也不多,所以也沒有廣告的支持; 解決:在沒有廣告宣傳的情況下,消費者了解你產(chǎn)品的最佳機會就是超市賣場的堆頭和終端陳列及生動化的產(chǎn)品展示。需要執(zhí)行力強,終端管理能力強并且具有一定的市場營銷意識的經(jīng)銷商。 劣勢:前任的工作“不利”,導(dǎo)致前經(jīng)銷商放棄了繼續(xù)合作,商場條碼缺失嚴重,產(chǎn)品面臨超市下架。公司倉庫產(chǎn)品品種規(guī)格不全,生產(chǎn)日期已過三個月以上(生產(chǎn)日過3個月以上商場有權(quán)拒絕收貨); 解決:需要在超市客請關(guān)系相當(dāng)好的經(jīng)銷商才能搞定。 劣勢:要在3個月完成200萬銷售額,這是必須的。 解決:尋找至少有200萬資金的經(jīng)銷商。 2、目標設(shè)定 人脈就是財富,通過朋友介紹某超市采購提供的了他們掌握的經(jīng)銷商資料,沈陽市所有經(jīng)銷食品類經(jīng)銷商的聯(lián)系方式、負責(zé)人及代理品牌、公司規(guī)模等的基本情況就擺在面前,在根據(jù)以上目標的分析搜尋符合要求的經(jīng)銷商,成功的希望就在眼前,好像困難沒那么大。 3、尋找目標 通過電話將我們的信息和商業(yè)機會傳遞到每一個目標經(jīng)銷商,然后約見面談,就合作進行談判,簽訂合同,達成合同。路就在前方,似乎水到渠成,200萬的目標在向我召喚。 第四節(jié):虎山之行 只有螞蟻上樹式的一步一個腳印,才會有直升飛機式的平步青云。 10月21日這是個深秋的日子,也是個星期天,我開始“亮劍”了,三個月200萬的任務(wù),我“上路”了。秋天的沈陽格外涼,花瓣離開花朵的季節(jié),枯黃的落葉有些悲壯,似乎在提醒我此行充滿無盡的坎坷。我按公司的出差標準找了家四星級酒店住下,臨睡前我特意又看看已經(jīng)整理好的目標經(jīng)銷商的資料,有十幾個符合條件,我相信總有一個能行。那一夜我充滿了希望睡的好香,這竟是在以后很長很長的時間里我睡的最香的一夜。 10月22日我很早起來,把酒店的房間當(dāng)成臨時辦公室,今天我計劃為拉網(wǎng)階段,就是把好時巧克力要在沈陽開發(fā)市場,找經(jīng)銷商的信息傳遞給目標經(jīng)銷商,談話內(nèi)容很簡單就是簡約的說明我是什么人,想要做什么,關(guān)鍵是提供了我公司的網(wǎng)址,供經(jīng)銷商查詢我司的情況和產(chǎn)品。從聽到對方“喂”的一聲開始,我就進入全面的緊張狀態(tài),在前幾句話就判斷對方的情況非常重要。我的心幾乎一天都在波動,從熱情到冷遇、從希望到失望、從興奮到低落,我無法控制我的情緒,好像自已掌握在對方手中。我最直接的收獲就是更加明確了幾個目標經(jīng)銷商,至少這幾個還有再打電話的機會,其它的電話打過去大多都吃了“閉門羹”,由于好時巧克力前期上市銷售并不成功,而且遺留諸多市場問題,知情的經(jīng)銷商大多都不愿意“搭理”這樣的產(chǎn)品。我決定明天去市場超市看看好時產(chǎn)品的實情,做到知已知彼。 10月23日 我選了沈陽最大的幾家超市探勘好時產(chǎn)品的情況,超市里德芙巧克力擺放著超大的堆頭陳列,其促銷品琳瑯滿目。吉百利產(chǎn)品端架陳列位置突出,而且又多了許新品。金帝巧克力的促銷員在努力地宣傳金帝產(chǎn)品,面對顧客大有不買金帝巧克力就絕不善罷甘休的勁頭。再看看好時產(chǎn)品,陳列位置極差,我好不容易才“發(fā)現(xiàn)”,已被競爭對手“打擊”的只有在一個不起眼兒的角落擺放,區(qū)區(qū)幾個單品,離保質(zhì)期還有2個月。剎那間腦子有些空白,感覺好像在前面沖鋒陷陣的我,當(dāng)我拿起槍拼命沖到前線的時候,才發(fā)現(xiàn)我的槍里沒有子彈,或者說當(dāng)我拿著槍沖到敵人面前的時候,你面對的卻是敵人的大炮。 10月24日 我再一次聯(lián)系了前天打電話有些意向的經(jīng)銷商,相信他們通過兩天的了解和考慮會給我一次面談的機會,我分析的不錯,三個經(jīng)銷商都是對好時巧克力在美國的背景有些了解(好時巧克力是美國第一品牌的巧克力,也是北美銷量第一的巧克力產(chǎn)品),愿意面談。我約一個經(jīng)銷商下午在他公司談,明天和后天各約定一個經(jīng)銷商,盡管時間很急迫,但是我還是擔(dān)心欲速則不達。 這個經(jīng)銷商是一個沈陽很有名氣的經(jīng)銷商,代理了包括德芙巧克力在內(nèi)的諸多大品牌,見面后沒有那么多的寒暄,王總一看我是個年輕人,開門見山,單刀直入:“好時是個國際品牌,是個大品牌,此前沈陽市場運作不理想,那是沒給我搞,否則現(xiàn)在的銷售狀況就不會是這樣了,看看你們能給我什么支持,我可以考慮代理”。他的語氣是那么的盛氣凌人,甚至有些傲慢,的確他是沈陽的“地頭蛇”,但是我還是有著出生牛犢不怕虎的勇氣,針鋒相對:“支持當(dāng)然有,要多少有多少,要多大有多大,我們有這個實力,但是要看你能為好時產(chǎn)品做些什么,到年底能完成多少銷量”。“說來聽聽你們的支持有多少,市場廣告投入多少”王總有些不耐煩了。“投入和銷量是成正比的,你預(yù)估一下到12月底能完成多少銷量”,我沒有正面回答他的問題。因為我們沒有任何廣告支持,沒有賒貨及任何鋪底支持,僅有的7%的進場費用和超市促銷費也被我的前任區(qū)域經(jīng)理花光了。王總沒有再逼問下去,短暫的思考后他的回答很肯定:“四五十萬吧,最多六十萬”。我仍然沒有正面回應(yīng),而是闡述準備了一邊又一邊的好時產(chǎn)品在中國的發(fā)展藍圖,描繪了好時產(chǎn)品在沈陽的市場的前景,分析了好時產(chǎn)品的利潤和盈利模式。王總聽得頻頻點頭,我看時機差不多了,拋出了我的要求到12月底至少完成200萬任務(wù)。王總詭異的笑了:“小伙子,你瘋了,這怎么可能,你們有多少鋪底(賒貨)”。“沒有,一分沒有,我們沒有”。我有些羞澀的回答。“好吧,我還有事情,再見小伙子”。他有些失望的甚至不禮貌的離開了,我沒有再解釋什么,我很清楚我的任務(wù)和目標。 10月25日 按約定的時間我來到她的公司,一個中年女人接待了我,她是這個商貿(mào)公司的老板,很有些氣質(zhì)和素養(yǎng)。雙方各自介紹后,她很客氣的說在美國的妹妹非常喜愛吃這個品牌的巧克力并經(jīng)常從美國帶給她,她認為好時的品質(zhì)很好,她很愛吃。她還主動的介紹了她公司的情況。我也不失時機的表達了我對貴司的好印象,也沒有保留的贊美了她和她的公司,同時描繪了好時產(chǎn)品在中國及沈陽的市場的前景。我感受的到她很希望代理這個品牌,我也了解和相信這個經(jīng)銷商的渠道、管理、理念、資金都是相當(dāng)不錯的經(jīng)銷商。我鼓足勇氣提出了我的要求:到12月底至少完成200萬任務(wù)的合作前提。她皺了皺眉,疑惑之極:“如果達不成呢?”。“達不成就只能做朋友了”,我含蓄的表達著我的拒絕并勉強地笑笑。“我需要考慮,并且還要與財務(wù)經(jīng)理溝通看看我們的資金情況”,她表情凝重的說。 10月26日 這是個很有些背景的集團公司,代理品牌的商貿(mào)公司是集團旗下的一個子公司,從企業(yè)的介紹手冊看其在連鎖超市、物流、房地產(chǎn)、投資、代理品牌銷售等領(lǐng)域發(fā)展。劉總看來是個東北人,豪爽直接的他是商貿(mào)公司的總經(jīng)理,態(tài)度相當(dāng)積極,通過與之溝通了解到其公司因為剛剛成立不到一年,沒有什么太好的代理品牌,有些品牌雖然是知名產(chǎn)品但是留給經(jīng)銷商的利潤空間太小,都成了“搬運工”了。“有集團做后盾,我們的資金沒有問題”劉總自信的說。“而且集團的子公司本身就經(jīng)營連鎖超市,因此我們有十足的運營超市渠道的銷售經(jīng)驗”他接著介紹說。我心里暗暗高興,的確從綜合實力和代理好時產(chǎn)品的動機來看,這個經(jīng)銷商無疑是目前最合適的對象,對于好時巧克力在中國市場的未來,在沈陽市場的發(fā)展前景,市場推廣的規(guī)劃,我都以十分認真和專一的態(tài)度講解和描繪著,我不希望因為小的差錯和不足影響劉總的決策。由于對方能看的出來急于尋找好的品牌代理,我適時的改變了溝通策略,既然這個經(jīng)銷商宣稱具有很強的資金實力,我何不采用激將法,讓對方接受200萬的銷售任務(wù)呢?于是我提起精神并帶有些驕傲的語氣說:“到12月底至少完成200萬任務(wù)的目標對劉總來說資金沒有什么問題吧”。“這當(dāng)然,沒有什么問題”劉總哈哈大笑似乎他看得出來我的擔(dān)心。“不過你需要給我提供一份200萬的好時巧克力的銷售計劃,我不希望到時候賣不動占壓我的資金甚至賠錢”。我當(dāng)然是有備而來,做計劃是外企銷售經(jīng)理的必修課,每一個人都會把計劃書項目書之類的做到大氣磅礴,氣勢洶涌。甚至帶有極強的欺騙性,而你卻無法看透,但是我確定可執(zhí)行性落地性一般較差。一天下來,我單槍批馬與劉總的“智囊團”關(guān)于銷售計劃的諸多細節(jié),經(jīng)銷合同的諸多條款一一給予分析解答。夜幕降臨的時候我已用完渾身吃奶的勁兒了,劉總非常激動的握著我的手說:“于經(jīng)理,這份合同我會很快拿總公司批復(fù),相信我們的合作會很快開始,也預(yù)祝我們的合作愉快”。盡管合同沒有最后簽訂但是我相信這只是個時間和程序問題。我有理由宣布我即將成功了。 10月27、28日 今天后已是我正式入職好時公司的第20天,上司已是第3次打來焦急的電話詢問經(jīng)銷商的開發(fā)情況了。我的回復(fù)還是那樣的斬釘截鐵和自信,“沒問題,請放心”。 俗話說的好“行萬里路半九十”意思就是走了90%的路程實際只相當(dāng)成功了一半,也告訴我們“編框編簍難在收口”。沒到合同的正式簽訂并完成匯款,什么事情都可能會發(fā)生,越到最后越要小心謹慎。我在期盼中焦慮的等待了兩天,兩天好像過的格外漫長,像是過了兩年。我仍然記得在那一天的晚上,夢見經(jīng)銷商劉總向我走來,。“于良,祝我們合作愉快吧”。他手上拿著簽好的合同和匯票,我飛快的走過去,緊緊的擁抱他。“合作愉快,合作愉快”,我大聲的甚至有些失控的說。這個夢好真實,還沒來的急慶祝,天已經(jīng)亮了。 10月29日 今天是個“宣判”的日子,外面下著小雨,天陰沉沉的。我拿起電話的時候似乎緊張的手都在發(fā)抖,拿起電話放下,又拿起又放下,反反復(fù)復(fù)。因為我希望是經(jīng)銷商先打過來電話并告訴我合同已簽好馬上匯款。打過去電話詢問會很有些被動,我不希望讓經(jīng)銷商感到我的焦急,這對最后達成目標很關(guān)鍵。我靜靜的等,手心里和額頭都是汗,心跳的很快。房間的時鐘秒表在不時的發(fā)出嘀噠嘀噠的聲音,時間過的好快,下午4點了,但是……..一種不祥的預(yù)感充斥著我的心。我決心問問情況。從難到易,我打給了面談的第一個經(jīng)銷商的手機,電話響了好久好久沒有人接聽,打到他公司說人不在。沒關(guān)系對這個經(jīng)銷商我本來寄托的希望就不大。我鼓了鼓氣,把電話打給了第二個面談的經(jīng)銷商,問問她考慮的怎么樣了,資金有把握了嗎?對方很快就接了電話,語氣還是那么禮貌:“我們經(jīng)過認真的考慮,還是感覺時機不成熟,有機會再合作吧,有時間常來坐坐”。我有心里準備,絕地逢生,劉總那里不會再有問題的,我回憶著和這個經(jīng)銷商劉總談判的每一個細節(jié),過程幾乎完美無缺,一切盡在掌握。電話打過去,電話響了,這是我最后的希望,任務(wù)的希望,此行的希望,繼續(xù)工作的希望,職業(yè)前途的希望,是一切一切的希望。劉總的聲音有些低沉:“對不起啊,小于,由于我們總公司的房地產(chǎn)項目占用了預(yù)算外資金,到年底不會再有太大的資金支持,我們也沒有辦法,現(xiàn)在我只能說聲遺憾了,如果你們還能等幾個月的話……..”后來劉總講些什么我都聽不太清楚了,我突然眼前發(fā)黑。
第五節(jié):沒有結(jié)果的努力等于零 在很多時候,我們的努力并不是沒有成功的可能,只是在沒有達到最后一刻的時候你放棄了,再只要努力一點點就可以成功的時候,你放棄了。 晚上我一個人在酒店的房間里反省,房間非常冷清,甚至外面的秋風(fēng)順著窗戶縫都在敲打我的臉。我關(guān)掉了手機,只想一個人,靜靜的待著。我的時間越來越少,每過一天200萬任務(wù)的達成可能性就越小,我想到了辭職,但是又打消了念頭。出于個人的尊嚴,我絕不能就這樣離開?,F(xiàn)在糟糕的心情,就像人要面對病痛一樣,可恨卻又要面對。 嗨,就這樣我每天送走朝陽,迎來月光,行色匆匆,衣冠楚楚的過著艱難的日子,當(dāng)然沒有人知道我的焦慮,只有自己知道。我要堅持不住了,的確我的錢已不能支持我住四星級的公司的標準的酒店,我找了個招待所住下。我很少想甚至不去想其它許多事情,父母的身體怎么樣,女朋友她好嗎?我沒了吃飯的食欲,不知道晚飯如何解決,街邊的羊肉串都讓我吃膩了,更沒有什么娛樂生活。在這一階段我變得極為單純,這種單純甚至?xí)r常陷入夢幻中,200萬任務(wù)的達成的時刻無數(shù)次出現(xiàn)在我的夢里,讓我在夢中快樂的驚醒,睜眼看看四周卻是一片的寂靜和黑暗,寂靜的可以聽到窗外的風(fēng)和酒店其它房間客人的鼾聲。我必須在11月份來臨前簽約并至少完成100萬以上的打款,否則就來不及了。我要找到那個可以讓我脫離苦海的經(jīng)銷商,找到可以激發(fā)我信心的人。沒有結(jié)果的努力等于零,現(xiàn)在我一無所有。 第六節(jié):柳暗花明 盡力而為和全力以赴是兩種不同的態(tài)度。 10月30日 想來想去,我覺得我真的不行。在開始的時候,我一直認為是我的運氣不好,再就是任務(wù)難度太大也許沒有人能達成。不過痛定思痛我決定我要最后一搏,我分析了所有細節(jié),發(fā)現(xiàn)我簽不下合同是我犯了一個錯誤,那就是太強調(diào)經(jīng)銷商的全面了,即要有渠道,還要管理好,理念好,還要有資金實力。因為這樣才能保證200萬的任務(wù)完成并且快速的銷售出去產(chǎn)品,這樣經(jīng)銷商才會降低風(fēng)險,因為好時產(chǎn)品的保質(zhì)期到貨時已經(jīng)3個月了,而這一切經(jīng)銷商渾然不知。我太為經(jīng)銷商考慮了,沒有風(fēng)險的生意會賺錢嗎?我這樣給經(jīng)銷商一種印象就是好時巧克力是沒人代理的產(chǎn)品,是沒有競爭的,是可以讓他們用很長時間考慮的,是我非??释?,所以經(jīng)銷商沒有興趣,有興趣的只是我,只有我才最急,所以我失敗了。要贏得信任,就有先端正自己。再一點經(jīng)銷商有200萬資金的能力嗎?如果沒有的話,你再努力也沒用。確定自己對目標的分析,不能再猶豫徘徊,只要符合200萬的資金標準其它方面的不足可以在合作中調(diào)整和彌補。如果經(jīng)銷商沒有資金實力,我應(yīng)該馬上放棄,否則堅持到最后,只能是浪費時間。 我必須重新調(diào)整心態(tài),沒有失敗,只有暫時擱淺。重新找新的目標,而新的目標的前提就是必須有資金,而且最好對巧克力行業(yè)甚至食品行業(yè)全然不知不懂,如果是同行幾乎沒有人愿意投入這么大的資金。積極總比消極好,積極心態(tài)的樹立,將使我們很快擺脫消極心里的陰影,成為一個強者。 人生最難得就是在你最落魄的時候有人肯伸出關(guān)愛之手。 10月31日 劉總的電話又響了,他告訴我雖然他們公司由于資金問題沒有取得合作的機會,但是他的一個朋友很有興趣代理好時巧克力,有很強的資金實力,只是這個朋友是經(jīng)銷柯達交卷和相機的經(jīng)銷商,從來沒有經(jīng)銷過食品,劉總問我可不可以考慮一下,見面談一下。我已經(jīng)別無選擇。我冷靜的考慮了好一會,與我分析的結(jié)果很契合:新的目標的前提就是必須有資金,而且最好對巧克力行業(yè)甚至食品行業(yè)全然不知不懂,如果是同行幾乎沒有人愿意投入這么大的資金,做風(fēng)險如此大的生意。為什么一個做柯達交卷的經(jīng)銷商愿意經(jīng)銷巧克力是必須搞清楚的前提,他的動機是什么?帶著疑問我們見面了。 有劉總在自然我們很快就談到正題,通過劉總之前的介紹此經(jīng)銷商王先生似乎對我們的產(chǎn)品、市場和資金要求都十分清楚,沒有問過多的問題,他手中拿的合同也是我原與劉總即要簽的合同,上面做了好多標記。我問的唯一的問題就是:“按我公司開發(fā)經(jīng)銷商的原則,王先生是不符合經(jīng)銷條件的,因為你沒有食品銷售渠道,我想了解你如何建立渠道,如何分銷好時產(chǎn)品。”王先生不慌不忙的為我斟了一杯茶,接著說:“沒有遠慮,必有近憂。目前交卷生意不太景氣,銷售額一天不如一天,數(shù)碼相機越來越普及,用不了多久,生意會受到致命的打擊,所以未雨綢繆我必須選擇新的行業(yè),找到我公司新的機會,創(chuàng)造利潤的新的增長點,置于你的問題,我認為并不難,因為不能說我們是隔行如隔山,因為銷售很多地方都是同理的,只不過產(chǎn)品不一樣,渠道不同而已。我可以馬上招聘有經(jīng)驗的食品銷售人員建立食品銷售渠道,這些沒有問題我相信。”實際上我也沒有退路了,只要能完成200萬的任務(wù)到年底,其它的都是次要的。但是此時此刻我還是表現(xiàn)的很為難的樣子,故作矜持,我不想給這個經(jīng)銷商一種印象好時巧克力是沒人代理的產(chǎn)品,是沒有競爭的,是可以讓他們用很長時間考慮的,是我非??释?,這樣以證明過我失敗了。這一次我提出關(guān)于貴公司的好時產(chǎn)品代理我需要慎重考慮,并需要向上級匯報,請等待。這也是欲擒故縱的技巧吧,我的確不想讓煮熟的鴨子又飛了。 11月1日 經(jīng)過一天的所謂“慎重”考慮之后,我提出很多很多附加條件,唯一的目的就是不想讓對方認為我的答復(fù)很隨意,畢竟越容易得到的就越不珍惜。置于那些附加條件內(nèi)行人一看就知道是“小菜一碟”。唯一算的上苛刻的就是三日內(nèi)必須簽訂合同并打款。 11月2日經(jīng)銷商終于正式對我承諾后天簽訂合同,并首次匯款100萬了,經(jīng)銷商又給了他自己2天的考慮時間,兩天時間足可以改變一切,在承諾匯款這天來臨前,我沒有再打電話給這個經(jīng)銷商,因為這樣做的結(jié)果是負面的,一點點的急躁心里都可能是知致命的。 11月3日我什么都不想,什么也不做,沒有其它的備選經(jīng)銷商了,還可以再找嗎?但是現(xiàn)在的時間對于200萬的任務(wù)已經(jīng)沒有可能了,沒有近日鑒定合同打款訂貨,什么都來不及的。我不在考慮其它的經(jīng)銷商了,目前我只有這個唯一的經(jīng)銷商,唯一的希望。 11月4日,這一天終于到了,我靜靜的等了一天,我沒有收到公司給我的電話,也就是公司沒有收到匯款憑證。經(jīng)銷商失去了承諾,我有些憤怒打電話去問,對方告訴我因為今天突然有急事,打款被耽誤了,明天一定匯款。放下電話,我的眼前又一片漆黑,這樣的承諾在以前做銷售員的時候被證明是謊言。我心里想,我被欺騙了。 我終于感受到在煎熬中渡過夜晚是多么的漫長,我不知道在這個夜晚是不是睡著過。夜里我不只一次的醒來。突然有了一個想法,我要置于死地而后生,明天必須有個結(jié)果要么死要么生,沒有其它選擇。這樣的折磨生不如死,大不了不干了,尊嚴值多少錢一斤?我可以不要。 11月5日 一早起來,精神好了很多,8點一到我就打了電話給他:“如果今天收不到你的匯款,那么我們以后絕對不會再有任何合作的機會,這機會是你放棄的,你違反了你的承諾,我已經(jīng)仁至義盡了,我準備好了我們所有的合作準備,鑒于你的做法,我已經(jīng)開始考慮重新與其他的意向經(jīng)銷商進行合作”。我最清楚的記得我最后的話:“如果今天4點仍收不到你的匯款的話,我們永遠不會再有合作。”然后我掛了電話,這肯定是實話,因為今天我還沒有結(jié)果,我就在明天辭職,當(dāng)然沒有再合作的可能了。 第七節(jié):心中的太陽再次升起 這是一個只要你認真付出努力就一定能有所收獲的時代?! ?/p> 中午12點我收拾好我的行禮,退掉了我住的招待所的房間,兜里的錢只夠買張回大連的車票,當(dāng)汽車即將駛離沈陽的時候,我的心情有多么的復(fù)雜,我突然感覺很孤單,感覺渾身乏力,我的眼始終盯著車窗外的田野和森林,腦子里一片蒼白。汽車運行了幾個小時,我似乎沒有眨過眼,我始終盯著窗外。11月5日3點30分,突然我的手機響了,是北京公司上司的固定電話:“于良,恭喜你,你讓我等太久了。”在這一瞬間,我終于體會到喜極而泣的感覺,我甚至發(fā)現(xiàn)哭泣是一種很好的享受。我的眼淚奪框而出不停的灑落在我的臉頰。這無疑是對我上任區(qū)域經(jīng)理以來所有的努力及付出的回報。電話又響了,是這個經(jīng)銷商王先生:“愿我們合作愉快!”這個場景曾經(jīng)在夢里出現(xiàn)無數(shù)次,今天終于成為現(xiàn)實。 在以后的日子里,有關(guān)這個時期的情景曾無數(shù)次在我的記憶里,在我的心里,在我的夢里浮現(xiàn),離我很近卻又很遙遠。在以后的日子里,每次來沈陽的時候,曾經(jīng)激情和痛苦的歲月仿佛又回到眼前。經(jīng)歷是一筆財富,如今已過而立之年的我,變得更理性、更豁達,更從容,有一種不屈的精神一直伴隨著我。 笑到最后也是笑的最好的,最快樂的。成功和失敗是同一過程。沒有人在乎你以前曾經(jīng)失敗過多少次,經(jīng)歷最后一次失敗而最終爬起來了,你就是成功者。 一個人自已認為自已是個什么樣的人很關(guān)鍵。認為自已是個平庸的人,則會按照平庸的軌跡去發(fā)展;認為自己具有大寫的人格,則會向著非凡挺進。決定成敗的最核心因素就在于此,所有的成功人的骨子里都有相同的內(nèi)驅(qū)力:我必須成功! 獻給:即將在或正在銷售行業(yè)努力拼搏,苦苦探索的朋友們。 2009年10月26日 #
我現(xiàn)在是自己做,但我此前有多年在從事軟件開發(fā)工作,當(dāng)回過頭來想一想自己,覺得特別想對那些初學(xué)JAVA/DOT。NET技術(shù)的朋友說點心里話,希望你們能從我們的體會中,多少受點啟發(fā)(也許我說的不好,你不贊同但看在我真心的份上別扔磚頭啊).
一。 在中國你千萬不要因為學(xué)習(xí)技術(shù)就可以換來穩(wěn)定的生活和高的薪水待遇,你千萬更不要認為哪些從事 市場開發(fā),跑腿的人,沒有前途。 不知道你是不是知道,咱們中國有相當(dāng)大的一部分軟件公司,他們的軟件開發(fā)團隊都小的可憐,甚至只有1-3個人,連一個項目小組都算不上,而這樣的團隊卻要承擔(dān)一個軟件公司所有的軟件開發(fā)任務(wù),在軟件上線和開發(fā)的關(guān)鍵階段需要團隊的成員沒日沒夜的加班,還需要為測試出的BUG和不能按時提交的軟件模塊功能而心懷忐忑,有的時候如果你不幸加入現(xiàn)場開發(fā)的團隊你則需要背井離鄉(xiāng)告別你的女友,進行封閉開發(fā),你平時除了編碼之外就是吃飯和睡覺(有錢的公司甚至請個保姆為你做飯,以讓你節(jié)省出更多的時間來投入到工作中,讓你一直在那種累了就休息,不累就立即工作的狀態(tài)) 更可怕的是,會讓你接觸的人際關(guān)系非常單一,除了有限的技術(shù)人員之外你幾乎見不到做其他行業(yè)工作和職位的人,你的朋友圈子小且單一,甚至破壞你原有的愛情(想象一下,你在外地做現(xiàn)場開發(fā)2個月以上,卻從沒跟女友見過一面的話,你的女友是不是會對你呲牙裂嘴)。 也許你拿到了所謂的白領(lǐng)的工資,但你卻從此失去享受生活的自由,如果你想做技術(shù)人員尤其是開發(fā)人員,我想你很快就會理解,你多么想在一個地方長期待一段時間,認識一些朋友,多一些生活時間的愿望。 比之于我們的生活和人際關(guān)系及工作,那些從事售前和市場開發(fā)的朋友,卻有比我們多的多的工作之外的時間,甚至他們工作的時間有的時候是和生活的時間是可以兼顧的,他們可以通過市場開發(fā),認識各個行業(yè)的人士,可以認識各種各樣的朋友,他們比我們坦率說更有發(fā)財和發(fā)展的機會,只要他們跟我們一樣勤奮。(有一種勤奮的普通人,如果給他換個地方,他馬上會成為一個勤奮且出眾的人。) 二。在學(xué)習(xí)技術(shù)的時候千萬不要認為如果做到技術(shù)最強,就可以成為100%受尊重的人。 有一次一個人在面試項目經(jīng)理的時候說了這么一段話:我只用最聽話的人,按照我的要求做只要是聽話就要,如果不聽話不管他技術(shù)再好也不要。隨后這個人得到了試用機會,如果沒意外的話,他一定會是下一個項目經(jīng)理的繼任者。 朋友們你知道嗎?不管你技術(shù)有多強,你也不可能自由的騰出時間象別人那樣研究一下LINUX源碼,甚至寫一個LINUX樣的杰作來表現(xiàn)你的才能。你需要做的就是按照要求寫代碼,寫代碼的含義就是都規(guī)定好,你按照規(guī)定寫,你很快就會發(fā)現(xiàn)你昨天寫的代碼,跟今天寫的代碼有很多類似,等你寫過一段時間的代碼,你將領(lǐng)略:復(fù)制,拷貝,粘貼那樣的技術(shù)對你來說是何等重要。(如果你沒有做過1年以上的真正意義上的開發(fā)不要反駁我)。 如果你幸運的能夠聽到市場人員的談話,或是領(lǐng)導(dǎo)們的談話,你會隱約覺得他們都在把技術(shù)人員當(dāng)作編碼的機器來看,你的價值并沒有你想象的那么重要。而在你所在的團隊內(nèi)部,你可能正在為一個技術(shù)問題的討論再跟同事搞內(nèi)耗,因為他不服你,你也不服他,你們都認為自己的對,其實你們兩個都對,而爭論的目的就是為了在關(guān)鍵場合證明一下自己比對方技術(shù)好,比對方強。(在一個項目開發(fā)中,沒有人愿意長期聽別人的,總想換個位置領(lǐng)導(dǎo)別人。) 三。你更不要認為,如果我技術(shù)夠好,我就自己創(chuàng)業(yè),自己有創(chuàng)業(yè)的資本,因為自己是搞技術(shù)的。 如果你那樣認為,真的是大錯特錯了,你可以做個調(diào)查在非技術(shù)人群中,沒有幾個人知道C#與JAVA的,更談不上來欣賞你的技術(shù)是好還是不好。一句話,技術(shù)僅僅是一個工具,善于運用這個工具為別人干活的人,卻往往不太擅長用這個工具來為自己創(chuàng)業(yè),因為這是兩個概念,訓(xùn)練的技能也是完全不同的。 創(chuàng)業(yè)最開始的時候,你的人際關(guān)系,你處理人際關(guān)系的能力,你對社會潛規(guī)則的認識,還有你明白不明白別人的心,你會不會說讓人喜歡的話,還有你對自己所提供的服務(wù)的策劃和推銷等等,也許有一萬,一百萬個值得我們重視的問題,但你會發(fā)現(xiàn)技術(shù)卻很少有可能包含在這一萬或一百萬之內(nèi),如果你創(chuàng)業(yè)到了一個快成功的階段,你會這樣告訴自己:我干嗎要親自做技術(shù),我聘一個人不就行了,這時候你才真正會理解技術(shù)的作用,和你以前做技術(shù)人員的作用。 [小結(jié)] 基于上面的討論,我奉勸那些學(xué)習(xí)技術(shù)的朋友,千萬不要拿科舉考試樣的心態(tài)去學(xué)習(xí)技術(shù),對技術(shù)的學(xué)習(xí)幾近的癡迷,想掌握所有所有的技術(shù),以讓自己成為技術(shù)領(lǐng)域的權(quán)威和專家,以在必要的時候或是心里不暢快的時候到網(wǎng)上對著菜鳥說自己是前輩。 技術(shù)僅僅是一個工具,是你在人生一個階段生存的工具,你可以一輩子喜歡他,但最好不要一輩子靠它生存。 掌握技術(shù)的唯一目的就是拿它找工作(如果你不想把技術(shù)當(dāng)作你第二生命的話),就是干活。所以你在學(xué)習(xí)的時候千萬不要去做那些所謂的技術(shù)習(xí)題或是研究那些帽泡算法,最大數(shù)算法了,什么叫干活? 就是做一個東西讓別人用,別人用了,可以提高他們的工作效率,想象吧,你做1萬道技術(shù)習(xí)題有什么用?只會讓人覺得酸腐,還是在學(xué)習(xí)的時候,多培養(yǎng)些自己務(wù)實的態(tài)度吧,比如研究一下當(dāng)?shù)厥袌瞿壳坝心男┸浖居萌?,自己離他們的要求到底有多遠,自己具體應(yīng)該怎么做才可以達到他們的要求。等你分析完這些,你就會發(fā)現(xiàn),找工作成功,技術(shù)的貢獻率其實并沒有你原來想象的那么高。 不管你是學(xué)習(xí)技術(shù)為了找工作還是創(chuàng)業(yè),你都要對技術(shù)本身有個清醒的認識,在中國不會出現(xiàn)BILL GATES,因為,中國目前還不是十分的尊重技術(shù)人才,還僅僅的停留在把軟件技術(shù)人才當(dāng)作人才機器來用的尷尬境地。(如果你不理解,一種可能是你目前僅僅從事過技術(shù)工作,你的朋友圈子里技術(shù)類的朋友占了大多數(shù),一種可能是你還沒有工作,但喜歡讀比爾。蓋茨的傳記)。 2009年5月12日 #
早上讀RSS,看到不錯的東西,抄錄下來
1、? 堅持不懈的向團隊傳達目標 2、? 崇拜質(zhì)量 3、? 每天都和項目成員聊上兩句 4、? 敢于說不,慎于說不 5、? 幫助項目成員解決困難,而不是幫他干活 6、? 敏感,不將風(fēng)險留到最后才面對 7、? 懂得歡慶 2009年4月21日 #
不小心把快速啟動里面的“顯示桌面”圖標搞沒了,懶得折騰,所以一直用WIN+D,還是覺得不太習(xí)慣。總覺得少了點什么......
后來還是把“顯示桌面”找回來了!記錄一下 以前用過一個自己編寫“顯示桌面.scf”文件的辦法干過,具體操作如下: 記事本輸入:[Shell]Command=2IconFile=explorer.exe,3[Taskbar]Command=ToggleDesktop另存為"顯示桌面.scf",文件類型為所有文件。然后將文件拖到快速啟動欄即可; 不過有點麻煩,這次?google了一下,找到一個更簡單的辦法; “start”-->“Run”-->輸入“regsvr32 /n /i:u shell32” ![]() 這個時候你會發(fā)現(xiàn)你的快速啟動欄里面就有了“顯示桌面” 2008年12月18日 #
摘要: 轉(zhuǎn):唐駿:我的創(chuàng)業(yè)第一步
尋找新的發(fā)展空間 我的人生其實經(jīng)歷了很多次失敗。考大學(xué)是一次失敗,留學(xué)日本讀研究生又是一次失敗。我和板倉老師發(fā)生沖突后私逃美國的行為,無論如何都是不妥當(dāng)?shù)?。但從另一個角度講,從日本到美國的人生環(huán)境轉(zhuǎn)變,是我的主動選擇,也為我未來的職業(yè)生涯創(chuàng)造了新的契機。 閱讀全文 2008年12月9日 #
例子在:\jasperreports-3.1.2-project\jasperreports-3.1.2\demo\samples 該例子演示了報表編譯后,在報表展現(xiàn)的時候如何動態(tài)的控制其中的元素 2. antcompile演示如何讓 ant 來編譯 3. chart演示了如何在報表中添加圖像,JasperReport是用Scriptlet的方式 往報表中添加圖像,而Scriptlet是調(diào)用也是開源的jfreechart的Api來 生成圖形,去jfreechart看一下,該工具能的圖形生成能力也很強 4. datasource演示了如何在報表中使用各種數(shù)據(jù)源,能夠使用beanarray beancollection,也可以用自定義的數(shù)據(jù)源,只要繼承了JRDataSource的 兩個接口,這個能給用戶提供非常大的靈活性,報表的數(shù)據(jù)不用局限于一 條Sql語句,也可以使用存儲過程,對生成報表中的數(shù)據(jù)也可以排序,二 次檢索,等等 5. fonts各種字體的演示 6. horizontal演示了水平分欄的報表,演示報表中分了三欄,其中還用到了 textFieldExpression,就像if語句的效果來選擇輸出的內(nèi)容 7. hyperlink演示了各種樣式的鏈接 8. images演示了如何在報表中加入圖像以及圖像的顯示方式 9. jasper演示了分組分欄的報表,演示中用了2次group 10. jcharts演示了調(diào)用另一個開源的API jcharts來往報表中加入分析圖形,原理同 上chart,如果jfreechart都還不能滿足你分析圖形的要求,那到j(luò)charts 里找找看吧,說不定有 11. landscape演示橫向的報表 12. nopagebreak演示比如在IE中不分頁的方式打印出報表的內(nèi)容,通過這個演示也可以 了解報表輸出如何配置參數(shù) 13. noreport演示了如何直接通過java程序生成JasperPrint對象來輸出 14. noxmldesign演示了如何直接通過java程序生成JasperDesign對象來動態(tài)的生成報 表,根據(jù)這個例子,用戶可以作出自定義選列的報表,當(dāng)然比較麻煩, 而且肯定自己要補充他的API庫 (JasperReport真是強大啊,呵呵) 15. pdfencrypt演示了pdf的輸出方式,可以給pdf文件加密碼,其實就是pdf輸出方式的 參數(shù)配置,具體有那些參數(shù)可配置,去看看API吧 16. printservice演示了如何直接打印報表 17. query演示了如何讓查詢的sql動態(tài)起來,比如你可以通過一個Jsp頁面?zhèn)?br />報表的sql的where條件,order條件,甚至整個sql語句 18. rotation演示了文字縱向顯示的報表 19. scriptlet演示了如何繼承JRDefaultScriptlet,并加入自己的處理語句,這個功能 可是很強大的哦,看看這些接口 beforeReportInit() afterReportInit() beforePageInit() afterPageInit() beforeColumnInit() afterColumnInit() beforeGroupInit(String groupName) afterGroupInit(String groupName) 看看這些名字就知道你能完成那些功能,比如顯示一列數(shù)據(jù)后,馬上跟 上該列數(shù)據(jù)的分析圖形,當(dāng)然你也可以加上自己的方法并在報表中調(diào)用 20. shapes演示了JasperReport中自帶的圖形,及能配置的參數(shù) 當(dāng)然你也能繼承或者覆寫JasperReport中的Api生成你要的圖形, 21. stretch演示了如何處理報表中數(shù)據(jù)拉伸以及帶來周圍的線及框的拉伸, 你能了解到雖然黑框式表格不是JasperReport中缺省的展現(xiàn)方式, 但在JasperReport中不難實現(xiàn) 22. subreport演示了子報表,還告訴你一個報表中可以有n個子報表,子報表中還可以 嵌套子報表 23. tableofcontents演示了如何生成一個有目錄的,復(fù)雜的報表 24. unicode演示了各種 字符編碼 25. webapp演示了如何把報表放到一個JavaWeb項目中,可以用Jsp Servlet applet,筆者做了一個有參數(shù)頁面,可以選擇html pdf applet 輸出方式的報表,有興趣的 我可以在后面放上代碼 2008年11月20日 #
今天看到一篇帖子,作者用通俗的語言形容了一下次貸危機的形成原因,強人啊!
原帖地址: http://jrwua.spaces.live.com/Blog/cns!FD3F0102B0A1BFDF!360.entry 一男趕集賣豬,天黑遇雨,二十頭豬未賣成,到一農(nóng)家借宿。 少婦說:家里只一人不便。 男:求你了大妹子,給豬一頭。 女:好吧,但家只有一床。 男:我也到床上睡,再給豬一頭。 女:同意。 半夜男與女商量,我到你上面睡,女不肯。 男:給豬兩頭。 女允,要求上去不能動。 少頃,男忍不住,央求動一下,女不肯。 男:動一下給豬兩頭。女同意。 男動了八次停下,女問為何不動? 男說豬沒了。 女小聲說:要不我給你豬…… 天亮后,男吹著口哨趕30頭(含少婦家的10頭)豬趕集去了…… 哈佛導(dǎo)師評論:要發(fā)現(xiàn)用戶潛在需求,前期必須引導(dǎo),培養(yǎng)用戶需求,因此產(chǎn)生的投入是符合發(fā)展規(guī)律的。 (加強篇) 另一男得知此事,決意如法炮制,遂趕集賣豬,天黑遇雨,二十頭豬未賣成,到一農(nóng)家借宿. 少婦說:家里只一人不便。 男:求你了大妹子,給豬一頭 女:好吧,但家只有一床。 男:我也到床上睡,再給豬一頭。 女:同意。 半夜男商女,我到你上面睡,女不肯。 男:給豬兩頭。 女允,要求上去不能動。 少頃,男忍不住,央求動一下,女不肯。 男:動一下給豬兩頭。女同意。 男動了七次停下,女問為何不動? 男說:完事了~~~女:...... 天亮后,男低著頭趕2頭豬趕集去了...... 哈佛導(dǎo)師評論:要結(jié)合企業(yè)自身規(guī)模進行謹慎投資,謹防資金鏈斷裂問題 又一男得知此事,決意如法炮制兼吸取教訓(xùn),遂先用一頭豬去換一粒偉哥,事必,天亮后,男吹著口哨趕38頭(含少婦家的18頭)豬趕集去了…… 哈佛導(dǎo)師評論:企業(yè)如果獲得金融資本的幫助,自身經(jīng)營能力將得到倍增。 知道此法男多,偉哥供不應(yīng)求,逐漸要2頭,3頭豬換一粒偉哥。 哈佛導(dǎo)師評論:這就是通貨膨脹。 當(dāng)豬價格漲到16粒一棵的時候,哈佛導(dǎo)師評論:該男已經(jīng)進入邊際成本,除了擁有對自身能力的自信和未來良好愿望以外,實際現(xiàn)豬流已經(jīng)為零。 但換豬男越來越多,賣偉哥的決定,擴展生產(chǎn)能力,推出一種次級偉哥,如果你缺一頭豬,只要你承諾可以到該女房中一夜,就可以先借,事成后補交豬款,這個方法大大促進了偉哥銷售。 哈佛導(dǎo)師評論:這就是貸款,讓企業(yè)可以根據(jù)未來的收益選擇借支流動資金 偉哥專賣店后來在即使你一頭豬都沒有,只要你承諾可以到該女房中一夜,就可以先借,事成后補交豬款。 哈佛導(dǎo)師評論:這就是金融創(chuàng)新,讓現(xiàn)在的人花未來的錢,反正等你老了未來的錢你也花不動。 消息一出,換豬男越來越多,有人找偉哥專賣店,這個項目太好了,我們把它變成優(yōu)質(zhì)基金,對外銷售債卷,你們也就可以分享我的收益,如何? 結(jié)果偉哥專賣店覺得甚好,于是該公司把換豬男分三類,一類是拿現(xiàn)豬換的,一類是一部分現(xiàn)豬貸的,一類是完全沒有現(xiàn)豬借的,發(fā)行三種債卷。大家踴躍而上。紛紛購買偉哥專賣店的債卷,偉哥專賣店生意太好,就把債卷銷售外包給另外一家公司運作,該公司也一并大發(fā)其財,公司越做越大,甚至可以脫離實際偉哥銷售情況來發(fā)行,給自己和偉哥專賣店帶來巨大的現(xiàn)金收益。 哈佛導(dǎo)師評論:這就是專業(yè)的人做專業(yè)的事,從實體經(jīng)營到資本運作,經(jīng)濟進入了更高的層次。 為了防止自己債卷未來有損失,該公司決定給它買上保險,這樣債卷銷售就更容易,因為一旦債卷出現(xiàn)問題,還可以獲得保險公司的賠付,哇,債券公司銷售這下子太好了,保險公司也獲得巨大平白無故的保險收入。 哈佛導(dǎo)師評論:這就是風(fēng)險對沖,策略聯(lián)盟,提高了企業(yè)的抗風(fēng)險能力,也保護了消費者利益。 換豬男太多,排長隊等待,該女無法承受,說老娘不干了,我搬家,一時間有無數(shù)擁有偉哥的欠豬男。 哈佛導(dǎo)師評論:這是個別現(xiàn)象,屬于市場的正常波動,不會影響整個經(jīng)濟。 結(jié)果該女遲遲不肯搬回。一部分欠豬男沒有收入,只好賴帳,結(jié)果大量債卷到期無法換現(xiàn)豬吃,債卷公司一看,一粒偉哥16頭豬,這哪里還得起,宣布倒閉 哈佛導(dǎo)師評論:這是次貸危機,不會影響整個金融行業(yè)。 哪里曉得債卷公司還把債卷上了保險,保險公司一看,這哪里賠得起,于是也宣布要倒閉。 哈佛導(dǎo)師評論:這是金融危機,還不會影響整個實體經(jīng)濟。 后文:據(jù)說該女已搬到中國定居。 2008年11月14日 #
?成功IT經(jīng)理的11個顯著特征
1、了解公司需求的能力? ?????????????????? 所有的IT經(jīng)理都需要知道如何才能夠了解公司的需求,因為這同自己的技術(shù)職責(zé)密切相關(guān)。不管自己在公司當(dāng)中的位置如何,作為一名IT經(jīng)理,你都有必要了解公司的真正需求,只有在此基礎(chǔ)上才能做出“正確的事情”。太多的IT經(jīng)理在制定“IT議程”之前都沒有真正了解公司的目標和需求。迅速掌握了解公司技術(shù)需求的能力會讓你了解自己更多的職責(zé)。如果IT經(jīng)理在制定計劃時由于缺乏了解公司需求的技能而“錯過了公司的目標”,公司可能會蒙受數(shù)萬美元的損失。了解公司的技術(shù)需求是IT經(jīng)理職業(yè)生涯發(fā)展的一個重要組成部分。? 2、制定前景規(guī)劃的能力? ?????????????????? 想要成為一名優(yōu)秀的IT經(jīng)理,你必須要能夠確定自己的目標,并且制定出前景規(guī)劃,讓你手下的員工了解你希望大家通過努力能夠取得的成績。想要成為一名優(yōu)秀的IT經(jīng)理,你要擔(dān)負起自己的職責(zé),領(lǐng)導(dǎo)整個小組向著目標前進。能夠制定出計劃并且清楚的向自己手下的員工說明的IT經(jīng)理能夠在工作中取得巨大的成功,因為你手下的員工會按照你的要求去做。清楚的向自己手下的員工說明自己的前景規(guī)劃會讓他們了解工作的中心,讓他們了解你會帶領(lǐng)他們向明確的目標前進。? 3、制定計劃的能力? ?????????????????? 一旦知道了自己想要實現(xiàn)的目標,成功的IT經(jīng)理會知道如何去制定計劃,以實現(xiàn)自己的目標。這意味著要正確估計眼前的形勢,知道哪些事應(yīng)該擺在優(yōu)先的位置,制定出大膽而又切實可行的計劃。對于一名想要取得“高度成功”的IT經(jīng)理來說,制定計劃是一個非常基礎(chǔ)的步驟。但可惜有太多的IT經(jīng)理沒有能夠做到這一點。在這種情況下,他們所取得的工作成績要比公司有能力取得的成績小的多。擁有制定計劃的能力,通過計劃的實行來實現(xiàn)公司的目標會讓你承擔(dān)更多的工作職責(zé)。事先制定計劃表明你是一個積極主動而不是一個消極被動的人。? 4、組建小組的能力? ?????????????????? 成功的IT經(jīng)理知道組建一個有深度而又有技能的IT小組的重要性。既要知道如何改進現(xiàn)有的IT小組,又要知道如何白手起家,建立一個新的IT小組。我所見過的所有優(yōu)秀的IT經(jīng)理都有根據(jù)手頭的工作任務(wù)建立一個有力的工作小組的能力,有正確預(yù)計未來工作需求以使整個小組做好應(yīng)對新挑戰(zhàn)的準備的能力。強有力的職業(yè)IT經(jīng)理能夠有效的組建自己手下的員工隊伍。他們了解職業(yè)生涯的重要性,并且愿意把職業(yè)生涯的構(gòu)建作為一種工具,來組建強有力的工作小組,更加獨立的開展工作。? ?5、集中使用資源的能力? ?????????????????? 如果想要取得成功,IT經(jīng)理要集中公司所有的IT工作人員、資金和技術(shù)資源,處理最關(guān)鍵最重要的事情。公司技術(shù)資源的使用要同公司的需求和目標保持同步,并且要通過多產(chǎn)有效的方式。任何有清楚的職業(yè)發(fā)展目標的IT經(jīng)理都知道集中使用資源的重要性。? ?6、貫徹“客戶服務(wù)”理念的能力? ?????????????????? 對于任何IT公司來說,高水平的客戶服務(wù)都是非常重要的。成功的IT經(jīng)理會在員工的心目中貫徹一種客戶優(yōu)先的文化理念??不管是內(nèi)部用戶還是外部客戶。優(yōu)秀的IT經(jīng)理知道自己職業(yè)生涯的存在和發(fā)展是由于客戶需要他們提供的技術(shù),支持他們提供的服務(wù)。這也正是成功的IT經(jīng)理要同客戶建立出色的關(guān)系的原因。? 7、管理項目的能力? ?????????????????? 公司能夠以可以預(yù)見的有效方式制定出項目計劃是所有IT經(jīng)理開展工作的基礎(chǔ)。任何IT經(jīng)理想要取得成功,都要對項目進行有效的管理。不管你的職業(yè)生涯發(fā)展方向如何,強有力的項目管理技能都能夠增加你獲得成功的機會。? ?8、應(yīng)對變化、進行管理的能力? ?????????????????? 迅速的發(fā)展變化是技術(shù)的本質(zhì)特征。每一個IT經(jīng)理都要了解如何有效的應(yīng)對變化、進行管理。不能有效的應(yīng)對變化會影響IT經(jīng)理職業(yè)生涯的發(fā)展。? ?9、領(lǐng)導(dǎo)員工并激發(fā)其工作熱情的能力? ?????????????????? 如果工作熱情得不到有效的激發(fā),IT工作人員就無法在工作中發(fā)揮出自己最大的能量。成功的IT經(jīng)理總是能夠?qū)T工進行強有力的領(lǐng)導(dǎo)并激發(fā)他們的工作熱情。成功的管理人員知道如何發(fā)揮他人的潛質(zhì),這是一項非常重要的技能。? 10、有效溝通的能力? ?????????????????? 成功的IT經(jīng)理能夠通過多種不同的方式同不同的員工進行溝通。通常,職業(yè)生涯的成功在很大的程度上依賴于有效的溝通技能。想要成為成功的IT經(jīng)理,必須能夠同各種人進行有效的溝通,既包括技術(shù)人員也包括非技術(shù)人員,要同高級經(jīng)理交換對項目進展?fàn)顩r的看法。很多IT經(jīng)理就是因為做不到這一點而極大的影響了自己的工作成績。能夠在自己的職業(yè)生涯中取得最大的成功的IT經(jīng)理能夠同所有人進行有效的溝通:員工、同行、外部客戶、銷售商和高層管理人員。? 11、追蹤并衡量工作表現(xiàn)的能力? ?????????????????? 確定目標并以此來衡量工作表現(xiàn)是非常重要的。成功的IT經(jīng)理能夠通過明確的方式來衡量小組的工作表現(xiàn),并且通過反饋信息來改進工作表現(xiàn)。 2008年11月4日 #
前一篇中講了團隊建設(shè)中應(yīng)該著重、優(yōu)先考慮的一些做法,但是,革命不是請客吃飯,團隊建設(shè)中也不可能總是和風(fēng)細雨,總會遇到一些非常情況,也總會用到一些非常手段。下面,就談一下自己信奉的一些名言和實際體會。
首先,既要可以“俯首甘為孺子牛”也要能夠“橫眉冷對千夫指”。在面對對立、被誤會、被造謠中傷甚至?xí)簳r的眾叛親離等困境時,一定要夠堅忍!這其實不難做到,一個基本的態(tài)度是:活著,要充滿感激。這是我在學(xué)校當(dāng)班長時,面臨前面提到的困擾時悟出的。當(dāng)時的想法是:現(xiàn)在遭遇的種種比將來到社會上將要遭遇的,不只要少多少、輕多少,那么現(xiàn)在不就是一次好的鍛煉機會嗎?和你過不去的人不就是在幫你嗎?幫了你,不就該感激他們么?這樣想了以后,頓時渾身清爽,跑道操場上,當(dāng)時的感覺就是陽光在每一個草尖上跳舞。其后是在進水口帶工程師組的時候,因為面臨要把失去的工期搶回來,又要轉(zhuǎn)變由來已久的工作作風(fēng),“亂世用重典”,又沒有過多的時間去解釋、通融,一時間惡名遠播。但當(dāng)時經(jīng)過多年的歷練,已經(jīng)很自信了,知道自己是什么樣的人,也堅信時間和事實能證明一切,再加上上司的信任和支持,最終也挺過了這一關(guān)。另外一個基本態(tài)度就是:不要害怕得罪人,不能以和求和。原因很簡單,你來工作的目的是干活拿錢,是把工作做好,不是來交朋友的。所以,對危害團隊的人和事,一定要堅決反對,處理起來要當(dāng)機立斷,毫不手軟。這方面,我又成功的經(jīng)驗,也有深刻的教訓(xùn)。曾經(jīng)有兩個人,自己判定他們不適合待在團隊里,但因為有上司地說請給留了下來,最終都惹了一些不必要的麻煩,后一個還給工作造成了較大的損失。 有了基本的態(tài)度以后,策略上,“誰是我們的朋友,誰是我們的敵人,這是革命的首要問題”。實際上,這也是團結(jié)一切可以團結(jié)的力量,爭取大多數(shù);孤立、分化、瓦解、打擊極少數(shù)的問題。即便是在要打擊的極少數(shù)里頭,也還要再講個“首惡必懲,協(xié)從不糾”??傊驌裘嬉M可能的窄!因為,這絕不可能雙贏,所謂“殺敵一千,己傷八百”。所以,一定要慎重,而且,必須是在團隊利益受到危害時逼不得已的選擇。這里講的敵友,衡量的標準就是是否危害團隊利益,絕不可憑個人好惡。 敵友問題搞清楚了,下一個面臨的就是雷鋒說的:對待同志,要像春天般溫暖;對待敵人,要像嚴冬般冷酷。一旦決定對危害團體利益的人和事采取行動,就一定要堅決有力,次數(shù)上要盡可能少而精,力度上要盡可能穩(wěn)準狠。要讓人知道,你手里有劍,而且,一旦需要,這把劍會毫不留情地砍下來的。這樣做的原因,還有一點就是:對待人的群體,在認同“性本善”的同時我還認同棗核理論。就是說:在群體里頭,特別好的和特別壞的都是少數(shù),絕大部分人是集中在中間的,往兩頭跑的。榜樣的力量是無窮的!決定這個群體性質(zhì)的關(guān)鍵就是看哪頭得勢。作為一個團隊建設(shè)者,就是要懲惡揚善,樹立正氣,形成良性循環(huán)。一旦形成良性循環(huán),工作就非常順利了。 至于說具體手段,就要因人就事,不拘一格了。毛澤東講:這個世界是復(fù)雜的,所以我們的思想也要復(fù)雜一些。尤其你面對的人,往往都是小人、惡人、自認為聰明的人。所以,不講些手段,僅憑善良和正義是不行的。不要對手段抱有成見,其實和內(nèi)容決定形式一樣,目的決定手段。就像毒藥,可以用來害人,也可用來殺耗子,幫助人。手段本身無罪,關(guān)鍵看你用來做什么。不過,運用手段的時候,有一點一定要提防,不要像面具的故事那樣在戴面具的過程中被面具迷失了本性。依據(jù)自己的性格,追求和應(yīng)用的手段就是不用手段,實在要用,也是一招制敵。武俠小說里講:無招勝有招。古龍更是塑造了小李飛刀。實際中,看著對方費盡心思玩手段對付你;你呢,你不跟他玩,只是好整以遐地看著,什么時候不想看了,一刀捅到他心口窩,他的所有動作戛然而至。你臉上不動聲色,但心里的感覺,爽!不過,這也說明自己的修煉還不夠,包括在這里舞文弄墨。真正的境界應(yīng)該時寵辱不驚,心如止水。 還有一點:朝中有人好做官,不管是外企還是國企,上司的信任和支持都非常重要,尤其在你面對非常情況、陷入困境的的時候!事實上,自己幾次成功的團隊建設(shè)經(jīng)歷,也都和上司的信任和支持分不開??上У氖?,在處理和上司的關(guān)系上,我做得很不好,需要的是更多的反思、提高和轉(zhuǎn)變,主要是個性和觀念。和大部分人一樣,我認為跟上司走得近乎是巴結(jié)、逢迎、獻媚。自己曾長期津津樂道并引以為豪的是不會去故意和上司套近乎,得到信任是因為自己的實力。后來的兩件事情和兩篇文章是我改變了看法。一是遇到了一個巨細管理的上司,什么都想自己管,猜忌防范下屬,雖然他最終沒能怎樣,但確實給個人、給工作帶來了較大的困擾。還有一次經(jīng)歷,我曾一度失去了一位一直很信任和支持我的上司的支持和信任,雖然最終排除了干擾,但畢竟有了一段不愉快的回憶。再看看歷史上,那么多的忠臣良將被奸人所害,不都是教訓(xùn)深刻么?后來,在學(xué)習(xí)項目管理的過程中,我看了兩篇文章,一篇是關(guān)于如何應(yīng)對巨細管理的,一篇是關(guān)于如何看待辦公室政治的。具體內(nèi)容不管它,兩篇文章有一個共同點就是,碰到這些問題,不能逃避,要拋開傳統(tǒng)觀念,從問題的正面出發(fā),積極應(yīng)對。雖然其中種種行之有效的技巧我還是做不來,但起碼不像以前那樣反感。而且,一些基本的概念也已確立,比如:上司也是人;上司周圍的空間,與其讓小人、奸人去填補,不如你去填補;你可以對客戶做的,為什么不能對上司做,何況,上司是你最重要的客戶等等。 個人的體會,基本上就是這些了。和上一篇講的優(yōu)先考慮的做法不一樣的是:既然是非常手段,就只能在非常情況下使用,只是輔助手段;和上一篇講的優(yōu)先考慮的做法一樣的是:正確與否,都要以是否有利于團隊建設(shè)為衡量基準。?
團隊建設(shè),簡單講就是:給你一撥人,你得能把他們攏在一起,朝著一個方向走。怎么做呢?下面就把個人實踐中,認為應(yīng)該優(yōu)先考慮的一些做法給列出來:?
首先,一切的前提?尊重!不懂得尊重人,一切都無從談起。這個尊重不是來自鬼都不相信的“人人生而平等”,而是來自于堅信“只要是個人,就有比自己強的地方,就有用”。這個尊重是有形的,是可以看得出來、感覺得到的,比如說:你對人的守時、守信、虛心聽取意見等等。最大、最可貴、最有效地的尊重是信任!這體現(xiàn)為對團隊成員的合理、有效的授權(quán)和委任。 然后是溝通,把情況了解上來,把影響施加下去。好的溝通就像一個靈敏有效的神經(jīng)系統(tǒng),又像是機件運行的潤滑劑。溝通的手段多種多樣,自己比較喜歡用的有:聊天;有人曾經(jīng)問我:怎么整天見你跟人聊天啊?我的回答是:聊天也是工作。因為,那不是亂聊的,尤其在時機和話題的選擇上。目的只有一個?拉近距離,融洽氣氛,了解情況,施加影響。還有比較喜歡用的就是娛樂,尤其是下棋、打牌、喝酒,這三項活動最能體現(xiàn)人的性格,想藏都藏不住。性格無所謂優(yōu)劣!最重要的是要因人而異,善加利用。通過合理的組合,減少沖突,增強合力。 還有就是文字記錄,一定要讓團隊成員,尤其是關(guān)鍵成員養(yǎng)成做文字記錄(正式非正式)的習(xí)慣,這對團隊建設(shè)本身不是十分重要,但從企業(yè)管理和項目管理的角度來看,卻是非常重要。而且,團隊建設(shè)的目的,也是為了最終把工作做好。 然后是服務(wù),這是團隊建設(shè)的核心內(nèi)容。要盡可能地把自己是頭、有權(quán)發(fā)號施令的念頭壓下去,把監(jiān)督、控制等字眼兒壓下去。更多地想的是對這個團體的責(zé)任,目的是要把工作做好。工作最終要靠整個團隊,而不是某個人來完成。要立足于服務(wù),給團隊成員創(chuàng)造出一個良好的工作環(huán)境。 換句話說,組織者的任務(wù)就是把臺子搭好,讓團隊成員把戲唱好。不要擔(dān)心會被搶了風(fēng)頭!一則,戲唱的再好,到上司那里匯報的還是你;二則,即便是團隊成員最終超越了你,你真誠地幫過他,他自然也會幫你,何樂而不為呢?所以,不要吝嗇在上司面前肯定團隊成員的成績,更不要邀功于己,諉過于人,這是非常忌諱的。要讓團隊成員放手工作,“錯了,責(zé)任是我的,對了,功勞是你們的”這句話,不但要說,更要做! 這里講的服務(wù),既是工作上的,也是生活上的,都很重要,都要盡可能細致、周到。服務(wù)做好了,管理基本上也就到家了。這里需要指出的是:服務(wù)不等于遷就,是有原則的,也是在自己能力范圍內(nèi)的。還有,在這個過程中,會有不少誤解、委屈,也會很“吃虧”,沒辦法,誰讓你是頭呢,如果你想把工作做好,這些你都得認嘍,吃這些小“虧”占“工作做好”這個大“便宜”。等成績出來的時候,那些誤解、委屈也就沒了,你收獲得將是一幫多少年后都還彼此眷顧、相互信任的朋友和一段美好的回憶。 還有協(xié)調(diào)和組織,也就是把合適的人放在合適的位置上。實際上,作為一種具體的技能和工作內(nèi)容,這是和尊重、溝通和服務(wù)是連在一起的。把前幾項做好了,協(xié)調(diào)組織基本上就是個水到渠成的問題。由兩個需要注意的方面,一是要注意實際情況,因人就勢;一是要注意盡可能多地、合理地授權(quán),管得越少越好。 再就是激勵。物質(zhì)獎勵是必要的,但一定要慎用、少用。因為,好事往往會變成壞事,尤其對于時下的國人而言。不但起不到激勵的作用,反而造成不必要的麻煩,增加攀比、猜忌等矛盾,破壞氣氛。而且,如果老是要靠物質(zhì)刺激來激勵的話,就說明組織、薪酬體系有問題。 激勵更多的應(yīng)該是精神層面的,最有效的就是對人真誠的尊重和信任、充分有效的授權(quán)和對成績及時有效的肯定,最不濟也可以用哥們義氣。如果你能真正重視團隊成員的意見并給予充分、有效、適當(dāng)?shù)氖跈?quán),完成任務(wù)時給予及時的肯定,失敗時給予真誠的幫助和鼓勵,比許諾獎他多少多少錢產(chǎn)生的激勵作用要來的強烈和持久的多。“士為知己者死”,雖然沒必要那么夸張,但作用絕不可低估。每個人都希望自己的工作獲得認可,及時、公開的表揚就顯得很重要了,那代表著認知、肯定和認同。 最后,也是最重要的,就是個導(dǎo)向問題。前面提到的種種,都要以一個原則為導(dǎo)向,那就是:產(chǎn)生合力,達成目標,最終目的是要把工作做好。這是基本準則,也是衡量團隊建設(shè)成功與否的標準。 總之,團隊建設(shè)說難不難,說易不易,關(guān)鍵在于你如何把握。只要你熱心、誠懇、負責(zé)任,肯和團隊成員交朋友(洛陽有句話:伙計擱好了,活也就做好了),加上一些必要的技巧(不是玩心眼),和上司的支持(這也非常必要),團隊不愁建不好。非常手段的使用? 2007年9月28日 #
摘要: SiteMesh:一個優(yōu)于Apache Tiles的Web頁面布局、裝飾框架 閱讀全文
2007年9月27日 #
摘要: 最近經(jīng)??匆恍┡笥褜懙脑创a,總是感覺編碼規(guī)范問題還沒有成為大家的關(guān)注點,導(dǎo)致代碼的通用可讀性相對比較差;
所以在此嘮叨幾句編碼規(guī)范(以struts2+spring2+hibernate3架構(gòu)的項目為例),大家各取所需,歡迎拍磚! 閱讀全文 2007年9月21日 #
摘要: 教你十招優(yōu)化WinXp系統(tǒng)盤 閱讀全文
2007年9月14日 #
??? 水木周平:“中國99%的白領(lǐng)以及他們的家庭即將面臨破產(chǎn)。而且是必然破產(chǎn)!無路可逃!這件事可能是發(fā)生在未來2-10年。你可以盡量去懷疑這個數(shù)字。但它必然發(fā)生,絕非危言聳聽。”
??? ??? 就如我預(yù)言中國國營企業(yè)職工必然失業(yè)一樣,在當(dāng)時來說沒人信。但確實會發(fā)生。因為在中國這樣一個發(fā)展中國家,其必然以不斷的以通貨膨脹和改革手段來換取經(jīng) 濟的發(fā)展。而每一次改革所帶來的陣痛都是由百姓來承擔(dān)的。無論是上山下鄉(xiāng)時迷茫的知青們還是改革開放帶來的大量國企紛紛倒閉時大量下崗職工。如果他們能有 一定的前瞻性的話,那么我想他們也許會為自己留一點后路。但是由于過分相信文件以及過分相信生活不會突變,所以才導(dǎo)致了他們的人生悲劇。有人說政府不會坐 視不理白領(lǐng)破產(chǎn),其實政府當(dāng)然不愿意??捎械氖虑椤趺凑f呢。想想當(dāng)年的下崗職工吧。引起了那么大的社會震動。又能怎樣呢?今天的白領(lǐng)明天破產(chǎn)的時候也 那樣而已。 ??? 而改革開放20多年來,中國的經(jīng)濟發(fā)展快速騰飛。但舊的體制并沒有完全更改。各種重要行業(yè)依然施行的是政府壟斷機制在運轉(zhuǎn)。如:銀行,金融,冶金,能源, 信息,運輸,醫(yī)療,教育,土地。在改革開放初期我國不可能對這些東西進行全方面的改革開放。但到了今天,壟斷經(jīng)營所帶來的矛盾日益突出。首當(dāng)其沖的就是房 地產(chǎn)。由于我國的法制不健全,尤其是金融以及改革領(lǐng)域里出現(xiàn)了各種失誤導(dǎo)致房地產(chǎn)節(jié)節(jié)攀升。隨著房地產(chǎn)的增加以及外來人口向大城市集中。所以城市新民工也 就是所謂的“白領(lǐng)”收入表面上也在提升,以北京為例3000-15000元人民幣的月薪處處可見。但這一部分收入主要用于支付租房或還貸。 ??? 為了深入地了解為什么99%的白領(lǐng)家庭會破產(chǎn),我們就必須先了解房價為什么會這么高?高在哪里?資金是運轉(zhuǎn)的?(這里的白領(lǐng)指買房或者準備買房族。)以及發(fā)展趨勢帶來的相關(guān)效應(yīng)。本文會分三個階段向你闡述。 ??? ??? 1:導(dǎo)致房價爆漲的第一個因素:銀行競爭下的貸款開放。--水木周平 ????其實房價的爆漲的因素主要是因為百姓在替政府所犯下的錯誤買單。比如以前一個開發(fā)商通過某銀行貸款了1000萬開發(fā)了一個房子。如果還不起那他就 倒霉了,因為所有的銀行都是一個體系,你欠了錢沒還就再也沒有翻身的機會。但是中國在銀行改革的基礎(chǔ)上開了一條口子,為了各銀行之間的競爭所以把工行,農(nóng) 行,建設(shè)銀行等等全部獨立運營。這本來是好事。但問題是這些銀行都不是私有的,而是國家的。我們不難想象。當(dāng)一個開發(fā)商從工行貸款1000萬的后果。他只 需要用500萬來開發(fā)房子,然后把售價提升,再把這個開發(fā)中的房子按他的售價標準抵押從農(nóng)行再貸款2000萬,然后再用這2000萬中的1000萬開發(fā)一 套售價更高的房子來找建設(shè)銀行抵押貸款4000萬。就是這樣一個滾雪球的瘋狂貸款模式。房子賣不賣得出去不重要,關(guān)鍵是房價要高,不得降價。反正銀行的錢 不是私人的,所以稍微疏通一下行長加之又有“合法的”高零售價的樓盤做抵押所以自然就越來越好從銀行貸款。 ??? 那么這樣造成的結(jié)果就是,房子價格只攀不跌!因為不能跌!一跌銀行貸出去的款就再也回不來了。這可是政府的銀行,政府的錢!所以為了堵住這個資金黑洞一些 被收買的專家、媒介便開始瘋狂制造輿論用各種輿論手段威逼利誘人買房子。比如土地資源嚴重緊張,再不買房將來就只能住在郊區(qū)呀之類的。導(dǎo)致人們不得不去買 房。其實住不了市中心這種情況這根本不可能發(fā)生,城市居民是一個新老替換的過程,要上班的住城里,老人退休喜歡住郊區(qū)。只要人口不爆炸就不會出現(xiàn)上班族住 不了市中心的情況。雖然這些輿論造成了很多人買房子,但是僅僅是這樣,房價還沒有高到現(xiàn)在這樣的離譜。緊接著政府又犯了第二個錯誤。 ??? 2:導(dǎo)致房價爆漲的第二個錯誤:中國特色的按揭。--水木周平 ????按揭本來是一種西方很流行的制度,也很合適。但這個制度一旦運用到中國就有點問題了。因為從大的體制上來說。所有銀行都是國家的,而不是私人的。所以貸款這個關(guān)口就不可能控制得住。只要文件上說得過去,人們就能貸到款。 ????為了早日緩解第一個錯誤所帶來的資金黑洞。政府開始實行個人按揭制度來售房。還經(jīng)常舉什么美國來太太和中國老太太的例子來誘惑人們?nèi)グ唇?。確實有 人按揭了,而且是瘋狂的按揭。只要和銀行有點“路子”的人。他們先按揭一套80萬的房子,自己出10萬首付然后再從銀行貸出70萬。之后再把這個房子抬高 價格到180萬出售。這個時候他們的親戚或者老爸老媽再去買下,也用按揭的方式自己出首付30萬再從銀行貸出150萬。然后就不管了。他們不還貸款怎么 辦?銀行愛收不收。反正根據(jù)合同我還不上錢你可以收走房子,我們兩不相欠。 ????所以轉(zhuǎn)了一圈,抬高了幾倍價格的房子又回到了政府回到了銀行手里。這就解釋了為什么很多新樓盤剛開始修就被“炒房團”買走了。他們炒的不是賭房子會升值。而是拿了房子去收拾銀行。 ????銀行拿到這個房子怎么辦?更不敢降價了。只好再加點價接著賣。所以普通老百姓現(xiàn)在根本別想買到真正合理價格的房子!即使你直接從開發(fā)商手里買來的 房子都說不定已經(jīng)轉(zhuǎn)了好幾次手又回到銀行以及開發(fā)商手里的了。說句不好聽的現(xiàn)在8000/平的房子里,有只有2500才是房價,有5500都是以為決策錯 誤帶來的資金黑洞!也就是說你正在替人任勞任怨的擦屁股。 ??? 3:第三個問題:白領(lǐng)家庭何時破產(chǎn)??--水木周平 ????那么我們研究了房子價格為什么會漲,再來研究一下中國城市所謂的白領(lǐng)家庭破產(chǎn)的必然性。 ????首先國外白領(lǐng)收入確實是高,但是高得有價值。而中國所謂的白領(lǐng)則普遍素質(zhì)較差。中國企業(yè)內(nèi)耗嚴重。人人相輕,人人頑固。所以難怪外資企業(yè)一進入中 國大陸市場就開始驚呼:“在中國辦企業(yè)招不到人!”對此我也深有體會。那有人會說:“既然現(xiàn)在的白領(lǐng)不值這個身價,那水木周平你說說為什么他們還能拿到這 樣的薪水呢?” ????其實,這由于房地產(chǎn)的火爆造成的一個量子效應(yīng)。銀行損失的資金大量的經(jīng)過少數(shù)人之手流向了市場。這些人開始在中國的其他領(lǐng)域瘋狂投資。因為他們自 己也知道房地產(chǎn)就快要崩盤了。他們這樣一輪又一輪的投資熱潮正在快速消化這些資金,他們投資互聯(lián)網(wǎng),投資高新技術(shù),投資娛樂,投資很多很多。但起碼付出的 工資要夠員工付房子月租或者月供吧。所以正是因為房價的高漲所以造就了中國城市人口工資水平的相對提升。不相信你自己算算你所在的城市白領(lǐng)階級平均收入一 旦交完每月的房錢,手上還能剩多少錢?我想這個問題就不用我再羅嗦了吧。大家心理有數(shù)。所以我可以說一旦房地產(chǎn)崩盤緊接著崩潰的就是你的工資。 ????有很多很多我認識的白領(lǐng)們都購了房。他們的算盤很簡單:“兩口子除開各種稅收保險每月純收入還余12000。交3000房錢算什么?我還能再買一 套呢!”是的不算什么。但因為房子貴所以什么東西都貴。吃的貴,交通貴,學(xué)費貴,醫(yī)療費用更貴?。。∷越涣朔垮X你再除開生活費用就基本上一分錢存不下 來,就算存點也趕不上正常的通貨膨脹率。問題是如果能一直保持這個現(xiàn)狀的話,理論上說應(yīng)該沒事。你這二十年賺來的錢正好可以彌補政府的兩個錯誤帶來的虧 損。 ????但問題也出在這里。隨著WTO5年緩沖期的結(jié)束,具體時間應(yīng)該是在2006年的12月31日。大量外資通訊,銀行,醫(yī)療,保險等等公司都會陸續(xù)進 入中國。到時候沒有人能阻止你把錢存入花旗,存入?yún)R豐。請問一下到那個時候誰愿意把錢存在呆帳壞帳如此之多的中國國有銀行呢?即使政府再怎么采取措施也可 能擠兌,所以到時候會發(fā)生什么現(xiàn)在還很難說。但有一點可以肯定的是到時中國國有這些銀行的壓力將變得非常巨大。貸款就會難上加上,因為銀行根本無錢可貸! 同時大量具備高素質(zhì)人材的外資企業(yè)進入中國必定帶來市場的強烈沖擊和大量現(xiàn)有企業(yè)的倒閉以及白領(lǐng)失業(yè)。也就是說。一旦外資企業(yè)加入競爭,中國現(xiàn)有的99% 的白領(lǐng)都將面臨大環(huán)境下的就業(yè)壓力! ????而且外資銀行一旦積累了資金開始投資房地產(chǎn),那么由于它們是正常的操作流程所以造出來的房子就會便宜,其必然拉動全國房地產(chǎn)大幅下跌。如我剛才所 說,房價一跌,緊跟著跌的就是你所在的企業(yè)的工資收入!可你之前買的房子還貸價格并不會降低或者減少,所以你將無力支付高昂的貸款。那么你的的房子會被銀 行收走,你的存款會被直接凍結(jié)。所以未來中國城市中的白領(lǐng)們最大的可能是和幾十年前的中國國有企業(yè)職工一樣。辛辛苦苦二十年,到頭來竹籃打水一場空! ??? 如何避免破產(chǎn)?--水木周平 ????看到這里您應(yīng)該明白,不要買房是一個避免破產(chǎn)的好辦法。不過我還要提醒你,為了托住樓市不跌,他們還有個辦法,那就是鼓吹老百姓不買房就不是個爺 們兒!您別說,這還真有點效果?,F(xiàn)在的人一張口第一句就是:“你有房嗎?!彼坪跄銢]房就是個太監(jiān)一樣。我實在是氣得連罵人的力氣都沒有了。還有人在百度水 木周平這個帖吧里發(fā)帖說:“不買房子你住哪里?”我就奇怪了,住和買有必然聯(lián)系嗎?在中國一個土地都不屬于你的房子賣給你和租給你有什么區(qū)別?(笑)。更 別提土匪一樣的物業(yè)和把人不當(dāng)人的強制拆遷!這不純粹是“皇帝的新裝”嗎?不過既然WTO中已經(jīng)說明出版業(yè)和傳媒業(yè)中國還是不對外開放的。那么輿論救市就 會成為政府和開發(fā)商手中的最后一張王牌。所以我們在面對很多花言巧語的時候還是自己多動動腦子。以后我們聽到的房產(chǎn)的鬼話會越來越多,越來越令人發(fā)指!比 如最近就有磚家在鼓吹房價不貴時都說:“什么即使年薪5萬,兩口子也是一年10萬,5年就50萬。所以房價當(dāng)然不貴?!蔽移婀值氖蔷尤挥腥它c頭稱是?也許 對于這種或者此類已經(jīng)進化到了不吃不喝不病不穿不動且爹娘早已死絕不用贍養(yǎng)的磚家來說也許還真是那么回事。所以大家注意提高警惕。 ??? 結(jié)束語:--水木周平 ????已經(jīng)買房或者準備買房的白領(lǐng)一族必定隨著房價的崩潰而崩潰,那會是一個緩慢發(fā)生的過程。短則兩年,長則十年。但這是不可逆轉(zhuǎn)的趨勢。所以中國 99%城市白領(lǐng)一族已經(jīng)面臨破產(chǎn)一說絕非危言聳聽!今天你往銀行交的每一分房錢都是替政府替炒房者補洞,只有一小部分是真正的房錢。明天大環(huán)境一變,你沒 有那么多資金來補洞的時候就會被市場和銀行一腳踢回老家,換一批新人來接著補。不信?走著瞧唄!--PS:為什么我說99%這個數(shù),是因為根據(jù)我的了解 99%的人一旦月薪過5000就開始買房,甚至3000,4000都買。小倆口什么都不明白這樣買下去人生一定會很慘。我只是替他們感到憂傷。當(dāng)然如果你 是那1%的智者,多勸救他們吧。獨樂樂不如眾樂樂。 ??? 本文轉(zhuǎn)載自:http://www.aygfsteel.com/fanyingjie/archive/2007/09/05/142964.html 2007年6月18日 #
??? 我終于有機會帶項目了!鼓勵一下自己!:-)
??? 先全力以付把系統(tǒng)設(shè)計做好!加油?。?! 2007年5月28日 #
摘要: 共享一個MyEclipse5.5GA注冊碼 閱讀全文
2007年5月10日 # Ctrl+1 快速修復(fù)(最經(jīng)典的快捷鍵,就不用多說了) Ctrl+D: 刪除當(dāng)前行? ? Ctrl+Alt+↓ 復(fù)制當(dāng)前行到下一行(復(fù)制增加) Ctrl+Alt+↑ 復(fù)制當(dāng)前行到上一行(復(fù)制增加) Alt+↓? 當(dāng)前行和下面一行交互位置(特別實用,可以省去先剪切,再粘貼了) Alt+↑? 當(dāng)前行和上面一行交互位置(同上) Alt+←? 前一個編輯的頁面 Alt+→? 下一個編輯的頁面(當(dāng)然是針對上面那條來說了) Alt+Enter 顯示當(dāng)前選擇資源(工程,or 文件 or文件)的屬性 Shift+Enter 在當(dāng)前行的下一行插入空行(這時鼠標可以在當(dāng)前行的任一位置,不一定是最后) Shift+Ctrl+Enter 在當(dāng)前行插入空行(原理同上條) Ctrl+Q? 定位到最后編輯的地方 Ctrl+L? 定位在某行? (對于程序超過100的人就有福音了) Ctrl+M 最大化當(dāng)前的Edit或View (再按則反之) Ctrl+/? 注釋當(dāng)前行,再按則取消注釋 Ctrl+O? 快速顯示 OutLine Ctrl+T? 快速顯示當(dāng)前類的繼承結(jié)構(gòu) Ctrl+W? 關(guān)閉當(dāng)前Editer Ctrl+K? 參照選中的Word快速定位到下一個 Ctrl+E 快速顯示當(dāng)前Editer的下拉列表(如果當(dāng)前頁面沒有顯示的用黑體表示) Ctrl+/(小鍵盤) 折疊當(dāng)前類中的所有代碼 Ctrl+×(小鍵盤) 展開當(dāng)前類中的所有代碼 Ctrl+Space 代碼助手完成一些代碼的插入(但一般和輸入法有沖突,可以修改輸入法的熱鍵,也可以暫用Alt+/來代替) Ctrl+Shift+E 顯示管理當(dāng)前打開的所有的View的管理器(可以選擇關(guān)閉,激活等操作) Ctrl+J? 正向增量查找(按下Ctrl+J后,你所輸入的每個字母編輯器都提供快速匹配定位到某個單詞,如果沒有,則在stutes line中顯示沒有找到了,查一個單詞時,特別實用,這個功能Idea兩年前就有了) Ctrl+Shift+J 反向增量查找(和上條相同,只不過是從后往前查) Ctrl+Shift+F4 關(guān)閉所有打開的Editer Ctrl+Shift+X? 把當(dāng)前選中的文本全部變味小寫 Ctrl+Shift+Y? 把當(dāng)前選中的文本全部變?yōu)樾?br /> Ctrl+Shift+F? 格式化當(dāng)前代碼 Ctrl+Shift+P 定位到對于的匹配符(譬如{}) (從前面定位后面時,光標要在匹配符里面,后面到前面,則反之) Alt+Shift+R 重命名 (是我自己最愛用的一個了,尤其是變量和類的Rename,比手工方法能節(jié)省很多勞動力) Alt+Shift+M 抽取方法 (這是重構(gòu)里面最常用的方法之一了,尤其是對一大堆泥團代碼有用) Alt+Shift+C 修改函數(shù)結(jié)構(gòu)(比較實用,有N個函數(shù)調(diào)用了這個方法,修改一次搞定) Alt+Shift+L 抽取本地變量( 可以直接把一些魔法數(shù)字和字符串抽取成一個變量,尤其是多處調(diào)用的時候) Alt+Shift+F 把Class中的local變量變?yōu)閒ield變量 (比較實用的功能) Alt+Shift+I 合并變量(可能這樣說有點不妥Inline) Alt+Shift+V 移動函數(shù)和變量(不怎么常用) Alt+Shift+Z 重構(gòu)的后悔藥(Undo) 2007年5月9日 # 一、page?對象 ????page對象代表JSP本身,更準確地說它代表JSP被轉(zhuǎn)譯后的Servlet,它可以調(diào)用Servlet類所定義的方法。 ???????? 二、config?對象 ????config?對象里存放著一些Servlet?初始的數(shù)據(jù)結(jié)構(gòu)。 ????config?對象實現(xiàn)于javax.servlet.ServletConfig?接口,它共有下列四種方法: ????????public?String?getInitParameter(name) ????????public?java.util.Enumeration?getInitParameterNames(?) ????????public?ServletContext?getServletContext(?) ????????public?Sring?getServletName(?) 三、request?對象 ????request?對象包含所有請求的信息,如:請求的來源、標頭、cookies和請求相關(guān)的參數(shù)值等等。 ????request?對象實現(xiàn)javax.servlet.http.HttpServletRequest接口的,所提供的方法可以將它分為四大類: ????1.儲存和取得屬性方法; ????????void?setAttribute(String?name,?Object?value)?????? 設(shè)定name屬性的值為value ????????Enumeration?getAttributeNamesInScope(int?scope)????取得所有scope?范圍的屬性 ????????Object?getAttribute(String?name)?????????????????? 取得name?屬性的值 ????????void?removeAttribute(String?name)?????????????? ?? 移除name?屬性的值 ????2.取得請求參數(shù)的方法 ????????String?getParameter(String?name)?????????????? ? ? 取得name?的參數(shù)值 ????????Enumeration?getParameterNames(?)?????????????? ? ? 取得所有的參數(shù)名稱 ????????String?[]?getParameterValues(String?name)??????? ? 取得所有name?的參數(shù)值 ????????Map?getParameterMap(?)?????????????????????????????取得一個要求參數(shù)的Map ????3.能夠取得請求HTTP?標頭的方法 ????????String?getHeader(String?name)????????????????????? 取得name?的標頭 ????????Enumeration?getHeaderNames()?????????????????????? 取得所有的標頭名稱 ????????Enumeration?getHeaders(String?name)??????????????? 取得所有name?的標頭 ????????int?getIntHeader(String?name)????????????????????? 取得整數(shù)類型name?的標頭 ????????long?getDateHeader(String?name)??????????????? ??? 取得日期類型name?的標頭 ????????Cookie?[]?getCookies(?)??????????????????????? ??? 取得與請求有關(guān)的cookies ????4.其他的方法 ????????String?getContextPath(?)?????????????????????????? 取得Context?路徑(即站臺名稱) ????????String?getMethod(?)??????????????????????????????? 取得HTTP?的方法(GET、POST) ????????String?getProtocol(?)?????????????????????????? ?? 取得使用的協(xié)議?(HTTP/1.1、HTTP/1.0?) ????????String?getQueryString(?)??????????????????? ? ? ?? 取得請求的參數(shù)字符串,不過,HTTP的方法必須為GET ????????String?getRequestedSessionId(?)???????????? ? ? ?? 取得用戶端的Session?ID ????????String?getRequestURI(?)????????????????????????????取得請求的URL,但是不包括請求的參數(shù)字符串 ????????String?getRemoteAddr(?)????????????????????????????取得用戶的IP?地址 ????????String?getRemoteHost(?)????????????????????????????取得用戶的主機名稱 ????????int?getRemotePort(?)?????????????????????????? ? ? 取得用戶的主機端口 ????????String?getRemoteUser(?)????????????????????? ? ? ? 取得用戶的名稱 ????????void?etCharacterEncoding(String????encoding)?????? 設(shè)定編碼格式,用來解決窗體傳遞中文的問題 四、response?對象 ????response?對象主要將JSP?處理數(shù)據(jù)后的結(jié)果傳回到客戶端。 ????response?對象是實現(xiàn)javax.servlet.http.HttpServletResponse?接口。response對象所提供的方法。 ????1.設(shè)定表頭的方法 ????????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.設(shè)定響應(yīng)狀態(tài)碼的方法 ????????void?sendError(int?sc)?????????????????????????????傳送狀態(tài)碼(status?code) ????????void?sendError(int?sc,?String?msg)???????????????? 傳送狀態(tài)碼和錯誤信息 ????????void?setStatus(int?sc)?????????????????????????????設(shè)定狀態(tài)碼 ????3.用來URL?重寫(rewriting)的方法???? ????????String?encodeRedirectURL(String????url)????????????對使用sendRedirect(?)方法的URL予以編碼 五、out?對象 ????out?對象能把結(jié)果輸出到網(wǎng)頁上。 ????out主要是用來控制管理輸出的緩沖區(qū)(buffer)和輸出流(output?stream)。 ????????void?clear(?)??????????????????????????????????? ? 清除輸出緩沖區(qū)的內(nèi)容 ????????void?clearBuffer(?)??????????????????????????????? 清除輸出緩沖區(qū)的內(nèi)容 ????????void?close(?)??????????????????????????????????? ? 關(guān)閉輸出流,清除所有的內(nèi)容 ????????int?getBufferSize(?)?????????????????????????? ? ? 取得目前緩沖區(qū)的大小(KB) ????????int?getRemaining(?)??????????????????????????? ? ? 取得目前使用后還剩下的緩沖區(qū)大小(KB) ????????boolean?isAutoFlush(?)?????????????????????????? ? 回傳true表示緩沖區(qū)滿時會自動清除;false表示不會自動清除并且產(chǎn)生異常處理 ???????? 六、session?對象 ????session對象表示目前個別用戶的會話(session)狀況。 ????session對象實現(xiàn)javax.servlet.http.HttpSession接口,HttpSession接口所提供的方法 ????????long?getCreationTime()?????????????????????????? ? 取得session產(chǎn)生的時間,單位是毫秒 ????????String?getId()?????????????????????????????????????取得session?的ID ????????long?getLastAccessedTime()????????????????????? ?? 取得用戶最后通過這個session送出請求的時間 ????????long?getMaxInactiveInterval()?????????????????? ?? 取得最大session不活動的時間,若超過這時間,session?將會失效 ????????void?invalidate()?????????????????????????????? ?? 取消session?對象,并將對象存放的內(nèi)容完全拋棄 ????????boolean?isNew()????????????????????????????????????判斷session?是否為"新"的 ????????void?setMaxInactiveInterval(int????interval)?????? 設(shè)定最大session不活動的時間,若超過這時間,session?將會失效 七、application對象 ????application對象最常被使用在存取環(huán)境的信息。 ????因為環(huán)境的信息通常都儲存在ServletContext中,所以常利用application對象來存取ServletContext中的信息。 ????application?對象實現(xiàn)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?所產(chǎn)生的異常信息寫入log文件中 八、pageContext對象 ????pageContext對象能夠存取其他隱含對象。 ????1.pageContext對象存取其他隱含對象屬性的方法,此時需要指定范圍的參數(shù)。 ????????Object?getAttribute(String?name,?int?scope) ????????Enumeration?getAttributeNamesInScope(int?scope) ????????void?removeAttribute(String?name,?int?scope) ????????void?setAttribute(String?name,?Object?value,?int?scope) ????范圍參數(shù)有四個,分別代表四種范圍:PAGE_SCOPE、REQUEST_SCOPE、SESSION_SCOPE、APPLICATION_SCOPE ????2.PageContext對象取得其他隱含對象的方法 ????????Exception?getException(?)?????????????????????? ?? 回傳目前網(wǎng)頁的異常,不過此網(wǎng)頁要為error?page, ????????JspWriter?getOut(?)??????????????????????????? ??? 回傳目前網(wǎng)頁的輸出流,例如:out? ????????Object?getPage(?)?????????????????????????????? ?? 回傳目前網(wǎng)頁的Servlet?實體(instance),例如:page ????????ServletRequest?getRequest(?)?????????????????? ? ? 回傳目前網(wǎng)頁的請求,例如:request ????????ServletResponse?getResponse(?)?????????????????? ? 回傳目前網(wǎng)頁的響應(yīng),例如:response ????????ServletConfig?getServletConfig(?)?????????????? ?? 回傳目前此網(wǎng)頁的ServletConfig?對象,例如:config ????????ServletContext?getServletContext(?)????????????????回傳目前此網(wǎng)頁的執(zhí)行環(huán)境(context),例如:application ????????HttpSession?getSession(?)????????????????????????? 回傳和目前網(wǎng)頁有聯(lián)系的會話(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?指令中設(shè)定。<%@?page?isErrorPage="true"?%>才能使用。 ????exception提供的三個方法: ????????getMessage(?) ????????getLocalizedMessage(?)、 ????????printStackTrace(new?java.io.PrintWriter(out))? 原文出處:http://www.javaresearch.org/article/68164.htm 2007年3月16日 #
摘要: 千萬別把JAVA環(huán)境變量和TOMCAT的配置方法忘了?。?! 閱讀全文
2007年3月14日 # ?????從上周起,公司的電腦一開機諾盾就報:C:\WINDOWS\SYSTEM32\LWIGW.DLL被感染木馬:?? ![]() ![]() ![]() ?????并且還清除失敗(明顯殺毒能力太差);工作太忙沒顧得上管它; ![]() 復(fù)制到系統(tǒng)目錄下,文件名隨機生成。修改注冊表,實現(xiàn)開機自啟。從指定站點下載其它木馬,偵聽黑客指令,盜取用戶機密信息。 ??? 搜了點資料最后將其搞定,以下是我結(jié)合各種資料并試驗成功的辦法(自認為比較簡單) 2007年3月12日 # 2007年3月8日 #
堅持做一件事情確實不是一件容易的事情!
看看我Blog上的內(nèi)容就知道了,很久很久沒更新自己寫的文章了,反而轉(zhuǎn)載卻越來越多; 反省一下,客觀原因是工作比較忙,其實最主要的還是自己那種惰性思想在作怪! 必須強迫自己堅持寫下去!!!! 不是為寫blog而寫blog,應(yīng)該是為了培養(yǎng)堅持做某件事情的素質(zhì)而寫blog!!!! Come On Baby!!! 2007年3月1日 #
摘要: 中國人正在上的四個大當(dāng) 閱讀全文
2007年1月25日 #
摘要: 可憐的戴爾:戴爾預(yù)計無法滿足最后期限 摘牌勢在必然 閱讀全文
摘要: 主要是最近Eclipse Plugins裝的比較多,對Links方式安裝的方便之處感觸越來越深.
主推原因: 方便,省事,易遷移. 下面我以Log4E插件為例:( 順便推薦一下Log4E插件 :-) ) 閱讀全文 2007年1月23日 #
摘要: Vista的銷售價錢,連邦軟件商城獨家發(fā)售的Windows Vista的5個版本 閱讀全文
2007年1月16日 #
摘要: DOM是基于平臺、語言無關(guān)的官方W3C標準?;跇涞膶哟?,其優(yōu)點是可以移植,編程容易,開發(fā)人員只需要調(diào)用建樹的指令。其缺點是加載大文件不理想。 SAX是基于事件模型的,它在解析 XML 文檔的時候可以觸發(fā)一系列的事件,當(dāng)發(fā)現(xiàn)給定的tag的時候,它可以激活一個回調(diào)方法,告訴該方法制定的標簽已經(jīng)找到。類似與流媒體的解析方式,所以在加載大文件時效果不錯。 JDOM是想成為 Java 特定文檔模型。它簡化與 XML 的交互并且比使用 DOM 實現(xiàn)更快。使用的是具體類不使用接口,運用了大量的COllections類,方便程序員。 DOM4J是一個獨立的開發(fā)結(jié)果。是一個非常非常優(yōu)秀的Java XML API,具有性能優(yōu)異、功能強大和極端易用使用的特點,同時它也是一個開放源代碼的軟件。推薦使用。 閱讀全文
2007年1月5日 #
摘要: 軟件開發(fā)生命周期包括需求分析、設(shè)計、開發(fā)、測試、交付部署等各個階段,以及貫穿在整個開發(fā)過程的軟件開發(fā)項目管理環(huán)節(jié),
2006年,在每一個階段都出現(xiàn)了令人眼花繚亂的技術(shù)與應(yīng)用,同時這些技術(shù)還將進一步影響2007年的發(fā)展,令人充滿期待。 閱讀全文 |