本文首發 http://fetiku.com/docs/advanc... 1 DNS 預解析 DNS 解析也是需要時間的,可以通過預解析的方式來預先獲得域名所對應的 IP link rel="dns-prefetch" href="//shudong.wang" 2 緩存 緩存對於前端性能優化來説是個很重要的點,良好的緩存策略可以降低資源的重複加載提高網頁的整體加載速度 通常瀏覽器緩
docker 變得越來越流行,它可以輕便靈活地隔離環境,進行擴容,方便運維管理。對開發者也更方便開發,測試與部署。 最重要的是,當你面對一個陌生的項目,你可以照着 Dockerfile,甚至不看文檔(文檔也不一定全,全也不一定對)就可以很快讓它在本地跑起來。 現在很強調 devops 的理念,我把 devops 五個大字放在電腦桌面上,格物致知了一天。豁然開朗,devops 的意思就是寫一個 Do
首發 楓上霧棋的日誌 前端動態 1、2019 前端工具調查結果 在 CSS 工具方面,Sass 仍然是最受歡迎的 CSS 處理器;大多數開發人員現在選擇不在其項目中使用任何 CSS 框架;減少使用 CSS 並使用 CSS 命名方案 的開發人員的數量超過了未使用 CSS 的開發人員;CSS-in-JS 繼續以穩定的速度增長。在 JavaScript 框架和庫方面,React 依舊保持領先地位,Vu
1. 概覽 在 JavaScript 中,使用 // 即可創建一個正則表達式對象,當然也可以使用 new RegExp() 常用的跟正則相關的方法有 match、test 和 replace。 其中 match,replace 都是字符串上的方法, test 是正則對象上的方法。 下面看具體的圖示: 2. 匹配單字符 /reg/ 可以直接匹配具體的字符串 reg。 /[arzy]/
在多模態模型的架構上,ChatGPT 的繪圖能力主要依賴以下幾個核心組件: 跨模態編碼器(Cross-Modal Encoder): 跨模態編碼器的作用是將文本和圖像的特徵進行對齊。GPT 可以將用户輸入的文本描述轉換為文本特徵表示,然後利用跨模態編碼器將這些特徵映射到圖像特徵空間。這種方式確保模型能夠理解描述性語言中不同細節是如何與圖像特徵對應的。
首發 楓上霧棋的日誌 前端動態 1、微前端的核心價值 本文來自對阿里雲微前端線下沙龍的整理,觀點是 微前端的核心價值在於 "技術棧無關",這才是它誕生的理由,或者説這才是能説服大家採用微前端方案的理由。 2、React Hooks 你真的用對了嗎 從 React Hooks 正式發佈到現在,作者一直在項目使用它。但是,在使用 Hooks 的過程中,作者也進入了一些誤區,導致寫出來的代碼隱藏 bu
首發 楓上霧棋的日誌 前端動態 1、從 VSCode 看大型 IDE 技術架構 通過本文,我們可以一起和作者從 VSCode 身上學習大型複雜 GUI 軟件如何組織功能模塊代碼,如何使用 Electron 技術將 Web 軟件桌面化,如何在打造插件化開放生態的同時保證軟件整體質量與性能,如何打造一款好用的、流行的工具軟件。 2、2020 年成為更好的 Node.js 開發人員的 20 種方法 N
1.概述 Web服務,即通過程序實現網頁服務,服務啓動後,一般用户可通過訪問URL獲取到網站提供的網頁服務,如網頁瀏覽、留言、商品購買等。開發Web服務的技術有很多,有Java、Python、ASP.NET、腳本語言等,其中常用的腳本語言有ASP、ASPX、JSP、PHP。下面對這些Web服務開發技術作一個簡單介紹。 開發技術 推出年代 文件後綴 發展趨勢
首發 楓上霧棋的日誌 前端動態 1、H5 手機 App 開發入門:技術篇 手機 App 的技術棧可以分成 原生 App 技術棧,混合 App 技術棧,跨平台 App 技術棧 三類,本文通過各種技術棧加載網頁的不同做法,幫助大家理解它們的特點,對 App 的技術實現有一個總體的認識。 2、各公司前端技術棧選型大圖 Scott 分享的各公司前端主管的 前端技術選型 知識庫。 3、我最喜歡的 CSS
首發 楓上霧棋的日誌 前端動態 1、基於 RBAC 的前端權限控制 當我們討論到前端應用的權限控制時,不是在討論如何去控制權限,而是在討論如何將用户權限反映到頁面元素的顯隱上。如果用户沒有權限訪問請求,不僅會造成請求資源的浪費,還會降低用户體驗。前端的權限控制就是為了解決這類問題。RBAC 是目前普遍使用的一種權限模型。本文會討論如何基於 RBAC 權限模型去實現前端應用的權限控制。 2、微信小
為了應對學習內容複雜度曲線陡增,必須總結出流程方法,關乎效率,使在學習時間複雜度趨近平穩 α階段:預覽 預覽大綱,將PPT全寫進md筆記裏,注意PPT裏相關鏈接 預覽測試題,預先記錄到md筆記裏,帶着問題看視頻 預覽課程簡介,收集到md筆記裏 先快速看一遍視頻x2,直播錄屏,有打臉翻車部分,大致知道知識點的位置,一定要快進看 β階段:視頻學習 看視頻 x 1.5 記筆記:細節
首發 楓上霧棋的日誌 前端動態 1、llhttp 是如何使 Node.js 性能翻倍的 Node.js v12 一個非常重磅的功能就是,內核的 HTTP Parser 默認使用 llhttp,取代了老舊的 http-parser,性能提升了 156%。但知其然也要知其所以然,llhttp 是如何做到這一點的呢? 2、CSS inherit 是繼承,那 initial 和 unset 呢 所有 C
首發 楓上霧棋的日誌 前端動態 1、2019 年 JavaScript 明星項目 本文通過圖表對比了各個項目在 Github 過去 12 個月新增的 star 數量,數據來源於 Best of JavaScript ,一個 WEB 領域優秀項目精選的網站。 2、TypeScript 3.8 Beta TypeScript 宣佈推出 3.8 Beta,該版本包含 3.8 最終版本獲得的所有新功能。
Docker第一次上手 引言 DevOps/開發運維/不懂運維和部署的前端開發 項目實際需要,平穩升級構建工具 安裝Docker 去看官網就好了 涉及的幾個命令 dockerimages  dockerbuild -t指定image的repository和tag,這兩項的含義可
在業務或者UI交互稍微複雜一些的項目裏,都離不開狀態管理的問題。不管是從後台API請求的數據還是頁面的UI狀態,都需要有一個"Store"幫我們去做狀態管理。通常在項目中,我們會引入 Redux 去負責這樣的職責。但是 Redux 要維護大量的模板代碼,加上 Redux 通過 connect 這種高階組件的方式注入 state 和 dispatch 的方式並不直觀,增加了理解的複雜度。React從
簡介 這是一份 2021 年前端開發手冊,列舉前端開發相關技術,提供相關技術的學習資源。下面的項目不用全部學習,可以選其中一些學習。 歡迎補充!項目地址:2021-frontend-handbook 目錄 HTML CSS JavaScript 前端框架 前端工程化 服務端渲染 SSR 靜態站點生成器 SSG TypeScript 用 JS 去做服務器端 桌面應用程序 El
摘自 現代 JavaScript 教程;總結自己覺得重要/疏忽/未知的部分,閒來無事時看看,抓耳撓腮時看看。長篇預警! ECMA-262 規範 最權威的信息來源(語言細節),每年都會發佈一個新版本的規範 🚩最新的規範草案請見 https://tc39.es/ecma262/ 🚩最新最前沿的功能,包括“即將納入規範的”(所謂的 “stage 3”),請看這裏的提案 https://gith
當2018年GraphQL特別是Apolllo Client開始流行之後,很多人開始認為它將替代Redux,關於Redux是否已經落伍的問題經常被問到。 我很清晰地記得我當時對這些觀點的不理解。為什麼一些數據請求的庫會替代全局狀態管理庫呢?這兩者有什麼關聯呢? 曾經我認為像Apollo這樣的Graphql客户端只能用來請求數據,就像axios一樣,你仍然需要一些方式來讓請求的數據可以被
@Async 註解的用法和示例 [TOC] 背景 通常,在Java中的方法調用都是同步調用,比如在A方法中調用了B方法,則在A調用B方法之後,必須等待B方法執行並返回後,A方法才可以繼續往下執行。這樣容易出現的一個問題就是如果B方法執行時間較長,則可能會導致調用A的請求響應遲緩,為了解決這種問題,可以使用Spirng的註解@Async來用異步調用的方式處理,當然也會有別的多線程方式解決此類問題
文章不易,請關注公眾號 毛毛蟲的小小蠟筆,多多支持,謝謝。 缺陷 使用async和await後,我們的代碼看起來是同步的。這個就是它的優點。 await會阻塞後面的代碼,直到promise完成。但這會可能出現因為大量的await,導致promise變慢。 因為每個await都會等待前一個完成才執行,但使用promise雖然代碼看起來不是同步的,但請求卻是異步的,不會被阻塞。 Demo 比如下面截圖
作者: 王璞 長期以來,計算機系統IO的速度一直沒能跟上CPU速度的提升,相比而言IO往往成為系統的性能瓶頸,計算任務等待IO存取數據,成為高性能系統的一大性能瓶頸。本文先剖析IO性能瓶頸的根源,然後舉例説明如何解決IO瓶頸,最後簡要介紹我們在高性能IO方面的嘗試。 IO性能瓶頸 當用户程序執行IO操作時,絕大多數情況下是調用操作系統內核提供的系統調用來執行IO操作,最常見的IO系統調用是read
我們一直都相信這樣一種説法:協程是比多線程更高效的一種併發工作方式,它完全由程序本身所控制,也就是在用户態執行,協程避免了像線程切換那樣產生的上下文切換,在性能方面得到了很大的提升。毫無疑問,這是顛撲不破的業界共識,是放之四海而皆準的真理。 但事實上,協程遠比大多數人想象中的複雜,正因為協程的“用户態”特性,任務調度權掌握在撰寫協程任務的人手裏,而僅僅依賴async和await關鍵字遠遠達不到“調
async handleSubmit() { await this.handleSubmitReport() // 1 await this.handleSubmitEdit() // 2 this.showSuccess = true // 3 this.showSuccessText = '你已成功提交檢查結果!'