博客 RSS 訂閱

chaumet - Vue中的虛擬DOM及diff算法

虛擬dom 為什麼出現: 瀏覽器解析一個html大致分為五步:創建DOM tree – 創建Style Rules - 構建Render tree - 佈局Layout – 繪製Painting。每次對真實dom進行操作的時候,瀏覽器都會從構建dom樹開始從頭到尾執行一遍流程。真實的dom操作代價昂貴,操作頻繁還會引起頁面卡頓影響用户體驗,虛擬dom就是為了解決這個瀏覽器性能問題才被創造出

vue.js , virtual-dom , diff , Javascript

收藏 評論

Clearlove - JavaScript之柯里化

簡介 柯里化(Currying),又稱部分求值(Partial Evaluation),是把接收多個參數的函數變成接受一個單一參數(最初函數的第一個參數)的函數,並且返回接受剩餘的參數而且返回結果的新函數的技術。 核心思想: 把多參數傳入的函數拆成單參數(或部分參數)函數,內部再返回調用下一個單參數(或部分參數)函數,依次處理剩餘的參數。 按照Stoyan Stefanov --《JavaS

閉包 , 高階函數 , currying , Javascript

收藏 評論

神奇的Aym - 每個開發者都應該瞭解的一些 C++ 特性

C++ 是一種強大的編程語言,但也因為其複雜性一直讓用户望而卻步。後來,C++ 決定做出改變,然後發展至今,成了編程社區最受歡迎的語言之一。C++ 有一些新特性非常好用,本文對此進行了介紹,比如 auto、lambda、constexpr、tuple、智能指針等。 作為一門編程語言,C++已經進化了很多。 當然,這些改變不是一夜之間發生的。曾幾何時,C++缺乏活力,導致人們不太喜歡這門語言

搜索引擎 , virtualenv , c++ , c

收藏 評論

Yxaw - 手寫Vue彈窗Modal

Vue作為最近最炙手可熱的前端框架,其簡單的入門方式和功能強大的API是其優點。而同時因為其API的多樣性和豐富性,所以他的很多開發方式就和一切基於組件的React不同,如果沒有對Vue的API(有一些甚至文檔都沒提到)有一個全面的瞭解,那麼在開發和設計一個組件的時候有可能就會繞一個大圈子,所以我非常推薦各位在學習Vue的時候先要對Vue核心的所有API都有一個瞭解。這篇文章我會從實踐出發,遇到一

vue-loader , react , vue.js , vuex , Javascript

收藏 評論

孟繁勝遊 - 前端包管理Bower入門教程

Bower瞭解 bower是twitter的一個開源項目,使用nodejs開發,用於web包管理。如果越來越多得開源項目都託管在github上,bower只需要將github上項目加上一個配置文件既可以使用bower方式使用安裝包。作為包管理,bower能提供添加新web包,更新web包,刪除web包,發佈web包功能,管理包依賴。web包通常認為由html+css+javascript構成。 環

node.js , bower , 前端 , Git , html5

收藏 評論

Hoh_Xil - 頁面刷新vuex狀態初始化

vuex五種基本對象 state:存儲狀態(變量) getters:對數據獲取之前的再次編譯,可以理解為state的計算屬性。我們在組件中使用$sotre.getters.fun() mutations:修改狀態,並且是同步的。在組件中使用$store.commit('',params)。這個和我們組件中的自定義事件類似。 actions:異步操作。在組件中使用是$store.dispa

vue.js , sessionstorage , vuex , 前端

收藏 評論

深客 - 真正理解nth-of-type,只知道nth-of-type和nth-child的區別?怕是不夠哦!

nth-of-type和nth-child的區別我這裏就不説了,只説nth-of-type。 首先我們設定下面這樣一個結構,然後通過下面四個例子真正理解nth-of-type 1.div這是div/div 2.div class="common"這是div.common/div 3.p class="common"這是p.common/p 4.div class="common"這是div.com

css選擇器 , Css

收藏 評論

import_hello - Unicode 字符編碼模型 - 0x01_簡介

GitHub@orca-j35,所有筆記均託管於 python_notes 倉庫 歡迎任何形式的轉載,但請務必註明出處。 我會寫 5 篇文章來介紹 Unicode 字符編碼模型(CHARACTER ENCODING MODEL) 本文會簡要介紹一下模型的層次結構,並逐一列出相關的參考的資料 Unicode 字符編碼模型分為四個層級(level),概況如下: ACR: Abst

字符編碼 , encoding , unicode

收藏 評論

