Try   HackMD

10/27 OpenDB 會議記錄

參與人員

  • Solomon
  • 品妤
  • 姿綾
  • 姿澖
  • 冠伶
  • 徳權
  • 榆柔
  • 翊荃

會議記錄

  • 愉柔 搜尋紀錄,透過搜尋編號獲取搜尋紀錄是失敗的

    • 冠伶 在 SQLite 是查的到的嗎?
    • 榆柔 對。
    • 冠伶 那應該是 Flask 的問題,我這次回去看,下次再回答這個問題。
  • 愉柔 資料重複寫入資料庫,我測試目前系統是可以重複寫入資料的

    • 冠伶 這個問題要問一下 SQlite 小組。
    • 品妤 目前 table 只有少數欄位是限制不能重複的,請問學姊是有是甚麼樣的資料不能重複的嗎?
    • 榆柔 車牌的辨識紀錄。
    • 品妤 是指兩個重複的車牌辨識紀錄都加進資料庫嗎?
    • 榆柔 對。
    • Solomon 品妤,萬一同一家廠商對一份辨識資料重複插入兩次,我們的系統會不會出問題?
    • 品妤 如果是不一樣的事件編號就有可能會重複新增進資料庫。
      Image Not Showing Possible Reasons
      • The image was uploaded to a note which you don't have access to
      • The note which the image was originally uploaded to has been deleted
      Learn More →
    • Solomon 事件編號是我們資料庫自己產生的,廠商並不會送含有事件編號的資料過來。
    • 品妤 有個問題是車牌是有可能重複的。
    • Solomon 車牌 + 時間 + 地點就有可能不重複了。
    • Solomon 有些資料可以把兩個欄位合起來後就可以知道他是唯一的,這樣之後就可以透過這個方法知道插入的資料是否有重複。
    • Solomon 另外一招是讓查詢時不會受到重複資料的影響,就像集合一樣,把 1, 1, 3, 3, 5 加進集合裡,集合裡還是只有 1, 3, 5。
    • 品妤 有另外一個方法是兩邊都有防護的機制,新增與查詢都要做相應的檢查與處理。
    • 品妤 查詢時可以不要顯示同樣時間同樣的車牌的紀錄,查詢的部分要請 Flask 進行更改。
  • 榆柔 如果資料有遺漏,沒有成功新增進去的話會有甚麼錯誤訊息嗎?

    • Solomon 這樣說好了,如果廠商新增了 1000 筆資料,但是因為網路錯誤導致只有新增了 900 筆資料,我們會透過甚麼方式知道有資料沒有成功進來。
    • 冠伶 目前是並不會 return 任何錯誤訊息的,這部分會是我們這禮拜的任務。
  • 冠伶 有三個問題想要提問

    Image Not Showing Possible Reasons
    • The image was uploaded to a note which you don't have access to
    • The note which the image was originally uploaded to has been deleted
    Learn More →

  1. CAMERA Table 中 address 的用意是甚麼?
    • 品妤 因為新的 table 有把那部分的東西刪掉。
    • 品妤 address 應就是指那個 camera 的 address
    • 冠伶 我會有這個疑問是因為廠商存的資料只有分局、派出所而已
    • 品妤 我原本的想法是同一個分局會有不同台監視器,所以會不需要管他的位址是嗎?
    • Solomon 品妤,你在描述你的想法得時候不應該用疑問句,講完之後再跟大家說你的疑點,在試一次。
    • 品妤 同一個分局派出所會可能會有不同的監視器編號,不同的監視器編號會在不同的位子,所以會需要 address 這個欄位。
    • 品妤 新的裡面不會有路口。
    • 冠伶 為甚麼新的裡面不要有路口?
    • 品妤 因為派出所分局行政區是會有重複的,但是監視器的位置是不會重複的。
    • 冠伶 我了解了。
    • Solomon 我不了解,請冠伶解釋一下。
    • 冠伶 應該是指 CAMERA 有路口, POLICE_STATION 沒有路口,address 應該就是指路口的意思。
    • 冠伶 所以 address 改成 intersection 比較好。
    • 品妤 了解我會再去做修改。
    • Solomon 品瑜請看一下 API,為甚麼 API 裡會有 address 和 intersection。
    • 品妤 因為這是舊的設計有問題,所以我才會把其中一個刪掉。
    • 品妤 那時候這兩個是存一樣的東西,所以我後來才把他刪掉,所以是 API 沒有改掉。
    • 冠伶 目前程式是有丟 address 的,所以 API 和 SQLite 是不符合的。
    • 品妤 目前的 database 是沒有 address 這一欄的,新的也是只有一個。
    • 冠伶 請 API 把 address 這個欄位刪掉。
    • Solomon address 刪掉, camera 裡面會有一個 intersection
    • Solomon 我不懂為甚麼會有新的舊的資料庫,新的和舊的差在哪裡。
    • 冠伶 SQLite 有對一些 Table 做整個更動。
    • Solomon 做這些修改需要多少工作天
    • 冠伶 兩個禮拜
    • Solomon 不如我們就改完再找廠商測試,不然會面臨另外一個問題:廠商開始新增資料後再對資料庫做修改很困難。
  2. CAMERA 第一版的內容 precinct_store, policeStation_store, intersection_store, 為甚麼要用 Char 去存? INT 有甚麼不好的地方嗎
    • 冠伶 既然要把 table 做整個修改,我就沒有甚麼問題了,謝謝。
  3. 錯誤訊息的設計 SEARCH、CASE、PERSON,要這麼擠嗎?
    • 品妤 search 的 error type 也有新增
    • 冠伶 event 用 6 開頭作為錯誤訊息的代碼,camera 都是 7,但最後三個 table 沒有留空間。
    • 品妤 之後改成每個類型的錯誤訊息都跳 20 號。
    • 冠伶 我覺得還不錯。
  • 品妤 我想要確認一下到時候測試的時候是需要會廠商自己的資料嗎? 下略
  • Solomon 所以你想要說想請警局提通一個 CSV 的 table,然後 table 有哪些欄位。
  • 品妤 就算有 CSV,但現在還沒有程式能把流水號跟 police_id 串在一起。
  • Solomon 那程式就是要你寫啊,但這些並不用 realtime 做啊。廠商會事先提供 camera 的 table 寄給我們,你就可以事先準備。
  • Solomon 品妤你剛剛都是用問句來描述你的需求,通常會比較慢得出解答,應該要直接講你需要什麼樣的資料。
  • Solomon 因為我們需要延後兩周,所以我們要像打排球一樣丟一些事情給廠商忙。這樣就會像是廠商在等我們期中考結束了,等下來討論一下。
  • Solomon 你不能信任每個送過來的 request,會造成資安漏洞,所以未來要新增驗證機制
  • Solomon PI 要找個人 study 一下 web API gateway 技術
  • 榆柔 想請 Flask 研究正確性測試 (unit test)

下次會議時間

11/10 16:00

下次會議 check point

  • Flask
    1. 解決查詢搜尋紀錄的 bug
    2. 研究 Unit test
  • SQLite
    1. 處理一下資料重複寫入資料庫的部分
    2. CAMERA table 修改
  • RESTful
    1. 研究該如何執行重複資料新增的壓力測試

需要請廠商提供的資料

  1. CAMERA CSV 檔
    • 再請品妤之後提供詳細資訊
  2. PERSON 的 CSV

會議結束時間

16:51