中文字幕亚洲综合久久菠萝蜜 ,亚洲av永久无码精品三区在线4 ,一级毛片直播亚洲http://www.tkk7.com/konhon/category/3017.html忘掉過去,展望未來。找回自我,超越自我。 <br> <b>逃避不一定躲的過, 面對不一定最難過, 孤單不一定不快樂, 得到不一定能長久, 失去不一定不再擁有, 可能因為某個理由而傷心難過, 但我卻能找個理由讓自己快樂.</b><br><p> <!-- Search Google --> <left> <form method="get" action="http://www.google.com/custom" target="google_window"> <table> <tr><td nowrap="nowrap" valign="top" align="left" height="32"> <a > <img src="http://www.google.com/logos/Logo_25wht.gif" border="0" alt="Google" align="middle"></img></a> <input type="text" name="q" size="31" maxlength="255" value=""></input> <input type="submit" name="sa" value="搜索"></input> <input type="hidden" name="client" value="pub-5408663347953425"></input> <input type="hidden" name="forid" value="1"></input> <input type="hidden" name="ie" value="UTF-8"></input> <input type="hidden" name="oe" value="UTF-8"></input> <input type="hidden" name="cof" value="GALT:#008000;GL:1;DIV:#336699;VLC:663399;AH:center;BGC:FFFFFF;LBGC:336699;ALC:0000FF;LC:0000FF;T:000000;GFNT:0000FF;GIMP:0000FF;FORID:1;"></input> <input type="hidden" name="hl" value="zh-CN"></input> </td></tr></table> </form> </left> <!-- Search Google --> zh-cnTue, 27 Feb 2007 11:04:59 GMTTue, 27 Feb 2007 11:04:59 GMT60簡單的導航條http://www.tkk7.com/konhon/archive/2006/12/13/87374.htmlkonhon 優華konhon 優華Wed, 13 Dec 2006 00:45:00 GMThttp://www.tkk7.com/konhon/archive/2006/12/13/87374.htmlhttp://www.tkk7.com/konhon/comments/87374.htmlhttp://www.tkk7.com/konhon/archive/2006/12/13/87374.html#Feedback0http://www.tkk7.com/konhon/comments/commentRss/87374.htmlhttp://www.tkk7.com/konhon/services/trackbacks/87374.html ?1?<!DOCTYPE?html?PUBLIC?"-//W3C//DTD?XHTML?1.0?Transitional//EN"?"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
?2?<html?xmlns="http://www.w3.org/1999/xhtml">
?3?<head>
?4?<meta?http-equiv="Content-Type"?content="text/html;?charset=utf-8"?/>
?5?<title>www.zishu.cn</title>
?6?<style>
?7?*{?padding:0;?margin:0;?font-size:12px;?line-height:1.7;?font-family:Verdana,?"宋體",?Arial;?list-style:none;}
?8?/*簡單定義了一下全局*/
?9?a:link,a:visited{background:#FFF3C6?url(jaian.gif)?no-repeat?15px?7px;?padding-left:23px;?color:#000000;text-decoration:?none;}
10?a:hover,a:active{color:#000;text-decoration:?none;background-color:?#FED762;}
11?a{display:block;border-bottom:1px?solid?#fff;?padding-left:10px;?width:127px;?}
12?/*定義鏈接的樣式*/
13?ul{?background:#fff;?width:150px;?border:1px?solid?#FF6600;?margin:0px?20px?-1px?20px;?padding:1px;}
14?/*定義了UL*/
15?span{?display:block;background:#FF9900?url(jai.gif)?no-repeat?5px?5px;?padding-left:13px;}
16?</style>
17?</head>
18?<body>
19?<ul><span>網站首頁</span>
20??<li><a?href="http://www.zishu.cn"?target="_blank">我的日志</a></li>
21??<li><a?href="http://www.zishu.cn"?target="_blank">給我留言</a></li>
22??<li><a?href="http://www.zishu.cn"?target="_blank">情感文章</a></li>
23?</ul>
24?<ul><span>網站首頁</span>
25??<li><a?href="http://www.zishu.cn"?target="_blank">我的日志</a></li>
26??<li><a?href="http://www.zishu.cn"?target="_blank">給我留言</a></li>
27??<li><a?href="http://www.zishu.cn"?target="_blank">情感文章</a></li>
28?</ul>
29?<ul><span>網站首頁</span>
30??<li><a?href="http://www.zishu.cn"?target="_blank">我的日志</a></li>
31??<li><a?href="http://www.zishu.cn"?target="_blank">給我留言</a></li>
32??<li><a?href="http://www.zishu.cn"?target="_blank">情感文章</a></li>
33?</ul>
34?</body>
35?</html>

konhon 優華 2006-12-13 08:45 發表評論
]]>
如何計算基金達到保本的凈值http://www.tkk7.com/konhon/archive/2006/10/19/76241.htmlkonhon 優華konhon 優華Thu, 19 Oct 2006 11:03:00 GMThttp://www.tkk7.com/konhon/archive/2006/10/19/76241.htmlhttp://www.tkk7.com/konhon/comments/76241.htmlhttp://www.tkk7.com/konhon/archive/2006/10/19/76241.html#Feedback0http://www.tkk7.com/konhon/comments/commentRss/76241.htmlhttp://www.tkk7.com/konhon/services/trackbacks/76241.html從去年8月份開始學習基金買賣,到今天有了一點小小心得,與大家分享。

??眾所周知,除少數基金以外,大多數的基金都有申購贖回費用,而且并不是很低,所以我們在計算投資收益時就要減去這部分的費用,個人認為每次都需要計算,比較麻煩,自己總結了一個比較簡單的方法,計算一個保本凈值,如果每日凈值高于此數據,就是贏利的,反之則虧損。
??
??下面就介紹一下我的計算方法:

???在認購或申購后取得當日凈值,計算基金份額:

?????基金份額=投資金額*(1-申購費率/100*100)/當日凈值

?????注:基金份額一般都是在小數點后第三位四舍五入

?????有了基金份額,就可以反推出保本的基金凈值

?????保本凈值=投資金額/基金份額/(1-贖回費率/100*100)

?????舉例說明:
???????在11月17日投資易方達積極成長1200元,當日凈值0.9727
???????
??????基金份額=1200*(1-1.5%/100*100)/0.9727=1215.17

??????保本凈值=1200/1215.17/(1-0.5%/100*100)=0.99248

?????小提示:基金申購都會有一個最低金額,只要大于最低金額就可以,不
????????一定必須整數倍。



konhon 優華 2006-10-19 19:03 發表評論
]]>
測算當天的基金凈值的方法http://www.tkk7.com/konhon/archive/2006/10/19/76240.htmlkonhon 優華konhon 優華Thu, 19 Oct 2006 11:02:00 GMThttp://www.tkk7.com/konhon/archive/2006/10/19/76240.htmlhttp://www.tkk7.com/konhon/comments/76240.htmlhttp://www.tkk7.com/konhon/archive/2006/10/19/76240.html#Feedback0http://www.tkk7.com/konhon/comments/commentRss/76240.htmlhttp://www.tkk7.com/konhon/services/trackbacks/76240.html
下面我就介紹一下吧:(個人方法)

基金都是有業績基準線的。這個在基金招募說明書中都能找到。如何計算呢?

以易方達50指數為例:

第一步:你先要查到前天的基金凈值:易方達50基金凈值:0.8212

第二步:查找該基金的業績基準線公式:上證50指數收益率*80%+上證國債指數收益率*20%

第三步:跟據收盤價算出離差X:
????????2005年11月13日上證50指數:754.16
????????2005年11月13日上證國債指數:107.06
????????X*(754.16*80%+107.06*20%)=0.8212
????????X=0.001314467

第四步:將今天的收盤的指數和X帶入業績基準線公式
????????0.001314467*(761.66*80%+107.35*20%)=0.8292

結果:易方達50指數的2005年11月24日當天凈值大概在0.8292左右


konhon 優華 2006-10-19 19:02 發表評論
]]>
國內基金管理公司的網址http://www.tkk7.com/konhon/archive/2006/10/19/76237.htmlkonhon 優華konhon 優華Thu, 19 Oct 2006 10:50:00 GMThttp://www.tkk7.com/konhon/archive/2006/10/19/76237.htmlhttp://www.tkk7.com/konhon/comments/76237.htmlhttp://www.tkk7.com/konhon/archive/2006/10/19/76237.html#Feedback0http://www.tkk7.com/konhon/comments/commentRss/76237.htmlhttp://www.tkk7.com/konhon/services/trackbacks/76237.html(1)博時基金管理有限公司http://www.boshi.com.cn
(2)銀華基金管理有限公司http://www.yhfund.com.cn
(3)大成基金管理有限公司http://www.dcfund.com.cn
(4)長盛基金管理有限公司http://www.csfunds.com.cn
(5)嘉實基金管理有限公司http://www.harvestasset.com
(6)南方基金管理有限公司http://www.southernfund.com
(7)易方達基金管理有限公司http://www.efunds.com.cn
(8)華夏基金管理有限公司http://www.chinaamc.com
(9)融通基金管理有限公司http://www.rtfund.com
(10)鵬華基金管理有限公司http://www.phfund.com.cn
(11)招商基金管理有限公司http://www.cmfchina.com
(12)海富通基金管理有限公司http://www.hftfund.com
(13)華安基金管理有限公司http://www.huaan.com.cn
(14)湘財荷銀基金管理有限公司http://www.xchf.com
(15)銀河基金管理有限公司http://www.galaxyasset.com
(16)國泰基金管理有限公司http://www.gtfund.com
(17)富國基金管理有限公司http://www.fullgoal.com.cn
(18)國聯安基金管理有限公司http://www.gtja-allianz.com
(19)中融基金管理有限公司http://www.zrfund.com
(20)華寶興業基金管理有限公司http://www.fsfund.com
(21)中信基金管理有限責任公司http://www.citicfunds.com
(22)金鷹基金管理有限公司http://www.gefund.com.cn
(23)長城基金管理有限公司http://www.ccfund.com.cn
(24)寶盈基金管理有限公司http://www.byfunds.com
(25)天同基金管理有限公司http://www.ttasset.com
(26)廣發基金管理有限公司http://www.gffunds.com.cn
(27)景順長城基金管理有限公司http://www.invescogreatwall.com
(28)巨田基金管理有限公司http://www.jtfund.com
(29)泰信基金管理有限公司http://www.ftfund.com
(30)長信基金管理有限責任公司http://www.cxfund.com.cn
(31)申萬巴黎基金管理有限公司http://www.swbnpp.com
(32)諾安基金管理有限公司http://www.lionfund.com.cn
(33)光大保德信基金管理有限公司http://www.epf.com.cn
(34)上投摩根富林明基金管理公司http://www.51fund.com
(35)興業基金管理有限公司http://www.xyfunds.com.cn
(36)東方基金管理有限公司http://www.orient-fund.com
(37)天治基金管理有限公司http://www.chinanature.com.cn
(38)中銀國際基金管理有限公司http://www.bociim.com
(39)華富基金管理有限公司http://www.hffund.com



konhon 優華 2006-10-19 18:50 發表評論
]]>
何時該把基金贖回?時機把握見智見仁http://www.tkk7.com/konhon/archive/2006/10/19/76233.htmlkonhon 優華konhon 優華Thu, 19 Oct 2006 10:08:00 GMThttp://www.tkk7.com/konhon/archive/2006/10/19/76233.htmlhttp://www.tkk7.com/konhon/comments/76233.htmlhttp://www.tkk7.com/konhon/archive/2006/10/19/76233.html#Feedback0http://www.tkk7.com/konhon/comments/commentRss/76233.htmlhttp://www.tkk7.com/konhon/services/trackbacks/76233.html投資者對基金已有豐富的實踐和深刻認識。

  時機把握見智見仁  

  不少讀者認為,基金如同股票,也有潮漲潮落,只有順勢而為,方能趨利避險。讀者張根寶認為,當股市高漲,成交量倍增時,如持有這類股票的基金,當是贖回的最佳時機。讀者張家詠則以股市漲跌作為買與贖回基金的參照。由于基金的屬性,它往往較股市慢一拍體現其凈值,所以當股市漲至高點他并不急于贖回,而是在股市出現拐點往下走時才贖回。

  也有人對所持基金保持了充分的耐心,并取得滿意收獲。讀者劉松毅認為“應高瞻遠矚觀市道,寧靜致遠看漲跌”,他買的一只基金跌破凈值,一度賬面曾被抹掉三分之二。但他非但沒有“割肉”,反而在低位再次買入,結果耐心終于等到了可喜的結果,基金啟動,漲聲一片,盈利達50%以上。

   短炒長捂門道不少   

  讀者王煜的體會是,基金猶如股票,長捂還是短炒,要看基金業績。有些基金運作得法,成長性良好,業績蒸蒸日上,就不愁日后沒有好的回報;而凈值老在低位徘徊的基金,無論業績(凈值排名)、還是成長性(凈值增長率)似乎很難有翻身希望,雖然贖回這只基金肯定要虧損,那就長痛不如短痛,理應及時贖回。

  讀者吳妍則認為,對于基金何時贖回和買進,首先要冷靜分析當前市場所處的氛圍,避免盲目樂觀和準備不足;其次理由要充分,對于贖回和買入基金的理由,要有足夠充分的理論支持;最后要果斷決策,當機立斷。讀者喻一帆則是各種方法綜合運用:如設定盈利目標,基金熱銷時、贖回費率降低以后再贖回,優質基金長期持有不贖回。還有個小竅門,先免費轉成同一公司的貨幣型基金,再贖回轉換后的貨幣基金,這樣能早幾天到賬,還多了兩天的貨幣基金收益。

  關心信息注意成本  

  其實贖回基金的原因無非有三:一是投資目標達到,落袋為安;二是投資市場出現變化,改投盈利能力更強的品種;三是因基金公司治理結構和基金經理變動等,所投基金的投資風格發生改變。

  記者采訪一些專家,歸納的觀點是,當所持基金發生以下情況,不管出于什么原因,就該考慮跟它說再見了:一是其業績表現或投資回報率長期落后于同類型基金;二是基金管理人變動,而績效卻走下坡路;三是基金周轉率太高,卻不能提升基金績效,甚至遠落后于大盤;四是基金凈值短期發生飆漲或暴跌,這是不良信號,預示著基金管理人操作存在很大風險

  聯合證券的一份研究報告顯示:大市從低位回升的第一個季度贖回量會突然加大,連續兩個季度上漲后,基金整體出現凈申購。不少基金投資者深諳“高拋低吸”原理,只把基金當股票。但基金畢竟不是股票。像債券型基金,跟股市的聯動性就不強。對這類基金,享受分紅可能比贖回兌現的收益還要大些,而對贖回時機的選擇,更多應從自身財務需求的變化出發。

  另外,贖回基金要講成本,如第一年手續費0.5%,第二年0.25%,第三年降至0。加上成本更高的申購費用,如反復贖回進出,這筆費用不可小視。產品線比較豐富的基金公司,當推出旗下基金轉換優惠時,意味著贖回申購門檻降低,不妨把握一下這個機會。


konhon 優華 2006-10-19 18:08 發表評論
]]>
我沒有很想你[轉]http://www.tkk7.com/konhon/archive/2006/10/06/73504.htmlkonhon 優華konhon 優華Thu, 05 Oct 2006 23:45:00 GMThttp://www.tkk7.com/konhon/archive/2006/10/06/73504.htmlhttp://www.tkk7.com/konhon/comments/73504.htmlhttp://www.tkk7.com/konhon/archive/2006/10/06/73504.html#Feedback0http://www.tkk7.com/konhon/comments/commentRss/73504.htmlhttp://www.tkk7.com/konhon/services/trackbacks/73504.html??? 我只是在走到某個路口的時候才會想起你,我只是看碟看到一半的時候才會想起你,
我只是聽歌聽到一半的時候才會想起你,我真的沒有很想你,我只是在我不想想你的時候
想起你。??
??? 這樣真好,我沒有很想你,,我沒有想你想到發瘋,我只是想你到眼睛潮濕。???
??? 我要睡覺,但是我睡不著,在床上我看著無聊的雜志,翻書的時候我想起了你,我睡不著,我搖頭要忘卻你的影子,可是它印在了雜志上,所以我把雜志扔掉啦。我關上燈,你的樣子在黑暗中是那么的明晰,所以我把燈打開。???
??? 我沒有很想你,只是在睡不著的時候想你,只是我不知道是睡不著想你啦,還是想你睡不著。???
??? 我不要很想你,開始之前忘卻之后,情動是頭真的長不了一天,眉一皺,頭一點。是預言還是選擇,我的邏輯沒有那么數學化,介入你的視線,不介入你的選擇,而預言,它們說最好的版本是安徒生的童話。從此王子和灰姑娘過著幸福的生活。在海遠處,水那么藍,象最美麗的向日葵花瓣,那么清,象最明亮的碎片,卻那么深,深得任何錨鏈都達不到心。深夜里,我只聽到美人魚無聲的嘆息。???
??? 我沒有很想你,即使想你,也不是我想你的程度,在時間面前我們什么都沒有留下。時間這樣用來浪費,我不心疼,不想你的時候他們變的一片空白,想你的時候我快樂。不想你的時候我寂寞,快樂不會多一點,回憶在機械的重復,寂寞總會濃一些,不想你的時間只好越來越少????
??? 我沒有很想你,我只是在我高興的時候想起你,在我不高興的時候想起你。給我回憶的人不會被回憶欺騙,回憶里的人才會被它欺騙。情人心里的天平,砝碼細微如發絲,你笑了,我的天晴了,你沉默了,我的心灰了。我捕捉你的任何眼神,判斷你是否還如以前一般熱情,我反復查找你的號更新你的資料,衡量你是否還如以前一般眷戀,我在做這些無聊而有趣的事情,穿著空蕩的睡衣光腳在屋子里一一細數,然后等著終于有一天答案告訴我可以停止這些那些。你的所有變化我都明了,我在你面前顯得冷漠而無所謂,那是軟體動物單薄脆弱的殼。???
??? 我沒有很想你,我想你,然而我只能用文字來發泄來表達我對你的思念.???
??? 我沒有很想你,我想你,然而我只能把對你的思念寫進我日記里.???
??? 我沒有很想你,我想你,但只是想你而不打擾你!!!

