原创 如何實現一個虛擬 DOM——virtual-dom 源碼分析

概述 本文通過對virtual-dom的源碼進行閱讀和分析,針對Virtual DOM的結構和相關的Diff算法進行講解,讓讀者能夠對整個數據結構以及相關的Diff算法有一定的瞭解。 Virtual DOM中Diff算法得到的結果如何映射到

原创 【譯】 WebSocket 協議第十一章——IANA 注意事項(IANA Considerations)

概述 本文爲 WebSocket 協議的第十一章,本文翻譯的主要內容爲 WebSocket 的 IANA 相關注意事項。 IANA 注意事項(協議正文) 11.1 註冊新 URI 協議 11.1.1 註冊 “ws” 協議 ws URI 定義

原创 從 IM 通信 Web SDK 來看如何提高代碼可維護性與可擴展性

本文內容概述 在架構設計和功能開發中,代碼的可維護性和可擴展性一直是工程師不懈的追求。本文將以我工作中開發的 IM 通信服務 SDK 作爲示例,和大家一起探討下前端基礎服務類業務的代碼中對可維護性和可擴展方面的探索。 本文不涉及具體的代碼和

原创 ReasonML——新的前端強類型語言簡介

背景介紹 從有前端到現在,JavaScript 語言一直都是實現前端邏輯的首選。但是,由於 JavaScript 是一個弱類型語言,很難進行相關的類型檢測。因此在構建大型應用時,使用 JavaScript 難免會遇到一些隱式類型轉換等相關的

原创 Promise進階——如何實現一個Promise庫

概述 從上次更新Promise/A+規範後,已經很久沒有更新博客了。之前由於業務需要,完成了一個TypeScript語言的Promise庫。這次我們來和大家一步一步介紹下,我們如何實現一個符合Promise/A+規範的Promise庫。 如

原创 小而美的Promise庫——promiz源碼淺析

背景 在上一篇博客[[譯]前端基礎知識儲備——Promise/A+規範](https://segmentfault.com/a/11...,我們介紹了Promise/A+規範的具體條目。在本文中,我們來選擇了promiz,讓大家來看下一個具

原创 正則表達式語法入門

概述 本文主要通過對正則表達式的語法進行一些簡單的介紹,從而讓沒有接觸過或者想學習正則表達式的同學有一個基礎的瞭解,從而能夠看懂和編寫使用一般的正則表達式。 本文的主要內容爲: 正則表達式的字符匹配 正則表達式的位置匹配 正則表達式的括號

原创 正則表達式高級進階

概述 本文主要通過介紹正則表達式中的一些進階內容,讓讀者瞭解正則表達式在日常使用中用到的比較少但是又比較重要的一部分內容,從而讓大家對正則表達式有一個更加深刻的認識。 本文的主要內容爲: 正則表達式回溯法原理 正則表達式操作符優先級 本

原创 WebSocket系列之字符串如何與二進制數據間進行互相轉換

概述 上一篇博客我們說到了如何進行數字類型(如Short、Int、Long類型)如何在JavaScript中進行二進制轉換,如果感興趣的可以可以閱讀本系列第二篇博客——WebSocket系列之JavaScript中數字數據如何轉換爲二進制數