發表文章

目前顯示的是 2015的文章

[獨書會]Specification by Example中文版

圖片
  "Specification by Example中文版"主要是探討軟體開發團隊如何有效使用"Spec實例化"來確保軟體開發的品質,整本書不到300頁不會太厚,各章節的份量其實剛剛好,作者的寫做品質從頭到尾都維持得不錯.編排上前半段會讓讀者知道整個"SPEC實例化"的流程、原因、如何做...等,然後再針對前半段提到的關鍵性名詞做較詳細的說明,最後再加入案例分享    雖然本書是以SPEC為探討的主題,但其實一直環繞著一個重點- 測試 SPEC實例化的一項重點在於實例並包含自動化的測試程式,並保持靈活的編寫反應,程式開發就在不斷的測試、增加實例、增加測試程式、修改程式、修改SPEC的輪迴中,讓SPEC活起來" Live documentation" ,甚至達到 SPEC本身就可以執行測試 的境界.     關於SPEC,我在工作的第一年和日商做聯合開發,當時已經有日商以前的其他專案的SPEC拿來改寫,由於還是有點代工的性質,所以SPEC怎麼寫,要寫什麼,全由日本人決定,日本原廠甚至有專職的人專門監督留意SPEC的撰寫,反正當時基本上我不需動太多大腦.直到這一兩年開始有自行從頭自行設計產品的機會,開始有機會自行主導各類工程文件的機會.在一開始,關於工程文件,我的想法是"先求有"在說,當時我和我的同事,對於文件的最基本要求為" 至少自己要看得懂 ",隨著一段時間過去,大家也建立起各種SPEC或工程文件的習慣,接下來的問題就是除了自己,別人看得懂嗎?一堆文件是否有不斷的在更新?是否有有效的組織整理? 這本書的作者認為有些SPEC" 描述如何實踐某個功能" 非常詳細卻缺乏" 描述這個功能是什麼? "這樣的工程文件很難讓人理解,而這種問題可以藉由SPEC實例化幫助閱讀的人清楚在做的是什麼,並有能力評估測試功能是否正確.     其實這本書所提出的觀念,最難的部分就在測試自動化,關於這部分其實我本身沒有太多的經驗,是看了本書後,希望可以再深入認識的部分

[東京]伊東屋寄明信片

圖片
伊東屋是曾在日本工作過的朋友介紹的,本來我是想找某些特殊規格的筆芯.這個行程我是安排早上在築地市場吃完鰻魚飯後,順著晴海通走道銀座的伊東屋. 伊東屋很好認,門口看到那大大的迴紋針標誌就知道文具店到了. 但其實銀座伊東屋裡面比較像台北的誠品文具,而不是那種傳統文具店, 雖然找沒找到我本來要買的筆芯,但逛逛文具"精品"店其實也蠻有趣的 二樓有賣賀卡和明信片,可能對象不是特別針對觀光客,所以沒有太多觀光風格的明信片,但有的款式質感都還不錯.窗邊有幾個位子可以坐在那寫信,旁邊櫃台也有賣郵票,最重要的是還有郵筒可以直接寄.由於我還欠幾位友人明信片,所以立刻就買了幾張坐在這邊寫起來了!!寄回台灣是70日圓 這批明信片連同週六日,一共5天我在台灣的朋友就收到了!!根據我的經驗,在東京大約都是這個時間...(我在北海道的不知名鄉下也寄過....9天才到) 寫完信後一層一層逛,有看到植物工廠,聽說這邊的菜會供應給12樓的餐廳 參考: 這位朋友友介紹每層樓的內容喔 東京百年文具店~伊東屋 本店重新開幕

Arduino使用EEPROM練習(2)

圖片
 由於EEPROM我已經事先寫入資料"0xAA"   Arduino使用EEPROM練習(1) 所以以下的練習就是Arduino一通電後,就到指定的位置讀出資料,內容預期因該是"0xAA" 相關參數 I2C address: 0x50 EEPROM address: 0x0 #include byte datain=0; void setup() {   Serial.begin(9600);   // put your setup code here, to run once:   Wire.begin();   Wire.beginTransmission(0x50); // transmit to device #0   Wire.write(0x00);   Wire.write(0x00);   Wire.endTransmission();  Wire.requestFrom(0x50,1);   if (Wire.available()) datain = Wire.read(); } void loop() {   // put your main code here, to run repeatedly:   Serial.print(datain,BIN);   Serial.print("\n");   delay(1000); } Arduino通電後擷取到SCA上的訊號

[北海道]機車郊遊,新千歲,早來,厚真,鵡川

