2010年3月30日 星期二

sar應用詳解

sar一個開放源代碼工具;它由 Sebastien Godard 維護。這個工具也包含於大部分 Linux 發行版本中,可用於當前的 2.4 和 2.6 內核,在red hat Linux 9.0 中是Sysstat 。也可以在其主頁下載,下載鏈接:http://download.stmc.edu.hk/redhat/linux/9/en/os/RedHat/RPMS/sysstat-4.0.7-3.i386.rpm 。Sysstat 包括: I/O 與 CPU 統計資料的工具:iostat、mpstat(用於多處理器性能監測)。和sar 。前面我們介紹了iostat、mpstat。下面重點介紹sar。
sar是System Activity Reporter(系統活動情況報告)的縮寫。顧名思義,sar工具將對系統當前的狀態進行取樣,然後通過計算數據和比例來表達系統的當前運行狀態。它的特點是可以連續對系統取樣,獲得大量的取樣數據;取樣數據和分析的結果都可以存入文件,使用它時消耗的系統資源很小。sar是讀 /proc這個內存文件系統進行採樣來得到數據。sar 從/var/log/sa/sadd 讀取記錄文件的資料。/usr/lib/sa/sadc 負責維護系統活動資料和建立這些記錄文件。sar實際包括兩個shell 程序/usr/lib/sa/sa1 和/usr/lib/sa/sa2。/etc/cron.d/systat 是crontab 的系統文件, 每十分鐘執行sa1程序一次,然後將它的輸出加到記錄文件後面。Sa1 以二進制格式儲存sar 所讀取的資料。/usr/lib/sa/sa2將每天數據寫入文件/var/log/sa/sadd。dd標示每月的日期。
sar的語法如下:
sar [-option] [-o file] t [n]
  它的含義是每隔t秒取樣一次,共取樣n次。其中-o file表示取樣結果將以二進制形式存入文件file中。Option主要選項:
-A 匯總所有的報告
  -a 報告文件讀寫使用情況
  -B 報告附加的緩存的使用情況
  -b 報告緩存的使用情況
  -c 報告系統調用的使用情況
  
  
 
應用實例:
察看內存和交換空間的使用率,使用sar -r。
# sar -r
Linux 2.4.20-8 (www.cao.com) 20050503
12:00:01 AM kbmemfree kbmemused %memused kbmemshrd kbbuffers kbcached
12:10:00 AM 240468 1048252 81.34 0 133724 485772
12:20:00 AM 240508 1048212 81.34 0 134172 485600

08:40:00 PM 934132 354588 27.51 0 26080 185364
Average: 324346 964374 74.83 0 96072 467559
kbmemfree 與 kbmemused 字段分別顯示內存的未使用與已使用空間,後面跟著的是已使用空間的百分比(%memused 字段)。kbbuffers 與 kbcached 字段分別顯示緩衝區與系統全域的資料存取量,單位為 KB。使用 2.4 Linux 核心的系統(例如 Red Hat Linux 9),kbmemshrd 字段一律為零。
sar命令它幾乎可以完成上面介紹的所有命令的功能。sar是目前Linux上最為全面的系統性能分析工具之一,可以從14個大方面對系統的活動進行報告,包括文件的讀寫情況、系統調用的使用情況、串口、CPU效率、內存使用狀況、進程活動及IPC有關的活動等,使用也是較為複雜。sar命令非常複雜,只有通過熟練使用才能掌握。

摘自:http://www.lslnet.com/linux/f/docs1/i16/big5178736.htm

超方便的Tool,將XHTML轉成Javascript

http://accessify.com/tools-and-wizards/developer-tools/html-javascript-convertor/

linux sar tip in rhel4 (centos4) 安裝教學