konhon 優華 2006-10-06 07:45 發表評論
]]>
Googlehttp://www.tkk7.com/konhon/archive/2006/07/10/57550.htmlkonhon 優華konhon 優華Mon, 10 Jul 2006 11:32:00 GMThttp://www.tkk7.com/konhon/archive/2006/07/10/57550.htmlhttp://www.tkk7.com/konhon/comments/57550.htmlhttp://www.tkk7.com/konhon/archive/2006/07/10/57550.html#Feedback0http://www.tkk7.com/konhon/comments/commentRss/57550.htmlhttp://www.tkk7.com/konhon/services/trackbacks/57550.html早上起來之后,使用Google免費提供的WIFI( http://wifi.google.com/download.html )上網,
  覺得網速有些慢就打開了Google網頁加速器 (
http://webaccelerator.google.com/ )
  上網之后,打開了裝有GoogleToolbar(
http://toolbar.google.com/ ) 的瀏覽器,
  看看自己的日程表,(
http://www.google.com/calendar ),查看了一下自己的安排。
  到Google實驗室 (
http://labs.google.com/ )看有沒有新的google工具。
  打開自己的Google軟件包升級google軟件。(
http://pack.google.com/ )
  用Gmail(
http://mail.google.com/ ) 處理email,
  
http://finance.google.com/ 看看股市行情。
  到 GoogleNews(
http://news.google.com/ ) 看看新聞,
  艾,這句英文不理解copy到
http://www.google.com/translate_t 看看google怎么解釋。
  上Google網上論壇 (
http://groups.google.com/ )看有沒有自己感興趣的消息。
  用 GoogleReader(
http://reader.google.com/ ) 看看朋友們的blog更新了沒有,
  然后用GoogleTalk(
http://talk.google.com/ ) 跟他們聊聊天。
  朋友說起了一個陌生的名詞,趕緊去
http://answers.google.com/ 看看是什么意思,免得讓朋友鄙視。
  聽朋友說起,發生了什么上不了新聞的大事,趕緊搜索一下BLOG(
http://blogsearch.google.com/ ),
  上不了新聞,總有人寫在blog里面巴。
  突然很想要自己昨天搜索的一個頁面的信息,一時想不起來,沒有關系
  到Google搜索歷史 (
http://www.google.com/searchhistory )看看。
  為了更好的搜索,先設置一下自己的個性化搜索再說(
http://labs.google.com/personalized ).
  在網上逛了一圈之后,覺得某個頁面有意思看不完的就用Google書簽(
http://www.google.com/bookmarks/ )記下來,
  看得完的就用google記事本(
http://www.google.com/notebook/ )記下中間的精彩詞句。
  看到深有感觸的時候,想用Blogger(
http://www.blogger.com/ ) 寫自己的blog,
  在寫blog時使用 GoogleImage(
http://www.google.com/imghp?hl=en&tab=wi&q =)搜索漂亮的圖片點綴一下,
  然后用Picasa(
http://www.picasa.com/ ) 處理一些圖片后上傳,
  這時他突然忘記電腦中某些文件放在哪兒了,
  于是用GoogleDesktop(
http://desktop.google.com/ ) 搜索了一下自己的電腦,
  很快就在某個角落里找到了那些塵封已久的文件。
  自己的個性化主頁(
http://www.google.com/ig )也該打理打理了,打理一下,順便看看
  Google目錄(
http://catalogs.google.com/ Google)和 google網頁目錄( http://www.google.com/dirhp ).
  在網上瞎晃也挺無聊的,來點懸的 去Google火星(
http://www.google.com/mars/ ),
  Google月球 (
http://moon.google.com/ )轉轉。
  這時,收到了GoogleAlert(
http://www.google.com/alerts ) 的提醒,
  說關注的筆記本電腦本周已經到貨,興致高了起來,
  就打開 GoogleLocal(
http://local.google.com/ ) 想了解一下本地還有沒有其他的這方面信息的,
  接著用 Froogle(
http://froogle.google.com/ ) 做了購物之前的對比,
  對比完之后覺得這家店的商品不錯,買了。
  有了新的就扔舊的,男人的本色體現。要處理掉舊的筆記本電腦也很方便,
  立馬到GoogleBase(
http://base.google.com/ ) 發布了相關信息,等待買家來臨。
  再到
https://adwords.google.com/select/ 查看所售產品的買家。
  要生活就得工作,工作就是做一家網站,
  當然啦,說得好聽點叫"事業",男人嘛,都是有點虛榮心的。
  網站使用的是GooglePages(
http://pages.google.com/ )
  提供的主機空間,每天用sitemap(
https://www.google.com/webmasters/sitemaps/ )
  向Google提交更新信息。作這個可不是活雷鋒,做網站做的是生意。
  想查詢一下昨天GoogleAdsense(
http://www.google.com/adsense ) 的收入多少,
  因為它是收入來源阿,呵呵,還不錯呢。
  接著用GoogleAnalytics(
http://www.google.com/analytics ) 查看了一下今日網站的訪問情況,
  順便思考了一下網站的定位和今后的發展方向。
  覺得每天自己都要 用GoogleAnalytics分析很麻煩,寫個程序自己分析多好,
  于是到
http://code.google.com/ 下載開發包開發一個小程序掛在google桌面欄( http://deskbar.google.com/ )上,
  到google的web API( http://www.google.com/apis ) 看google共來了哪些API函數可以調用。
  折騰了大半天也累了想慰勞一下自己,于是就到GoogleBookSearch(
http://books.google.com/ ) 和GoogleVideo( http://video.google.com/ )
Google音樂(
http://www.google.com/musicsearch )找了一些書和視頻來看。發現一部電影不錯,于是用
GoogleMovieShowtimes(
http://google.com/movies )搜索它在本市的上映時間。
  正在優哉游哉的時候,GoogleTalk上有個朋友幫忙找一些論文方面的資料,
  為避免影響自己看電影,趕緊讓這個"懶人"使用GoogleScholar(
http://scholar.google.com/ )。
  原來這部電影現在正在上映中,興奮不已,恨不得立馬殺進電影院。
  可是,可是,電影院在哪里呢?用GoogleMaps(
http://maps.google.com/ )查詢到電影院的具體位置后,
  想叫個出租車直接去電影院,于是使用GoogleRidefinder(
http://labs.google.com/ridefinder )
  找到出租車信息,很快就坐在電影院里了。看電影時覺得有個演員看著眼熟,
  于是拿起手機,用GoogleMobile(
http://mobile.google.com/ )
  搜索關于他的信息,然后用GoogleSMS(
http://sms.google.com/ )訂閱。
  看完電影已經是深夜,回到家里,突然想起該計劃一下下月的歐洲度假了,
  上Google地球(
http://earth.google.com/ ),看一下國家地貌,
  用Google旅行計劃者 (
http://www.google.com/transit )看一下旅游地的設施分布,下榻賓館。


konhon 優華 2006-07-10 19:32 發表評論
]]>
使用高效的日志工具—Log4J http://www.tkk7.com/konhon/archive/2006/05/30/49099.htmlkonhon 優華konhon 優華Tue, 30 May 2006 12:17:00 GMThttp://www.tkk7.com/konhon/archive/2006/05/30/49099.htmlhttp://www.tkk7.com/konhon/comments/49099.htmlhttp://www.tkk7.com/konhon/archive/2006/05/30/49099.html#Feedback0http://www.tkk7.com/konhon/comments/commentRss/49099.htmlhttp://www.tkk7.com/konhon/services/trackbacks/49099.html作者:趙科 發文時間:2002.11.13 09:52:21

大家在編程時經常不可避免地要使用到一些日志操作,比如開發階段的調試信息、運行時的日志記錄及審計。調查顯示,日志代碼占代碼總量的4%。通常大家可以簡單地使用System.out.println()語句輸出日志信息,但是往往會有一些判斷,比如:

if (someCondition) {
System.out.println("some information.");
}



這些判斷造成正常的程序邏輯中混雜了大量的輸出語句。而在開發階段寫下的這些判斷僅為了調試的語句,在開發完成時需要查找并移除。部署運行后,尤其是在一些企業應用系統中,還經常需要進一步調試,這時就遇到了更大的麻煩。所以,我們需要一套完備的、靈活的、可配置的日志工具。Log4J就是優秀的選擇。

Log4J是Apache軟件基金會Jakarta項目下的一個子項目,是用Java編寫的優秀日志工具包。通過Log4J可以在不修改代碼的情況下,方便、靈活地控制任意粒度的日志信息的開啟或關閉,然后使用定制的格式,把日志信息輸出到一個或多個需要的地方。并且,Log4J還有一條平滑的學習曲線,在三分鐘內就可學會它的簡單使用。隨著使用深入,你會發現Log4J功能的強大,幾乎可以滿足日志方面的所有需要。


快速入門


先看一段代碼,看看Log4J是多么易于上手,代碼如下:

package org.javaresearch.log4j;
import org.apache.log4j.*;
public class TestLog4J {
static Logger log = Logger.getLogger(TestLog4J.class.getName());
public static void main(String args[]) {
??BasicConfigurator.configure();
??// logging的各種方法
??cat.debug("Start of main()");
??cat.info("Just testing a log message with priority set to INFO");
??cat.warn("Just testing a log message with priority set to WARN");
??cat.error("Just testing a log message with priority set to ERROR");
??cat.fatal("Just testing a log message with priority set to FATAL");
??// 另一種不方便的格式
??cat.log(Priority.DEBUG, "Testing a log message use a alternate form");
??log.debug("End of main().");
}
}



把這段代碼保存在一個目錄下,編譯運行(注意要把log4j-1.2.7.jar包含入類路徑中),程序輸出如下:

0 [main] DEBUG TestLog4J??- Start of main()
10 [main] INFO TestLog4J??- Just testing a log message with priority set to INFO
20 [main] WARN TestLog4J??- Just testing a log message with priority set to WARN
30 [main] ERROR TestLog4J??- Just testing a log message with priority set to ERROR
30 [main] FATAL TestLog4J??- Just testing a log message with priority set to FATAL
40 [main] DEBUG TestLog4J??- Testing a log message use a alternate form
50 [main] DEBUG TestLog4J??- End of main().



首先解釋一下上面輸出結果的意義。第一個數字是指程序開始運行到運行該日志語句所經歷的毫秒數(用來做一點運行效率分析也不錯),“[main]”是日志事件發生的線程,隨后的“DEBUG”、“INFO”等信息是相應日志信息的優先級別,“TestLog4”是當前Logger的實例名,最后是日志信息。

在這段程序中,使用了Log4J提供的一個基本配置類BasicConfigurator對Log4J進行初始化。但在實際使用時通常不這么做,因為這多少有點“硬”編碼。今后如果要修改Log4J的配置,就需要修改、重新編譯代碼,這通常不是大家所希望的。通常,我們都提供一個名為log4j.properties的文件,在第一次調用到Log4J時,Log4J會在類路徑中定位這個文件,并讀入這個文件完成的配置。這個配置文件告訴Log4J以什么樣的格式、把什么樣的信息、輸出到什么地方。我們來看一個簡單的log4j.properties配置文件的示例,代碼如下:

log4j.rootLogger=DEBUG, A1
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern= "%-4r [%t] %-5p %c %x - %m%n



把上面的內容存儲為log4j.properties,并放到和TestLog4J.class同一目錄下(當然也可以放到其它任何目錄,只要該目錄被包含到類路徑中即可)。具體這些配置文件中每行的意義,在以后章節會有詳細的說明,現在可以先跳過。現在你可以注釋掉上面程序中的“BasicConfigurator. configure();”語句,然后使用log4j.properties屬性文件完成Log4J的配置,重新編譯、運行,就得到和上面一樣的結果。

這樣做有什么好處呢?現在就初步領略一些Log4J的靈活、強大功能。比如系統要上線了,希望輸出一些警告和錯誤信息,這時僅需要修改log4j.properties文件中的“log4j.rootCategory=DEBUG, A1”即可,然后設置日志輸出的最低級別是WARN,設置為“log4j.root Category=WARN, A1”。此時不需要修改任何代碼,重新運行系統,輸出結果就變成了:

20 [main] WARN TestLog4J??- Just testing a log message with priority set to WARN
30 [main] ERROR TestLog4J??- Just testing a log message with priority set to ERROR
30 [main] FATAL TestLog4J??- Just testing a log message with priority set to FATAL




原理分析


Log4J有三個主要部件,它們是記錄器(Loggers)、輸出源(Appenders)和布局(Logouts)。記錄器按照布局中指定的格式把日志信息寫入一個或多個輸出源。輸出源可以是控制臺、文本文件、XML文件或Socket,甚至還可以把信息寫入到Windows事件日志或通過電子郵件發送,這都需要相應的類來處理,這些相關的類是ConsoleAppender、FileAppender、SocketAppender、NtEventLogAppender和JMSAppender。

記錄器(Logger)

首先讓我們看Logger類,代碼如下:

package org.apache.log4j;
public class Logger {
//創建和恢復方法
public static Logger getRootLogger();
public static Logger getLogger(String name);
public static Logger getLogger(Class clazz);
// 打印方法
public void debug(Object message);
public void info(Object message);
public void warn(Object message);
public void error(Object message);
public void fatal(Object message);
// 常用打印方法
public void log(Level l, Object message);
}



從這段代碼中可以看出Logger的基本使用。首先需要獲取一個Logger對象,獲取Logger對象的語句為:

Logger logger = Logger.getLogger(JavaLoggingExample.class.getName());



有了這個Logger對象,就可以在需要的地方方便地輸出日志信息。對于這些信息是否輸出、輸出的格式等,都可以通過配置文件方便地配置,而不需要修改代碼,這就是Log4J帶來的方便之處。

記錄器的層次結構

使用Log4J的Logger.getLogger()方法時會得到一個Logger的實例。如果一個應用中包含了上千個類,那么也幾乎需要上千個Logger實例。如何對這上千個Logger實例進行方便地配置,就是一個很重要的問題。Log4J采用了一種樹狀的繼承層次巧妙地解決了這個問題。在Log4J中Logger是具有層次關系的。它有一個共同的根,位于最上層,其它Logger遵循類似包的層次,比如:

static Logger root = Logger.getRootLogger();
static Logger log1 = Logger.getLogger("org");
static Logger log2 = Logger.getLogger("org.javaresearch");
static Logger log3 = Logger.getLogger("org.javaresearch.log4j.TestLog4J");



上面代碼中,log1是log2的父親,是log3的祖先,而root是所有log1、log2、log3的祖先,它們都從root中繼承。所以,一般情況下,僅需要配置好rootLogger,其它子記錄器都會從中繼承rootLogger的配置。如果修改了rootLogger的配置,其它所有的子記錄器也會繼承這種變化。這樣就大大地方便了配置。現在回頭看看在“快速入門”中的配置文件,我們僅配置了rootLogger,就可以控制所有的Logger的行為。

級別(Level)

Log4J中的一個核心概念是日志級別是有序的。Log4J內置了5種日志級別為:

DEBUG??<??INFO??<??WARN??<??ERROR??<??FATAL



右邊的級別比左邊的高。每一個Logger實例都有一個日志級別,上面的5種輸出方法就是對應于5種不同級別的日志請求。比如,如果c是一個Logger實例,c.info("some information")就是一個INFO級別的日志請求。一個日志請求會不會輸出,取決于該Logger實例的日志級別和該日志請求級別的比較。規則如下:

假如在一個級別為p的Logger實例中發生一個級別為q的日志請求,則當q >= p時請求才會啟用。

我們先來看實例2代碼如下:

// 得到一個logger 實例 "com.foo"
Logger??logger = Logger.getLogger("com.foo")
// 現在設置logger的級別,但正常情況是不需要刻意設置lgger級別的,因為它已經在配置文件中完成了
logger.setLevel(Level.INFO);
Logger barlogger = Logger.getLogger("com.foo.Bar");
//因為 WARN >= INFO,這個請求是可以實現的
logger.warn("Low fuel level.");
// 因為DEBUG < INFO,所以這個請求是無法實現的
logger.debug("Starting search for nearest gas station.");
// logger實例"com.foo.Bar"將從"com.foo"繼承級別,這樣,因為INFO >=
INFO,所以可以實現下面的請求
barlogger.info("Located nearest gas station.");
//因為DEBUG < INFO,這個請求是不能實現的
barlogger.debug("Exiting gas station search");



布局(Layout)

Log4J采用類似C語言中的printf函數的打印格式格式化日志信息,打印參數見表1如下:


%m 輸出代碼中指定的消息
%p 輸出優先級,即DEBUG,INFO,WARN,ERROR,FATAL
%r 輸出自應用啟動到輸出該log信息耗費的毫秒數
%c 輸出所屬的類目,通常就是所在類的全名
%t 輸出產生該日志事件的線程名
%n 輸出一個回車換行符,Windows平臺為“\r\n”,Unix平臺為“\n”
%d 輸出日志時間點的日期或時間,默認格式為ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},輸出類似:2002年10月18日 22:10:28,921
%l 輸出日志事件的發生位置,包括類目名、發生的線程,以及在代碼中的行數。舉例:Testlog4.main(TestLog4.java:10)


使用高效的日志工具—Log4J (2)??
作者:趙科 發文時間:2002.11.13 09:52:21

基本應用
Log4J的配置

現在來看log4j.properties配置文件的意義。第一行指定了根Logger的級別是DEBUG,并將此指定輸出到A1。A1就是第二行定義的org.apache.log4j.ConsoleAppender,此行表示將A1輸出到控制臺。第三行規定了輸出到A1的格式為org.apache.log4j.PatternLayout。第四行規定了輸出到A1格式的轉換模式為org.javaresearch.log4j.TestLog4J。

很多成熟的服務器類的軟件日志信息會輸出到控制臺,同時輸出到日志文件備查。使用Log4J可以在不改變任何代碼的情況下,僅通過修改配置文件就可以輕松地完成這項功能。相關配置文件如下:


#### Use two appenders, one to log to console, another to log to a file
log4j.rootCategory=debug, stdout, R

# Print only messages of priority WARN or higher for your category
log4j.category.your.category.name=WARN

#### First appender writes to console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

# Pattern to output the caller&#39;s file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n

#### Second appender writes to a file
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=example.log

# Control the maximum log file size
log4j.appender.R.MaxFileSize=100KB
# Archive log files (one backup file here)
log4j.appender.R.MaxBackupIndex=1

log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n




這個配置文件指定了兩個輸出源stdout和R。前者把日志信息輸出到控制臺,后者是一個輪轉日志文件。最大的文件是100KB,當一個日志文件達到最大尺寸時,Log4J會自動把example.log重命名為example.log.1,然后重建一個新的example.log文件,依次輪轉。

在Web應用中使用

在Web應用中,應該在哪兒對Log4J進行配置呢?首先要明確,Log4J必須在應用的其它代碼執行前完成初始化。因為Servlet是在Web服務器啟動時立即裝入的,所以,在Web應用中一般使用一個專門的Servlet來完成Log4J的配置,并保證在web.xml的配置中,這個Servlet位于其它Servlet之前。下面是一個例子,代碼如下:


package org.javaresearch.log4j;
import java.io.*;
import javax.servlet.*;
import org.apache.log4j.*;
public class Log4JInit extends HttpServlet {
public void init() throws ServletException {
??String prefix = getServletContext().getRealPath("/");
??String file = getServletConfig().getInitParameter("log4j-config-file");
??// 從Servlet參數讀取log4j的配置文件
??if (file != null) {
?? PropertyConfigurator.configure(prefix + file);
??}
}
public void doGet(HttpServletRequest request,HttpServletResponse response)throws
IOException, ServletException {}
public void doPost(HttpServletRequest request,HttpServletResponse response)throws
IOException, ServletException {}
}





<servlet>
??<servlet-name>log4jinit</servlet-name>
?? <servlet-class>org.javaresearch. log4j.Log4JInit</servlet-class>??????????????????
?? <init-param>
?? <param-name> log4j-config-file </param-name>
????????<param-value>/properties/log4j.properties</param-value>
?? </init-param>
?? <load-on-startup>1</load-on-startup>
??</servlet>




注意:上面的load-on-startup應設為1,以便在Web容器啟動時即裝入該Servlet。log4j.properties文件放在根的properties子目錄中,也可以把它放在其它目錄中。應該把.properties文件集中存放,這樣方便管理。


高級話題


性能

在記錄一些日志信息時,會一定程度地影響系統的運行效率,這時日志工具是否高效就是一個關鍵。Log4J的首要設計目標就是高效,一些關鍵組件都重寫過很多次以不斷提高性能。根據Log4J項目小組的報告,在AMD Duron 800MHz + JDK1.3.1的環境下,Log4J判斷一條日志語句是否需要輸出僅需要5納秒。實際的日志語句執行的也非常快速,從使用SimpleLayout的21微秒(幾乎與System.out.println一樣快),到使用TTCCLayout的37微秒不等。

嵌套診斷環境NDC

在多用戶并發的環境下,通常是由不同的線程分別處理不同的客戶端請求。此時要在日志信息中區分出不同的客戶端,你可以為每一個線程生成一個Logger,從而從一堆日志信息中區分出哪些信息是屬于哪個線程的,但這種方式并不高效。Log4J巧妙地使用了Neil Harrison提出的“NDC(嵌套診斷環境)”機制來解決這個問題。Log4J為同一類別的線程生成一個Logger,多個線程共享使用,而它僅在日志信息中添加能夠區分不同線程的信息。NDC是什么?舉例來說,如果一個Servlet接到并發請求時,為每一個客戶端創建一個新的線程,然后分配一個用于保存該請求上下文的NDC堆棧。該上下文可能是發出請求的主機名、IP地址或其它任何可以用于標識該請求的信息。這樣,由于不同的客戶端處理線程具有不同的NDC堆棧,即使這個Servlet同時生成多個線程處理不同的請求,這些日志信息仍然可以區分出來,就好像Log4J為每一個線程都單獨生成了一個Logger實例一樣。在Log4J中是通過org.apache.log4j.NDC實現這種機制的。使用NDC的方法也很簡單,步驟如下:

1. 在進入一個環境時調用NDC.push(String),然后創建一個NDC;

2. 所做的日志操作輸出中包括了NDC的信息;

3. 離開該環境時調用NDC.pop方法;

4. 當從一個線程中退出時調用NDC.remove方法,以便釋放資源。

下面是一個模擬記錄來自不同客戶端請求事件的例子,代碼如下:

import org.apache.log4j.Logger;
import org.apache.log4j.NDC;
public class TestNDC {
static Logger log = Logger.getLogger(TestNDC.class.getName());
public static void main(String[] args) {
??log.info("Make sure %x is in your layout pattern!");
??// 從客戶端獲得IP地址的例子
??String[] ips = {"192.168.0.10","192.168.0.27"};
??for (int i = 0; i<ips.length ; i++)??// 模擬一個運行方法
??{
?? // 將IP放進 NDC中
?? NDC.push(ips[i]);
?? log.info("A NEW client connected, who&#39;s ip should appear in this log message.");
?? NDC.pop();
??}
??NDC.remove();
??log.info("Finished.");
}
}



注意配置文件中的布局格式中一定要加上%x。系統輸出如下:

INFO?? - Make sure %x is in your layout pattern!
INFO??192.168.0.10 - A NEW client connected, who&#39;s ip should appear in this log
message.
INFO??192.168.0.27 - A NEW client connected, who&#39;s ip should appear in this log
message.
INFO?? - Finished.



使用Log4J還是JDK logging API

從JDK 1.4.0開始,引入了java.util.logging包。雖然Log4J小組曾竭力游說JCP(Java Community Process)采用Log4J作為JDK 1.4的“標準”日志API,雖然最終因Sun的日志API規范的負責人Graham Hamilton的一句“Merlin的開發已經到了最后階段,這時不允許再對主要API做出改變”而沒有被采納,但Log4J還是對新的日志API產生了重要影響。那么,我們到底應該采用Log4J還是java.util.logging包呢?下面僅對兩者做一簡單的比較。

1. Log4J更加成熟,從1999年10月開始至今已經有3年的時間,并且已經在許多項目中有著成熟的應用。而JDK中的logging包是在1.4之后才引入的,并且不能運行于JDK 1.3之前的版本。Log4J則可以良好地運行于JDK 1.1之后的所有版本。

2. Log4J已經被移植到多種環境下,包括log4c(C)、log4cpp(C++)、log4perl(Perl)、log4net(.net)等。在這些環境下,可以感受到幾乎一致的配置和使用方式。這是JDK中的logging API所不能比擬的。

3. Log4J還具有更加強力的格式化系統,可以使記錄輸出時實現簡單的模式。但是,它不會增加類而導致格式化工具的擴展。眾多的附加程序和處理器使得Log4J數據包成為一個絕佳的選擇,所有你所需要的都可能加以實現。

4. Log4J在性能上做了最大的優化。

Logging API對于簡單的使用是足夠的,但它缺少了許多Log4J所具有的功能。所以,如果你需要一個強力的logging機制,就應堅持使用Log4J;而如果只是需要一些簡單的控制或文件記錄,那么可以使用已經內建在JDK之中的logging API。

雖然Log4J和JDK logging API是一種競爭關系,但在logging API還在JCP中討論(JSR47)時,兩者之間就已經開始相互影響了。

FAQ

1. 如何讓Log4J使用指定的配置文件

在啟動你的應用時植入系統屬性。例如,可以把上面的log4j.properties文件放到\properties的相對路徑下,并改名為log.properties,此時如果讓Log4J能夠找到這個配置文件并正確地初始化,需要這樣運行程序:

D:\..\java -Dlog4j.configuration=. \properties\log.properties YourAppName



為什么一定要使用系統屬性,而不在配置文件中指定呢?很顯然,如果把它寫入配置文件,那么,Log4J讀到它時已經遲了。

2. 如何查看到Log4J的配置過程

可以類似1中的那樣,設置系統屬性log4j.debug=true,從而打開Log4J的Verbose模式,此時會輸出Log4J的初始化過程,這樣就會對Log4J的啟動有一個更詳細的了解。下面是Log4J啟動信息的一個示例:

log4j: Trying to find [log4j.xml] using context classloader
sun.misc.Launcher$AppClassLoader@92e78c.
log4j: Trying to find [log4j.xml] using sun.misc.Launcher$ExtClassLoader@9fbe93class
loader.
log4j: Trying to find [log4j.xml] using ClassLoader.getSystemResource().
log4j: Trying to find [log4j.properties] using context classloader
sun.misc.Launcher$AppClassLoader@92e78c.
log4j: Using URL [file:/D:/java/logging/src/log4j.properties] for automatic log4j
configuration.
log4j: Reading configuration from URL file:/E:/java/logging/src/log4j.properties
log4j: Parsing for [root] with value=[DEBUG, A1].
log4j: Level token is [DEBUG].
log4j: Category root set to DEBUG
log4j: Parsing appender named "A1".
log4j: Parsing layout options for "A1".
log4j: Setting property [conversionPattern] to [%d %l %-5p %c [%t] - %m%n].
log4j: End of parsing for "A1".
log4j: Parsed "A1" options.
log4j: Finished configuring.
......??// 下面就是應用的日志信息,省略。


konhon 優華 2006-05-30 20:17 發表評論
]]>
40種網頁常用小技巧(JavaScript) http://www.tkk7.com/konhon/archive/2006/03/31/38488.htmlkonhon 優華konhon 優華Fri, 31 Mar 2006 07:42:00 GMThttp://www.tkk7.com/konhon/archive/2006/03/31/38488.htmlhttp://www.tkk7.com/konhon/comments/38488.htmlhttp://www.tkk7.com/konhon/archive/2006/03/31/38488.html#Feedback0http://www.tkk7.com/konhon/comments/commentRss/38488.htmlhttp://www.tkk7.com/konhon/services/trackbacks/38488.html<table border oncontextmenu=return(false)><td>no</table> 可用于Table

2. <body onselectstart="return false"> 取消選取、防止復制

3. onpaste="return false" 不準粘貼

4. oncopy="return false;" oncut="return false;" 防止復制

5. <link rel="Shortcut Icon" href="favicon.ico"> IE地址欄前換成自己的圖標

6. <link rel="Bookmark" href="favicon.ico"> 可以在收藏夾中顯示出你的圖標

7. <input style="ime-mode:disabled"> 關閉輸入法

8. 永遠都會帶著框架
<script language="JavaScript"><!--
if (window == top)top.location.href = "frames.htm"; //frames.htm為框架網頁
// --></script>

9. 防止被人frame
<SCRIPT LANGUAGE=JAVASCRIPT><!--
if (top.location != self.location)top.location=self.location;
// --></SCRIPT>

10. 網頁將不能被另存為
<noscript><iframe src=*.html></iframe></noscript>

11. <input type=button value=查看網頁源代碼
onclick="window.location = "view-source:"+ "http://www.pconline.com.cn"">

12.刪除時確認
<a href="javascript:if(confirm("確實要刪除嗎?"))location="boos.asp?&areyou=刪除&page=1"">刪除</a>

13. 取得控件的絕對位置
//Javascript
<script language="Javascript">
function getIE(e){
var t=e.offsetTop;
var l=e.offsetLeft;
while(e=e.offsetParent){
t+=e.offsetTop;
l+=e.offsetLeft;
}
alert("top="+t+"/nleft="+l);
}
</script>

//VBScript
<script language="VBScript"><!--
function getIE()
dim t,l,a,b
set a=document.all.img1
t=document.all.img1.offsetTop
l=document.all.img1.offsetLeft
while a.tagName<>"BODY"
set a = a.offsetParent
t=t+a.offsetTop
l=l+a.offsetLeft
wend
msgbox "top="&t&chr(13)&"left="&l,64,"得到控件的位置"
end function
--></script>

14. 光標是停在文本框文字的最后
<script language="javascript">
function cc()
{
var e = event.srcElement;
var r =e.createTextRange();
r.moveStart("character",e.value.length);
r.collapse(true);
r.select();
}
</script>
<input type=text name=text1 value="123" onfocus="cc()">

15. 判斷上一頁的來源
javascript:
document.referrer

16. 最小化、最大化、關閉窗口
<object id=hh1 classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">
<param name="Command" value="Minimize"></object>
<object id=hh2 classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">
<param name="Command" value="Maximize"></object>
<OBJECT id=hh3 classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">
<PARAM NAME="Command" VALUE="Close"></OBJECT>
<input type=button value=最小化 onclick=hh1.Click()>
<input type=button value=最大化 onclick=hh2.Click()>
<input type=button value=關閉 onclick=hh3.Click()>
本例適用于IE

17.屏蔽功能鍵Shift,Alt,Ctrl
<script>
function look(){
if(event.shiftKey)
alert("禁止按Shift鍵!"); //可以換成ALT CTRL
}
document.onkeydown=look;
</script>

18. 網頁不會被緩存
<META HTTP-EQUIV="pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">
<META HTTP-EQUIV="expires" CONTENT="Wed, 26 Feb 1997 08:21:57 GMT">
或者<META HTTP-EQUIV="expires" CONTENT="0">

19.怎樣讓表單沒有凹凸感?
<input type=text style="border:1 solid #000000">

<input type=text style="border-left:none; border-right:none; border-top:none; border-bottom:

1 solid #000000"></textarea>

20.<div><span>&<layer>的區別?
<div>(division)用來定義大段的頁面元素,會產生轉行
<span>用來定義同一行內的元素,跟<div>的唯一區別是不產生轉行
<layer>是ns的標記,ie不支持,相當于<div>

21.讓彈出窗口總是在最上面:
<body onblur="this.focus();">

22.不要滾動條?
讓豎條沒有:
<body style="overflow:scroll;overflow-y:hidden">
</body>
讓橫條沒有:
<body style="overflow:scroll;overflow-x:hidden">
</body>
兩個都去掉?更簡單了
<body scroll="no">
</body>

23.怎樣去掉圖片鏈接點擊后,圖片周圍的虛線?
<a href="#" onFocus="this.blur()"><img src="logo.jpg" border=0></a>

24.電子郵件處理提交表單
<form name="form1" method="post" action="mailto:****@***.com" enctype="text/plain">
<input type=submit>
</form>

25.在打開的子窗口刷新父窗口的代碼里如何寫?
window.opener.location.reload()

26.如何設定打開頁面的大小
<body onload="top.resizeTo(300,200);">
打開頁面的位置<body onload="top.moveBy(300,200);">

27.在頁面中如何加入不是滿鋪的背景圖片,拉動頁面時背景圖不動
<STYLE>
body
{background-image:url(logo.gif); background-repeat:no-repeat;
background-position:center;background-attachment: fixed}
</STYLE>

28. 檢查一段字符串是否全由數字組成
<script language="Javascript"><!--
function checkNum(str){return str.match(//D/)==null}
alert(checkNum("1232142141"))
alert(checkNum("123214214a1"))
// --></script>

29. 獲得一個窗口的大小
document.body.clientWidth; document.body.clientHeight

30. 怎么判斷是否是字符
if (/[^/x00-/xff]/g.test(s)) alert("含有漢字");
else alert("全是字符");

31.TEXTAREA自適應文字行數的多少
<textarea rows=1 name=s1 cols=27 onpropertychange="this.style.posHeight=this.scrollHeight">
</textarea>
32. 日期減去天數等于第二個日期
<script language=Javascript>
function cc(dd,dadd)
{
//可以加上錯誤處理
var a = new Date(dd)
a = a.valueOf()
a = a - dadd * 24 * 60 * 60 * 1000
a = new Date(a)
alert(a.getFullYear() + "年" + (a.getMonth() + 1) + "月" + a.getDate() + "日")
}
cc("12/23/2002",2)
</script>

33. 選擇了哪一個Radio
<HTML><script language="vbscript">
function checkme()
for each ob in radio1
if ob.checked then window.alert ob.value
next
end function
</script><BODY>
<INPUT name="radio1" type="radio" value="style" checked>Style
<INPUT name="radio1" type="radio" value="barcode">Barcode
<INPUT type="button" value="check" onclick="checkme()">
</BODY></HTML>

34.腳本永不出錯
<SCRIPT LANGUAGE="JavaScript">
<!-- Hide
function killErrors() {
return true;
}
window.onerror = killErrors;
// -->
</SCRIPT>

35.ENTER鍵可以讓光標移到下一個輸入框
<input onkeydown="if(event.keyCode==13)event.keyCode=9">

36. 檢測某個網站的鏈接速度:
把如下代碼加入<body>區域中:
<script language=Javascript>
tim=1
setInterval("tim++",100)
b=1
var autourl=new Array()
autourl[1]="www.njcatv.net"
autourl[2]="javacool.3322.net"
autourl[3]="www.sina.com.cn"
autourl[4]="www.nuaa.edu.cn"
autourl[5]="www.cctv.com"
function butt(){
document.write("<form name=autof>")
for(var i=1;i<autourl.length;i++)
document.write("<input type=text name=txt"+i+" size=10 value=測試中……> =》<input type=text
name=url"+i+" size=40> =》<input type=button value=GO

onclick=window.open(this.form.url"+i+".value)><br>")
document.write("<input type=submit value=刷新></form>")
}
butt()
function auto(url){
document.forms[0]["url"+b].value=url
if(tim>200)
{document.forms[0]["txt"+b].value="鏈接超時"}
else
{document.forms[0]["txt"+b].value="時間"+tim/10+"秒"}
b++
}
function run(){for(var i=1;i<autourl.length;i++)document.write("<img src=http://"+autourl+"/"+Math.random()+" width=1 height=1

onerror=auto("http://"+autourl+"")>")}
run()</script>

37. 各種樣式的光標
auto :標準光標
default :標準箭頭
hand :手形光標
wait :等待光標
text :I形光標
vertical-text :水平I形光標
no-drop :不可拖動光標
not-allowed :無效光標
help :?幫助光標
all-scroll :三角方向標
move :移動標
crosshair :十字標
e-resize
n-resize
nw-resize
w-resize
s-resize
se-resize
sw-resize

38.頁面進入和退出的特效
進入頁面<meta http-equiv="Page-Enter" content="revealTrans(duration=x, transition=y)">
推出頁面<meta http-equiv="Page-Exit" content="revealTrans(duration=x, transition=y)">
這個是頁面被載入和調出時的一些特效。duration表示特效的持續時間,以秒為單位。transition表示使用哪種特效,取值為1-23:
  0 矩形縮小
  1 矩形擴大
  2 圓形縮小
  3 圓形擴大
  4 下到上刷新
  5 上到下刷新
  6 左到右刷新
  7 右到左刷新
  8 豎百葉窗
  9 橫百葉窗
  10 錯位橫百葉窗
  11 錯位豎百葉窗
  12 點擴散
  13 左右到中間刷新
  14 中間到左右刷新
  15 中間到上下
  16 上下到中間
  17 右下到左上
  18 右上到左下
  19 左上到右下
  20 左下到右上
  21 橫條
  22 豎條
  23 以上22種隨機選擇一種

39.在規定時間內跳轉
<META http-equiv=V="REFRESH" content="5;URL=http://www.51js.com">

40.網頁是否被檢索
<meta name="ROBOTS" content="屬性值">
  其中屬性值有以下一些:
  屬性值為"all": 文件將被檢索,且頁上鏈接可被查詢;
  屬性值為"none": 文件不被檢索,而且不查詢頁上的鏈接;
  屬性值為"index": 文件將被檢索;
  屬性值為"follow": 查詢頁上的鏈接;
  屬性值為"noindex": 文件不檢索,但可被查詢鏈接;
  屬性值為"nofollow": 文件不被檢索,但可查詢頁上的鏈接。


konhon 優華 2006-03-31 15:42 發表評論
]]>
EXCEL寫的函數http://www.tkk7.com/konhon/archive/2006/03/30/38202.htmlkonhon 優華konhon 優華Thu, 30 Mar 2006 02:10:00 GMThttp://www.tkk7.com/konhon/archive/2006/03/30/38202.htmlhttp://www.tkk7.com/konhon/comments/38202.htmlhttp://www.tkk7.com/konhon/archive/2006/03/30/38202.html#Feedback0http://www.tkk7.com/konhon/comments/commentRss/38202.htmlhttp://www.tkk7.com/konhon/services/trackbacks/38202.html// 將日期2005-02-30轉為"200502"
Function YearMonth(DateArg)
? Dim lYear, lMonth
? If DateArg = Null Or CStr(DateArg) = "" Then
??? YearMonth = ""
? Else
??? lYear = Year(DateArg)
??? lMonth = Month(DateArg)
??? YearMonth = CStr(lYear) + Right("0" + CStr(lMonth), 2)
? End If
End Function

// 將數字2030轉為"20:30"
Function ConvertToTime(Arg)
? Dim lHour, lMinute
? lHour = CStr(Left(Arg, 2))
? lMinute = CStr(Right(Arg, 2))
? If lHour > "24" Or lHour < "0" Or lMinute > "60" Or lMinute < "0" Then
??? ConvertToTime = ""
? Else
??? ConvertToTime = IIf(lHour = Null Or lHour = "", "", lHour + ":" + lMinute)
? End If
End Function

// 計算兩個時間的差
Function TimeDiff(BeginArg, EndArg)
? Dim lHour, lMinute
? lMinute = DateDiff("n", BeginArg, EndArg)
? lHour = Int(lMinute / 60)
? lMinute = lMinute - lHour * 60
? TimeDiff = CStr(lHour + lMinute / 60)
End Function

?



konhon 優華 2006-03-30 10:10 發表評論
]]>
著名黑客組織http://www.tkk7.com/konhon/archive/2005/12/23/25239.htmlkonhon 優華konhon 優華Fri, 23 Dec 2005 08:58:00 GMThttp://www.tkk7.com/konhon/archive/2005/12/23/25239.htmlhttp://www.tkk7.com/konhon/comments/25239.htmlhttp://www.tkk7.com/konhon/archive/2005/12/23/25239.html#Feedback0http://www.tkk7.com/konhon/comments/commentRss/25239.htmlhttp://www.tkk7.com/konhon/services/trackbacks/25239.html  先介紹零三年之前的組織。
  安全焦點
  http://www.xfocus.net/
  1999年8月26日由xundi創立,創始人還有quack和casper。后來stardust,isno,glacier,alert7,benjurry,blackhole,eyas,flashsky,funnywei,refdom,tombkeeper,watercloud,wollf等人也加入了近來。站點主頁風格一向是很簡單。而該組織目前已經成為國內最權威的信息安全站點,也是最接近世界的一個國內組織。
  目前國內一些技術性比較強的文章都由作者親自提交到該網站,而國內一些知名的技術屬一屬二的高手都會去這里的論壇。討論技術的氛圍還可以。而且一些網絡安全公司也關注這里的論壇。現在流行的著名掃描工具x-scan的作者就是該組織的成員。
  從2002年開始,每年都舉辦一次信息安全峰會,吸引了國內外眾多知名網絡安全專家關注參加。會議涉及眾多領域,備受關注。創造了良好的學術交流氛圍。在此祝愿這個組織越走越好。
  
  中國紅客聯盟(以解散)
  http://www.cnhonker.com/
  借這個機會要說明一下,只有這個紅客聯盟才配的上是真正的紅客聯盟,并不是因為他申請了什么專利,而是在大家的眼中,只有他才只真正的紅客聯盟。
  這個組織是由lion在2000年12月組建的。曾再2001年帶領眾多會員參與中美黑客大戰,而名震“江湖”。不過這個時代早已逝去,激情的往事也跟著逝去,留給人們的只有回憶。在2005年的最后一天,lion在主頁上宣布正式解散。或許很多人難以理解吧。不過這也自有人家的道理。現在外面有N個紅盟,我不屑于去關注他們。在此祝福lion,bkbll等人。對sharpwinner我就懶的說什么了。
  
  中國鷹派
  http://www.chinawill.com/
  與紅客聯盟一樣,都是2000年末創立,并且在2001年參與了中美黑客大戰。站長萬濤也是早期的綠色兵團成員。并且也參與了在2000年前的幾次網絡戰爭。至盡這個組織依然沒有倒下。近幾年中并沒有什么大的事件發生。所以很多人對他都已經沒有了什么印象。希望他們越走越好。
  
  邪惡八進制
  http://www.eviloctal.com/
  2002年由冰血封情創立,當時是以小組模式運營的,而發展到現在已經成為一個30多人的信息安全團隊。主頁做的很簡單,但論壇內容非常豐富,涉及領域眾多,在下經常去那里下載學術資料,論壇管理的是我所見過的論壇中最好的。而且討論氛圍也很不錯。鄙人與那里的幾個核心成員有所接觸,都是比較熱心的,而且技術都是比較強的。祝愿這個組織越辦越好。我對這個團隊的發展充滿期望。
  
  幻影旅團
  http://www.ph4nt0m.org/
  2001年創立,發展到現在組織成員已經達到20人,近期組織推出了WIKI平臺(http://www.secwiki.com),內容涉及無線網絡,病毒與反病毒,以及黑客技術等眾多領域。所有的朋友都可以到那里去涂鴉。2002年開放了論壇,目前論壇的技術討論氛圍還是可以的,而且熱心人也是很多的。相信這個組織也能走下去。
  
  白細胞(whitecell)
  http://www.whitecell.org/
  2001年創立的一個純技術交流站點。當時核心成員有sinister,無花果等人,都是國內著名的高手。在2002年后就關閉了,而最近它由回來了。主頁與論壇依然都很簡單。希望這次回歸會帶給大家新的氣象。
  
  中華安全網
  http://www.safechina.net/
  2001年4月創立,經過了幾次改版后,隊伍也發展的比較大,我所熟悉的有yellow,Phoenix等人。到現在,這個網站還在改版中,不過論壇依然開放,在這里還是有討論空間的。組織內的人技術也都是不錯的。希望這次改版后會有大的變化:)。
  
  第八軍團
  2000年左右由陳三公子組織成立,后經過多次改版。成為了一個VIP制的站點,資源收集量還是不錯的。鄙人經常去那里找代理服務器,更新的速度還是可以的。論壇里討論氣氛不是很熱烈。希望今后發展的會更好。
  
  
  
  來說說這兩年成立的黑客組織
  BCT
  http://www.cnbct.org/
  2004年底成立的一個專門挖掘腳本漏洞的組織。已經發展了一年了。在下與H4K_B4N,fpx到是有些接觸。感覺這個組織是不錯的,雖然沒有做什么影響力大的事情,但是這種默默研究技術的精神還是值得發揚的,與那些招搖的比,要好多了。網站上收集了一些漏洞資料,這點到是做的比較好。希望繼續努力,發展的越來越好。
  
  火狐技術聯盟
  http://www.wrsky.com/
  2004年建立的一個組織,致力于破解軟件的組織。對于他們組織現在很有爭議,也曾經一度遭受到猛烈的拒絕服務攻擊,造成網站癱瘓長大數月,到現在是一個論壇系統。對于這個組織,到目前為止還是有爭議。希望能早日平息。
  
  黑客技術
  http://www.hackart.org/
  2003年成立的組織,之前使用的是喬客的整站程序,后來就關閉了。也是最近重開的站點,使用的是論壇系統,在下與那里的版主風般的男人和Jambalaya 是好朋友。他們的技術還是不錯的。現在論壇人氣雖然不怎么高,但顯然是老站重開,知道的人還不多,希望日后可以恢復元氣,繼續發展下去。
  
  
  國內三大商業黑客站點。
  黑客基地
  http://www.hackbase.com/
  2003年成立。站長龍哥。
  
  黑鷹基地
  http://www.3800cc.com/
  由米特創立的商業黑客站點。
  
  華夏黑客同盟
  http://www.77169.com/
  2004年由怪狗創立的站點。
  
  其實黑客組織多的數不勝數,我也只是舉幾個著名的而已。
  下面來說說人物吧,現在的黑客越來越多,我重點介紹那些專著于系統與漏洞的高手,當然他們對入侵也是有所造詣的。注意,這并不是排名,不是第一個就是最厲害,而最后一個是這里面技術最差的,如果這樣想就錯了。
  因為有時候想著費勁所以就進入一下牛人的BLOG以及一些論壇去看,這樣就可以容易記起來,知道寫誰。
  先從這里找http://www.0x557.org/~kkqq/ 然后在從安全焦點的文章和論壇里還有綠盟去找。
  
  
  alert7
  QQ:415451
  email:alert7@xfocus.org
  http://blog.xfocus.net/index.php?blogId=12
  安全焦點核心成員,曾經在補天的。精通linux操作系統,對于linux下的漏洞很有研究。
  
  baozi(fatb)
  QQ:48448355
  http://blog.xfocus.net/index.php?blogId=3
  對windows與linux下的入侵很精通。
  
  CoolQ
  QQ:49462335
  http://coolq.blogdriver.com/coolq/index.html
  email:qufuping@ercist.iscas.ac.cn
  我也是在安全焦點05年的峰會上認識的他,是中科院軟件研究所的學生,對于linux非常有研究。在最后一期的Phrack雜志上有他的文章《Hacking Grub for fun and profit》也是在這期雜志中發表文章的三位中國人之一。另外著作還有《ways to hide files in ext2/3 filesystem》
  
  bkbll(dumplogin)
  email:bkbll@cnhonker.com
  http://blog.0x557.org/dumplogin/
  原中國紅客聯盟核心成員,與lion曾經一起參加過中美黑客大戰。對windows與linux都很有研究。著作有《POSIX子系統權限提升漏洞的分析》
  
  flashsky
  QQ:16202253
  email:flashsky@xfocus.org
  http://www.qjclub.net/blog/user1/497/index.html
  安全焦點核心成員。精通windows操作系統上的緩沖區溢出,當年就是他一連公布了微軟的N個漏洞,微軟就此還譴責過安全焦點。現就職于啟明星辰。
  
  Flier Lu
  email:flier@nsfocus.com
  http://flier_lu.blogcn.com/
  綠盟的高手,精通windows操作系統內核,著作有《MS.Net CLR擴展PE結構分》《自動驗證 Windows NT 系統服務描述表》《CLR 中代碼訪問安全檢測實現原理》等等。
  
  funnywei
  QQ:25044885
  email:funnywei@xfocus.org
  http://blog.xfocus.net/index.php?blogId=28
  安全焦點核心成員,熟悉windows操作系統。著作有《WindowsXpSp2溢出保護》
  
  glacier
  QQ:1937435
  email:glacier@xfocus.org
  http://blog.xfocus.net/index.php?blogId=15
  安全焦點核心成員,精通windows編程,網絡編程,delphi等等。是冰河木馬以及著名掃描軟件x-scan的作者。
  
  icbm
  email:icbm@0x557.org
  http://blog.0x557.org/icbm/
  精通linux操作系統內核以及漏洞。就職于啟明星辰。翻譯過文章《Building ptrace injecting shellcodes》是《淺析Linux內核漏洞》的作者。
  
  killer
  QQ:6362602
  email:killer@xfocus.org
  http://blog.xfocus.net/index.php?blogId=2
  安全焦點灌水區版主。精通逆向工程,程序破解。
  
  pjf
  QQ:85863144
  http://pjf.blogcn.com/
  著名的檢測工具icesword(冰刃)的作者。很多程序員以及編寫rootkit的高手以繞過它的檢測工具為目標。熟悉windows操作系統內核。
  
  refdom
  email:refdom@xfocus.org
  http://blog.xfocus.net/index.php?blogId=11
  安全焦點核心成員,《反垃圾郵件技術解析》的作者。似乎曾經是紅客聯盟的人。
  
  stardust
  QQ:6269692
  email:stardust@xfocus.org
  http://blog.xfocus.net/index.php?blogId=7
  安全焦點核心成員。熟悉linux,精通IDS。著作有《從漏洞及攻擊分析到NIDS規則設計》《Bro NIDS的規則》《Snort 2.x數據區搜索規則選項的改進》《Bro NIDS的安裝與配置》
  
  sunwear
  QQ:47347
  email:shellcoder@163.com
  http://blog.csdn.net/sunwear/
  邪惡八進制核心成員。精通windows操作系統內核。著作有《利用NTLDR進入RING0的方法及MGF病毒技術分析筆記》《淺析本機API》《智能ABC輸入法溢出分析》
  
  swan
  email:swan@xfocus.org
  http://blog.0x557.org/swan/
  對緩沖區溢出漏洞很有研究。最近的ms05051 Microsoft Windows DTC 漏洞的exploit作者就是他。
  
  tombkeeper
  QQ:644909
  http://blog.xfocus.net/index.php?blogId=9
  安全焦點核心成員。精通windows操作系統內核。著作有〈用Bochs調試NTLDR〉〈修改Windows SMB相關服務的默認端口〉等等。在焦點峰會上見到過他,很帥。
  
  watercloud
  http://blog.xfocus.net/index.php?blogId=6
  安全焦點核心成員。精通windows,linux操作系統。著作有〈手工打造微型Win32可執行文件〉〈溢出利用程序和編程語言大雜燴〉〈RSA算法基礎->實踐〉
  
  zwell
  email:suei8423@163.com
  http://blog.donews.com/zwell
  NB聯盟核心成員。精通windows操作系統,著作有〈安全穩定的實現進線程監控〉〈一種新的穿透防火墻的數據傳輸技術〉
  
  zzzevazzz
  QQ:49322630
  http://zzzevazzz.bokee.com/index.html
  幻影旅團核心成員。原灰色軌跡的人。精通windows操作系統內核。著作有〈Do All in Cmd Shell〉〈無驅動執行ring0代碼〉等等。
  
  小榕
  http://www.netxeyes.org
  流光,亂刀,溺雪及命令行SQL注入工具的作者。中國第二代黑客。
  
  lion
  QQ:21509
  email:lion@cnhonker.com
  http://www.cnhonker.com
  原中國紅客聯盟站長,對緩沖區溢出很有研究。精通linux.windows.
  
  isno
  QQ:1070681
  email:isno@xfocus.org
  安全焦點核心成員,精通緩沖區溢出漏洞。webdav溢出程序的作者。寫過IDQ,IDA漏洞溢出的分析等等。
  
  sinister
  QQ:3350124
  email:sinister@whitecell.org
  白細胞成員。精通windows內核,AIX。著作有〈NT 內核的進程調度分析筆記〉〈NT 下動態切換進程分析筆記〉〈AIX 內核的虛擬文件系統框架〉〈AIX 內核的文件操作流程〉
  
  袁哥
  email:yuange@nsfocus.com
  現就職于中聯綠盟公司。精通windows操作系統內核以及漏洞利用。
  
  warning3
  email:warning3@nsfocus.com
  msn:warning3@hotmail.com
  精通linux unix內核及漏洞。現就職于中聯綠盟公司。著作有〈Heap/BSS 溢出機理分析〉
  
  SoBeIt
  QQ:27324838
  email:kinvis@hotmail.com
  精通windows編程以及系統內核還有溢出。著作有《Windows內核調試器原理淺析》,《掛鉤Windows API》等等翻譯過《在NT系列操作系統里讓自己“消失”》
  
  xhacker
  QQ:66680800
  精通滲透入侵以及腳本入侵。著作有〈詳述虛擬網站的權限突破及防范〉,〈如何利用黑客技術跟蹤并分析一名目標人物〉
  
  eyas
  QQ:320236
  email:eyas@xfocus.org
  安全焦點核心成員,熟悉windows操作系統,windows編程。著作有《NT平臺撥號連接密碼恢復原理》,《WS_FTP FTPD STAT命令遠程溢出分析》
  
  孤獨劍客
  QQ:5385757
  email:Janker@Hackbase.Com
  Http://Www.Janker.Org
  精通編程。以及入侵技術。winshell的作者。中國第二代黑客。
  
  sunx
  QQ:239670
  http://www.sunx.org
  對溢出有研究,寫過IDA漏洞和printer漏洞的溢出程序。精通匯編。著作很多。
  
  analysist
  QQ:20116789
  精通數據庫與腳本入侵。早年對跨站腳本以及很多腳本漏洞很有研究。著作有《跨站腳本執行漏洞詳解》,《BBS2000和BBS3000所存在的安全隱患》
  
  Frankie
  http://cnns.net
  精通windows操作系統,與linux。中國第一代黑客。
  
  rootshell(fzk)
  QQ:1734398
  http://www.ns-one.com
  精通windows操作系統,熟悉緩沖區溢出漏洞。老一代的黑客。著作有〈最近發現的一個Distributed File System服務遠程溢出問題〉。
  
  PP
  QQ:82928
  精通windows操作系統。名言:如果想飛得高,就該把地平線忘掉。
  
  tianxing
  OICQ:911189
  網站:http://www.tianxing.org/
  精通windows操作系統與漏洞利用。RPC漏洞利用程序以及網絡刺客,網絡衛兵的作者。
  
  grip2
  QQ:1007270
  精通linux操作系統。著作有〈一個Linux病毒原型分析〉
  
  san
  QQ:56941
  精通windows操作系統以及linux。而且對windows CE很有研究。phrack最后一期的雜志中,刊登過他的文章。
  
  hume
  QQ:8709369
  精通匯編以及windows操作系統。著作有《SEH in ASM 的研究》
  
  backend
  email:backend@antionline.org
  精通linux操作系統。翻譯過很多文章,是綠盟的高手。不過已經幾年沒見在網絡上游走了。到是現實中偶爾看到他。
  
  Adam
  QQ:15898
  email:adam@nsfocus.com
  綠盟的高手,windows安全版版主。精通windows操作系統。
  
  ipxodi
  QQ:16175535
  email:ipxodi@nsfocus.com
  很長時間沒看見他了。精通windows操作系統以及緩沖區溢出。著作有〈window系統下的堆棧溢出〉〈Windows 2000緩沖區溢出入門〉。這些文章都是造福了很多后輩的。
  
  zer9
  QQ:573369
  email:zer9@21cn.com
  也是很長時間沒見到了。早期寫過不少文章和工具。也是老一輩的革命家。
  
  whg
  QQ:312016
  email:whg0001@163.com
  http://WWW.CNASM.COM
  不知道算不算白細胞的成員,呵呵。病毒高手。精通匯編。寫過不少軟件,例如lan下sniff QQ的工具以及sniff工具等等,可以到他的主頁上去看。
  
  lg_wu
  email:lgwu2000@sina.com
  在綠盟論壇和安全焦點都見過,對linux精通的很。技術不一般的說。
  
  wowocock
  QQ:37803144
  精通windows操作系統內核,匯編。在驅動開發網以及cvc 輕描淡寫見過,技術不一般。著作很多,但是見到的很少。不知道為什么這么好的文章沒人轉!
  
  baiyuanfan
  QQ:51449276
  這小子在峰會上給我的印象很深。在技術上很下工夫。對windows也算有研究了。著作當然是byshell了。
  
  vxk
  QQ:355852911
  匯編技術很硬,精通windows內核。經常在cvc論壇看到他。
  
  冰血封情
  QQ:124839278
  邪惡八進制的創始人。中國第四代黑客。感覺這個人很不錯。對他的組織比較認可。技術上面還可以。
  
  Polymorphours(shadow3)
  QQ:120974745
  白細胞成員。以前叫shadow3.好象換名字了。熟悉windows操作系統,以及緩沖區溢出。著作有〈MS05-010許可證記錄服務漏洞允許執行代碼的分析〉〈Media Player 8.0 vulnerability〉等等。
  
  e4gle
  QQ:1949479
  白細胞成員。老一代的黑客。精通linux系統內核以及病毒技術,緩沖區溢出。著作有〈程序攻擊原理〉〈Unix系統病毒概述〉〈高級緩沖溢出的使用〉
  
  bingle
  QQ:45671342
  很早就認識的一個兄弟了。著作不少,很多都很實用。
  
  wollf
  QQ:228095
  glacier的老婆。一定不能讓他知道我是誰,要不我就死定了。她是黑客 ;) 美女黑客!
  
  goodwell
  中國早期著名黑客組織-綠色兵團 創始人之一。
  
  yellow
  QQ:12398890
  中華安全網核心成員。熟悉緩沖區溢出與windows編程。
  
  江海客
  QQ:741534
  曾經參加某個會議的時候見過他,聊的還可以,后來在焦點峰會時又碰了面。此人是反病毒方面的高手。
  
  icmb
  啟明星辰linux方面的高手。對于漏洞方面很有研究。不帶眼睛更漂亮……

konhon 優華 2005-12-23 16:58 發表評論
]]>
shutdownhttp://www.tkk7.com/konhon/archive/2005/12/15/23972.htmlkonhon 優華konhon 優華Thu, 15 Dec 2005 01:05:00 GMThttp://www.tkk7.com/konhon/archive/2005/12/15/23972.htmlhttp://www.tkk7.com/konhon/comments/23972.htmlhttp://www.tkk7.com/konhon/archive/2005/12/15/23972.html#Feedback0http://www.tkk7.com/konhon/comments/commentRss/23972.htmlhttp://www.tkk7.com/konhon/services/trackbacks/23972.htmlDownload Shutdown.exe

C:\shutdown.exe /r /t 10 /c "釋放內存..." /f
重啟本機

C:\shutdown.exe /r /t 10 /c "釋放內存..." /f /m \\konhon
重啟遠程電腦




konhon 優華 2005-12-15 09:05 發表評論
]]>
精華:Rundll32.exe文件詳解 http://www.tkk7.com/konhon/archive/2005/12/15/23969.htmlkonhon 優華konhon 優華Thu, 15 Dec 2005 00:04:00 GMThttp://www.tkk7.com/konhon/archive/2005/12/15/23969.htmlhttp://www.tkk7.com/konhon/comments/23969.htmlhttp://www.tkk7.com/konhon/archive/2005/12/15/23969.html#Feedback0http://www.tkk7.com/konhon/comments/commentRss/23969.htmlhttp://www.tkk7.com/konhon/services/trackbacks/23969.html
 
winexec(Pchar('StrCommand'),sw_Show);
其中"StrCommand"代表以下命令之一(使用Windows中的運行不要加引號):
"rundll32 shell32,Control_RunDLL" - 運行控制面板
"rundll32 shell32,OpenAs_RunDLL" - 打開"打開方式"窗口
"rundll32 shell32,ShellAboutA Info-Box" - 打開"關于"窗口
"rundll32 shell32,Control_RunDLL desk.cpl" - 打開"顯示屬性"窗口
"rundll32 user,cascadechildwindows" - 層疊全部窗口
"rundll32 user,tilechildwindows" - 最小化所有的子窗口
"rundll32 user,repaintscreen" - 刷新桌面
"rundll32 shell,shellexecute Explorer" - 重新運行Windows Explorer
"rundll32 keyboard,disable" - 鎖寫鍵盤
"rundll32 mouse,disable" - 讓鼠標失效
"rundll32 user,swapmousebutton" - 交換鼠標按鈕
"rundll32 user,setcursorpos" - 設置鼠標位置為(0,0)
"rundll32 user,wnetconnectdialog" - 打開"映射網絡驅動器"窗口
"rundll32 user,wnetdisconnectdialog" - 打開"斷開網絡驅動器"窗口
"rundll32 user,disableoemlayer" - 顯示BSOD窗口, (BSOD) = Blue Screen Of
Death, 即藍屏
"rundll32 diskcopy,DiskCopyRunDll" - 打開磁盤復制窗口
"rundll32 rnaui.dll,RnaWizard" - 運行"Internet連接向導",
如果加上參數"/1"則為silent模式
"rundll32 shell32,SHFormatDrive" - 打開"格式化磁盤(A)"窗口
"rundll32 shell32,SHExitWindowsEx -1" - 冷啟動Windows Explorer
"rundll32 shell32,SHExitWindowsEx 1" - 關機
"rundll32 shell32,SHExitWindowsEx 0" - 退當前用戶
"rundll32 shell32,SHExitWindowsEx 2" Windows9x 快速重啟
"rundll32 krnl386.exe,exitkernel" - 強行退出Windows 9x(無確認)
"rundll rnaui.dll,RnaDial "MyConnect" - 運行"網絡連接"對話框
"rundll32 msprint2.dll,RUNDLL_PrintTestPage" - 選擇打印機和打印測試頁
"rundll32 user,setcaretblinktime" - 設置光標閃爍速度
"rundll32 user, setdoubleclicktime" - 測試鼠標雙擊速度
"rundll32 sysdm.cpl,InstallDevice_Rundll" - 搜索非PnP設備
 控制面板中的各項功能

 winexec('rundll32.exe shell32.dll, Control_RunDLL', 9);
 {輔助選項 屬性-鍵盤}
 winexec('rundll32.exe shell32.dll, Control_RunDLL access.cpl, 1', 9);
 {輔助選項 屬性-聲音}
 winexec('rundll32.exe shell32.dll, Control_RunDLL access.cpl, 2', 9);
 {輔助選項 屬性-顯示}
 winexec('rundll32.exe shell32.dll, Control_RunDLL access.cpl, 3', 9);
 {輔助選項 屬性-鼠標}
 winexec('rundll32.exe shell32.dll, Control_RunDLL access.cpl, 4', 9);
 {輔助選項 屬性-常規}
 winexec('rundll32.exe shell32.dll, Control_RunDLL access.cpl, 5', 9);
 {添加/刪除程序 屬性-安裝/卸載}
 winexec('rundll32.exe shell32.dll, Control_RunDLL Appwiz.cpl, 1', 9);
 {添加/刪除程序 屬性-Windows安裝程序}
 winexec('rundll32.exe shell32.dll, Control_RunDLL Appwiz.cpl, 2', 9);
 {添加/刪除程序 屬性-啟動盤}
 winexec('rundll32.exe shell32.dll, Control_RunDLL Appwiz.cpl, 3', 9);
 {顯示 屬性-背景}
 winexec('rundll32.exe shell32.dll, Control_RunDLL desk.cpl, 0', 9); 
 {顯示 屬性-屏幕保護程序}
 winexec('rundll32.exe shell32.dll, Control_RunDLL desk.cpl, 1', 9);
 {顯示 屬性-外觀}
 winexec('rundll32.exe shell32.dll, Control_RunDLL desk.cpl, 2', 9);
 {顯示 屬性-設置}
 winexec('rundll32.exe shell32.dll, Control_RunDLL desk.cpl, 3', 9);
 {Internet 屬性-常規}
 winexec('rundll32.exe shell32.dll, Control_RunDLL Inetcpl.cpl, 0',
9);
 {Internet 屬性-安全}
 winexec('rundll32.exe shell32.dll, Control_RunDLL Inetcpl.cpl, 1',
9);
 {Internet 屬性-內容}
 winexec('rundll32.exe shell32.dll, Control_RunDLL Inetcpl.cpl, 2',
9);
 {Internet 屬性-連接}
 winexec('rundll32.exe shell32.dll, Control_RunDLL Inetcpl.cpl, 3',
9);
 {Internet 屬性-程序}
 winexec('rundll32.exe shell32.dll, Control_RunDLL Inetcpl.cpl, 4',
9);
 {Internet 屬性-高級}
 winexec('rundll32.exe shell32.dll, Control_RunDLL Inetcpl.cpl, 5',
9);
 {區域設置 屬性-區域設置}
 winexec('rundll32.exe shell32.dll, Control_RunDLL Intl.cpl, 0', 9);
 {區域設置 屬性-數字}
 winexec('rundll32.exe shell32.dll, Control_RunDLL Intl.cpl, 1', 9);
 {區域設置 屬性-貨幣}
 winexec('rundll32.exe shell32.dll, Control_RunDLL Intl.cpl, 2', 9);
 {區域設置 屬性-時間}
 winexec('rundll32.exe shell32.dll, Control_RunDLL Intl.cpl, 3', 9);
 {區域設置 屬性-日期}
 winexec('rundll32.exe shell32.dll, Control_RunDLL Intl.cpl, 4', 9);
 
 winexec('rundll32.exe shell32.dll, Control_RunDLL Joy.cpl, 0', 9);


winexec('rundll32.exe shell32.dll, Control_RunDLL Joy.cpl, 1', 9);
 {鼠標 屬性}
 winexec('rundll32.exe shell32.dll, Control_RunDLL Main.cpl', 9);
 {多媒體 屬性-音頻}
 winexec('rundll32.exe shell32.dll, Control_RunDLL Mmsys.cpl, 0', 9);
 {多媒體 屬性-視頻}
 winexec('rundll32.exe shell32.dll, Control_RunDLL Mmsys.cpl, 1', 9);
 {多媒體 屬性-MIDI}
 winexec('rundll32.exe shell32.dll, Control_RunDLL Mmsys.cpl, 2', 9);
 {多媒體 屬性-CD音樂}
 winexec('rundll32.exe shell32.dll, Control_RunDLL Mmsys.cpl, 3', 9);
 {多媒體 屬性-設備}
 winexec('rundll32.exe shell32.dll, Control_RunDLL Mmsys.cpl, 4', 9);
 {調制解調器 屬性}
 winexec('rundll32.exe shell32.dll, Control_RunDLL Modem.cpl', 9);
 
 winexec('rundll32.exe shell32.dll, Control_RunDLL Netcpl.cpl', 9);
 {密碼 屬性}
 winexec('rundll32.exe shell32.dll, Control_RunDLL Password.cpl', 9);
 {掃描儀與數字相機 屬性}
 winexec('rundll32.exe shell32.dll, Control_RunDLL Sticpl.cpl', 9);
 {系統 屬性-常規}
 winexec('rundll32.exe shell32.dll, Control_RunDLL Sysdm.cpl, 0', 9);
 {系統 屬性-設備管理器}
 winexec('rundll32.exe shell32.dll, Control_RunDLL Sysdm.cpl, 1', 9);
 {系統 屬性-硬件配置文件}
 winexec('rundll32.exe shell32.dll, Control_RunDLL Sysdm.cpl, 2', 9);
 {系統 屬性-性能}
 winexec('rundll32.exe shell32.dll, Control_RunDLL Sysdm.cpl, 3', 9);
 {日期/時間 屬性}
 winexec('rundll32.exe shell32.dll, Control_RunDLL timedate.cpl', 9);
 {電源管理 屬性}
 winexec('rundll32.exe shell32.dll, Control_RunDLL Powercfg.cpl', 9);
 
 winexec('rundll32.exe shell32.dll, Control_RunDLL Telephon.cpl', 9);
關于調用后的判斷處理建議:
先聲明一個cardinal類型的變量RtnCardinal獲取返回值進行判斷如:
RtnCardinal := winexec('rundll32.exe shell32.dll, Control_RunDLL
Telephon.cpl', 9);
 返回值 可能原因
 0 程序超出內存 
ERROR_BAD_FORMAT 程序為一個非法的Win32.EXE程序
ERROR_FILE_NOT_FOUND 指定文件沒找到 
ERROR_PATH_NOT_FOUND 指定路徑沒找到

使用方法:
點擊“開始-程式-Ms-Dos方式”,進入Dos視窗,然後鍵入"rundll32.exe
user.exe,restartwindows",再按下回車鍵,這時你將看到,機器被重啟了!怎么樣,是不是很有趣?
  當然,Rundll的功能絕不僅僅是重啟你的機器。其實,Rundll者,顧名思義,執行Dll也,它的功能就是以命令列的方式呼叫Windows的動態鏈結庫,Rundll32.exe與Rundll.exe的區別就在於前者是呼叫32位的鏈結庫,而後者是運用於16位的鏈結庫,它們的命令格式是:
  RUNDLL.EXE ,,
  這里要注意三點:1.Dll檔案名中不能含有空格,比如該檔案位於c:Program
Files目錄,你要把這個路徑改成c:Progra~1;2.Dll檔案名與Dll入口點間的逗號不能少,否則程式將出錯并且不會給出任何資訊!3.這是最重要的一點:Rundll不能用來呼叫含返回值參數的Dll,例如Win32API中的GetUserName(),GetTextFace()等。在Visual
Basic中,提供了一條執行外部程式的指令Shell,格式為:
  Shell “命令列”
  如果能配合Rundll32.exe用好Shell指令,會使您的VB程式擁有用其他方法難以甚至無法實現的效果:仍以重啟為例,傳統的方法需要你在VB工程中先建立一個模組,然後寫入WinAPI的聲明,最後才能在程式中呼叫。而現在只需一句:
  Shell “rundll32.exe
user.exe,restartwindows”就搞定了!是不是方便多了?
  實際上,Rundll32.exe在呼叫各種Windows控制面板和系統選項方面有著獨特的優勢。下面,我就將本人在因特網上收集的有關Rundll的指令列舉如下(很有用的,能省去你很多呼叫Windows
API的時間!!),供大家在程式設計中引用:
  命令列: rundll32.exe shell32.dll,Control_RunDLL
  功能: 顯示控制面板
  命令列: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,1
  功能: 顯示“控制面板-輔助選項-鍵盤”選項視窗
  命令列: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,2
  功能: 顯示“控制面板-輔助選項-聲音”選項視窗
  命令列: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,3
  功能: 顯示“控制面板-輔助選項-顯示”選項視窗
  命令列: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,4
  功能: 顯示“控制面板-輔助選項-滑鼠”選項視窗
  命令列: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,5
  功能: 顯示“控制面板-輔助選項-傳統”選項視窗
  命令列: rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl @1
  功能: 執行“控制面板-添加新硬體”向導。
  命令列: rundll32.exe shell32.dll,SHHelpShortcuts_RunDLL AddPrinter
  功能: 執行“控制面板-添加新印表機”向導。
  命令列: rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl,,1
  功能: 顯示 “控制面板-添加/刪除程式-安裝/卸載” 面板。
  命令列: rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl,,2
  功能: 顯示 “控制面板-添加/刪除程式-安裝Windows” 面板。
  命令列: rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl,,3
  功能: 顯示 “控制面板-添加/刪除程式-啟動盤” 面板。
  命令列: rundll32.exe syncui.dll,Briefcase_Create
  功能: 在桌面上建立一個新的“我的公文包”。
  命令列: rundll32.exe diskcopy.dll,DiskCopyRunDll
  功能: 顯示復制軟碟視窗
  命令列: rundll32.exe apwiz.cpl,NewLinkHere %1
  功能:
顯示“建立快捷方式”的對話框,所建立的快捷方式的位置由%1參數決定。
  命令列: rundll32.exe shell32.dll,Control_RunDLL timedate.cpl,,0
  功能: 顯示“日期與時間”選項視窗。


命令列: rundll32.exe shell32.dll,Control_RunDLL timedate.cpl,,1
  功能: 顯示“時區”選項視窗。
  命令列: rundll32.exe rnaui.dll,RnaDial [某個撥號連接的名稱]
  功能:
顯示某個撥號連接的撥號視窗。如果已經撥號連接,則顯示目前的連接狀態的視窗。
  命令列: rundll32.exe rnaui.dll,RnaWizard
  功能: 顯示“新建撥號連接”向導的視窗。
  命令列: rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,0
  功能: 顯示“顯示屬性-背景”選項視窗。
  命令列: rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,1
  功能: 顯示“顯示屬性-螢屏保護”選項視窗。
  命令列: rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,2
  功能: 顯示“顯示屬性-外觀”選項視窗。
  命令列: rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,3
  功能: 顯示顯示“顯示屬性-屬性”選項視窗。
  命令列: rundll32.exe shell32.dll,SHHelpShortcuts_RunDLL FontsFolder
  功能: 顯示Windows的“字體”檔案夾。
  命令列: rundll32.exe shell32.dll,Control_RunDLL main.cpl @3
  功能: 同樣是顯示Windows的“字體”檔案夾。
  命令列: rundll32.exe shell32.dll,SHformatDrive
  功能: 顯示格式化軟碟對話框。
  命令列: rundll32.exe shell32.dll,Control_RunDLL joy.cpl,,0
  功能: 顯示“控制面板-游戲控制器-一般”選項視窗。
  命令列: rundll32.exe shell32.dll,Control_RunDLL joy.cpl,,1
  功能: 顯示“控制面板-游戲控制器-進階”選項視窗。
  命令列: rundll32.exe mshtml.dll,PrintHTML (HTML文檔)
  功能: 列印HTML文檔。
  命令列: rundll32.exe shell32.dll,Control_RunDLL mlcfg32.cpl
  功能: 顯示Microsoft Exchange一般選項視窗。
  命令列: rundll32.exe shell32.dll,Control_RunDLL main.cpl @0
  功能: 顯示“控制面板-滑鼠” 選項 。
  命令列: rundll32.exe shell32.dll,Control_RunDLL main.cpl @1
  功能: 顯示 “控制面板-鍵盤屬性-速度”選項視窗。
  命令列: rundll32.exe shell32.dll,Control_RunDLL main.cpl @1,,1
  功能: 顯示 “控制面板-鍵盤屬性-語言”選項視窗。
  命令列: rundll32.exe shell32.dll,Control_RunDLL main.cpl @2
  功能: 顯示Windows“印表機”檔案夾。
  命令列: rundll32.exe shell32.dll,Control_RunDLL main.cpl @3
  功能: 顯示Windows“字體”檔案夾。
  命令列: rundll32.exe shell32.dll,Control_RunDLL main.cpl @4
  功能: 顯示“控制面板-輸入法屬性-輸入法”選項視窗。
  命令列: rundll32.exe shell32.dll,Control_RunDLL modem.cpl,,add
  功能: 執行“添加新調制解調器”向導。
  命令列: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,0
  功能: 顯示“控制面板-多媒體屬性-音頻”屬性頁。
  命令列: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,1
  功能: 顯示“控制面板-多媒體屬性-視頻”屬性頁。
  命令列: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,2
  功能: 顯示“控制面板-多媒體屬性-MIDI”屬性頁。
  命令列: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,3
  功能: 顯示“控制面板-多媒體屬性-CD音樂”屬性頁。
  命令列: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,4
  功能: 顯示“控制面板-多媒體屬性-設備”屬性頁。
  命令列: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl @1
  功能: 顯示“控制面板-聲音”選項視窗。
  命令列: rundll32.exe shell32.dll,Control_RunDLL netcpl.cpl
  功能: 顯示“控制面板-網路”選項視窗。
  命令列: rundll32.exe shell32.dll,Control_RunDLL odbccp32.cpl
  功能: 顯示ODBC32資料管理選項視窗。
  命令列: rundll32.exe shell32.dll,OpenAs_RunDLL
功能: 顯示指定檔案(drive:pathfilename)的“打開方式”對話框。
  命令列: rundll32.exe shell32.dll,Control_RunDLL password.cpl
  功能: 顯示“控制面板-密碼”選項視窗。
  命令列: rundll32.exe shell32.dll,Control_RunDLL powercfg.cpl
  功能: 顯示“控制面板-電源管理屬性”選項視窗。
  命令列: rundll32.exe shell32.dll,SHHelpShortcuts_RunDLL
PrintersFolder
  功能: 顯示Windows“印表機”檔案夾。(同rundll32.exe
shell32.dll,Control_RunDLL main.cpl @2)
  命令列: rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,0
  功能: 顯示“控制面板-區域設置屬性-區域設置”選項視窗。
  命令列: rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,1
  功能: 顯示“控制面板-區域設置屬性-數字”選項視窗。
  命令列: rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,2
  功能: 顯示“控制面板-區域設置屬性-貨幣”選項視窗。
  命令列: rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,3
  功能: 顯示“控制面板-區域設置屬性-時間”選項視窗。
  命令列: rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,4
  功能: 顯示“控制面板-區域設置屬性-日期”選項視窗。
  命令列: rundll32.exe desk.cpl,InstallScreenSaver [螢屏保護檔案名]
  功能:
將指定的螢屏保護檔案設置為Windows的屏保,并顯示螢屏保護屬性視窗。
  命令列: rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,0
  功能: 顯示“控制面板-系統屬性-傳統”屬性視窗。
  命令列: rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,1
  功能: 顯示“控制面板-系統屬性-設備管理器”屬性視窗。
  命令列: rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,2
  功能: 顯示“控制面板-系統屬性-硬體配置檔案”屬性視窗。
  命令列: rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,3
  功能: 顯示“控制面板-系統屬性-性能”屬性視窗。
  命令列: rundll32.exe user.exe,restartwindows
  功能: 強行關閉所有程式并重啟機器。
  命令列: rundll32.exe user.exe,exitwindows
  功能: 強行關閉所有程式并關機。
  命令列: rundll32.exe shell32.dll,Control_RunDLL telephon.cpl
  功能: 顯示“撥號屬性”選項視窗
  命令列: rundll32.exe shell32.dll,Control_RunDLL themes.cpl
  功能: 顯示“桌面主旨”選項面板
  當然,不止是VisualBasic,象Delphi.VisualC++等其他程式設計語言也可以通過呼叫外部命令的方法來使用Rundll的這些功能,具體方法這里就不再詳細敘述了。靈活的使用Rundll,一定會使你的程式設計輕輕松松,達到事半功倍的效果


konhon 優華 2005-12-15 08:04 發表評論
]]>
如何回答十個最棘手的面談問題(中) http://www.tkk7.com/konhon/archive/2005/12/14/23905.htmlkonhon 優華konhon 優華Wed, 14 Dec 2005 08:55:00 GMThttp://www.tkk7.com/konhon/archive/2005/12/14/23905.htmlhttp://www.tkk7.com/konhon/comments/23905.htmlhttp://www.tkk7.com/konhon/archive/2005/12/14/23905.html#Feedback0http://www.tkk7.com/konhon/comments/commentRss/23905.htmlhttp://www.tkk7.com/konhon/services/trackbacks/23905.html6.你以前的經驗和我們現在的工作有哪些聯系?

  分析:這個提問要求你在與其它求職者進行比較時,你要克服你背景中顯示出來的任何弱點。

  回答對策:首先要介紹你的優勢。假如其它求職者明顯地比你受的教育多,工作經驗多或知識多,那么你就要介紹你的優勢。

  回答樣板1:“如你所知,我剛剛結束電腦編程方面的加強培訓。另外,我在企業方面有三年多的工作經驗,其中包括在老板不在時管理小型企業。我在那學會了處理財務及基本的會計工作。我還盤算和管理過價值30萬美元的產品。這些經歷幫我認識企業使用電腦編程的作用。雖然我剛接觸編程工作,我對電腦語言是熟悉的。我受的教育是全面的,我有300多個小時的電腦操作時間,這是我課程的一部分。因為我是新手,我決心比別人更努力地工作,以便及時完成任務。”

  評語:這種回答強調了可轉換性的技能(會計工作知識)和適應性技能(按時完成任務,更努力工作)。這對缺乏工作經驗的程序員來說是必要的。在這種情況下,在學校學的知識也非常重要,也要像“正式”工作那樣予以強調。

  回答樣板2:“在以前的工作中,我使用過很多與做好這項工作所需要的相同的技術。盡管是不同的企業,但管理企業都需要有我具有的組織和監督能力。在過去的七年里,我使我的部門成為我們公司最贏利的部門之一。在我工作期間,每年銷售額平均上升30%,利潤也提高30%。由于這是個老公司,這樣的業績是很不一般的,七年中我得到兩次晉升,并很快地榮升到管理層。我想在你們這樣小的、發展型公司接受挑戰,我感到我的經驗為我走向這一步做好了準備。”

  評語:回答者明白以前的工作領域與現在考慮的不同,但是,他強調了成績和以前的成功。為完成這項工作,各種管理技術都會用到。回答中還談到繼續接受小公司工作挑戰的動力。

  7.你對以后有什么打算?

  分析:這個問題是在考察你的工作動機。它是在探究是否可以信賴你把工作長久地干下去,而且干得努力。

  回答對策:你最好的對策就是誠實。這是一貫強調的。我并非是要你把負面的信息也擺出來,你應該準備坦率地、正面地回答雇主關心的問題。而哪些是雇主關心的問題取決于你介紹個人背景的具體情況。

  例如:

  -你對工作滿意嗎?(如果不滿意你會離開公司嗎?)

  -你想成家嗎?(如果成家,你會停職去照料小孩嗎?)

  -你是否有過短期工作后離開的歷史?(如果有,你會不會也放棄這份工作呢?)

  -你是否剛搬到此地,是臨時的或暫住人口?(如果是,你也不會在此地久居,對嗎?)

  -你是否有比本工作要求更好的條件?(如果是,是什么使你不去高就呢?)

  -你有什么優勢和承諾在工作中發展嗎?(如果不是,誰需要一個沒有優勢和動力的人呢?)

  -有什么原因使你感到不滿嗎?(如果有,雇主自然會設法搞清楚。)

  回答樣板1:對于一個剛剛參加工作的人,他可以這樣回答:

  “我認識到要在這一領域造就自己,我很愿意從此開始。我想過我要做什么,而且肯定我的技能正是做好這項工作所需要的。例如,我善于與人打交道。在我過去的一項工作中,我每周向1000多名不同的人提供服務。在我18個月的工作中,我曾為72000多名顧客提供服務,從未得到一次正式的投訴。事實上,他們常因我的周到服務表揚我。我認識到我喜歡與公眾接觸,想到我能得到這份工作感到非常愉快。我想在工作中更好地學習,并與之共同進步。由于我對公司的貢獻和價值不斷提高,我希望能考慮使我得到更有責任的職務。”

  評語:雇主想了解你會長期工作下去并努力工作。這樣的回答使對此表示關注的雇主感到安慰。(注意,這樣的回答可以在快餐店工作獲得的經驗為背景。)

  回答樣板2:對沒有工作經驗和只有各種短期工作經驗的人,他們可以這樣回答:

  “我做過幾種工作(一種或失業),我認識到應該珍視體面的、穩定的工作。我的各種經驗是一種財富,我學到很多東西,我可以把它們用于這項工作中去。我正在尋找一份可以安定下來,努力工作并持久下去的工作。”

  評語:這是一種可以接受的回答,只是回答太短,也沒有提供證據。介紹自己的實例最好放在最后一句話之前。有些職務,如銷售方面的工作,要求你有勃勃雄心,或者說是咄咄勇氣。其它工作有對工作領域或專門機構的要求。你不會總能預料到雇主想要什么。如果你能正確地做,你就會具有任何工作要求的條件,而這一切只需要你用嘴講出來,就是這么簡單。


konhon 優華 2005-12-14 16:55 發表評論
]]>
如何回答十個最棘手的面談問題(下) http://www.tkk7.com/konhon/archive/2005/12/14/23904.htmlkonhon 優華konhon 優華Wed, 14 Dec 2005 08:54:00 GMThttp://www.tkk7.com/konhon/archive/2005/12/14/23904.htmlhttp://www.tkk7.com/konhon/comments/23904.htmlhttp://www.tkk7.com/konhon/archive/2005/12/14/23904.html#Feedback0http://www.tkk7.com/konhon/comments/commentRss/23904.htmlhttp://www.tkk7.com/konhon/services/trackbacks/23904.html8.你以前的雇主(教師、介紹人、管理員等)對你的評價如何?

  分析:這個問題與雇主的第二種期望有關。雇主想知道你的適應性技能--你是否容易相處,你是否是個好工人等等。你以前的雇主可能會談到你存在的問題,當然,也可能不談。你知道,許多雇主會在雇用你之前查閱你的證明信,如果你在面談時談的與你以前的雇主說的不一樣,你就要倒霉了。

  回答對策:一定要與你以前的雇主討論你的求職計劃,也要征求你介紹人的意見。要明確地告訴他們你想找的工作種類以及你準備做好新工作的理由。假如以前的雇主會說一些不利于你的話,你要和他開誠布公地談談,看他會說寫什么。

  如果你是被解雇或被迫辭職的,你可以向未來的雇主進行辯解。有很多成功的人與前雇主發生過沖突,如果能把這些沖突盡可能地講出來,許多面談者是會理解的。對和你關系不好的舊雇主,明智的辦法是請他寫一份文字證明材料,在這種情況下,他們不會給你極為不利的信。大的公司一般不接受電話提供證明材料,這可以使你大大地松一口氣,只要給公司打個電話就清楚了。

  如果可能的話,使用那些說你好話的證明信。要是你的前任老板不愿這么做,找個愿意幫忙你的人便行了。如果你被解雇了,最好的對策是實話實說。但是對你的前任老板不要太苛刻,這樣會讓人覺得你是個好抱怨而無責任感的人。再者,你也不是一點錯也沒有。要先承認有這么回事,接著要趁機談談你從中得到的教訓。

  回答樣板:“我的三個前雇主都會說我工作努力,可靠、忠實,我離開那里是因為個人沖突。為此我深深地感到煩惱,只有放棄那里的工作。你可以給他們打電話,他們對我的評價是肯定。我認為還是向你們談談為好,我仍然尊敬他。我在那得到了幾次晉升的機會,但是,隨著我權力的增加,沖突也越發地多起來。我們主要是不同類型的人。我不知道問題會有那么嚴重,因為我一心只想工作。這是我的錯,我認識到我應該更加注意人際關系的處理。”

  評語:回答中介紹了一些正面的技能,并用具體事例加以說明,因而是有力的。

  9.你為什么要找這樣的職位?為什么是在這里

  分析:雇主想了解是否你是那種無論什么公司有活就行的人。果真如此,他或她就不會對你感興趣。雇主想找那種想解決工作中問題的人。他們有理由認為這樣的人工作起來更努力,更有效率,而那些想去特別的公司工作的人也是如此。

  回答對策:事先了解哪些工作適合你的技能和興趣非常重要。要回答這個問題,就要談到你選擇工作目標的動機,那項工作要求的而你又具備的技能,各種專門培訓,或與職務有關的教育證書。

  這個問題實際上有兩方面的含意。一是為什么選擇這個職位,二是為什么選擇這個公司。如果你有選擇這個公司的理由,或選擇這個公司是你最大愿望,你就要準備回答為什么。如果可能的話,在面談前,你要事先盡可能地對它進行了解。與別人聯系得到詳細的情報,或到圖書館查閱,看公司的年度報告,或任何能使你了解情況的方法都是必要的。

  回答樣板:“我花費了很多時間考慮各種職業的可能性,我認為這方面的工作最適合我,原因是這項工作要求的許多技能都是我擅長的。舉例來說,分析問題和解決問題是我的強項,在以前的工作中我能比別人更早發現和解決問題。有一次,我提出一項計劃使得租借設備的退貨率減少了15%,這聽起來不算高,但是取得了年增長25000美元的好效益。而成本僅為100美元。目前你們公司似乎是能讓我施展解決問題能力的地方。這個公司工作運行良好,發展迅速,善于接受新思想。你們的銷售去年上漲了30%,而且你們準備引進幾項大型新產品。如果我在這里努力工作,證實我自身的價值,我感到我有機會與公司共同發展。

  評語:這種回答巧妙地運用了“提供證據”技巧,這樣的話符合一個出色的經理或優秀的秘書的身份。

  10.為什么不講一講你個人的情況?

  分析:一個好的面談者很少這樣直接地提出這個問題,通過隨意的、友好的談話也可以得到想了解的情況。在大多數情況下,面談者會竭力地打探證明你不穩定或不可靠的信息。

  回答對策:還有其它一些可能使某個雇主關注的問題,以上問題只是對某些性格的人的推測。這都是些不相關的問題,但是,如果雇主想以此來了解你可否可靠,你就得全力以赴地去應付了。要記住即使是隨意地閑談也要避免提及隱晦的問題。在回答個人情況時,要態度友好而且自信。

  回答樣板:

  有小孩子的家:“我有兩個小孩,都在上學。他們和我的一個好朋友在一起,照料孩子不成問題。”

  一人主家:“我沒有結婚,但是我有兩個孩子。對我來說有一份穩定的收入很重要,照料孩子不成為問題。”

  年輕、單身:“我沒有結婚,即使結婚,我也不會改變做專職工作的打算,我可以把全部精力用在工作上。”

  新搬來的:“我決定在DepressionCulch長期居住下來,我租了一套公寓,搬家公司的六輛車正在卸家俱。”

  撫養人:“我有個愉快的童年,我父母住的地方離我只需一小時飛機的路程,我一年去看他們幾次。”

  閑暇時間:“在我不去上班時,我主要呆在家里。我愛參加社區組織的活動,我每周都要在教堂參加活動。”

  評語:上述回答都可以擴展開,可以做為你回答問題時的參考。這里要告訴面談者的是你個人的情況不影響你的工作能力,而且,確實還能對你有幫助。如果你的個人生活會擾亂你的工作,想必雇主也會很快對你失去耐心的。這不是他們的問題,也不應該成為他們的問題。



konhon 優華 2005-12-14 16:54 發表評論
]]>
如何回答十個最棘手的面談問題(上) http://www.tkk7.com/konhon/archive/2005/12/14/23902.htmlkonhon 優華konhon 優華Wed, 14 Dec 2005 08:53:00 GMThttp://www.tkk7.com/konhon/archive/2005/12/14/23902.htmlhttp://www.tkk7.com/konhon/comments/23902.htmlhttp://www.tkk7.com/konhon/archive/2005/12/14/23902.html#Feedback0http://www.tkk7.com/konhon/comments/commentRss/23902.htmlhttp://www.tkk7.com/konhon/services/trackbacks/23902.html在面試前先了解、練習對幾個很難的問題進行回答會幫助你對其他問題的回答做準備。有的問題問得比較多,有的較少但卻是回答其它問題的基礎。

  1.為什么不談談你自己?

  分析:這是個開放性問題。從哪里談起都行,但是滔滔不絕地講上一兩個小時可不是雇主所希望的。這樣的問題是測驗你是否能選擇重點并且把它清楚、流暢地表達出來。顯然,提問者想讓你把你的背景和想要得到的位置聯系起來。

  回答對策:有幾個基本的方法。一個是直接簡要回答所問的問題,另一個是在回答前要求把問題問得更明確。在上述兩種情況下,你都要很快地把你的答案轉到你的技能、經驗和你為得到目前這份工作接受的培訓上來。

  回答樣板:“我來自一個小家庭,有一個弟弟,父母都還在工作。中學畢業后,我攻讀市場營銷學士。日間在一家商業機構擔任行銷執行員,學了不少管理方面的知識。例如,我全權負責的一個批發銷售公司的業務,銷售總額一年為200萬美元。在那里我學習到怎么管理人事,在壓力下解決問題。我希望能更好的運用我的技能。我相信我的經驗和學歷將讓我迎向未來更大的挑戰。”

  評語:只簡單的介紹了個人歷史,很快的將重點話題轉到與工作有關的技能和經驗上來。你也可請面談者把他確實想了解的東西集中到一點,如你可問:“你是不是想知道我受過的教育,或者與工作有關的技術和經驗?”等,大多雇主都會樂意告訴你他們感興趣的是什么?

  2.我為什么要雇用你?

  分析:這是個直接、正面的問題,盡管這個問題不會問得這樣明確,但是會在其它問題之后被提出來,這個問題沒有隱含的意思。

  回答對策:直接的問題需要直接了當回答,為什么他們要雇用你呢?最巧妙的回答對他們而不是對你有利。這個問題會使你向他們提供證據以證實你可以幫助他們改進工作效率,降低成本、增加銷售、解決問題(如準時上班,改進對顧客的服務、組織一個或多個管理工作等)。

  回答樣板:“我是個經驗豐富的經理,在員工隊伍建設方面,從組織項目的實施到鼓勵員工合作,我得心應手。多年來,我已經掌握了一套雇人和留人的技巧。此外,我還擅長幫助公司順利實現技術改造和員工培訓。我經常對主要客戶進行示范講解,我們的銷售額在過去兩年平均增加了87%。”

  評語:在回答中,以實例提供有力的證據,直接而自信地推銷自己。

  3.你有哪些主要的優點?

  分析:像前面問題一樣,這個問題問得相當直接,但是有一點隱含。

  回答對策:你的回答應當首先強調你適應的或已具有的技能。雇用你的決定在很大程度上取決于這些技能,你可以在后面詳細介紹你與工作有關的技能。回答時,一定要簡單扼要。

  回答樣板:“我具有朝著目標努力工作的能力。一旦我下定決心做某事,我就要把它做好,例如,我的志愿是成為一個出色的公關經理,我喜歡接觸不同的人,服務人群,為了實現這個目標。我目前正在修讀有關課程。”

  評語:如“我的學習能力、適應能力很強。”“人際關系很好”等都是可提出的優點,但盡可能要提供與工作相關的證據,這會使你與眾不同。

  4.你有哪些主要的缺點?

  分析:這是個棘手的問題。若照實的回答,你會毀了工作,雇主試圖使你處于不利的境地,觀察你在類似的工作困境中將作出什么反應。

  回答對策:回答這樣的問題應誠實。完滿地回答應該是用簡潔正面的介紹抵消反面的問題。

  回答樣板1:“工人們指責我對工作太投入。我經常提前一點上班安排好我的工作,晚上晚一點下班,使要干的事得以完成。”

  回答樣板2:“我需要學會更耐心一點。我的性子比較急,我總要我的工作趕在第一時間完成。我不能容忍工作怠慢。”

  評語:回答的雖是自身的缺點,但卻表現了正面的效果,對工作的積極抵消了反面。

  5.你想得到的薪水是多少?

  分析:如果你對薪酬的要求太低,那顯然貶低自己的能力;如果你對薪酬的要求太高,那又會顯得你分量過重,公司受用不起。一些雇主通常都事先對求聘的職位定下開支預算,因而他們第一次提出的價錢往往是他們所能給予的最高價錢。他們問你只不過想證實一下這筆錢是否足以引起你對該工作的興趣。

  回答對策:在商談薪酬之前,你已經調查了解了自己所從事工作的合理的市場價值。在與對方商談時,不妨盡可能插入“合理的和市場價值”語匯。記得,商談時降低原來的開價輕而易舉,但一旦開出低價后想再提上去就難乎其難。

  回答樣板1:如果你尚未徹底表現自我價值,面試者就提此問題考你,你不妨參考以下答案:

  “錢不是我唯一關心的事。我想先談談我對貴公司所能做的貢獻--如果您允許的話。”

  “我對工資沒有硬性要求。我相信貴公司在處理我的問題上會友善合理。我注重的是找對工作機會,所以只要條件公平,我則不會計較太多。”

  回答樣板2:如果你已經闡明該職位的重要性,可是對方仍舊告訴你給你的報酬已是最好的。您不妨指出它的工作性質實際上值得你獲得更高的報酬;闡明你將如何通過努力縮減公司的開支;說明在工作中你得自我承擔哪些費用等,以證明你對公司的價值,和表明你要求更高報酬是以你的工作表現為前提的。但是如果對方不愿妥協,在你未得到肯定的工作答復之前,不要使雇主排除對你的考慮。你可以問:‘你們決定雇用我了嗎?”如果答案是肯定的,報酬卻使你不愿接受,你可以這樣拒絕:

  “謝謝你給我提供工作機會。這個職位我很想的到,但是,工資比我想要的低,這是我無法接受這份工作的原因之一。也許你會重新考慮,或者以后能有使我對你們更有價值的工作時再考慮我。”

  評語:即使拒絕對方,也要為協商留有余地。如果雇主需要你,他會樂于滿足你的要求。一旦你對他們提出的標準說“不”,交易就做不成了.



konhon 優華 2005-12-14 16:53 發表評論
]]>
基本UML表示法http://www.tkk7.com/konhon/archive/2005/12/10/23241.htmlkonhon 優華konhon 優華Sat, 10 Dec 2005 01:06:00 GMThttp://www.tkk7.com/konhon/archive/2005/12/10/23241.htmlhttp://www.tkk7.com/konhon/comments/23241.htmlhttp://www.tkk7.com/konhon/archive/2005/12/10/23241.html#Feedback0http://www.tkk7.com/konhon/comments/commentRss/23241.htmlhttp://www.tkk7.com/konhon/services/trackbacks/23241.html        Class      類
        Object orientation   面向對象技術
        abstraction 抽象
        encapsulation 封裝
        attribute  屬性
        behavior  行為
        method    方法
        state   狀態
        instantiation 實例化
        instance  實例
        constructor  構造方法
        object lieftime 對象生命周期
        identity  標識符
        reference 引用
        garbage collection 垃圾收集

        類的基本UML表示法是一個由三個水平部分組成的矩形。頂端部分用來填寫類的名字, 中間部分用來填寫屬性, 底端部分用來填寫類的操作(方法)。根據需要的細節程度,中間和底端部分可以不被包含。
        關聯通過類之間的連線來表示,通常標注上關聯名稱。
        繼承的表示法是一個有三角箭頭的連線,箭頭指向更為通用的類(超類)。
        聚合的表示法是一個有空心菱形的連線,菱形指向整體類。組成使用實心菱形
        依賴關系在語言中體現為局部變量,方法參量,以及對靜態方法的調用。
        UML通過使用一個空心的三角箭頭指向泛化來表示繼承。
        在UML中, 接口的表示大部分類似于類的表示, 但是包括了<<interface>>或一個圓圈,  以表明它是一個接口而不是一個類, 接口沒有任何屬性, 因此屬性部分通常被省略.實現接口的類使用一個虛線來實現連接, 而不是使用實線的泛化連接.

         association 關聯
         hierarchy 層次結構
         mulitiplicity 多重性
         whole/part 整體/部分
         has-a 擁有                  
         part-of 部分
        aggregation 聚合
        composition  組合
        generalization/specialization 泛化/特殊化
        is-a 是
        inheritance 斷承
        subclass 子類
        derived 派生類
        superclass 超類
        root class 根類
        overriding 重載
        default behaviors 缺省行為
        inheritance single 單繼承
        inheritance multiple 多重繼承
        interface 接口
        implements 實現 
        polymorphism  多態
        dynamic binding 動態綁定
        abstract class 抽象類
        concrete class 具體類
        visibility 可見性

konhon 優華 2005-12-10 09:06 發表評論
]]>
Googlehttp://www.tkk7.com/konhon/archive/2005/11/16/20109.htmlkonhon 優華konhon 優華Wed, 16 Nov 2005 09:25:00 GMThttp://www.tkk7.com/konhon/archive/2005/11/16/20109.htmlhttp://www.tkk7.com/konhon/comments/20109.htmlhttp://www.tkk7.com/konhon/archive/2005/11/16/20109.html#Feedback0http://www.tkk7.com/konhon/comments/commentRss/20109.htmlhttp://www.tkk7.com/konhon/services/trackbacks/20109.html暫且試試啦.
賺不到也沒關系, 呵,呵.

konhon 優華 2005-11-16 17:25 發表評論
]]>
漫談料表(BOM,Bill Of Material ) 管理http://www.tkk7.com/konhon/archive/2005/10/24/16545.htmlkonhon 優華konhon 優華Mon, 24 Oct 2005 03:12:00 GMThttp://www.tkk7.com/konhon/archive/2005/10/24/16545.htmlhttp://www.tkk7.com/konhon/comments/16545.htmlhttp://www.tkk7.com/konhon/archive/2005/10/24/16545.html#Feedback0http://www.tkk7.com/konhon/comments/commentRss/16545.htmlhttp://www.tkk7.com/konhon/services/trackbacks/16545.html

 


BOM的意義與種類

  料表又稱為BOM(BillOfMaterial),是制造業管理的重點之一(屬于化工制藥飲料等行業的配方表其實與這個主題有關系,但是在本文中我們將集中注意力于一般成型工業中的料表,以免主題發散而無法聚焦),簡單的定義就是“記載產品組成所需使用材料的表格”。以一個新產品的誕生來看:首先是創意與可行性研究的初期過程,接下來的過程就是初步的工程技術分析與原型產品的設計,等到原型產品比較穩定后,經過自制或外購分析(MakeorBuyAnalysisandDecision)后就會產生第一版的工程料表(EBOM,EngineeringBOM)。到正式量產之前,第一版的生產料表(PBOM,ProductionBOM)必須要先完成,以便企業內的相關部門有所遵循。在此之后,就進入了正常的例行維護階段。
現將一般制造型企業內存在的BOM說明如下:

中文名稱 英文名稱 記載內容 主要用途 主要使用部門
工程料表 Engineering BOM 新產品的用料結構 是研究開發單位與其他單位間針對新產品初始定義的溝通媒介及日后設變的處理平臺 研究開發
生產技術
生產料表 Production BOM 量產產品的用料結構(企業內最多人使用) 用于進行生產計劃,采購計劃的擬定,也是搭載選配及替代料表、成本料表的平臺 生管物管
采購外協
營銷財務
計劃料表 Planning BOM 產品族群比例關系(如某款式汽車手排檔銷量占30%,自排檔銷量占50%,手自排檔銷量占20%)

用于進行中長期的原料采購計劃及生產產能負荷計劃

生管物管采
購外協
營銷
成本料表 Cost BOM 產品的標準成本組成結構 用于查詢產品標準成本之構成狀況,通常使用于以標準成本立帳的企業 財務
選配料表 Configuration BOM 產品的選配件結構 用于錄入客戶訂單時讓用戶可以選擇產品的選配件 營銷
生管物管
替代料表 Substitute BOM 產品的替代用料結構 用于進行物料計劃時或實際進行生產時,針對本身數量不足,但替代零件足夠的狀況,以替代件替換原零件,以降低庫存或避免缺料
生管物管
采購外協
保稅料表 Tax-Bound BOM 產品的保稅料件結構

用于進行申請海關保稅合同時能自動展開并計算應申請的保稅料件種類及數量

生管物管
財務采購

常見的BOM信息化管理問題及系統應提供的功能

  BOM的管理是企業管理范疇中比較復雜的,其中又以設計變更為其首,為簡化本篇的內容,有關設計變更的部份將另辟專文說明,在此說明設計變更以外的:

  1.這么多種BOM,到底該分還是該合?
  既然有這么多種BOM,就產生了這樣一個問題:該合還是該分。如果全部分開,系統設計的復雜度較低,但是,卻造成用戶的負擔,不但信息維護的工作量大增,因為數據四處散布,錯誤發生的機會也大增;另一方面,如果全部合一,雖然乍看之下信息維護較為單純,但是,因為數據型態的差異性將造成系統設計過于復雜,用戶在使用時也不見得覺得方便,因此,分合之間的拿捏要相當有技巧,以兼顧用戶使用的方便和系統設計的復雜度等。
  一般常見的設計是將工程料表、保稅料表及計劃料表獨立,而將生產料表、成本料表、選配料表及替代料表合一,其中,工程料表獨立的原因是它是屬于研究開發單位使用的功能。雖然BOM是所有BOM的源頭,但是其他部門卻很少真的使用它;另一方面,不是所有的企業都是保稅型態的,因此,將保稅料表獨立也是合理的;最后,有關計劃料表的部分,雖然它也是為了生物管的目的而存在,但一般行業為了計劃的目的其實使用生產料表就已經足夠,因此讓它單獨存在也未嘗不可。
  另一方面,生產料表、選配料表及替代料表等三種料表的目的都是要解決生物管方面的問題,將他們合在一起方便集中管理而且一目了然。最后,成本料表是否單獨存在是個見仁見智的問題,但是大多數的人選擇將它與生產料表等合并以簡化數據。

  2.BOM是否應與PDM、CAD等系統整合集成?
搞軟件的人都知道只要用戶能夠將需求表達清楚,沒有辦不到的事情,BOM與PDM、CAD等系統整合集成也不例外,只要ERP及PDM(或CAD)雙方針對用戶的需求,考慮數據的格式(必要時再借力于一些數據擷取工具),兩者間的整合集成是輕而易舉的。
  但是,在絕大多數的案例里我們見到的是“各行其是”而非整合集成,最主要原因就是設計單位與企業內其他單位看事情的角度不同及需要的信息不同。以搞機械的行業為例,管設計的重視的是技術及功能問題,產品在他眼中被拆為不同的機構(Mechanism),有的負責傳動,有的負責煞車,有的負責懸吊,有的負責產生動力;但是負責生物管及采購外包的,卻是從管理的角度看事情,他們關心的是成品、半成品、自制件、外包件及采購件等。
  為了解決這種認知上的差距,許多企業都有“生產技術”方面的人員負責將設計人員眼中的產品料表“翻譯”為生物管及采購外包人員看得懂的產品料表;另一方面,由于PDM、CAD的系統眾多,版本也不斷更新,要發展出放諸四海皆準的接口是有困難的,但為了某特定客戶的明確需求進行客制化相對的是比較容易的。最后,越來越多的制造業用戶希望在運行ERP的過程中能夠方便地查詢到產品的設計圖以進行有關技術面的判斷,這種需求相對的難度也較低。

  3.選配料表管理存在的問題
  對于選配件管理而言,最大的難題就是防錯,因為所謂選配件必定是存在限制的,如:某款汽車有三種發動機及兩種變速箱可供選擇,但是其中有一種發動機只能與一種變速箱搭配;另外一個例子如:某款電腦共有3.5寸軟盤、5.25寸軟盤、CDR、DVD、CDR/W、100MBZIP、150MBZIP等七種選擇配備,但是不管怎么選,最多只能選四種,因為電腦上只有四個擴充槽。選配防錯的例子非常多,而且在不同產品上面的規則也完全不同,有一些軟件號稱可以解決這個問題,經過了解后發覺這些軟件為了達到防錯的目的不但設計太過復雜,而且最后證明也無法涵蓋所有的狀況。更令人啼笑皆非的是沒有任何一個用戶使用這種功能,因為實在是太復雜了。

  4.替代料表管理存在的問題
  替代用料在許多電子及機械行業是種普遍的現象,舉個最簡單的例子來說,1.5″的螺絲通常可以取代1.2″的螺絲,但是,這種替代關系卻不一定適用于所有狀況,有時候使用較長螺絲時反而造成短路或不當干涉等狀況,因此,在料表中表達零件的裝配或插件位置可以讓使用者清楚了解替代料件的限制,以免犯錯造成產品的質量問題。

結語

  制造型企業與買賣流通型企業間最大的差距就是制造行為,而制造管理本身具有高度的復雜性。BOM是所有制造管理的基礎信息,與企業絕大多數的部門都息息相關,“BOM管理”這個牽涉面廣泛的主題,長久以來是讓許多企業頭疼的問題。除了在技術方面有復雜的問題要處理外,在管理面更是個沉重的負擔,過去以手工作業方式處理BOM管理時經常存在“料表更新不及時”,“各方數據不一致”的現象,甚至經常發生錯誤而導致生產秩序大亂,錯失市場良機等情況,但是,現在已經有設計優良且經過大量用戶驗證的易飛ERP軟件可以協助企業進行這方面的管理了。



konhon 優華 2005-10-24 11:12 發表評論
]]>
收集的ORACLE書籍教程 http://www.tkk7.com/konhon/archive/2005/09/29/14425.htmlkonhon 優華konhon 優華Thu, 29 Sep 2005 08:05:00 GMThttp://www.tkk7.com/konhon/archive/2005/09/29/14425.htmlhttp://www.tkk7.com/konhon/comments/14425.htmlhttp://www.tkk7.com/konhon/archive/2005/09/29/14425.html#Feedback0http://www.tkk7.com/konhon/comments/commentRss/14425.htmlhttp://www.tkk7.com/konhon/services/trackbacks/14425.html軟件名稱: 輕松Oracle 8開發
軟件大小: 10970KB
軟件語言: 簡體中文
軟件類別: 書籍教程\數據庫類
軟件簡介: <br>
輕松Oracle 8開發這本書還不錯,值得一看.<br>
http://www.xuanxi.net/Software/Catalog138/1214.html 下 載

========================================================
軟件名稱: 微軟數據庫開發夢工場簡體中文版多媒體教學光盤-ORACLE
軟件大小: 15344KB
軟件語言: 簡體中文
軟件類別: 書籍教程\數據庫類
軟件簡介: <br>
微軟數據庫開發夢工場簡體中文版多媒體教學光盤-ORACLE這本書還不錯,值得一看.<br>
http://www.xuanxi.net/Software/Catalog138/1213.html 下 載

========================================================
軟件名稱: 完全接觸 Oracle
軟件大小: 5813KB
軟件語言: 簡體中文
軟件類別: 書籍教程\數據庫類
軟件簡介: <br>
完全接觸 Oracle這本書還不錯,值得一看.<br>
http://www.xuanxi.net/Software/Catalog138/1212.html 下 載

========================================================
軟件名稱: 即學即用Oracle
軟件大小: 17650KB
軟件語言: 簡體中文
軟件類別: 書籍教程\數據庫類
軟件簡介: <br>
即學即用Oracle這本書還不錯,值得一看.<br>
http://www.xuanxi.net/Software/Catalog138/1211.html 下 載

========================================================
軟件名稱: OReilly.Classic.Shell.Scripting.Feb.2005
軟件大小: 1049KB
軟件語言: 簡體中文
軟件類別: 書籍教程\數據庫類
軟件簡介: <br>
OReilly.Classic.Shell.Scripting.Feb.2005這本書還不錯,值得一看.<br>
http://www.xuanxi.net/Software/Catalog138/1210.html 下 載

========================================================
軟件名稱: Oracle錯誤碼大全
軟件大小: 1374KB
軟件語言: 簡體中文
軟件類別: 書籍教程\數據庫類
軟件簡介: <br>
Oracle錯誤碼大全這本書還不錯,值得一看.<br>
http://www.xuanxi.net/Software/Catalog138/1209.html 下 載

========================================================
軟件名稱: oracle的入門心得
軟件大小: 489KB
軟件語言: 簡體中文
軟件類別: 書籍教程\數據庫類
軟件簡介: <br>
oracle的入門心得這本書還不錯,值得一看.<br>
http://www.xuanxi.net/Software/Catalog138/1208.html 下 載

========================================================
軟件名稱: oracle數據操作和控制語言詳解
軟件大小: 10KB
軟件語言: 簡體中文
軟件類別: 書籍教程\數據庫類
軟件簡介: <br>
oracle數據操作和控制語言詳解這本書還不錯,值得一看.<br>
http://www.xuanxi.net/Software/Catalog138/1207.html 下 載

========================================================
軟件名稱: oracle數據庫網絡的安裝和配置
軟件大小: 1076KB
軟件語言: 簡體中文
軟件類別: 書籍教程\數據庫類
軟件簡介: <br>
oracle數據庫網絡的安裝和配置這本書還不錯,值得一看.<br>
http://www.xuanxi.net/Software/Catalog138/1206.html 下 載

========================================================
軟件名稱: Oracle數據庫系統應用實例集錦與編程技巧
軟件大小: 5893KB
軟件語言: 簡體中文
軟件類別: 書籍教程\數據庫類
軟件簡介: <br>
Oracle數據庫系統應用實例集錦與編程技巧這本書還不錯,值得一看.<br>
http://www.xuanxi.net/Software/Catalog138/1205.html 下 載

========================================================
軟件名稱: Oracle數據庫系統
軟件大小: 5399KB
軟件語言: 簡體中文
軟件類別: 書籍教程\數據庫類
軟件簡介: <br>
Oracle數據庫系統這本書還不錯,值得一看.<br>
http://www.xuanxi.net/Software/Catalog138/1204.html 下 載

========================================================
軟件名稱: oracle數據庫管理員教程
軟件大小: 191KB
軟件語言: 簡體中文
軟件類別: 書籍教程\數據庫類
軟件簡介: <br>
oracle數據庫管理員教程這本書還不錯,值得一看.<br>
http://www.xuanxi.net/Software/Catalog138/1203.html 下 載

========================================================
軟件名稱: oracle數據庫管理
軟件大小: 27736KB
軟件語言: 簡體中文
軟件類別: 書籍教程\數據庫類
軟件簡介: <br>
oracle數據庫管理這本書還不錯,值得一看.<br>
http://www.xuanxi.net/Software/Catalog138/1202.html 下 載

========================================================
軟件名稱: oracle數據庫dba管理手冊
軟件大小: 50522KB
軟件語言: 簡體中文
軟件類別: 書籍教程\數據庫類
軟件簡介: <br>
oracle數據庫dba管理手冊這本書還不錯,值得一看.<br>
http://www.xuanxi.net/Software/Catalog138/1201.html 下 載

========================================================
軟件名稱: Oracle開發
軟件大小: 5572KB
軟件語言: 簡體中文
軟件類別: 書籍教程\數據庫類
軟件簡介: <br>
Oracle開發這本書還不錯,值得一看.<br>
http://www.xuanxi.net/Software/Catalog138/1200.html 下 載

========================================================
軟件名稱: oracle常用傻瓜問題1000問
軟件大小: 25KB
軟件語言: 簡體中文
軟件類別: 書籍教程\數據庫類
軟件簡介: <br>
oracle常用傻瓜問題1000問這本書還不錯,值得一看.<br>
http://www.xuanxi.net/Software/Catalog138/1199.html 下 載

========================================================
軟件名稱: ORACLE培訓教材
軟件大小: 95KB
軟件語言: 簡體中文
軟件類別: 書籍教程\數據庫類
軟件簡介: <br>
ORACLE培訓教材這本書還不錯,值得一看.<br>
http://www.xuanxi.net/Software/Catalog138/1198.html 下 載

========================================================
軟件名稱: oracle初學者1000問
軟件大小: 35KB
軟件語言: 簡體中文
軟件類別: 書籍教程\數據庫類
軟件簡介: <br>
oracle初學者1000問這本書還不錯,值得一看.<br>
http://www.xuanxi.net/Software/Catalog138/1197.html 下 載

========================================================
軟件名稱: oracle專家高級編程
軟件大小: 30482KB
軟件語言: 簡體中文
軟件類別: 書籍教程\數據庫類
軟件簡介: <br>
oracle專家高級編程這本書還不錯,值得一看.<br>
http://www.xuanxi.net/Software/Catalog138/1196.html 下 載

========================================================
軟件名稱: Oracle_Errors
軟件大小: 1373KB
軟件語言: 簡體中文
軟件類別: 書籍教程\數據庫類
軟件簡介: <br>
Oracle_Errors這本書還不錯,值得一看.<br>
http://www.xuanxi.net/Software/Catalog138/1195.html 下 載

========================================================
軟件名稱: OracleUML建模
軟件大小: 8397KB
軟件語言: 簡體中文
軟件類別: 書籍教程\數據庫類
軟件簡介: <br>
OracleUML建模這本書還不錯,值得一看.<br>
http://www.xuanxi.net/Software/Catalog138/1194.html 下 載

========================================================
軟件名稱: Oraclea Call Interface Programmer’s Guide
軟件大小: 2340KB
軟件語言: 簡體中文
軟件類別: 書籍教程\數據庫類
軟件簡介: <br>
Oraclea Call Interface Programmer’s Guide這本書還不錯,值得一看.<br>
http://www.xuanxi.net/Software/Catalog138/1193.html 下 載

========================================================
軟件名稱: oracle9i數據庫系統培訓教程
軟件大小: 24785KB
軟件語言: 簡體中文
軟件類別: 書籍教程\數據庫類
軟件簡介: <br>
oracle9i數據庫系統培訓教程這本書還不錯,值得一看.<br>
http://www.xuanxi.net/Software/Catalog138/1192.html 下 載

========================================================
軟件名稱: Oracle9i應用服務器詳解
軟件大小: 25592KB
軟件語言: 簡體中文
軟件類別: 書籍教程\數據庫類
軟件簡介: <br>
Oracle9i應用服務器詳解這本書還不錯,值得一看.<br>
http://www.xuanxi.net/Software/Catalog138/1191.html 下 載

========================================================
軟件名稱: Oracle9iAS Portal 寶典
軟件大小: 30270KB
軟件語言: 簡體中文
軟件類別: 書籍教程\數據庫類
軟件簡介: <br>
Oracle9iAS Portal 寶典這本書還不錯,值得一看.<br>
http://www.xuanxi.net/Software/Catalog138/1190.html 下 載

========================================================
軟件名稱: oracle9i 數據庫設計指引全集
軟件大小: 92KB
軟件語言: 簡體中文
軟件類別: 書籍教程\數據庫類
軟件簡介: <br>
oracle9i 數據庫設計指引全集這本書還不錯,值得一看.<br>
http://www.xuanxi.net/Software/Catalog138/1189.html 下 載

========================================================
軟件名稱: ORACLE9i Windows安裝手冊
軟件大小: 609KB
軟件語言: 簡體中文
軟件類別: 書籍教程\數據庫類
軟件簡介: <br>
ORACLE9i Windows安裝手冊這本書還不錯,值得一看.<br>
http://www.xuanxi.net/Software/Catalog138/1188.html 下 載

========================================================
軟件名稱: Oracle8最新教程
軟件大小: 10217KB
軟件語言: 簡體中文
軟件類別: 書籍教程\數據庫類
軟件簡介: <br>
Oracle8最新教程這本書還不錯,值得一看.<br>
http://www.xuanxi.net/Software/Catalog138/1187.html 下 載

========================================================
軟件名稱: ORACLE8i_9i數據庫基礎
軟件大小: 551KB
軟件語言: 簡體中文
軟件類別: 書籍教程\數據庫類
軟件簡介: <br>
oracle8i_9i數據庫基礎這本書還不錯,值得一看.<br>
http://www.xuanxi.net/Software/Catalog138/1186.html 下 載

========================================================
軟件名稱: ORACLE8 UML 對象建模設計
軟件大小: 9728KB
軟件語言: 簡體中文
軟件類別: 書籍教程\數據庫類
軟件簡介: <br>
ORACLE8 UML 對象建模設計這本書還不錯,值得一看.<br>
http://www.xuanxi.net/Software/Catalog138/1185.html 下 載

最新的書籍教程 更新時間:2005-9-11 更多的下載請到http://www.xuanxi.net 軒溪軟件園



konhon 優華 2005-09-29 16:05 發表評論
]]>
1.Powerdesigner使用建議http://www.tkk7.com/konhon/archive/2005/09/28/14325.htmlkonhon 優華konhon 優華Wed, 28 Sep 2005 11:51:00 GMThttp://www.tkk7.com/konhon/archive/2005/09/28/14325.htmlhttp://www.tkk7.com/konhon/comments/14325.htmlhttp://www.tkk7.com/konhon/archive/2005/09/28/14325.html#Feedback0http://www.tkk7.com/konhon/comments/commentRss/14325.htmlhttp://www.tkk7.com/konhon/services/trackbacks/14325.html1.Powerdesigner使用建議
1.1業務規則的使用(Business Rule)
對于一些業務邏輯可能出現在多個數據表中,建議封裝成Business Rule,這樣便于業務邏輯的重新使用,也便于業務邏輯的維護。
為了便于維護業務邏輯,可以考慮將Business Rule和Domains結合起來使用。將業務Business Rule應用到Domains上,然后再把Domains應用到數據表的字段上。
例如:在拆遷項目中,拆遷業務部分,管理參數業務部分,房源業務部分,拆遷合同部分的數據表中都有樓層這個字段,因此先一個Business Rule,然后定義一個Domain,這樣相應的數據表的字段就可以使用這個Domain了。
1.2.自定義數據類型(Domains)的使用
oralce提供了一些內置的數據類型,但是用戶也可以根據業務的需要,定義自定義的數據類型。
在自定義數據類型里面包裝業務邏輯。
正如上面的房屋樓層,我們可以定義一個獨立的數據類型(Domain)維護,然后在相關數據表的
字段上使用這個自定義數據類型。
一般在定義自己的數據類型時候,可以在oracle基本類型上定義,然后可以加上一些standard check或者Business Rules。
比如:在拆遷項目中,面積類別這個字段在很多數據表都出現了,可以作為一個單獨的數據類型類維護,定義一個” 面積類別” Domains(包含的種類有:0 --- 廳房面積,1 --- 使用面積,2 --- 單元面積,,3 --- 總建筑面積,4 --- 分攤面積)。而且由于Powerdesigner的提供關聯作用,這樣便于當業務邏輯發生了變動,能夠很快查詢出那些對象受到影響。
1.3序列號(Sequence)的使用
在powersigner的模型里面定義一堆了Sequence,接下來的是要把他們和數據表的相關字段關聯起來,特別是那些用于多個數據表字段的Sequence。
一個數據表原則上只允許一個字段使用Sequence,并且在數據表的字段使用Sequence前,應該把該Sequence添加到數據表的Extended Dependencies中。
如果一個數據表有2個字段或者更多字段使用了Sequence,那模型檢查時會給出提示信息。
使用的規則一般是只能應用到數據表的主鍵字段上。
主鍵字段建議是 數據表+“ID“或者 “編號“構成。
例如:“房屋整合面積“ 數據表,那它的主鍵字段=房屋整合面積編號,對應的Sequence為
SEQ_房屋整合面積。其它數據表可能也使用到了這個Sequence,那也需要在使用前設置引用關系。
(在數據表的Extended Dependencies 上設置引用關系)
1.4 Oracle Package的使用
在Oracle Package里面可以定一些procedure ,但是Oracle包引用的數據庫對象到底有哪些呢,這些信息建議手動維護起來。特別是Oracle Package使用了哪些數據表,視圖,以及Oracle Packag等信息建議維護起來。
1.5包的使用
PowerDesigner的包相當于文件夾。用戶可以把它當作一個維護業務邏輯的容器。PowerDesigner包一般建議按照業務模塊來建立。如果模塊需要細分,可以考慮建立PowerDesigner子包來完成。
建議容器里保存的是模型對象的快捷方式。原始信息建議不要放到容器里面。因為在要是把這些信息放到容器里,在PowerDesigner的模型合并或者逆向工程時,這種方式的信息可能得不到維護。
PowerDesigner的包下面的PhysicalDiagram,建議采用象ERWin的Subject Area那樣,按照某個主題或者業務角度的方式來組織PhysicalDiagram包含的對象,使得每個PhysicalDiagram的功能明確。

1.6.視圖(View)的使用
視圖一般是數據表或者視圖上建立得來的(當然也可能引用了某個存儲過程)。一般視圖的模型中應該維護視圖的數據來源的引用信息。
在我們現在的項目中數據庫模型沒有對視圖進行維護,為此需要在建立視圖的Powerdesigner
模型。
我在Powerdesigner9.5環境下通過逆向工程不能夠獲得視圖(view)的腳本,通過修改相關配
置參數,還是不能夠獲得腳本。
可以通過以下2方法獲得視圖(view)的腳本。
方法1:使用powerdesigner8.0的逆向工程獲得視圖的腳本,然后在Powerdesigner9.5中把視
圖的模型合并進來,這樣就可以對視圖進行維護了。
方法2:使用Erwin逆向工程獲得視圖的Erwin模型,然后再把模型保存為ERX類型的文件
在Powerdesigner9.5中導入該文件,然后進行合并模型就可以了
PowerDesigner的視圖模型處理能力比較差,不能構維護視圖的依賴關系(也就是建立視圖對數據源的依賴關系),這一點明顯不如ERWin。

1.7.同義詞(synonym)的使用
同義詞相當于給數據庫對象一個別名,提供了位置和數據的獨立性。在跨數據庫用戶訪問對象時,可以考慮建立同義詞結合權限分配,簡化數據庫對象的訪問。

1.8.數據表的使用
數據表的注釋語句的更新。
業務背景:
在我們的項目中,Erwin模型中的數據表的注釋語句沒有同步到Oracle數據庫。現在需要更數據庫中的數據表的注釋語句。
可能可以采取的實現方法:
方法1:Erwin直接正向工程,但是從Erwin直接正向工程由于注釋語句中有回車符號,更新會失敗。
方法2:如果把Erwin模型轉換成為powerdesigner模型再更新數據表的注釋語句,這樣就可以避免回車符號的問題,按正常情況是可以行得通的,但是由于Erwin模型中的邏輯模型和物理模型不一致,甚至它們出現的順序不一致,這樣獲得powerdesigner模型就不正確了,生成的修改數據庫的腳本也就不正確了。
實際采用的方法:
把Erwin模型轉換成powerdesigner模型在Erwin中保存為ERX類型,然后在PowerDesigner導入模型),并且把文件保存為PDM類型(XML格式),刪除模型中的視圖,domains,Business Rule,reference等信息,只留下相關數據表本身的信息,然后把模型文件的后綴修改XML,并且采用XMLSPY生成這個文件的DTD文件,再采用Java編寫了一個基于SAX的程序去解析XML文件,把各個數據表以及字段的注釋語句提取出來,然后更新數據庫中數據表和字段的注釋語句,這樣就可以了。

1.9.ERWin升級到PowerDesigner的相關問題
1.9.1 Domain的升級
從Erwin3.52升級到PowerDesigner9.5時,Domain信息和數據表的關聯關系會丟失,需要手動重新添加2者間的關系。當然可以通過編程修改PowerDesigner的模型文件,添加2者之間的關聯關系。一般的PowerDesigner模型文件較大,只要有個幾十張數據表肯定模型文件有1MB,建議采用SAX的方式添加信息。
注意:添加數據表字段使用的Domain時候,需要設置數據表對Domain的引用關系(也就是Extended Dependencies)。
1.9.2 Business Rule的升級
從Erwin3.52升級到Powerdesigner9.5,Business Rule的表達式(腳本)需要修改的,把所有的
Business Rule的表達式中的@column 修改成%COLUMN%
具體實現的方式,可以直接在Powerdesigner9.5里面修改;或者把模型保存為XML格式(文件類為 .pdm),通過UltraEdit或者XMLSpy等工具來修改,一個查找替換舊搞定了。當然的注意
只能修改<c:BusinessRules> </c:BusinessRules>里面的內容,否則會修改一些不應該修改的地方。
同Domain一樣,從Erwin3.52升級到PowerDesigner9.5時,Business信息和數據表的關聯關系也會丟失。如果Business Rule 不是太多建議手動修改模型文件。

1.9.3.Sequence的升級
.Sequence的升級建議采用和Domain的方式,編程實現維護。
1.9.4.物理圖的升級
從Erwin3.52升級到Powerdesigner9.5,物理圖同樣能夠倒入Powerdesigner9.5中,但是Powerdesigner9.5的升級功能有些問題:在生成的物理圖中數據表的信息有些問題:物理圖中的數據表的字段顯示不完全,而且很多時候數據表字段的類型都不能顯示完全。我使用java采用sax的方式把升級后的模型文件進行解析,然后重新生成物理圖中數據表的位置信息(數據表的2個坐標:左上角坐標,右下角坐標);另外根據業務需要可以生成自己的Powerdesigner9.5包并且可以創建物理圖,把數據表添加到物理圖上。

1.9.5.其他說明
從Erwin3.52升級到Powerdesigner9.5,我寫了一些java程序解決了相關問題,如果哪位同行遇到相似的問題
可以交流一下。
2.關于powerdesigner中的數據結構的變更管理
目前拆遷項目中數據結構的有些失控,在結合powerdesigner包的概念的基礎山上提出如下一些建議。
2.1.數據結構按照業務模塊進行維護
模型中所有的數據結構都在一個文件中,而且在頂層文件夾中各個業務模塊維護的是數據結構的快捷方式。
2.2.數據結構按照其生命周期進行分類管理。
在各個業務模塊的包下面建立如下的包:
2.2.1臨時測試數據結構:
是一些當前業務模塊測試時使用的數據結構,可以隨時被刪除
2.2.2討論中數據結構:
是數據結構處于討論中,還沒有確定下來。
2.2.3需要更新的數據結構:
是數據結構已經確定下來,但是還沒有更新到數據庫中。
2.2.4正式數據結構:
在數據庫中被業務正常使用的數據結構
2.2.5作廢中的數據結構:
在數據庫中以前被業務正常使用,現在已經不再使用,但是還沒有進行
被作廢的數據表中數據的遷移,沒有完全作廢的數據結構。如果要把這些數據結構進行作廢,
需要先進行數據遷移,以及其他相關處理。
2.2.6已經作廢的數據結構:
在數據庫已經不再被使用的業務數據表,相關的數據遷移已經完成,但是數據表還沒有刪除,
相關的文檔沒有更新。



konhon 優華 2005-09-28 19:51 發表評論
]]>
61條面向對象設計的經驗原則 http://www.tkk7.com/konhon/archive/2005/09/27/14220.htmlkonhon 優華konhon 優華Tue, 27 Sep 2005 09:13:00 GMThttp://www.tkk7.com/konhon/archive/2005/09/27/14220.htmlhttp://www.tkk7.com/konhon/comments/14220.htmlhttp://www.tkk7.com/konhon/archive/2005/09/27/14220.html#Feedback0http://www.tkk7.com/konhon/comments/commentRss/14220.htmlhttp://www.tkk7.com/konhon/services/trackbacks/14220.html“你不必嚴格遵守這些原則,違背它們也不會被處以宗教刑罰。但你應當把這些原則看成警鈴,若違背了其中的一條,那么警鈴就會響起。”

----------Arthur J.Riel

(1)所有數據都應該隱藏在所在的類的內部。

(2)類的使用者必須依賴類的共有接口,但類不能依賴它的使用者。

(3)盡量減少類的協議中的消息。

(4)實現所有類都理解的最基本公有接口[例如,拷貝操作(深拷貝和淺拷貝)、相等性判斷、正確輸出內容、從ASCII描述解析等等]。

(5)不要把實現細節(例如放置共用代碼的私有函數)放到類的公有接口中。
如果類的兩個方法有一段公共代碼,那么就可以創建一個防止這些公共代碼的私有函數。

(6)不要以用戶無法使用或不感興趣的東西擾亂類的公有接口。

(7)類之間應該零耦合,或者只有導出耦合關系。也即,一個類要么同另一個類毫無關系,要么只使用另一個類的公有接口中的操作。

(8)類應該只表示一個關鍵抽象。
包中的所有類對于同一類性質的變化應該是共同封閉的。一個變化若對一個包影響,則將對包中的所有類產生影響,而對其他的包不造成任何影響 .

(9)把相關的數據和行為集中放置。
設計者應當留意那些通過get之類操作從別的對象中獲取數據的對象。這種類型的行為暗示著這條經驗原則被違反了。

(10)把不相關的信息放在另一個類中(也即:互不溝通的行為)。
朝著穩定的方向進行依賴.

(11)確保你為之建模的抽象概念是類,而不只是對象扮演的角色。

(12)在水平方向上盡可能統一地分布系統功能,也即:按照設計,頂層類應當統一地共享工作。

(13)在你的系統中不要創建全能類/對象。對名字包含Driver、Manager、System、Susystem的類要特別多加小心。
規劃一個接口而不是實現一個接口。

(14)對公共接口中定義了大量訪問方法的類多加小心。大量訪問方法意味著相關數據和行為沒有集中存放。

(15)對包含太多互不溝通的行為的類多加小心。
這個問題的另一表現是在你的應用程序中的類的公有接口中創建了很多的get和set函數。

(16)在由同用戶界面交互的面向對象模型構成的應用程序中,模型不應該依賴于界面,界面則應當依賴于模型。

(17)盡可能地按照現實世界建模(我們常常為了遵守系統功能分布原則、避免全能類原則以及集中放置相關數據和行為的原則而違背這條原則) 。

(18)從你的設計中去除不需要的類。
一般來說,我們會把這個類降級成一個屬性。

(19)去除系統外的類。
系統外的類的特點是,抽象地看它們只往系統領域發送消息但并不接受系統領域內其他類發出的消息。

(20)不要把操作變成類。質疑任何名字是動詞或者派生自動詞的類,特別是只有一個有意義行為的類。考慮一下那個有意義的行為是否應當遷移到已經存在或者尚未發現的某個類中。

(21)我們在創建應用程序的分析模型時常常引入代理類。在設計階段,我們常會發現很多代理沒有用的,應當去除。

(22)盡量減少類的協作者的數量。
一個類用到的其他類的數目應當盡量少。

(23)盡量減少類和協作者之間傳遞的消息的數量。

(24)盡量減少類和協作者之間的協作量,也即:減少類和協作者之間傳遞的不同消息的數量。

(25)盡量減少類的扇出,也即:減少類定義的消息數和發送的消息數的乘積。

(26)如果類包含另一個類的對象,那么包含類應當給被包含的對象發送消息。也即:包含關系總是意味著使用關系。

(27)類中定義的大多數方法都應當在大多數時間里使用大多數數據成員。

(28)類包含的對象數目不應當超過開發者短期記憶的容量。這個數目常常是6。
當類包含多于6個數據成員時,可以把邏輯相關的數據成員劃分為一組,然后用一個新的包含類去包含這一組成員。

(29)讓系統功能在窄而深的繼承體系中垂直分布。

(30)在實現語義約束時,最好根據類定義來實現。這常常會導致類泛濫成災,在這種情況下,約束應當在類的行為中實現,通常是在構造函數中實現,但不是必須如此。

(31)在類的構造函數中實現語義約束時,把約束測試放在構造函數領域所允許的盡量深的包含層次中。

(32)約束所依賴的語義信息如果經常改變,那么最好放在一個集中式的第3方對象中。

(33)約束所依賴的語義信息如果很少改變,那么最好分布在約束所涉及的各個類中。

(34)類必須知道它包含什么,但是不能知道誰包含它。

(35)共享字面范圍(也就是被同一個類所包含)的對象相互之間不應當有使用關系。

(36)繼承只應被用來為特化層次結構建模。

(37)派生類必須知道基類,基類不應該知道關于它們的派生類的任何信息。

(38)基類中的所有數據都應當是私有的,不要使用保護數據。
類的設計者永遠都不應該把類的使用者不需要的東西放在公有接口中。

(39)在理論上,繼承層次體系應當深一點,越深越好。

(40)在實踐中,繼承層次體系的深度不應當超出一個普通人的短期記憶能力。一個廣為接受的深度值是6。

(41)所有的抽象類都應當是基類。

(42)所有的基類都應當是抽象類。

(43)把數據、行為和/或接口的共性盡可能地放到繼承層次體系的高端。

(44)如果兩個或更多個類共享公共數據(但沒有公共行為),那么應當把公共數據放在一個類中,每個共享這個數據的類都包含這個類。

(45)如果兩個或更多個類有共同的數據和行為(就是方法),那么這些類的每一個都應當從一個表示了這些數據和方法的公共基類繼承。

(46)如果兩個或更多個類共享公共接口(指的是消息,而不是方法),那么只有他們需要被多態地使用時,他們才應當從一個公共基類繼承。

(47)對對象類型的顯示的分情況分析一般是錯誤的。在大多數這樣的情況下,設計者應當使用多態。

(48)對屬性值的顯示的分情況分析常常是錯誤的。類應當解耦合成一個繼承層次結構,每個屬性值都被變換成一個派生類。

(49)不要通過繼承關系來為類的動態語義建模。試圖用靜態語義關系來為動態語義建模會導致在運行時切換類型。

(50)不要把類的對象變成派生類。對任何只有一個實例的派生類都要多加小心。

(51)如果你覺得需要在運行時刻創建新的類,那么退后一步以認清你要創建的是對象。現在,把這些對象概括成一個類。

(52)在派生類中用空方法(也就是什么也不做的方法)來覆寫基類中的方法應當是非法的。

(53)不要把可選包含同對繼承的需要相混淆。把可選包含建模成繼承會帶來泛濫成災的類。

(54)在創建繼承層次時,試著創建可復用的框架,而不是可復用的組件。

(55)如果你在設計中使用了多重繼承,先假設你犯了錯誤。如果沒犯錯誤,你需要設法證明。

(56)只要在面向對象設計中用到了繼承,問自己兩個問題:(1)派生類是否是它繼承的那個東西的一個特殊類型?(2)基類是不是派生類的一部分?

(57)如果你在一個面向對象設計中發現多重繼承關系,確保沒有哪個基類實際上是另一個基類的派生類。

(58)在面向對象設計中如果你需要在包含關系和關聯關系間作出選擇,請選擇包含關系。

(59)不要把全局數據或全局函數用于類的對象的薄記工作。應當使用類變量或類方法。

(60)面向對象設計者不應當讓物理設計準則來破壞他們的邏輯設計。但是,在對邏輯設計作出決策的過程中我們經常用到物理設計準則。

(61)不要繞開公共接口去修改對象的狀態。



konhon 優華 2005-09-27 17:13 發表評論
]]>
個性化Email標志http://www.tkk7.com/konhon/archive/2005/09/26/14064.htmlkonhon 優華konhon 優華Mon, 26 Sep 2005 01:53:00 GMThttp://www.tkk7.com/konhon/archive/2005/09/26/14064.htmlhttp://www.tkk7.com/konhon/comments/14064.htmlhttp://www.tkk7.com/konhon/archive/2005/09/26/14064.html#Feedback0http://www.tkk7.com/konhon/comments/commentRss/14064.htmlhttp://www.tkk7.com/konhon/services/trackbacks/14064.html
http://services.nexodyne.com/email/icon/

這是我的
o_mail.png

konhon 優華 2005-09-26 09:53 發表評論
]]>
UMLhttp://www.tkk7.com/konhon/archive/2005/09/09/12508.htmlkonhon 優華konhon 優華Fri, 09 Sep 2005 02:27:00 GMThttp://www.tkk7.com/konhon/archive/2005/09/09/12508.htmlhttp://www.tkk7.com/konhon/comments/12508.htmlhttp://www.tkk7.com/konhon/archive/2005/09/09/12508.html#Feedback0http://www.tkk7.com/konhon/comments/commentRss/12508.htmlhttp://www.tkk7.com/konhon/services/trackbacks/12508.htmlUML有三類主要的圖, 靜態圖(static diagrams),動態圖(dynamic diagrams),物理圖(physical diagrams)。

靜態圖描述了那些不發生變化的軟件元素的邏輯結構,描繪了類、對象、數據結構及其存在于它們之間的關系。

動態圖展示了在運行期間軟件實體的變化,描繪了執行流程、實體改變狀態的方式。

物理圖顯示了軟件實體的不變化的物理結構,描繪的物理實體有源文件、庫文件、字節文件、數據文件等,以及存在于它們之間的關系。

UML表示:

1)長方形表示類、箭頭表示關系(一般用垂直方向的箭頭表示繼承關系, 水平方向的箭頭表示關聯);
2)圖中所有的關系叫關聯(associations),關聯是簡單的數據關系,用來表示一個對象持有一個另外一個對象的引用,或是調用另外一個對象的方法;
3)關系的名稱映射到持有的引用的變量名稱;
4)挨著箭頭的數字通常用來說明關聯持有實例的數量,如果數字大于1說明采用了某些容器,通常是使用了一個數組;
5)類圖標可以有多于一個的框格,最上面的框格永遠是表示類的名稱,其它的框格描述函數和變量;
6)《interface》符號表示Comparable是一個接口(interface);
7)大多數符號是可選的。
8)在變量和函數的前面有一個字符,一個“-”表示變量或函數是私有(private),“#”表示變量或函數是受保護(protected)的,“+”表示變量或函數是公開的。



konhon 優華 2005-09-09 10:27 發表評論
]]>
面向對象設計的原則http://www.tkk7.com/konhon/archive/2005/09/05/12029.htmlkonhon 優華konhon 優華Mon, 05 Sep 2005 06:05:00 GMThttp://www.tkk7.com/konhon/archive/2005/09/05/12029.htmlhttp://www.tkk7.com/konhon/comments/12029.htmlhttp://www.tkk7.com/konhon/archive/2005/09/05/12029.html#Feedback0http://www.tkk7.com/konhon/comments/commentRss/12029.htmlhttp://www.tkk7.com/konhon/services/trackbacks/12029.html        就一個類而言,應該僅有一個引起它變化的原因。

OCP 開放-封閉原則
         軟件實體(類、模塊、函數)應該可以擴展, 但不可修改。

LSP Liskov替換原則
        子類型必須能夠替換它們的基類型。

DIP 依賴倒置原則
        抽象不應該依賴于細節。細節應該依賴于抽象。

ISP 接口隔離原則
       不應該強迫客戶依賴于它們不用的方法。接口屬于客戶,不屬于它所在的類層次結構。

REP 重用發布等價原則
        重用的粒度就是發布的粒度。

CCP 共同封閉原則
         包中的所有類對于同一類性質的變化應該是共同封閉的,一個變化若對一個包產生影響,則將對該包中的所有類產生影響,而對于其他的包不造成任何影響。

CRP 共同重用原則
         一個包中的所有類應該是共同重用的。如果重用了包中的一個類,那么就要重用包中的所有類。

ADP 無環依賴原則
         朝著穩定的方向進行依賴。

SAP 穩定抽象原則
        包的抽象程度應該和其穩定程度一致。

konhon 優華 2005-09-05 14:05 發表評論
]]>
上午真暈http://www.tkk7.com/konhon/archive/2005/08/31/11608.htmlkonhon 優華konhon 優華Wed, 31 Aug 2005 02:42:00 GMThttp://www.tkk7.com/konhon/archive/2005/08/31/11608.htmlhttp://www.tkk7.com/konhon/comments/11608.htmlhttp://www.tkk7.com/konhon/archive/2005/08/31/11608.html#Feedback0http://www.tkk7.com/konhon/comments/commentRss/11608.htmlhttp://www.tkk7.com/konhon/services/trackbacks/11608.html可能是太長時間沒弄它啦, 今天上午一個小問題 居然發了我兩個小時

