隨筆-31  評論-7  文章-0  trackbacks-0
            2008年8月4日

          內(nèi)容如下:

           

          Code

          大家注意身體啊 



          --------------------------
          09博客園紀(jì)念T恤
          新聞:網(wǎng)站評測:搜狐博客 VS 我燒網(wǎng)
          網(wǎng)站導(dǎo)航: 博客園首頁  個人主頁  新聞  社區(qū)  博問  閃存  找找看
          文章來源:http://www.cnblogs.com/xiaoao808/archive/2009/08/25/1553578.html
          posted @ 2009-08-25 13:33 破名超難起 閱讀(160) | 評論 (0)編輯 收藏

          防盜鏈原理:

          http標(biāo)準(zhǔn)協(xié)議中有專門的字段記錄referer

          一來可以追溯上一個入站地址是什么

          二來對于資源文件,可以跟蹤到包含顯示他的網(wǎng)頁地址是什么。

          因此所有防盜鏈方法都是基于這個Referer字段

          網(wǎng)上比較多的2種

          一種是使用apache文件FileMatch限制,在httpd.conf中增加 ( 其實也可以將把下面的語句存成一個.htaccess文件),并放到你的網(wǎng)站的根目錄(就是www/html目錄),這樣子別人就沒有辦法盜連你的東東了~~

          SetEnvIfNoCase Referer "^
          Order Allow,Deny
          Allow from env=local_ref
          Allow from 127.0.0.1


          這種很方便禁止非允許訪問URL引用各種資源文件

          請大家注意,把第一句"^
          http://www.linji.cn
          我應(yīng)該這么寫的
          "^
          第二種是使用rewrite,需要增加apache的mode_rewrite,支持.htaccess文件目錄權(quán)限限制
          在虛擬主機根目錄增加.htaccess文件,描述從定向,把非本地地址refer的圖片文件都從定向到警告圖片或者警告網(wǎng)頁上。

          首先要確認(rèn)你的服務(wù)器或空間的服務(wù)器解譯引擎為Apache2,還有支持.htaccess客戶設(shè)置文件,
          如果你有自己的服務(wù)器就請先對./conf/httpd.conf 文件做以下修改
          找到:#LoadModule rewrite_module modules/mod_rewrite.so
          把前面的 # 給去丟
          找到等一個 AllowOverride None 改為 AllowOverride All
          重啟Apache2服務(wù)器

          接下就是做一個 .htaccess 文件了,其 .htaccess 文件內(nèi)容為

          RewriteEngine on
          RewriteCond %{HTTP_REFERER} !^
          http://aaoo.net/.*$ [NC]
          RewriteCond %{HTTP_REFERER} !^http://aaoo.net$ [NC]
          RewriteCond %{HTTP_REFERER} !^http://www.aaoo.net/.*$ [NC]
          RewriteCond %{HTTP_REFERER} !^http://www.aaoo.net$ [NC]
          RewriteRule .*.(jpg|jpeg|gif|png|bmp|rar|zip|exe)$ http://down.yoyo.com.ru/err.html [R,NC]

          其中有色的地方都是要改為你的:
          紅色:就是改為你提供下載頁面的地址,也就是只有通過這個地址才可以下載你所提供的東東。
          藍(lán)色:就是要保護(hù)文件的擴展名(以|分開),也就是說以這些為擴展名的文件只有通過紅色的地址才可以訪問。
          綠色:如果不是通過紅色的地址訪問藍(lán)色這些為擴展名的文件時就回重定向到綠色地址上。

          這個方法有個好處是,不同的虛擬主機用不同的描述定義。

          接下就是怎么用 .htaccess 文件來實現(xiàn)防盜鏈了。
          首先要在空間上建兩個目錄(當(dāng)然目錄名隨你),一個為 web 另一個為 down ,
          web 是用來放下載頁面的(或下載程序),down 當(dāng)然就是放你提供的東東的啦,
          把 .htaccess 文件的紅色部分改一下,改為http://你的域名/web。藍(lán)色部分
          改為你要保護(hù)文件的擴展名。綠色部分改為http://你的域名/web。改后保存
          .htaccess 文件把它上傳到 down 目錄。

          還有第三種:

          我在解決plog禁止盜鏈的時候,發(fā)現(xiàn)個問題,也算個好方法。
          plog把所有資源都自己管理起來,用resserver.php來動態(tài)顯示,這樣統(tǒng)一的入口方便添加權(quán)限操作。
          同時造成上面2種方法無法使用,因為不再是apache直接訪問資源文件,而是php通過文件讀取。

          因此只能在代碼中做手腳:在讀取資源文件輸出之前,加如下判斷代碼


          引用

          $referer = $_SERVER['HTTP_REFERER'];
          $selfurl = $_SERVER['HTTP_HOST'];
          if(false == strpos($referer,$selfurl))
          {
          echo '非法盜鏈!';
          exit(1);
          }





          這里有些偷懶,直接看引用地址中是否包含host地址,不過原理就是這樣,判斷referer是否是本站地址。

          我們常常在下載的時候,也碰到盜鏈網(wǎng)站無法下載,報盜鏈的問題。要下載這類文件最簡單的方法就是改referer

          比方flashget中,網(wǎng)址下面的"引用"一欄中,直接填寫下載地址就可以了。



          --------------------------
          09博客園紀(jì)念T恤
          新聞:微軟:不一樣的PowerPoint 2010
          網(wǎng)站導(dǎo)航: 博客園首頁  個人主頁  新聞  社區(qū)  博問  閃存  找找看
          文章來源:http://www.cnblogs.com/xiaoao808/archive/2009/08/21/1551756.html
          posted @ 2009-08-21 23:30 破名超難起 閱讀(333) | 評論 (0)編輯 收藏

          這兩天完善了一下視頻轉(zhuǎn)換這個東西,以前做的那套東西上傳完之后就開始轉(zhuǎn)換,無法適應(yīng)大并發(fā)量下的視頻轉(zhuǎn)換(我覺得同時有10個ffmpeg進(jìn)程在轉(zhuǎn)視頻服務(wù)器肯定要掛掉),所以我用了另一套方案,視頻上傳之后先不轉(zhuǎn)換,把視頻的基本信息存到數(shù)據(jù)庫中,然后由程序定時的從數(shù)據(jù)庫中讀取數(shù)據(jù),依次轉(zhuǎn)換視頻。具體做法是:1、上傳文件,將文件名存入數(shù)據(jù)庫,同時在數(shù)據(jù)庫標(biāo)明videostat字段為0(表示未轉(zhuǎn)換)

            2、通過程序,每隔30秒(根據(jù)不同情況可以改變)取出一個未轉(zhuǎn)換(videostat=0)且失敗次數(shù)小于5(confailtime<5)的紀(jì)錄

            3、開始轉(zhuǎn)換視頻,這里要先將數(shù)據(jù)庫中videostat字段改為2(表示正在轉(zhuǎn)換)不然30秒鐘轉(zhuǎn)換不完下個進(jìn)程又會讀到這條紀(jì)錄開始轉(zhuǎn)換......

            4、等待轉(zhuǎn)換進(jìn)程結(jié)束,如果成功將相應(yīng)紀(jì)錄的videostat字段的值改為1(表示轉(zhuǎn)換成功),若轉(zhuǎn)換失敗則將失敗次數(shù)字段加一(confailtime=confailtime+1)

            在鼓搗這東西的過程中,遇到了一個問題,如果一個進(jìn)程先執(zhí)行p.waitFor();方法而后輸出命令行中的結(jié)果是不行的,即:

          Code

          如果這樣執(zhí)行的話進(jìn)程會掛起,無法繼續(xù)下午,而正確的方法是先讀取命令行的數(shù)據(jù),再來waitFor();

          還有一點需要注意的是獲得命令行的輸出結(jié)果先要從錯誤流中獲得,即(ErrorStream),而非從輸入流(InputStream)中獲得,很有用的經(jīng)驗。



          --------------------------
          09博客園紀(jì)念T恤
          新聞:自由軟件基金會列舉Windows 7之七宗罪
          網(wǎng)站導(dǎo)航: 博客園首頁  個人主頁  新聞  社區(qū)  博問  閃存  找找看
          文章來源:http://www.cnblogs.com/xiaoao808/archive/2009/08/04/1538824.html
          posted @ 2009-08-04 17:45 破名超難起 閱讀(275) | 評論 (0)編輯 收藏

          很久不在這里發(fā)帖子了,最近在家閑來無事,想到轉(zhuǎn)視頻的那東西又要做了,遂翻出以前的帖子,看到一年前豐哥讓我做一下文件上傳的進(jìn)度條....額~~那就做一下吧。

          東西很簡單,主要用到commons-fileupload,其中有一個progressListener的接口,該接口可以實現(xiàn)實時更新已上傳文件的大小,有了這個還說什么呢?

          給出代碼

          代碼

           

          然后在上傳得servlet或action中加入這樣一段代碼,就可以把自定義的progressListener添加進(jìn)去

           

          代碼

           

          最后就是通過js來不斷的訪問另一個servlet來實時返回上傳狀態(tài)就可以了,限于篇幅我就不再貼代碼了,有興趣的讀者可以自己下載來看。

           代碼下載(目標(biāo)另存為就行了)



          --------------------------
          09博客園紀(jì)念T恤
          新聞:網(wǎng)速調(diào)查報告:韓國互聯(lián)網(wǎng)網(wǎng)速全球居首
          網(wǎng)站導(dǎo)航: 博客園首頁  個人主頁  新聞  社區(qū)  博問  閃存  找找看
          文章來源:http://www.cnblogs.com/xiaoao808/archive/2009/08/03/1537870.html
          posted @ 2009-08-03 19:46 破名超難起 閱讀(4901) | 評論 (7)編輯 收藏
          http://family168.com/oa/springsecurity/html/index.html
          posted @ 2009-07-19 18:28 破名超難起 閱讀(198) | 評論 (0)編輯 收藏

          package lc.util;

          import java.math.BigDecimal;

          public class MathHelper {
           private static final int DEF_DIV_SCALE = 10;

           private MathHelper() {

           }

           /**
            * 提供精確的加法運算。
            *
            * @param v1
            *            被加數(shù)
            * @param v2
            *            加數(shù)
            * @return 兩個參數(shù)的和
            */
           public static double add(double v1, double v2) {
            BigDecimal b1 = new BigDecimal(Double.toString(v1));
            BigDecimal b2 = new BigDecimal(Double.toString(v2));
            return b1.add(b2).doubleValue();
           }

           /**
            * 提供精確的減法運算。
            *
            * @param v1
            *            被減數(shù)
            * @param v2
            *            減數(shù)
            * @return 兩個參數(shù)的差
            */
           public static double sub(double v1, double v2) {
            BigDecimal b1 = new BigDecimal(Double.toString(v1));
            BigDecimal b2 = new BigDecimal(Double.toString(v2));
            return b1.subtract(b2).doubleValue();
           }

           /**
            * 提供精確的乘法運算。
            *
            * @param v1
            *            被乘數(shù)
            * @param v2
            *            乘數(shù)
            * @return 兩個參數(shù)的積
            */
           public static double mul(double v1, double v2) {
            BigDecimal b1 = new BigDecimal(Double.toString(v1));
            BigDecimal b2 = new BigDecimal(Double.toString(v2));
            return b1.multiply(b2).doubleValue();
           }

           /**
            * 提供(相對)精確的除法運算,當(dāng)發(fā)生除不盡的情況時,精確到 小數(shù)點以后10位,以后的數(shù)字四舍五入。
            *
            * @param v1
            *            被除數(shù)
            * @param v2
            *            除數(shù)
            * @return 兩個參數(shù)的商
            */
           public static double div(double v1, double v2) {
            return div(v1, v2, DEF_DIV_SCALE);
           }

           /**
            * 提供(相對)精確的除法運算。當(dāng)發(fā)生除不盡的情況時,由scale參數(shù)指 定精度,以后的數(shù)字四舍五入。
            *
            * @param v1
            *            被除數(shù)
            * @param v2
            *            除數(shù)
            * @param scale
            *            表示表示需要精確到小數(shù)點以后幾位。
            * @return 兩個參數(shù)的商
            */

           public static double div(double v1, double v2, int scale) {
            if (scale < 0) {
             throw new IllegalArgumentException(
               "The scale must be a positive integer or zero");
            }
            BigDecimal b1 = new BigDecimal(Double.toString(v1));
            BigDecimal b2 = new BigDecimal(Double.toString(v2));
            return b1.divide(b2, scale, BigDecimal.ROUND_HALF_UP).doubleValue();
           }

           /**
            * 提供精確的小數(shù)位四舍五入處理。
            *
            * @param v
            *            需要四舍五入的數(shù)字
            * @param scale
            *            小數(shù)點后保留幾位
            * @return 四舍五入后的結(jié)果
            */
           public static double round(double v, int scale) {
            if (scale < 0) {
             throw new IllegalArgumentException(
               "The scale must be a positive integer or zero");
            }
            BigDecimal b = new BigDecimal(Double.toString(v));
            BigDecimal one = new BigDecimal("1");
            return b.divide(one, scale, BigDecimal.ROUND_HALF_UP).doubleValue();
           }
          }



          --------------------------
          09博客園紀(jì)念T恤
          新聞:王建宙臺灣布道TD:痛快,一起努力的感覺
          網(wǎng)站導(dǎo)航: 博客園首頁  個人主頁  新聞  社區(qū)  博問  閃存  找找看
          文章來源:http://www.cnblogs.com/xiaoao808/archive/2009/05/20/1469589.html
          posted @ 2009-05-20 17:13 破名超難起 閱讀(313) | 評論 (0)編輯 收藏

          import java.sql.*;

          public class Access

          {

          public static void main(String args[])

          {

          try

          {

          String strurl="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=books.mdb";

          Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

          Connection conn=DriverManager.getConnection(strurl) ;

          Statement stmt=conn.createStatement();

          ResultSet rs=stmt.executeQuery("select * from books");

          if(rs.next())

          {

          System.out.println(rs.getString("簡介"));

          }

          }catch(Exception e)

          {

          System.out.println(e);

          }

          }

          }



          --------------------------
          09博客園紀(jì)念T恤
          新聞:微軟正式對Word禁售令提起上訴 稱法官不懂法
          網(wǎng)站導(dǎo)航: 博客園首頁  個人主頁  新聞  社區(qū)  博問  閃存  找找看
          文章來源:http://www.cnblogs.com/xiaoao808/archive/2009/05/08/1452661.html
          posted @ 2009-05-08 15:08 破名超難起 閱讀(185) | 評論 (0)編輯 收藏

          又一個新聞發(fā)布......比以前的更加人性化了,用到了Struts2、Struts2的JSON插件,前臺js用了Jquery庫,自己看吧。歡迎大家提出自己的寶貴意見。

          關(guān)于顯示新聞的功能我還沒有找到一個合適的AJAX表現(xiàn)形式,所以還沒有完成,歡迎大家給我個建議

           

          點擊下載源碼



          --------------------------
          09博客園紀(jì)念T恤
          新聞:IBM 2009年北美裁員近1萬人
          網(wǎng)站導(dǎo)航: 博客園首頁  個人主頁  新聞  社區(qū)  博問  閃存  找找看
          文章來源:http://www.cnblogs.com/xiaoao808/archive/2009/03/16/1413631.html
          posted @ 2009-03-16 17:48 破名超難起 閱讀(202) | 評論 (0)編輯 收藏

               最近搞的一個通訊錄想要加一個Ajax的自動完成功能,看起來功能雖小,可給用戶的體驗會改進(jìn)不少。在一個介紹了幾十種java的Ajax框架的網(wǎng)頁里面,我找到了AjaxTags這個小東西,開始了我的第一次Ajax之旅。

               從AjaxTags的官方網(wǎng)站上面http://ajaxtags.sourceforge.net/可以下載到其最新的版本,目前是AjaxTags1.3順便下載了一個官方的小例子看了看,確實很好阿,例子中使用Ajax完成了11種功能,然而我需要的是自動完成(autocomplete)部分的代碼,所以重點研究這一部分

                jsp頁面中,首先當(dāng)然是要添加AjaxTags的標(biāo)簽支持,需要如下語句

          Code

               然后在頁面中加入如下的標(biāo)簽

           

          Code

              在官方的例子中使用的是Servlet來完成Ajax,而對于使用struts就不適用了,后面說這個問題。

              在 autocomplete.view對應(yīng)的Servlet類中需要建立xml來供頁面調(diào)取,代碼如下

          Code
              其實還是很簡單的,接下來看CarService的代碼吧,重點其實只有一段,然后在下面顯示出自動提示,于是可以把剛才的那個ajax標(biāo)簽修改如下
          Code

          例子看完了,開始實際操作吧,在我的頁面中,需要通過一個名為"name"的文本框輸入要查詢的人的姓名

          Code

           接下來是我的Action,在寫Action的時候,我以為只需要把原來Servlet繼承的BaseAjaxServlet改為BaseAjaxAction就可以了,可后來才發(fā)現(xiàn),jar包中根本就沒有BaseAjaxAction這個類,無語,去官方網(wǎng)站上看了后才知道,在1.2更新到1.3的時候,把對Struts的支持去掉了,如果想支持Struts的話需要建立自己的BaseAjaxAction

          (Struts removed, to use it create your own BaseAjaxAction.java and implement BaseAjaxXmlAction then just call xml = AjaxActionHelper.invoke(this, request, response);)

          下載了一份AjaxTags的源碼來看,原來AjaxActionHelper.invoke();這個方法需要調(diào)用Action中的getXmlContent方法來完成xml的寫入,那就好說了,代碼如下:

          Code
          剩下工作就是在struts-config.xml中配置對應(yīng)的action,在spring中配置對應(yīng)的bean就ok拉

           



          --------------------------
          09博客園紀(jì)念T恤
          新聞:Office 2010雙拳出擊加強反盜版
          網(wǎng)站導(dǎo)航: 博客園首頁  個人主頁  新聞  社區(qū)  博問  閃存  找找看
          文章來源:http://www.cnblogs.com/xiaoao808/archive/2008/09/22/1295661.html
          posted @ 2008-09-22 09:42 破名超難起 閱讀(209) | 評論 (0)編輯 收藏

          我一直有通宵下東西的習(xí)慣,可又不忍心讓筆記本下載完成后一直等到我睡醒,所以我經(jīng)常用迅雷給我們提供的下載完成后自動關(guān)機這個功能。

          然而現(xiàn)在迅雷運行在了虛擬機里面,這就郁悶了,即使自動關(guān)機也只能關(guān)掉一個虛擬機的進(jìn)程,無奈我想到可不可以用shell程序來監(jiān)測虛擬機的進(jìn)程,當(dāng)他關(guān)閉后就運行關(guān)機的命令,經(jīng)過測試,果然成功了,具體代碼如下:

          Code

          將代碼保存在shutdown.sh文件中

          使用起來也很方便,用"ps ux"找到vbox運行的進(jìn)程,將其對應(yīng)的time command值作為參數(shù)輸入進(jìn)來,例如我的是:

          lichao   10659 91.7 52.0 1224284 1079860 ?     Sl   21:49  11:01 /opt/VirtualBox-1.6.4/VirtualBox -comment winxp -startvm 5e04c66f-82f7-4df0-0f92-8b9113be6f2

          則執(zhí)行上述腳本文件:

          ./ shutdown.sh /opt/VirtualBox-1.6.4/VirtualBox -comment winxp -startvm 5e04c66f-82f7-4df0-0f92-8b9113be6f2

          監(jiān)測開始

          當(dāng)虛擬機關(guān)機后命令行出現(xiàn)如下提示:

          Done..shuting down in 60 seconds.

          60秒后就會關(guān)機拉,如果你還不想關(guān)機,可以Ctrl+Alt+C停止當(dāng)前任務(wù),再進(jìn)行其他操作,怎么樣,挺好使的

          --------------------------
          09博客園紀(jì)念T恤
          新聞:中國聯(lián)通:國際通訊已恢復(fù)至震前水平
          網(wǎng)站導(dǎo)航: 博客園首頁  個人主頁  新聞  社區(qū)  博問  閃存  找找看
          文章來源:http://www.cnblogs.com/xiaoao808/archive/2008/08/21/1273554.html
          posted @ 2008-08-21 22:25 破名超難起 閱讀(520) | 評論 (0)編輯 收藏
          查看軟件xxx安裝內(nèi)容
          • dpkg -L xxx
          查找軟件
          • apt-cache search 正則表達(dá)式
          查找文件屬于哪個包
          • dpkg -S filename
            apt-file search filename
          查詢軟件xxx依賴哪些包
          • apt-cache depends xxx


          查詢軟件xxx被哪些包依賴
          • apt-cache rdepends xxx
          增加一個光盤源
          • sudo apt-cdrom add
          系統(tǒng)升級
          • sudo apt-get update
            sudo apt-get upgrade
            sudo apt-get dist-upgrade
          清除所以刪除包的殘余配置文件
          • dpkg -l |grep ^rc|awk '{print $2}' |tr ["n"] [" "]|sudo xargs dpkg -P -
          編譯時缺少h文件的自動處理
          • sudo auto-apt run ./configure
          查看安裝軟件時下載包的臨時存放目錄
          • ls /var/cache/apt/archives
          備份當(dāng)前系統(tǒng)安裝的所有包的列表
          • dpkg --get-selections | grep -v deinstall > ~/somefile
          從上面?zhèn)浞莸陌惭b包的列表文件恢復(fù)所有包
          • dpkg --set-selections < ~/somefile
            sudo dselect
          清理舊版本的軟件緩存
          • sudo apt-get autoclean
          清理所有軟件緩存
          • sudo apt-get clean
          刪除系統(tǒng)不再使用的孤立軟件
          • sudo apt-get autoremove
          查看包在服務(wù)器上面的地址
          • apt-get -qq --print-uris install ssh | cut -d' -f2
          系統(tǒng) 查看內(nèi)核
          • uname -a
          查看Ubuntu版本
          • cat /etc/issue
          查看內(nèi)核加載的模塊
          • lsmod
          查看PCI設(shè)備
          • lspci
          查看USB設(shè)備
          • lsusb
          查看網(wǎng)卡狀態(tài)
          • sudo ethtool eth0
          查看CPU信息
          • cat /proc/cpuinfo
          顯示當(dāng)前硬件信息
          • lshw
          硬盤 查看硬盤的分區(qū)
          • sudo fdisk -l
          查看IDE硬盤信息
          • sudo hdparm -i /dev/hda
          查看STAT硬盤信息
          • sudo hdparm -I /dev/sda

            sudo apt-get install blktool
            sudo blktool /dev/sda id
          查看硬盤剩余空間
          • df -h
            df -H
          查看目錄占用空間
          • du -hs 目錄名
          優(yōu)盤沒法卸載
          • sync
            fuser -km /media/usbdisk
          內(nèi)存 查看當(dāng)前的內(nèi)存使用情況
          • free -m
          進(jìn)程 查看當(dāng)前有哪些進(jìn)程
          • ps -A
          中止一個進(jìn)程
          • kill 進(jìn)程號(就是ps -A中的第一列的數(shù)字)
            或者 killall 進(jìn)程名
          強制中止一個進(jìn)程(在上面進(jìn)程中止不成功的時候使用)
          • kill -9 進(jìn)程號
            或者 killall -9 進(jìn)程名
          圖形方式中止一個程序
          • xkill 出現(xiàn)骷髏標(biāo)志的鼠標(biāo),點擊需要中止的程序即可
          查看當(dāng)前進(jìn)程的實時狀況
          • top
          查看進(jìn)程打開的文件
          • lsof -p
          ADSL 配置 ADSL
          • sudo pppoeconf
          ADSL手工撥號
          • sudo pon dsl-provider
          激活 ADSL
          • sudo /etc/ppp/pppoe_on_boot
          斷開 ADSL
          • sudo poff
          查看撥號日志
          • sudo plog
          如何設(shè)置動態(tài)域名
          • #首先去 http://www.3322.org 申請一個動態(tài)域名
            #然后修改 /etc/ppp/ip-up 增加撥號時更新域名指令
            sudo vim /etc/ppp/ip-up
            #在最后增加如下行
            w3m -no-cookie -dump 'http://username:password@members.3322.org/dyndns/update?system=dyndns&hostname=yourdns.3322.org'
          網(wǎng)絡(luò) 根據(jù)IP查網(wǎng)卡地址
          • arping IP地址
          查看當(dāng)前IP地址
          • ifconfig eth0 |awk '/inet/ {split($2,x,":");print x[2]}'
          查看當(dāng)前外網(wǎng)的IP地址
          • w3m -no-cookie -dump www.ip138.com|grep -o '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}'
            w3m -no-cookie -dump www.123cha.com|grep -o '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}'
            w3m -no-cookie -dump ip.loveroot.com|grep -o '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}'
          查看當(dāng)前監(jiān)聽80端口的程序
          • lsof -i :80
          查看當(dāng)前網(wǎng)卡的物理地址
          • arp -a | awk '{print $4}'
            ifconfig eth0 | head -1 | awk '{print $5}'
          立即讓網(wǎng)絡(luò)支持nat
          • echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
            sudo iptables -t nat -I POSTROUTING -j MASQUERADE
          查看路由信息
          • netstat -rn
            sudo route -n
          手工增加刪除一條路由
          • sudo route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1
            sudo route del -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1
          修改網(wǎng)卡MAC地址的方法
          • sudo ifconfig eth0 down #關(guān)閉網(wǎng)卡
            sudo ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE #然后改地址
            sudo ifconfig eth0 up #然后啟動網(wǎng)卡
          統(tǒng)計當(dāng)前IP連接的個數(shù)
          • netstat -na|grep ESTABLISHED|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -r -n
            netstat -na|grep SYN|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -r -n
          統(tǒng)計當(dāng)前20000個IP包中大于100個IP包的IP地址
          • tcpdump -tnn -c 20000 -i eth0 | awk -F "." '{print $1"."$2"."$3"."$4}' | sort | uniq -c | sort -nr | awk ' $1 > 100 '
          屏蔽IPV6
          • echo "blacklist ipv6" | sudo tee /etc/modprobe.d/blacklist-ipv6
          服務(wù) 添加一個服務(wù)
          • sudo update-rc.d 服務(wù)名 defaults 99
          刪除一個服務(wù)
          • sudo update-rc.d 服務(wù)名 remove
          臨時重啟一個服務(wù)
          • /etc/init.d/服務(wù)名 restart
          臨時關(guān)閉一個服務(wù)
          • /etc/init.d/服務(wù)名 stop
          臨時啟動一個服務(wù)
          • /etc/init.d/服務(wù)名 start
          設(shè)置 配置默認(rèn)Java使用哪個
          • sudo update-alternatives --config java
          修改用戶資料
          • sudo chfn userid
          給apt設(shè)置代理
          • export http_proxy=http://xx.xx.xx.xx:xxx
          修改系統(tǒng)登錄信息
          • sudo vim /etc/motd
          中文 轉(zhuǎn)換文件名由GBK為UTF8
          • sudo apt-get install convmv
            convmv -r -f cp936 -t utf8 --notest --nosmart *
          批量轉(zhuǎn)換src目錄下的所有文件內(nèi)容由GBK到UTF8
          • find src -type d -exec mkdir -p utf8/{} ;
            find src -type f -exec iconv -f GBK -t UTF-8 {} -o utf8/{} ;
            mv utf8/* src
            rm -fr utf8
          轉(zhuǎn)換文件內(nèi)容由GBK到UTF8
          • iconv -f gbk -t utf8 $i > newfile
          轉(zhuǎn)換 mp3 標(biāo)簽編碼
          • sudo apt-get install python-mutagen
            find . -iname “*.mp3” -execdir mid3iconv -e GBK {} ;
          控制臺下顯示中文
          • sudo apt-get install zhcon
            使用時,輸入zhcon即可
          文件 快速查找某個文件
          • whereis filename
          • find 目錄 -name 文件名
          查看文件類型
          • file filename
          顯示xxx文件倒數(shù)6行的內(nèi)容
          • tail -n 6 xxx
          讓tail不停地讀地最新的內(nèi)容
          • tail -n 10 -f /var/log/apache2/access.log
          查看文件中間的第五行(含)到第10行(含)的內(nèi)容
          • sed -n '5,10p' /var/log/apache2/access.log
          查找包含xxx字符串的文件
          • grep -l -r xxx .
          查找關(guān)于xxx的命令
          • apropos xxx
            man -k xxx
          通過ssh傳輸文件
          • scp -rp /path/filename username@remoteIP:/path #將本地文件拷貝到服務(wù)器上
            scp -rp username@remoteIP:/path/filename /path #將遠(yuǎn)程文件從服務(wù)器下載到本地
          查看某個文件被哪些應(yīng)用程序讀寫
          • lsof 文件名
          把所有文件的后輟由rm改為rmvb
          • rename 's/.rm$/.rmvb/' *
          把所有文件名中的大寫改為小寫
          • rename 'tr/A-Z/a-z/' *
          刪除特殊文件名的文件,如文件名:--help.txt
          • rm -- --help.txt 或者 rm ./--help.txt
          查看當(dāng)前目錄的子目錄
          • ls -d */. 或 echo */.
          將當(dāng)前目錄下最近30天訪問過的文件移動到上級back目錄
          • find . -type f -atime -30 -exec mv {} ../back ;
          將當(dāng)前目錄下最近2小時到8小時之內(nèi)的文件顯示出來
          • find . -mmin +120 -mmin -480 -exec more {} ;
          刪除修改時間在30天之前的所有文件
          • find . -type f -mtime +30 -mtime -3600 -exec rm {} ;
          查找guest用戶的以avi或者rm結(jié)尾的文件并刪除掉
          • find . -name '*.avi' -o -name '*.rm' -user 'guest' -exec rm {} ;
          查找的不以java和xml結(jié)尾,并7天沒有使用的文件刪除掉
          • find . ! -name *.java ! -name ‘*.xml’ -atime +7 -exec rm {} ;
          統(tǒng)計當(dāng)前文件個數(shù)
          • ls /usr/bin|wc -w
          統(tǒng)計當(dāng)前目錄個數(shù)
          • ls -l /usr/bin|grep ^d|wc -l
          顯示當(dāng)前目錄下2006-01-01的文件名
          • ls -l |grep 2006-01-01 |awk '{print $8}'
          壓縮 解壓縮 xxx.tar.gz
          • tar -zxvf xxx.tar.gz
          解壓縮 xxx.tar.bz2
          • tar -jxvf xxx.tar.bz2
          壓縮aaa bbb目錄為xxx.tar.gz
          • tar -zcvf xxx.tar.gz aaa bbb
          壓縮aaa bbb目錄為xxx.tar.bz2
          • tar -jcvf xxx.tar.bz2 aaa bbb
          Nautilus 顯示隱藏文件
          • Ctrl+h
          顯示地址欄
          • Ctrl+l
          特殊 URI 地址
          • * computer:/// - 全部掛載的設(shè)備和網(wǎng)絡(luò)
            * network:/// - 瀏覽可用的網(wǎng)絡(luò)
            * burn:/// - 一個刻錄 CDs/DVDs 的數(shù)據(jù)虛擬目錄
            * smb:/// - 可用的 windows/samba 網(wǎng)絡(luò)資源
            * x-nautilus-desktop:/// - 桌面項目和圖標(biāo)
            * file:/// - 本地文件
            * trash:/// - 本地回收站目錄
            * ftp:// - FTP 文件夾
            * ssh:// - SSH 文件夾
            * fonts:/// - 字體文件夾,可將字體文件拖到此處以完成安裝
            * themes:/// - 系統(tǒng)主題文件夾
          查看已安裝字體
          • 在nautilus的地址欄里輸入”fonts:///“,就可以查看本機所有的fonts
          程序 詳細(xì)顯示程序的運行信息
          • strace -f -F -o outfile <cmd>
          日期和時間 設(shè)置日期
          • #date -s mm/dd/yy
          設(shè)置時間
          • #date -s HH:MM
          將時間寫入CMOS
          • hwclock --systohc
          讀取CMOS時間
          • hwclock --hctosys
          從服務(wù)器上同步時間
          • sudo ntpdate time.nist.gov
            sudo ntpdate time.windows.com
          控制臺 不同控制臺間切換
          • Ctrl + ALT + ←
            Ctrl + ALT + →
          指定控制臺切換
          • Ctrl + ALT + Fn(n:1~7)
          控制臺下滾屏
          • SHIFT + pageUp/pageDown
          控制臺抓圖
          • setterm -dump n(n:1~7)
          數(shù)據(jù)庫 mysql的數(shù)據(jù)庫存放在地方
          • /var/lib/mysql
          從mysql中導(dǎo)出和導(dǎo)入數(shù)據(jù)
          • mysqldump 數(shù)據(jù)庫名 > 文件名 #導(dǎo)出數(shù)據(jù)庫
            mysqladmin create 數(shù)據(jù)庫名 #建立數(shù)據(jù)庫
            mysql 數(shù)據(jù)庫名 < 文件名 #導(dǎo)入數(shù)據(jù)庫
          忘了mysql的root口令怎么辦
          • sudo /etc/init.d/mysql stop
            sudo mysqld_safe --skip-grant-tables &
            sudo mysqladmin -u user password 'newpassword''
            sudo mysqladmin flush-privileges
          修改mysql的root口令
          • sudo mysqladmin -uroot -p password '你的新密碼'
          其它 下載網(wǎng)站文檔
          • wget -r -p -np -k http://www.21cn.com
            · -r:在本機建立服務(wù)器端目錄結(jié)構(gòu);
            · -p: 下載顯示HTML文件的所有圖片;
            · -np:只下載目標(biāo)站點指定目錄及其子目錄的內(nèi)容;
            · -k: 轉(zhuǎn)換非相對鏈接為相對鏈接。
          如何刪除Totem電影播放機的播放歷史記錄
          • rm ~/.recently-used
          如何更換gnome程序的快捷鍵
          • 點擊菜單,鼠標(biāo)停留在某條菜單上,鍵盤輸入任意你所需要的鍵,可以是組合鍵,會立即生效;
            如果要清除該快捷鍵,請使用backspace
          vim 如何顯示彩色字符
          • sudo cp /usr/share/vim/vimcurrent/vimrc_example.vim /usr/share/vim/vimrc
          如何在命令行刪除在會話設(shè)置的啟動程序
          • cd ~/.config/autostart
            rm 需要刪除啟動程序
          如何提高wine的反應(yīng)速度 sudo sed -ie '/GBK/,/^}/d' /usr/share/X11/locale/zh_CN.UTF-8/XLC_LOCALE

          --------------------------
          09博客園紀(jì)念T恤
          新聞:分析稱RSS閱讀器是Web 1.0工具 已逐漸被拋棄
          網(wǎng)站導(dǎo)航: 博客園首頁  個人主頁  新聞  社區(qū)  博問  閃存  找找看
          文章來源:http://www.cnblogs.com/xiaoao808/archive/2008/08/20/1272372.html
          posted @ 2008-08-20 16:27 破名超難起 閱讀(136) | 評論 (0)編輯 收藏
          Hibernate獲取數(shù)據(jù)的方式有不同的幾種,其與緩存結(jié)合使用的效果也不盡相同,而Hibernate中具體怎么使用緩存其實是我們很關(guān)心的一個問題,直接涉及到性能方面。
          緩 存在Hibernate中主要有三個方面:一級緩存、二級緩存和查詢緩存;一級緩存在Hibernate中對應(yīng)的即為session范圍的緩存,也就是當(dāng) session關(guān)閉時緩存即被清除,一級緩存在Hibernate中是不可配置的部分;二級緩存在Hibernate中對應(yīng)的即為 SessionFactory范圍的緩存,通常來講SessionFactory的生命周期和應(yīng)用的生命周期相同,所以可以看成是進(jìn)程緩存或集群緩存,二 級緩存在Hibernate中是可以配置的,可以通過class-cache配置類粒度級別的緩存(class-cache在class中數(shù)據(jù)發(fā)生任何變 化的情況下自動更新),同時也可通過collection-cache配置集合粒度級別的緩存(collection-cache僅在 collection中增加了元素或者刪除了元素的情況下才自動更新,也就是當(dāng)collection中元素發(fā)生值的變化的情況下它是不會自動更新的),緩 存自然會帶來并發(fā)的訪問問題,這個時候相應(yīng)的就要根據(jù)應(yīng)用來設(shè)置緩存所采用的事務(wù)隔離級別,和數(shù)據(jù)庫的事務(wù)隔離級別概念基本一樣,沒什么多介紹的, ^_^;查詢緩存在Hibernate同樣是可配置的,默認(rèn)是關(guān)閉的,可以通過設(shè)置cache.use_ query_cache為true來打開查詢緩 存。根據(jù)緩存的通常實現(xiàn)策略,我們可以來理解Hibernate的這三種緩存,緩存的實現(xiàn)通過是通過key/value的Map方式來實現(xiàn),在 Hibernate的一級、二級和查詢緩存也同樣如此,一級、二級緩存使用的key均為po的主鍵ID,value即為po實例對象,查詢緩存使用的則為 查詢的條件、查詢的參數(shù)、查詢的頁數(shù),value有兩種情況,如果采用的是select po.property這樣的方式那么value為整個結(jié)果集,如采用的是from這樣的方式那么value為獲取的結(jié)果集中各po對象的主鍵ID,這樣 的作用很明顯,節(jié)省內(nèi)存,^_^
          簡單介紹完Hibernate的緩存后,再結(jié)合Hibernate的獲取數(shù)據(jù)方式來說明緩存的具體使用方式,在Hibernate中獲取數(shù)據(jù)常用的方式主要有四種:Session.load、Session.get、Query.list、Query.iterator。
          1、Session.load
                在執(zhí)行session.load時,Hibernate首先從當(dāng)前session的一級緩存中獲取id對應(yīng)的值,在獲取不到的情況下,將根據(jù)該對象是否配 置了二級緩存來做相應(yīng)的處理,如配置了二級緩存,則從二級緩存中獲取id對應(yīng)的值,如仍然獲取不到則還需要根據(jù)是否配置了延遲加載來決定如何執(zhí)行,如未配 置延遲加載則從數(shù)據(jù)庫中直接獲取,在從數(shù)據(jù)庫獲取到數(shù)據(jù)的情況下,Hibernate會相應(yīng)的填充一級緩存和二級緩存,如配置了延遲加載則直接返回一個代 理類,只有在觸發(fā)代理類的調(diào)用時才進(jìn)行數(shù)據(jù)庫查詢的操作。
                在這樣的情況下我們就可以看到,在session一直打開的情況下,要注意在適當(dāng)?shù)臅r候?qū)σ患壘彺孢M(jìn)行刷新操作,通常是在該對象具有單向關(guān)聯(lián)維護(hù)的時候, 在Hibernate中可以使用象session.clear、session.evict的方式來強制刷新一級緩存。
                二級緩存則在數(shù)據(jù)發(fā)生任何變化(新增、更新、刪除)的情況下都會自動的被更新。
          2、Session.get
                在執(zhí)行Session.get時,和Session.load不同的就是在當(dāng)從緩存中獲取不到時,直接從數(shù)據(jù)庫中獲取id對應(yīng)的值。
          3、Query.list
                在執(zhí)行Query.list時,Hibernate的做法是首先檢查是否配置了查詢緩存,如配置了則從查詢緩存中查找key為查詢語句+查詢參數(shù)+分頁條 件的值,如獲取不到則從數(shù)據(jù)庫中進(jìn)行獲取,從數(shù)據(jù)庫獲取到后Hibernate將會相應(yīng)的填充一級、二級和查詢緩存,如獲取到的為直接的結(jié)果集,則直接返 回,如獲取到的為一堆id的值,則再根據(jù)id獲取相應(yīng)的值(Session.load),最后形成結(jié)果集返回,可以看到,在這樣的情況下,list也是有 可能造成N次的查詢的。
                查詢緩存在數(shù)據(jù)發(fā)生任何變化的情況下都會被自動的清空。
          4、Query.iterator
                在執(zhí)行Query.iterator時,和Query.list的不同的在于從數(shù)據(jù)庫獲取的處理上,Query.iterator向數(shù)據(jù)庫發(fā)起的是 select id from這樣的語句,也就是它是先獲取符合查詢條件的id,之后在進(jìn)行iterator.next調(diào)用時才再次發(fā)起session.load的調(diào)用獲取實 際的數(shù)據(jù)。
                可見,在擁有二級緩存并且查詢參數(shù)多變的情況下,Query.iterator會比Query.list更為高效。

          這 四種獲取數(shù)據(jù)的方式都各有適用的場合,要根據(jù)實際情況做相應(yīng)的決定,^_^,最好的方式無疑就是打開show_sql選項看看執(zhí)行的情況來做分析,系統(tǒng)結(jié) 構(gòu)上只用保證這種調(diào)整是容易實現(xiàn)的就好了,在cache這個方面的調(diào)整自然是非常的容易,只需要調(diào)整配置文件里的設(shè)置,而查詢的方式則可對外部進(jìn)行屏蔽, 這樣要根據(jù)實際情況調(diào)整也非常容易。

          推薦三篇關(guān)于Hibernate緩存機制介紹的文章:
          http://gocom.primeton.com/blog/index.php?op=ViewArticle&articleId=467&blogId=37&src=jdon&srcforum=62
          http://club.gamvan.com/club/clubPage.jsp?ccStyle=0&tID=10456&ccID=37
          http://www.devx.com/dbzone/Article/29685/1954?pf=true
          文章來源:http://www.cnblogs.com/xiaoao808/archive/2008/08/16/1269160.html
          posted @ 2008-08-16 11:03 破名超難起 閱讀(83) | 評論 (0)編輯 收藏

          雖然VirtualBox是個很好用的虛擬機,但是安裝完成之后虛擬機仍然無法使用usb設(shè)備,沒有聲音還是需要作進(jìn)一步配置的,下面是具體配置方法:

          1、配置VirtualBox使其識別usb設(shè)備

          如果不配置VirtualBox的話,每次虛擬機啟動時他都會報錯的,大體意思是當(dāng)前虛擬機沒有安裝使用usb的服務(wù)

           

           解決方法如下:

           

          增加用戶組usbfs

          $ sudo groupadd usbfs

          2. 查看usbfs用戶組的gid
          $ cat /etc/group | grep usbfs

          usbfs:x:1002:


          把當(dāng)前用戶增加到usbfs組
          $ sudo gedit /etc/group

          usbfs:x:1001:
          修改為
          usbfs:x:1001:lichao


          4. 為USB設(shè)備重新設(shè)置權(quán)限編輯/etc/fstab文件,添加下面兩行,注意你的gid可能不是1001
          $ sudo gedit /etc/fstab
          在末尾加上
          # 1001 is the USB group IDI
          none /proc/bus/usb usbfs devgid=1001,devmode=666 0 0


          重新啟動后,應(yīng)該就可以在客戶機中使用USB設(shè)備了。

          方法:插入一個USB設(shè)備后,如U盤,右鍵點擊虛擬機里右下腳的USB圖標(biāo),選擇已經(jīng)識別的U盤,就可以正常使用了。

          注意:(1)在客戶機里使用USB設(shè)備前要先在主機里卸載。 (2)完成后重啟系統(tǒng)

           

          2、使虛擬機支持聲音

          使用了一段時間后,我突然發(fā)現(xiàn)虛擬機居然沒有聲音,而在操作系統(tǒng)中是有聲卡的,而且右下角有調(diào)節(jié)聲音的圖標(biāo),應(yīng)該有聲音阿

          經(jīng)過仔細(xì)查找,我發(fā)現(xiàn)在虛擬機聲音設(shè)置中,雖然控制芯片被設(shè)置為了“ICH AC97”,但是聲卡類型卻被設(shè)置為了Null Audio Driver,只要將聲卡類型設(shè)置為OSS Audio Driver就可以了


          文章來源:http://www.cnblogs.com/xiaoao808/archive/2008/08/15/1268427.html
          posted @ 2008-08-15 10:01 破名超難起 閱讀(361) | 評論 (0)編輯 收藏

          今天很郁悶阿,昨天剛裝好的系統(tǒng),今天就因為一次莫名的操作......重裝了

          裝系統(tǒng)倒不是很費時間,麻煩的是等待系統(tǒng)升級,很郁悶阿,將近一小時,什么也作不了,所以這次重裝之后,我決定找到一種一勞永逸的方法,備份升級文件,找了找,還真有,具體過程如下:

          備份:

          Code

           備份成功,在你所對應(yīng)的/home/user文件夾中可以找到這個名為backup.tar.gz的文件。

          清除:

          Code

           還原:

          Code

           


          文章來源:http://www.cnblogs.com/xiaoao808/archive/2008/08/13/1267439.html
          posted @ 2008-08-13 23:32 破名超難起 閱讀(109) | 評論 (0)編輯 收藏

          由于linux下沒有像windows的ALL IN ONE安裝包,而我又不想用eclipse+myeclipse的方式來安裝,就在這時,我發(fā)現(xiàn)在myeclipse的官方網(wǎng)站上有一個安裝包叫pulse

          上網(wǎng)查了一下,這個安裝包本身沒有任何ide安張程序,他可以讓你來選擇哪些工具你需要下載安裝,哪些你不需要,似乎很好用哦,下載下來試試。

          裝上之后,有很多ide提供下載安裝,就選擇我最熟悉的MyEclipse6.5吧,下載速度很快,不到10分鐘就裝好了,打開一看,和windows的界面一樣,爽!!以后就用他了


          文章來源:http://www.cnblogs.com/xiaoao808/archive/2008/08/12/1266299.html
          posted @ 2008-08-12 20:09 破名超難起 閱讀(190) | 評論 (0)編輯 收藏

          早就想把微軟的東西仍進(jìn)虛擬機,只是一直沒下決心,這次實踐了一回,呵呵,還真好使

          我用的ubuntu 7.10+sun Virtual Box

          去sun的官方網(wǎng)站下載吧,

          VirtualBox-1.6.4-Linux_x86.run

          這個是最新的,下載后照常安裝,其間碰到幾個依賴包的安裝,在“新立得”里面找一下就好了....

          5分鐘后,虛擬機裝好,開始裝windows拉,用了許久的Vista,回顧一下經(jīng)典的XP,哈哈,蠻不錯的,感覺比純運行xp還要快,一下是截圖 :

           

          這下爽拉,在linux下玩魔獸完全沒難度拉
          文章來源:http://www.cnblogs.com/xiaoao808/archive/2008/08/12/1266297.html
          posted @ 2008-08-12 20:00 破名超難起 閱讀(206) | 評論 (0)編輯 收藏

          首先去sun公司的網(wǎng)站下載jdk安裝文件 jdk-x.bin不要下載jdk-x.rpm.bin,不知為什么裝不上,

          接下來在終端中執(zhí)行

          ./jdk-x.bin

          看過協(xié)議后鍵入"yes"同意許可

          安裝完成后需要修改環(huán)境變量

          在終端中輸入:

          gksu gedit /etc/profile

          在文件末尾加上如下幾句話即可:

          #set java environment

          JAVA_HOME=/home/lichao/Program_File/jdk

          export JRE_HOME=/home/lichao/Program_File/jdk/jre

          export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

          export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

          javac一下試試看,應(yīng)該沒問題了


          文章來源:http://www.cnblogs.com/xiaoao808/archive/2008/08/12/1266215.html
          posted @ 2008-08-12 17:48 破名超難起 閱讀(86) | 評論 (0)編輯 收藏

          在終端中鍵入

          sudo apt-get install mysql-server

          ok,等一會吧,設(shè)置一下root的密碼,
          安裝成功,簡單吧,哈哈!!

          安裝完后最要命的是.....不知道m(xù)ysql安裝到那里了,網(wǎng)上找到了答案,若干個目錄阿

          ubuntu下mysql安裝布局:

          /usr/bin                      客戶端程序和mysql_install_db
          /db                             數(shù)據(jù)庫和日志文件(自定義的)
          /var/run mysqld        服務(wù)器
          /etc/mysql mysql       配置文件my.cnf
          /usr/share/mysql       字符集,基準(zhǔn)程序和錯誤消息

          /etc/init.d/mysql        啟動mysql服務(wù)器

          成功后在“系統(tǒng) -> 系統(tǒng)管理 -> 服務(wù)”就可以看到mysql的服務(wù)了。

          下面要配置了!

          mysql默認(rèn)只能在本機登錄,這時就需要設(shè)置一下了

          在終端中輸入

          mysql -u root -p

          輸入正確密碼后執(zhí)行如下sql語句:

          1. mysql -u root -pvmwaremysql>use mysql;  
          2. mysql>update user set host = '%' where user = 'root';  
          3. mysql>select host, user from user; 

          可以了,試試看吧!

           

           


          文章來源:http://www.cnblogs.com/xiaoao808/archive/2008/08/12/1266213.html
          posted @ 2008-08-12 17:40 破名超難起 閱讀(192) | 評論 (0)編輯 收藏

          這里的方法同樣適用于Debian下的Scim輸入法的安裝。
              根據(jù)SCIM的文檔說明,裝SCIM最好用UTF-8的locale。(你也可以使用GB2312以及GBK的locale,使用scim都一樣的)
          對于一個新裝好的沒有安裝SCIM的Ubuntu系統(tǒng)(新的Ubuntu安裝器選擇中文安裝后,一邊都已經(jīng)裝好了scim),只要

                apt-get install scim(當(dāng)然前提是你要設(shè)置好源,具體見http://wiki.ubuntu.org.cn/%E5%BF%AB%E9%80%9F%E8%AE%BE%E7%BD%AE%E6%8C%87%E5%8D%97, 有些高校自己內(nèi)部也有源的,好好找找)

                就已經(jīng)安裝好SCIM了!當(dāng)然還不能用。因為SCIM只是一個輸入法平臺,還要在上面安裝輸入法(或者碼表)。例如,

                apt-get install scim-chinese


                就可以使用智能拼音輸入法了!當(dāng)然在使用之前還要先配置一下,配置方法很簡單,在/etc/X11/Xsession.d/里新建一個名叫95xinput的文件,文件內(nèi)容如下

                /usr/bin/scim -d
                XMODIFIERS="@im=SCIM"
                export XMODIFIERS
                export GTK_IM_MODULE=scim

                 保存文件,確認(rèn)內(nèi)容無誤后,退出X(建議退出X后運行exit命令重新login一次),再進(jìn)入X的時候就可以用Ctrl+Space調(diào)出SCIM了!
                就我的試驗情況,這樣已經(jīng)可以在qterm里使用SCIM了。

              如果你需要其它中文輸入法,可以這樣

              apt-get install scim-tables-zh

              這包括了簡體中文的五筆、二筆、廣東拼音、自然碼,和繁體中文的行列、 }頡五代、大易、注音等輸入法了。
              我現(xiàn)在使用五筆輸入法,能輸入簡繁漢字,詞匯也豐富,很好用。

                但是現(xiàn)在還不能在基于GTK的軟件中調(diào)出SCIM,例如我就不能在leafpad里使用SCIM。解決辦法很簡單,只要安裝scim-gtk2-immodule就可以了。

                    apt-get install scim-gtk2-immodule

                    安裝后無須重啟X,只要重新打開基于GTK的軟件就可以了,比如我新開一個leafpad,馬上就可以使用SCIM了!

                  這個命令會根據(jù)依賴關(guān)系自動安裝 scim-server-socket, scim-frontend-socket, scim-config-socket,如果沒有安裝scim,也會自動安裝。


          文章來源:http://www.cnblogs.com/xiaoao808/archive/2008/08/12/1265876.html
          posted @ 2008-08-12 13:12 破名超難起 閱讀(82) | 評論 (0)編輯 收藏
          Code

          文章來源:http://www.cnblogs.com/xiaoao808/archive/2008/08/04/1260376.html
          posted @ 2008-08-04 20:25 破名超難起 閱讀(116) | 評論 (0)編輯 收藏

               經(jīng)過若干天斷斷續(xù)續(xù)地研究,終于做出了第一個spring security的實例,真是艱難啊,配置太復(fù)雜了,若干個Bean之間存在著這樣或那樣的關(guān)系......

               下面給出我的小例子,主要是配置文件拉~~別的東西自己看源碼吧!

          Code

           

          這個是最簡單的一個例子,配了141行,呼~~繼續(xù)研究其深入功能,離成功越來越近了

          ps.傳說spring security2.0有了超級簡單的配置方法,還沒有學(xué)到手,努力ing

          源碼下載(需要自己添加spring和mysql的jar包)


          文章來源:http://www.cnblogs.com/xiaoao808/archive/2008/08/04/1259523.html
          posted @ 2008-08-04 00:46 破名超難起 閱讀(666) | 評論 (0)編輯 收藏
          主站蜘蛛池模板: 通州市| 马山县| 南康市| 仁布县| 元朗区| 原平市| 榆树市| 越西县| 木兰县| 紫阳县| 蓬莱市| 昌宁县| 乌兰浩特市| 通渭县| 垣曲县| 青龙| 石台县| 济南市| 黑水县| 大关县| 景泰县| 双江| 当阳市| 阳新县| 黄梅县| 衡阳县| 新邵县| 逊克县| 华池县| 大竹县| 大冶市| 连云港市| 大丰市| 英超| 四川省| 古交市| 麻栗坡县| 太仓市| 易门县| 海兴县| 新丰县|