2017年10月28日 星期六

Python Deep Learning 深學筆記 - 上簡單 ê Lo-tsik (Logic) 電路


若是頭一擺來遮,建議先來踏話頭

請共教育部閩南語常用辭典開--咧,隨時會當查。

Logic,台語普通是翻做理路,華語是邏輯。若是佇講一咧人頭殼清楚,我感覺理路就真好。若是指數學抑是計算機  ê 專業名詞,我是較主張就直接音譯: 揣台語中上倚 ê 音,嘛免閣勉強揣漢字來鬥。這是本底台語無,甚至華語嘛無 ê 物件,嘛無佇咱先人嘛無這款生活經驗。所以,佇遮我用 Lo-tsik。


紲落來 ê AND gate,OR gate,XOR gate,我嘛是用羅馬字音譯: En-ké,Óo-ké,Ek-Óo-ké。有時我直接寫英文,你若袂曉念英文,就先用羅馬音鬥咧。


佇計算科學tiőng,上基礎就是 AND,OR,XOR 是上基本 ê 三種 gate。有這三種,你就會當一步一步鬥出計算機 ê 元件,像 CPU,記憶體,落尾是規部(phō)電腦。咱佇遮先介紹簡單 ê Lo-tsik 電路,佇下一篇遮共神經元理論佮 Lo-tsik 敆--起來。


En-ké (And Gate)

參考 Wikipedia ê AND gate, 伊的輸入佮輸出ê關係是下跤這个表:

INPUTOUTPUT
x1x2y
000
010
100
111
也就是輸入攏愛是 1,y 才會輸出 1,無都攏輸出 0。

咱先回想頂一篇:  Perceptron 神經元  ê 神經元圖:


佮伊的數學表示式:
y = 1 if (w1x1 + w2x2 ≦ θ)
   y = 0 if (w1x1 + w2x2 > θ)


咱這嘛所愛做--ê,是欲按怎揀 w1,w2,佮 θ 來滿足 En-ké 彼个表咧? 先講伊的答案有無限濟。無你會使試看覓 (w1,w2 θ) = (0.50.5 0.7) ,(0.5, 0.5, 0.8),(1.0,1.0,1.0) 攏合 En-ké ê 定義。



Óo-ké (Or Gate)

Óo-ké 是輸入只要其中有一个 1,輸出都是 1,伊的真值表示按呢:




INPUTOUTPUT
x1x2y
000
011
101
111


你會當奕看 
(w1,w2 θ)  欲按怎選,才會當做出 Oo-ké?


Né-ké (Or Gate)

Né-ké 是 Én-ké ê 倒反:




INPUTOUTPUT
x1x2y
001
011
101
110
你會當奕看覓 , (w1,w2 θ)  欲按怎選,才會當做出 Né-ké?


結論

毋管是 Én-ké,Óo-ké,抑是 Né-ké,咱攏是會使用仝一咧感知器來表示,咱人愛做--ê,是調整 (w1,w2 θ)  予伊表現出無仝 Gate ê 行為。也都是 Perceptron 神經元伊是一咧演員,戲衫換一咧就會用得搬演無仝ê角色。




2017年10月20日 星期五

欲按怎用 vim 開 C code, 閣直接跳去指定ê所在


這規个系列,攏是用台文書寫--的。毋過,我相信捌華語的人嘛看有,干焦讀袂出來。若有無確定意思,會當查字典:

教育部閩南語常用辭典: 是這馬 ê 標準,簡稱 "教典"
iTaigi: 是較新,較活潑,互動式--ê。若到教典查無,就來遮試看覓。


vim 是 open source ê 編輯器。我定定用伊來寫程式。有時,咱知影欲 uì 佗位開始,無想欲先拍開才閣徙去彼咧所在欲按怎樣做較好? 若是 C 程式,定定用的就是直接跳去函式,抑是第幾逝。這時,咱會使用:

$ vi +LineNumber fileName

LineNumber 就是第幾逝,比如講: vi +100 source.c 就是拍開 source.c 了後直接跳去第 100 逝。
若是知影一咧特別 ê 字,比如講: hello,你會當用

$ vi +/hello fileName


就是 hello 前添一咧 +/, 按呢伊就會直接跳去 hello ê 所在。

參考資料: 

VI / VIM: Open File And Go To Specific Function or Line Number