konhon 優華 2005-08-31 10:42 發表評論
]]>
Unicode值http://www.tkk7.com/konhon/archive/2005/08/31/11597.htmlkonhon 優華konhon 優華Wed, 31 Aug 2005 00:07:00 GMThttp://www.tkk7.com/konhon/archive/2005/08/31/11597.htmlhttp://www.tkk7.com/konhon/comments/11597.htmlhttp://www.tkk7.com/konhon/archive/2005/08/31/11597.html#Feedback0http://www.tkk7.com/konhon/comments/commentRss/11597.htmlhttp://www.tkk7.com/konhon/services/trackbacks/11597.html在命令提示符下輸入: native2ascii後, 然後再輸入漢字, 就可得到所要漢的Unicode.

漢字=Unicode
零=#38646
壹=#22777
貳=#36144
叁=#21441
肆=#32902
伍=#20237
陸=#38470
柒=#26578
捌=#25420
玖=#29590
拾=#25342
佰=#20336
仟=#20191
萬=#19975
拾=#25342
佰=#20336
仟=#20191
億=#20159
整=#25972
負=#36127
分=#20998
角=#35282
元=#20803


konhon 優華 2005-08-31 08:07 發表評論
]]>
Compierehttp://www.tkk7.com/konhon/archive/2005/08/03/9139.htmlkonhon 優華konhon 優華Wed, 03 Aug 2005 09:03:00 GMThttp://www.tkk7.com/konhon/archive/2005/08/03/9139.htmlhttp://www.tkk7.com/konhon/comments/9139.htmlhttp://www.tkk7.com/konhon/archive/2005/08/03/9139.html#Feedback0http://www.tkk7.com/konhon/comments/commentRss/9139.htmlhttp://www.tkk7.com/konhon/services/trackbacks/9139.html