圖片
    相較於關東地區,北海道的人口密度更低,除了冬天雪景,其實夏天也是北海道的旅遊旺季,這次本來是計畫要搭日高本線火車往北海道的鄉下走走,不過行前規劃時發現日高本線有很長一段暫時封閉...(原因我不清楚,看不懂日文....@@). 所以雖然費用較貴,但行程也比較自由,而且還能體會騎重機的樂趣!!   這次我是向連鎖車行Rental819租車,目前台灣知名機車達人小薛先生,也在該公司服務並協助安排有關台灣車友前往日本當地租車的相關事宜,所以如果打算要租車,可以先向台灣專用網頁聯繫 www.facebook.com/rental819taiwan   我選了新千歲機場店為這次取車的地點,店就開在ORIX新千歲機場店內,可以先搭火車"JR快速Airport",到新千歲機場,然後再到ORIX櫃台跟他說是RENTAL819的客戶,要搭接駁車過去. (Rental 819先幫你加到當天ORIX櫃台的接駁名單中) Honda VTR25 另外租借了安全帽,雨衣,手套 今天的路線, 直接騎折返,所以來回就是100多公里!! 新千歲機場分店的好處是一出去後馬上就可以往鄉村跑!!車少,而且避車灣也不少,還可以停下來偷查路線或拍照~~~ 針葉林!! 過了厚真町,然後在進鵡川前有一大段是手機和4G上網器 收不到訊號 的地方,而且中途沒有任何店家或加油站,想上廁所是有點麻煩.(我是有看到卡車司機直接在路旁....) 鵡川倒影很清晰...可惜我沒拍好,因為當時有點在飄雨,所以有點懶得拍 過了鵡川後,手機開始有訊號,地圖上看到有個旭岡郵便局 Asahioka, 剛好我還欠朋友明信片,就在這邊寄出順邊坐在裡面休息一下,去得時候裡面只有兩位職員,他們似乎很訝異怎麼有台灣人跑到這寄明信片!!兩位職員都很親切喔!! 由於開始在飄雨,所以我就直接走原路回去,不打算再多繞了,怕到時會因為又鬼打牆迷路!!回程的路上看到厚真町觀光案內中,有列出鎮上的名店,所以我就去吃了當地有名的豚丼 レストランこぶし http://atsuma-kankoukyoukai.jp/eat.html 這間店從在厚真快到早來的的地方,從厚

Arduino使用EEPROM練習(1)

圖片
   電子設備難免都會用到需要斷電後依然可以保存設定或記路蒐集到的資料的功能,例如你可能想做一個可以學習的萬用遙控器,你可能使用紅外線模組接收家中電視或冷氣的遙控器的訊號,將其訊號特徵"儲存"在某種非揮發性(non-volatile)的記憶元件中,然後等到要使用時根據儲存的資料控制紅外線模組打出一樣的訊號,   EEPROM就是其中一種非揮發性(non-volatile)的記憶元件,選擇要使用那種型號的EEPROM最簡單不外乎依照所需儲存的資料量以及該EEPROM的存取介面. 這個範例使用IC 24LC128, 所能儲存的資料為128Kbits (約16K Bytes),而傳輸介面採用I2C. 在電路的設計上SCL和SDA上我原先是沒又加1.5k的提升電組,我也確實看過有人沒加也是可以用,不過我自己使用時,如果沒加SCL上面的波形都是亂的,所以我後來還是加上了這對提升電組,有興趣的朋友可以參考這篇,作者有嘗試使用不同的大小的提升電組,然後觀察其波形的變化 http://www.gammon.com.au/forum/?id=10896 這個練習我將寫入和讀取分開為兩個獨立的程式,實驗步驟如下 1.電路製作 2.寫入程式 使用邏輯分析儀確認送出的波形如預期 3.讀取程式 使用邏輯分析儀確認送出及接收的波形如預期,並在程式中將讀取到的資料print在Arduino開發環境的"序列埠監控視窗" 電路製作: 焊的很醜....另外模組間的接線就直接用插線的(有人知道這種插線叫什麼,麻煩跟我講,thanks) 寫入程式: 這個程式會讓Arduino在開機後自動寫入一筆資料"0xAA"到EEPROM的位置0x00 相關參數 I2C address: 0x50 EEPROM address: 0x0 資料內容:0xAA #include <Wire.h> byte datain=0; void setup() {   Serial.begin(9600);   // put your setup code here, to run once:   Wi

[馬尼拉]菲律賓職籃PBA!!

