原创 Ribbon 負載均衡策略
Spring Cloud Ribbon是一個基於HTTP和TCP的客戶端負載均衡工具,基於Netflix Ribbon實現。 下面我們來看看在 Ribbon 中都提供了哪些負載均衡的策略實現。 RandomRule 該策略實現從服
原创 ArrayList 線程安全問題及解決辦法
爲什麼線程不安全? E.G.: 這裏使用多個線程同時處理一個 ArrayList ,期望輸出 list.size 是 4000 List<String> list = new ArrayList<>(); for (int i
原创 取消Promise
轉載自 爲Promise插上可取消的翅膀 const makeCancelable = (promise) => { let hasCanceled_ = false; const wrappedPromise = new Pr
原创 最長遞增子序列----面試代碼題
面試代碼題 在一組數字中,找出最長一串遞增的數字,就是最長遞增子序列,比如 0, 3, 4, 17, 2, 8, 6, 10 數字 0 3 4 17 2 8 6 10 長度 1 2 3 4 2 4 4 5 通過觀察我們可以看出最長遞增子序
原创 ES6--Proxy
本篇文章轉載自我的個人博客 Proxy Proxy可以理解爲在對象前架設一個攔截層(過濾與改寫) 定義: var proxy = new Proxy(target,handler); 自帶方法: get(target,propKey,
原创 常見的排序算法
冒泡排序 冒泡排序算法的原理如下: 比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。 對每一對相鄰元素做同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。 針對所有的元素重複以上的步驟,除了
原创 js手動實現簡易懶加載----LazyLoad
前言 在網頁加載中,對於一些存在很多Image的網頁,一次加載所有圖片,會造成性能浪費,圖片優化的方法有很多,例如base64、雪碧圖等,圖片懶加載也是比較常見的一種性能優化的方法 原理 給頁面中img標籤設定自定義屬性data-orig
原创 常見正則表達式
本篇文章轉載自我的個人博客 字符串trim函數 其中str爲測試字符串,re爲正則表達式 var str = ' www.liulei.@qq [email protected] '; var re = /((^s*)|(s*$))/
原创 Flex佈局(CSS彈性盒子)
CSS3 彈性盒子(Flexible Box 或 Flexbox),是一種用於在頁面上佈置元素的佈局模式,使得當頁面佈局必須適應不同的屏幕尺寸和不同的顯示設備時,元素可預測地運行。對於許多應用程序,彈性盒子模型提供了對塊模型的改進,因爲
原创 瀏覽器渲染過程及重繪重排
瀏覽器渲染過程 HTML代碼轉化成DOM CSS代碼轉化成CSSOM(CSS Object Model) 結合DOM和CSSOM,生成一棵渲染樹(包含每個節點的視覺信息) 生成佈局(layout),即將所有渲染樹的所有節點進行平面合成 將
原创 封裝 generator 爲 async 函數
generator 和 iterator 對於 generator 生成的迭代器,調用函數,該函數並不執行,返回的也不是函數運行結果,而是一個指向內部狀態的指針對象,總是需要手動調用 next 函數去獲取下一個迭代器狀態 functio
原创 Canvas 繪製線條、與鼠標交互的線條
canvas入門,跟隨掘金小冊如何使用 Canvas 製作出炫酷的網頁背景特效學習,完成一個簡單的 canvas 線條 demo,監聽文檔 document 的幾個事件 mousemove、mouseleave、blur 來與背景線條交互
原创 Canvas 繪製背景小球、與鼠標交互的小球
canvas入門,跟隨掘金小冊如何使用 Canvas 製作出炫酷的網頁背景特效學習,完成一個簡單的 canvas demo 下面是代碼,操作解釋都有註釋: <!DOCTYPE html> <html lang="en"> <head>
原创 位圖與矢量圖
位圖與矢量圖位圖(BitMap)矢量圖 位圖(BitMap) 位圖又叫像素圖,其構成最小單位是像素,在縮放過程中會失真。位圖是一個 HTML 元素,其中的圖形不會單獨創建 DOM 元素。因此我們不能通過 JavaScript 操控位圖
原创 CSS漸變實現進度條、立體小球
進度條 設置 div 元素屬性 background-image 爲 linear-gradient (漸變)來實現傾斜的進度條,在使用 animation 動畫來讓進度條動起來,就能達到想要的效果啦 HTML 代碼: <div id