1 頁 (共 1 頁)

耳機世界討論區的變遷

文章發表於 : 週三 9月 03, 2003 10:06 pm
RogerShih
打一開始, 耳機世界使用的討論區程式都是免費論壇, 依照其規則, 只要不是商業用途個人就可以使用, 所以用的人很多.

1. Snitz Forum 2000: 這是以 ASP 加上 Access 資料庫組建而成, 事實上除了 Access 外, Snitz Forum 還可以連結 MSSQL 跟 MySQL, 不過以我當時的測試, 要連結 MSSQL 比較容易些, 但是把 Access 資料庫轉到 MSSQL 後有點問題.

Access 的資料庫檔案是放在 Web 下的, 所以安全性上有風險, 後來即考慮轉成 MSSQL 跟 MySQL 來做資料儲存.

2. phpBB 1.3 (or 1.4) & 2.0.3
以 PHP 加上 MySQL 組建而成. 功能很強, 擴充性也大, 網路上很多外掛的 mod, 例如加強的管理介面, 還有一些有趣的功能 (例如可以發行虛擬錢幣)


上述兩套系統之間的轉換是一項很大的工程, 就算用 Delphi 或是 Visual Basic 來寫, 轉換也很頭大.

Snitz Forum 跟 phpBB 的資料庫定義的差異就非常的巨大, 據我所知, 能成功轉換的很少, 轉換後資料不出問題的更少.

1. 轉換之前, 必須把 Access 資料庫內的Snitz Forum論壇的資料倒入phpBB, 這有現成的工具程式可以做, 但是....資料內容會遭遇 Big5 衝碼的問題, 例如許、功等字, 這是因為 Access 或是 MSSQL 會自行處理掉 Big5 中脫逸字元 '\' 的問題, 但是 MySQL 當時對這部份的相容性有點差. 所以必須自行多插入一個 '\'

2. 轉換時, 必須先將兩者有共同意義的欄位對好, 對應個人資料欄位還好, 注意一下 phpBB 裡個人的登入密碼必須用 md5 雜湊函式轉換成特殊密碼, 對使用者來說, 這增加了安全性, 起碼像管理者的我, 就無法直接看到使用者的密碼了, 降低了被管理者冒用的風險 (雖然絕大部分的系統管理者都有很高的自我道德標準, 不會幹這種事啦, 這是防止要是資料庫資料被竊取了, 對方怎麼看還是看不懂登入密碼, md5 是不能逆向的)

我轉換後, 原來所有帳號都可以正常登入使用而不必任何手續修改. 這是寫 phpBB 去轉的.

同樣的, Category - Forum - Topic - post 也必須經過對應轉換, 其中最複雜的是 topic->post, 因為其中要處理很多事情, 下面再說.

這些也是用 phpBB 寫的.

3. 把 Snitz Forum 轉成 phpBB 的工程, 問題很少在程式上, 而在兩者資料庫定義架構上以及程式功能上有很大的差異. 例如 Snitz Forum 處理 BBCode (也就是笑臉啦, quote 啦, Bold 字, 字型放大等功能), 是先將 BBCode 轉成 HTML code 再跟文章內容一起存入資料庫內, 當要讀取時, 就不用檢查文章內容裡是不是還有 BBcode 要轉換, 所以 Snitz Forum 的文章讀取很快, 但是資料庫負擔比較大, 一出槌通常是資料庫問題.

phpBB 則相反, 他是存入時不處理 BBCode, 就直接存進去, 所以 quote 還是 quote, [B] 還是 [B], 當程式要瀏覽內容時, 才把 BBCode 轉成真正有作用的 HTML code (例如 [B] 轉成 <FONT style="BOLD"> 類似的code).

