#bbs
2021-05-01
pichuchen
21:49:27
Test sheet 的部分需要大家協助喔
2021-05-02
pichuchen
03:54:23
測試站目前的顯示和 ptt 有些不同,主要是目前不是用 pmore, 做個紀錄,避免我晚點睡起來忘掉
pichuchen
2021-05-02 04:58:18
搞定了...
pichuchen
04:58:18
搞定了...
2021-05-05
pichuchen
09:23:58
這週影片會再晚一點上傳,我多一點時間想一下 C 轉成自然語言要怎麼表達比較好
陳昱廷
16:50:07
*:clap: 解決掉的 issue / Resolved Issues* • close <https://github.com/Ptt-official-app/Ptt-backend/issues/196|#196> *:memo: 相關的 issue / Related Issues* • <https://github.com/Ptt-official-app/Ptt-backend/issues/191|#191> *:pick: 變更內容 / Details of Changes* 增加 smtp provider
andylee1013
2021-05-07 20:09:25
我覺得這個PR大家可以多多看看
其實我們已經討論了不少細節
但是可能還會有沒注意到的細節
也辛苦Yu大大了 👍
其實我們已經討論了不少細節
但是可能還會有沒注意到的細節
也辛苦Yu大大了 👍
陳昱廷
16:50:28
這個希望大家參與討論一下
陳昱廷
16:51:07
需要集思廣益
pichuchen
18:20:36
我剛剛發現我前幾天打的review紀錄卡在Pending沒送出 Orz
2021-05-06
pichuchen
01:17:44
本週影片發出去了,然後又是發出去才想到有東西忘了講,pmore相關的忘了講
Rico
20:55:49
關於轉錄文章到看板一些問題
Rico
2021-05-06 20:56:29
要去哪裡抓 user 有 permission 在特定的 board 可以發文?
Rico
2021-05-06 21:22:04
喔,看到了,在 token 那邊
pichuchen
2021-05-06 21:23:27
嗯嗯
Rico
20:56:29
要去哪裡抓 user 有 permission 在特定的 board 可以發文?
Rico
21:22:04
喔,看到了,在 token 那邊
pichuchen
21:23:27
嗯嗯
2021-05-07
andylee1013
20:09:25
我覺得這個PR大家可以多多看看
其實我們已經討論了不少細節
但是可能還會有沒注意到的細節
也辛苦Yu大大了 👍
其實我們已經討論了不少細節
但是可能還會有沒注意到的細節
也辛苦Yu大大了 👍
Rico
20:54:08
feat: forward article usecase & repository
想問大家這樣的方向對不對,或者哪裡還需要補的?
https://github.com/Ptt-official-app/Ptt-backend/pull/203
想問大家這樣的方向對不對,或者哪裡還需要補的?
https://github.com/Ptt-official-app/Ptt-backend/pull/203
*:clap: 解決掉的 issue / Resolved Issues* • close <https://github.com/Ptt-official-app/Ptt-backend/issues/154|#154> *:memo: 相關的 issue / Related Issues* • <https://github.com/Ptt-official-app/Ptt-backend/issues/66|#66> • <https://github.com/Ptt-official-app/Ptt-backend/issues/152|#152> • <https://github.com/Ptt-official-app/Ptt-backend/issues/153|#153> *:pick: 變更內容 / Details of Changes* • add forward article usecase • add forward article repository
2021-05-08
nickyanggg
17:25:13
再麻煩大家幫忙 review 一下,謝謝
https://github.com/Ptt-official-app/go-bbs/pull/84
https://github.com/Ptt-official-app/go-bbs/pull/84
*:memo: 相關的 issue / Related Issues* • <https://github.com/Ptt-official-app/go-bbs/issues/83|#83> *:pick: 變更內容 / Details of Changes* • 在 bbs.go 中新增 WriteArticleConnector、NewArticleRecord、AddArticleRecordFileRecord • 新增 pttbbs/pttbbs_write_article_connector.go • 在 pttbbs/file.go 中新增 AppendFileHeaderFileRecord、NewFileRecord,其中比較不確定或是尚未實作的部分都有加上註解 • 在 pttbbs/file_test.go 中新增 TestAppendFileHeaderFileRecord、TestAppendFileHeaderFileRecordWithError
2021-05-09
titaneric
00:49:19
不好意思我想請問一下,我在改Ptt Backend時候遇到要對MockRepository與MockUsecase這兩個mock object兩邊都要新增類似MockUserDraft的struct這種情況,但我自己覺得只要在MockRepository新增就好,MockUsecase就呼叫MockRepository對應method就好(照我們的設計)。這邊我想討論MockUsecase的必要性,我看method測試function上,也沒有統一在MockRepository還是MockUsecase。如果說移除MockUsecase剩下MockRepository可能會比較好維護?
titaneric
2021-05-09 00:54:41
補充一下,對於一些repo沒有對應method的,可能MockUsecase是必要的。
nickyanggg
2021-05-09 11:45:22
我想 MockXXX 的存在意義除了在測試的時候可以更加方便控制預期結果,並且也可以讓測試著重在要測試的 function 本身,而不用去考慮當中呼叫的 function 的正確性,畢竟後者也會有屬於它自己的測試來驗證。
pichuchen
2021-05-09 12:38:47
Mock 系列有兩個作用,一個是在Unit test 的時候用的,另外一個是一開始做的時候避免大家等來等去當作像是一般工地灌水泥的模板或是鷹架用的,所以後面這種作用上的 Mock 會需要移除掉
pichuchen
2021-05-09 12:39:10
也就是release之後,mock 系列可能會只有在 _test 被編譯時才會被編譯
andylee1013
2021-05-09 13:29:10
既然我們當初把usecase 跟 repository切開,那他就會有存在的必要,有可能我們現在寫的code比較多是usecase直接回傳repo的結果,但是照理說一些商業邏輯是會做在這邊的,等之後功能越來越多(或是做refactor)應該就會看到越多method是拿repo的結果回來做處理再往回丟。我是覺得要切就要切乾淨,不然當初design不就應該只留http跟repo層就好。
titaneric
2021-05-09 18:52:39
我目前了解usecase是有他的功用,但覺得mock系列不管是MockRespository還是MockUsecase有些method沒有區分清楚,怕對後續維護有影響。當然如果之後開發穩定了再拔掉當然OK
pichuchen
2021-05-09 19:09:06
Mock 的功能基本上沒有實際作用,所以實際上線的程式碼不會有Mock
andylee1013
2021-05-09 19:12:27
mock implement interface還有個好處啦 就是會強迫你寫test XD
pichuchen
2021-05-09 20:36:24
目前有檢查涵蓋率的套件會幫忙確認test
titaneric
00:54:41
補充一下,對於一些repo沒有對應method的,可能MockUsecase是必要的。
nickyanggg
11:45:22
我想 MockXXX 的存在意義除了在測試的時候可以更加方便控制預期結果,並且也可以讓測試著重在要測試的 function 本身,而不用去考慮當中呼叫的 function 的正確性,畢竟後者也會有屬於它自己的測試來驗證。
pichuchen
12:34:13
*:clap: 解決掉的 issue / Resolved Issues* • close <https://github.com/Ptt-official-app/Ptt-backend/issues/180|#180> *:memo: 相關的 issue / Related Issues* • <https://github.com/Ptt-official-app/Ptt-backend/issues/180|#180> • <https://github.com/Ptt-official-app/Ptt-backend/issues/68|#68> *:pick: 變更內容 / Details of Changes* • usecase function `checkPermission` 新增傳入參數 context • 新增 checkPermission 關於發文的部份邏輯 • 新增 repo CreateArticle function
pichuchen
12:38:47
Mock 系列有兩個作用,一個是在Unit test 的時候用的,另外一個是一開始做的時候避免大家等來等去當作像是一般工地灌水泥的模板或是鷹架用的,所以後面這種作用上的 Mock 會需要移除掉
pichuchen
12:39:10
也就是release之後,mock 系列可能會只有在 _test 被編譯時才會被編譯
andylee1013
13:29:10
既然我們當初把usecase 跟 repository切開,那他就會有存在的必要,有可能我們現在寫的code比較多是usecase直接回傳repo的結果,但是照理說一些商業邏輯是會做在這邊的,等之後功能越來越多(或是做refactor)應該就會看到越多method是拿repo的結果回來做處理再往回丟。我是覺得要切就要切乾淨,不然當初design不就應該只留http跟repo層就好。
titaneric
18:52:39
我目前了解usecase是有他的功用,但覺得mock系列不管是MockRespository還是MockUsecase有些method沒有區分清楚,怕對後續維護有影響。當然如果之後開發穩定了再拔掉當然OK
pichuchen
19:09:06
Mock 的功能基本上沒有實際作用,所以實際上線的程式碼不會有Mock
andylee1013
19:12:27
mock implement interface還有個好處啦 就是會強迫你寫test XD
pichuchen
20:36:24
目前有檢查涵蓋率的套件會幫忙確認test
2021-05-10
titaneric
00:50:51
需要幫忙review以下PR,謝謝大家 https://github.com/Ptt-official-app/Ptt-backend/pull/204
*:clap: 解決掉的 issue / Resolved Issues* • close <https://github.com/Ptt-official-app/Ptt-backend/issues/167|#167> *:pick: 變更內容 / Details of Changes* • `GetUserDrafts`與`UpdateUserDraft`改傳回自定義的`UserDraft`,這需要在go-bbs內被實作 • 在`MockUsercase`與`MockRepository`新增`MockUserDraft` 以mock`UserDraft` *注意* • 目前`MockUserDraft` 是兩邊各定義相同的struct,之後可能要統一呼叫repo的
pichuchen
13:33:50
2021-05-11
amberfu
07:04:51
需要幫忙 review PR,感謝!
https://github.com/Ptt-official-app/go-bbs/pull/85
https://github.com/Ptt-official-app/go-bbs/pull/85
*:clap: 解決掉的 issue / Resolved Issues* • close <https://github.com/Ptt-official-app/go-bbs/issues/78|#78> *:pick: 變更內容 / Details of Changes* • 新增 pttbbs/usersettings.go 與 pttbbs/usersettings_test.go 檔案 • 在 pttbbs/const.go 新增 uflags • 在 bbs.go 的 UserRecord interface 中新增 UserFlag() • 在 pttbbs/passwd.go 中修改 Userec struct 的 userFlag (原為 UserFlag) • 在 pttbbs/passwd_test.go 中修改所有 UserFlag 成為 userFlag • 在 serverlet/route_users_test.go 中新增 UserFlag() function
- 👀1
pichuchen
2021-05-12 03:01:18
Lint 有問題喔
amberfu
2021-05-12 12:44:40
@pichuchen 請問什麼是 Lint 呢?不好意思,不太熟悉...
pichuchen
2021-05-12 12:45:29
自動檢查程式碼的工具
pichuchen
2021-05-12 12:46:39
amberfu
2021-05-13 02:03:33
我會試著修改再重新提交,感謝!
2021-05-12
pichuchen
03:01:18
Lint 有問題喔
amberfu
12:44:40
@pichuchen 請問什麼是 Lint 呢?不好意思,不太熟悉...
pichuchen
12:45:29
自動檢查程式碼的工具
pichuchen
12:46:39
Wombat007
17:11:52
ˋ7ㄚㄏˋ
Lex Liu
18:20:27
https://github.com/Ptt-official-app/go-bbs/issues/86
我想要嘗試這個 issue,但在 go-bbs 中沒看到 add comments 相關的實作,所以有幾個問題。
1. 是否需要在 ArticleRecord 中加入 comments 清單?
2. 是否需要考慮顏色的編碼? 參考 pptbbs/mbbsd/comments.c:4 FormatCommentString
我想要嘗試這個 issue,但在 go-bbs 中沒看到 add comments 相關的實作,所以有幾個問題。
1. 是否需要在 ArticleRecord 中加入 comments 清單?
2. 是否需要考慮顏色的編碼? 參考 pptbbs/mbbsd/comments.c:4 FormatCommentString
*實作細節 / Details of Implement* • 基本上實作是參考 <https://github.com/Ptt-official-app/go-bbs/issues/64|#64> • 這個功能需要能夠掃瞄所有看板的所有文章,並列舉出所有屬於某個使用者的留言 • 因目前還未實作推文的功能,所以暫時的做法是透過 ReadBoardArticleFile 讀出文章內容後,判斷內容是否有包含使用者ID,有的話視為此使用者有留言。加上 TODO 之後再另起 issue 修改 • 新增 user_comment_record.go,定義 UserCommentRecord interface,至少實作以下 function • CommentOrder() int // 評論順序,從1開始,在 PTT 代表是幾樓的意思 • CommentTime() time.Time // 評論時間,發出推文的時間 • 在 bbs.go 新增 UserCommentConnector interface,實作以下 function • GetUserCommentRecordsPath(userID string) (string, error) // 取得儲放歷史留言快取資料庫的路徑 • ReadUserCommentRecordFile(name string) ([]UserCommentRecord, error) // 讀取快取資料,並輸出為[]UserCommentRecord • 在 bbs.go 新增 func (db *DB) GetUserCommentRecordFile(userID string) ([]UserCommentRecord, error) • 參考 <https://github.com/Ptt-official-app/go-bbs/blob/0a4883fa41988439603d95007d3ea25df682fddb/bbs.go#L399|GetUserArticleRecordFile>,先讀取快取資料庫的內容,若無資料則重新從所有看板的所有文章撈取。因目前沒有 comment_order 與 comment_time 的資料,可先回傳 empty value,再標記 TODO *期程 / Schedule* (希望這個任務大概什麼時候做完,如果會卡到其他地方的功能也請在這邊提出。) • 討論時間: 一週, 到 5/17 • 實作時間: 一週, 到 5/24 • 確認時間: 一週, 到 5/31 *相關文件 / Documents* • <https://github.com/Ptt-official-app/go-bbs/issues/64|#64> • <https://docs.google.com/document/d/18DsZOyrlr5BIl2kKxZH7P2QxFLG02xL2SO0PzVHVY3k/edit#heading=h.xtgbc6lc04uw|API文件>
1. 要
2. 我覺得這階段不用
2. 我覺得這階段不用
2021-05-13
amberfu
02:03:33
我會試著修改再重新提交,感謝!
陳昱廷
09:50:08
1. 要
2. 我覺得這階段不用
2. 我覺得這階段不用
Julian Chu
19:12:39
需要幫忙 review PR 麻煩大家了
https://github.com/Ptt-official-app/Ptt-backend/pull/206
https://github.com/Ptt-official-app/Ptt-backend/pull/206
*:clap: 解決掉的 issue / Resolved Issues* *:memo: 相關的 issue / Related Issues* • <https://github.com/Ptt-official-app/Ptt-backend/issues/7|#7> • <https://github.com/Ptt-official-app/Ptt-backend/pull/124|#124> *:pick: 變更內容 / Details of Changes* • 補完 <https://github.com/Ptt-official-app/Ptt-backend/pull/124|#124> • 針對 ServeMux, gorillamux, httprouter 補上 benchmark
- ❤️2
2021-05-14
Rico
19:20:17
稍微修正了一下,再麻煩大家指點迷津了
Rico
feat: forward article usecase & repository
想問大家這樣的方向對不對,或者哪裡還需要補的?
https://github.com/Ptt-official-app/Ptt-backend/pull/203
- Forwarded from #bbs
- 2021-05-07 20:54:08
- 👍1
2021-05-15
ichsu
01:20:19
@ichsu has joined the channel
nickyanggg
06:28:49
已修正完畢~ 再麻煩大家幫忙 review
https://github.com/Ptt-official-app/go-bbs/pull/84
https://github.com/Ptt-official-app/go-bbs/pull/84
*:memo: 相關的 issue / Related Issues* • <https://github.com/Ptt-official-app/go-bbs/issues/83|#83> *:pick: 變更內容 / Details of Changes* • 在 bbs.go 中新增 WriteArticleConnector、NewArticleRecord、AddArticleRecordFileRecord • 新增 pttbbs/pttbbs_write_article_connector.go、pttbbs/pttbbs_write_article_connector.go • 在 pttbbs/file.go 中新增 AppendFileHeaderFileRecord,其中尚未實作的部分有加上註解 • 在 pttbbs/file_test.go 中新增 TestAppendFileHeaderFileRecord
andylee1013
14:10:20
請大家幫忙 Review~ 感謝~
https://github.com/Ptt-official-app/Ptt-backend/pull/207
https://github.com/Ptt-official-app/Ptt-backend/pull/207
*:clap: 解決掉的 issue / Resolved Issues* • close <https://github.com/Ptt-official-app/Ptt-backend/issues/197|#197> *:memo: 相關的 issue / Related Issues* • <https://github.com/Ptt-official-app/Ptt-backend/issues/191|#191> *:pick: 變更內容 / Details of Changes* • `mail.go` - 新增 case 呼叫新增 mailgun provider • `mail_test.go` - 新增兩個測試關於 `NewMailProvider()` • `mailgun.go` - mailgun provider 實作 • `mailgun_test.go` - 測試 mailgun provider *其他* 關於 mailgun provider test,我是用自己起一個 https server 的作法去測,這樣 Send 成功以及失敗就都可以被測到。 測試成功的部份有在 handler function 裡面對 request 做一些檢查,如果覺得這個部分不需要,其實也可以拿掉。 另外我新增了 `mail_test.go` 的想法是覺得 `NewMailProvider()` 裡面的邏輯 應該是要在這個 test file 裡面驗證。
2021-05-17
Lex Liu
14:31:08
*:clap: 解決掉的 issue / Resolved Issues* • close <https://github.com/Ptt-official-app/go-bbs/issues/86|#86> *:memo: 相關的 issue / Related Issues* • <https://github.com/Ptt-official-app/go-bbs/issues/86|#86> *:pick: 變更內容 / Details of Changes* • 新增 user_comment_record.go • NewUserCommentRecord 可判斷傳入的資料是否符合留言的格式,並從符合格式的資料中擷取留言者與時間。 • 新增 ansi.go • 小工具可以將 ANSI escape code 移除。 • 修改 bbs.go • 新增 UserCommentConnector interface 處理個人留言的快取(未實作細節)。 • 新增 GetUserCommentRecordFile method 從所有開板中找出使用者的歷史留言。 • 新增 GetBoardUserCommentRecord method 從特定看板中找出使用者的歷史留言。 • 新增 GetBoardArticleCommentRecords method 從特定文章中找出所有使用者的留言。 • 新增 bbs_test.go 利用 fakeConnector 模擬實際存取檔案的功能,藉此完成 DB 邏輯的測試。
- 👀1
Lex Liu
2021-05-19 13:57:47
已修正
2021-05-18
pichuchen
20:22:21
C 程式碼有人有寫註解了,看有沒有人要幫忙Review這樣
Lex Liu
2021-05-19 14:25:21
怎麼給 comment 比較好?直接在連結下面討論嗎?
pichuchen
2021-05-19 15:26:26
按右鍵
2021-05-19
Lex Liu
13:57:47
已修正
陳昱廷
14:21:27
這周的 email 有要發嗎
陳昱廷
14:21:30
還是難產中?
Lex Liu
14:25:21
怎麼給 comment 比較好?直接在連結下面討論嗎?
pichuchen
15:16:10
這週有,不過分心到簡訊實聯中
denkenie
2021-05-20 01:28:32
挖,你們簡訊實聯是在哪裡討論的啊?
pichuchen
2021-05-20 01:34:27
pichuchen
15:16:33
目前確實有難產部分,主要是在C程式碼教學上
pichuchen
15:26:26
按右鍵
Rain Wu
20:37:57
@s0958334772 has joined the channel
2021-05-20
pichuchen
01:25:14
大家不好意思,我覺得影片我可能要再拖一天,因為週四早上有線上課程="=
denkenie
01:28:32
挖,你們簡訊實聯是在哪裡討論的啊?
pichuchen
01:34:27
pichuchen
01:36:49
已 review
Guo-Jim
07:31:01
@guo-jim has joined the channel
陳昱廷
15:52:33
已 review
2021-05-22
pichuchen
01:47:53
https://docs.google.com/spreadsheets/d/1uo4AJuSi5xTXEht2o2EHogLivCJlJqlLaeqoj1RceDY/edit#gid=0
測試表我寫一輪了,晚點會請大家協助Review
測試表我寫一輪了,晚點會請大家協助Review
我在想這部份是否要寫成 e2e test,不過要寫在哪邊是個問題就是了
然後我建議用 https://pttapp.cc/ 當測試網站,作為標準依據
pichuchen
2021-05-24 12:39:26
測試網站要用pttapp.cc或是離線自己測試我覺得都可以,理論上兩者行為應該要一樣
pichuchen
2021-05-24 12:39:35
e2e test 有範例嗎?
我寫一個 e2e test
2021-05-24
陳昱廷
11:56:37
我在想這部份是否要寫成 e2e test,不過要寫在哪邊是個問題就是了
陳昱廷
11:57:11
然後我建議用 https://pttapp.cc/ 當測試網站,作為標準依據
pichuchen
12:39:26
測試網站要用pttapp.cc或是離線自己測試我覺得都可以,理論上兩者行為應該要一樣
pichuchen
12:39:35
e2e test 有範例嗎?
陳昱廷
13:05:29
我寫一個 e2e test
陳昱廷
13:48:05
*實作細節 / Details of Implement* 目前有幾個想法實做測試 1. 手動測試 - 最簡單,但難重現 2. postman test - 最難,但不需要用 golang,使用類 js 語言開發 3. golang test - 使用 http/curl 實做,可以整合進 ci 我會先實做一個 golang 的 e2e 測試供大家參考,大家可以下方討論有沒有更好的作法 *期程 / Schedule* • 討論時間:一週 • 實作時間: 未定 • 確認時間: 未定 *相關文件 / Documents* <https://docs.google.com/spreadsheets/d/1uo4AJuSi5xTXEht2o2EHogLivCJlJqlLaeqoj1RceDY/edit#gid=0|測試表>
陳昱廷
13:48:12
我開了一個關於測試表的討論
陳昱廷
13:48:17
大家可以討論一下
2021-05-25
Mao Hsu
12:25:44
@maofanhsu has joined the channel
2021-05-26
pichuchen
02:06:12
這週影片雖然還沒發出去,不過有在人力狀態表上沒有掛「最近比較忙」的我都有把工作發出去了,請再幫我確認一下信箱這樣
usingunix
18:57:21
@usingunix has joined the channel
min
22:46:28
@side112358 has joined the channel
2021-05-27
pichuchen
01:15:22
再貼一次
陳昱廷
20:22:47
*:clap: 解決掉的 issue / Resolved Issues* • close <https://github.com/Ptt-official-app/go-bbs/issues/78|#78> *:pick: 變更內容 / Details of Changes* • 新增 pttbbs/usersettings.go 與 pttbbs/usersettings_test.go 檔案 • 在 pttbbs/const.go 新增 uflags • 在 bbs.go 的 UserRecord interface 中新增 UserFlag() • 在 pttbbs/passwd.go 中修改 Userec struct 的 userFlag (原為 UserFlag) • 在 pttbbs/passwd_test.go 中修改所有 UserFlag 成為 userFlag • 在 serverlet/route_users_test.go 中新增 UserFlag() function
- 👍1
陳昱廷
20:22:57
這個大家麻煩 review 一下
2021-05-30
pichuchen
18:00:32
*實作細節 / Details of Implement* Quote from Pichu: > 在放入 user01 Access Token 的情況下,發出一篇文章,user02 可以用 > 「↑」進行推文,評價數要加一,user02第二次用 ↑ 推文時評價數不變 接著user02 用 > 「↓」推文時原先的上箭頭推文被刪去,評價數減一(收回),第二次用 ↓ 推文時評價數減一,第三次用↓推文時評價數不變 > 在放入 user01 Access Token 的情況下,發出一篇文章,user01 用 「↑」進行推文,評價數不變 (自己不能推自己) • 修改`usecase /article.go` • 增加類似`UpdateUsefulness` function,以模仿stackoverflow或reddit • 在`repository/article.go`中新增`Usefulness` struct,與後端`gobbs`對接 • 在`delivery/http`新增`route_update_usefulness.go`處理http routing • 可能會有權限問題需要處理 • 對應測試需要撰寫 *期程 / Schedule* • 討論時間: 兩周 • 實作時間: 兩周 • 確認時間: 兩周 *備註* • 目前Google doc那裏還沒更新 • 子issue需要協助開立
s8901489
21:37:21
https://github.com/Ptt-official-app/go-bbs/pull/88
這個PR需要大家幫忙review,麻煩了
這個PR需要大家幫忙review,麻煩了
*:clap: 解決掉的 issue / Resolved Issues* • close <https://github.com/Ptt-official-app/go-bbs/issues/82|#82> *:pick: 變更內容 / Details of Changes* • xxxxxx • xxx
- ❤️1
2021-05-31
s8901489
18:28:32
有再跑過一次go fmt了,前面少跑了一個檔案