pupuliao的部落格

寫教學的最大目的是教會未來的自己

這次的firefox更新終於抓到重點了,7.0版確實相當好

從 firefox  2.0 開始,我就是firefox 的忠實使用者,雖然他在數次更新後,出現了一些麻煩點,但是我還是繼續使用。

firefox 最令人頭大的是什麼?

在我看來是記憶體消耗量,等閒沒是消耗三五百MB 是理所當然,輕鬆衝上1G更是十分常見(大概10~20個分頁吧XD)

這讓我4G的RAM +32位元的XP 實在是個甜蜜的負擔

雖然之前有找到 減少記憶體使用量的套件,但是 卻帶來了一些不方便,所以看到這次更新的消息,就令我迫不及待地當了白老鼠XD

http://www.mozilla.org/zh-TW/firefox/channel/

這是firefox 尚未正式對外公布的 版本

有 7.0/7.0bc/8.0 三個版本

為了穩定度,我使用了 最終正式版(7.0),經過我的實際測試

在我關閉firefox以前 記憶體使用量 1G

安裝新版後,使用量在300~400MB左右

的確在記憶體使用量上做了長遠的改進

 

 

 

Post to Twitter Post to Plurk Post to Facebook Send Gmail

wordpress固定網址問題(URL重寫)

在wordPress中,提供了一個相當方便的功能

就是除了 一開始預設最原始的?p=XXX 這種的網址外

還提供了其他幾種網址可以用,其實他是運用一種"URL 重寫"的技術

例如 我這篇

http://www.pupuliao.info/2011/09/wordpress安裝教學/

實際上 他是使用了三個參數: 年、月、標題,然而她把參數名稱隱藏掉了,換成  / 不懂的人還以為那是資料夾名稱

YAHOO 之前測試的新版新聞系統也有採用類似的方式

好處是,讓使用者一看就知道是什麼,不過碰到中文網址有實際會被轉換成 十六進位的亂碼….如果使用者在複製網址的時候有這個問題請修改瀏覽器設定

 

好 回到主題

我們要如何修改這個設定呢?

1.開啟 apache 的httpd.conf 設定擋,找到下列這行,把 # 字號拿掉,讓這個模組可以正常運作

#LoadModule rewrite_module modules/mod_rewrite.so

2. 在設定擋中 找

其中 AllowOverride None這項 改成 AllowOverride all

因為 WPMU版不能用 所以我用下面的方法OK

我看到另一篇,上面要求的參數是 FileInfo Options 請測試看看

3.apache 重新啟動

這樣就OK了

以下我也沒測試….

 

在需url重寫的目錄下建立.htaccess文件,wordpress在開啟永久鏈接後會只能生成,內容如下:


RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

以上參考自http://witmax.cn/apache-url-rewrite.html

 

 

Post to Twitter Post to Plurk Post to Facebook Send Gmail

wordpress安裝教學

wordpress是一個相當好用的架站軟體,相當適合給個人、社團、小型公司使用,上手容易,操作簡單,門檻低,最重要的是–"完全免費"

首先,要架設wordpress,你的伺服器最少要提供 MYSQL 和 PHP,如果你已經租用了 微軟的IIS,那就只能說 很遺憾了。

 

好 開始安裝

1.下載

請至 http://tw.wordpress.org/ 下載最新中文版本

閱讀全文

Post to Twitter Post to Plurk Post to Facebook Send Gmail

如何控制閃光燈的開啟與關閉

最近繼續研究android 的影像處理

繼續想辦法偷吃步XD

喔 不 今天不是樣講這個

今天要說的是 我研究出如何讓使用者自行控制閃光燈

但是因為 部分程式 是別人寫的…我無法說明原因(無法完全理解)

 

首先,簡單來說就是 處理 案件觸發,我把它放在手機上的 search 鍵(KeyEvent.KEYCODE_SEARCH:)

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        switch(keyCode)
        {
        case KeyEvent.KEYCODE_DPAD_CENTER: // DPAD_CENTER
            mPreview.mCamera.autoFocus(null);
            break;
            
        case KeyEvent.KEYCODE_MENU: // MENU
            mDrawOnTop.mDrawEdges = !mDrawOnTop.mDrawEdges;
            break;
        case KeyEvent.KEYCODE_SEARCH:
            mPreview.changeTheFlash();
            break;
        }
        
            
        return super.onKeyDown(keyCode, event);
    }

 

再來就是 開啟予關閉,這部分是寫在 相機這個 class 底下,這部分大部分的code 是我同學寫的,我只是拿來增加功能

public void changeTheFlash(){
        Camera.Parameters parameters=mCamera.getParameters();
        if(flashMod==true)
        {
            turnOfTheFlash();
            flashMod=false;
        }
        else
        {
            turnOnTheFlash();
            flashMod=true;
        }
    }
    
    public void turnOnTheFlash(){//開閃光燈
        Camera.Parameters parameters=mCamera.getParameters();
        parameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
        mCamera.setParameters(parameters);
    }
    public void turnOfTheFlash(){//關閃光燈
        Camera.Parameters parameters=mCamera.getParameters();
        parameters.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
        mCamera.setParameters(parameters);
    }

詳細請參閱http://developer.android.com/index.html

 

不知如何說明,自己研究吧

 

Post to Twitter Post to Plurk Post to Facebook Send Gmail

在PHP下做IP偵測及分析過濾

在本文一開始 ,要先來個免責聲明: 本內容是我在替學校做報修系統時,從多個網站學習組合而來,理論上可行,是否會被攻破不知~~~

 