aigestudio - 巧用 iTerm2 & zsh & oh-my-zsh 打造炫酷的 MacOS 終端環境

MacOS 系統自帶的 Bash 雖然已經很強大,但是對於一些細節功能的支持並不完美,重點是對於一個顏控來説,原生 Bash 真的很醜……可塑性也不高。本文將使用 iTerm2 這款被各路大牛吹爆的 MacOS 平台最好用終端結合 zsh 來打造一個炫酷的終端環境。最終效果大致如下: 左邊是原生 Bash 默認狀態,右邊是 iTerm2 做完整容手術後的樣子。本文我們只整容,不介紹 iTerm2

iterm2 , macos , iterm , homebrew , zsh

收藏 評論

joytime - Javascript箭頭函數和lambda

() = {} 基本特點 es6中的箭頭函數,在實際開發中確實比較方便,通常來説會有幾個特點: 箭頭函數中的this會綁定在外部作用域 沒有arguments 如果想返回一個對象記得加()包裹 call和apply不能傳入this (() = {a: 1})() //返回值為undefiend,想返回對象,使用下面的方式 (() = ({a: 1})() 箭頭函數和lambda表達 l

匿名函數 , Javascript

收藏 評論

Clearlove - 小記:Nginx代理axios請求及注意事項

近期寫個小demo,因為用到某大廠的在線數據,接口做了跨域限制,所以利用Nginx代理來解決這些問題。 1. nginx.conf 配置信息 由於nginx.conf配置信息較多,本篇只關注跟axios和靜態資源請求設置,順便也將常見的一些配置項備註一下。具體設置如下: # 設定http服務器,利用它的反向代理功能提供負載均衡支持 http { #連接超時時間 keepalive_time

HTTP , proxy-pass , Axios , Nginx , 跨域

收藏 評論

若川 - 學習 underscore 源碼整體架構,打造屬於自己的函數式編程類庫

前言 你好,我是若川。這是學習源碼整體架構系列第二篇。整體架構這詞語好像有點大,姑且就算是源碼整體結構吧,主要就是學習是代碼整體結構,不深究其他不是主線的具體函數的實現。文章學習的是打包整合後的代碼,不是實際倉庫中的拆分的代碼。 要是有人説到怎麼讀源碼,正在讀文章的你能推薦我的源碼系列文章,那真是太好了。 學習源碼整體架構系列文章如下: 1.學習 jQuery 源碼整體架構,打造屬於自

函數式編程 , 源碼分析 , underscore , 前端 , Javascript

收藏 評論

JinsongChai - Linux下文件名長度限制

Linux下文件名長度限制 出現場景:在迭代中有一個需求是將pdf文件名修改為所有班級的名稱集合,出現的班級過多導致的文件名過長在linux下無法創建文件和文件夾的情況 解決方式:經過查證,linux中文件名最長為255字符,文件路徑最大長度為4096字符。所以需要對班級名稱進行截斷,並且不僅僅是根據字符串長度截斷,而是根據每一個字母或者漢字對應的字符來計算得到最後的文件名小於255個字符。

字符編碼 , Linux , Javascript

收藏 評論

墨者安全 - 做網絡安全防護前,我們需要了解那些網絡攻擊的表現形式

對於網絡攻擊,應該很多人都知道是怎麼一回事吧。簡單來説,就是犯罪分子通過互聯網網絡對某家企業發起的惡意破壞,竊取數據等操作來影響該企業的正常運營。互聯網技術沒有那麼先進的時候,只是一些簡單的網絡欺詐等網絡犯罪事件發生,而如今我們經常在會聽到某某公司數百萬的用户信息泄露,某某公司被盜取多少金額,或者是某某企業的重要數據被加密,接收到勒索郵件,寫着付錢就給密鑰等事件常有發生。有攻就有防,但是在防的前提

網絡安全 , 服務器端 , 互聯網大數據

收藏 評論

Afterward - React系列 --- virtualdom diff算法實現分析(三)

React系列 React系列 --- 簡單模擬語法(一) React系列 --- Jsx, 合成事件與Refs(二) React系列 --- virtualdom diff算法實現分析(三) React系列 --- 從Mixin到HOC再到HOOKS(四) React系列 --- createElement, ReactElement與Component部分源碼解析(五)

virtual-dom , Javascript

收藏 評論

瘋狂的技術宅 - 超越 Cookie:當今的客户端數據存儲技術

