• 理想中的组件化

    理想中的组件化

    Chrome 54+ Only!

  • 框架之外( Beyond Framework )

    随着前端的快速发展,从原来的简单交互到jQuery, 从 Kissy, YUIAngular, React, Vue等等。 我也曾想,这些技术的发展,什么是真正的发展?什么只是外表的改变? 关于真正的发展的这个问题,我的答案是:从原始的农耕 -> 到模块化 -> 再到组件化。组件化无疑是最近最大的进步与发展。 这篇文章,很大程度是 code-review理想中的组件化的延伸。

    • 组件化
    • 组件化愿景
    • 为什么是子集
    • 子集不够用怎么办
    • 要闹哪样
    • 数据绑定
    • 数据流的管理
    • 技术之外
  • Learning how to learn (Week 3)

    拖延和记忆

    • 拖延症
      • 治疗拖延症
      • 僵尸意识
      • 冲浪练习
      • 利用僵尸意识帮助自己
      • 应对生活和学习
      • 总结
    • 记忆
      • 深入探索记忆
      • 长期记忆
      • 创建组块技巧
      • 总结
  • 保护接口的几点想法

    基于接口行为判断IP是否为黑IP,以此来限制需要保护的接口。比如,发送短信接口,正常的接口行为是,调用广场接口,个人信息接口或商品详情接口,才可能调发送短信。如果不是,列入黑名单。

  • Debug Redux

    • 下载 Todos 样例
    • 添加 Debug 代码
    • 安装插件
    • 运行
  • Chrome Headless 小试

    该测试样例运行在 windows 上,是一次在 windows 上的 chrome headless 的测试。

    • 下载 Cancry 并安装
    • 开启 Chrome Debug
    • 编写测试脚本
    • 安装 chromeless 依赖
    • 运行测试样例
    • 样例截图
  • Symbol 概要和相关用法

    • Symbol 是唯一的
    • 无法使用 for 遍历
    • 获取 Symbol
    • Symbol.for
    • Symbol.keyFor
    • 重写 JS 语法的默认行为,跟 C++ 的操作符重载差不多的意思

  • 梳理:Event-Loop, Queue, Stack, Heap, Tasks, Microtask

    • Event Loop
    • Stack
    • Heap
    • Microtask
  • 汉诺塔(递归算法)回顾

    汉诺塔是一个典型的递归算法,当初在老师的带领下,顺利地AC了,之后碰到深度优先搜索广度优先搜索时,也用到了递归算法,也蛮好理解的,于是乎,这汉诺塔这道题算是过去了。如今,想起来,这道递归算法理解的还不是很清楚,于是重新仔细看一下。

    • 题目描述
    • 源码 & 解析
  • Promise & co 源码浅析

    之前写了一个超小的,Demo版的 Promise 。不过,出于严谨的考虑,也想更全面的了解一下 Promise 的实现,决定再读一读 Promise 的源码,顺便把 TJ 大神的 co 模块也简要分析一下。
    分析的这个 Promise 库,是github/fetch 中推荐的一个 polyfill 库,因为它比较小巧简单,但也兼容了 Promises/A+ 标准,所以,就决定分析这个库了:promise-polyfill

    • 自己的 Demo 版 Promise
    • promise-polyfill 简要流程图
    • co 模块简要流程图
  • koa 源码浅析

    kao 源码浅析:

    • use middleware
    • listen -> callback -> compose
    • handleRequest
    • createContext -> middleware -> response
  • pell: 小而美的富文本编辑器

    The simplest and smallest (1kB) WYSIWYG text editor for web, with no dependencies.
    浏览器端最简单、小巧、无第三方依赖的,所见即所得的文本编辑器。 This is exactly what I want. Github 地址.

  • seajs 源码浅析

    此文紧接requirejs 源码浅析,简要分析了一下seajs的核心加载代码。==,看代码也要趁热打铁~

    • resolve
    • pass
    • onload
    • load
    • fetch
    • use
  • requirejs 源码浅析

    requirejs 源码浅析

    • kitty.js - 简化版的 requirejs
    • requirejs 加载流程
    • AMD vs CommonJS vs UMD
    • UML 基础知识
  • Weex 踩坑之 Gif 加载

    Weex Gif 动画加载

    • 使用 FrescoImageAdapter 覆盖原有 ImageAdapter
    • 修改 FrescoImageAdapter,使其正常调用 onload 事件
  • Web Security in Github

    Web Security in Github

    • Content-Security-Policy
    • Public-Key-Pins
    • Strict-Transport-Security
    • X-Headers
  • PWA Practice

  • 使用Vue编写非单页应用 (Code non-SPA application in Vue)

    编写非单页应用:

    • 前言
    • 指定 webpack 输出形式为 UMD 模式
    • 编写自定义 webpack 插件,修改默认输出为 Vue.component
    • 页面引用和使用 Vue 组件
    • 在线预览 & 源码
  • 笔记补充:阿里、网易、滴滴共十次前端面试碰到的问题

  • 眼保健操

    眼保健操