今天我替學校做的報修系統,遭人閒閒沒事丟資料進去,為了避免以後的麻煩,就加上了 IP 過濾的功能,雖然這個項目是本來就預定要有的,但是是在所有測試都OK後才以 apache 的設定上 過濾。

程式碼 我是參考一些別人寫的code 加以改寫後 以functuon 的方式處理

抓取IP資訊,這似乎增加了 如果用proxy 仍可抓取正確IP

function getIP()
    {
        if (!empty($_SERVER[‘HTTP_CLIENT_IP’]))
    return $_SERVER[‘HTTP_CLIENT_IP’];
        else if (!empty($_SERVER[‘HTTP_X_FORWARDED_FOR’]))
    return $_SERVER[‘HTTP_X_FORWARDED_FOR’];
        else
    return $_SERVER[‘REMOTE_ADDR’];
    }

再來是簡單的 IP 分析,取得IP後 分割成四份,這只是簡單的方法,如果有必要可以做出 白名單 黑名單的方式,不過我不需要,以後再說

function checkIP()
    {
        $IP=getIP();
        list($ip1, $ip2, $ip3,$ip4) = sscanf($IP,"%d.%d.%d.%d");
        if($ip1==xxx && $ip2==yyy) return true; //這裡放分析條件
        else return false;
    }

 

之後再要做IP 分析的地方加入

    if(checkIP()==false)
    {
        header('Location: falseIP.php');
    exit;
    }

讓只要是不允許的IP 通通倒到另一個頁面

 

最後說明一下

我們都知道 apache 可以做IP 過濾的功能,但是如果是只針對特定頁面的話,不易設定,而且如果是租用的server 有時無法做設定,所以還是需要用PHP做分析

Post to Twitter Post to Plurk Post to Facebook Send Gmail

英雄傳說-零之軌跡-魔王板開箱文

雖然在幾天前,就已經收到到貨通知,但是~~~~我返鄉過節到現在才去-4拿貨(噴了兩張小朋友crying)

抱著愉快的心情 拍了些開箱圖~~~

第一次拍圖,請多多包涵~~~相機是 HTC desire,在經過50%的縮圖

===========================================================================

 

我去小七拿的時候第一個想法是~~~好大的箱子阿0.0,先跟我在漫博的戰利品來張合照

閱讀全文

Post to Twitter Post to Plurk Post to Facebook Send Gmail

沒有SSD 如何加快系統速度

這篇文章是參考電腦王86期

我們都知道

硬碟中速度最快就是 SSD,但是如果沒有SSD 怎麼辦呢?

這裡有一些小方法可以善用普通硬碟的速度

 

一、分割區

相信大家都知道,硬碟裡的磁碟是圓的(以為是方的人,去撞牆)

資料的讀寫 是靠一個讀頭,在磁碟高速旋轉時,讀取資料

那這和速度有何干係呢?

有~~磁碟在旋轉時,在掃過固定角度,讀投能越往外層面積就越大(半徑越大,周長越大)

相對地可以讀寫的資料也比較多,所以硬碟讀寫的速度,越往外層速度越快

根據雜誌的資料,2T硬碟 最高速和最低速 相差一倍

所以當我們在安裝系統時,應該把越長用得資料放越外層

這和我們安裝OS的習慣應該相同,(分隔磁碟時,越前面就越外層)

 

二、分頁檔

就是虛擬記憶體~~

虛擬記憶體可以放在每隔槽

身為一個專業阿宅,硬碟就肯定有好幾個,

所以我們在放分頁檔時,可以分散在每個硬碟中,可以增加效率

Post to Twitter Post to Plurk Post to Facebook Send Gmail

物件導向與效能之間的抉擇

可能是作業專題的關係,很久沒碰C了

寫了一學期的JAVA,發現JAVA的寫作方式真的很方便,雖然我還是不太會物件化

但是已經漸漸地感受到他的方便

然而當執行程式的硬體從CPU強大的電腦改成 手機時….

就會發現一個很嚴重的問題

就是 "速度"

以前我們總是不會去在意那一點點

然而 許多一點點,就變成一大點

物件導向雖然讓每次寫程式的時候 思考變簡單,處理BUG 變簡單

但是相對的,會用到大量的 JUMP 跳躍在美的物件間

無形中 浪費了許多CPU 時間…..

尤其是一些物件的function 可能只有兩三行,那浪費的比例就更大了

 

 

這次的專題我開始碰到這個問題了…..所以…為了速度0….我捨去了一些物件導向的原則….

Post to Twitter Post to Plurk Post to Facebook Send Gmail

Vector 與 ArrayList的速度

Vector 與 ArrayList 是兩個常用的動態陣列class

在JAVA 中,當我們要使用到不確定大小的變數陣列的時候

通常都是使用到這兩個

那這兩者有什麼差異呢?

以使用方法來說,兩者一模一樣

 

速度方面

這兩個 再增加資料地的時間複雜度是 1

刪除一筆資料是 n (第n個)

Vector 會做同步處理,速度會比較慢(看說明是說,當一個程式多執行緒,兩個執行緒都用同一筆資料時,會保證兩邊資料同步)

因此 如果是跑單執行緒的,可以用ArrayList

另外,因為刪除資料速度比較慢,我通常是直接開新的array 存放,在一次釋放原有的

 

 

最後

引用JAVA 原來工程師 所說

如果速度是最大考量的話,這兩個都不要用,請自己寫,因為這樣只會增加開發時間

 

Post to Twitter Post to Plurk Post to Facebook Send Gmail

Copyright © 2020. All Rights Reserved.

歡迎光臨
初音