如何使用shunit2
(1) 下載 shunit2-2.1.3.tgz
tar zxvf shunit2-2.1.3.tgz
(2) 建議…
在.bashrc中,加上一個alias
alias get_shunit2='cp XXXX/shunit2-2.1.3/src/shell/shunit2 ./'
在 /tmp目錄下做實驗:
get_shunit2 // 這樣可以把需要的shunit2 拷貝到/tmp資料夾下。
(3) 寫一個test suite , 名稱是 test.sh
//////內容/////
#! /bin/sh
testEquality()
{
assertEquals 1 1
}
# load shunit2
. ./shunit2
/////////////
(4) sh test.sh
星期四, 四月 01, 2010
使用gtest來做Unit Test
非常簡單、非常好上手。
(1) 下載gtest-1.4.0.tar.bz2
tar jxvf gtest-1.4.0.tar.bz2
(2) ./configure
make
sudo make install
ldconfig // 因為它有灌library
(3) 準備要被測的檔案
for example: humorless.h
///////// 內容 ///////////
class Sample
{
public:
int return_100()
{
return 100;
}
};
/////////////////////////
(4) 準備好test suite
for example: tester.cpp
///////////// 內容 ///////////
#include
#include "humorless.h"
TEST(Sample, return_100) {
Sample c;
// EXPECT_EQ() evaluates its arguments exactly once, so they
// can have side effects.
EXPECT_EQ(0, c.return_100());
EXPECT_EQ(1, c.return_100());
EXPECT_EQ(2, c.return_100());
}
int main(int argc, char **argv)
{
testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}
//////////////////////////
(5) g++ -o tester tester.cpp -lgtest
./tester
// 記得要去link 啊…
(1) 下載gtest-1.4.0.tar.bz2
tar jxvf gtest-1.4.0.tar.bz2
(2) ./configure
make
sudo make install
ldconfig // 因為它有灌library
(3) 準備要被測的檔案
for example: humorless.h
///////// 內容 ///////////
class Sample
{
public:
int return_100()
{
return 100;
}
};
/////////////////////////
(4) 準備好test suite
for example: tester.cpp
///////////// 內容 ///////////
#include
#include "humorless.h"
TEST(Sample, return_100) {
Sample c;
// EXPECT_EQ() evaluates its arguments exactly once, so they
// can have side effects.
EXPECT_EQ(0, c.return_100());
EXPECT_EQ(1, c.return_100());
EXPECT_EQ(2, c.return_100());
}
int main(int argc, char **argv)
{
testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}
//////////////////////////
(5) g++ -o tester tester.cpp -lgtest
./tester
// 記得要去link 啊…
星期日, 三月 28, 2010
道路駕駛課
2010年3月28日,道路駕駛班的課程,相當的有趣。教學內容重點放在市區和巷道。
(1) 市區行駛,快慢車道變換。
快車道和慢車道之間,有一個大大的安全島,切過去時,要注意後方來車,而且要慢慢地先卡位,再儘快開進去。
(2) 市區幹道左轉
在台北市的主要幹道,例如忠孝、敦化這種大路和大路之間的交岔口, 除非有設計好的交通號誌,基本上,是禁止左轉的。如果要左轉,但是又找不到迴轉道,其實是有替代方案的:通常在這種不能左轉的路口之後,第一個可以右轉的巷子,都是單行道。這個單行道的設計,往往就是可以連續做三個右轉。( 有的有例外,是四個右轉+ 一個左轉 )
// 媽的,我在台北市住了這麼久,終於明白,為什麼會有這麼多的單行道,這是因為它本身有迴轉道的功能嘛!
(3) 巷道之無號誌十字路口穿越
先開一半,確定左邊的來車不會撞上,
再開一半,確定右邊的來車也不會撞上。
(4) 巷道之無號誌十字路口左轉
概念上,也是慢慢開,跟(3)差不多
(5) 違反交通規則的大迴轉 ( 趕時間時使用… )
當附近的車不多時,先把車偏右開,取得空間,方向盤左打到底,做180度大迴轉。
///
然而,有趣的一件事是:
今天,我跟我姊講到這個開法時,她跟我說:
「喔,靠靠靠靠…
我坐過的那些車,那些開車的男人,常常都是遇到不能左轉時,就先罵,『怎麼不能左轉的路這麼多』,然後,先右轉,再 (雙黃線) 180度大迴轉 。還有,他們也常常罵,『單行道真是很多,這些管路的人不知道在想些什麼!』」
附註:其實我覺得我的這位教練,教的很用心,教練的連絡方式:
許家豪
0916-971248
許家豪
0916-971248
星期二, 三月 09, 2010
讓qemu啟動時,可以不用加上sudo的改法
(1)先用 whereis qemu 找出系統上,qemu的執行檔在那個資料夾。
(2)為這個執行檔加上SetUID,這樣它就可以直接access /dev/net/tun
sudo chmod 4755 /usr/bin/qemu-system-i386
(2)為這個執行檔加上SetUID,這樣它就可以直接access /dev/net/tun
sudo chmod 4755 /usr/bin/qemu-system-i386
找出所有沒有被stripped的檔案
find . -type f | xargs file | awk '$0~"not stripped" {print $0}' | awk -F: '{print $1}'
解說:
(1) find . -type f (可以遞迴找出子目錄下所有的檔案 )
(2) xargs 可以將前一個指令的輸出,當作argument交給file指令
(3) file指令可以顯示這個檔案有沒有被strip
(4) 第一個awk 指令可以先 (*)比對 "not stripped" 這個字串
再 (*)把有被 strip的行印出
(5) 第二個awk可以取出檔案名稱
解說:
(1) find . -type f (可以遞迴找出子目錄下所有的檔案 )
(2) xargs 可以將前一個指令的輸出,當作argument交給file指令
(3) file指令可以顯示這個檔案有沒有被strip
(4) 第一個awk 指令可以先 (*)比對 "not stripped" 這個字串
再 (*)把有被 strip的行印出
(5) 第二個awk可以取出檔案名稱
星期四, 一月 14, 2010
國標舞--摩登舞的背部肌肉使用

