分類目錄歸檔:站長文檔

全部鏈接在新窗口中打開

上網提速入口中有很多站外鏈接, 要讓這些鏈接都在瀏覽器新窗口中打開, 可以在每個<a>tag中加入target="_blank"標識, 但如果鏈接很多, 就會有非常大量的重複代碼. 其實可以在head中加入<base target="_blank"> tag,讓頁面內所有鏈接(包括form提交)都指向新的瀏覽器窗口, 讓代碼更加簡潔.

發表在 站長文檔 | 一條評論

there is no attribute “onClick”

上網加速入口的代碼在W3C標籤檢驗器檢查時發現了 there is no attribute “onClick”錯誤. 通過搜索才發現原來XHTML 1.0 Transitional標準不允許attribute中包含大寫字母, 將代碼中<li id=”search1_tab” class=”btn1″  onClick=”setTab(‘search’,'search1′)”>Google</li>中的”onClick改成onclick後才通過. 類似常見的attribute還有onMouseOver,onFocus等, 雖然大寫的好看一些, 但為了通過W3C檢驗只能改成小寫.  當然如果你使用的是html標準的代碼(如百度和google使用的代碼), 大小寫的屬性不會帶來問題.

發表在 站長文檔 | 留下評論

再讀李想

這兩天一直在讀李想的blog和其它想關的文章.

李想應該是所有站長中把執行做得最好的一位.
他網站的成功, 來源於他對 目標-執行-成果 這一簡單結構的信仰. 為了達到目標, 他會去做, 而且全力以赴!

讀了這些文章, 到現在明白了三點:
1.不一定要當天才. 不一定要做最前衛的事情. 李想做的都是已經有人在做的網站. 但他靠自己的努力把這些網站做得更大.
2.達到目標須要堅持不懈的努力執行. 學習完成目標的能力, 在無數方法中找到真正可以下手的方法.
3.網站須要流量, 特別是剛開始的時候.
和流量相關的關鍵詞: 美女, 免費, 下載. 第一數字平台泡泡網可以做娛樂, 因為娛樂的人流有可能會關注數碼產品. 把流量帶到網站了, 就邁出了第一步!!

發表在 成敗幾何, 站長文檔 | 留下評論

在ubuntu6.06上安裝apache2.2X + mysql + PHP + Ruby on Rails + Mongrel Cluster

到現在已經安裝了好幾次服務器了。總結出了一些經驗,在這裡和大家分享一下。

說明
我使用的linux是ubuntu 6.06 server cd版本。選第一項安裝最基本的系統文件,不自動安裝LAMP服務,因為ubuntu 6.06自帶的apache2是2.0X的,不適合做mongrel cluster的前台,安裝自帶的apache2.0X之後卸載它比較麻煩,所以乾脆不要自動安裝LAMP服務,而手動安裝apache2.2。

ubuntu 6.06 server cd的基本安裝只安裝系統必要文件,不安裝其它服務,甚至連ssh都要手動:
sudo apt-get install ssh
安裝,請大家注意要安裝上ssh才能遠程訪問。

安裝準備

加本地ubuntu源,加快下載速度
sudo nano /etc/apt/sources.list
加入速度比較快的源,如cn99的:
deb http://ubuntu.cn99.com/ubuntu/ dapper main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu/ dapper-updates main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu/ dapper-security main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu/ dapper-backports main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu-cn/ dapper main restricted universe multiverse

更新系統
sudo apt-get update
sudo apt-get dist-upgrade

準備必要文件
sudo apt-get install build-essential

創建下載源碼文件夾

cd ~
mkdir src
cd src

安裝zlib
wget http://www.zlib.net/zlib-1.2.3.tar.gz
tar xvfz zlib-1.2.3.tar.gz
cd zlib-1.2.3/
./configure –prefix=/usr/local
make
sudo make install
cd ..

安裝Apache2.2
下載安裝apche2.2
sudo dpkg –purge apache apache2
wget http://apache.rmplc.co.uk/httpd/httpd-2.2.4.tar.gz
tar xvfz httpd-2.2.4.tar.gz
cd httpd-2.2.4/
./configure –prefix=/usr/local/apache2 –enable-mods-shared=all –enable-deflate –enable-proxy –enable-proxy-balancer –enable-proxy-http
make
sudo make install
cd ..

測試apache2.2
啟動apache2.2
sudo /usr/local/apache2/bin/apachectl start
訪問測試
http://xxx.xxx.xxx.xxx(服務器IP)
停止apache2.2
sudo /usr/local/apache2/bin/apachectl stop

讓apache2.2在系統啟動時自動運行
sudo cp /usr/local/apache2/bin/apachectl /etc/init.d/apachectl
sudo chmod +x /etc/init.d/apachectl
sudo nano /etc/init.d/apachectl
修改文件,增加:
#!/bin/sh
#
# chkconfig: – 85 15
# description: Apache is a web server.
sudo /usr/sbin/update-rc.d apachectl defaults

增加apache用戶,增強系統安全性
sudo adduser –system apache
sudo nano /usr/local/apache2/conf/httpd.conf
修改文件,將
User daemon
Group daemon
改成:
User apache
Group nogroup

PHP模塊安裝
如果你不想在服務器中使用php網站,直接跳過本節
下載安裝php4(因為我的服務器只是用來運行早點的php程序,php4夠用了)
sudo apt-get install flex
wget http://au2.php.net/get/php-4.4.7.tar.gz/from/cn.php.net/mirror
tar xvfz php-4.4.7.tar.gz
cd php-4.4.7
./configure –with-apxs2=/usr/local/apache2/bin/apxs –with-mysql –disable-cgi –with-zlib –with-gettext
make
sudo make install
sudo cp php.ini-dist /usr/local/lib/php.ini
cd ..

設置php
sudo nano /usr/local/apache2/conf/httpd.conf
修改文件,
增加(如果已經加上就不用了)
LoadModule php4_module        modules/libphp4.so

AddType application/x-gzip .gz .tgz
之後增加:
AddType application/x-httpd-php .php
修改
DirectoryIndex index.html

DirectoryIndex index.html index.php default.php

測試php
在網站目錄(默認/usr/local/apache2/hdocs/)創建test.php文件,內容
<?php
phpinfo();
?>
然後訪問:
http://xxx.xxx.xxx.xxx/test.php
應顯示系統php模塊信息。

安裝MySQL
sudo apt-get install mysql-server mysql-client

修改root用戶密碼
sudo mysqladmin -u root password 新密碼
sudo mysqladmin -u root -h localhost password 新密碼

如果要進行其它基本設置,修改/etc/mysql/my.cnf文件。

mysql數據備份與恢復
備份
mysqldump -u 用戶名 -p 數據庫名 > 備份文件名
恢復
mysql -u 用戶名 -p 數據庫名 < 備份文件名

安裝ruby1.8.6
ubuntu 6.06自帶的ruby是1.8.4, 因為在使用1.8.4版的ruby時我遇到mongrel提示ruby版本過舊的問題,所以自行編譯安裝1.8.6版的ruby.

安裝ruby1.8.6
wget http://rubyforge.org/frs/download.php/18421/ruby-1.8.6.tar.gz
sudo tar -xvf ruby-1.8.6.tar.gz
cd ruby-1.8.6
./configure
make test
make
sudo make install

安裝ruby1.8.6後在運行script/console時遇到了
      /usr/local/lib/ruby/1.8/irb/completion.rb:10:in `require’:
      no such file to load — readline (LoadError)
錯誤,解決辦法是
安裝readline

sudo apt-get install libncurses5-dev libreadline5-dev
cd ext/readline
ruby extconf.rb
make
sudo make install
cd ../../..

ruby gems安裝
sudo wget http://rubyforge.org/frs/download.php/11289/rubygems-0.9.0.tgz
tar -xvzf rubygems-0.9.0.tgz
cd rubygems-0.9.0
sudo ruby setup.rb
sudo gem update –system
cd ..

安裝libmysql
sudo apt-get install libmysql-ruby libmysql-ruby1.8 libruby1.8
安裝好這個後
irb
irb(main):001:0> require ‘mysql’
還是提示出錯,於是我安裝mysql gem
sudo gem install mysql
但安裝出錯。。。。
奇怪的是後來發現RoR網站可以正常運行,沒有問題。網友如果解決了這個問題,請留言一下。

安裝Rails
sudo gem install rails –include-dependencies
注意linux平台安裝過程要選帶ruby的rails。

安裝Mongrel Cluster
sudo gem install daemons gem_plugin mongrel mongrel_cluster –include-dependencies
同上,linux平台安裝過程要選帶ruby的程序。

增加一個mongrel用戶,增強系統安全性
sudo adduser mongrel
將網站文件歸到這個用戶
sudo chown -R mongrel:mongrel /www/app
上面/www/app為RoR程序目錄

創建mongrel群

sudo mongrel_rails cluster::configure -e production -p 8000 -N 3 -c /www/app -a 127.0.0.1 –user mongrel –group mongrel
其中/www/app為RoR程序目錄
8000為mongrel群開始端口
-N 3中的3為mongrel群中的mongrel服務器數量,3表示3個mongrel組成這個群,群使用的端口從8000開始,8000,8001,8002三個。
上面的命令將會在RoR程序/www/app/config目錄下生成mongrel_cluster.yml文件。
將新文件歸到mongrel用戶
sudo chown -R mongrel:mongrel /www/app/config/mongrel_cluster.yml

啟動mongrel群測試
在當前RoR程序根目錄(如上面的/www/app)下運行
sudo mongrel_rails cluster::start

讓mongrel cluster在系統啟動時自動運行
sudo mkdir /etc/mongrel_cluster
sudo ln -s /www/app/config/mongrel_cluster.yml /etc/mongrel_cluster/app.yml
sudo cp /usr/local/lib/ruby/gems/1.8/gems/mongrel_cluster-1.0.2/resources/mongrel_cluster /etc/init.d/
上面的/usr/local/lib/ruby/gems/1.8/gems/mongrel_cluster-1.0.2/是mongrel gem所在的目錄。
修改mongrel_cluster文件
sudo nano /etc/init.d/mongrel_cluster
在CONF_DIR之上加入一行:
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local:/usr/local/sbin:/usr/local/bin
解決一些情況下因為mongrel找不到程序而不能在系統啟動時自動運行的問題。
sudo chmod +x /etc/init.d/mongrel_cluster
sudo /usr/sbin/update-rc.d -f mongrel_cluster defaults
手動修改mongrel cluster的啟動順序,讓它在最後運行,解決有可能發生的另一些啟動問題。
sudo mv /etc/rc2.d/S20mongrel_cluster /etc/rc2.d/S99mongrel_cluster

讓Apache成為mongrel的前台
修改httpd.conf文件(默認在/usr/local/apache2/conf/目錄下)
最後加入:
NameVirtualHost 192.168.1.1
<Proxy balancer://cslog_cluster>
  BalancerMember http://127.0.0.1:8000
  BalancerMember http://127.0.0.1:8001
  BalancerMember http://127.0.0.1:8002
</Proxy>

<VirtualHost 192.168.1.1>
    ServerName www.cslog.cn
    DocumentRoot /www/cslog/public
  RewriteEngine On
  RewriteCond %{DOCUMENT_ROOT}/maintenance.html -f
  RewriteCond %{SCRIPT_FILENAME} !maintenance.html
  RewriteRule ^.*$ /maintenance.html [L]
  # Rewrite index to check for static index.html
  RewriteRule ^/$ /index.html [QSA]
  # Rewrite to check for Rails cached pages with .html extentions
  RewriteRule ^([^.]+)$ $1.html [QSA]
  # All dynamic requests get sent to the cluster
  RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
  RewriteRule ^/(.*)$ balancer://cslog_cluster%{REQUEST_URI} [P,QSA,L]
  # Deflate for clients that support it.
  AddOutputFilterByType DEFLATE text/html text/plain text/xml
  BrowserMatch ^Mozilla/4 gzip-only-text/html
  BrowserMatch ^Mozilla/4\.0[678] no-gzip
  BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
# Error and access logs.
  ErrorLog logs/cslog_error_log
  CustomLog logs/cslog_access_log combined
</VirtualHost>
文件中的cslog_cluster可以自己命名,但要對應。
8000,8001,8002為mongrel群對應的端口。

總結
到這裡,ubuntu6.06上的apache2.2, mysql, PHP, Ruby on Rails , Mongrel Cluster安裝設置已經完成。下午一次全過程大概用了兩個小時,如果寫成腳本,應該可以系統自動安裝,可以更快完成全過程。

發表在 Ruby on Rails, 站長文檔 | 3 條評論

找一個網站流量統計系統

以前用過51yes在線統計,除了有一次感覺到它明顯拖慢了網站速度,平時還是不錯的。報告也很詳細。
用Ruby on Rails後,我找到了兩個相關的插件,SitealizerRail_stat,但兩個都是在服務器上即時統計的,要用佔用系統資源。於是想找個apache日誌分析器。一開在google上找counter,結果找到了大量九十年代的東西,很讓人懷舊。原來現在流行的關鍵詞是 Log Analysis/Web Statistics。找是我找到了AWStats,這是個用perl語言編寫的log免費分析器。從它的Demo來看報告還是比較詳細的。基於貨比三家的傳統想法,又搜索了一會,找到了ClickTracks, 看了它的Flash Overview, 大開眼界!!! 原來現在的網站流量分析思想和技術已經達到了如此之高的境界。。。這樣的軟件只賣995美元真是物超所值!參觀完了走人吧,現實點,再找個免費的。就在這時,Google出現了,Google Analytics!!! 我二話沒說就註冊了。這個和51yes幾乎是一樣的,這個比AWStats方便,不用安裝。註冊後我得到一段javascript代碼,然後要做的就是把代碼放到每個頁面上,以後找個吉日登錄Google Analytics頁面查看流量。。。

從51yes轉到了一圈,回到了原點,只不過換了個牌子。

發表在 站長文檔 | 2 條評論

網站作為一個信息供給系統

就目前為止,我對網站作為一個信息供給系統的看法。
當然,網站不止於信息供給功能,人們還可以發布信息和交流信息。

信息供給系統是指一個能向用戶提供有用信息的系統。
它是相對的。一個系統能提供的信息對一些用戶有價值,對於其他用戶可能沒有價值。
信息供給系統必需滿足兩個條件:
1.有價值的信息在系統中存在;

2.用戶可以通過某種實際可行的途徑得到這部分信息。

信息供給系統的評價標準
對於一個用戶,系統屬於信息供給系統的條件下,評價它的標準:
1.取得信息的難度(技術難度,視線難度。。)
2.取得信息的用時
3.信息價值的大小,用戶最後得到信息後對信息的滿意度。信息的相關性,信息的準確度,信息的時效,信息的完整程度。。。

信息供給的途徑
1.搜索
優點:直接,快速
缺點:要先得到關鍵詞,很難控制相關性。

2.索引
優點:系統化,用戶可以不知道關鍵詞,通過大概的感覺找到信息;可以瀏覽,讓用戶得到一片信息,而不是一點
缺點:比較費時(但如果能順利找到,用戶應該不介意)
網頁的分類,TAG,導航系統也可以看完一個索引系統。
要使用清晰準確易懂的關鍵詞作為分類名。不要給用戶任何“驚喜“
索引分類結構要合理,要讓用戶一眼能看出來他要的子分類藏哪一主分類之下。
一個終端類目下的條目不應該過多,過多的條目不方便挑選。
索引最好有合理排序功能,通過列表的條件關係,加速信息查找。

信息供給系統的最高目標:
立現你所需,不多,也不少。
立:速度快
現:不費力,主動“現”
你:個性化,針對性
所需:相關性
不多:無干擾信息,無不相關信息
不少:信息量完整。

發表在 信息處理, 站長文檔 | 標籤為 | 留下評論

Don't Make Me Think( Web Usability)

飛利浦 在廣告中說科技應該像打開盒子一樣簡單.

Don't Make Me Think by Steve Krug
 
Don't Make Me Think!-the first law.
Self-evident,Obvious,Self-explanatory
 
What Make Us Think?
Names, Buttons,Search
Make a list.
 
1.名字要用最通俗的.
2.鏈接,按鈕等元素要有明顯特徵.
3.查找等功能要傻瓜化.
4.多用通俗的圖標代替文字.

The competition is always just one click away!
 
1.The task at hand
2.interests
3.Free,Sex, and our own name
 
IT is a good idea to assume that everything is visual noise until proven otherwise.

2005年12月4日

Don't Make Me Think note 2

Never take more than 3 clicks to get to any page of the site.
Users don't mind a lot of clicks as long as each click is painless and they have continued confidence that they're on the right track.
 
NAV for Windows 95/98 -it makes me think!
 
Omit needless words.
Vigorous writing is concise. A sentence should contain no unnecessary words, a paragraph no unnecessary sentences, for the same reason that a drawing should have no unnecessary lines and a machine no unnecessary parts.
happy  talk must die
instructions must die
 
Navigation
Searcher or Browser
 
Search ->Type a keyword -no needed
 
把LOGO,導航,幫助等不變的內容放到左邊,不佔用可用空間. 可用空間用來放內容和廣告.
 
Every page needs a name
the name needs to be in the right place
 
TABs

2005年12月4日

Don't Make Me Think note 3

HOME PAGE
 
Show me what I'm looking for.
and what I'm not looking for.
 
Create a good impression
 
??????????????????????????????????
What is this?
What can I do here?
What do they have here?
Why should I be here-and not somewhere else?
 
Tagline: 沒有圍牆的大學
 
Where to start?
Here's where to start if I want to search.
Here's where to start if I want to browse.
Here's where to start if I want to sample their best stuff.

2005年12月13日

Don't Make Me Think note 4

does this pulldown,with these items and this wording in this context on this page create a good experience for most people who are likely to use this site?

and there's really only one way to answer that kind of question:testing.

ask for anyone to test the web, 1 error $6
<the End>

 2006年2月1日
 

發表在 站長文檔 | 留下評論

Quick Tips Regarding Web Usability and User Testing note

We think of our site as great piece of art and literature and the user's reality is much closer to "billboard going by at 60 miles an hour."

Fact#1 We Don't Read, We Scan.

Fact#2 We Don't Consider all Options, We Go for What We Like.

Fact#3 We Don't Learn, We Guess.   
     let the instructions be done in a line of words.

Omit Needless Words.

Clear Visual Hierarchy
The more important something is, the more prominent it is.

In latest eye-tracking studies, users decide very quickly which parts of the page have useful info and almost never look at other parts.

Why I return?
High Quality content
Often updated
Minimal download time
Ease of use.
HOME

2005年12月4日

發表在 站長文檔 | 留下評論

搞好網站的關鍵只有一個–實用性

不用太多名詞,什麼Web2.0,什麼RSS,這些我都不懂.
做好網站我覺得最要緊的就是網站要有實用性.
實用性分兩點:

一:網站要有用戶想要的東西.
就是網站的內容,不是空洞的,不是華而不實的,而是網民他想要的.網民來你的網站是因為他有一種需要,而你的網站能滿足他的需求,因此他需要你的網站,因此你的網站有必要存在.
 
二:網站要以最方便,快速的方式提供它的服務.
你的站上有網民要的東西,這是要件之一,你還要讓網民能快速方便地找到他所要的服務.現在的網站不計其數,你要生存,你就必須讓網民用得舒服.我今天又想到,簡單也是種美,簡單美.正如大多偉大的物理公式一樣.
2005年11月10日 日記

發表在 站長文檔 | 留下評論

XHTML Quick Reference

Basic XHTML Rules

    * 使用小寫標籤:
      <p class="introduction">Paragraph text</p>
    *使用雙引號:
      <a href="calendar.php">
    *外部鏈接使用http://開頭:
      <a href="http://www.cnn.com/";>Latest news.</a>
    * <br />,<img />等標籤關閉前加一空格。:

      <img src="funnyface.jpg" alt="Me making a funny face." />
    * 標籤要關閉:
      <h1>Welcome to English 106</h1>
    * 標籤嵌套要順序進行:

發表在 站長文檔 | 留下評論