超越 Cookie:當今的客户端數據存儲 作者:Adam Giese 翻譯:瘋狂的技術宅 原文:https://blog.logrocket.com/be... 未經允許嚴禁轉載 當 cookie 被首次引入時,它是瀏覽器保存數據的唯一方式。之後又有了很多新的選擇:Web Storage API、IndexedDB 和 Cache API。那麼 cookie 死了嗎?我們來看看這些在瀏

indexeddb , cookies , storage , cookie

收藏 評論

易大師 - JavaScript的call/apply/bind方法/函數原生實現

call/apply/bind方法簡介 在JavaScript中,函數中this的指向往往在調用時才可確定,而JavaScript提供了call/apply/bind方法讓我們得以顯示綁定函數的this指向。 它們的第一個參數是一個對象,它們會把這個對象綁定到調用他們的函數內的this。因為你可以直接指定 this 的綁定對象,因此我們稱之為顯式綁定。 //用例 var a = { q: 1

call , apply , bind , Javascript

收藏 評論

OBKoro1 - js基礎-面試官想了解你有多理解call,apply,bind?

函數原型鏈中的 apply,call 和 bind 方法是 JavaScript 中相當重要的概念,與 this 關鍵字密切相關,相當一部分人對它們的理解還是比較淺顯,所謂js基礎紮實,繞不開這些基礎常用的API,這次讓我們來徹底掌握它們吧! 目錄 call,apply,bind的基本介紹 call/apply/bind的核心理念:借用方法 call和apply的應用場景 bind的應

call , apply , 面試 , bind , Javascript

收藏 評論

陳緒 - ubuntu下vim安裝YouCompleteMe教程

ubuntu16.4下vim安裝YouCompleteMe教程 YouCompleteMe 是vim代碼提示插件 1 首先檢查vim版本 vim --version 如下所示 VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Nov 24 2016 16:44:48) Included patches: 1-1689 Extra patches: 8.0

youcompleteme , ubuntu16.04 , vim , 安裝使用 , Ubuntu

收藏 評論

fizz - golang orm之gorose 2.0版本正式發佈

關於gorose 2.0 gorose, 最風騷的golang orm, php版本的laravel eloquent. 經過幾個月的重構和打磨, 再加上近一個月的預覽版測試和改進, gorose 2.0正式版終於與我們見面了. 新版本做出了重大改動和升級, 完全重構了基礎架構和實現方式, 下面, 我們一起來看看gorose 2.0的特點吧 gorose 2.0特點 1. 全新架構 g

orm , laravel , 數據庫 , eloquent , go

收藏 評論

import_hello - BeautifulSoup 使用指北 - 0x03_搜索解析樹

GitHub@orca-j35,所有筆記均託管於 python_notes 倉庫。 歡迎任何形式的轉載,但請務必註明出處。 參考: https://www.crummy.com/softwa... 概述 BeautifulSoup 中定義了許多搜索解析樹的方法,但這些方法都非常類似,它們大多采用與 find_all() 相同的參數: name、attrs、string、limit 和

網頁爬蟲 , beautifulsoup , Python

收藏 評論

kira - 前端開發團隊的工具鏈

彙集前端開發團隊中經常使用的好工具,分享給大家! 注:都是開源工具 sentry:推薦指數5顆星⭐️⭐️⭐️⭐️⭐️ 推薦理由:開源的代碼異常監控和上報平台,搭建安裝簡單,操作和使用都簡單,支持很多種開發語言的監控上報,提供了快速上手demo,bug異常無需用户主動上報反饋即可知曉,還提供豐富的用户操作信息,提供日常bug郵件通知,週報統計,支持source map 源碼解析,跟蹤非常方便,快速

前端工程化 , 開發工具 , 前端工具 , 前端 , Javascript

收藏 評論

Kyle - XMLHTTPRequest屬性、方法、事件大全&詳解。

XMLHTTPRequest屬性、方法、事件整理大全。 xhr 對象的方法 open(method:string, url:string, async?:boolean=true, username?:string, password: string) 用於創建 HTTP 請求,但請求並未發送。 method, 請求類型,如 GET 、POST 等,大小寫不敏感。

xmlhttprequest , Ajax , 前端 , Javascript

收藏 評論

ipromise - 深入前端-JavaScript異步編程

JavaScript的執行機制在上篇文章中進行了深入的探討,那麼既然是一門單線程語言,如何進行良好體驗的異步編程呢 回調函數Callbacks 當程序跑起來時,一般情況下,應用程序(application program)會時常通過API調用庫裏所預先備好的函數。但是有些庫函數(library function)卻要求應用先傳給它一個函數,好在合適的時候調用,以完成目標任務。這個被傳入的、後

ecmascript-6 , promise , async , yield , Javascript

收藏 評論