原创 聲明式?命令式?面向對象?函數式?

目錄聲明式編程 vs 命令式編程爲什麼面向對象屬於命令式編程瞭解下函數式編程參考 React:以聲明式編寫 UI,可以讓你的代碼更加可靠,且方便調試。 Vue.js 的核心是一個允許採用簡潔的模板語法來聲明式地將數據渲染進

原创 《CSS重構:樣式表性能調優》筆記

1. 選擇器的權重 一直以爲是這樣 不知道從哪看的,囧。 正確的計算方式爲 (行內style(1或0), id選擇器的數量, 類、僞類、屬性選擇器的數量, 元素、僞元素選擇器的數量) 從左到右依次比較,大的優先級高。 2. !impor

原创 實現 Promise/A+ 規範 & ES6 Promise方法

實現 Promise/A+ 規範 // 三種狀態 var status = { pending: 'pending', fulFilled: 'fulFilled', rejected: 'rejected', } func

原创 理解Node.js的流

流的產生 如下,讀取一個文件,把file.js全部讀取到內存,當file.js文件很小的時候並沒有什麼問題 const fs = require('fs'); fs.readFile('./file.js', (err, data) =

原创 JavaScript的運行機制

執行環境(Execution Context) JS代碼可以歸爲下面三種情況之一: 全局代碼:首先執行這裏的代碼 函數代碼 Eval代碼:eval()函數中的文本 默認有一個全局執行環境,只能有一個全局執行環境。 執行函數會創建一個

原创 .gitignore規則

A blank line matches no files, so it can serve as a separator for readability. 空行不表示匹配,可用於分割,便於可讀。 A line starti

原创 Mac安裝Python3

安裝 Mac自帶Python2.x $ python -V Python 2.7.10 Python官網說 // 不會有2.8了 There will be no Python 2.8. // 並且2.7只會維護到2020年 This

原创 把BEM用起來

以前的一篇文章 問題 Sadly, most CSS codebases are sometimes developed without any structure or naming conventions. This leads

原创 Mac端口轉發解決eclipse/idea/tomcat不能啓動80端口的問題

sudo vi /etc/pf.conf 在rdr-anchor "com.apple/*"後添加 rdr on lo0 inet proto tcp from any to 127.0.0.1 port 80 -> 127.0.0.1

原创 網頁字體

字體 不同操作系統默認的字體不同,不同操作系統預裝的字體也不盡相同,如果要讓頁面在不同操作系統下保持外觀相對一致,我們就需要指定字體,更何況字體還會影響美觀。 如果要寫一個 CSS 框架,字體是首先考慮的事情之一。 操作系統中的字體簡介

原创 微信網頁開發碰到的幾個問題

vue-cli 默認的 autoprefixer 配置不支持 Safari 8.0 的 Flexbox 屬性 出問題的環境 iOS 8.1.2 微信6.5.9 WKWebView Safari 8.0 但是 autoprefixer

原创 Python的命令行交互式環境

安裝好Python之後,運行python命令會進入Python的命令行交互環境 $ python Python 3.6.3 (v3.6.3:2c5fed86e0, Oct 3 2017, 00:32:08) [GCC 4.2.1 (A

原创 Chrome瀏覽器部分手機瀏覽模式下元素間出現間距的問題

這應該是Chrome的BUG <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=

原创 git回退遠程分支的版本

首先回退本地分支 git reflog git reset --hard Obfafd 然後強制推送到遠程分支 git push -f

原创 TCP三次握手與四次揮手

三次握手 1.第一次握手 客戶端向服務端發送 SYN(Synchronize) 標記設爲 1 的TCP包。 Seq(Sequence Number)爲由操作系統生成的隨機數。然後,客戶端進入 SYN_SEND 狀態,等待服務器的確認。