在摩登舞中,為了要讓holding能穩定,正確地理解背部肌肉的使用方式,是有必要的。
首先,力量只能通過「剛體」而傳遞,所以,豎背肌必須要收縮,使脊柱固定,力量才能順利地從足部,傳到上半身的軀幹。然而力量傳到上半身的軀幹,還不足以傳給舞伴,必須順利通過肩部的關節,才能傳達到手部。簡單的說,肩部的關節也必須固定,形成能夠導力的「剛體」。一旦力量已經可以傳到上臂了,那基本上,最困難的關卡已經過了,要把力量傳到指尖,相對是容易許多的。
在這個傳導力量的過程中,最困難的就是力量通過肩關節這一段:
(1) 力量從軀幹到肩胛骨:這需要斜方肌的下肌束收縮。( 注意:斜方肌的上肌束要放鬆)
(2) 三角肌、胸大肌收縮後,手的上臂自然會抬起
(3) 收縮背闊肌後,手臂會微微向前旋轉,可以讓力量轉換方向,得以向前。且前臂可以因此抬高。
星期三, 十一月 18, 2009
國標舞--摩登舞常見的幾個position
在closed position時,男生左腳走後退步時,這一步後退的位置,可以導致關鍵的變化:
(1) 直直地後退 => 於是女生會走內側,維持closed position。
(2) 左腳退到右腳正後方 => 於是女生會走外側,這是closed position,outside partner.
(3) 左腳退到右腳的右後方,同時搭配腰部扭轉、肋骨和肩部整面轉動的動作。
=> 於是女生也會跟著扭轉,進入C.B.M.P. ( contra body movement position )
订阅:
博文 (Atom)