konhon 優華 2005-08-03 17:03 發表評論
]]>
精美圖標下載http://www.tkk7.com/konhon/archive/2005/08/02/9028.htmlkonhon 優華konhon 優華Tue, 02 Aug 2005 06:54:00 GMThttp://www.tkk7.com/konhon/archive/2005/08/02/9028.htmlhttp://www.tkk7.com/konhon/comments/9028.htmlhttp://www.tkk7.com/konhon/archive/2005/08/02/9028.html#Feedback0http://www.tkk7.com/konhon/comments/commentRss/9028.htmlhttp://www.tkk7.com/konhon/services/trackbacks/9028.htmlhttp://happy.enet.com.cn/php/list.php?cid=83
精美圖標下載.

konhon 優華 2005-08-02 14:54 發表評論
]]>
Eclipse – 整合開發工具(基礎篇)http://www.tkk7.com/konhon/archive/2005/07/05/7140.htmlkonhon 優華konhon 優華Tue, 05 Jul 2005 07:08:00 GMThttp://www.tkk7.com/konhon/archive/2005/07/05/7140.htmlhttp://www.tkk7.com/konhon/comments/7140.htmlhttp://www.tkk7.com/konhon/archive/2005/07/05/7140.html#Feedback0http://www.tkk7.com/konhon/comments/commentRss/7140.htmlhttp://www.tkk7.com/konhon/services/trackbacks/7140.html

