# 千里之行,始于足下
Hi,我是大叔杨,一名前端开发者。我将在这个项目中记录总结和学习。希望我的笔记能给你带来一些帮助,也希望你能及时的指出笔记中的错误和不足。愿你我始终都在求知的路上勇往直前,也愿你我的内心始终装着一个少年!
你也可以点击这里 (opens new window)以获得更好的阅读体验。
若有疑问,可以通过邮箱(awarriorer@163.com)联系我
努力一点,生活更美好...
# 基础知识
# HTTP
- 一个请求都经历了些什么
- 一个请求中都包含了什么
- 常见请求状态码
- 浏览器缓存
- 浏览器请求限制
- 跨域解决方案
- 代理和反向代理
- 什么又是HTTPS
- 关于websocket
- HTTP简要成长史
- Api设计的一些见解
- HTTP前端性能优化
# 常用跨域方案
- Jsonp
- CORS
- Nginx-proxy
- Server-proxy
- Iframe-postmessage
- Iframe-window-name
- Cors-upload
- Iframe-form-postMessage-upload
# HTMl
# CSS
# 移动端
- 常用适配方案
- 输入框被遮挡
# JS基础
- String
- Boolean
- Number
- Object
- Map
- WeakMap
- Array
- Set
- WeakSet
- Date
- RegExp
- Function
- Math
- JSON
- BOM
- DOM
- Event
- Ajax
- Cookie & Storage
- File & FileReader
- Promise
- Async await
- Proxy
- Class
- Generator
- Js脑图
# Js 进阶
# 设计模式(Design Patterns)
- 前篇
- 创建模式
- 工厂模式(Factory)
- 单例模式(Singleton)
- 建造者模式(Builder)
- 结构模式
- 行为模式
# 前端框架
- Vue(v2.5.16) 源码分析
- 源码分析前的准备
- vue是什么(一)
- vue是什么(二)
- new vue时发生了什么
- 理解内部状态前的准备
- 组件内部状态
- 组件内部状态小结
- 模板编译都经历了那些什么
- 虚拟dom是什么?虚拟dom如何比对差异的
- $nextTick是怎么实现的?
- 生命周期中的各个环节都做了什么
- components是怎么实现的?
- 指令是怎么实现的?
- user 插件的原理
- vue单元测试
- Vue-router
- Vuex
# 构建工具
Grunt
- 常用配置
- 工作原理
- 如何写一个插件
Gulp
- 常用配置
- 工作原理
- 如何写一个插件
Webpack
- 常用配置
- 常用函数
- 工作原理
- 如何写一个bable
- 如何写一个插件
- 日常插件收集
- Flow.js
# TypeScript
# 单元测试
- Jasmine
- 测试静态文件
- 测试模块
- 测试vue组件
# Node
- Npm
- 日常命令
- package.json
- 工作原理
- 如何搭建一个npm服务
- 如何发布一个npm包
- Async
- Event
- Express
# 开发工具
- Chorme
- git 日常命令
- iterm2
- Charles
- 日常抓包
- 代理/替换请求
- Sublime
- VsCode
- EditorConfig
# Linux
- Linux日常命令
- Vim
# Nginx
# Docker
# Mysql
# 持续集成
- docker + jenkins