2017年10月11日 星期三

用 Wireshark 來掠加密 ê Wifi 包

踏話頭

這篇是用台文寫--ê,請共教育部閩南語常用辭典開--咧,隨時會當查。

佇掠 Wifi ê 蟲 ê 時陣,有時愛看佇空中飛 ê wifi 包 ê 內容。毋過,現此時 ê wifi 攏有加密,所以愛會用得共伊解開。

當然,若欲完全了解這篇佇咧講啥物,你愛去了解 wifi ê 原理,WPA 所制定 ê 802.11 系列 ê 標準。佇遮,我是真緊共我試驗成功 ê 步序筆記--落來。你的各方面 ê sio條件和我 (平台, 作業系統, 版本) 愈相sia̋ng,愈有可能成功。若是無成功, 試看覓去網路揣閣較濟資料,解決問題,這是你進步ê好機會。

參考資料: How to Decrypt 802.11

平台: x86 Linux Ubuntu 17.10 artful
軟體: wireshark 2.4.0

Driver 起動監式模式( monitor mode)

首先,你的 wifi 愛有支援監視模式。有時無仝 ê 製作商,有 in 特別 ê 命令來拍開 monitor mode。咱遮先介紹 Linux ê 標準命令。
首先,你愛確定無人佇用你的 Wifi。這馬有真濟 APP 佇幕後運行,佇你不知不覺中使用網路,去捎親像時間,天氣等資料。上好ê方法是直接共 Wifi 關--起來:

紲落來,拍開 monitor mode,這咧所在,Linux ê 標準命令是:

$ sudo iwconfig wlan1 mode monitor

毋過,真歹勢,我毋是用這咧命令。 阮公司對 Open source ê 支援真䆀,我是用公司特別 ê 命令,可能袂用得寫出來,你愛去查你的 wifi chipset 是 Broadcom,QCA/Atheros, 抑是 Realtek,才去看網路有人佇按怎拍開 monitor mode 無 ?

共 monitor interface 起動

若是 monitor mode 有成功,Linux 會起另一咧特殊 ê 介面,親像 radiotap0,你愛先用命令共伊起動:
$ sudo ifconfig radiotap0 up

設你欲監視 ê  頻道

$ sudo iwconfig radiotap0 channel 11

你的 driver 無一定支援這咧命令,我是用 chipset 公司家己 ê 命令。

起動 wireshark

愛用 root ê 身份來拍開才有夠額 ê 權限。

$ sudo wireshark


佇頂仔 ê menu,選 Edit->Preferences:

入去 Preferences,選 Protocol:

IEEE 802.11,共 Enable decryption 勾--起來,點 Edit...



揤 +Key type 欄揀 wpa-pwdKey 欄添加密 ê key 和 SSID,中方用 : 隔開。
佇圖頂仔的例,key 是 12345678,SSID 是 MySSid



若選好,揤 OK 就會使--阿。你轉去看掠著 ê 包,若看會著 ICMP/TCP/UDP 這寡  protocol,就代表成功--阿





2017年9月30日 星期六

Python Deep Learning 深學筆記 - Perceptron 神經元

←前一篇     後一篇→

若是頭一擺來遮,建議先來踏話頭

請共教育部閩南語常用辭典開--咧,隨時會當查。

Perceptron (台羅: Pho-sep-ton)是 Rosenbltt 佇 1957 年提出 ê 演算法。是神經網路 ê 上基礎 ê 演算法。

啥物是 Perceptron

咱知影醫學 ê 研究, 人是予神經控制--ê,神經 ê 上基層,就是 Perceptron,號做 "神經元" 抑是 "節點" (Node)。科學家一直夢想,這寡逐个攏仝款 ê 神經元,自按呢共伊接--起來,連來連起,就會當造出會思想 ê 人類。咱若會當做出人造 ê 神經元,毋著會使做出和人仝款巧 ê 機器人?

佇神經網路,抑是深度學習 ê Perceptron,就是設計出一咧模型,來共神經元的機制,轉做電腦科學會當處理--ê。電腦科學上基礎个是 AND,OR, NOT,NOR 這寡理路閘(tsa̍h)。佇遮定義 ê Perceptron,就是咱人所了解 ê 神經元原理,成做理路閘

正經 ê 神經元,是傳電流。軟體 ê 神經元,是傳 0 抑是 1。0 就是擋佇遮,無傳。1 就是向下傳--落去。予咱先看這咧圖:



伊是一咧兩的輸入 ê Perceptron。x1 和 x2 是輸入,w1 和 w2 是權重(weight)。圓箍仔是神經元,抑是節(tsat)點 (英文: Node)。x1,x2,y  都是神經元。

訊號佇傳入去一咧神經元 ê 時,是共捒--入來个訊號,共伊乘上權重,才全部加起來。若是超過一咧值,就輸出 1,無就輸出 0。這咧值,咱用 θ 表示:


y = 1 if (w1x1 + w2x2 ≦ θ)
y = 0 if (w1x1 + w2x2  > θ)

你會使共權重想做是電子學內底 ê 電阻,伊對神經 ê 訊號流動,有蓋重要 ê 影響。



2017年9月27日 星期三

Python 進一步 - 類 Class 和物件 Object


若是頭一擺來遮,建議先來踏話頭

這篇是用台語文寫--ê,若是有一寡詞看無,請來遮掀字典: 臺灣閩南語常用辭典


類 (Class), 物件 (Object), 和 Oó-óo-phi (OOP)

佇開始講 Python ê class 進前,咱先介紹類(class)和物件(object) 佇程式設計歷史上 ê 意義。當然,你若是無興趣,嘛是會當躘過這段古。毋過,我是感覺了解這段你會對 class ê 使用有較清楚 ê 了解。
物件毋是 Python 孤有ê物。伊是用來支援一種設計程式 ê 經典方式: OOP (Object-Oriented Programming,台羅: óo-óo-phi)。

OOP 是超越程式語言之上 ê 一種程式設計 ê 典範 (Paradigm)。

簡單講,就是佇程式愈來愈大,若來若複雜,就有人開始思考,研究欲按怎寫才會予程式會當濟人合作,應付複雜 ê 需求,穩定閣好用咧? 經過一寡研究,就歸納出愛共程序( Procedural) 思考,轉做物件 (Object) ê思考ê 頭殼。

若毋是捌佇咧古早 ê 環境中寫程式,可能僫體會這咧改變有偌關鍵。就干焦現此時出世 ê 囡仔無法度體會無民主 ê 戒嚴時代。民主對in 來講就干焦空氣遐爾仔自然。現此時 ê 人寫程式, OOP 嘛是無所不在。 你這馬當佇學 ê Python,本底就是用 OOP ê 範去設計出來--ê。
Python ê 使用者,就是徛佇 OOP 頂仔。

Python 裡 ê 類 (Class, 嘛會當音譯: Ku-la-su),就是用來支援 OOP ê 型態。

uì Class 造出來 ê,抑是生出來 ê 實體 ê 物,就號做物件 (Object)。咱會使共 Class 想做仔,用粿共紅龜粿一塊一塊印出來,紅龜粿就是物件(Object)。正經佇 Python 內底走跳--ê 是 Object,Class 只是咱用來雕刻出 object ê 型。

聽甲霧嗄嗄? 咱就來用一个例來簡單解說。


設計動物園 - 簡單想一咧

準講咱欲來設計一咧動物園,欲按怎開始咧? 咱先看欲按怎管理動物。
這間動物園一開始tsh,獅,開始。獅有四枝跤,普通是黃色--ê。
lion_legs = 4
lion_color = 'yellow'

看來袂䆀。
閣徙落來,你想欲添另外一隻動物,雞,
chicken_legs = 4
chicken_color = 'black'

你一聲就會感覺按呢寫毋是勢,一咧動物加兩的變數,若動物愈來愈濟,你毋就變數一直添落去? 這時,你想著會當用進前學過 ê 名單:

lion = [ 4, 'meat' ]
chicken = [ 2, 'rice' ]

頭一咧欄位是跤ê數目,第二是食物。這馬,咱動物園內底有 5 隻獅, 十隻雞,攏總幾枝跤? 咱會相欲定一咧函數來算,佇算進前,愛先定一咧名單來共所有 ê  動物囥入去,咱會按呢寫:

# five lions
for i in range(1, 6):
animals.append(lion)
# ten chicken
animals.append(chicken)
for i in range(1, 10):
count_legs(animals)

 按呢看起來袂䆀,會曉用名單來共整理一咧,咱共這咧算跤 ê 程式,寫做一咧函式:

def count_legs(animals):
s = 0
for one in animals:
s = s + one[0]
print(s)

紲落來,你可能開始寫真濟無仝的函式,來算動物食偌濟,啥物色,。。。。,所有咱會閣有濟濟函式:

def count_food(animals):
def count_color(animals):
def can_fly(animal):
...
def can_swim(animal):

佇頂仔的例中方(tiőng),咱會曉用名單(lists)來共一款動物的性質抾做伙,是真好的改進。無干焦 lion_leg,lion_food,lion_color,...,咱就愛起造袂少的變數來予 Lion 用。這寡變數是互相獨立,咱是靠伊的名裡的 lion 來了解in攏是獅仔个。按呢會予人感覺散ia̍h-ia̍h,你愛會記逐个和 lion 有關係的變數。

用名單(Lists)就加真好,當然,Python 有閣較好用的資料型態,親像字典(Dictionary)。毋過咱共伊斟酌看一咧: 閣較按怎設計,都是函式和欲處理的資料是分開--ê。

設計動物園 - 物件為中心

其實, OOP 是和咱人認識世界ê方法真sîng。咱一想著一隻狗,就會聯想著伊有毛,四支跤,會走,啥物花色。咱一想著鳥仔,就會想著伊會飛,有羽毛,兩支跤。魚仔會泅水,無跤,有翅。雖然逐種動物千變萬化。毋過,in ê 特色袂差真濟,例外真少,因為咱人生來就會曉分類。Python ê Class 就是提供予咱分類 ê 工具。

欲按怎用咧,咱先內定義一咧 Animial 類:
class TheAnimal():
can_move = True
def __init__(self, name, color, legs):
self.name = name
self.legs = legs
self.color = color

 以  class 關鍵字𤆬頭,後壁硩 class 名。
Class ê 名, 佇 Python ê 慣勢,逐字合起來,每一个字ê頭一咧字母大寫。
can_move 號做 class ê 性質 (attribute)。伊是一咧變數,只不過伊是 TheAnmial 个。咱共逐个動物攏有个,仝款 ê 特色囥佇 TheAnimal ê 性質。佇遮咱認為動物和植物抑是無生物上大ê差別是: 伊會振動。這是所有動物共通--ê,你會當親像普通變數仝款使用伊:

>>> TheAnimal().can_move
>>> True

咱先用這个類來 "生", 抑是創作幾隻動物:

