- Tailwind 練習
- CSS in js/cljs
- CSS selector
- CSS pseudo class
- 利用 form 裡的 hidden field 來做 put, patch, delete 的操作。
- 必須搭配使用 global middleware (在 route 之前執行)
- RFC 7231
- redirect 303
- middleware flash 機制 (wrap-flash)
- document.querySelectorAll () ;; minimal JQuery
- 三個好用的 javascript 函數:alert, confirm, prompt
- Validation Logic If we check in the frontend, make sure we also check in the backend (general principle: check things in the backend first, then we can consider frontend)
- PRG (post-redirect-get) = CQRS
- session = state separation + state linkage + stateless env
- DB, query-strings in request = context object pattern
- CSRF token = Multi-Factor Verification
- Repository Pattern = 比方說,使用 findById() 而不是直接下 SQL。
- Container/Presenter Pattern
- frontend form lib
- frontend widget lib
- Unobtrusive JavaScript
- Data-Driven Behavior Pattern
- Use URL to represent State
- params
- keyword-params
- content-type
- session
- flash
- wrap-log-request
- wrap-content-security-policy