有時 sar 的指令無法正常顯示 cpu idle, 可以透過更新 sysstat 的套件來解決此狀況.
使用 rhel4 相容版本 sysstat-8.1.5.tar.gz, 也可於官方網站下載最新版本.
wget http://pagesperso-orange.fr/sebastien.godard/sysstat-8.1.5.tar.gz
移除無法正常顯示 cpuidle 的 sysstat 套件.
rpm -e sysstat
編譯 sysstat 原始碼, 並且安裝於 /usr.
tar zxvf sysstat-8.1.5.tar.gz
cd sysstat-8.1.5
./configure --prefix=/usr && make && make install
當 sar 的資料檔案與版本不符, 將會出現以下訊息.
sysstat: Invalid system activity file: /var/log/sa/saXX
需執行以下指令來重建.
rm -rf /var/log/sa/*
/usr/lib/sa/sa1
將 sar 加入 crontab, 定期產生資料.
echo '# run system activity accounting tool every 10 minutes
*/10 * * * * root /usr/lib/sa/sa1 1 1
# generate a daily summary of process accounting at 23:53
53 23 * * * root /usr/lib/sa/sa2 -A' > /etc/cron.d/sysstat

摘自:http://marlboromoo.blogspot.com/2009/06/linux-sar-tip-in-rhel4centos4.html

2010年3月28日 星期日

HOWTO: Install Subversion, Ruby on Rails and Redmine on CentOS5 (& RHEL5)

This HOWTO is written for CentOS 5.2 [updates for 5.3 in purple text]
Replace [FQDN] with either your IP address or the hostname (or FQDN) which you’ll be using to access the interface.
Replace [user] with the username under whom’s home directory the Subversion repository database will be located. e.g. /home/[user]/svn-repos
This HOWTO will be using the following variables:
You already have the “httpd” (apache) package installed
You will be running apache as the user ‘apache’
The subversion repository root folder will be under /home/[user]/subversion/
The vhost’s folder locationg will be /var/www/svn
The subversion repository to be created will be called ‘example-repo’
Install and set up Subversion

1
yum install mod_dav_svn subversion
Add the group [user] to the user apache and make the subversion base URL readable and writable…

1
usermod -aG [user] apache
2
chmod g+x /home/[user]
3
mkdir /home/[user]/subversion
4
chmod g+rwx /home/[user]/subversion
5
chown -R [user]:[user] /home/[user]/subversion
Make the web directory:

1
mkdir /var/www/svn
2
chown apache.apache /var/www/svn
Put the following into /etc/httpd/conf.d/svn.conf (this is for a sub-repo called ‘example-repo’)

01
NameVirtualHost *:80
02

03
DocumentRoot "/var/www/svn"
04
ServerName [FQDN]
05

06
DAV svn
07
SVNPath /home/[user]/subversion/example-repo
08
AuthType Basic
09
AuthName "Subversion repo"
10
AuthUserFile /var/www/passwd
11
Require valid-user
12

13

14

15
allow from all
16
Options +Indexes
17

18

Add an HTTP auth user…

1
htpasswd -cm /var/www/passwd [user]
Create a proper SVN repository

1
cd /home/[user]/subversion
2
su [user] -c "svnadmin create example-repo"
Import any SVN repos by doing:

1
su [user] -c "svnadmin load example-repo < /path/to/repo/dump/file"
Make sure the permissions are correct

1
chmod g+rwx /home/[user]/subversion
2
chown -R [user].[user] /home/[user]
Install Ruby on Rails

*NOTE: Ruby on Rails installation requires the EPEL yum repository (at time of writing).

1
su -c 'rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm'
Let’s get Ruby up and running first… [NOTE: not on an SElinux environment cba with that]

1
yum install httpd httpd-devel apr make gcc-c++ mysql-server mysql ruby ruby-devel ruby-docs ruby-ri \
2
ruby-libs ruby-mode ruby-tcltk ruby-irb ruby-rdoc fcgi fcgi-devel mod_fcgid rubygems subversion-ruby
Now we’ll install passenger (aka mod_rails)

1
gem install passenger
2
passenger-install-apache2-module
Create and insert this text into /etc/httpd/conf.d/rails.conf (or alternatively edit the existing svn.conf created when we set up subversion)
NOTE:

The below configuration is specific to the installation of redmine (hence the DocumentRoot)
01
LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.0.6/ext/apache2/mod_passenger.so
02
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.0.6
03
PassengerRuby /usr/bin/ruby
04

05
NameVirtualHost *:80
06

07

08
ServerName 192.168.10.17
09
DocumentRoot /var/www/rails/redmine/public
10

Now on to Redmine itself

Get Redmine 0.8 from http://www.redmine.org/wiki/redmine/Download