lion1 = TheAnimal('lion', 'brown', 4)
lion2 = TheAnimal(''lion', 'white', 4)
chicken = TheAnimal('chicken', 'yellow', 2)

佇頂仔三的運算式,就是 uì 類來起造三的物件 (object)。

動物是虛--ê (abstract),抑是講抽象ê 分類。lion1,lion2,chicken 才是真正 ê 生物,佇程式裡號做物件(object)。

物件和生物仝款,有伊的生死。生就是伊開始存在程式中(當然, 計算機科學 ê 定義閣較嚴格是占用記憶體)。死就是伊無佇這咧程式阿。生物件出來,專業名詞是 instantsiation。物件 (object) 嘛號做實體(instance)。

def __init__(self, name, color, legs)  函式是 TheAnimal() 建構式 (Constructor),也就是佇咧生一隻動物的時,一定會呼著 ê 函式。咱佇生的時,順紲共伊的 attributes 指定--落去。咱佇生物件的時落ê參數,就是欲予 __init__() 會參數。

咱佇生物件的時,指定伊的一寡性質: 佗一種動物 (lion, chicken),色緻 (brown, white, yellow),幾支跤。所以 lion2 這个變數代表 ê 就是 "一隻白色,四支跤 ê獅仔"。

物件生落來了後,才想欲知影伊的性質,嘛是親像變數仝款:

print(lion1.name) # 'lion'
print(chicken.legs) # 2

類 ê 變數和實體 ê 變數

咱有注意著無?  __init__(self,...) 第一个參數是 self。佇 class ê 所有方法 (method,也就是函式,佇咧 class 裡咱叫做 method), 一定愛是 self。伊是一咧特別 ê 參數,代表物件伊家己。lion1 伊家己就是 lion1lion2 伊家己就是 lion2。按呢毋是廢話? 咱和一開始看著 ê can_move 比較,就知影伊的奇巧佇佗位。

can_move類 ê 變數

__init__(self, ...) 內底,self.nameself.colrself.legs 攏是實體 ê 變數

類 ê 變數,是類生來就有 ê 性質。以咱的動物來講,咱定義所有動物就是會振動,這是就算咱人猶未發現 ê 物種, 毋知名--ê,攏是按呢。
實體 ê 變數,就有各種動物無仝 ê 變化,伊是這咧實體家己--ê,捌的實體無一定佮伊仝款。lion 四跤,chicken 兩跤。平平 lion,lion1 咖啡色,lion2 白色。所以

lion1.can_move # True, 合法, 實體是 TheAnimal 類
chicken.can_move # True 合法, 實體是 TheAnimal 類
TheAnimal().can_move # True,合法。can_move 是類 ê 變數
TheAnimal().legs # 無合法, legs 是實體 ê 變數

重寫動物園


定義了後,咱重寫動物園和算跤數ê程式:

class TheAnimal():
can_move = True
def __init__(self, name, color, legs):
self.name = name
self.legs = legs
self.color = color def legs(self):
legs = 0
return self.legs def count_legs(animals): for i in animals:
## The lion attributes
legs = legs + i.legs return legs animals=[] lion = TheAnimal('lion', 'yellow', 4)
animals.append(lion)
## the duck attributes chicken = TheAnimal('chicken', 'white', 2) # five lions for i in range(1, 6): # ten chicken
print(count_legs(animals))
for i in range(1, 10): animals.append(chicken)

你會感覺這種寫法,加真媠氣。雖然無一定較少 coding。這種方式是較費時間佇一開始 ê 定義。等到後壁,你會感覺 code 真清氣,真清楚。因為伊共和物件有關係 ê 性質,攏抾做伙佇物件--裡,你免煩惱落--去。

閣進一步,連一寡函式,嘛會使整入去 class 內底,只要伊是這咧 class 特別有,抑是實體特有--ê,我就無閣寫實例,干焦寫一咧殼來意思意思,你會當家己思考欲按怎共肉添入去


class TheAnimal():
can_move = True
def __init__(self, name, color, legs):
self.name = name
self.legs = legs
self.color = color
def can_fly(self, ...):
def can_run(self, ...): ... ...
def run(self, ...):
def can_swim(self, ...): ZZZZ ... def fly(self, ...:
some_animal.fly()
... def swim(self, ..): if some_animal.can_fly():
some_animal.run()
if some_animal.can_run():

咱的感覺,變數是性質,函式是動作,是行為。逐種動物有伊特別 ê 運動方式。佇 Procedural 方式,行為佮性質是分開。佇 OOP 裡,連行為攏整做伙。

當然,佇遮咱會介紹真粗淺,毋過有夠有咱了解 OOB ê 基本概念和 Python class ê 用法。

2017年9月17日 星期日

Black Hat Python - 烏帽仔 Python 踏話頭

這篇和規个系列,攏是用教育部 ê 標準用字,若是有詞毋知意思,抑是按怎發音,會用共伊 copy 起來去教典 ê 線頂辭典查:

教育部閩南語辭典 (後面簡稱教典)
iTaigi: 若教典查無,來遮查看māi。

Justin Seitz 所寫的 Black Hat Python,臺灣是碁峯出版 ê "黑帽Python"。 規本我都讀了--阿。內底 ê 例,我嘛攏奕過一斗。閣進一步,我攏共咧改做 Python3,而且改做 class/object ê 型。
為啥乜欲加夯這咧枷? 這方面是趣味,這方面嘛是予家己有機會激頭殼一咧。

Python3 是未來 ê 趨勢。雖然目前 Python 2 閣有大量 ê 資源是 Python3 無法度取代 ê,這本書就是一例: 伊是用 Python 2 寫个。毋過,咱學物件是看未來。而且,借這咧機會了解 Python3 和  Python2 無仝 ê 所在,嘛對咱了解 Python2/Python3 這咧語言有幫助。橫直我學 Python 是興趣,是自學,無公司客戶 ê 壓力。毋過,若干焦看過,共書頂仔例拍拍咧,無予家己一寡挑戰來激頭殼,嘛連鞭袂記--得。所以我寫這个系列,就是一方面複習,一方面試看覓使用台語來寫。

我頭一擺寫的例,有想欲予 Python2 / Python3 攏會用(i̋ng) 行。毋過,我感覺按呢可能會予看的人分心,加麻煩,考慮共伊提挕捒。

我共書--裡所有的例,攏改做 class/object,台語我翻做類/物件(luī/mih-kiānn)。這會當講是我家己 ê 癖: 因為我總是想著程式,未來欲繼續發展,欲予人使用,愛按怎包裝較好。實際上,當然是我家己才會使用我家己 ê 程式。毋過這種 uì 寫 C 程式都有 ê 癖,嘛帶來到 Python這爿。所以,我佮 ê 例,和原本書頂仔ê無仝,有真濟攏是這種 class 方式ê,所以,我會先介紹 class ê 觀念和使用。

2017年9月12日 星期二

Python Deep Learning 深學筆記 - Matplotlib


若是頭一擺來遮,建議先來踏話頭

佇咧深學 ê 過程中(tiőng),會當資料用目睭 gió--一咧知影重點佇佗位,是一件真媠氣也真重要ê 代誌畫圖資料成做圖 ê 工具就真重要。Matplotlib 就是按呢一咧工具。

簡單 ê 圖

咱先來一个例: matplotlib-sin.py:


import numpy as np
import matplotlib.pyplot as plt

是共 numpy,matplotlib 的 pyplot --入來咱的程式內。

x = np.arange(0, 6, 0.1)
y = np.sin(x)

np.arange(0, 6, 0.1) 是產生一个 0 開始,  到 6 結束,逐个數字差 0.1。就是 0, 0.1,0.2,0.3,...,5.9。這是一咧 60 ê 元素 ê 陣列。
咱佇幾何學(kuí-hô-ha̍k) 學--過,y = sin(x) 就會使畫出一咧 sin 。佇遮咱產生一咧 60 點 ê x ,也就是 x array,佇 np.sin() 裡,伊嘛是產生一咧 60 點 ê  y array。

--落來,咱共這兩的 array 交 plt 共咱畫--出來:

plt.plot(x, y)
plt.show()

愛注意: plt.show() 才會正經畫出圖。



pyplot 閣進一步 ê 能力

pyplot 真gâu,伊會曉 ê 畫圖工夫真,咱干焦介紹上簡單,咱用會著 ê 技巧--落來,咱學欲按怎圖,佮文字註解佇咧圖頂。

這咧例佇遮: matplotlib-sincos.py

頭前仝款,uì 這開始:

y1 = np.sin(x)
y2 = np.cos(x)

### 畫圖表
plt.plot(x, y1, label="sin")

這馬有兩的圖,咱有 y1,y2 分別代表 sin,cos。
佇 plt.plot 畫 y1 時,咱一咧參數來指定標籤 (label),也就是 y1 踮圖頂仔 ê 名。

### 予 cos 圖和 sin 無仝, 用短線節
plt.plot(x, y2, linestyle = "--", label="cos")

畫 y2 ê 時, 咱閣看著另一咧參數 linestyle,這是指定用啥物樣式來畫圖,佇遮咱用短線節。

## x 標
plt.xlabel("x axis")
# y 標 
plt.ylabel("y axis")
# 主題
plt.title("sin kah cos")

遮是設定 x (註 1) 和 y ê 名,就是你佇橫杆下跤,和 y 倒手爿看會著。閣有主題佇上頂懸

plt.legend()
plt.show()

Legend 是 pyplot ê 容器 (container),用來處理畫圖,杆 ê 類 (class)。基本上,GUI (台羅: kú-ì) ê 設計是真複雜 ê 代誌。咱佇遮先使用,後擺有閒我有研究才來寫落來。

落尾,咱就來看運行ê結果:


註 1: axis,華語翻做 "軸"。毋過,佇台語 "軸" 有查著 ti̍k  這咧念法,毋知意思。
佇台日大辭典查著ê意思是長布條ê弔文。意思嘛無合,遮我暫時用,感覺較合!




佇 Linux 來看GPX 檔案

最近定定有戶外活動。使用𤆬路機 (GPS) 來記錄行過的路線。普通我記錄路線,攏是用手機仔抑是專門个𤆬路機,罕得用電腦來看。 毋過,"仙人拍鼓有時錯,跤步踏差啥人無"。有一擺我無細膩,袂記得共一擺活動的路線收煞起來,閣直接開始記錄下一擺的活動,按呢共幾落...