所以, 這其中的轉換就累了. 我當時是用資料庫操作程式, 把 Snitz Forum 裡面進行 quote 的 html 碼, 硬轉成 phpBB 的 BBCode, 但是因為一些不明原因, 有很多連轉都沒轉 (可以看看去年二月以前的文章, 你可以看到很多 < > 刮起來的字串, 不懂得人看起來很像亂碼.

另一個惱人的問題就是轉BBCode成功了, 但是沒作用, 尤其是 quote, 這個問題我沒辦法解決, 只好手動編輯文章, 進文章之後馬上儲存, quote 神奇的就會有作用了.

上述兩個問題, 第二個還好一點, 滑鼠點一點就可以看到版面正常了, 第一個就必須進文章把 <> 的標籤去掉, 貼上 phpBB 使用的 BBCode. 這些工作我到現在都還沒完成, 比較早期的文章大概都轉好了, 有些 2001 年末, 2002 年初的就丟著了 XD

我不知道像 colin 講的我修改留言是不是因為看到我在修整版面的緣故, 但是文章的發言內容, 我是絕對不可能去做任何的變動的. 這也是我在 myAV 敢據理力爭的緣故, 何況還有舊資料庫在, 一比對, 其實很容易知道文章內容是不是有變動.

當然, 關於 Big5 衝碼的問題有沒有徹底解決, 我也沒有十足把握, 因為 Access 跟 MySQL 是完全不同等級、不同設計的資料庫, 以我到目前為止所檢查過的討論區內容, 算是還好.

以上.

文章發表於 : 週三 9月 03, 2003 10:10 pm
Jeff
ROGER 這篇請改放到版務區好嗎?

這是討論區改版的血淚史~~ :ho:

文章發表於 : 週三 9月 03, 2003 10:10 pm
RogerShih
嗯, 稍後會 copy 一份到站務區置頂.

文章發表於 : 週三 9月 03, 2003 10:33 pm
Jeff
嗯~~ 那, 站務區那裡供著讓大家憑弔~~

這裡讓大家老話重提~~

我要四顆星換一罐可樂罐~~

星等制度不是要改嗎? 怎麼沒下文了??

文章發表於 : 週三 9月 03, 2003 10:34 pm
RogerShih
Jeff 寫:嗯~~ 那, 站務區那裡供著讓大家憑弔~~

這裡讓大家老話重提~~

我要四顆星換一罐可樂罐~~

星等制度不是要改嗎? 怎麼沒下文了??


星等制度有要改嗎!? :o

文章發表於 : 週三 9月 03, 2003 10:38 pm
RogerShih
喔喔, 剛回頭看, md5 是不可逆向的, 是正常情況而論, 事實上只要知道轉換規則, 應該還是可以轉回去, 但是....我不會....數學是我最奧咖的項目 :mad:

文章發表於 : 週三 9月 03, 2003 11:41 pm
JY
老人喝茶時間(?)....
囌~~~~~~~~

(逃命去

文章發表於 : 週三 9月 03, 2003 11:55 pm
FireDragon
:think: 很努力的看,但還是聽音樂好了 :hand: .

文章發表於 : 週四 9月 04, 2003 1:20 am
ele
RogerShih 寫:喔喔, 剛回頭看, md5 是不可逆向的, 是正常情況而論, 事實上只要知道轉換規則, 應該還是可以轉回去, 但是....我不會....數學是我最奧咖的項目 :mad:

md5是不可能逆向的, 舉個例子, 一片光碟的資料可以用md5 encode成短短的32個16位數碼, 那這短短的資料是不可能還原成一片光碟的 :ya:

文章發表於 : 週四 9月 04, 2003 1:23 am
mourning
RogerShih 寫:
Jeff 寫:嗯~~ 那, 站務區那裡供著讓大家憑弔~~

這裡讓大家老話重提~~

我要四顆星換一罐可樂罐~~

星等制度不是要改嗎? 怎麼沒下文了??


星等制度有要改嗎!? :o

挖咧只准站長有可樂 :lol:

文章發表於 : 週四 9月 04, 2003 4:34 am
Superkiwi
RogerShih 寫:
Jeff 寫:嗯~~ 那, 站務區那裡供著讓大家憑弔~~

這裡讓大家老話重提~~

我要四顆星換一罐可樂罐~~

星等制度不是要改嗎? 怎麼沒下文了??


星等制度有要改嗎!? :o

星等制度我沒意見啦...(反正我也沒星星... :keep: )
不過那個"士官","軍官","將軍"改改倒是滿好玩的 :ya:

文章發表於 : 週四 9月 04, 2003 4:35 am
狂人
RogerShih 寫:喔喔, 剛回頭看, md5 是不可逆向的, 是正常情況而論, 事實上只要知道轉換規則, 應該還是可以轉回去, 但是....我不會....數學是我最奧咖的項目 :mad:


MD5 是拿來當 Checksum 用的吧,不可能還原啦... :P

文章發表於 : 週四 9月 04, 2003 10:10 am
RogerShih
狂人 寫:
RogerShih 寫:喔喔, 剛回頭看, md5 是不可逆向的, 是正常情況而論, 事實上只要知道轉換規則, 應該還是可以轉回去, 但是....我不會....數學是我最奧咖的項目 :mad:


MD5 是拿來當 Checksum 用的吧,不可能還原啦... :P


喔喔!!我還以為我數學太爛了, 所以是我想不出來還原的方法而已 XD

文章發表於 : 週四 9月 04, 2003 11:27 am
狂人
RogerShih 寫:
狂人 寫:
RogerShih 寫:喔喔, 剛回頭看, md5 是不可逆向的, 是正常情況而論, 事實上只要知道轉換規則, 應該還是可以轉回去, 但是....我不會....數學是我最奧咖的項目 :mad:


MD5 是拿來當 Checksum 用的吧,不可能還原啦... :P


喔喔!!我還以為我數學太爛了, 所以是我想不出來還原的方法而已 XD


Roger... :P 如果真的想出還原法,記得告訴我,我馬上去申請專利... (滅) 這個專利應該可以一生花不完了... (滅)

XDXDXD

文章發表於 : 週四 9月 04, 2003 11:43 am
RogerShih
狂人 寫:
RogerShih 寫:
狂人 寫:
RogerShih 寫:喔喔, 剛回頭看, md5 是不可逆向的, 是正常情況而論, 事實上只要知道轉換規則, 應該還是可以轉回去, 但是....我不會....數學是我最奧咖的項目 :mad:


MD5 是拿來當 Checksum 用的吧,不可能還原啦... :P


喔喔!!我還以為我數學太爛了, 所以是我想不出來還原的方法而已 XD


Roger... :P 如果真的想出還原法,記得告訴我,我馬上去申請專利... (滅) 這個專利應該可以一生花不完了... (滅)

XDXDXD

....我想的出來就有鬼了....XD

突然 IQ 360 !? :o

----
現在我只有 1/3 的 IQ 吧.... :x

文章發表於 : 週四 9月 04, 2003 9:05 pm
JY
還放了三倍的IQ出來.............
難道R大能在特定情況下提升IQ...(炸

還是說所謂的漆成紅色就能有三倍速...(光速逃

文章發表於 : 週四 9月 04, 2003 9:07 pm
RogerShih
JY 寫:還放了三倍的IQ出來.............
難道R大能在特定情況下提升IQ...(炸

還是說所謂的漆成紅色就能有三倍速...(光速逃


我 IQ 沒那麼高過.... :eeh: