<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Raymond
    Java筆記

    初初接觸Tag的,少有不激動的。就因為它既熟悉又陌生,既簡單又復雜。乍看之下覺得兩下子能弄一個Tag系統出來,再想想又覺得深不可測。可挖掘的東西似乎還有很多很多......

    基于Tag的RSS訂閱 是個好主意。不過首先的確讓人想到spam。Tag同樣存在信息過載的問題。最原始的提高搜索引擎排名的方法,已經太多人用過了:在meta的keyword里面貼一堆無關的關鍵字:二手、超女、手機、新聞、性感、美女、貼圖、援交、筆記本...... 如何保證不在SPAM Blog上面亂貼Tag?

    限制Tag數量?沒用,辛苦點多copy幾個副本就完了。

    技術手段限制?說到底還是成本,技術手段有高低之分,有成本大小區別的。除非對Spam特別不介意的,否則多數用戶狂熱過一段之后,要看有效信息的,最終還是回到少數幾個“權威”這里。這些“權威”不是特定個人就是公司,前者就不是基于Tag了,后者提供的Tag,其實還是Web 1.0的SP,再加一個Tag。

    當然沒必要為了2.0而2.0,我們關心如何更有效獲取自己想要的有效信息,盡量過濾無關信息(尤其是Spam)。

    Tag最大的特點,我以為在“交流”二字。自己貼了個自我感覺良好的傻冒Tag,完了還想看看誰跟我一樣傻... 這個將成為Tag存在的最重要的意義之一。

    最有機會整合Tag功能,也是最需要整合Tag功能的網站,是那些比較重視用戶之間交互的網站,例如BSP、交友圈等等
    posted @ 2006-01-12 21:48 Raymond的Java筆記 閱讀(272) | 評論 (0)編輯 收藏
     
    由一個Document對象,轉換成String,這個方法我幾年前寫的了:
                TransformerFactory tFactory = TransformerFactory.newInstance();
                Transformer transformer 
    = tFactory.newTransformer();
                
    DOMSource source = new DOMSource(inputDoc);
                StringWriter out 
    = new StringWriter();
                StreamResult result 
    = new StreamResult(out);
                transformer.transform(source, result);
                out.flush();
                
    return out.toString();

    一直用是沒有問題的,直到今天在resin上面運行,發現一個奇怪的現象,寫入數據庫的中文都變成了類似&#XXXX; 這種編碼。更加奇怪的是我用應用程序的方式運行,是正常沒問題的。我猜想是resin在某個地方做了設置,在網上搜索又一時找不到好方法,不想為了一個小問題轉用jdom之類的包。

    研究了一下,找到了解決的辦法。在Transformer對象創建之后加一句:
       
       
    transformer.setOutputProperty("encoding","GBK");

    問題解決了。具體的機制還沒有時間去了解,有空再回頭研究吧。
    posted @ 2006-01-09 17:39 Raymond的Java筆記 閱讀(3904) | 評論 (1)編輯 收藏
     
    歷來對framework的感覺是“夠用就可以”的原則。這次想用struts,主要希望jsp里面的邏輯代碼不要太多。但代價當然是Action類會多起來。完全用Struts的設計,也不是不可以,但是復雜度提高的同時,換了一個不會用struts的人來做,要花太多時間講解。折中了一下,決定只用Struts的Action,并且主要使用DispatchAction,這樣Action的類不用太多。

    至于Error和Message,暫時還是自己定義,Tag Library雖然是個好東西,但是讓頁面更加復雜了(個人感覺),暫時不用。

    posted @ 2006-01-09 13:55 Raymond的Java筆記 閱讀(116) | 評論 (0)編輯 收藏
     
    用Ant在JDK1.5下運行java任務時,如果涉及jaxp的DOM,會拋出異常javax.xml.parsers.FactoryConfigurationError

    解決方法:

    把ant的lib下面的xercesImpl.jar放到你的classpath里面。

    應該是ANT對應的classloader出了問題,感覺哪里是硬編碼了必須拿這個xerces的實現類。
    posted @ 2006-01-06 15:19 Raymond的Java筆記 閱讀(1567) | 評論 (0)編輯 收藏
     

    看到一篇文章批評google reader,說界面用了客戶端的腳本變得有趣,但功能太簡單。

    也許是實話,但界面實在太重要了,有時甚至比功能重要。好的界面,起碼第一眼吸引人,有多留一會的欲望。



    posted @ 2005-12-24 22:00 Raymond的Java筆記 閱讀(79) | 評論 (0)編輯 收藏
     
    寫了個SlideShow的原型,利用image的complete,判斷圖片是否調用完全,調用完全以后才顯示,否則是LOADING的圖片,還考慮的是
    1.每調用一張圖片之前先出現loading的過程,
    2.調用圖片中不會因為網速和圖片過大而未顯示全,直接跳到下一張,要按順序一張一張播放.
    3.第一次 播放的時候,因為調用圖片會慢一點,重新播放是調用CACHE里的,速度就快了

    代碼如下:
    <html>
    <head>
    <title>SlideShow</title>
    <script language="JavaScript1.1">
    <!--
    var yourImages = new Array("http://blog.donews.com/images/blog_donews_com/dodo/79382/o_5540320040330075952.jpg","http://www.iqoo.com/tupian/%D0%C7%D7%F9%B1%DA%D6%BD/iqoo_1113__aries.jpg","http://blog.donews.com/images/blog_donews_com/dodo/79382/o_5540320040330081327.jpg","http://blog.donews.com/images/blog_donews_com/dodo/79382/o_5540320040330081426.jpg")
    var currCount=0
    var stop=false
    function getimg(n){
    preImages= new Image()
    preImages.src = yourImages[n]
    }

    function autoPlay(){
    if(currCount!=yourImages.length){
    document.getElementById("img").style.display="none"
    getimg(currCount)
    document.getElementById("loadingbar").style.display="block"
    setTimeout("loadingImg()",1000)
    }
    else{
    currCount=0;
    if (confirm("播放完畢,是否重新播放?")){
    return autoPlay()
    }
    }
    }
    function loadingImg(){
    if (preImages.complete) {
    document.getElementById("img").src="http://blog.donews.com/images/blog_donews_com/dodo/49134/o_pix.gif"
    document.getElementById("loadingbar").style.display="none"

    document.getElementById("img").style.display="block"

    document.getElementById("img").src=yourImages[currCount]
    currCount=currCount+1
    }
    setTimeout("autoPlay()",4000)
    }
    //-->
    </script>
    </head>
    <body bgcolor="#FFFFFF">
    <div style="width:700px">
    <center>
    <a href="javascript:autoPlay()">自動播放</a><br><br>
    <div id="loadingbar" style="display:none;"><img src=http://blog.donews.com/images/blog_donews_com/dodo/49134/o_loading.gif></div>
    <img id="img" src=http://blog.donews.com/images/blog_donews_com/dodo/49134/o_pix.gif >
    <center>
    </div>
    </body>
    </html>


    文章來源:http://blog.itpub.net/post/7956/49057
    posted @ 2005-12-23 09:53 Raymond的Java筆記 閱讀(121) | 評論 (0)編輯 收藏
     

    cron 是一個可以用來根據時間、日期、月份、星期的組合來調度對重復任務的執行的守護進程。

    cron 假定系統持續運行。如果當某任務被調度時系統不在運行,該任務就不會被執行。要調度一次性的任務,請參閱第 37.2 節

    要使用 cron 服務,你必須安裝了 vixie-cron RPM 軟件包,而且必須在運行 crond 服務。要判定該軟件包是否已安裝,使用 rpm -q vixie-cron 命令。要判定該服務是否在運行,使用 /sbin/service crond status 命令。

    37.1.1. 配置 cron 任務

    cron 的主配置文件是 /etc/crontab,它包括下面幾行:

    SHELL=/bin/bash
    PATH=/sbin:/bin:/usr/sbin:/usr/bin
    MAILTO=root
    HOME=/
    
    # run-parts
    01 * * * * root run-parts /etc/cron.hourly
    02 4 * * * root run-parts /etc/cron.daily
    22 4 * * 0 root run-parts /etc/cron.weekly
    42 4 1 * * root run-parts /etc/cron.monthly

    前四行是用來配置 cron 任務運行環境的變量。SHELL 變量的值告訴系統要使用哪個 shell 環境(在這個例子里是 bash shell);PATH 變量定義用來執行命令的路徑。cron 任務的輸出被郵寄給 MAILTO 變量定義的用戶名。如果 MAILTO 變量被定義為空白字符串(MAILTO=""),電子郵件就不會被寄出。HOME 變量可以用來設置在執行命令或腳本時使用的主目錄。

    /etc/crontab 文件中的每一行都代表一項任務,它的格式是:

    minute   hour   day   month   dayofweek   command

    • minute — 分鐘,從 0 到 59 之間的任何整數

    • hour — 小時,從 0 到 23 之間的任何整數

    • day — 日期,從 1 到 31 之間的任何整數(如果指定了月份,必須是該月份的有效日期)

    • month — 月份,從 1 到 12 之間的任何整數(或使用月份的英文簡寫如 jan、feb 等等)

    • dayofweek — 星期,從 0 到 7 之間的任何整數,這里的 0 或 7 代表星期日(或使用星期的英文簡寫如 sun、mon 等等)

    • command — 要執行的命令(命令可以是 ls /proc >> /tmp/proc 之類的命令,也可以是執行你自行編寫的腳本的命令。)

    在以上任何值中,星號(*)可以用來代表所有有效的值。譬如,月份值中的星號意味著在滿足其它制約條件后每月都執行該命令。

    整數間的短線(-)指定一個整數范圍。譬如,1-4 意味著整數 1、2、3、4。

    用逗號(,)隔開的一系列值指定一個列表。譬如,3, 4, 6, 8 標明這四個指定的整數。

    正斜線(/)可以用來指定間隔頻率。在范圍后加上 /<integer> 意味著在范圍內可以跳過 integer。譬如,0-59/2 可以用來在分鐘字段定義每兩分鐘。間隔頻率值還可以和星號一起使用。例如,*/3 的值可以用在月份字段中表示每三個月運行一次任務。

    開頭為井號(#)的行是注釋,不會被處理。

    如你在 /etc/crontab 文件中所見,它使用 run-parts 腳本來執行 /etc/cron.hourly/etc/cron.daily/etc/cron.weekly/etc/cron.monthly 目錄中的腳本,這些腳本被相應地每小時、每日、每周、或每月執行。這些目錄中的文件應該是 shell 腳本。

    如果某 cron 任務需要根據調度來執行,而不是每小時、每日、每周、或每月地執行,它可以被添加到 /etc/cron.d 目錄中。該目錄中的所有文件使用和 /etc/crontab 中一樣的語法。范例請參見例 37-1

    # record the memory usage of the system every monday 
    # at 3:30AM in the file /tmp/meminfo
    30 3 * * mon cat /proc/meminfo >> /tmp/meminfo
    # run custom script the first day of every month at 4:10AM
    10 4 1 * * /root/scripts/backup.sh

    例 37-1. crontab 的例子

    根用戶以外的用戶可以使用 crontab 工具來配置 cron 任務。所有用戶定義的 crontab 都被保存在 /var/spool/cron 目錄中,并使用創建它們的用戶身份來執行。要以某用戶身份創建一個 crontab 項目,登錄為該用戶,然后鍵入 crontab -e 命令,使用由 VISUALEDITOR 環境變量指定的編輯器來編輯該用戶的 crontab。該文件使用的格式和 /etc/crontab 相同。當對 crontab 所做的改變被保存后,該 crontab 文件就會根據該用戶名被保存,并寫入文件 /var/spool/cron/username 中。

    cron 守護進程每分鐘都檢查 /etc/crontab 文件、etc/cron.d/ 目錄、以及 /var/spool/cron 目錄中的改變。如果發現了改變,它們就會被載入內存。這樣,當某個 crontab 文件改變后就不必重新啟動守護進程了。

    37.1.2. 控制對 cron 的使用

    /etc/cron.allow/etc/cron.deny 文件被用來限制對 cron 的使用。這兩個使用控制文件的格式都是每行一個用戶。兩個文件都不允許空格。如果使用控制文件被修改了,cron 守護進程(crond)不必被重啟。使用控制文件在每次用戶添加或刪除一項 cron 任務時都會被讀取。

    無論使用控制文件中的規定如何,根用戶都總是可以使用 cron。

    如果 cron.allow 文件存在,只有其中列出的用戶才被允許使用 cron,并且 cron.deny 文件會被忽略。

    如果 cron.allow 文件不存在,所有在 cron.deny 中列出的用戶都被禁止使用 cron。

    37.1.3. 啟動和停止服務

    要啟動 cron 服務,使用 /sbin/service crond start 命令。要停止該服務,使用 /sbin/service crond stop 命令。推薦你在引導時啟動該服務。



    文章來源:http://blog.itpub.net/post/7956/48958
    posted @ 2005-12-22 09:46 Raymond的Java筆記 閱讀(165) | 評論 (0)編輯 收藏
     

    一臺舊機裝了好多次都不成功,google一下原來因為RedHat對舊款CD-ROM的驅動支持很差。只好從硬盤裝了。

    用了Grub for Dos也是不成,后來用第一張碟上的一個iso映象燒了張啟動盤,啟動之后再選擇從硬盤安裝。OK!搞定了。



    文章來源:http://blog.itpub.net/post/7956/48897
    posted @ 2005-12-21 09:37 Raymond的Java筆記 閱讀(96) | 評論 (0)編輯 收藏
     

    從硬盤安裝Fedora Core 4

    由于我的IBM240沒有光驅,所以安裝Fedora Core 4我選擇硬盤安裝,但Fedora Core 4跟redhat 9.0的硬盤安裝方法有所不同,redhat不需要要安裝其他軟件,只要把光盤的某個目錄拷貝出,然后dos下啟動就可以安裝,但到了Fedora Core 已經沒了類似的目錄,所以硬盤安裝模式有點變化。

    1:首先當然是下載Fedora Core 4的光盤鏡像了,很多地方可以下載,這里提供一個

    ftp://mirror.switch.ch/mirror/fedor...-i386-disc1.iso
    ftp://mirror.switch.ch/mirror/fedor...-i386-disc2.iso
    ftp://mirror.switch.ch/mirror/fedor...-i386-disc3.iso
    ftp://mirror.switch.ch/mirror/fedor...-i386-disc4.iso

    2:把CD1的isolinux目錄解壓到c:下

    3:下載Grub For Dos
    ftp://ftp2.linuxeden.com/tools/grub_for_dos-0.2.0pre13.tar.gz
    解壓把里面的文件和文件夾剪切出,放在解壓后目錄的外邊.此時的路徑為:C:boot

    4:修改boot.ini
    最后面添加這么一行
    C:grldr="GRUB For Dos

    保存退出

    5:修改C:bootgrubmenu.lst

    添加這么幾行

    title Install-Fedora Core 4
    kernel (hd0,0)/isolinux/vmlinuz
    initrd (hd0,0)/isolinux/initrd.img

    注意:我的C盤這里是hd0,0表示第一個ide硬盤第一個分區,大家可根據自己的需要修改硬盤參數

    ok,重新啟動系統,會看到GRUB For Dos 菜單,選擇后,在安裝媒介選擇硬盤安裝就行。



    文章來源:http://blog.itpub.net/post/7956/48838
    posted @ 2005-12-20 16:53 Raymond的Java筆記 閱讀(110) | 評論 (0)編輯 收藏
     

    想在HTML里面通過DOM用JavaScript操作,弄了半天無法將弄好的style節點插入document里面去。后來用排除法,驚奇地發現把style改個別的名字就部出錯了。

    查了一下手冊,原來樣式表的處理是用專門的方法做的,它并不是一個通用的普通Element,Document提供了方法createStyleSheet()來生成一個StyleSheet對象,這個對象再有addRule等其它方法來操作。



    文章來源:http://blog.itpub.net/post/7956/48826
    posted @ 2005-12-20 14:54 Raymond的Java筆記 閱讀(140) | 評論 (0)編輯 收藏
    僅列出標題
    共3頁: 上一頁 1 2 3 下一頁 
     
    主站蜘蛛池模板: 亚洲人成7777| 亚洲午夜国产精品| 一区二区三区免费精品视频 | 亚洲二区在线视频| 日本免费人成视频在线观看| 亚洲AV无码精品色午夜果冻不卡 | 国产免费播放一区二区| 久久精品国产亚洲AV不卡| 国产久爱免费精品视频| 亚洲精品少妇30p| 日韩免费无码一区二区三区| 亚洲美女大bbbbbbbbb| 成人黄色免费网站| 亚洲国产精品免费观看 | 亚洲人成色77777| 午夜网站在线观看免费完整高清观看 | 国产91在线免费| 久久精品无码免费不卡| 亚洲福利在线视频| 国产成人免费爽爽爽视频| 婷婷亚洲综合一区二区| 亚洲人成色7777在线观看不卡 | 久久精品亚洲综合专区| 69精品免费视频| 亚洲精品无码中文久久字幕| 又粗又大又长又爽免费视频| 天堂在线免费观看| 亚洲精品偷拍无码不卡av| 精品久久洲久久久久护士免费| 三级片免费观看久久| 亚洲精品成人无限看| 精品久久8x国产免费观看| 久久精品国产亚洲av品善| 在线亚洲97se亚洲综合在线| 24小时免费看片| 国产在亚洲线视频观看| 亚洲AV乱码久久精品蜜桃| 欧洲美熟女乱又伦免费视频| 免费人成在线观看视频高潮| 亚洲综合中文字幕无线码| 亚洲日本韩国在线|