1
cd /usr/src
2
svn co http://redmine.rubyforge.org/svn/branches/0.8-stable redmine-0.8
3
mkdir /var/www/rails/
4
cd /var/www/rails/
5
cp -r /usr/src/redmine-0.8/ redmine/
6
chown -R apache.apache redmine
7
cd redmine
Create a clean backup of source files

1
tar czf Redmine0.8-clean.tar.gz .
Initialise mySQL:

1
service mysqld start
To secure mysql:

1
mysql_secure_installation
Create a mysql database for redmine…

1
mysql -u[username] -p
At the prompt enter:

1
create database redmine character set utf8;
Quit with:

1
quit
Copy the example database file to the “live” location

1
cd /var/www/rails/redmine
2
cp config/database.yml.example config/database.yml
Enter the appropriate settings for the [production] section ensuring that host is set to 127.0.0.1

1
vim /var/www/rails/redmine/config/database.yml
Set up email

1
cd /var/www/rails/redmine
2
cp config/email.yml.example config/email.yml
Enter the appropriate settings for the [production] section ensuring that “address” is set to the IP address of the SMTP host

1
vim /var/www/rails/redmine/config/email.yml
Install rails for redmine using gem…

1
cd /var/www/rails/redmine/app/
2
gem install -v=2.1.2 rails
Import the redmine database into the live database specified in the above config file

1
cd /var/www/rails/redmine/app/
2
rake db:migrate RAILS_ENV="production"
Install default configuration data in database (this is entirely optional, but recommended).

1
cd /var/www/rails/redmine/app/
2
rake redmine:load_default_data RAILS_ENV="production"
Bring up the testing webserver, once loaded check your config by browsing to http://[FQDN]:3000

1
cd /var/www/rails/redmine/
2
ruby script/server -e production
Make sure your apache config file edits are ok and that the services will start at boot by doing:

1
service httpd configtest
2
service httpd restart
3
chkconfig httpd on
4
chkconfig mysqld on
[Optional:] Add the following to your crontab which will create a database backup in the /home/[user] directory

1
/usr/bin/mysqldump -u -p | gzip > /home/[user]/redmine_`date +%y_%m_%d`.gz
Make your subversion server configuration accessible to redmine by doing the following:

1
mkdir /etc/subversion
2
cp -r /root/.subversion/* /etc/subversion/
3
vim /var/www/rails/redmine/lib/redmine/scm/adapters/subversion_adapter.rb
Change the line:

1
SVN_BIN = "svn"
to:

1
SVN_BIN = "svn --config-dir /etc/subversion"
Then restart apache:

1
service httpd restart


摘自:http://blog.itsmine.co.uk/2009/01/22/howto-install-subversion-and-redmine-on-centos5-rhel5/

2010年3月26日 星期五

不推薦難吃又很丑的數位蛋糕網Digi

話說小寶貝快要週歲了

想說去買個蛋糕網小寶貝慶生,於是便到www.babyhome.com.tw(BBH)去找蛋糕的資訊

看到有一位媽媽推廌數位蛋糕網Digi的蛋糕 (我想應該是置入性行銷,他們自家員工自已推廌的吧!!)

自已好傻好天真的也去訂了這家很貴、很難吃,重點是很不用心在製作的蛋糕....真的是氣死自已

下面是數位蛋糕的所賣的產品 (圖看起來很清晰)


以下是我們家的小寶貝


下面這一張是放到蛋糕的成品 (慘不忍睹,看了很難過,跟預期的差很多)


打電話問他們客服,怎麼跟商品差這麼多

結果他們回答:「我們提供的蛋糕上的照片就這樣的, 主要畫面有看到就ok, 不會特別去做美工處理」~~

真的是無言呀...要做這種生意,蛋糕上的照片要美美的,這個應該是基本的吧,

然而你們的訂單頁放這麼美的照片,和實品卻相差這麼多,這樣子簡值是欺騙消費者的行為!!

原本是很有紀念價值的週歲生日,這麼丑的蛋糕完全搞砸了氣氛,照糕吃不完,也不好意思拿給同事吃,因為真的很難吃!

我雖然被騙了,寫這篇文章,主要是希望各位消費者不要重滔覆辙,繼續被這種不良的商家欺騙...

2010年3月25日 星期四

購買DV-530後的使用得,強烈不推薦大同 Taitung DVD Player(DVD播放機)

話說週末到大X發去買DVD播放機,

比較了很久以後,

基於之前對大同公司的印象很好,大同電鍋的品質很棒,

大同在國內也算是有一定的品牌力,

所以就選了大同的DV-530....

回家以後,就把DVD播放器裝了起來,試用了一下都沒有問題,當下也很滿意。

但沒有到三天後卻發生了一件很離譜的事情,DVD機的揺控器壞掉了。

沒錯,各位沒有看錯,「

三天後,DVD機的揺控器壞掉了



當下馬上聯絡大同的客服,並把我的妝況描述給他們的客服人員。

更扯的是客服聽了我的問題後,好像對於這種事情是很事空見慣的事,很輕描淡寫的叫我拿回去大X發換貨

完全不想要消除我對大同產品品質的質疑,一直叫我趕快在七天內去換貨

還說揺控器本來就是消耗品,不在保固範圍內,如果七天內沒有換貨的話,就要自費去買一個

哇里咧..我才買三天而已耶....你們的"耗材"會不會太不堪使用了

我想這之後不會再買大同的產品了....對大同這品牌真是失望透了

Eclipse 解決 Save problem Save could not be completed問題

MyEclipse中新建一个MessageBundle.properties文件,如果输入中文保存时就会提示错误: Save could not be completed. Reason: some characters cannot be mapped using "ISO-8859-1" character encoding. Either change the encoding or remove the characters which are not supported by the "ISO-8859-1" character encoding.


解决办法一:

打开Eclipse的Preferences,选择General->Content Types,然后修改右面的Text下的Java Properites File的默认编码方式为UTF-8,点击Update就可以了!



解决方法二:

1 应该使用eclipse的jinto插件编辑,会自动调用java的native2ascii把文件转码。

jinto插件下载:http://www.guh-software.de/jinto.html

2 2 Eclipse-->Preferences...-->在“type filter text“栏中输入”Content Types“查找,然后在选择

右边的Text下边相应的文件后缀名,修改其编码就可。
然后手动调用native2ascii编译MessageBUndle_zh_CN.proterites文件



附: Eclipse下安装Properties Editor

在eclipse下"帮助"---"软件更新"--"查找并安装"--"搜索要安装的新功能部件" ---"下一步"---"新建远程站点"---

填写"名称":Properties Editor;

URL为:http://propedit.sourceforge.jp/eclipse/updates/点完成,

让它自己下载插件..

找到合适的Properties Editor安装,这一个插件是减少转化为utf-8格式,在struts自动转换的.

这样,eclipse插件就可以自己安装一些。

摘自:http://space.itpub.net/13956325/viewspace-598306

2010年3月23日 星期二

linux top command save to file

top -cSb n 1 > proc.txt

2010年3月8日 星期一

使用enca进行文件编码转换和查询

安装enca
apt-get install enca

查询单个文件的编码
enca index.html

转换单个文件的编码
enca -L none -x utf-8 index.html

转换批量文件的编码
find ./ -type f -name "*.htm*" | cat $1 | sort | grep -v svn > files.list
vim enca_list.sh
插入以下代码:
#!/bin/sh
cat $1 | while read LINE
do
echo $LINE
#enca $LINE
enca -x utf-8 $LINE
#enca $LINE
done
保存退出后
chmod +x enca_list.sh
执行脚本: ./enca_list.sh files.list

摘自:http://www.diybl.com/course/6_system/linux/Linuxjs/20091128/183629.html

SVN auto send password with shell script

expect -c 'spawn svn up /Users/williamchang/workspace_php/urstyle/urcosme/." ; expect password; send "yourpassword\n"; interact'

2010年3月5日 星期五

真愛 陳銳VS周杰倫

關於陳銳
一樣的親情,但是,怎樣拿捏的關愛才是恰當的呢?
關於陳銳
趙老大的【台灣新聞近代史】33
如果魯俊還活著
陳凱倫的兒子陳銳出事了,被關了,社會人士又談起青少年的問題,名嘴又要接通告賺取車馬費了。
要談青少年的問題,趙老大是最資深的行家,但是趙老大不想談,談了五十年,台灣青少年越鬥越狠,竟然在校園內當起了組頭,搞起了暴力討債;趙老大都覺得很無奈,但是名嘴談起青少年,卻又眉飛色舞,滔滔不絕,個個都是青少年問題專家,其實,屁,狗屎,個個都是混時間,等著領錢。
不扯這些無聊話,每次想到台灣的青少年事件,我倒想起一個人,魯俊,當年在台北市警察局當少年隊隊長,早先是少年組,大家都稱魯俊是魯組長。
魯組長個子不高,胖又矮,頂著個大光頭,冬天是中山裝,夏天是短袖香港衫,在台北市混的青少年,只要聽到魯組長,沒有不想尿的。
魯俊在警局的頂樓大禮堂內,成立一個輔導小組,凡是被少年組員警逮到的青少年,每天下午四點必須到警察局報到,集體作功課,少年組內也有大學生在場指導,作完功課,大家又在魯組長監視下,在大禮堂內作伏地挺身,五十個為一個單元,魯組長的目的是,你們不是喜歡打架嗎,精力充沛
啊,來,五十個伏地挺身,作完以後再回家,看你們還愛不愛打架?
少年輔導組每期三個月,畢業後就可以自由了,但是有的青少年忍不住又在校外滋事,又進了警察局少年組,魯組長就把伏地挺身追加到八十個,甚至到一百個,上課期限也延長到六個月。
魯俊經常在星期六和星期日,到西門町巡查,他只要在西寧南路的電影院門口出現,不動聲色,西門鬧區內立刻一片寧靜,因為『魯組長來了!』立刻傳遍西門町,凡是三五成群,抽煙嬉鬧的,魯俊當街處罰,罰站一小時,自己看錶,時間到了自動離開,周末的下午,走在西門町,就會看到罰站的
青少年,這也是當年西門町的街景。
幾乎每位家長都支持魯俊的管教方式,還有不少家長押著孩子到警局向魯組長報到,因為從輔導班畢業的孩子,確實會改變很多。
陳凱倫的陳銳在校園內混組頭,內湖中學曾經查獲,但是校方還沒有懲處,陳銳的母親已經找來立法委員對學校施壓,包括陳銳在內的一夥學生,全都沒有處分,不了了之。
可是魯俊領導的少年組就沒有這層阻礙,他對青少年的管教方式,家長們一律支持。
從種種跡象顯示,陳銳今天被法官判定收押,陳凱倫夫妻二人應該負起全部責任,我看到那張陳凱倫寫給兒子的卡片『銳寶貝』,以及由律師帶進牢裡的炸雞塊,我心想,完了,陳銳沒救了,即使出了看守所,他必定還是我行我素,繼續當他的組頭,因為他的父母在背後撐腰,他根本不知道自己錯了。
有這種混蛋的父母,所以才有這種吸毒、轟趴、砸店、暴力討債的兒子,沒救了。
所以當我想起魯組長時,我就想如果他還活著,青少年造成的社會亂象,是否有救?
我想,也是沒有什麼指望,因為現在家長很多很混蛋,很多的立法委員也跟著混蛋,一個當中央級民意代表的人,放著很多正經事不去辦,你去管陳凱倫兒子的校園搗亂幹什麼?現在可好,陳凱倫的銳寶貝關起來了,莫非你也要去找法官施壓,要求法官把銳寶貝放出來?行嗎?
我又想,如果魯俊活到現在,即使沒有病死,也會被這種沒有是非的現象氣死。
因為滿街都是陳凱倫夫妻模式的父母,滿街都是暴力討債的青少年在橫行。
哎喲喂,我的銳寶貝啊。
或許您不喜歡周杰倫
但是,關於他的事蹟....
一個母親的愛
周杰倫,萬千青少年為他的歌聲而癡迷、的一位天皇巨星,對母親葉惠美有著似海深情,因為在他最孤獨最無助的時候,是媽媽用溫暖愛的臂膀支撐著他。
所以周杰倫一直說,「只要媽媽高興,我願意為她付出一切!」
音樂天才破裂的家
周杰倫出生於1979年1月,媽媽葉惠美是台北淡江小學的美術老師,爸爸是淡江中學的物理老師。周杰倫4歲讀幼稚園時,葉惠美把他送到淡江山葉幼兒音樂班學鋼琴。平時活潑好動的小杰倫一站到鋼琴面前,竟是出奇的安靜,聽老師彈奏一遍自己就能復彈出來,老師告訴葉惠美,這孩子很有天分!
為了培養杰倫的音樂素質,葉惠美主張拿出家裏全部積蓄為杰倫買一架好鋼琴,請最好的鋼琴老師為杰倫輔導。而杰倫的爸爸則認為不必這麼認真,男孩子嘛,隨意一點,沒必要拿出全部積蓄投資。最後,葉惠美還是背著丈夫為杰倫買了一架鋼琴,弄得杰倫爸很不高興。小學三年級時,杰倫偶然聽到世界名曲《天鵝湖》,被大提琴憂傷淒美的曲調迷住了,葉惠美沒和丈夫商量又為杰倫購買了大提琴。
杰倫爸對妻子葉惠美「孤注一擲」的做法嗤之以鼻,他回家就指責葉惠美的不是,家庭裡的溫馨越來越少,爭吵越來越多。杰倫不知道爸爸為什麼總要找媽媽吵鬧,他用自己稚嫩的詩行記下他的困惑和傷感:
從小到大只有媽媽的溫暖為什麼我爸爸那麼兇
如果真的我有一雙翅膀兩雙翅膀隨時出發
偷偷出發我一定帶走我媽媽……
這傷感的詩行杰倫後來為它譜了曲,就是那首令萬千歌迷傷感的《爸,我回來了》。
周杰倫初中二年級時,父母終於離婚。
14歲的周杰倫寫道:「爸爸媽媽彼此沒有愛,難道這就是生命的真諦?」沉默、倔強和叛逆已經塑造了另一個周杰倫。
世人不識君苦悶中的徘徊
周杰倫有音樂天賦,但功課卻很糟。高中聯考總分只有100多分,連普通高中也沒考上,前途一片黯淡,母子倆相對無言,難道兒子就這麼完了?恰好淡江中學第一屆音樂班正在招生,周杰倫考上了。
因為彈得一手好鋼琴,拉得一手好大提琴,又時常活躍在籃球場上,周杰倫成為許多女同學關注和談論的對象。但是,周杰倫卻常常面無表情,很少露出一絲笑容,除了音樂成績出類拔萃以外,其它科目成績幾乎全線紅字,老師們紛紛認為他智力低下,他的英語老師甚至直言不諱對葉惠美說周杰倫有智力障礙。葉惠美陷入了深深的思索,她還是決定要把杰倫培養成才,至少當一個鋼琴師吧。葉惠美沒有指責杰倫,她認為杰倫走到今天冷漠、叛逆的地步是家庭的不和睦造成的,並且深信自己的孩子沒有智力障礙,於是她嚐試用姐弟式的關心來「馴服」周杰倫,規定自己「三不」:不嘮叨、不指責、不脅迫兒子。  
果然如老師們的預測,周杰倫沒有考上大學。葉惠美多方打聽後,鼓勵杰倫去考台北大學音樂系,結果他沒有被錄取。周杰倫咬著牙考第二次,還是失敗了。媽媽和外婆外公都為杰倫的前途擔憂,這孩子究竟將來能幹什麼呢?
極度迷惘的周杰倫無所事事,只好等待服海軍兵役,這期間,竟得了僵直性脊椎炎,令人沮喪的是這種病無法根治,只能靠藥物緩解,到了晚期全身甚至會像殭屍一樣僵硬,也可能導致癱瘓。葉惠美和外婆說起杰倫就垂淚。
母愛呵護下一飛沖天
病緩解一些後,周杰倫到一家餐廳打工,作為端盤工的他因為時常打翻菜盤,每個月的工資幾乎被扣掉了一半。餐廳中有一台鋼琴,一次閒暇時周杰倫彈了一曲《肖邦舞曲》,把老闆驚呆了,老闆靈機一動,叫周杰倫不要端盤子了,就在餐廳彈琴,然後請來電視台記者炒作,不但使得餐廳生意火爆起來,還節約了一大筆請鋼琴師的費用。
> 葉惠美感受到了杰倫的音樂潛能,她替兒子在台北星光電視台娛樂節目「超猛新人王」報了名。周杰倫精心創作了一首歌曲《夢有翅膀》,但他對自己的演唱實在沒信心,請了一位歌手演唱。演唱者不能理解他的曲風,而他的鋼琴伴奏又顯得怪異,弄得台下聽眾噓聲一片,初出茅廬的一場表演徹底搞砸了。
葉惠美急了,性格內向的她鼓起勇氣找到了主持人吳宗憲,把《夢有翅膀》的曲譜拿給他看。吳宗憲當時是台灣阿爾發音樂公司的老闆,他對周杰倫的第一印象並不好,應付似的拿起曲譜掃了一眼,卻是眼睛一亮,歌譜不僅抄寫得工工整整,而且譜得十分複雜。慧眼的他立即改變了主意:「這孩子還可以,明天叫他到我公司來上班!」
周杰倫進了音樂公司任音樂製作助理,在媽媽的鼓勵下,每天主動幫同事們買盒飯,大家對這個沉默寡言但又勤快的小伙子有了好感。而葉惠美總擔心杰倫冷漠而倔強,又不善言辭,生怕他無意中把老闆和員工們得罪了,於是常常在下班時間站在公司門口,準備一些可口的比薩、炸雞送給員工,請他們包涵杰倫。一來二往,葉惠美對公司員工比周杰倫還熟悉,同事們都知道周杰倫有一個好媽媽。
周杰倫很快創作出大量的歌曲,但讓吳宗憲感到不可理解的是,他創作的歌詞總是怪怪的,音樂圈內幾乎沒有人喜歡。一次,周杰倫又拿著自己的得意之作送給吳宗憲審讀。這次吳宗憲連看都不看,便將那首歌曲揉成一團,隨手丟進身邊的垃圾桶裡去了。周杰倫的眼淚禁不住流了出來。
是放棄還是繼續?媽媽每天來公司門口已經成為一道風景線,如果放棄,太對不起媽媽了,周杰倫硬著頭皮支撐著,他吃住都在辦公室,以每天一首歌的速度進行創作。葉惠美每天晚上都到公司看望杰倫,望著日漸消瘦的兒子,她強忍著不讓自己的淚水流出來,儘量說一些鼓勵的開心的話,然後將杰倫換下的髒衣服拿回去洗乾淨。
一連一個多月,吳宗憲每天早上八點鐘上班時,總能準時見到周杰倫新的作品。終於,他被這位小伙子的勤奮和天賦深深地感動了,他「嗅」出了周杰倫的歌曲隱隱有一種味道,答應找歌手演唱他創作的歌曲。
吳宗憲將周杰倫的《眼淚知道》推薦給天王歌星劉德華,劉德華看了一眼就拒絕了。不久,又將他的《雙節棍》推薦給火爆華語歌壇的張惠妹,沒料想,張惠妹也毫不猶豫地拒絕了。吳宗憲決定給周杰倫最後一次機會,讓他自己演唱自己創作的歌曲,如果這樣也不行,他就只好請周杰倫走人了!他將周杰倫叫到辦公室,十分鄭重地說:「阿倫,給你
10天的時間,如果你能寫出50首歌,而我可以從中挑出10首,那麼我就幫你出唱片。」
老闆的話刺激得周杰倫興奮不已,他打電話告訴媽媽後就跑到街上買回一大箱方便麵。他想,就是拼了命,也要做最後的搏擊。
周杰倫熬紅了雙眼如約寫出了50首歌曲,而且每一首都寫得結構合理,譜得工工整整。吳宗憲終於有了讚許的笑容,他挑選出10首,2001年初製成了周杰倫的第一張專輯《杰倫》。
公司對這張唱片沒抱多大希望,能收回製作成本就算不錯了。然而《杰倫》橫空出世後,猶如一場猛烈的颱風橫掃台灣,很快被歌迷搶購一空。《杰倫》一舉奪得台灣當年最佳流行音樂演唱專輯、最佳製作人和最佳作曲人三項大獎。《杰倫》的成功讓公司始料不及,讓台灣的歌星們大跌眼鏡,紛紛詢問哪裏冒出來的周杰倫?如果說第一張專輯小有成就的話,那麼,周杰倫第二張專輯《范特西》已經形成了風暴,席捲了大陸、港台、東南亞整個華語歌壇,各種大獎紛至沓來。
周杰倫終於成功了,他深深明白,沒有媽媽黑暗中明燈般的溫暖,他支撐不到今天,媽媽為他一直未再嫁,點點滴滴都是舐犢之情。他將所有的收入都交給媽媽掌管,儘管自己有了公寓,每個週末依然回家,同媽媽、外婆一起享受天倫之樂。葉惠美更是百感交集,當年丈夫的譏諷、老師的搖頭、生活的艱辛都隨風而去。
葉惠美退休後,周杰倫總擔心媽媽寂寞,只要在台灣,他都回家同媽媽住在一起。週末時,他會約上媽媽一起去看午夜場的電影,媽媽喜歡看經典片,周杰倫就陪著看,而周杰倫喜歡看的前衛片,葉惠美也陪著兒子看,幸福的暖流縈繞在母子心間。周杰倫的第四張專輯就叫《葉惠美》,這是兒子獻給母親的禮物。

2010年3月4日 星期四

Howto: Use mysql or run mysql queries from shell script

Q. I have job (executed from shell script) where I need to run mysql query from a shell script. I want to run mysql from within a shell script rather than use it interactively by typing mysql -u user -p dbnane command.

How do I use mysql in Shell Scripts?

A. I recommend using Perl or php as it is easier to get data from mysql. You can easily use APIs. BASH/KSH Shell does not provide access to mysql directly.

However you can pass sql command using mysql -e swich. Following query connect as root and print mysql server uptime:
$ mysql -u root -p -e "STATUS" | grep -i uptime

Output:

Uptime: 4 hours 59 min 56 sec
You can add code as follows from shell script:

#!/bin/bash
mysql dbnane<SELECT * from table;
EOFMYSQL
Save and execute script as follows:
$ chmod +x script.sh
$ ./script.sh

I strongly recommend using perl or php as shell provides limited access.

2010年3月3日 星期三

推薦一個關於 CSS 的投影片:Efficient, Maintainable, Modular CSS!

剛剛在網路上逛一逛,看到了一份介紹 Cascading Style Sheets (CSS) 的投影片:Efficient, Maintainable, Modular CSS!這份投影片的內容還不錯,大家可以參考一下:



這份投影片中,其中有幾個主題個人覺得蠻有意思的,因此去 Google 了一下,將一些心得摘要上來:

Modular CSS:

在這份投影片的第 60 頁至第 77 頁提及的主題為:將 CSS 模組化!以前我都將整個網頁的 CSS 從頭到尾寫在同一個檔案中,然而,這粉投影片則是提倡不要這樣做,如果可以將整個網頁的 CSS 分割成數個模組,例如:container.css, header.css, content.css, footer.css… ,或是依照頁面來區分:main.css, page.css, signle.css… 如此,將會比較方便管理,也比較容易專注在特定的部位。

也許有人會說,可是這樣的話,在 html head 上的 stylesheet link 不就要寫很多了嗎!?這份投影片中,則是建議我們可以再加個 CSS Bridging File,因此,在 head 中,只需要參考到這個 CSS Bridging File 即可,如下所示:

1

然後,在將其他模組化的 CSS File 匯入即可!程式碼如下所示:

1
@import ‘header.css’;
2
@import ‘content.css’;
3
@import ‘footer.css’;


原作者最後則是提到,這樣的做法的優點則是:相當適合用來管理大型的網站:

Hack Free CSS:

投影遍第 78 頁開始則是在討論:許多網頁設計者當面對到一些 Buggy Browser (例如:M$ IE) 的問題時,常常會採取一些旁門左道 (Hacks) 來解決在那些特定瀏覽器上會發生的問題。然而,原作者則是強烈建議大家:千萬不要這麼做!而應該要使用』條件式註解』 (Condictional Comments) 來解決這些個案的問題!

什麼是 Condictional Comments???其實,就是做個 if 條件式,當判斷是特定瀏覽器時,則使用另一個 CSS File!請見以下的程式碼:

1

好的,以上是簡單的內容分享!

摘自:http://4evervoyage.net/2010/01/understand-css/

wibiya widget