I hereby claim:
- I am youchenlee on github.
- I am youchenlee (https://keybase.io/youchenlee) on keybase.
- I have a public key whose fingerprint is 62DC D621 9C62 0C81 F29F 0F72 C04B 76CA 6346 B185
To claim this, I am signing this object:
| ## BadValueError: Property user must be a User | |
| 系統出現了大量的 `BadValueError: Property user must be a User` 錯誤。我們追查後發現在 `2025-03-23T13:59:18+08:00 ~ 2025-03-24T08:00:00+08:00` 區間「更新」或「新增」的 UserProperty 欄位,皆缺少了 `meaning=20` | |
| 只要對損壞的 entity 進行 `google.appengine.ext.db.get()`,即會發生此 Exception。 | |
| 我們有許多 Kind 用到 UserProperty,在這段期間也都有更新,但有問題的資料只發生在 ProblemLog (使用者答題記錄)這個 Kind,頗為不解。但由於我們不會去改動 UserProperty 的 meaning,它屬於 Datastore 底層的實作,因此仍懷疑為 Datastore server 方的問題導致。 |
| <!DOCTYPE html> | |
| <html class="govuk-template show-global-bar" lang="en"><!--<![endif]--><head> | |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> | |
| <meta name="govuk:analytics:organisations" content="<OT1056>"> | |
| <meta name="govuk:primary-publishing-organisation" content="Government Digital Service"> | |
| <meta name="govuk:public-updated-at" content="2023-06-28T09:32:34Z"> | |
| <meta name="govuk:updated-at" content="2023-07-21T14:29:48Z"> | |
| <meta name="govuk:first-published-at" content="2016-02-26T11:53:52Z"> | |
| <meta name="govuk:content-id" content="f3bbdec2-0e62-4520-a7fd-6ffd5d36e03a"> | |
| <meta name="govuk:schema-name" content="homepage"> |
| // input: "12 / 3", output: 4 | |
| // map | |
| (() => { | |
| const split = str => str.split('/') | |
| const divide = arr => arr[0] / arr[1] | |
| const input = [ |
| # Rime default settings | |
| # encoding: utf-8 | |
| patch: | |
| schema_list: | |
| - schema: cangjie5 | |
| - schema: cangjie5_express | |
| - schema: bopomofo_tw | |
| - schema: luna_pinyin | |
| - schema: luna_pinyin_fluency | |
| - schema: luna_pinyin_simp |
I hereby claim:
To claim this, I am signing this object:
| [ | |
| { | |
| "date": "2014-07-01", | |
| "data": [ | |
| { | |
| "count": "4", | |
| "area": "\u5927\u5bee\u5340" | |
| }, | |
| { | |
| "count": "1", |
| [2014-10-1] | |
| var AREA = new Array('三民區', '前鎮區', '苓雅區', '小港區', '左營區', '新興區', '鳳山區', '前金區', '大寮區', '仁武區', '鳥松區', '林園區', '大樹區', '六龜區', '鼓山區', '旗山區'); | |
| var NUMB = new Array(39, 26, 7, 9, 7, 6, 19, 3, 3, 3, 3, 3, 1, 1, 2, 1); | |
| [2014-10-2] | |
| var AREA = new Array('三民區', '前鎮區', '鳳山區', '小港區', '苓雅區', '新興區', '左營區', '旗山區', '林園區', '大寮區', '鼓山區', '楠梓區', '橋頭區', '鹽埕區', '六龜區'); | |
| var NUMB = new Array(35, 31, 20, 20, 7, 3, 8, 1, 1, 3, 2, 1, 1, 1, 1); | |
| [2014-10-3] | |
| var AREA = new Array('小港區', '三民區', '鳳山區', '苓雅區', '前鎮區', '岡山區', '大樹區', '鼓山區', '新興區', '前金區', '林園區', '旗山區', '楠梓區', '鳥松區', '鹽埕區', '左營區', '大社區', '大寮區', '仁武區'); | |
| var NUMB = new Array(18, 40, 17, 11, 20, 1, 1, 2, 6, 3, 1, 3, 4, 1, 1, 3, 1, 1, 1); | |
| [2014-10-4] |
| Q: 主題太大做不完怎麼辦 | |
| A: | |
| 1. 不用擔心做不完,但要讓自己做的事情有意義。在迭代式軟體開發 (Iterative and incremental development) 的方法下,軟體發展從來都不是一次到位的,而經過不斷地討論、實驗、演進,不會因為專案的大小而有不同。 | |
| 2. 要做到什麼算是「完成這學期的使命」由各位自行定義,各位下星期的簡報內容就是你們的承諾,請完成承諾。 | |
| 3. 學期結束後,鼓勵你們繼續參與開發。 | |
| Q: 我不知道如何開始 | |
| A: 直接上 IRC 詢問吧,相信許多困難的問題可以迎刃而解。 | |
| Q: 主題很小可以嗎? |