原创 [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 表現層:多端渲染,多平臺