konhon 優華 2005-07-05 15:08 發表評論
]]>
主站蜘蛛池模板: 亚洲高清资源在线观看| 免费的一级片网站| 国产成人精品日本亚洲专区61| 亚洲人成网站色7799| 毛片免费视频在线观看| 国产日本亚洲一区二区三区| 无码国产精品一区二区免费式直播| 亚洲综合无码一区二区三区| 国产精品免费福利久久| 好吊妞998视频免费观看在线| 337p日本欧洲亚洲大胆色噜噜| 两个人看的www视频免费完整版| 国产精品无码一二区免费 | 99re视频精品全部免费| 亚洲伊人久久大香线蕉综合图片| 污视频网站免费在线观看| 日韩成全视频观看免费观看高清| 亚洲色一区二区三区四区| 国产大片线上免费观看| 亚洲制服中文字幕第一区| 久久久久国产精品免费看| 国产美女亚洲精品久久久综合| 色婷婷六月亚洲综合香蕉| 日韩亚洲国产高清免费视频| 久久精品亚洲中文字幕无码网站| 曰批全过程免费视频在线观看无码 | 最新猫咪www免费人成| 亚洲国产成人超福利久久精品| 最近免费视频中文字幕大全| 久久久久久亚洲精品中文字幕| 69视频免费观看l| 亚洲欧洲国产综合| 免费A级毛片无码A∨| 久久久青草青青亚洲国产免观| 久久不见久久见免费影院www日本| 好吊妞在线成人免费| 亚洲人成网亚洲欧洲无码| 永久免费毛片在线播放| 中文无码亚洲精品字幕| 毛片大全免费观看| 日本亚洲精品色婷婷在线影院 |