(σ゚∀゚)σ
@zkelly3
Fri, Oct 22, 2021 4:23 AM
發現工作後需要學習一些
做事的哲學
(σ゚∀゚)σ
@zkelly3
Fri, Oct 22, 2021 4:24 AM
也許只是我們這邊的情況,不過在這邊想要有效率的做事
就是
不要跟別人講
直接先做
(σ゚∀゚)σ
@zkelly3
Fri, Oct 22, 2021 4:24 AM
反正在 PR 階段有意見的人自己就會出來反應
(σ゚∀゚)σ
@zkelly3
Fri, Oct 22, 2021 4:25 AM
感覺做前先問,雙方有時候可能根本不太同條線上,對方也不見得真的知道你在公三小
可是又試圖要給出點建設性的意見
自己的感覺是做起來就是沒什麼建設性
(σ゚∀゚)σ
@zkelly3
Fri, Oct 22, 2021 4:26 AM
真的很嚴重的當然還是要討論啦,感覺什麼需要討論還是要拿捏
什麼都討論的話開會時數真的是直線飆升,對我來說很降 san
(σ゚∀゚)σ
@zkelly3
Fri, Oct 22, 2021 4:27 AM
跟別的 team 溝通也是用直述句會比用疑問句好
就直接說「我們打算這樣做」,他有意見自己就會反彈
但如果是說「我們能不能___」或「在這個地方怎麼做比較好」
對方可能會跟你說我們需要開個會
oh 又是他媽的開會
(σ゚∀゚)σ
@zkelly3
Fri, Oct 22, 2021 4:28 AM
結論是如果有個現行解,大家其實有時候不真的那麼在意他最後長怎樣
(σ゚∀゚)σ
@zkelly3
Fri, Oct 22, 2021 4:31 AM
.
(σ゚∀゚)σ
@zkelly3
Fri, Oct 22, 2021 4:31 AM
下面來記一些最近的新知
(σ゚∀゚)σ
@zkelly3
Fri, Oct 22, 2021 4:32 AM
前幾天因為工作的緣故需要用到微軟的 krabsetw
GitHub - microsoft/krabsetw: KrabsETW provides a mod...
然後踩到坑,還好有大大幫我找到問題所在
(σ゚∀゚)σ
@zkelly3
Fri, Oct 22, 2021 4:33 AM
先大概講一下,krabsetw 是一個微軟開發讓大家方便收 etw event 的專案
(σ゚∀゚)σ
@zkelly3
Fri, Oct 22, 2021 4:34 AM
我們這次剛好有個 event 因為一些考量不打算處理所有的欄位,只有要拿其中幾個出來用
結果在寫 unit test 的時候出了問題
(σ゚∀゚)σ
@zkelly3
Fri, Oct 22, 2021 4:35 AM
在寫 unit test 的時候,我們要做一個假的 event 出來測試我們的 code 是否能正確的 handle / extract 這個 event
但因為我們只處理其中幾個欄位,所以我們也只有放那幾個欄位到假 event 去
(σ゚∀゚)σ
@zkelly3
Fri, Oct 22, 2021 4:37 AM
krabsetw 在幫我們做假 event 的時候會去查這個 event 原本的長相,然後我們沒有填的欄位他會自己幫我們猜一個值
這邊他們的實作是使用 std::fill_n,其實就是全部填 0
(σ゚∀゚)σ
@zkelly3
Fri, Oct 22, 2021 4:38 AM
這邊發生的問題是,windows event 裡面如果有欄位是字串,他的存法是像這樣子
_aStringLength: (value)
aString: (value)
就是會多一個欄位去代表這個字串的長度,而這個長度包含字串尾端的 \0
(σ゚∀゚)σ
@zkelly3
Fri, Oct 22, 2021 4:39 AM
於是填假 event 的時候
他會看到 _aStringLength 是一個 int,所以他就猜 0
但他後面看到了 aString,所以他猜空字串,
但是填了一個 \0 進去
就造成了 offset 和實際資料不符的問題
(σ゚∀゚)σ
@zkelly3
Fri, Oct 22, 2021 4:40 AM
有想要去發個 issue 但還沒想到怎麼發
夏玄(赤墨如玄)
@a8888659
Fri, Oct 22, 2021 10:24 AM
別跟別人說直接做這句正中我心欸
(戳到還爆擊ㄉ那種
載入新的回覆
做事的哲學就是
不要跟別人講直接先做可是又試圖要給出點建設性的意見自己的感覺是做起來就是沒什麼建設性什麼都討論的話開會時數真的是直線飆升,對我來說很降 san
就直接說「我們打算這樣做」,他有意見自己就會反彈
但如果是說「我們能不能___」或「在這個地方怎麼做比較好」
對方可能會跟你說我們需要開個會
oh 又是他媽的開會結果在寫 unit test 的時候出了問題
但因為我們只處理其中幾個欄位,所以我們也只有放那幾個欄位到假 event 去
這邊他們的實作是使用 std::fill_n,其實就是全部填 0
_aStringLength: (value)
aString: (value)
就是會多一個欄位去代表這個字串的長度,而這個長度包含字串尾端的 \0
他會看到 _aStringLength 是一個 int,所以他就猜 0
但他後面看到了 aString,所以他猜空字串,但是填了一個 \0 進去
就造成了 offset 和實際資料不符的問題
有想要去發個 issue 但還沒想到怎麼發(戳到還爆擊ㄉ那種