目录
程序设计
- 撤销重做的程序设计
- 拖拽交互的程序设计
- 基于表达式的程序设计
- 有依赖的任务的几种执行方式
- 复杂 package 的几种实现方式
- 支持多个框架的 UI 组件设计
- 基于 HTTP 协议的 API 设计和取舍
- 权限设计
- 推送组件设计
- token 的设计
- OAuth2 和供第三方调用的 SDK 设计
- socket.io 的 room 设计
- 几种定时机制设计
- 一种防多用户操作引起冲突的设计
- 一类避免服务端大量定时器的思路
- 一种后台配置方案
- UI 组件间通信的几个解决方案
- js 的几种表示类型的工具
- 一个 web 渲染 target 抽象
测试和调试
语言特性
- Generator 函数的抽象
- 几个简单的函数式抽象的实现
- rust 的 ownership
- interface 和 trait
- 模式匹配
- async / await 方案
- map / reduce / filter 相关模式
- 需要 try catch 的场景
流程
总结
- 使用 Adobe CEP 开发 Photoshop 插件
- 前后端分离实践总结
- 前端构建过程实践总结
- web 安全总结
- vuejs, reactjs 和 angular 使用细节总结
- 封装总结
- js 工程师的能力总结
策略
- 保证接口兼容性的策略
- 后端的版本策略
- 数据备份和恢复策略
- nodejs 部署策略
- 扫雷游戏的策略
- js 项目的 package 版本策略
- 技术选型时的正交原则
- UI 组件拆分原则
- websocket 和 http 的权衡
- 重构升级旧 js 项目的思路
通信协议
结构
记录
数据
其它
- 使用 vuejs 实例而非 vuex 作为 store
- 基于 redis 的分布式锁
- 向 web 组件的 props 传入 web 组件的**
- 类型安全的物理量抽象
- tslint 规则相关
- 工作之外的自学思路
- typescript 类型系统的最佳实践
- 生成 html 页面的方式演化
- CORS 的 preflight
- ws 和 socket.io 传输数据的可靠性