2006年12月1日
#
create function ts_fmt(TS timestamp, fmt varchar(20))
returns varchar(50)
return
with tmp (dd,mm,yyyy,hh,mi,ss,nnnnnn) as
(
select
substr( digits (day(TS)),9),
substr( digits (month(TS)),9) ,
rtrim(char(year(TS))) ,
substr( digits (hour(TS)),9),
substr( digits (minute(TS)),9),
substr( digits (second(TS)),9),
rtrim(char(microsecond(TS)))
from sysibm.sysdummy1
)
select
case fmt
when 'yyyymmdd'
then yyyy || mm || dd
when 'mm/dd/yyyy'
then mm || '/' || dd || '/' || yyyy
when 'yyyy/dd/mm hh:mi:ss'
then yyyy || '/' || mm || '/' || dd || ' ' ||
hh || ':' || mi || ':' || ss
when 'nnnnnn'
then nnnnnn
else
'date format ' || coalesce(fmt,'
') ||
' not recognized.'
end
from tmp
使用例句:
update t_attachment as a set a.attach_path=(select '/'||rtrim(char(apply_com_id))||'/'||rtrim(char(ts_fmt(apply_date,'yyyymmdd')))||'/' from t_rmbs_claim as c
where a.claim_id=c.claim_id)||rtrim(a.attach_path) where exists (select 1 from t_rmbs_claim as tc where tc.claim_id=a.claim_id);
(1)db2 restore db EFINANCE incremental from /db2/eFinance091228 taken
at 200912282115 on /db2/eFinanceWJ28 into EFINAN28 logtarget
/db2/eFinanceWJ28 redirect generate script restore.clp
說明:EFINANCE 為備份前的數據庫名稱 EFINAN28 為回復后的數據庫名稱 /db2/eFinance091228備份文件存放的路徑 /db2/eFinanceWJ28為還原后日志存放路徑以及還原后數據庫文件路徑。
(2)db2 -tvf restore.clp
如果需要重新指定表空間的路徑請修改該文件
該文件內容如下:
-- *****************************************************************************
-- ** automatically created redirect restore script
-- *****************************************************************************
UPDATE COMMAND OPTIONS USING S ON Z ON EFINANCE_NODE0000.out V ON;
SET CLIENT ATTACH_DBPARTITIONNUM 0;
SET CLIENT CONNECT_DBPARTITIONNUM 0;
-- *****************************************************************************
-- ** automatically created redirect restore script
-- *****************************************************************************
RESTORE DATABASE EFINANCE
-- USER <username>
-- USING '<password>'
FROM '/db2/eFinance091228'
TAKEN AT 20091228211504
ON '/db2/eFinanceWJ28'
DBPATH ON '/db2/eFinanceWJ28'
INTO EFINAN28
LOGTARGET '/db2/eFinanceWJ28/'
-- NEWLOGPATH '/ef/appinst/appinst/NODE0000/SQL00002/SQLOGDIR/'
-- WITH <num-buff> BUFFERS
-- BUFFER <buffer-size>
-- REPLACE HISTORY FILE
-- REPLACE EXISTING
REDIRECT
-- PARALLELISM <n>
-- WITHOUT ROLLING FORWARD
-- WITHOUT PROMPTING
;
-- *****************************************************************************
-- ** table space definition
-- *****************************************************************************
-- *****************************************************************************
-- ** Tablespace name = SYSCATSPACE
-- ** Tablespace ID = 0
-- ** Tablespace Type = Database managed space
-- ** Tablespace Content Type = All permanent data. Regular table space.
-- ** Tablespace Page size (bytes) = 4096
-- ** Tablespace Extent size (pages) = 4
-- ** Using automatic storage = Yes
-- ** Auto-resize enabled = Yes
-- ** Total number of pages = 24576
-- ** Number of usable pages = 24572
-- ** High water mark (pages) = 21080
-- *****************************************************************************
-- *****************************************************************************
-- ** Tablespace name = TEMPSPACE1
-- ** Tablespace ID = 1
-- ** Tablespace Type = System managed space
-- ** Tablespace Content Type = System Temporary data
-- ** Tablespace Page size (bytes) = 4096
-- ** Tablespace Extent size (pages) = 32
-- ** Using automatic storage = Yes
-- ** Total number of pages = 1
-- *****************************************************************************
-- *****************************************************************************
-- ** Tablespace name = USERSPACE1
-- ** Tablespace ID = 2
-- ** Tablespace Type = Database managed space
-- ** Tablespace Content Type = All permanent data. Large table space.
-- ** Tablespace Page size (bytes) = 16384
-- ** Tablespace Extent size (pages) = 32
-- ** Using automatic storage = No
-- ** Auto-resize enabled = No
-- ** Total number of pages = 1310720
-- ** Number of usable pages = 1310688
-- ** High water mark (pages) = 886976
-- *****************************************************************************
SET TABLESPACE CONTAINERS FOR 2
-- IGNORE ROLLFORWARD CONTAINER OPERATIONS
USING (
FILE '/db2/eFinanTS28/eFinance/USERSPACE1' 1310720
);
-- *****************************************************************************
-- ** Tablespace name = TBS_DATA32K
-- ** Tablespace ID = 3
-- ** Tablespace Type = Database managed space
-- ** Tablespace Content Type = All permanent data. Large table space.
-- ** Tablespace Page size (bytes) = 32768
-- ** Tablespace Extent size (pages) = 32
-- ** Using automatic storage = No
-- ** Auto-resize enabled = No
-- ** Total number of pages = 327680
-- ** Number of usable pages = 327648
-- ** High water mark (pages) = 9856
-- *****************************************************************************
SET TABLESPACE CONTAINERS FOR 3
-- IGNORE ROLLFORWARD CONTAINER OPERATIONS
USING (
FILE '/db2/eFinanTS28/eFinance/TBS_DATA32K' 327680
);
-- *****************************************************************************
-- ** Tablespace name = TBS_DATA4K
-- ** Tablespace ID = 4
-- ** Tablespace Type = Database managed space
-- ** Tablespace Content Type = All permanent data. Large table space.
-- ** Tablespace Page size (bytes) = 4096
-- ** Tablespace Extent size (pages) = 32
-- ** Using automatic storage = No
-- ** Auto-resize enabled = No
-- ** Total number of pages = 2621440
-- ** Number of usable pages = 2621408
-- ** High water mark (pages) = 25440
-- *****************************************************************************
SET TABLESPACE CONTAINERS FOR 4
-- IGNORE ROLLFORWARD CONTAINER OPERATIONS
USING (
FILE '/db2/eFinanTS28/eFinance/TBS_DATA4K' 2621440
);
-- *****************************************************************************
-- ** Tablespace name = TBS_IDX4K
-- ** Tablespace ID = 5
-- ** Tablespace Type = Database managed space
-- ** Tablespace Content Type = All permanent data. Large table space.
-- ** Tablespace Page size (bytes) = 4096
-- ** Tablespace Extent size (pages) = 32
-- ** Using automatic storage = No
-- ** Auto-resize enabled = No
-- ** Total number of pages = 2621440
-- ** Number of usable pages = 2621408
-- ** High water mark (pages) = 96
-- *****************************************************************************
SET TABLESPACE CONTAINERS FOR 5
-- IGNORE ROLLFORWARD CONTAINER OPERATIONS
USING (
FILE '/db2/eFinanTS28/eFinance/TBS_IDX4K' 2621440
);
-- *****************************************************************************
-- ** Tablespace name = CMCC_DATA
-- ** Tablespace ID = 6
-- ** Tablespace Type = Database managed space
-- ** Tablespace Content Type = All permanent data. Large table space.
-- ** Tablespace Page size (bytes) = 16384
-- ** Tablespace Extent size (pages) = 32
-- ** Using automatic storage = No
-- ** Auto-resize enabled = No
-- ** Total number of pages = 655360
-- ** Number of usable pages = 655328
-- ** High water mark (pages) = 32736
-- *****************************************************************************
SET TABLESPACE CONTAINERS FOR 6
-- IGNORE ROLLFORWARD CONTAINER OPERATIONS
USING (
FILE '/db2/eFinanTS28/eFinance/CMCC_DATA' 655360
);
-- *****************************************************************************
-- ** Tablespace name = CMCC_DATA32
-- ** Tablespace ID = 7
-- ** Tablespace Type = Database managed space
-- ** Tablespace Content Type = All permanent data. Large table space.
-- ** Tablespace Page size (bytes) = 32768
-- ** Tablespace Extent size (pages) = 32
-- ** Using automatic storage = No
-- ** Auto-resize enabled = No
-- ** Total number of pages = 327680
-- ** Number of usable pages = 327648
-- ** High water mark (pages) = 22496
-- *****************************************************************************
SET TABLESPACE CONTAINERS FOR 7
-- IGNORE ROLLFORWARD CONTAINER OPERATIONS
USING (
FILE '/db2/eFinanTS28/eFinance/CMCC_DATA32' 327680
);
-- *****************************************************************************
-- ** Tablespace name = TBS_IDX01
-- ** Tablespace ID = 8
-- ** Tablespace Type = Database managed space
-- ** Tablespace Content Type = All permanent data. Large table space.
-- ** Tablespace Page size (bytes) = 4096
-- ** Tablespace Extent size (pages) = 32
-- ** Using automatic storage = No
-- ** Auto-resize enabled = No
-- ** Total number of pages = 2621440
-- ** Number of usable pages = 2621408
-- ** High water mark (pages) = 274176
-- *****************************************************************************
SET TABLESPACE CONTAINERS FOR 8
-- IGNORE ROLLFORWARD CONTAINER OPERATIONS
USING (
FILE '/db2/eFinanTS28/eFinance/TBS_IDX01' 2621440
);
-- *****************************************************************************
-- ** Tablespace name = DMS_TMP_32K
-- ** Tablespace ID = 9
-- ** Tablespace Type = Database managed space
-- ** Tablespace Content Type = System Temporary data
-- ** Tablespace Page size (bytes) = 32768
-- ** Tablespace Extent size (pages) = 32
-- ** Using automatic storage = No
-- ** Auto-resize enabled = No
-- ** Total number of pages = 327680
-- ** Number of usable pages = 327648
-- ** High water mark (pages) = 64
-- *****************************************************************************
SET TABLESPACE CONTAINERS FOR 9
-- IGNORE ROLLFORWARD CONTAINER OPERATIONS
USING (
FILE '/db2/eFinanTS28/eFinance/DMS_TMP_32K' 327680
);
-- *****************************************************************************
-- ** Tablespace name = SYSTOOLSPACE
-- ** Tablespace ID = 10
-- ** Tablespace Type = Database managed space
-- ** Tablespace Content Type = All permanent data. Large table space.
-- ** Tablespace Page size (bytes) = 4096
-- ** Tablespace Extent size (pages) = 4
-- ** Using automatic storage = Yes
-- ** Auto-resize enabled = Yes
-- ** Total number of pages = 8192
-- ** Number of usable pages = 8188
-- ** High water mark (pages) = 1512
-- *****************************************************************************
-- *****************************************************************************
-- ** Tablespace name = SYSTOOLSTMPSPACE
-- ** Tablespace ID = 11
-- ** Tablespace Type = System managed space
-- ** Tablespace Content Type = User Temporary data
-- ** Tablespace Page size (bytes) = 4096
-- ** Tablespace Extent size (pages) = 4
-- ** Using automatic storage = Yes
-- ** Total number of pages = 1
-- *****************************************************************************
-- *****************************************************************************
-- ** Tablespace name = EF_ENGINE_16K
-- ** Tablespace ID = 12
-- ** Tablespace Type = Database managed space
-- ** Tablespace Content Type = All permanent data. Large table space.
-- ** Tablespace Page size (bytes) = 16384
-- ** Tablespace Extent size (pages) = 32
-- ** Using automatic storage = No
-- ** Auto-resize enabled = No
-- ** Total number of pages = 655360
-- ** Number of usable pages = 655328
-- ** High water mark (pages) = 96
-- *****************************************************************************
SET TABLESPACE CONTAINERS FOR 12
-- IGNORE ROLLFORWARD CONTAINER OPERATIONS
USING (
FILE '/db2/eFinanTS28/eFinance/EF_ENGINE_16K' 655360
);
-- *****************************************************************************
-- ** Tablespace name = TEMPSPACE16k
-- ** Tablespace ID = 13
-- ** Tablespace Type = System managed space
-- ** Tablespace Content Type = System Temporary data
-- ** Tablespace Page size (bytes) = 16384
-- ** Tablespace Extent size (pages) = 32
-- ** Using automatic storage = No
-- ** Total number of pages = 1
-- *****************************************************************************
SET TABLESPACE CONTAINERS FOR 13
-- IGNORE ROLLFORWARD CONTAINER OPERATIONS
USING (
PATH '/db2/eFinanTS28/eFinance/C0000016k.TMP'
);
-- *****************************************************************************
-- ** start redirected restore
-- *****************************************************************************
RESTORE DATABASE EFINANCE CONTINUE;
-- *****************************************************************************
-- ** end of file
-- *****************************************************************************
(3)db2 rollforward database EFINAN28 to end of logs and complete overflow log path '(/db2/eFinanceWJ28)'
說明:EFINAN28 為還原的數據庫名稱 /db2/eFinanceWJ28為日志存放路徑 注意 日志一定要全 即要包括回復的當天的全部log文件。
http://www.db2china.net/club/?fromuid=328
這個問題一直沒弄明白,今天終于調出來了,其實調一下安全就可以了,如下:
依次打開
控制面板--管理工具--本地安全策略--本地策略--安全選項 在里面找到一個叫:本地帳戶的共享和安全模式的選項,把它改成經典-本地用戶以自己的身份驗證 就可以了
主要思路:
通過Iframe添加滾動條,在調用頁面使用Iframe實現滾動條,在iframe頁面里面實現多選select。通過主頁面將動態option傳遞給iframe的select實現下拉框。通過popup窗口的方式實現提示框。
說明:調用頁面代碼里面還加了一個隱藏多選下拉框的目的是為了將值方便的傳遞以及保持相對較少的代碼改動(主要是修改實現)。
調用頁面代碼:
- <select name=TMPFIELD size=9 style='width:160px;display:none;' multiple>
- <%
- for(int opt5 =0;opt5<cols.size();opt5++){
- RepColsVo colVo =(RepColsVo) cols.get(opt5);
- %>
- <option title="<%=colVo.getRepColdis()%>" value="<%=colVo.getReportColid()%>"><%=colVo.getRepColdis()%></option>
- <%}%>
- </select>
- <iframe name="iframeShowFields" src="<%=request.getContextPath()%>/jsp/include/iframeSelectReports.jsp" id="iframeshow" allowTransparency="true" style="z-index:0;height:150px;width:140px;" scrolling="auto">
- </iframe>
<select name=TMPFIELD size=9 style='width:160px;display:none;' multiple>
<%
for(int opt5 =0;opt5<cols.size();opt5++){
RepColsVo colVo =(RepColsVo) cols.get(opt5);
%>
<option title="<%=colVo.getRepColdis()%>" value="<%=colVo.getReportColid()%>"><%=colVo.getRepColdis()%></option>
<%}%>
</select>
<iframe name="iframeShowFields" src="<%=request.getContextPath()%>/jsp/include/iframeSelectReports.jsp" id="iframeshow" allowTransparency="true" style="z-index:0;height:150px;width:140px;" scrolling="auto">
</iframe>
Iframe頁面內容:
- <html>
- <head>
- <script language="javascript">
- var oP=window.createPopup();
- var globalobject;
- var oPopBody;
- function showTip(_obj){
- globalobject=_obj;
- oPopBody= oP.document.body;
- line=parseInt(event.offsetY/15);
- if(globalobject.options.length>0){
- if(line>globalobject.options.length-1)
- {
- line=globalobject.options.length-1;
- }
- oPopBody.style.background="#fdfce9";
- oPopBody.style.border="solid black 1px";
- oPopBody.innerHTML="";
- var sText =globalobject.options[line].text;
- oPopBody.innerHTML='<div style="font-family:Arial;font-size:12px;">'+sText+'</div>';
- len=globalobject.options[line].text.length*10;
- oP.show(event.clientX+10,event.clientY+10,len, 20,document.body);
- }
- }
- function hideTip(_obj){
- if(oP.isOpen){
- oP.hide();
- }
- }
- function addOption(){
- var s=parent.document.frmdefine.TMPFIELD;
- var len=s.length;
- for(var i=0;i<len;i++)
- {
- var opt=document.createElement("OPTION");
- opt.text=s.options[i].text;
- opt.value=s.options[i].value;
- TMPFIELD.add(opt);
- }
-
-
- }
- </script>
- </head>
- <body bgcolor="#efefef" onload="addOption()">
- <select id="idtmpfield" onclick="showTip(this);" onmouseout="hideTip(this);" name="TMPFIELD" size=9 style="background-color:#efefef;width:auto;height:auto;border-width:0px;border-style:none;position:absolute;z-index:0;line-height:14px;border:none;clip:rect(0 95% 97% 0);margin-left:-13;margin-right:-50;margin-top:-19;margin-bottom:-40" multiple >
- </select>
- </body>
- </html>
效果圖如下:
Google?Baidu?半斤八兩?
我是Google的忠實Fans,也就是傳說中的“狗糞”,可對于Google對于用戶提出的網頁Bug的處理態度不敢恭維。由于我本身就是軟件開發人員也做過好多的軟件測試,在瀏覽網頁什么的時候時不時的就看有什么問題。有些地方雖然是小問題卻反映了一個公司的經營理念,工作態度問題,甚至是那些大牌企業口中的“企業文化”。
可這樣對待一名用戶者提出的問題,確實讓人不恥啊!事情是這樣的我一直都在使用Google文件,在上傳附件的時候需要驗證大小,以前都上傳比較小的文件沒有超過500kb,結果由于沒注意傳了個上M的文件,結果提示我超過上傳限制500KM。俺很納悶試驗了多次也發郵件詢問了幾次,起初Goolgle的牛人門說不接收中文問題求助,麻煩大哥你們是牛,看不是所有問題你們都專家,不是所有人都需要求你們。俺就把郵件用英語又發了一遍,結果是網頁上已經修改為“KB”而不在是不知道什么的“KM”了,可Google沒再給俺下文啊.。也沒說一聲那到底是啥啊,是俺看花眼了,還是你們馬虎了,出了個小小的網頁Bug,俺很是納悶,如果是沒問題那干么要修改啊!
這是小事,卻反映了一種態度。是不是有氣度,號稱很注重企業文化的Google也不過如此啊!當然也不排除有些人為了自己的利益盡量小事化無,那我只能祝福你啦!
不過郵件讓俺刪除了,如果還有郵件的話讓大家鑒識下啊!
下面的Baidu更是讓人覺得太TM有才了,偶不得不佩服,佩服啊!
直接帖郵件啦~~
俺提出的問題:
發件人 : deng947@sohu.com [mailto:deng947@sohu.com]
發送時間 : 2007 年7 月6 日 10:29
收件人 : webmaster@baidu.com
主題 : baidu 用戶關于個人中心的一個網頁問題
百度編輯,您好!
我是百度的用戶,在我登陸百度個人中心的時候看到我的個人中心帳號出現了 “ 歡迎您 ?strong>deng947 | 退出 ”
不知道 ?strong> 是不是網頁的一個小 Bug 啊!
我使用的瀏覽器是 IE7 。在 FireFox 2.0.0 .4 下沒有問題。
此致,
敬禮! 一位百度用戶:陳波
2007 年7 月6 日
Baidu的回復:
尊敬的用戶:
您好!
請您參閱正確的流程來完成您的有疑問問題的反饋。
1、百度貼吧投訴規則:
http://post.baidu.com/f?kz=152755756
2、百度貼吧投訴:
http://post.baidu.com/f?kw=%CC%F9%B0%C9%CD%B6%CB%DF
感謝使用百度! 希望繼續支持與使用百度!
謝謝!
問題是這樣的就是在我登陸百度個人中心的時候看到我的個人中心帳號出現了 “ 歡迎您 ?strong>deng947 | 退出 ”不知道 ?strong> 是不是網頁的一個小 Bug 啊! 我使用的瀏覽器是 IE7 。在 FireFox 2.0.0 .4 下沒有問題。
是啊,俺應該去投訴,卻發現在登錄的時候問題已經消失了,看到俺的用戶名deng947是被加粗了,而不是?strong>啦!
是啊!Baidu回復真是有藝術性啊,俺投訴啥啊!不是所有人都能不能明白一些問題的,只能說你TMD太有才了,太有才了,趙大叔估計都能被你忽悠瘸嘍,你不去賣拐真是侮辱你自己的智商啊。
通過以上兩個問題,俺只能說牛人啊,都TMD不是一般的牛啊,不過可惜我想大家的眼睛是雪亮雪亮滴,我只能說越是小事越能反映素質啊,道哥大喊“素質,素質!”,這樣看來Google、Baidu真的好像是半斤八兩吆!
能夠ping到打印機所在機器的ip地址,試驗了以下,終沒解決:
1種、首先重新啟動有故障的客戶端,然后再嘗試連接。
2種、將連接打印機的服務器所連接的打印機重新共享,并重新命名共享名稱。
其他:
1、是否打開打印服務:“運行”內鍵入 : services.msc , 察看“print spooler” 項是否為啟用狀態。或點擊鼠標右鍵,然后選擇“重新啟用服務”
2、網線損壞,換網線測試。
3、電腦與打印機直接連接。
4、首先打開 “打印機和傳真” 選擇“添加打印機” 下一步 并將 “自動檢測并安裝即插即用打印機”前的勾去掉! 下一步 此時出現 打印機連接端口對話框, 下一步 跳過,接下來會出現 安裝驅動程序對話框,選擇“從磁盤安裝” 安裝相關的正確的驅動程序,下一步,下一步,是否打印測試頁,選擇“否”然后 下一步,點擊 確定并完成。 接下來,右鍵點擊剛剛安裝的打印機,選擇“屬性” 選擇“端口”選擇 “添加端口” 然后雙擊“Local Port” 然后 輸入 安裝打印機的服務器的絕對 路徑和打印機共享名。 如: \\computer\HP1200(注意雙斜扛和單斜扛)
在此處的路徑一定要正確,否則無法連接成功。(提示:服務器端的打印機的共享名稱可以盡可能的簡單,便于正確輸入)
最后發現是我的電腦和打印機所在的機器不在同一個域或工作組中,就無法找到打印機。當時安裝系統的時候自動檢查到工作組,但沒選擇加入,以致于出現了找不到工作組中其他機器共享的文件以及無法添加打印機等問題。
加入工作組問題解決。
日前,美國《Network?World》通過讀者調查,選出了最受讀者歡迎的網絡管理工具,我們也將它們推薦給國內的網管員們,希望能助他們一臂之力,使他們輕松排除網絡故障。?
工具名稱:SolarWinds?Engineer?Edition
網址:
www.solarwinds.net
推薦理由:有讀者說:“在不到一小時的時間內,我從網站上下載并安裝了SolarWinds的授權版本。不久后,我就可以制作線路使用報告了,而且線路使用和基本響應時間功能非常棒,此外,數據還被保存下來,使我可以一個星期、一個月或一年后查看數據。”
工具名稱:NetWatch套件
公司名稱:Crannog?Software
網址:
www.crannog-software.com/netwatch.html
推薦理由:有讀者認為這種軟件由簡單但卻有效的點解決方案構成,這些解決方案在使用和效力上超過了他們所有的更大型的網絡管理產品。
NetFlow?Monitor是另一種解決流量可見性問題的低成本解決方案,但NetWatch使網管員可以通過簡捷的點擊過程定制創建網絡地圖。而
且,這種軟件基本上不需要培訓和維護。
工具名稱:WhatsUp?Gold
公司名稱:Ipswitch
網址:
www.ipswitch.com
推薦理由:用戶對它的評價是具有非常昂貴的產品才擁有的很多功能,而價格卻非常低廉。還有讀者稱:“我們能夠在幾分鐘之內安裝好軟件,自動發現大多數網絡設備,并開始向我們的文本電話機發送狀態報警。此外,我們還監測不應出現問題的服務和Web內容變化。”
另一位用戶還利用它“報告簡單的服務水平協議狀況,讓我的用戶無法在真正發生了多少次故障上弄虛作假。”
工具名稱:Etherpeek?NX、Sniffer?Distributed
公司名稱:WildPackets、NAI
網址:
www.wildpackets.com、
www.networkassociates.com
推薦理由:一位讀者推薦Etherpeek?NX?2.0作為一種“價格低廉、功能優秀”的協議分析儀。Etherpeek?NX?2.0幫助他解決斷續出現的、復雜的應用問題。
另一種讀者推薦的工具是來自NAI的Sniffer?Distributed。他覺得如果工具包中缺少這種工具,他將無法生存。
工具名稱:Packeteer?PacketShaper
網址:
www.packeteer.com
推薦理由:一位讀者說:“當用于應用或主機上時,我們對報告和配置的粒度感到滿意。它使我們可以找到一條完全擁塞的768K?bit/s?WAN鏈路,有效地從它里面得到更多的帶寬。”
工具名稱:NMIS(網絡管理信息系統)
網址:
www.sins.com.au/nmis/
推薦理由:它可以通過開放源代碼GPL許可證免費使用,可以運行在Linux上。有讀者說,它提供的支持“比我得到的任何支持都好。”該工具受到歡迎的另
一個原因在于它帶有儀表板的用戶友好的Web界面,支持“在一個頁面中以一種簡要的、分級的和色塊方式顯示我所有200臺網絡設備的狀態,從而使我可以輕
松地找到問題的根源和范圍。”
工具名稱:Observer
公司名稱:Network?Instruments
網址:
www.networkinstruments.net
推薦理由:這款工具由于“是目前功能最強和最多樣化的平臺”而成為讀者的選擇。
工具名稱:xsight
公司名稱:Aprisma?Spectrum
網址:
www.aprisma.com
推薦理由:有讀者喜歡用Aprisma?Spectrum公司的xsight來進行故障隔離,他說:“xsight與
Attention?Software一起使用可以令人信服地解決報警問題并向他人發出尋呼。”他還使用CiscoWorks來管理和維護他們的
Cisco網絡的防火墻和配置。
工具名稱:MRTG
網址:
www.mrtg.it
推薦理由:據一位讀者稱,多路由流量圖形工具(MRTG)是其最愛,他說:“MRTG在收集有關網絡帶寬使用的統計數據和服務器監控方面表現非常棒。”MRTG不僅是免費的,而且還是通過GNU(通用公用許可)提供的。
工具名稱:PingPlotter、FREEPing
公司名稱:?Nessoft、Tool4ever
網址:
www.pingplotter.com、
www.tools4ever.com
推薦理由:PingPlotter是讀者推薦的一項價格僅為15美元的Ping和Traceroute工具。一旦出現問題,這位讀者就啟動該程序來查找問
題出在哪里。FREEping是另一項讀者推薦的可以免費下載的Ping工具。一位讀者反映,這項工具“雖然非常簡單,但卻在掌握網絡對象的可達性方面非
常有用。”
工具名稱:OpenView
公司名稱:HP
網址:
www.openview.hp.com
推薦理由:HP OpenView受到推薦是因為它可以提供“非常好且非常易好用的映像”。另一個原因是“可以對其進行編程,來做你想要做的任何事情”,尤其是在出現問題時將相關性信息通過E-mail進行報警。
工具名稱:NetScout
公司名稱:NetScout
網址:
www.netscout.com
推薦理由:一位讀者推薦NetScout,是因為它具有良好的故障檢測和性能管理功能。這位讀者說:“雖然它是軟件和硬件的融合體,但卻能與大多數的網絡元件(交換機和路由器)協調工作,而且,大家從一個視圖就能了解企業的運行狀況。”
工具名稱:Servers?Alive
公司名稱:Woodstone?
網址:
www.woodstone.nu/salive/
推薦理由:一位讀者稱,它之所以喜歡Servers?Alive,是因為它很簡單,能夠很好地完成網絡事件任務和進行狀態監控,此外,它的安裝相對來講也很容易。他經營著一個小網絡,發現這個簡單而便宜的工具在他的小網絡環境里運行得非常好,并可通過郵件組獲得支持。
工具名稱:SNMPc?Enterprise
公司名稱:Castlerock?Computing
網址:
www.castlerock.com
推薦理由:一位用戶在推薦SNMPc?Enterprise時表示:“與其他的大家伙相比,它更加易用,而且相當便宜。它的可擴展性非常驚人,使用它的新
版本更容易管理網絡管理系統本身。”他認為該工具的唯一不足就是,它只能在Windows下運行。但你只需花極少的時間就可以習慣這個軟件包,一旦習慣了
之后,用起來就更加容易了。
工具名稱:NexVu
公司名稱:NexVu
網址:
www.nexvu.com
推薦理由:有讀者稱NexVu“是我們曾使用過的工具之中最有趣的一項工具,它可以是性能監控工具、協議分析工具、RMON探頭以及終端服務器……所有這
些功能都融為一體”。作為探測工具的備份選擇,它非常具有吸引力。此外,它還可以提供有關該讀者的Siebel應用系統的實時性能報告。
工具名稱:Qcheck、Chariot
公司名稱:NetIQ
網址:
www.netiq.com
推薦理由:有一位讀者在推薦NetIQ?Qcheck和Chariot時稱,Qcheck是一項免費工具,“它超級簡單,能夠極快地對兩個主機之間的網絡
性能進行檢查,與故障檢修工具一樣棒”。他說他的求助臺使用的就是這種工具。它要求在被測主機上安裝endpoint代理。這些endpoint是免費
的,而且可供各種各樣的系統使用。他說:“我曾要求在我們企業里的每臺臺式機和服務器上裝載這樣的endpoint,從而減少了故障檢修的次數。”關于
Chariot,他說,Chariot“可以對我們所能想象得到的任何網絡進行壓力測試。它在概念設計和論證方面表現的非常好。添加Sniffer插件之
后,就可以使用實際數據對網絡進行測試,更不用說它的易用性了。”提醒大家注意的是,在把這種工具交給未經培訓的新手之時,你必須格外小心,因為它“幾乎
可以把任何網絡都給踩成碎片”。
??? 英國《衛報》評選出的“世界上最有用的100個網站”,從中我們可以了解英國人目前最為關注的網站是哪些,也可以了解目前互聯網發展的趨勢和方向,看看這些網站您是否曾經關注過:
兩年前,多數英國人都沒有安裝寬帶,Web 2.0也剛剛進入開發人員的視野。2006年,許多事情都已經發生了改變。
???????
2004年,因特網還是另外一個樣子:例如,沒有YouTube。許多上網的英國人都沒有安裝。如今這一些都已經發生了戲劇性的變化:現在,超過75%的
用戶已經安裝了寬帶,Web
2.0的到來已經讓訪問網站的速度和運行自己的機器一樣快了。我們可以重溫一下兩年前我們給出的名單。其中一些網站有了新的發展,有些還在原地踏步。這里
我們以20個分類列出100個網站,與上一次的名單相比,這里有許多新的網站,同時也還有許多那時就存在的網站,當然它們依然非常重要。
一、應用軟件
???????
為什么要在瀏覽器中運行一個應用軟件?因為可以與不同位置的人們分享任務,這在進行有密
碼保護的工作時候非常有效。backpackit.com因其簡單的任務,basecamphq.com因其成熟的項目而當選。Tadalis很簡單,類
似于DOS。而Google的Documents &
Spreadsheets需要一個Google帳號(免費的),而且它不打算與微軟競爭。Wikicalc是一個免費的在線電子表格,發展也非常迅速。
backpackit.com
basecamphq.com
tadalist.com
docs.google.com
softwaregarden.com/wkcalpha
Blogs: reading
二、博客:閱讀
互聯網上有著無數的博客服務網站,用戶需要選擇最好的。通過RSS和博
客搜索引擎就
可以簡化工作。Technorati雖然有時候比較詭異,但是一般情況下是一個可以值得信賴的博客導航網站。Icerocket很善于粘住用戶。網民需要
在網上找到能包含自己最感興趣的事,那么Newsgator 和 Google
Reader就是一個很好的選擇。另外,Bloglines也是一個很好的信息獲取網站。
technorati.com
icerocket.com
newsgator.com
google.com/reader
bloglines.com
三、博客:寫作
網民需要找到一個好工具來寫作,而不僅僅是閱讀。開源和免費的軟件程序
Wordpress就突顯了出來,它因自己的創造性、管理能力和發布信息的工具,已經將它的競爭對手遠遠拋在了身后。Wordpress.org是一個免
費的軟件;wordpress.com提供免費包的付費、管理版。Blogger是剩下的里面最好的。Vox靈巧、簡單而且免費,同時包含了很多的社交應
用功能。Statcounter統計非常棒,能為你的網站提供很好的統計數據。免費的Google Analytics也非常好。
wordpress.org
blogger.com
vox.com
statcounter.com
google.com/analytics
四、電子郵件
Google的Gmail是基于網絡的電子郵件系統,缺點就是在英國還
是只有受邀請 才能使用。但是,Yahoo的免費郵件服務是一個厲害的競爭者,而微軟也有Live
Mail。與微軟以前的Hotmail服務不同,如果你30天中不登陸的話,它不會刪除你所有的舊信。在所有這些免費服務商中,Bluebottle因為
它對垃圾郵件的過濾功能而深受人們喜愛。免費版本提供250MB的存儲空間,并且支持POP3
和SMTP標準,因而網民從中可以獲得一個很好的郵件程序和網絡通道。另外還有TempInbox,它提供免費、臨時的郵件帳號,而且不需要注冊。
mail.google.com
mail.yahoo.com
mail.live.com
bluebottle.com
tempinbox.com/english
五、游戲
如今互聯網上有許多視頻游戲網站,你需要一個像Gametab這樣的導
航幫你找到最
好的。Pocketgamer深入研究了手控游戲,Gamasutra收集得非常全面。Gamesfaqs擁有常見問題解答和預演(另外還有游戲的秘笈、
復盤和預覽等)。ESRB允許按照年齡段來搜索。
gametab.com
pocketgamer.co.uk
gamasutra.com
gamefaqs.com
esrb.org/ratings/index.jsp
六、地圖
在Google地圖和人造衛星圖像出現以前,每個人都會看
Ordnance Survey的數據,這意味著它們之間沒有什么區別。Ordnance
Survey已經升級了自己的網站,可以告訴你該買一個地區的哪個地圖。它的地名搜索非常棒。與此同時,New Popular
Edition能夠顯示地區在上個世紀40年代時的樣子,這非常不錯。
maps.google.co.uk
streetmap.co.uk
multimap.com
ordnancesurvey.co.uk
npemap.org.uk
七、新聞:主流媒體
BBC繼續在自己的道路上行進,它提供了多種媒體形式,同時允許用戶添
加自己的評 論。《紐約時報》網站雖然關閉了一些內容,但是它依然非常強大。這兩個網站的RSS
feeds在bbcriver.com和nytimesriver.com上可以使用手機來閱讀。Google新聞也盡其所能,雖然頭條依然是最新的,而
不是最為準確的。Nowpublic是OhMyNews來自美國的競爭對手,宣稱擁有52,000個配備移動電話的業余記者,而且這些人的位置可以通過
GPS或者手機定位來獲得。
news.bbc.co.uk
nytimes.com
news.google.co.uk
english.ohmynews.com
nowpublic.com
八、新聞:推薦
Web
2.0所能做到的一件很好的事情就是,它能夠讓許多人來投票。雖然可能會被濫用,但是一般情況下還是能夠起到很好的作用。那些能讓網民投票的網站,以及博
客熱衷于講故事的網站(memoerandum)現在越來越多了。最大的就是Digg,今年年初已經超過了Slashdot。Reddi如今被《連線》雜
志所收購。Findory有點不同,你越用它學到的就越多。
digg.com
reddit.com
memeorandum.com
megite.com
findory.com
九、特色
Snopes披露難以置信的故事、詭計和城市傳說,并且揭穿或者證實這
些故事。另
外,還有100個看上去無用,但是非比尋常的網絡博物館。其中包括虛擬衛生紙博物館、老計算機網羅博物館和交通信號標識博物館。網民可以通過Weird網
站上的鏈接找到許多其他有趣的網站。Onion是網上的諷刺文學雜志,不過它對美國存在偏見。如果要休息5分鐘,那么可以瀏覽B3ta。這個英國網站每周
發送一次酷站的直郵,它還有一個信息公告板供人們粘貼有趣的處理圖。但是需要注意的是:有人認為,它常常會產生人身攻擊,對于工作的人來說并不安全。
snopes.com
ringsurf.com
theweirdsite.com
theonion.com
b3ta.com
十、政治
對Theyworkforyou和 Publicwhip
來說,MySociety依然是不可戰勝的,因為它將Hansard納入旗下。但是,博客已經開始向大眾披露一些政治人物上不了臺面的事情。Guido
Fawkes有來自威斯敏斯特市的許多內部消息,而NO2ID經常會引發有關政治和科技方面的爭論。與此同時,NHS
23是一個wiki網站,經常討論政治、技術和國民健康保險制度等話題。
theyworkforyou.com
publicwhip.org.uk
5thnovember.blogspot.com
no2id.net
editthis.info/nhs_it_info
十一、公眾行為
需要揭露一些當權者的弊政了。網絡的不同之處在于它的不斷成長,政治家
如今也上網。 而且也有一些請愿的網站。Pledgebank 和HearfromyourMP都是MySociety
(mysociety.org)家族下的網站,讓市民和決策者之間有個交流,這樣才使得人們有所期待。包括The Virtual
Activist的Netaction網站,是網民在線提出方案的一個重要工具。那些對發展自己地區有興趣的人可以上Timebank,可以找到一些用于
打發業余時間的組織。
pledgebank.com
petitions.pm.gov.uk
hearfromyourmp.com
netaction.org
timebank.org.uk
十二、廣播
廣播現在已經傳遞到千家萬戶。BBC在這里占據優勢地位,但是依然有許
多地方站從
AOL的短訊中獲取即時的新聞,這非常有趣。雷達和無線電設備遍布世界,所以你總能找到可以聽的東西。Reciva做的事情也是一樣,但是如果你購買了它
的網絡收音機,你可以在線添加你自己喜歡的節目。
bbc.co.uk/radio
shoutcast.com
radio-locator.com
live-radio.net
reciva.com
十三、推薦:音樂
能夠發現與你喜歡的音樂相似的素材,這一點顯得越來越重要,無論是收聽
者還是唱片公
司都希望從中獲利。Last.fm需要在你的機器上運行一個軟件,顯示其他人有此音樂的人喜歡的是什么。Pandora稱你需要一個美國的郵編,給它一個
然后你就可以聽到精心挑選的節目了。Liveplasma能夠搜索相關的電影和音樂。Tuneglue是last.fm與EMI投資的一個新網站,使用
Amazon和last.fm的數據。Goombah需要下載,而且只能在iTunes中播放音樂,但是有時也還是比較重要。
last.fm
pandora.com
liveplasma.com
audiomap.tuneglue.net
goombah.com
十四、索引
Wikipedia占據了索引網站的主導地位,部分原因是因為它的網頁
與
Google高度相關。用戶撰寫的東西,雖然不是十分可信,但是卻是非常有趣的。Wikipedia一直與大英百科全書競爭,而大英百科全書不是免費的。
另外一個可選的網站是HighBeam 百科全書,它從哥倫比亞百科全書上搜索了超過57,000篇文章。另外,Jim
Martindale索引創建于1994年,提供了大量的索引資源。對于單詞來說,最好使用Onelook,它提供了931個詞典中的750萬單詞。而且
它還能夠根據單詞的意思來查找到單詞。最后,Teldir與世界上的在線電話簿相聯系。
en.wikipedia.org
encyclopedia.com
martindalecenter.com
onelook.com
infobel.com/teldir
十五、科學
Alphagalileo提供了歐洲面對民眾的科學信息,是
eurekalert的
對應網站。Eurekalert是美國的協會,主要是為前沿科學發布宣言的。Space.com依然關注于空間科學。Nasa包含了財富方面的信息。氣候
變化重要性的突顯使得有氣候變化學家撰寫的RealClimate博客的地位也越來越高了。
alphagalileo.org
eurekalert.org
space.com
nasa.gov/home
realclimate.org
十六、搜索
Google依然是我們獲取信息的主要手段(占據所有搜索用戶的一
半),但是這并不
意味著它是最好的。如今的搜索可以包含硬件、博客、圖像、點對點甚至是過去的歷史記錄。Blinkx因其對視頻的專著依然是獨特的,而Ask也取得了很大
的進步,雖然它只吸引了很少的用戶。
google.co.uk
search.yahoo.com
search.msn.co.uk
blinkx.com
ask.com
十七、社交
網民可以在網上找到與自己興趣相同的人,可以創建自己的個人空間與別人分享。社交網絡現在越來越多,但是依然沒有阻止MySpace成為老大。Bebo也很流行。Habbo吸引了很多年輕人,而Friendster 和LinkedIn則吸引了很多年齡大的網民。
myspace.com
bebo.com
habbo.com
friendster.com
linkedin.com
十八、視頻
雖然YouTube上的人非常多,但是它不是唯一能夠找到視頻的網站。
Revver 提供了一個收益分享系統,當別人觀看你的視頻的時候,你就可以獲得一定的現金。你也可以在brightcove
和currenttv創建自己的電臺。另外,Videojug上演示了怎么去做那些可能有用的工作。
youtube.com
revver.com
brightcove.com
currenttv.com
videojug.com
十九、虛擬世界
與MySpace等社交網站不同的是,虛擬世界給你一個替身,用于代表
虛擬世界中的 你。寬帶的使用加速了計算機運行速度,使得這一切變成可能。BBC在Second
Life上舉行一場音樂會,這聽起來比較詭異。IBM首席執行官擁有了一個替身,這使得Habbo Hotel上人滿為患。World of
Warcraft擁有數百萬的用戶,并且在尋找自己的文化。用戶也可以在Sims在線上玩耍。大量新人的涌現是否會讓這個世界上的人與人之間變得更加冷
漠,這依然是一個未知的問題。
secondlife.com
habbohotel.co.uk
worldofwarcraft.com
thesimsonline.com
eqplayers.station.sony.com/index.vm
二十、時代潮流
這個每個人都在談論的。這些網站之所以如此引人注目,是因為它們代表了
整個世界在思
考些什么。看著它們從我們身邊經過,不要忘記:YouTube是網絡上流動的圖像;Flickr是靜止的圖像;Google的搜索趨勢代表者整個世界在尋
找的東西;Digg表示我們找到了什么;Technorati表示人們正在寫著什么。
youtube.com
flickr.com
google.com/trends
digg.com
technorati.com
?
?????????????????????????
我哭了,是因為幸福?是因為我自己的無奈?
?
我哭了,是幸福的痛哭,是激動的淚光。
我知道生活不容易,快樂的生活是需要平和的心態的。可我是不是對生活要求太多了呢?我不得不承認我在一些地方還是很出色的,即便如此我不能以要求我自己的眼光去要求我的朋友,我的同學們。我知道每個人都不容易,可我為什么還要如此執著,如此虐待自己呢?
是啊!你很清楚滴知道自己,你知道自己的弱點,你了解自己,可是你缺乏足夠的應變能力,你可以很好的選擇生活,可你永遠不能讓自己成功。是什么?是什么讓你生活如此艱難。是你的自以為是,是你的死板呆滯,我知道想要成功不是那么容易,在通往成功的道路上你缺少了某項能力,是成功需要的野心,是成功需要的耐心,所以你很難取得成功,除非你自己創業,我知道你的眼光絕對是獨一無二的,你的眼光早已超出了周圍的人,可是你沒有能力去適當的表現,悲哀啊!一個有思想的人卻無法實現自己的理想。
也許今天的痛哭是因為喜悅,因為我除了黃健翔以外,我又找到了最喜歡的評論員-徐陽。其實了解起來才知道每個人都不容易,關鍵是有沒有勇氣去面對抉擇,去選擇適合自己的道路。鄭智進球了,我真的哭了,是幸福的眼淚,絕對是幸福是激動。我想起來我看國的國家隊的比賽,是一樣的那種激動,是的于我無關,我卻不能不關心。亞洲杯上的那記“勺子”點球我不會忘記,雖然我不了解你,我不清楚你,但我知道你有一種不同于一般人的思想,你卻很好的處理好了你自己的心態,你將自己的優勢轉化為了你的成功,在我追求人生的道路我理解你的行為是“俗化”,可要成功就只能如此。因為你的成功是為著一大幫平凡人的,絕對不能只是你自己的成功。
我不想快點清醒,因為清醒可能意味著我繼續麻木不仁,意味著我的平凡繼續,意味著我的才華的浪費,意味著我每次反省后的更深的自責。
我為什么下不了決心,我真的想大喊:“王侯將相,寧有種乎?”。可我每次都少了底氣,是我沒有自信,沒有勇氣去面對這些。我知道我一定不會這樣平凡下去。不管怎樣我都要成功。不是一般人的成功,是我追求的成功,是我自己認為的成功。
我希望下次悲傷的時候不是因為我沒有去追逐自己理想而悲傷,而是因為幸福太多不好抉擇的煩惱。我知道,也許心情是需要時間的。
期待鄭智的下一個進球,期待徐陽的精彩解說,期待我的期待。
大家快在 MSN 名字前加上 I'M 吧
大家可能會發現最近會看到朋友清單里多了一個從來沒看過的圖示,當初還以為只是新增的表情符號哩!沒想到居然是個很有意義活動!那么到底是什么呢?這里告訴你!現在就算你只是聊聊天也能做慈善! 微軟的實時通訊軟件,也是當紅的實時通訊軟件,在Windows Live Messenger 8.1版之后,只要你在昵稱上面加入可愛的秘密圖示 ,以后你跟朋友每聊一次天,微軟就會將部分廣告收入捐給紅十字會、艾滋病協會等的慈善或福利機構,而且捐款金額無上限,你聊越多微軟就捐越多,而且在第一年每個機構的捐款下限是十萬美元,所以大家趕快加入 ,跟平常一樣聊天就能做慈善,何樂而不為呢!
如何加入
有意義的表情符號?
開啟Windows Live Messenger 8.1 主窗口 ,在顯示名稱的地方開啟下拉選單,點選 "選項"。
2。打入下列特定碼,就可以顯示圖標,雖然圖標都相同,但是背后會根據你所打的特定碼把捐款捐到特定的慈善機構。
特定碼 機構
*red+u American Red Cross 美國紅十字會
*bgca Boys & Girls Club 兒童群益會
*naf National AIDS Fund 美國國家愛滋基金
*mssoc National Multiple Sclerosis Society 國家多發性硬化癥學會
*9mil ninemillion.org 國際兒童難民援助組織
*sierra Sierra Club 山巒協會(保護自然生態的)/地球環境協會
*help StopGlobalWarming.org 防止全球溫室效應惡化的機構
*komen Susan G. Komen for the Cure 乳癌基金會
*unicef The US fund for UNICEF 美國地區聯合國兒童基金會
*wwf World Wildlife Fund for Nature 世界自然基金會
*oxfam The Oxford Committee for Famine Relief 樂施會
(協助解決當時世界各地饑荒及貧窮問題)
*care 國際關懷協會
*hsus The Humane Society of the United States 美國人道協會
*acs American Cancer Society 美國癌癥協會
*one ONE Campaign-全球消除貧困與對抗愛滋的組織(GCAP)
按下"確定"儲存妳的昵稱,現在起,你每聊一次天都可以做善事啰!!
I'm 是微軟最新的一個資助慈善組織的活動,? ?
I'm官方網站
http://im.live.com/Messenger/IM/Home/是微軟最新的一個資助慈善組織的活動。你可以在你的 Windows Live Messenger 的昵稱前加上一串特殊代碼,以表示你支持九個慈善組織中的其中一個,而你的昵稱前也會出現一個的標志。
所有參加此活動的慈善組織都將在此活動的第一年獲得最低10萬美元的捐款,最高不限上額。而最高能達到多少,則取決于有多少人愿意在自己的昵稱前加上該組織的代碼。
所有的參與活動的慈善組織:
American Red Cross —— 準備提供幫助,代碼 = *red+u
Boys & Girls Clubs of America —— 為孩子提供理想的環境,代碼 = *bgca
National AIDS Fund —— 與艾滋病(AIDS)抗爭,代碼 = *naf
National MS Society —— 參與到解決多發性硬化癥(MS)的運動,代碼 = *mssoc
ninemillion.org —— 幫助9百萬流離失所的孩子,代碼 = *9mil
Sierra Club —— 探索和保護這個星球,代碼 = *sierra
StopGlobalWarming.org —— 阻止全球變暖,代碼 = *help
Susan G. Komen for the Cure —— 尋找乳腺癌的治愈方法, 代碼 = *komen
UNICEF —— 救助生死邊緣徘徊的孩子,代碼 = *unicef
點擊各個組織后面的圖標進入各個慈善組織的介紹頁,除了查詢更為詳細的介紹信息,還能下載微軟為此次活動專門設計的 Windows Live Messenger 皮膚,各個組織各有一款。
軟件未來可能趨勢預測
――我從模擬人生游戲想到的
關鍵字:軟件 趨勢 預測 虛擬現實
我從事軟件才不過兩年時間,似乎預測的信服度不高。但是我覺得想法和對生活的思考不是每個人都有的,這個“有”字用的夸張了點,可是你有這個能力,你不去使用不去表現還是一樣不能說你“有”啊。
既然模擬人生這樣的游戲可以火爆,我認為模擬現實的軟件也具備火爆的潛質。如此的
說法肯定令人難以相信,我就列舉下優點:
一、 接近生活,完全不需要在去學習一些軟件操作的規章制度,軟件廠商幾乎不用花費時間、精力去培訓客戶使用軟件。
二、 具體的用戶還是以方便實用作為評價軟件的依據,我覺得生活虛擬化在軟件中體現而又不完全失去生活中的特色,還能讓用戶很熟悉的工作,當然好用了 ^_^。
三、 軟件廠商的考慮的問題是效益問題。如果打開市場,加大宣傳力度,毅力世界優秀軟件企業之林不是夢想。
四、 是一種創新,一種思路的改變,說不定弄個什么星火科技進步獎、創新獎什么的都不是沒有可能的吆!
先說這么多吧,再多了我也沒去仔細考量,見諒!見諒!。分析下可行性:
我用Java語言,自然從Java語言的實現上說起。
一、 整個的軟件系統就是現實的縮影或者是現實的縮小以及計算機化。解釋下就是說把現實世界用高空抓拍或者繪畫技術牛的你也可以自己畫。最好能在頁面上直接畫。這一步實現沒什么難度吧!
二、 把那個圖片掃描到計算機上,按所做系統的使用者們(即我們的用戶)的組織結構劃分圖片,分成各個部門什么的,這一步好像也很簡單啊!
三、 然后按照正常的軟件的思路就可以實現出來了啊!權限部分,簡單想象下如果是普通用戶或者一般的瀏覽者看看整個的圖片啊(現實中也是可以看到的啊!),然后到具體的訪問控制了,用什么實現都好。
四、 人們的虛擬化辦公,人員登陸之后默認登陸在自己的部門、自己的職責,然后就是等待其他用戶的請求和訪問,進行相應的處理。實現也不難吧!
五、 圖片的處理問題,用Applet直接弄圖片似乎速度讓人不好忍受啊,我覺得直接用圖片然后在圖片上用超級鏈接實現上速度可能要快多了,安全性上也再考慮下啊!
說到這里肯定很多人要說我了,軟件的目的是未了簡化生活,這么一弄又恢復到復雜的生活中去了啊,是啊,是回到了生活中啊,但不是原來的世界了啊,是個更快速、更高效、更適應現代生活的軟件世界啊!
還有啊,模擬人生游戲的火爆是由于它是模擬的生活,可它又能然游戲玩家脫離生活實現夢想啊,達到一些在現實中無法實現的愿望,你的模擬軟件可以嗎?
肯定不可以啊,軟件是為了什么而來的啊,簡化生活啊,目的不是脫離生活啊。即使你可以玩模擬人生,但生活還是必須的啊,使用軟件就是你的工作啊,是生活之本啊,你你不可能離開它而一直在模擬人生啊!所以給這樣的軟件使用加上了不得不啊!
我覺得是條開發軟件的路子,你覺得呢?
1.login.jsp中點擊submit按紐后,請求將被發送到web容器的login.action,
2.web容器檢索web.xml,通過
<servlet-mapping>
??????? <servlet-name>webwork</servlet-name>
??????? <url-pattern>*.action</url-pattern>
??? </servlet-mapping>
這一段得到webwork關鍵字,再通過
??? <servlet>
??????? <servlet-name>webwork</servlet-name>
??????? <servlet-class>
??????????? com.opensymphony.webwork.dispatcher.ServletDispatcher
??????? </servlet-class>
??????? <load-on-startup>1</load-on-startup>
??? </servlet>
將請求轉發給com.opensymphony.webwork.dispatcher.ServletDispatcher類來處理,這個類會讀取xwork.xml文件
3.通過和最初login.jsp提交的"login.action"中去掉web.xml中的定義的".action", 得到"login",在xwork.xml中的
??????? <action name="login" class="com.cdpgc.salary.LoginAction">
??????????? <result name="failed" type="dispatcher">login-failed.jsp</result>
??????????? <result name="success" type="dispatcher">login-success.jsp</result>
??????? </action>
找到"login"的定義,并尋找com.cdpgc.salary.LoginAction來處理這個請求,當該對象的execute()方法返回
<result>節點"name"屬性定義的字符串的時候,將結果使用某個jsp來響應.這里是
success->login-success.jsp
failed->login-failed.jsp
4.兩個jsp中使用了
<ww:property value="user" />
來訪問處理類(com.cdpgc.salary.LoginAction)的屬性,它依賴于
<%@ taglib uri="webwork" prefix="ww" %>
定義的標簽庫,而這個標簽庫定義中的uri依賴于web.xml中的
??? <taglib>
??????? <taglib-uri>webwork</taglib-uri>
??????? <taglib-location>
??????????? /WEB-INF/lib/webwork-2.1.7.jar
??????? </taglib-location>
??? </taglib>
定義的taglib-uri名稱
另外,在LoginAction.java中webwork會將發出請求的form中的值--------在<input type='xxx' name='xxx'>中的值
填入到自己的屬性中(如果有同名屬性的化),這樣我們可以獲得請求參數.在處理完畢后,同樣可以設置它,
而在結果jsp中,webwork又會將該值提供給jsp訪問,當然還是基于名稱相同.
遇到問題
一、webwork jar文件添加,需要的Jar需要添加完備。
二、java.lang.NoSuchMethodError: javax.xml.transform.dom.DOMResult.getNextSibling()Lorg/w3c/dom/Node;
??? org.apache.xalan.transformer.TransformerIdentityImpl.createResultContentHandler(TransformerIdentityImpl.java:199)
??? org.apache.xalan.transformer.TransformerIdentityImpl.setDocumentLocator(TransformerIdentityImpl.java:880)
??? com.opensymphony.xwork.util.DomHelper$DOMBuilder.setDocumentLocator(DomHelper.java:233)
??? com.opensymphony.xwork.util.location.LocationAttributes$Pipe.setDocumentLocator(LocationAttributes.java:302)
??? com.opensymphony.xwork.util.DomHelper$StartHandler.setDocumentLocator(DomHelper.java:292)
??? org.apache.xerces.parsers.AbstractSAXParser.startDocument(Unknown Source)
??? org.apache.xerces.impl.dtd.XMLDTDValidator.startDocument(Unknown Source)
??? org.apache.xerces.impl.XMLDocumentScannerImpl.startEntity(Unknown Source)
??? org.apache.xerces.impl.XMLVersionDetector.startDocumentParsing(Unknown Source)
??? org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
??? org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
??? org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
??? org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
??? javax.xml.parsers.SAXParser.parse(Unknown Source)
??? com.opensymphony.xwork.util.DomHelper.parse(DomHelper.java:122)
??? com.opensymphony.xwork.config.providers.XmlConfigurationProvider.loadConfigurationFile(XmlConfigurationProvider.java:642)
??? com.opensymphony.xwork.config.providers.XmlConfigurationProvider.init(XmlConfigurationProvider.java:91)
??? com.opensymphony.xwork.config.impl.DefaultConfiguration.reload(DefaultConfiguration.java:85)
??? com.opensymphony.xwork.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:54)
??? com.opensymphony.xwork.DefaultActionProxy.<init>(DefaultActionProxy.java:57)
??? com.opensymphony.xwork.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:46)
??? com.opensymphony.webwork.dispatcher.DispatcherUtils.serviceAction(DispatcherUtils.java:216)
??? com.opensymphony.webwork.dispatcher.ServletDispatcher.service(ServletDispatcher.java:111)
???
問題原因原來是因為使用了tomcat5.0.28它里面的xml-api.jar把jdk1.5里面的DOMResult沖掉了 ,改用Tomcat的5.5版本問題解決。
三、javax.xml.transform.TransformerFactoryConfigurationError: Provider org.apache.xalan.processor.TransformerFactoryImpl not found
javax.xml.transform.TransformerFactory.newInstance(Unknown Source)
com.opensymphony.xwork.util.DomHelper$DOMBuilder.<clinit>(DomHelper.java:168)
com.opensymphony.xwork.util.DomHelper.parse(DomHelper.java:116)
com.opensymphony.xwork.config.providers.XmlConfigurationProvider.loadConfigurationFile(XmlConfigurationProvider.java:642)
com.opensymphony.xwork.config.providers.XmlConfigurationProvider.init(XmlConfigurationProvider.java:91)
com.opensymphony.xwork.config.impl.DefaultConfiguration.reload(DefaultConfiguration.java:85)
com.opensymphony.xwork.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:54)
com.opensymphony.xwork.DefaultActionProxy.<init>(DefaultActionProxy.java:57)
com.opensymphony.xwork.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:46)
com.opensymphony.webwork.dispatcher.DispatcherUtils.serviceAction(DispatcherUtils.java:216)
com.opensymphony.webwork.dispatcher.ServletDispatcher.service(ServletDispatcher.java:111)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
問題原因缺少xalan.jar文件,去http://xml.apache.org/xalan-j/index.html下載即可。
代碼:login.jsp,loginsucess.jsp,loginfailed.jsp,LoginAction.java.
????? 我們登錄login.jsp,輸入用戶名,post之后,請求將提交給LoginAction處理,如果成功則返回login-success.jsp,否則返回loginfailed.jsp
?
????? login.jsp
<html>
<head>
<title>WebWork Tutorial - Lesson 3 - Example 1</title>
</head>
<body>
<p>
Click the [post] button below to Login.
</p>
<form action="login.action" method="post">
<p>user:<input type="text" name="user" value="" /></p>
<p>password:<input type="password" name="password" value="" /></p>
<p><input type="submit" value="post" /></p>
</form>
</body>
</html>
login-success.jsp
<%@ taglib uri="webwork" prefix="ww" %>
<html>
<head>
<title>welcome to salary</title>
</head>
<body>
<font color="green">
<ww:property value="user" /> has logon [SalaryQueryModule]
</font>
<br>
</body>
</html>
login-failed.jsp
<%@ taglib uri="webwork" prefix="ww" %>
<html>
<head>
<title>failed login</title>
</head>
<body>
<font color="red">
error login by [<ww:property value="user" /> ],invalid user or pwd
</font>
<br>
</body>
</html>
web.xml,位于web-inf目錄下
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
??? xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
??? xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
??? http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
??? <display-name>My WebWork Application</display-name>
??? <servlet>
??????? <servlet-name>webwork</servlet-name>
??????? <servlet-class>
??????????? com.opensymphony.webwork.dispatcher.ServletDispatcher
??????? </servlet-class>
??????? <load-on-startup>1</load-on-startup>
??? </servlet>
??? <servlet-mapping>
??????? <servlet-name>webwork</servlet-name>
??????? <url-pattern>*.action</url-pattern>
??? </servlet-mapping>
???
??? <taglib>
??????? <taglib-uri>webwork</taglib-uri>
??????? <taglib-location>
??????????? /WEB-INF/lib/webwork-2.1.7.jar
??????? </taglib-location>
??? </taglib>
</web-app>
xwork.xml位于web-inf\classes目錄下
<!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN"
"http://www.opensymphony.com/xwork/xwork-1.0.dtd">
<xwork>
??? <!-- Include webwork defaults (from WebWork JAR). -->
??? <include file="webwork-default.xml" />
???
??? <!-- Configuration for the default package. -->
??? <package name="default" extends="webwork-default">
??????? <!-- Default interceptor stack. -->
??????? <default-interceptor-ref name="defaultStack" />
???????
??????? <!-- Action: Lesson 03: HelloAction. -->
??????? <action name="login" class="com.cdpgc.salary.LoginAction">
??????????? <result name="failed" type="dispatcher">login-failed.jsp</result>
??????????? <result name="success" type="dispatcher">login-success.jsp</result>
??????? </action>
??? </package>
</xwork>
LoginAction.java
?1/**//*
?2 * Created on 2005-8-4
?3 *
?4 * TODO To change the template for this generated file go to
?5 * Window - Preferences - Java - Code Style - Code Templates
?6 */
?7package com.cdpgc.salary;
?8
?9import com.opensymphony.xwork.ActionSupport;
10
11/**//**
12 * @author codemyth
13 *
14 * TODO To change the template for this generated type comment go to Window -
15 * Preferences - Java - Code Style - Code Templates
16 */
17public class LoginAction extends ActionSupport {
18
19??? String user;
20??? String password;
21
22??? /**//*
23???? * (non-Javadoc)
24???? *
25???? * @see com.opensymphony.xwork.Action#execute()
26???? */
27??? public String execute() throws Exception {
28??????? // TODO verify user-password
29??????? if (user.equals("bbb"))
30??????????? return super.SUCCESS;
31??????? else
32??????????? return "failed";
33??? }
34??? /**//**
35???? * @return Returns the user.
36???? */
37??? public String getUser() {
38??????? return user;
39??? }
40??? /**//**
41???? * @param user
42???? *??????????? The user to set.
43???? */
44??? public void setUser(String user) {
45??????? this.user = user;
46??? }
47??? /**//**
48???? * @return Returns the password.
49???? */
50??? public String getPassword() {
51??????? return password;
52??? }
53??? /**//**
54???? * @param password
55???? *??????????? The password to set.
56???? */
57??? public void setPassword(String password) {
58??????? this.password = password;
59??? }
60}
文章大部分內容來自http://www.aygfsteel.com/codemyth/archive/2005/08/06/9453.html
result love(boy, girl)
{
?if( boy.有房() and boy.有車() )
?{
? ? ? boy.set(nothing);
? ? ? return girl.嫁給(boy);
?}
?if( girl.愿意等() )
?{
?while(!(boy.賺錢 > 100,000 and girl.感情 > 8 ) )
?{
? ? ? for( day=1; day <=365; day++)
? ? ? {
? ? ? ? ? if( day == 情人節 )
? ? ? ? ? if( boy.givegirl(玫瑰) )
? ? ? ? ? ? ? girl.感情++;
? ? ? ? ? else
? ? ? ? ? ? ? girl.感情--;
? ? ? ? ? if( day == girl.生日 )
? ? ? ? ? if( boy.givegirl(玫瑰) )
? ? ? ? ? {
? ? ? ? ? ? ? girl.感情++;
? ? ? ? ? else
? ? ? ? ? ? ? girl.感情--;
? ? ? ? ? ? ? boy.拼命賺錢();
? ? ? ? ? }
? ? ? }
? ? ? if( boy.有房() and boy.有車() )
? ? ? {
? ? ? ? ? boy.set(nothing);
? ? ? ? ? return girl.嫁給(boy);
? ? ? }
? ? ? 年齡++;
? ? ? girl.感情--;
?}
?return girl.goto( another_boy);
}
你讀明白了?代碼應該很簡單 基本是If 。。。Else。。。
如果不明白請看解釋之后的代碼:
如果男孩有房有車,女孩就嫁給男孩;如果男孩現在什么都沒有,但女孩愿意等,隨著時間增長,當男孩力賺錢超過100000且與女孩的感情加深,如果在情人節和女孩的生日送花,女孩就很開心,否則女孩就失望.男孩拼命賺錢,等有房有車時,女孩就嫁給男孩.隨著年齡的增長,男孩一事無成,女孩就嫁給別人了。