圖片
    我知道這實在不是一個太標準的觀光行程,不過在去菲律賓出差前,我對這個國家最熟悉的事物就是有亞洲最早的職籃PBA!!( 以及多次和台灣隊打架的紀錄@@ ). 我第一次接觸到有關PBA的資訊是1998年瓊斯杯,當時菲律賓派出PBA明星組成的球隊,陣中的中鋒Marlou Aquino也讓我印象深刻.此後多年雖然不是每次都PBA明星,但觀賞國際賽我總是會多留意一下菲律賓. 2014年的巴塞隆納世界盃籃球賽,算是菲律賓近年來最巔峰的黃金世代,雖然戰績不理想,但遇到歐洲或南美球隊,仍有水準以上的表現.   簡單來說,提到菲律賓我就想到籃球!!這次出差的過程中,很幸運的遇到菲律賓的獨立紀念日,當地的員工很熱情的帶我去馬尼拉觀光順便觀賞PBA.   PBA目前有12隊,但不管比賽是那兩隊,地點大都在Quezon的Araneta Coliseum或是Pasay的Mall of Asia Arena這點倒是和SBL有點點像. 這次我看的比賽是在Araneta Coliseum. 這個場館交通算方便,就在Araneta Center Cubao捷運站旁 PBA和台灣熟悉的職業運動如中職,NBA,SB,MLB...等有點不一樣的地方在於球季是由短期的盃賽所組成,像我這次參觀的比賽是"Governors Cup"總督杯,由於比賽的地點都是集中在少數一兩個體育館,所以常常會一天打兩場,門票可以一次觀看兩場比賽. 當天兩場比賽是 Blackwater V.S. Talk 'N Text 以及 Globalport V.S. NLEX Road 我們買的票是regular box premium, 價錢為370菲幣, 其實空位還蠻多的,不過人潮第二場比賽會明顯較多, 第一場看的Talk 'N Text有多位國家隊成員,例如曾經給李學林"肘擊"的de Ocampo, 後衛Jayson Castro, Jimmy Alapag(現在已經是Talk 'N Text的教練了),射手Larry Fonacier,而第二場NLEX則有國家隊中鋒Taulava,所以當天也算是看到很多熟面孔!! 兩場比賽中間開放觀眾進場投籃,投進三分

土製大型電玩搖桿轉電腦USB[part 2]-使用Arduino轉板

圖片
自從上次上次用了50元有找(一對99)的USB手把拆來當轉板失敗後 ,這次嘗試B計畫!! 使用Aruino來當USB介面!! 我的想法是找一個可以的Arduino的USB搖桿範例,然後將雷神的按鍵接到Arduino的GPIO!! 理論上這樣就可以把雷神當成電腦用的USB大搖桿了!! 很幸運的在網路上找到Arduino USB搖桿的範例 leoJoy http://www.imaginaryindustries.com/blog/?p=80 這組範例的功能是將Arduino列舉成搖桿,並會每100ms亂數送一個搖桿的按鍵到PC 主要進行的修改 1.範例原先為亂數輸入按鍵及方向改成從GPIO觸發 2.移除不需要的按鍵,我目前只需要上下左右+ABCD 8個按鍵 3.原先主程式中的delay(100)要拿掉會調快,不然格鬥遊戲的必殺技會變得超難按的 其他注意事項: #原先在Arduino 1.5.7無法編譯,會出現什麼" ring_buffer"錯誤...@@ ,需用這個連結的版本  https://drive.google.com/file/d/0B1OHs6cMiH5FVjluSjhZcnItaWs/view?usp=sharing #Arduino要用Leonardo (或是其他使用ATmega32U4的,因為這棵AVR有內建USB引擎) 需要自己做的電路不複雜,只是要把雷神的輸出接到Arduino上 做好的轉板 JoyState_t joySt; const int Upbutton = 2; const int Downbutton = 3; const int Leftbutton = 4; const int Rightbutton = 5; const int button1 = 6; const int button2 = 7; const int button3 = 8; const int button4 = 9; void setup() { pinMode(13, OUTPUT); joySt.xAxis = 127; joySt.yAxis = 1

[失敗]土製大型電玩搖桿轉電腦USB-暴力改裝法

圖片
我先聲明 ,這是個失敗的實驗..... 前陣子去日本旅遊時買了個大型電玩用的雷神Control-Box!!但其實家裡空間有限,每次要玩就在那邊安裝基板也有點麻煩,所以就一直放在旁邊....一直放著都怕生灰塵!!不過一直有朋友問我,能不能把雷神拿來當電腦用的搖桿,拿來玩模擬器? 基本上當然是不可能直接把雷神接到PC上當搖桿,如果要改裝,最麻煩的就是要有搖桿USB device的介面電路. 最不用動大腦的方式就是直接找一隻不要的USB手把,把上面的按鍵拆掉,將雷神的按鍵訊號接到手把的電路上取代原本手把的按鍵當開關. 竟然要這樣,那就找一隻不要或便宜的手把犧牲來用,在光華商場看到"兩隻"(共線)一組99元的"雙打精靈"手把.滿心期待的買回來改裝. 基本上,這之手把的電路算蠻簡單的,基本上所有的按鍵都是一頭接到MCU,透過按鈕(開關)接地,來偵測低準位訊號判斷按下. 雷神本身就有外部I/O腳位,很方便可以"借用"他高質感的搖桿來做改裝!! 線路不複雜,只是金手指端子現在不是很好買,另外由於雷神的I/O本身有一個腳位的防呆,所以要先把一個腳位鋸下來!! 由於雙打精靈本身有兩隻,所以改裝完1P後,第二支還在,可以拿來改2P或是2P保留用手把!! 最後接上電腦後按鍵有反應,不過經過多人確認後,發現真的怪怪的,感覺取樣頻率很低...必殺技都按不出來....基本上我也懶得找BUG了, 打算下次用"方案2"