原创 [js函數] storageManager
import _get from 'lodash.get'; import _set from 'lodash.set'; import _debounce from 'lodash.debounce'; import {shallowE
原创 [js函數] shallowEqual
const isBasicType = (t: any) => { return t === "number" || t === "string" || t === "boolean" || t === 'undefined';}/*
原创 dom-utils
function isNil(obj:any): boolean { return typeof obj === "undefined" || obj === null;}function fixCls(clsStr: string)
原创 crudpro
1. TODO 接口聚合
原创 java表達式語言mvel2/ognl/spring-expression
<!-- https://mvnrepository.com/artifact/org.mvel/mvel2 --><dependency> <groupId>org.mvel</groupId> <artifactId>mve
原创 java中帶回調函數的字符串替換,類似js中的replace(rgExp,function)
https://blog.csdn.net/weixin_33834075/article/details/91599852 import java.util.regex.Matcher; import java.util.r
原创 MySQL 列定義的類型是varchar,查詢時如果傳入的是 數字,則查詢特別慢。
比如:select * from table_name_xxx where name = "1234"; ---- 查詢很快 比如:select * from table_name_xxx where name = 1234;
原创 給自己提個醒,渲染模版引擎handlebars已經足夠好用了,不要再到處亂看浪費時間了。
<html><body onload="renderHello()"><div id="target">Loading...</div><script id="template" type="x-tmpl-mustache">Handleb
原创 線上環境/灰度環境/預發環境/測試環境/開發環境的定義
環境 線上環境 灰度環境 預發環境 測試環境 開發環境 後端代碼 線上灰度共用一套程序 獨立 獨立 獨立 數據庫 線上/灰度/預發共用一套數據庫 獨立 獨立
原创 Scratch VM原理
1. 將積木塊轉換成JavaScript函數執行。 1. 每個積木塊都有一個opcode,對應一個JavaScript函數 2. 狀態轉移方程:全局變量存儲。 3. 每秒鐘刷新30次,相當於33毫秒:執行一次狀態計算,並重繪整
原创 安全的登錄組件
業務層: 1. 安全的密碼,密碼長度,密碼複雜度,特殊字符。 2. 密碼輸入失敗次數限制。 前端: 1. 預防重放攻擊。---- 登錄請求發送之前,獲取random id 2. 參數簽名。----通過wasm的md5算法
原创 User Token簡單總結
1. 去中心化的JWT token 優點: 1. 去中心化,便於分佈式系統使用 2. 基本信息可以直接放在token中。 username,nickname,role 3. 功能權限信息可以直接放在token中。用bit位表示
原创 多線程和單線程的理解
多線程: 優點: 1. 可以充分利用CPU多核優勢。 2. 編程難度低,JAVA爲例。可以利用同步阻塞式的IO模型。 缺點: 1. 線程數量過多時,線程間被操作系統調度,切換線程時會存在性能消
原创 http2協議的理解
HTTP2的優點: 1. 多路複用。基於同一個連接 併發過個請求。 2. 服務端推送。nginx還不支持。 3. 請求頭部壓縮。服務端和客戶端,建立連接後需要共同維護一個頭部表。後面的請求,只需攜帶跟上一次請求不同的頭部字段信息
原创 前端組件開發方法論
設計目標 合理拆分任務 結構與表現分離 關注點分離: html/css/js 反關注點分離:css in js(styled-components) 結構描述:json/xml,Virtual DOM 表現層:多端渲染,多平臺