背景 區(qū)分 UTF-8 和 GBK GBK 是在國家標(biāo)準(zhǔn) GB2312 基礎(chǔ)上擴(kuò)容后兼容 GB2312 的標(biāo)準(zhǔn)镶苞,專門用來解決中文編碼的鞠评,是雙字節(jié)的,不論中英文都是雙字節(jié)的聋涨。 ...
背景 區(qū)分 UTF-8 和 GBK GBK 是在國家標(biāo)準(zhǔn) GB2312 基礎(chǔ)上擴(kuò)容后兼容 GB2312 的標(biāo)準(zhǔn)镶苞,專門用來解決中文編碼的鞠评,是雙字節(jié)的,不論中英文都是雙字節(jié)的聋涨。 ...
背景 日常工作匯報(bào)、演講經(jīng)常需要制作PPT淹朋,一般使用這些標(biāo)準(zhǔn)工具 Microsoft PowerPoint、Apple Keynote 或 Google Slides 础芍。但這...
背景 工作诊杆、生活中有很多寫文檔的需求,如何才能提高寫作效率晨汹?選擇合適的工具加恰當(dāng)?shù)姆椒āO旅娣窒硪恍┕ぞ吆头椒ㄌ哉猓瑸槟愕膶懽髦Α?寫作工具 對于我來說MarkDown+思維導(dǎo)...
概述 SSL(Socket Layer Security)和 TLS(Transport Layer Security) 都是屬于安全協(xié)議钠怯,主要作用是保證客戶端和服務(wù)端之間能...
數(shù)字簽名 數(shù)字簽名是一種用于信息真實(shí)性和完整性校驗(yàn)的手段晦炊,一套數(shù)字簽名包含簽名和驗(yàn)證兩種運(yùn)算宁脊。下面是一套簡單的數(shù)字簽名示意圖榆苞。 原理 數(shù)字簽名使用非對稱加密技術(shù)语稠。每個(gè)人都有一...
概述 編程開發(fā)中,像用戶登錄注冊這種功能很常見衣式,那么對于用戶密碼處理,我們該選擇什么樣的加密算法呢檐什?在這種場景下,算法需要滿足下面兩個(gè)條件: 算法需不可逆乃正,這樣才能有效防止密...
前言 編程中常見的加密算法有以下幾種荧飞,它們在不同場景中分別有應(yīng)用名党。除信息摘要算法外叹阔,其它加密方式都會(huì)需要密鑰传睹。 信息摘要算法 對稱加密算法 非對稱加密算法 密鑰 密鑰(key...
B-tree 介紹 B-tree(平衡多路查找樹)是自平衡樹的數(shù)據(jù)結(jié)構(gòu)帅掘,維護(hù)已排序的數(shù)據(jù)堂油。關(guān)于二叉樹和其它自平衡樹可查看上篇紅黑樹[https://mp.weixin.qq....
前言 理解紅黑樹需要掌握下面知識(shí) 二分查找算法 二叉查找樹 自平衡樹(AVL樹和紅黑樹) 基于二分算法設(shè)計(jì)出了二叉查找樹迫靖,為了彌補(bǔ)二叉查找樹傾斜缺點(diǎn)兴使,又出現(xiàn)了一些自平衡樹,比...
哈希表 哈希表是一種鍵值映射的數(shù)據(jù)結(jié)構(gòu)俩垃。哈希表中汰寓,數(shù)據(jù)以數(shù)組格式存儲(chǔ),其中每個(gè)數(shù)據(jù)值都有自己唯一的索引值有滑,索引值通過哈希表的哈希函數(shù)計(jì)算得到。 下面兩步將鍵哈希值轉(zhuǎn)化成哈希表...
哈希函數(shù) 在計(jì)算機(jī)中,函數(shù)是一個(gè)有輸入輸出的黑匣子肌访,而哈希函數(shù)是其中一類函數(shù)。我們通常會(huì)接觸兩類哈希函數(shù)场靴。 用于哈希表的哈希函數(shù)啡莉。比如布隆過濾里的哈希函數(shù)旨剥,HashMap的哈...
布隆過濾器 布隆過濾器是一種由位數(shù)組和多個(gè)哈希函數(shù)組成概率數(shù)據(jù)結(jié)構(gòu)轨帜,返回兩種結(jié)果 可能存在 和 一定不存在魄咕。 布隆過濾器里的一個(gè)元素由多個(gè)狀態(tài)值共同確定。位數(shù)組存儲(chǔ)狀態(tài)值蚌父,哈...
設(shè)備像素和CSS像素 設(shè)備像素(device pixels)也叫做設(shè)備物理像素是一個(gè)具體可測量的物理單位苟弛。 CSS 像素是與設(shè)備無關(guān)的像素喝滞,這一類像素也叫做獨(dú)立設(shè)備像素(De...
顯示屏清晰度 對于計(jì)算機(jī)上顯示的文字和圖片右遭,正常來說顯示器分辨率越高清晰度就會(huì)更高,不過有時(shí)我們切換一些超高分辨率后也識(shí)別不出差異窘哈,這是為什么? 簡單來說顯示清晰度由物理因素...
作用域 JavaScript中的作用域分為全局作用域,函數(shù)作用域帅刀,塊作用域让腹。 全局作用域 對于全局范圍內(nèi)聲明的變量,可以在任何地方訪問哨鸭。 函數(shù)作用域 在函數(shù)內(nèi)聲明的變量,只能...
簡介 理解JavaScript運(yùn)行原理,我們需要理解以下兩方面內(nèi)容只估。 JavaScript引擎志群。 JavaScript運(yùn)行時(shí)環(huán)境蛔钙。 JavaScript引擎 什么是JavaS...
基本概念 傳統(tǒng)JavaScript異步編程的形式大體分以下幾種。 回調(diào)函數(shù) 事件監(jiān)聽 發(fā)布/訂閱 Promise 對象 異步 一個(gè)任務(wù)連續(xù)的執(zhí)行就叫做同步桑涎。如果將任務(wù)為分兩步...
類 類是用于創(chuàng)建對象的模板。JavaScript中生成對象實(shí)例的方法是通過構(gòu)造函數(shù)兼贡,這跟主流面向?qū)ο笳Z言(java攻冷,C#)寫法上差異較大,如下: ES6 提供了更接近Java...
什么是Promise Promise 是異步編程的一種解決方案遍希。ES6中已經(jīng)提供了原生Promise對象等曼。一個(gè)Promise對象會(huì)處于以下幾種狀態(tài)(fulfilled,rej...
什么是反射 反射這個(gè)概念在很多編程語言中都存在凿蒜,像Java禁谦,C#。 在面向?qū)ο缶幊讨蟹戏猓话銜?huì)先將類和方法定義好州泊,然后創(chuàng)建對象顯式調(diào)用方法,比如下面的例子: 上面這種調(diào)用方式我...