[筆記]IIS支援PHP5

喔…我真是蠢
上次弄個老半天,看了無數的文章
才發現這個困難並不困難
怎麼會沒看到這個選項?
那我花了好多天,看了頭暈轉向的文章怎麼辦?
算是學費吧
要IIS支援PHP,
客倌們,看好樓
1. 到PHP官網下載最新”穩定”版PHP
http://www.php.net/downloads.php
2. 請到官網選擇Windows Binaries
PHP 5.2.6 installer 下載
3. 安裝時選IIS ISAPI module
再選擇安裝目錄,外掛設定(GD zip rar…等等)
123站著穿 有沒有很簡單?
這大概是收錄裡面最簡單的一篇了

[筆記]Fedora 9下的VNC的設定

本文部份節錄和翻譯自http://fedoranews.org/tchung/vnc/index.shtml
(他真的寫的太優了…佩服佩服)
————————————————–
安裝VNC

打入下列指令去檢查用戶端和伺服器是否有安裝好vnc

[tchung@tchung101 tchung]$ rpm -q vnc vnc-server
vnc-4.0-0.beta4.3.2
vnc-server-4.0-0.beta4.3.2
[tchung@tchung101 tchung]$

————————————————–
修改vncservers的設定檔
請自行加入多出來的指令

[tchung@tchung101 tchung]$ sudo vi /etc/sysconfig/vncservers

# The VNCSERVERS variable is a list of display:user pairs.
#
# Uncomment the line below to start a VNC server on display :1
# as my ‘myusername’ (adjust this to your own). You will also
# need to set a VNC password; run ‘man vncpasswd’ to see how
# to do that.
#
# DO NOT RUN THIS SERVICE if your local area network is
# untrusted! For a secure way of using VNC, see
# URL:http://www.uk.research.att.com/vnc/sshvnc.html

# VNCSERVERS="1:myusername"
VNCSERVERS="1:tchung"
(↑加入上面這行,tchung改成linux可登入帳號)

————————————————–
建立密碼檔

再還沒運作VNC時,我們先用vncpasswd指令 建立一個密碼檔
(這個密碼檔會在家目錄建立一個隱藏目錄.vnc)

[tchung@tchung101 tchung]$ vncpasswd
Password:
Verify:
[tchung@tchung101 tchung]$ ls -d .vnc
.vnc
[tchung@tchung101 tchung]$ ls .vnc
passwd
[tchung@tchung101 tchung]$

————————————————–
讓VNC執行成服務

[tchung@tchung101 tchung]$ sudo /sbin/service vncserver start
Starting VNC server: 1:tchung [ OK ]
[tchung@tchung101 tchung]$

讓我們來看看.vnc目錄有什麼內容,你應該會跟我有差不多的東西

[tchung@tchung101 tchung]$ cd .vnc
[tchung@tchung101 .vnc]$ ls
passwd tchung101:1.log tchung101:1.pid xstartup
[tchung@tchung101 .vnc]$

————————————————–

修改xstartup的內容

修改xstartup的內容,將紅色部分的註解拿掉
要不然你只能看到一片灰色的螢幕和指令列
(以下是xstartup的內容)

#!/bin/sh

# Uncomment the following two lines for normal desktop:

unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc

(↑將註解#拿掉)

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 80×24+10+10 -ls -title "$VNCDESKTOP Desktop" &
twm &

我們才剛剛修改過xstartup 讓我們先重新起動vnc服務

[tchung@tchung101 tchung]$ sudo /sbin/service vncserver restart
Shutting down VNC server: 1:tchung [ OK ]
Starting VNC server: 1:tchung [ OK ]
[tchung@tchung101 tchung]$

我們如何連上vncserver? 用vncviewer 指令來達成目的

[tchung@tchung101 tchung]$ vncviewer localhost:1

————————————————–
防火牆  打開port 5901

UPDATE:
如果要讓遠端能夠連過來,防火牆的port 5901需要打開(放行)
加入下列紅色部分來打開port 5901,然後重新啟動iptables 服務

[tchung@tchung101 tchung]$ sudo vi /etc/sysconfig/iptables

# Firewall configuration written by redhat-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT – [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp –icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 5901 -j ACCEPT
(↑加入這行)
-A RH-Firewall-1-INPUT -j REJECT –reject-with icmp-host-prohibited
COMMIT

[tchung@tchung101 tchung]$ sudo /sbin/service iptables restart
Flushing firewall rules: [ OK ]
Setting chains to policy ACCEPT: filter [ OK ]
Unloading iptables modules: [ OK ]
Applying iptables firewall rules: [ OK ]
[tchung@tchung101 tchung]$

————————————————–
當使用二個使用者時
TIP by Forrest Taylor

如果要在vncservers使用二個使用者,照以下部驟

VNCSERVERS="1:tchung 2:thomasc"
當然你也要執行vncpasswd 去分別設定這二個使用者,當然你的防火牆要改動設定
你可能要確定VNC的 連線1 是不是用 port 5901,如果你有二個使用者以上的話
你可能要開啟(放行) port 5901port 5902
閱讀全文〈[筆記]Fedora 9下的VNC的設定〉

linux伺服器下的心得

由於最近在學灌伺服器
想灌個Windows版一台,Linux一台(野心真是大呀..)
就接觸到Fedora 9
對於Fedora 9….只能說
不習慣
為何不習慣?
好多指令列、好多設定檔、
多跑幾秒才會出現的圖形模式
設計有點奇怪的權限、重複功用的圖形程式
還有會一直等別人的程式(真是奇怪的設計…)
甚至…發件疑似是正在開發中出現的Bug….
Fedora 從我看到的4已經演變到9了耶
每次都是大改版
想說應該很成熟的吧
是…技術上很成熟
Fedora 可以是個全方位的伺服器
但是…好像人機介面比較停留於文字模式
難道文字模式不強,或是linux比較不熟的人
就不能掌管伺服器嗎?
(忽然覺得微軟的伺服器還是有些用處的
雖然很會藏功能,很多很艱深的名詞,但還是99%圖形介面)
努力爬文 K書中… 閱讀全文〈linux伺服器下的心得〉

人際關係的比喻

人與人之間就像一把把的鑰匙
每把鑰匙都不一樣
有圓有方
每個人都有不同的特質
當鑰匙的尖媏碰到尖媏時
人就起了摩擦
但每把鑰匙都有一個共通點
上方都有一個洞
可以用鑰匙圈串起來
這就是人奇妙的地方
這就是人際關係的用處
將不同特質的人串在一起
成為朋友
主動廣結善緣 人多話就多

不要為了討好別人 而放棄自己的堅持

這是我在講座裡學到的
做為自己的提醒
尤其是最後一句
不過我現在覺得
你不主動交朋友,別人或許都不會理你
所以還是主動出擊才是阿

[筆記]flash搭配後端程式顯示資料(有點像ajax的感覺)

flash搭配後端程式顯式資料
這已經是我之前學到的方法了

覺得ajax很複雜
參數很難掌握

也可以使用這個方法

flash也有表單物件
做的好的話,跟ajax無異

而且flash因為是用動畫呈現
除了畫面框之外
可塑性也很高

(提外話:我當時學還只是flash MX勒)
(現在已經CS3摟?看來要重學這一塊了)
(聽說action script3.0有點難是吧?)

——————————————-
回歸正題

關鍵的action script

就是loadVariables函數

範例
loadVariables(“progam.asp”, this, “GET”);

在frame第一格中加入此行
當然,目標程式progam.asp要改摟
如果要傳入值給後端程式,你可以這樣寫
loadVariables(“progam.asp?id=3&txt=test”, this, “GET”);

這樣後端程式就可以去request
id和test這二個變數了

那後端程式要輸出什麼東西呢?
內容類似

iscomplete=true&totaldata=2&id1=1&txt1=test1&pic1=pic1.jpg&id2=2&txt2=test2&pic2=pic2.jpg

這樣寫就直接成為flash裡的變數了
直接引用吧

不過有二個重點
第一、後端程式要儲存成unicode
以asp為例子,開頭加入

<%@ LANGUAGE=VBScript CodePage=65001%>

Response.Charset=”Unicode”

第二、你要如何知道變數已經載入了呢?
你要設一個變數(假設為iscomplete)
在flash下第二個frame做if判斷

if(iscomplete=true){
stop();
…..
}


如果載入圖檔位置的變數
要顯示圖片到flash要怎麼辦?

使用loadmovie

開一個空的movie clip 名叫box1,放到舞台

loadMovie(pic1, box1);

載入文字
在box1建立一個文字框叫txt1
就可使用

box1.txt1 = txt1;

補充
要是用迴圈來顯示所有的資料
總不能一個一個輸入吧

沒關係,可以用eval()指令
給個範例
後端程式輸出一個totaldata變數
統計資料的總筆數

for (i=1; i<totaldata; i++) {
eval(“box”+ i+”.txt”+i)= eval(“txt” + i);

}

——————————————————————

方法大致是如此

設計它的顯示方式吧

可以變化的地方很多

祝大家成功

[筆記]ajax技術(概念和後端程式)

最近在研究ajax
快被它搞煩了

一長串的java script
還有瀏覽器的支援度不同
一堆看不懂的語法

從wiki的定義
AJAX全稱為「Asynchronous JavaScript and XML」(異步JavaScript和XML)
,是一種創建交互式網頁應用的網頁開發技術。根據Ajax提出者Jesse James Garrett
—————————————————–

ajax的原理…我知道阿
就是用java script,送出一堆資料給
網頁後端(php asp jsp…等)
再利用後端,寫出一些東西給java script
去分析,顯示

原理很簡單阿

但一直找不到關鍵的東西
1. 送到網頁後端,哪個檔
2. 送了甚麼資料
3. 把資料用瀏覽器手動帶進去,寫了甚麼東西

因為範例的檔案是php
但我用asp…Orz

搞了許久
大概知道他在幹嘛

也依樣畫葫蘆,改了東西出來
(重寫後端的程式,改成ASP版的)

但是….中文亂碼
爬文…叫你設定編碼
除了上面的
<%@ LANGUAGE=VBScript CodePage=950%>
再加入
<%Response.Charset="BIG5"%>
 ——————————————– 

(unicode的話,請把檔案重存成unicode)
改成
<@ LANGUAGE=VBScript CodePage=65001%>

Response.Charset="Unicode"

要不然會錯誤

——————————————– 
java script分析資料
還沒研究….
先照舊
有些範例是用特定字元再spilt
有些範例是整理文字輸出的方式
java script處理,直接變成object以供顯示
大概是這樣

然後就有簡單版的ajax了

我是拿自動完成文字框的範例(Dhtml Autocomplete)
來自http://www.ajaxdaddy.com/

程式設計真的是學海無涯阿

會看ASP原始碼的人
我附上我範例重寫ASP版的後端程式
讓你比較清楚他在幹嘛
資料庫的部分…
請自行到create-countries.php拿取(應該不難認出)
整理成二個欄位id和countryName
id為自動編號
存成country資料表,country.mdb

就可以玩這個範例

 —-ajax-list-countries.asp———————————– —–

<%@ LANGUAGE=VBScript CodePage=950%>
<%
Response.Buffer=True
Dim conn,db,prefix,timeset,connstr,time1,onlinetime,rs
prefix="zym"
Server.ScriptTimeout=40
timeset=0 ‘時區相對東八區(北京時間)
onlinetime=1  ‘保存用戶在線的時間(小時)。
db="country.mdb"
set conn=Server.CreateObject("ADODB.Connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&server.mappath(db)
conn.open connstr
Sub closedb
conn.close
Set conn = nothing
End Sub

getCountriesByLetters=request("getCountriesByLetters")
letters=request.querystring("letters")
if getCountriesByLetters=1 then
set rs1=server.createobject("adodb.recordset")
sql1="select * from [country]  where countryName like ‘"&letters&"%’"
Response.Charset="BIG5"
rs1.open sql1,conn,1,2
if rs1.eof then
    response.write "查無資料!"
    response.end
end if
while not rs1.eof
Response.write rs1("id")&"###"&rs1("countryName")&"|"
rs1.movenext
wend

end if
%>
————————————————————————-

從程式不難看出
當你從瀏覽器尾端放入
……/ajax-list-countries.asp?getCountriesByLetters=1&letters=al

————————————————————————-
就會顯示類似以下的東西

2###Albania|3###Algeria|
————————————————————————-
(後來發現…firefox不支援此範例…Orz)
我再看看解決方法吧

閱讀全文〈[筆記]ajax技術(概念和後端程式)〉

[筆記]最近的一些學習指引

最近在研究一些有關網頁和wiki的東西
找了一些可以學習的地方
給大家一個學習指引

wiki編輯

Wiki編輯入門(上)
http://www.tsima.org.tw/wiki/index.php/%E6%9C%9F%E5%88%8A/Wiki%E6%96%B0%E6%89%8B%E5%AF%AB%E4%BD%9C%E6%8C%87%E5%8D%97%E2%85%A0%EF%BC%88%E4%B8%8A%EF%BC%89
Wiki編輯入門(下)
http://www.tsima.org.tw/wiki/index.php/%E6%9C%9F%E5%88%8A/Wiki%E6%96%B0%E6%89%8B%E5%AF%AB%E4%BD%9C%E6%8C%87%E5%8D%97%E2%85%A0%EF%BC%88%E4%B8%8B%EF%BC%89
維基百科編輯手冊
http://zh.wikipedia.org/wiki/Help:%E7%BC%96%E8%BE%91%E6%89%8B%E5%86%8C
dokuwiki的語法
http://web.nlhs.tyc.edu.tw/wiki/thiswiki/syntax-zh-tw
Wikipedia:模板消息
http://zh.wikipedia.org/w/index.php?title=Wikipedia:%E6%A8%A1%E6%9D%BF%E6%B6%88%E6%81%AF&variant=zh-tw
色彩列表 – Wikipedia
http://zh.wikipedia.org/w/index.php?title=%E9%A2%9C%E8%89%B2%E5%88%97%E8%A1%A8&variant=zh-tw

wiki編輯工具

wiki編輯工具
http://commons.wikimedia.org/wiki/Commons:Tools

CSS教學

修改部落格標題-將文字變為圖片
http://tw.myblog.yahoo.com/yahoo-image/article?mid=5101&prev=5102&next=5094
CSS 語法教學
http://css.1keydata.com/tw/
css游標語法教學
http://www.wretch.cc/blog/ashine0118/7014848
OECSPACE – Css style樣式表
http://www.hsiu28.net/style/index.php
W3C CSS的spec
http://www.nationsfinance.co.uk/w3/Style/CSS/

特殊字元代碼

& &
< <
> >
" ”
  空格 閱讀全文〈[筆記]最近的一些學習指引〉

[筆記]在Firfox瀏覽localhost要密碼?

一直不知在firfox中瀏覽IIS的localhost會有錯誤

上網找了一下,做以下設定就可以了

在Firefox地址欄中輸入:about:config
篩選條件打入:network.automatic-ntlm-auth.trusted-uris
雙點這一項,在輸入值中輸入 localhost
原因:
ASP.Net development web server 對於每個請求,都會執行 NTLM 驗證,以確定處理的是來自同一個用戶的請求。
在IE中這是自動完成的,Firefox瀏覽器需要做以上設置才可以。
引用來源:http://blog.satyr.nl/post/fixing_the_localhost_authentication_problem_in_firefox
閱讀全文〈[筆記]在Firfox瀏覽localhost要密碼?〉

一些定理列表

引用網址:http://www.csie.ntu.edu.tw/download/Project.html

名稱

功能

1

 克希荷夫定律
(Kirchoff Law)

請詳細說明何謂克希荷夫電壓定律以及克希荷夫電流定律並舉例說明之。請設計一JavaScript的範例可以計算某一回路跨於各電阻之電壓值以及某一節點之輸出、入電流值。

 2

特立勤定理
(Tellegen’s Theorem)

請詳細說明何謂特立勤定理,並舉例說明之。請說明特立勤定理與能量守恆以及克希荷夫定律之間的關係,並闡述其幾何解釋。

3

二端電阻器與理想二極體 (Two-Treminal Resistor&Ideal Diode)

請詳細說明線性電阻器於i-v與v-i平面上的特性曲線與其關係式,並說明短路(Short Circuit)與斷路(Open Circuit)的特性關係。請詳細說明理想二極體、穿透二極體(Tunnel Diode0與PN-接面二極體(PN-Junction Diode)的特性曲線,並請說明二極體接面定律(Diode Junction Law)。

4

非線性電阻器與片段式線性近似法 (Nonlinear Resistor&Piecewise-Linear Approximation)

請詳細說明非線性電阻器所產生之諧波(Harmonic)效應,並詳細說明如何將交流轉變成直流之整流器工作原理。請詳細說明如何利用片段式線性近似法來分析非線性電路,並請與合成法相比較,並以穿透二極體的特性為例說明之。 閱讀全文〈一些定理列表〉