LINE 釋出 FIDO2 Server 示範
Line 官方發布的 FIDO2-Server 範例 Java (spring-boot) 開發 + Apache 2.0 license
Line 官方發布的 FIDO2-Server 範例 Java (spring-boot) 開發 + Apache 2.0 license
OWASP 發布的 Secure Headers Project 在 header 中設定 CSP(Content-Security-Policy), HSTS(HTTP Strict Transport Security), X-Frame-Options … 等。 簡單的設定就可以大幅提升網站安全性。 參考 CSP 用來避免 XSS 攻擊(Cross-site Scripting)和資料側錄 範例
AWS OpenSearch 官方發布基於 Apache 2.0 授權的v1.0 is Released AWS 和 Elastic (Elasticsearch) 對 Open Source 授權上爭議的起因可以看這一篇 如果要升級可以看從 Elastic 升級到 OpenSearch
Google API 設計規範的風格指南 Focused design documents for flexible API development 大公司就是大公司。
當 Route 時, 因為 page 會有 click event / reload page ..等變數 會讓 parent component改變時連帶 Child 也需要改變試了幾個方法 都有用 使用 @Input() ngOnChanges or OnPush + markAsCheck() 有點麻煩的寫法, 這個我大概只會用在 Pure Component 用來顯示就好. 使用 Service + Subject or Observable 缺點是Child Constructor跑得比 Parent 快時, 你就收不到 Parent 先執行next的值. 使用此方法需要極注意先後順序. 使用 Service + RelaySubject 將 Parent route.paramMap cache 在 Service 我比較喜歡最後這兩個.
議題討論: 因為想把產品做 scale out 所以要用 NoSQL 取代 產品中原有的 PostgreSQL, 畢竟 RDBMS 本來就沒有 Native multi-master 的支援 !? 前提 下文感想的前提是如果技術團隊中目前沒有 NoSQL 的高手存在,但想要將 已上市的產品立即切換成任一種 NoSQL 的情境。 不包含團隊中本來就有多位 noSQL 高手的情境 NoSQL 我自己使用過 Firebase/FireStore/DataStore/MongoDB,僅是感想紀錄 先講結論 採用 NoSQL 的時間點 ? 當團隊中本來就有 NoSQL 高手 (或) 當團隊中同時有多位熟悉(多年經驗)特定 NoSQL 的 developer (或) 當團隊想開發公司/部門裡的軟體,使用自己生產的軟體(Eating your own dog food),藉以累積實戰經驗 (或) 新創團隊,產品尚未有使用者,離上市還很遠 (或) 這是趨勢 ! 不管就是只想用 Cloud Service 上現成的或 BAAS 除了以上5點之外,建議沿用 PostgreSQL,把最新版的 pgSQL 的特性發揮應可應付絕大部分的場景。雖然 NoSQL 要設定 Scalability 的確容易得多(原生的),但如果會產生更多不方便的地方(如下),那何必強求容易設定 Scale-Out 這一個優點 ?...
前陣子被同事問了 Angular Project 的專案結構建議要怎麼擺放比較有彈性!? 說實在的,從 angular v1(angularJS) ~ angular v9 (2019.12),就是看官方的 Style guide (大概就是長那樣),而且在開發版本提升的同時,為了因應新 feature 的加入也有可能異動。 查了別人開發架構加上自己的經驗大概是是這樣子,根據 (1)一次性? (2) 會持續大於 30/40個 component嗎?(3)是否需多人共同維護, 是否需要其他 project dependency ? (4) 是否需要 lazy-loading ? 中小型專案 | 簡易版 如果是一次性開發,且 lazy-loading module的需求很低的狀態下。 |-- app/ |-- core/ # Core components |-- [+] authentication/ |-- [+] services/ |-- [+] guards/ |-- [+] interceptors |-- [+] models/ |-- users # Users Components |-- [+] user-edit/ |-- [+] user-view/ |-- [+] user-list/ ├── user....
在建置 angular 專案時,一開始就先設定好些方便開發的小技巧, 對之後的開發體驗可以省下不少工時。 自訂 Typescript 匯入路徑 (import paths) 編輯 tsconfig.json 檔案,在 compilerOptions 新增 paths 並在這裡設定 import path 的自動匯入路徑,這麼做可以讓路徑長度變短一點. { "compilerOptions": { "paths":{ "@core-models/*":["app/core/models/*"], "@core-services/*":["app/core/services/*"], "@core-guards/*":["app/core/guards/*"], "@public/*":["app/public/*"], "@pages/*":["app/pages/*"], "@app/*":["app/*"], }, 設定完之後,在撰寫程式碼時即可使用自訂命名來取代原有的絕對路徑. import { UserService } from '@core-services/user.service'; import { UserProfile } from '@core-models/users.model'; @Component({ selector: 'app-account', templateUrl: './account.component.html', styleUrls: ['./account.component.css'] }) export class AccountComponent implements OnInit, OnDestroy { } Routing 不可以把 default route 定義為 lazy-loading,在這裡可以用 ngx-quicklink 只要將 router prefetch strategy 設定好,就會預先自動讀取雨下載 view 中 routerLink 所指定的 lazy loading route,加快載入速度!大幅增加操作體驗!