Ryan.Y.C.Su
    • Create new note
    • Create a note from template
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Write
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
    • Invite by email
      Invitee

      This note has no invitees

    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights New
    • Engagement control
    • Make a copy
    • Transfer ownership
    • Delete this note
    • Save as template
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Note Insights Versions and GitHub Sync Sharing URL Create Help
Create Create new note Create a note from template
Menu
Options
Engagement control Make a copy Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Write
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
  • Invite by email
    Invitee

    This note has no invitees

  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       Owned this note    Owned this note      
    Published Linked with GitHub
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    # 10/27 OpenDB 會議記錄 ## 參與人員 * [name=Solomon] * [name=品妤] * [name=姿綾] * [name=姿澖] * [name=冠伶] * [name=徳權] * [name=榆柔] * [name=翊荃] ## 會議記錄 * [name=愉柔] 搜尋紀錄,透過搜尋編號獲取搜尋紀錄是失敗的 * [name=冠伶] 在 SQLite 是查的到的嗎? * [name=榆柔] 對。 * [name=冠伶] 那應該是 Flask 的問題,我這次回去看,下次再回答這個問題。 * [name=愉柔] 資料重複寫入資料庫,我測試目前系統是可以重複寫入資料的 * [name=冠伶] 這個問題要問一下 SQlite 小組。 * [name=品妤] 目前 table 只有少數欄位是限制不能重複的,請問學姊是有是甚麼樣的資料不能重複的嗎? * [name=榆柔] 車牌的辨識紀錄。 * [name=品妤] 是指兩個重複的車牌辨識紀錄都加進資料庫嗎? * [name=榆柔] 對。 * [name=Solomon] 品妤,萬一同一家廠商對一份辨識資料重複插入兩次,我們的系統會不會出問題? * [name=品妤] 如果是不一樣的事件編號就有可能會重複新增進資料庫。 ![](https://hackmd.io/_uploads/BkTyA1YG6.png) * [name=Solomon] 事件編號是我們資料庫自己產生的,廠商並不會送含有事件編號的資料過來。 * [name=品妤] 有個問題是車牌是有可能重複的。 * [name=Solomon] 車牌 + 時間 + 地點就有可能不重複了。 * [name=Solomon] 有些資料可以把兩個欄位合起來後就可以知道他是唯一的,這樣之後就可以透過這個方法知道插入的資料是否有重複。 * [name=Solomon] 另外一招是讓查詢時不會受到重複資料的影響,就像集合一樣,把 1, 1, 3, 3, 5 加進集合裡,集合裡還是只有 1, 3, 5。 * [name=品妤] 有另外一個方法是兩邊都有防護的機制,新增與查詢都要做相應的檢查與處理。 * [name=品妤] 查詢時可以不要顯示同樣時間同樣的車牌的紀錄,查詢的部分要請 Flask 進行更改。 * [name=榆柔] 如果資料有遺漏,沒有成功新增進去的話會有甚麼錯誤訊息嗎? * [name=Solomon] 這樣說好了,如果廠商新增了 1000 筆資料,但是因為網路錯誤導致只有新增了 900 筆資料,我們會透過甚麼方式知道有資料沒有成功進來。 * [name=冠伶] 目前是並不會 return 任何錯誤訊息的,這部分會是我們這禮拜的任務。 * [name=冠伶] 有三個問題想要提問 ![](https://hackmd.io/_uploads/rk9Feltz6.png) 1. CAMERA Table 中 address 的用意是甚麼? * [name=品妤] 因為新的 table 有把那部分的東西刪掉。 * [name=品妤] address 應就是指那個 camera 的 address * [name=冠伶] 我會有這個疑問是因為廠商存的資料只有分局、派出所而已 * [name=品妤] 我原本的想法是同一個分局會有不同台監視器,所以會不需要管他的位址是嗎? * [name=Solomon] 品妤,你在描述你的想法得時候不應該用疑問句,講完之後再跟大家說你的疑點,在試一次。 * [name=品妤] 同一個分局派出所會可能會有不同的監視器編號,不同的監視器編號會在不同的位子,所以會需要 address 這個欄位。 * [name=品妤] 新的裡面不會有路口。 * [name=冠伶] 為甚麼新的裡面不要有路口? * [name=品妤] 因為派出所分局行政區是會有重複的,但是監視器的位置是不會重複的。 * [name=冠伶] 我了解了。 * [name=Solomon] 我不了解,請冠伶解釋一下。 * [name=冠伶] 應該是指 CAMERA 有路口, POLICE_STATION 沒有路口,address 應該就是指路口的意思。 * [name=冠伶] 所以 address 改成 intersection 比較好。 * [name=品妤] 了解我會再去做修改。 * [name=Solomon] 品瑜請看一下 API,為甚麼 API 裡會有 address 和 intersection。 * [name=品妤] 因為這是舊的設計有問題,所以我才會把其中一個刪掉。 * [name=品妤] 那時候這兩個是存一樣的東西,所以我後來才把他刪掉,所以是 API 沒有改掉。 * [name=冠伶] 目前程式是有丟 address 的,所以 API 和 SQLite 是不符合的。 * [name=品妤] 目前的 database 是沒有 address 這一欄的,新的也是只有一個。 * [name=冠伶] 請 API 把 address 這個欄位刪掉。 * [name=Solomon] address 刪掉, camera 裡面會有一個 intersection * [name=Solomon] 我不懂為甚麼會有新的舊的資料庫,新的和舊的差在哪裡。 * [name=冠伶] SQLite 有對一些 Table 做整個更動。 * [name=Solomon] 做這些修改需要多少工作天 * [name=冠伶] 兩個禮拜 * [name=Solomon] 不如我們就改完再找廠商測試,不然會面臨另外一個問題:廠商開始新增資料後再對資料庫做修改很困難。 2. CAMERA 第一版的內容 precinct_store, policeStation_store, intersection_store, 為甚麼要用 Char 去存? INT 有甚麼不好的地方嗎 * [name=冠伶] 既然要把 table 做整個修改,我就沒有甚麼問題了,謝謝。 3. 錯誤訊息的設計 SEARCH、CASE、PERSON,要這麼擠嗎? * [name=品妤] search 的 error type 也有新增 * [name=冠伶] event 用 6 開頭作為錯誤訊息的代碼,camera 都是 7,但最後三個 table 沒有留空間。 * [name=品妤] 之後改成每個類型的錯誤訊息都跳 20 號。 * [name=冠伶] 我覺得還不錯。 * [name=品妤] 我想要確認一下到時候測試的時候是需要會廠商自己的資料嗎? ...下略 * [name=Solomon] 所以你想要說想請警局提通一個 CSV 的 table,然後 table 有哪些欄位。 * [name=品妤] 就算有 CSV,但現在還沒有程式能把流水號跟 police_id 串在一起。 * [name=Solomon] 那程式就是要你寫啊,但這些並不用 realtime 做啊。廠商會事先提供 camera 的 table 寄給我們,你就可以事先準備。 * [name=Solomon] 品妤你剛剛都是用問句來描述你的需求,通常會比較慢得出解答,應該要直接講你需要什麼樣的資料。 * [name=Solomon] 因為我們需要延後兩周,所以我們要像打排球一樣丟一些事情給廠商忙。這樣就會像是廠商在等我們期中考結束了,等下來討論一下。 * [name=Solomon] 你不能信任每個送過來的 request,會造成資安漏洞,所以未來要新增驗證機制 * [name=Solomon] PI 要找個人 study 一下 web API gateway 技術 * [name=榆柔] 想請 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

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password

    or

    By clicking below, you agree to our terms of service.

    Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully