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

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

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

    Jarod@termainal$ tail * >> blog

    A Developer's Notebook

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      24 Posts :: 9 Stories :: 12 Comments :: 0 Trackbacks

    #

    以前在Linux一直都不能寫NTFS分區,能讀NTFS分區的東西都已經很滿足了。今天無意中發現了一個Linux的NTFS驅動,支持讀/寫NTFS分區。這個驅動叫做NTFS-3G,官方網站為http://www.ntfs-3g.org/。
    我用的Linux發行版為Ubuntu edgy elf,在apt-get源里有現成的2進制版本,安裝很方便。如果使用的Linux發行版找不到相應二進制版本,就下載源碼按照官網的說明安裝也不復雜。
    安裝好后編輯/etc/fstab文件,在里面添加一行配置,跟掛載fat32差不多,分區類型一欄寫"ntfs-3g"就OK了,例如:
    /dev/hda1 /mnt/windows ntfs-3g defaults 0 0


    10/28/2007:
    添加到kubuntuguide.org里了
    http://kubuntuguide.org/Feisty#Mounting_NTFS_Partitions.28with_read.2Fwrite_privilege.29
    posted @ 2006-11-04 23:38 Jarod 閱讀(448) | 評論 (0)編輯 收藏

    本來是由于某個問題想用反射來解決,使用前作個小測試(我的應用都是用JDK1.4.2)。然后順便把1.5的也測了。看到這個數據,不禁想到Hibernate,Spring這類依賴反射的框架是否更加適合運行在JDK1.4平臺上。
    補:后來在1.6上測了測,性能提高了不少,1.6真的是值得期待

    Java 1.5
    Reflection?|?Normal
    3685|210
    3696|210
    4086|211
    3685|211
    3775|210
    3696|210

    Java 1.4.2
    Reflection?|?Normal

    3295|340
    3325|370
    3295|340
    3315|350
    3305|340
    3285|330


    Java 1.6 beta2
    Reflection?|?Normal
    2954|200
    2644|581
    3005|170
    2944|190
    2684|170
    3014|191

    測試代碼

    posted @ 2006-09-27 08:28 Jarod 閱讀(676) | 評論 (0)編輯 收藏

    單例是一個很常用的設計模式,以前一直都以為做到double-checked就已經線程安全了。直到無意中看到DeveloperWorks的這篇文章 Double-checked locking and the Singleton pattern才知道還有更多要做的。。。
    posted @ 2006-09-26 12:30 Jarod 閱讀(252) | 評論 (0)編輯 收藏

    最近因項目需求,需要在JS代碼中實現IFrame內外頁面的互訪問。經過一番試驗終于找到方法,以下是試驗時用的代碼(在IE,Firefox中可正常運行):

    main.html
    ?1?<html>
    ?2?<head>
    ?3?????<title>MAIN</title>
    ?4?????<script?type="text/javascript">
    ?5???????? //?主頁面訪問IFrame頁面DOM內容
    ?6?????????function?oinit()?{
    ?7?????????????alert(getIFrameDoc("iframe1").getElementById("idiv").id);
    ?8?????????}
    ?9?????????function?getIFrameDoc(id)?{
    10?????????????var?iframe?=?document.getElementById(id);
    11?????????????var?doc?=?(iframe.contentWindow?||?iframe.contentDocument);
    12?????????????if?(doc.document)?{
    13?????????????????doc?=?doc.document;
    14?????????????}
    15?????????????return?doc;
    16?????????}
    17?????</script>
    18?</head>
    19?<body?onload="oinit()">
    20?????<div?id="odiv">
    21?????????<iframe?id="iframe1"?src="iframe.html"></iframe>
    22?????</div>
    23?</body>
    24?</html>

    iframe.html
    ?1?<html>
    ?2?<head>
    ?3?????<title>IFRAME</title>
    ?4?????<script?type="text/javascript">
    ?5???????? //?IFrame頁面訪問外層頁面DOM內容
    ?6?????????function?iinit()?{
    ?7?????????????alert(window.parent.document.getElementById("odiv").id);
    ?8?????????}
    ?9?????</script>
    10?</head>
    11?<body?onload="iinit()">
    12?????<div?id="idiv">
    13?</body>
    14?</html>



    posted @ 2006-08-25 20:25 Jarod 閱讀(511) | 評論 (2)編輯 收藏

    JS中對網址進行轉義有三個方法,分別是escape(), encodeURI(), encodeURIComponent()
    這三個方法都是把網址中的非ASCII字符轉為%XX的形式

    三個方法的區別是分別有些字符是不做轉義的:
    escape()????????????? - @*/+
    encodeURI() ? ? ????? -
    !@#$&*()=:/;?+'
    encodeURIComponent()? -
    !*()'
    posted @ 2006-08-02 21:03 Jarod 閱讀(468) | 評論 (0)編輯 收藏

    我有個項目是用Maven2管理Jar包的,最近加入了commons-httpclient-alpha1,在pom中加入了httpclient。直到運行時才發現缺少包commons-codec。也就是說maven2沒有自動下載httpclient所依賴的包。最后還要自己在pom中加入commons-codec??磥韒aven2這東西也不太可靠
    posted @ 2006-07-27 15:03 Jarod 閱讀(236) | 評論 (0)編輯 收藏

    • XmlHttpRequest
      描述:當使用get方法獲取內容時,IE會直接從緩存取內容,就算服務器有更新也一樣
      解決:1)不管3721一率采用post方法;2)在URL加上隨機參數值;3)在HTTP頭加上If-Modified-Since,設成過去時間值。


    • table, tr標簽的innerHTML只讀
      描述:在FF中可寫,但在IE中級table,tr的innerHTML賦值會出未知運行時錯誤
      解決:1)避而不用,嵌套多一層div;2)聽說可以為IE的innerHTML擴展setter;


    • JSON構造中的小逗號
      描述:var json = {a:10,b:10,c:10,}在FF中沒事,在IE中出錯
      解決:。。。


    • select的option
      描述:firefox中可以通過option的disabled屬性使選項無效,可惡的IE竟然無視這個屬性。
      解決:無


    • img的onload(參考
      在IE要綁定onload到img中,只能在html中做,通過js做綁定是不行的
      只能這樣寫
      <script> function img_onload() {}</script>
      <img onload="img_onload"/>



    posted @ 2006-07-19 22:35 Jarod 閱讀(712) | 評論 (4)編輯 收藏

    三、安裝apache、PHP、phpMyAdmin和resin

    apache安裝:

    apache的安裝我選擇了源碼版,用以下命令安裝:
    tar xfj httpd-2.0.55.tar.bz2
    cd httpd-2.0.55
    ./configure --prefix=/usr/local/apache2 --enable-so --enable-mods-shared=most
    && make && make install

      so模塊用來提供DSO支持的apachehe核心模塊(與PHP集成必須); --enable-shared=max是指除了so以外的所有標準模塊都編譯成DSO模塊
      安裝完后進入/usr/local/apache2/bin,運行./apachectl start。在瀏覽器進入localhost如果能看到apache默認頁面就沒問題了。



    PHP安裝:

    用以下命令安裝:
    tar xfj php-5.1.2.tar.bz2
    cd php-5.1.2
    ./configure --prefix=/usr/local/php --enable-mbstring --with-mysql=/usr/local/mysql/ --with-apxs2=/usr/local/apache2/bin/apxs && make && make install

    --enable-mbstring是讓PHP支持中文字符集,--with-mysql,--with-apxs2分別是PHP與MYSQL,APACHE集成的支持
    默認配置文件

    如果按照上面的方式編譯PHP,在$HTTPD_HOME/conf/httpd.conf中會加入一句
    LoadModule php5_module modules/libphp5.so

    如果沒有的可以把modules/libphp5.so改成指向libphp5.so的文件名


    在$HTTPD_HOME/conf/httpd.conf中加入
    ??? AddType application/x-httpd-php .php .phtml
    ??? AddType application/x-httpd-php-source .phps


    phpMyAdmin安裝:

    tar xfj phpMyAdmin-2.8.0.1.tar.bz2
    mv phpMyAdmin-2.8.0.1 /usr/local/apache2/htdocs/phpMyAdmin

    進入
    /usr/local/apache2/htdocs/phpMyAdmin/libraries,
    cp config.default.php ../config.inc.php

    phpMyAdmin默認的驗證模式為config,即數據庫的用戶名密碼寫入config.inc.php文件。改為cookie模式就可以在登陸時自己輸用戶名密碼

    編輯config.inc.php文件
    $cfg['blowfish_secret'] = '隨便一個字符串';
    $cfg['Servers'][$i]['auth_type']???? = 'cookie';

    啟動apache,在瀏覽器進入localhost/phpMyAdmin/index.php測試


    resin
    安裝

    通過以下命令安裝:
    tar xfz resin-3.0.18.tar.gz
    mv resin-3.0.18 /usr/local
    ln -s resin-3.0.18 resin
    cd resin
    ./configure --with-apache=/usr/local/apache2/ && make && make install

    啟動apache, 通過bin/httpd.sh運行resin。在瀏覽器進入http://localhost/resin-doc/測試
    posted @ 2006-03-11 13:16 Jarod 閱讀(415) | 評論 (0)編輯 收藏

      在Linux下配置Java的開發環境以前也有好幾次了,但時間一長,總有不少細節會忘了,到重新要配置時又要花不少時間去解決這些再次遇到的小問題。這次就寫下來吧,做個筆記,以后再要配置時就省時了。
      以下是這次要配置的環境:
    Linux:FC4
    JDK:1.4.2
    服務器:apache-2.0.55 + resin-3.0.18
    數據庫:mysql-4.1.18 + phpMyAdmin-2.8



    一、安裝、配置JDK

    安裝:
      官網上有兩種版本的JDK下載。我下載回來的JDK文件名為:j2sdk-1_4_2_11-linux-i586.bin_File_j2sdk-1_4_2_11-linux-i586.bin。這個在官網上稱為自解壓版,這個版本我還是第一次下。以前用的都是RPM版。兩者的區別就在于,自解壓版運行后就在當前目錄產生個JDK的目錄。RPM版則直接安裝到指定的目錄。通常為/usr/java/jdk-version目錄。
      在安裝目錄上我有個建議,就是都裝到/usr/java的子目錄下,然后做個鏈接成/usr/java/jdk。如,我這里看裝后的路徑為/usr/java/j2sdk1.4.2_11??梢酝ㄟ^以下命令建立一個軟鏈接。
    ln -s /usr/java/j2sdk1.4.2_11 /usr/java/jdk
      這樣做的好處就是當有幾個JDK并存時,要改變默認JDK的版本只要改變這個軟鏈接就OK了。而且跟JDK相關的各種環境變量也不用變來變去,就把JAVA_HOME指向/usr/java/jdk就行了。
      至于CLASSPATH的配置我就不用說了,因為我一向都是用IDE或者是ANT的,配CLASSPATH對我來說沒意義。


    中文支持的配置:
      這個步驟好像不是必須的,因為聽網上的一些朋友說有些Linux發行版在裝好JDK后直接就支持中文。在配置前可以先運行一下$JAVA_HOME/jre/bin/ControlPanel和其它中文程序看是否可以正確顯示中文(Linux的locale要設成中文ControlPanel才是中文的)。
      進入$JAVA_HOME/jre/lib目錄??截愐环輋ont.properties.zh_CN.Redhat覆蓋原來的font.properties文件。然后把font.properties以外的font.properties_***文件都刪了。打開font.properties在最后一行會有類似下面的代碼:

    filename.-misc-zysong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1 =/usr/share/fonts/zh_CN/TrueType/zysong.ttf

    把后面的/usr/share/fonts/zh_CN/TrueType/zysong.ttf改成自己的中文字體所在位置,如simsun或VeraSansYuanTi。simsun可以在windows的font目錄里找到,VeraSansYuanTi可以在Linux公社下載。

    如果用JDK5.0的可以參考這篇文章:http://addone.blogchina.com/blog/187527.html




    二、MYSQL

      在MySQL的下載頁上有很多版本可供下載。由于我裝MySQL只是作為開發用途,并不是作服務器,因此可以選擇最簡單的版本來下載。如:標準二進制版或對應Linux發行版的RPM包等。 我下載的是標準二進制版,文件名為:mysql-standard-4.1.18-pc-linux-gnu-i686.tar.gz。解壓后就是一個已經編譯,初始化好的文件夾。解壓好后把文件夾移到某個目錄,我這里為/usr/local/database/mysql41。然后建立軟鏈接:
    ln -s /usr/local/database/mysql41 /usr/local/mysql

      由于mysql里很多默認設置都是指向/usr/local/mysql目錄的,鏈到這里就省了不少事。我這里不直接把數據庫放到/usr/local/mysql,而是通過鏈接,也是為了可以多版本共存。因為4.0, 4.1, 5.0這幾多版本都比較多用,而且差別又比較大,所以共存的必要還是有的。
      把$MYSQL_HOME/support-files/my-small.cnf拷貝到$MYSQL_HOME/data/my.cnf,建立一個軟鏈接:
    ln -s /usr/local/mysql/data/my.cnf /etc/my.cnf

      編輯my.cnf文件,分別在以下區加入下面的行,這里的編碼都用UTF-8

    [client]
    default-character-set=utf8

    [mysqld]
    default-character-set=utf8
    default-storage-engine=INNODB

    其中字符集的設置只有在4.1以后的版本才支持。這樣設置了,建立數據庫時默認就使用UTF-8編碼,而且只要connector/j的版本號大于3.1,建立數據庫鏈接時會自動使用數據庫的編碼。
      在MYSQL>4.1 && connector/j > 3.1時,JDBC鏈接URL為:
    jdbc:mysql://
    <host>/<database>?useServerPrepStmts=false
      否則要在鏈接上指定連接編碼:
    jdbc:mysql://<host>/<database>?useUnicode=true&characterEncoding=utf-8

    至于default-storage-engine=INNODB,則在當你的程序需要用到事務時可以方便點,就算沒用到也沒所謂,反正只是個開發環境,方便就OK。

    再為啟動MYSQLD進程添加用戶,執行以下命令:

    添加用戶組
    groupadd mysql
    添加用戶
    useradd -g mysql mysql
    設置MYSQL目錄的擁有者
    chown -R root  .
    設置數據文件目錄擁有者
    chown -R mysql data
    設置目錄所屬組
    chgrp -R mysql .
    安裝初始數據庫
    scripts/mysql_install_db --user=mysql
    啟動進程
    bin/mysqld_safe --user=mysql &

    如果沒有顯示mysqld end之類的字眼,通常都是正常啟動了。


    如果需要MYSQL開機時自動啟動的:拷貝$MYSQL_HOME/support-files/mysql-server到/etc/rc.d/init.d/mysqld
    再執行chkconfig --add mysqld即可

    因為我試過4, 5版的MYSQL啟動腳本是可以通用的,所以這里就不用再搞鏈接了。。。

    posted @ 2006-03-05 10:13 Jarod 閱讀(511) | 評論 (0)編輯 收藏

    僅列出標題
    共2頁: 上一頁 1 2 
    主站蜘蛛池模板: 免费中文字幕在线| 国产人妖ts在线观看免费视频| 国产日产亚洲系列最新| 免费看美女午夜大片| 亚洲国产成人久久笫一页| 免费福利在线观看| 亚洲精品乱码久久久久久蜜桃 | 中国精品一级毛片免费播放| 亚洲国产精品狼友中文久久久 | 亚洲AV日韩综合一区尤物| 99久久免费精品国产72精品九九| 久久久久久亚洲精品影院| 午夜视频免费观看| 成人国产网站v片免费观看| 国产成人综合亚洲AV第一页| 日韩免费三级电影| 一级做a爰黑人又硬又粗免费看51社区国产精品视 | 国产成人免费一区二区三区| 特级毛片aaaa免费观看| 亚洲精品中文字幕无码蜜桃| 19禁啪啪无遮挡免费网站| 国产成人精品日本亚洲11| 国产精品免费小视频| 一区二区三区在线免费| 亚洲国产综合精品中文第一区| 亚洲免费二区三区| 久久精品国产亚洲AV天海翼| 亚洲色欲色欲www在线丝| 青青青国产在线观看免费网站| 亚洲国产精品自在自线观看| 相泽亚洲一区中文字幕| 在线观看的免费网站无遮挡| 亚洲国产午夜精品理论片在线播放 | 亚洲av永久无码制服河南实里| 在线天堂免费观看.WWW| 日本激情猛烈在线看免费观看| 久久国产亚洲观看| 日本无吗免费一二区| 日本中文字幕免费高清视频| 亚洲日韩看片无码电影| 亚洲精品狼友在线播放|