跟當兵同梯好友喝咖啡,北漂的好友特地從台北回台中待幾天安頓久臥在床的長輩,講得輕描淡寫但其實萬般無奈。
好友反問近況,談到近期陪伴女兒適應小一生活以及配合調整作息的過程,一樣講得輕鬆但其實從選校到安排課後輔導等選擇都是學習。
這就是中年縮影,上有老,下有小,很多人也會碰到職涯停滯不前的困境,另外要顧到和伴侶關係的和諧,各方面都顧到後還要祈禱自身健康不亮紅燈。
所以,只要開課或舉辦投資聚會碰到碰到跟自己年紀相仿的投資朋友時,都會在心裡默默想:「真是辛苦大家了,希望自己的分享能夠幫助到你們。」
人生啊人生。
同時也有24部Youtube影片,追蹤數超過4萬的網紅阿宅爸爸,桐心協力過生活!,也在其Youtube影片中提到,訂閱阿宅爸爸的影片 https://tinyurl.com/y9w99rf6 =========================== 放暑假了!花三千塊買一些漫畫、繪本跟測驗卷給兒子, 屁屁偵探全套、三國志 還有小一升小二測驗卷..九九乘法等等, 都是適合小學一年級,6歲7歲的年紀適合看的書, 紀錄...
小一 安排 在 91 敏捷開發之路 Facebook 的最讚貼文
【從學員練習影片觀察到一個關於 TDD 的有趣現象】
極速開發的課後練習作業,雖說重點是放在極速開發要學習的技巧與刻意練習的模型,但開發的方式、順序也是刻意安排成類似 TDD 的進行方式,來讓生產力最大化(TDD 本來就是幫助開發的,不是幫助測試的)
我從2位第一次上我課的學員(當然就是 #極速開發,代表他們沒上過#單元測試 跟 #TDD與持續重構),雖然他們是照著示範影片、上課教學用 TDD 在寫整個 tennis 的過程,但從他們執行測試的時間點就可以發現:
「他是用測試來驗證 production code 的正確性」,即使他先寫了測試,也不先執行,沒有看到紅燈,每次都等到 production code 寫完了,應該要綠燈時,才執行測試。
而其他上過 TDD 課的同學 ,或是上過單元測試的同學,知道測試是用來描述情境,如果現在「加入的這個情境是新的需求或需求異動,代表目前 production code 還不支援這個情境,執行測試跑出的紅燈,就是等等 production code 要完成的 #目標」
test-frist 從來都只是 TDD 其中一個小小的衍生產物,而不是全貌。TDD, 測試驅動開發 從來都是一種開發方法,而不是測試方法。
總有些人老愛把 TDD 拿來跟測試相提並論,就總是喜歡把 test-first 當作靶子打,覺得違反人性跟直覺,覺得先寫測試在很多情況下是浪費時間或是不 work,可能拿來跟一堆測試的方法論相提並論,或總是只拿回歸測試的效益來當作 TDD 的整體。抑或是陷入 isolation unit test 與 integration test (其實就是非 isolation 等級、有實際依賴的自動測試)之爭。
```
註:TDD 事實上是可以不是單元測試等級的。
```
要比較正確看待 TDD 的角度,首先要知道它是幫助開發的、它是一種開發方式(當然不是唯一一種,甚至也不會是最好的一種,因為根本沒有最好,只有剛好)
接著要了解 TDD 可能用 IPO 模型還比較貼切,input-process-output,在你開發任何功能之前,你總要先想過這件事。而先想這件事,才是 TDD 的最基本精神。
接著是怎麼把你想好的東西,變成可執行的 spec,我們只是用測試程式來「描述」你腦袋中的「IPO模型」,把 process 的過程當作一個黑箱子。
而這個 IPO 模型在結合成「使用情境」,就會帶來「高易用性 API 的好處」,只有在一開始就先想好怎麼給別人用,最後才會好用。所謂的一開始想好,指的不是預先設計一堆 class,而是 input/output 想清楚期待(一般會結合實例化需求,搭配 Given/When/Then 的 gherkin style 來把前置條件、資料、前提想好,當發生什麼事,應該是怎樣的結果),然後描述它。在紅燈定義清楚目標,綠燈完成 input/output 關係且沒弄壞前面的所有情境後,來針對 process 進行重構(事實上 Kent Beck 的 TDD by Example 更多是用 refactor 來 #完成 process。
```
註:所謂的 output 不一定只有回傳值,包含外部依賴狀態、資料的改變,甚至顆粒度小一點,針對物件導向設計的話,物件內部狀態的改變也算,只是物件內部狀態改變,驗證點要嘛是拿得到內部狀態,要嘛就是要驗證物件哪個行為會因這個內部狀態而有所不同。
```
## 戰 TDD 之前該先做好的功課
要戰 TDD,是不是至少要把 Kent Beck 的 TDD by Example 看完?
要戰 TDD,請不要拿它跟測試方法論來比,那只是一下就被人看破手腳。因為它是個開發方法論。
要戰 TDD,請不要把它的好處只限縮在跟回歸測試、自動測試的比較,因為那只是它的衍生好處,當你試過在白海報紙上 TDD 就懂,TDD 是在釐清你的思緒的同時,又可以以終為始,確保你在 production code 的每一個動作都是為了滿足某個期待的情境。
要戰 TDD,請不要去把 單元測試、整合測試捲進來,那是測試的顆粒度,那是測試的分類,TDD 從來都不是只能限於單元測試。
要戰 TDD,請不要在那邊戰他是 bottom-up ,是直接從程式/class 的角度出發,事實上 TDD 既不是 bottom-up, 也不是 top-down, (書裡面就有講這件事咩),實務上的 TDD 結合倫敦派(GOOS)跟芝加哥派(Classic TDD),會更像 Outside-In 的進行方式,先定義好驗收情境,接著從最外部(也就是使用者看得到的部份)一路把依賴往另一邊的系統邊界推,直到推到系統以外的依賴資源(persistence 或 external API/service)
```
註: ATDD by Example 中 ATDD by Example, Kent Beck 寫的序最後的一段話。
Kent Beck:
「就像我曾說過的,TDD的一個缺點是,它可能會退化為一種用來滿足開發人員需求的編程技能。某些開發人員從更廣泛的角度來看待TDD,輕易在他們測試的不同抽象級別間跳躍。然而在ATDD中不存在歧義,這是一種加強與非編程人員溝通的技術。我們之間良好的協作關係,以及作為這種關係基礎的溝通,能夠使軟件開發更有效率。採用ATDD是向著溝通更清晰這個目標邁進的重要一步,而此書是一本全面又平易近人的入門讀物。」
```
要戰 TDD,請不要只關注在 test-frist,因為他只是用 test 來幫助你 think-first,不要邊寫邊想。然後不要過份依賴或相信你腦袋的能力,把你想好的東西具體化出來,最好可以被直接執行,最好除了你以外每個人執行出來的結果都會一樣(不管是對的,還是錯的)
要戰 TDD, 請不要把論點放在見樹不見林,如果你有看 TDD by Example 的 Part 1, Part 2 那兩個加起來共 24 個章節,就知道一開始就得把當下想到的全貌紀錄在一個「紙本」的 backlog (所謂的紙本,只是要講這並不依賴於任何工具)
而這個需求輪廓的全貌,會隨著你逐漸完成一部分一部分的情境,設計逐漸浮現後,而隨時跟著增減調整。
但不代表 TDD 就是先想到一個測試案例,就直接先幹下去了,那根本是亂搞。
以上這些,都還不是在列 TDD 的好處,而是針對那些從來沒搞懂 TDD 但又愛戰 TDD 的人一點提醒,你戰的很可能是「你誤解的 TDD」。
TDD 還有許多實務上的用途,列上我在譯者序中的一小段:
>> 測試驅動開發(Test-Driven Development, TDD)!一種以測試為開發輔助、以測試來描述需求情境、以測試來當作目標、以測試來表達期望、以測試來驗證疑問、以測試來實驗學習、以測試來溝通協作、以測試來協助設計高易用性 API 的「開發方法」。
譯者序有開放給大家看,請見:https://tdd.best/book/tdd-by-example/
拜託,要戰之前去看一下祖師爺 Kent Beck 對 TDD 的原始見解:https://www.tenlong.com.tw/products/9789864345618?list_name=srh
如果你想正確的使用 TDD 來幫助你在實務上產生許多的價值,帶來許多的好處,尤其是需求釐清、持續重構、小步快跑的部份,最好理解的培訓課就在這:https://tdd.best/courses/classic-tdd-by-example-video-training/
最後我想講一段話:
TDD 從來都不該被導入到團隊中,但它是一種很好的自我鍛鍊與學習的方式,也是一種能用很低的成本來帶來很多好處的開發方法(見下方註腳),然而它也不是適用所有的情況,但它可以讓『完美』變成一個動詞,而非不變的形容詞。
```
註:
Kent Beck 在 DHH 靠腰:《TDD is Dead》 之後寫的一篇反串文:《RIP TDD》
https://www.facebook.com/notes/1063422864115918/
我幾年前的簡易翻譯,通常也是 TDD 可以幫助你解決的問題,如下:
- Over-engineering (過度設計)
- API feedback (改善API的設計與可用性)
- Logic errors (想的跟寫的不一樣,寫的跟需求不一樣)
- Documentation (寫跟維護文件是痛苦的)
- Feeling overwhelmed (找不到切入點)
- Separate interface from implementation thinking (抽象設計)
- Agreement (確保已修正問題的證據)
- Anxiety (改東壞西的擔心受怕)
```
很久沒對 TDD 發表這種長篇大論了,因為不理解、不想理解、不同角度理解的人居多,能真的到各自的塔上用不同角度來看原義,以及實務上用它來幫助解決的問題有哪些的人,真的太少。
大部分人只想針對這個詞彙來攻訐以博得流量跟吸引目光,而不是想著「我可以用它來幫助我什麼」
問題跟需求是中性的,解決問題跟滿足需求的手段與方式有千萬種,不會只有一種,也不會有所謂的對錯,多點角度去了解不同的方法、方式,然後融會貫通,發揮綜效,在實務上用最少的成本與風險來產生最大的價值,這才是真正的目標。
導入敏捷不該是目標,導入 TDD 也不該是目標,目標永遠都是在實務上產生價值、解決問題、滿足需求。
小一 安排 在 Facebook 的最讚貼文
在我們家裡
有兩個重要的月份
就是2月跟9月
因為我們家五個人類
都是在這兩個月份出生的!
昨天回家真的太累了
無法打什麼心得跟大家分享
今天就想來這裡打打流水帳的文字
跟發發昨日拍攝的照片
當作心情的小紀錄~
9/15我媽生日
9/22我爸生日
9/28我姊生日
於是昨日幫3位壽星慶生外加出去玩~
因為老爸說自己是
「台北區景點之王」
(這個稱號真的很浮誇吧XDD)
所以出遊的景點也都由他安排
約中午在士林站集合
然後老爸開車載我們一家五口往陽明山移動
第一站當然要填飽肚子!
來到菁山遊憩區內的
菁豔景觀餐廳用餐(舊名為雲起軒)
我們家向來就是對吃的不挑剔
並且都跟蝗蟲一樣掃過餐盤
可以在半小時內吃完合菜的那種
(只要餐廳上菜夠快XDD)
本來天氣都很晴朗
突然吃到一半下起了大雨
但絲毫不減興致
因為等等看到的山景可以更加清晰
空氣更乾淨~氣溫更舒適
等雨停了之後
就前往「半嶺水圳步道」前進
由於我們個個都是弱雞
(好啦只有我是...🤣)
所以我們只走了小小一半的位置
回憶瞬間湧現!
在國中高中的時候
很常跟爸媽去山裡玩
陽明山的古圳步道都走遍了~
抓蜥蜴、抓青蛙、抓蛇、抓蟲把玩
不用擔心都沒有讓他們受傷
打聲招呼後就放他們回家了
其實是非常喜歡自然喜歡山林的!
出社會工作後
真的超級無敵久沒有全家人一起出遊!
感覺真的好棒~
聽家人那些熟悉的拌嘴聲
大家爽朗的笑聲
與腳邊淳淳的流水聲
樹上的秋蟬們合唱
風也不甘示弱的顫動著樹葉
像是在合奏沙鈴般
自然舒適美妙
偶爾的清脆鳥叫聲
點亮了整首歌曲
大自然的創作曲目
真的好喜歡~
半嶺水圳步道中間
還看的到溫泉管線
流出奶色的冒著白煙的溫泉水
真的有種奇幻感
中途遇見小蜥蜴、小竹節蟲、許多小蛾
還有小癩蛤蟆
還有自然景觀幫你佈置好的
樹幹床
躺在上面好涼爽好舒服
都不想下來了XDD
但時間跟老爸可不允許
老爸還有其他地方要帶我們去!
先是去看了路邊的白雲瀑布
因硫磺水看起來是乳白色的
於是整條河流都覆蓋著乳白的河水
河床因為硫磺的關係
變成特殊的鐵紅色
特別又美麗
大自然就是這麼的奇妙
再來接著去了真愛桃花源
一個拍婚紗的景點聖地
裡面也有餐廳!
於是先入園逛了一圈
拍了一堆搞笑照片與影片後
就回到餐廳用餐
最後快樂的歸途
老爸開著車
載大家回到各自的崗位上
很期待下一次要一起去哪裡
以前小時候
真的不太懂得珍惜與愛
總是似懂非懂的
最近大概真的是年紀到了
經歷了夠多的事情
遇到了夠多的磨練
不管是生理上還是心理上
都有了些微的歷練吧!
感謝這輩子遇到的所有人事物
不是矯情的說
那些傷害我的人
從來就不是我心中的鬼
因為你們我氣憤過我傷痛過
但也真的在這個途中學到了
何謂愛、何謂原則
何謂選擇、何謂原諒
何謂付出、何謂背叛
何謂相信、何謂放棄
那些看起來不好的
其實都可以是好的
只有你自己看不看的見而已
高敏感的我
學會了運用這個天賦
而現在才是真正開始享受生命的時候
希望大家也可以享受生命的美好
跟人之間的交流連結
活著真好❤️
小一 安排 在 阿宅爸爸,桐心協力過生活! Youtube 的最讚貼文
訂閱阿宅爸爸的影片 https://tinyurl.com/y9w99rf6
===========================
放暑假了!花三千塊買一些漫畫、繪本跟測驗卷給兒子,
屁屁偵探全套、三國志 還有小一升小二測驗卷..九九乘法等等,
都是適合小學一年級,6歲7歲的年紀適合看的書,
紀錄一下半年內買超過5萬元,升級蝦皮白金會員,這半年真的花好多錢。
防疫軟封城學校停課直接停到接暑假,
沒有安排夏令營,在家買東西的機會反而變多了...
學齡前到小一讀什麼書呢?桐桐培養閱讀習慣的過程:
https://tinyurl.com/2as6bj7u
謝謝您在茫茫人海中點閱我們的影片,
YouTube每天有成千上萬隻影片上傳,實在是難得的緣份,極有可能是一期一會,
歡迎訂閱我們的頻道,常常來看新影片。
如果喜歡我們,覺得影片不錯,也請不要吝嗇幫我們按一個👍讚,
對於我們是莫大的鼓勵,謝謝您
阿宅爸爸的FB跟IG
FB: https://www.facebook.com/otaku.father/
IG: otaku.father https://www.instagram.com/otaku.father
===========================
拍攝工具:
Samsung S10+
GoPro Hero 8
SONY RX100M5A
===========================
剪輯工具:
iMovie
final cut pro
===========================
我的mail:
kirafu@gmail.com
===========================
幸福有沒有在我身邊,怎麼一直看不見~
爸爸說幸福就在鏡子裡,那就是我快樂的臉~

小一 安排 在 汽車私房話 Youtube 的最佳解答
新頻道成立!歡迎訂閱及加入:
【游泳私房話】YouTube:http://bit.ly/swimmer_privatetalk
【游泳私房話】FB社團:http://bit.ly/FBswimmer_privatetalk
【AOch遨樂趣】YouTube ➡ http://bit.ly/AndyAOch
----------
◉ 訂購 剛剛好水餃:https://shopee.tw/privatetalk
由於試駕安排的主導性,未來會有許多片子是由我的好朋友、好搭檔-Andy(AOch 遨樂趣),來規劃拍攝及後製;所以在內容的呈現上,也會比我個人擔綱的影片較為精簡。如果有比較特別或沒收錄到內容中的訊息,我會補充在影片的文字說明中。
如同標題的描述,如果要以滿足性能輸出及動力操控來看的話,當然是選擇這部最頂級的四輪傳動版本為首要;但如果以更有性價比的考量點來挑選,330 TSI已可滿足需求。
330 TSI有三個等級,最高規的R-Line在配置方面,除了沒有標配Harman Kardon的音響外,剩下的主要差異就是「動力輸出較小及前驅的傳動模式」;價格跟四驅版相差23萬。
而中間的Elegance Premium版本,繼續再往下殺10萬,配備方面也只拿掉了「全景天窗、R-Line各部套件(圈胎也小一吋)」;我覺得CP值最好的版本當屬這一級,值得入手。
至於最入門的Elegance版本,因為IQ.DRIVE的輔助系統不夠完整,所以就不推薦了。
價格方面,突破200萬的VW轎車當然非常顯貴,我覺得最好的方式,就是跟業務人員好好研究折扣空間。反正目前一時之間車子應該也是要等幾個月才能到港,觀望一下是不會吃虧的。
◉ 訂購 剛剛好水餃:https://shopee.tw/privatetalk
網站:http://www.autoprivatetalk.com
FB:https://www.facebook.com/harry.liaokang
社團:https://www.facebook.com/groups/autoprivatetalk
主講人/剪輯後製/企劃:廖剛
註:不會有字幕(我手邊沒有人力)(但你有興趣也可以幫我上字幕)、不要用粗話罵人~
#AOch遨樂趣 #YOKOHAMA橫濱輪胎 #剛剛好水餃

小一 安排 在 跟著領隊玩 Youtube 的最讚貼文
桃園32年大烏龜、各種全新遊樂設施超好玩
桃園市龜山區中正公園,是區內早期開闢的公園,因公園內設施已多老舊,且歷經多次整修、翻新,整體公園內景觀品質參差不齊,市府斥資4,690萬進行改善重建,打造全新大型共融遊戲場域,今年9月間竣工後,已成為全家大小一起玩樂,待好待滿一整天的遊憩場所。
~~~~~~~~~~~~
#龜山中正公園
地址:桃園龜山區自強北路38號
~~~~~~~~~~~~
KLOOK線上旅展優惠/95折優惠碼「SKY2021」
這裡買:https://affiliate.klook.com/redirect?aid=3143&aff_adid=524655&k_site=https%3A%2F%2Fwww.klook.com%2F
~~~~~~~~~~~~
領隊對自己的要求,每一趟行程一定都是精心規劃,
安排最美味的在地美食,找最優質的飯店或民宿,
分想給喜歡旅遊的每個人~
跟著領隊Sky玩
網站:https://taiwantour.info
Youtube頻道:http://www.youtube.com/c/Skyinfo
IG:https://www.instagram.com/huang0415/
