今天2021/6/1,幫公司POC SSO with SpringBoot時,遇到了一個新版SpringBoot 啟動上的錯誤,之前開發是指用SpringBoot 2.4.4並未遇到此問題,該問題是只要啟動就會顯示錯誤。

15:06:26.404 [main] ERROR org.springframework.boot.SpringApplication - Application run failed
java.lang.IllegalStateException: No subdirectories found for mandatory directory location 'file:./config/*/'.
at org.springframework.util.Assert.state(Assert.java:76)
at
... 以下省略
Process finished with exit code 1

看了一下官方github issue中SpringBoot 2.4.6/2.5都有這樣的問題,在issue中有提供workaround 的解法,就是在環境變數或者是java 變數中加入config 參數,來避免這個問題。

--spring.config.location=optional:classpath:/,optional:classpath:/config/,optional:file:./,optional:file:./config/

環境變數為

SPRING_CONFIG_LOCATION=optional:classpath:/,optional:classpath:/config/,optional:file:./,optional:file:./config/

擇一使用就可以了。


Gmail icon from https://zh.wikipedia.org/wiki/Gmail

Recently I try to develop a service with Gmail API / GCP PubSub / LINE Notify. I use GCP PubSub to get notifications from Gmail when it receives mail, push to my server deployed on Heroku’s Django server, and use Gmail API to get unread mail with specific labels and then get mail content and subject. However, LINE Notify to send to a particular group.


https://github.com/catwhiskers/mlops_incremental_learning

  1. Training
  2. retraining — Incremental training

why?

  • Model drift : Differences between training and testing data
  • Robustness : People get affected by ML models will deliberately alter their response
  • Ground truth not available during training time : User behaviors are not predictable

Problems

  • Labeling tools maintenance
  • Passing human labeled results around manually
  • Triggering retraining manually
  • How to mange models
  • Updating endpoints without down time

like NLP have many mission to labeling like content or positive / negative


最近公司突然要舉辦調酒聚會,在規劃時原本是只有我們公司自己人參與,到後來變成了我們這樓層的co-working space 聚會,多了很多公司參與,原先只有打算吃吃喝喝玩調酒,但加了其他公司參與的話,就不能這麼的簡單了,我心中立刻就想到說要來玩Line bot 搞點酒機器人,然後招集了前端一起來組成深夜的Team來實現。

  1. cocktail:為調酒品項schema,
  • quantity:為數量當order 建立後此欄位會-1如果該品項數量為0則回傳的menu不會有該品項,image為該品項的照片。
  • name:cocktail 名稱
  • image:cocktail images(S3 link)
  • display_name:顯示於menu的名稱

2. orders:cocktail 訂單

  • order_id:order 編號三位數並且為index,每次產生時會查詢最後一筆order_id + 1 並為了避免同時點餐導致dup加入了while true,catch到except 會持續嘗試order_id迭代在寫入DB,直到成功寫入。
  • order_item:cocktail name
  • line_id:點餐者的LINE uuid
  • nickname:LINE profile display_name
  • profile:LINE picture_url
  • status:create(建立訂單)、done(完成訂單)、cancel(用戶取消訂單)
  • image:cocktail image(我偷懶不想要在處理訂單時在去query cocktail collection)
  • display_name:cocktail display_name(我偷懶不想要在處理訂單時在去query cocktail collection)

3. line_message

  • type:message 類別
  • alt_text:鎖屏顯示文字
  • contents:flex json

第一階段快速開發期:

因之前API專案完全重構後,加上有實作Line bot sdk發送訊息與webhook,基本上直接拿架構來用,此架構使用mongoengine和marshmallow來做到ORM、deserialize和serialize,加上現成的docker build and push to AWS ECR shell,第一階段快速的把db model & marshmallow schema 給建立完成,開始使用LINE bot SDK的reply message、get_profile以及撰寫business logic function,第一階段把LINE webhook接收到關鍵字回傳quick reply message menu以及postback點酒功能給完成。


上週五到了AWS Taiwan 位於微風南山的辦公室參加了Well-Architected workshop,這個workshop 主要是在介紹Well-Architected中的Security,首先主講的Bob為我們講解了Well-Architeted中Security比較overall的knowledge,這部分我在前東家(四大電信之一)工作三年的經驗裡,決大部分都有接觸到也有相關的知識。

  • Billing Cost
  • Implement Cost
  • Operation Cost
  • Goodwill Cost

Billing Cost 顧名思義就是你在AWS用了什麼樣的服務、用了多久所產生的帳單。


Are you tired of logging into the server and checking the API server log? Maybe you can try to stream your API server log to AWS CloudWatch, like this img.


Fix VBA error code 429 ActiveX component can’t create object

In https://support.microsoft.com/en-gb/help/828550/you-receive-run-time-error-429-when-you-automate-office-applications have many reason, and in my case, VBA code is dead in

Set db = DBEngine.OpenDatabase

Today(2020/09/08), I upgrade Robo3T to version 1.4, but when I finished the upgrade and start, All UI is hard to recognize.


Some people will use iOS/Android Add to Home Screen, let website turn to a shortcut in Home Screen, our site created by create-react-app, if not set, it’s will showing React App is name and icon will be a current screenshot.

{
"short_name": "React App",
"name": "Create React App Sample",
"icons": [
{
"src": "favicon.ico",
"sizes": "64x64 32x32 24x24 16x16",
"type": "image/x-icon"
}
],
"start_url": ".",
"display": "standalone",
"theme_color": "#000000",
"background_color": "#ffffff"
}

you can change short_name and name, but the icon has a different setting because…

MorrisLin

Software Engineer, try to make some different.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store