✨
blog
  • Blog
  • Element-UI
    • 2019-09-04
  • JS
    • ES6 之 Set 和 Map
    • let 和 const 声明常见概念
    • 元编程
    • ES6之字符串的扩展
    • ES6 之异步流程的前世今生(上)
    • ES6之异步流程的前世今生(下)
    • ES6 之模块你知吗
    • ES6 之解构赋值与箭头函数的妙用
    • 迭代器
    • ES5 之原型(一)
    • ES6之类(二)
    • es7之装饰器
    • es6之数组详解
    • js之this指向
    • 对象
    • vue项目配合使用canvas联动
    • 本文解决痛点:对象里面是否有值
  • MAC
    • vue源码之method
    • Mac的使用技巧
    • 前文
    • Mac常用软件(二)
    • 如何查看 Mac 端口号以及占用情况
  • Node
    • Node之Buffer详解
    • 浏览器与 node 的事件循环(event loop)有何区别
    • Node之多线程
    • node之模块解析(一)
    • 错误捕获与内存告警
  • TS
    • Record
    • 使用方法
    • 工具泛型
    • 类型体操
    • 泛型
  • chrome
    • v8 引擎
    • v8 垃圾回收机制
    • 浏览器的知识
  • flutter
    • 路由
    • 页面布局
  • go
    • index
  • html&css
    • 两栏布局
    • ES5和ES6的区别
    • ES5 和 ES6 的区别
    • HTTP详解
    • TCP 与 UDP 的区别
    • MDN
    • css modules 使用教程
    • css 居中
    • 拖拽
    • flex布局
    • h5 新增特性 html5
    • history 与 hash 路由策略
    • position 定位方式
    • rem布局
    • svg
    • web性能优化
    • 事件循环
    • 从输入网址后发生了什么
    • 前端状态管理
    • 圣杯布局与双飞翼
    • 性能优化 页面的性能统计指标
    • 本地存储的几种对比
    • 浏览器的渲染进程
    • 浏览器缓存策略详解
    • 盒模型
    • 为什么要移动端适配
    • 跨域的 N 种实现方式
  • web3
    • 常见概念
    • vue项目配合使用canvas联动
  • webgl
    • Mac使用技巧(二)
    • Node之模块解析path
  • 代码库
    • documeng的一些常见操作
    • eventBus事件
    • jquery提交
    • jquery的一些常见操作
    • 常见操作
    • 数组polyfill
    • TS代码片段
      • 面试官眼中的test unit
  • 全年安排
    • AfterShip
    • 大企业
  • 函数编程题
    • Promise问题
    • 继承
  • 前端早早聊
    • vue生态
    • 开发一款VScode语言插件
    • 简历回顾和进行复盘
    • 重新认知性能优化及其度量方法
    • 2022-09-17-音视频专场.md
      • 2022-09-17-音视频专场
    • 前端晋升专场
      • 成长的诀窍是靠自己
      • 销销帮
    • 前端监控专场
      • 字节前端监控实践
      • 李港:大前端-从无到有搭建自研前端监控系统
    • 前端跳槽
      • 50个面试官在线招聘
      • 如何识别优秀的前端猎头来跳槽大厂
      • 面试套路
    • 支付宝
      • 面试
    • 管理专场
      • 芋头:管理者眼中的web技术发展前沿
    • 组件专场
      • 基于webCompents的跨技术组件库实践
    • 面试
      • 面试辅导问题
      • 早早聊面试
      • 前端沙箱是什么? 怎么实现沙箱环境?
  • 常见总结
    • 2018年终总结-年底了,你总结了吗?我先来
    • 在逆境中成长
    • 2021年终总结
    • 2024年全年总结
    • 项目
    • Tell2.0 前端复盘
    • 复盘
    • 前端工程师素养
    • 学习方法论
    • 希望与破晓| 2022 年终总结
    • 新起点, 新征途 | 掘金年度征文
    • 稳定| 2023 年终总结
    • 趁着有风快飞翔 | 2019 年终总结
    • AfterShip
      • Emotion:用 JavaScript 编写 CSS 的强大工具
      • 个人中长期目标
      • 事故复盘
      • 时间解析
      • 国内外区别
      • 独立站建设
    • MEIZU
      • NativeApp与H5通信原理
      • SSR 原理
      • SSR的常见问题
      • CLI
      • electron 应用发布流程
      • electron
      • electron 面试
      • 数据结构与算法之美
      • mgc 一期复盘
      • 架构原理
      • 喵币管理
      • 三期复盘总结
      • 异常监控之 sentry 实践
      • 微前端
      • qiankun 原理解析
      • 快游戏一期
      • 游戏中心复盘
    • 个人准则
      • index
    • 编程猫
      • pc 接入 micro bit 方案
      • prompt engineer
      • web work 跨域解析与解决方式
      • web 中的 ai
      • 低版本 node 环境下 ffmpeg 的使用
      • 关于 taobao 源 https 过期
      • 加密 json
      • 安卓 5 和 6 的白屏解决
      • 性能排查与优化实践
      • 探月接入
      • 接入硬件
      • 新生态下的state
      • monorepo 包管理方式
      • 自修复 npm 库
      • 音频的绘制
    • 谨启
      • 音视频
      • 小程序
        • taro 规范
        • 结合 mobx 在跳转前预请求
        • Taro 浅析用法与原理
        • 前文
        • 小程序优化指南
        • 小程序内部实现原理
        • 支付相关
    • tencent
      • TAPD
        • MathJax的食用
        • canvas渲染优化策略
        • 为什么 JavaScript 是单线程的呢?
        • svg 总是不对
        • 前端库
        • 原生端和js端如何通信
        • 在旧项目中复用vue代码
        • 提升自我
        • 批量编辑优化
        • 插入业务对象
        • 编辑器
        • 挂载点
        • 性能优化对比
        • 遇到的问题
        • 项目迁移公告
        • 领导力
      • 行家
        • 实战篇
        • 职业发展、领导力、个人成长
        • 高质量沟通
  • 慕课网
    • react-native原理
    • react-native学习
  • 杂文
    • Dom 节点变动检测并录制的简单实现
    • 错误监控&错误捕获
    • NextJS与NuxtJS
    • 负载均衡的几种常用方式
    • PM2
    • service worker 控制网络请求?
    • SSL 和 TLS 的区别
    • Babel 你太美
    • echart踩坑经验
    • keyup、keydown你都知道有什么区别吗
    • 常见概念
    • 首屏加载优化与性能指标分析
    • preload 和 prefetch 的详解
    • 在项目中配置这几个关系
    • roullp 解析
    • tinymce原理浅析
    • wasm 在前端的应用
    • websocket
    • webworker
    • 项目
    • 从 ajax 到 axios
    • 从postcss 到自己开发一款插件
    • 从输入浏览器到页面展示涉及的缓存机制
    • 代码整洁之道
    • 你知道什么是aop吗
    • 函数式编程
    • 函数式编程指南
    • 前端input框文字最大值
    • 攻坚战
    • 前端书写 sdk
    • 前端文字转语音播放
    • 前端领域的 Docker 和 Kubernetes
    • 前端安全
    • 前端进阶之内存空间
    • 前端音频浅析
    • 十分钟搞定多人协作开发
    • 字符串的比较
    • 尾递归
    • 前文
    • 常见的算法可以分为以下三类
    • 手机调试--mac篇
    • 数组的原生系列
    • COOP 和 COEP - 新的跨域策略
    • 浅谈react组件书写
    • 浏览器与 Node.js 事件循环的区别
    • 由三道题引伸出来的思考
    • 移动端300ms点击延迟
    • 移动端和pc端事件
    • Git 常见疑惑
    • 我们离发 npm 包还有多远
    • 重绘和重排
    • AI 时代下的前端编程范式
    • 音频可视化实战
  • 极客时间
    • Serverless入门课
    • 二分查找
    • 二叉树
    • 全栈工程师
    • 动态规划面试宝典
    • 前端与rust
    • 散列表
    • 前端方面的Docker和Kubernetes
    • 栈
    • 深入浅出区块链
    • 玩转 vue 全家桶
    • 玩转 webpack
    • 程序员的个人财富课
    • 算法
    • 说透元宇宙
    • 跳表
    • 链表
    • 10x 程序员工作法
      • index
    • Node开发实战
      • HTTP服务的性能测试
      • JavaScript语言精髓与编程实战
      • 什么是node。js
      • svg精髓
    • ReactHooks核心原理与实战
      • ReactHooks核心原理与实战
    • Rust
      • Rust编程第一课
      • 前置篇
      • 深度思维
      • 重构
      • 类型体操
      • 基础知识
    • WebAssembly入门课.md
      • 基础篇
      • SSR的注水和脱水
      • jsBriage通信原理
      • 基础知识篇
    • 互联网的英语私教课
      • 互联网人的英语私教课
    • 代码之丑
      • 代码之丑
    • 前端全链路优化实战课
      • 网页指标
    • 图解 Google V8
      • 图解 Google V8
    • 浏览器工作原理与实践
      • 浏览器工作原理与实践
    • 算法面试通关 40 讲
      • 算法面试通关40讲
    • 跟月影学可视化
      • index
    • 软件设计之美
      • 软件设计之美
    • 重学前端
      • js
  • 后续的文件增加都会增加到上面并以编号对应
    • 1029. 两地调度
    • 151.翻转字符串里的单词
    • 2022.3.15
    • 前端数据结构
    • 前端常见算法
    • 前端常见排序
    • 恢复一棵树
  • 设计模式
    • 前端常见设计模式之MVC与MVVM
    • 前端之代理模式
    • 前端常见设计模式之单例模式
    • 前端常见设计模式之发布订阅模式
    • 前端之工厂模式
    • 观察者模式
    • 前端常见设计模式之适配器模式
  • 译文
    • [译] 如何使用CircleCI for GitHub Pages持续部署
    • 您是否优化了 API 的性能
    • [译][官方] Google 正式发布 Flutter 1.2 版本
    • 什么是 Deno ,它将取代 NodeJS ?
  • 读后感
    • JavaScript二十年
    • 1368个单词就够了
    • js编程精解
    • labuladong 的算法小抄
    • lodash常用方法
    • vue的设计与实现
    • 所有的静态资源都是get请求
    • 人生
    • 人生护城河
    • 你不知道的JavaScript
    • 前端核心知识进阶
    • 华为工作法
    • 反脆弱
    • 好好学习
    • 左耳听风
    • 摩托车维修之道
    • 数学之美
    • 深入理解svg
    • 浏览器的ESM到底是啥
    • 经济学原理
    • 编程珠玑
    • 防御式 css 精讲
    • 韭菜的自我修养
  • 雪狼
    • 2022-07-17
    • 基础知识
    • 阶一课程
      • 实战辅导一
      • 实战辅导二
  • 嵌入式
    • 树莓派
      • 排序
  • 源码
    • React
      • 核心知识点
      • errorBoundaries
      • immutable.js 的实现原理
      • React.Suspense
      • react源码分析之Fiber
      • batchedUpdate
      • Component
      • Context
      • react 源码分析之 diff 算法
      • React 中的 key 属性:原理、使用场景与注意事项
      • 使用方式
      • react源码分析之memo
      • react 源码分析之mixin
      • 实战篇
      • react源码分析之react-dom
      • 使用方式
      • scheduleWork
      • useImperativeHandle的使用与原理
      • React 书写小技巧
      • 入口和优化
      • 合成事件和原生事件的区别
      • react 性能优化
      • 构建一个 hooks
      • 浅析 styled-components
      • 生命周期
      • 组合 vs 继承
      • 通信机制
      • 高阶组件
      • 慕课网
        • 应用篇
        • 课程导学
    • ReactHook
      • useCallback
      • useContext
      • useEffect 与 useLayoutEffect
      • useHook
      • useMemo
      • useReducer
      • 原理
      • useState
      • 总结
    • Redux
      • mobx 原理解析
      • redux-saga
      • redux-thunk
      • Mobx 和 Redux 对比
      • 使用方法
      • redux 原理
    • Vite
      • Vite原理
      • Vite配置
      • 热更新原理
      • vite 为什么生产环境用 Rollup
    • Webpack
      • PostCSS
      • Webpack5 核心原理与应用实践-loader
      • Webpack5 核心原理与应用实践-plugin
      • Webpack5 核心原理与应用实践
      • 区分
      • 升级详情
      • treeShaking(树摇Tree Shaking)
      • 编写一个自己的webpack插件plugin
      • 代码分离(code-splitting)
      • webpack 打包优化
      • 基础配置
      • webpack 打包优化
      • webpack 工作原理
      • webpack 按需加载原理
      • webpack 热更新 HMR(Hot Module Replacement)
      • 缓存
      • webpack 自定义 plugin
    • next
      • tailwind
      • 什么是水合
    • sveltejs
      • index
    • tinymce
      • 并发篇
    • 源码手写系列
      • create
      • call
      • bind
      • call
      • es6 单例
      • forEach vs Map
      • instanceOf
      • new
      • reduce
      • 取两个重复数组的交集
      • 函数柯理化
      • 动态规划
      • 基于Generator函数实现async
      • 新建 js 文件
      • 手写一个 slice 方法
      • 手写一个 webpack loader
      • Plugin
      • 手写一个寄生组合式继承
      • 二叉树
      • 链表相关的操作
      • 手动实现发布订阅
      • 数组去重
      • 数组扁平化
      • 数组
      • 构造大顶堆和小顶堆
      • 深浅拷贝 深拷贝
      • 两者对比
    • vue
      • vue2
        • vm.attrs与$listeners
        • vue 和 react 的 diff 算法比较
        • vue 源码分析
        • vue 优化的 diff 策略
        • extends
        • 核心原理篇
        • keep-alive
        • vue 源码分析之 mixins
        • vue 源码分析之 nextTick
        • vue之slot
        • vnode
        • vue 源码分析之 watch
        • 原理
        • vue 源码分析之transition
        • vue 源码分析之异步组件
        • 调用的是 watch
        • 安装
        • react源码分析之portals
        • event 的实现原理(事件的实现原理)
        • 什么是h
        • 分析provide 和 inject
        • vue 源码分析之 use
        • v-model
        • vue源码分析之vuex
        • 响应式原理
        • 初始化的流程
        • 组件更新
        • 编译
        • 父子组件生命周期
        • 原理
        • 多实例
        • Vue 面试
        • 源码研读一
        • 响应式原理
        • 常见问题
        • 数组的劫持
        • vue之自定义指令
        • 运行机制全局概览
      • vue3相比vue2的提升点
        • vue composition api
        • vue3的虚拟dom优化
        • vue3层面的双向数据绑定
        • 预处理优化
  • 重构
    • notification
      • 讲解
  • 面试
    • AfterShip经历
      • JS对URL进行编码和解码
      • ShippingLabelTemplate
      • 接入keycloak详解
      • reCAPTCHA接入
      • yalc与动态解决升级的依赖包
      • RBAC 简介
      • 多语言计划
      • 接入Google登录及其主动弹出快捷登录方式
      • 读书计划
        • 传染
        • 这就是OKR
    • 编程猫经历
      • 2024.1.16
      • 2025.2.20
      • 2025.2.21
      • 2025.2.26
      • 2025.3.28
      • 2025.3.3
      • 2025.3.7
      • 行动轨迹
      • 面试主观题
    • 腾讯经历
      • 2022.02.21
      • 2022.03.30
      • 2022.04.24
      • 2022.04.25
      • 2022.04.27
      • 2022.04.28
      • 2022.04.29
      • 2022.05.05
      • 不同公司的面试关注点不同
      • 2022.05.07
      • 2022.05.09
      • 2022.05.10
      • 2022.05.11
      • 2022.05.12
      • 2022.05.13
      • 2022.05.16
      • 2022.05.17
      • 2022.05.19
      • 2022.05.27
      • 面试
      • 行动轨迹
      • 面试主观题
    • 针对字节
      • 2022.05.14
      • 2022.05.17
      • HR面试准备
      • Promise的相关题目
      • React 进阶实践指南(二)
      • React 面试准备
      • vue 与 react 有什么不同 (react 和 vue 有什么区别)
      • TypeScript 全面进阶指南
      • cookie和session区别
      • express 面试准备 koa 中间件原理
      • next面试准备
      • requestCallBack
      • interface 与 type 异同点
      • 取消 promise
      • 如何设计一个前端项目
      • 进阶篇
      • 早早聊面试准备
      • 自动化部署
      • 挖掘项目的深度
      • 面试
      • 出题指数
    • 魅族经历
      • 2020.09.11
      • 一灯
      • 一灯
      • 一灯
      • 2020.09.20
      • 2020.09.21
      • 网易二面
      • 2020.09.23
      • 头条
      • 360 金融面试题
      • 富途一面
      • 算法
      • 字节
      • 2020.11.04
      • baidu 一面
      • meta 标签的作用
      • 字节
      • 2020.11.22
      • 2020.11.25
      • 微前端接入笔记
      • 面试的基本原则
由 GitBook 提供支持
在本页
  • 在这里我能学到什么
  • 我该怎么做
  • 做两件事情--
  • 你的直属上司,而不是你的绩效表现和做事的能力决定了你的生死。"大厂人要学会的第一项生产法则是向上管理、包装自己和抢地盘"
  • 产品矩阵
  • 单元测试
  • accounts
  • react 的路由部分和 lazy
  • organization 的代码组织形式和 business 的代码组织
  • react - redux 的几个概念
  • 给的对工作有帮助的工具
  • 有时候太想当然了,很多事情 要么是超出我的认知 ,要么就是在当时场景下或是合理或是不合理,但已造成的事实
  • 关于 jira 的故事点---来自 Thoughtworks 洞见
  • dispatching actions to the saga
  • storyblock
  • 总结下:storyblock 的几个要点
  • 老袁的课 要能够收回成本,其他人我管不了

这有帮助吗?

  1. 全年安排

AfterShip

  1. 早上 8-10 学习和总结: 启动 5w 的逻辑和其他的工作方法

  2. 中午开始处理工作

  3. 每天或者隔天清空 tab 页

  4. 提一下可以量化的指标 notion ==>看三四篇文章

  5. 维护一份单词翻译表和单词简写表


  1. 重新整理下备忘录里面的东西

在这里我能学到什么

  1. 技术 jest ts 细分一下 在极客时间 搞门 ts 的课程看看 能够写一下复杂的 ts 类型体操

  2. 通识 todo 1.英语的提升 --- 有环境 1. 看是否需要报班 ---x

2.思考一下 有没有回二线城市的成本=====>(至少能有首付房子的钱 才能回吧)

1.控制风险 2.接受现状 3.保持努力和思考

保持努力的状态,保持深度思考的习惯,苦练内功,让自己的每一天充实起来。这样等到机会来临之际才能抓住

摆脱低水平的「勤奋陷阱」,获得高水平的「反思能力」。


我该怎么做

  1. 总结: 从工具人进步到架构师的自我修养

  2. 面向巧合编程

  3. 小步拆分 稳扎稳打 从长而久到短而精的转变

4。学会某些工具链、技术栈、设计原则和软件工程方法

  1. 学习可以看看轮子, 生产环境少造轮子

  2. 对开源的反思是要敬畏开源,敬畏社区,在反馈中不断地成长,完善自身项目。

作正确的事情,并保持长期的耐心

  1. 不要事无巨细的请教老同学, 要有 owner 的心态

熟悉业务

熟悉部署结构

从问题中学习

遇到疑问要首先要自己做一个判断,不论判断的是否正确,经过一次思考后,对系统的理解将会上一个台阶。

如果是我应该怎么做

先了解业务 以及项目的运转模式

好的设计可以直接从工程的目录结构上了解到应用的模块分类,从命名上知道模块大致的作用,其次我们可以从 pom 文件、打包脚本、接口类等对应用模块以及提供的服务能力进行初步了解(这里以 Java 工程为例),同时进行到这一步后,我们可以将应用以及应用内模块的功能进行了一个整理,形成一个文档;这样当我们需要实现一个需求或者需要修 Bug 的时候,我们可以快速知道这个功能可能需要涉及哪些应用以及模块。

▐ 第一步,了解业务

在上手新项目前,如果对该项目所在的业务并不了解,那么先大致了解下整体业务,以及新项目在整体业务中所处的位置,能帮助你后续更快了解新项目。可以重点关注与新项目有关的上下游业务。

过程中可以产出:业务大图、整体业务流程图。

▐ 第二步:了解项目/产品

功能&流程:通过试用项目对应的产品先建立对项目功能和流程的初步概念。

技术架构:通过项目现有设计资料并结合表结构、重点功能代码、鹰眼调用链信息等了解新项目的技术架构。

过程中可以产出:项目业务流程图、系统架构图、数据模型、重点逻辑流程图。

▐ 第三步:了解技术栈

如果新项目是和前项目完全不同的技术栈,那么你还需要了解新项目所在的技术生态。通过开发一个小功能来了解和熟悉新项目的项目风格和依赖的技术产品是不错。

过程中要动手做记录, 可以画流程图, 可以记录文档。

1、低阶:先行动,看数据,再取舍

大多数人对生活的常态是「没想好」,没想好是做个快乐摸鱼仔还是当一线上进打工人,没想好为什么、是什么、是不是,而这些问题可能也想不出来。

这种时候更好的方法是:先看见,然后发现。可以先按 30 分钟的粒度记录下自己每天时间的花费,如:睡觉、工作、通勤、吃饭、读书、健身、发呆...记录完成后,看看自己的时间花在了哪里,分析下可以怎么更好的利用时间?哪个大块的时间可以来做之前想尝试的事情。

2、高阶:定目标,拆行动,管时间

知道自己想要什么且有明确目标的人,他们的行动和自我管理必自成体系。他们会将目标按年、月、周、日一层层拆解,按照 PDCA 的方法,看时间的分配、看关键事项的进度并及时调整。

用数据思维做时间管理,可以分为如下四步:

第一步:年目标设定。

第二步:月目标及周任务拆解。根据时间和进度,铺排未来 2 个月目标,再分解到每周 todo 的形式整理任务。

第三步:每日时间记录。

每日时间记录有两个思路:一侧重看时间的花费,二侧重看每天完成的事项。

1、看时间花费。

以时间轴方式记录时间,适合刚开始做时间记录的人,因为多数人每天日程差不多,这种记录方式看不到整体时间花费情况,不方便横向纵向比较。

2、看每天完成的事项。

根据年/月目标理出关键统计项,切换记录方式,着重记录关注事项的时间话费。

如果想养成习惯,建议从精细化的时间记录开始,有了一定的掌控力就可以把注意力放在事情本身。

第四步:数据反馈及调整。

统计不是目的,是为了调整和优化。

时间花费数据是最直接的反馈,我们要关注如下两点:

1、看投入的时间够不够?

2、如果时间足够,就关注方法和效率,发现问题解决问题逐步反馈。

并可视化方式来监控趋势及整体进度。根据图表的内容反馈实际执行情况,复盘调整。

另外,个人感觉纯粹记录还是挺难坚持的,还需要一些自我激励的办法可以根据自己的喜好设立激励机制,比如 3 个月、6 个月、1 年等不同节点给自己奖励,一个礼物、一顿大餐、一场说走就走的旅行。刚开始做时间记录时,2020 年我试着做了可视化的自我总结,成就感满满的,不信你看!

做两件事情--

todo 1.把备忘录代码部分迁移到 markdown 上面 2.把 notions 上面的东西迁移到 markdown

你的直属上司,而不是你的绩效表现和做事的能力决定了你的生死。"大厂人要学会的第一项生产法则是向上管理、包装自己和抢地盘"

产品矩阵

主站 WWW AfterShip AfterShip Protection 售后物流保证 AfterShip Green 碳排放 AfterShip Returns Center 退货中心 Postmen 自动化快递 自动化运输流程: 合作快递 usps fedex usps Automizely Marketing 自动营销 Automizely Dropshipping 自动待发货 Automizely Reviews 自动审核 Automizely Shopping 自动购物 Automizely Traffic 自动流量 免费广告 --- 广告联盟?? Automizely Loyalty 自动忠诚度 推荐计划 --- 全民营销?? Automizely Page Builder 自动页面构建器 --- 在 shopfiy 上面搭建页面 Automizely SMS 自动短信 AfterShip for Shoppers

company Customers 顾客 Partners 伙伴 Perks 津贴 Carriers 合作伙伴 Affiliates News Careers

AfterShip Apps & plugins Developers Glossary 电子商务词汇表

shopify 更像是微信一样的基座 aftership 是作为小程序一样 生长在上面的一个应用

这里面涉及到的电商平台 基本都是自建的 shopfiy WooCommerce magento

单元测试

jest js dom 浏览器环境的 nodejs 模拟 enzyme react 组件渲染和测试 nock 模拟 http 请求 istanbul 生成覆盖率

accounts

todo 1.svelte 的基础知识

特殊点:

  1. 更新值 赋值给数组和对象的 属性(properties) (例如,obj.foo += 1 或 array[i] = x)与对值本身进行赋值的方式相同。

function addNumber() {
  numbers[numbers.length] = numbers.length + 1;
}

一个简单的经验法则是:被更新的变量的名称必须出现在赋值语句的左侧。例如下面这个:

const foo = obj.foo;
foo.bar = "baz";

就不会更新对 obj.foo.bar 的引用,除非使用 obj = obj 方式。 2.属性 props 传值 接收部分-export let answer;

	import Info from './Info.svelte';

	const pkg = {
		name: 'svelte',
		version: 3,
		speed: 'blazing',
		website: 'https://svelte.dev'
	};
</script>

<Info {...pkg}/>

3.逻辑这块 有点像模板语法 if

{#if user.loggedIn}
	<button on:click={toggle}>
		Log out
	</button>
{:else}
	<button on:click={toggle}>
		Log in
	</button>
{/if}

{#if x > 10}
	<p>{x} is greater than 10</p>
{:else if 5 > x}
	<p>{x} is less than 5</p>
{:else}
	<p>{x} is between 5 and 10</p>
{/if}

each

{#each cats as cat, i}
	<li><a target="_blank" href="https://www.youtube.com/watch?v={cat.id}">
		{i + 1}: {cat.name}
	</a></li>
{/each}

如果你希望代码更加健壮,你可以使用 each cats as { id, name }来解构,用 cat.id 和 cat.name 来代替 id 和 name。 4.await 块

{#await promise}
	<p>...waiting</p>
{:then number}
	<p>The number is {number}</p>
{:catch error}
	<p style="color: red">{error.message}</p>
{/await}

应该是在模板层面去监听 promise 的状态,在修改相对应的模板显示

5.事件修饰符

<button on:click|once={handleClick}>
	Click me
</button>

所有修饰符列表:

preventDefault :调用 event.preventDefault() ,在运行处理程序之前调用。比如,对客户端表单处理有用。 stopPropagation :调用 event.stopPropagation(), 防止事件影响到下一个元素。 passive : 优化了对 touch/wheel 事件的滚动表现(Svelte 会在合适的地方自动添加滚动条)。 capture — 在 capture 阶段而不是 bubbling 阶段触发事件处理程序 () once :运行一次事件处理程序后将其删除。 self — 仅当 event.target 是其本身时才执行。

5.事件、 组件事件

<script>
	import Inner from './Inner.svelte';

	function handleMessage(event) {
		alert(event.detail.text);
	}

</script>

<Inner on:message={handleMessage}/>
-----------------------------------
<script>
	// setup code goes here
	import { createEventDispatcher } from 'svelte';

	const dispatch = createEventDispatcher();

	function sayHello() {
		dispatch('message', {
			text: 'Hello!'
		});
	}
</script>

<button on:click={sayHello}>
	Click to say hello
</button>

on:message 才有用 on:click 还没效果了

6.事件转发 多层嵌套的事件 Svelte 设立了一个简写属性 on:message。 message 没有赋予特定的值得情况下意味着转发所有 massage 事件:

<script>
	import Inner from './Inner.svelte';
</script>

<Inner on:message/>

7.支持 contenteditable

<div
	contenteditable="true"
	bind:innerHTML={html}
></div>

8.支持 todos

{#each todos as todo}
	<div class:done={todo.done}>
		<input
			type=checkbox
			bind:checked={todo.done}
		>

		<input
			placeholder="What needs to be done?"
			bind:value={todo.text}
		>
	</div>
{/each}

9.尺寸绑定 每个块级标签都可以对 clientWidth、clientHeight、offsetWidth 以及 offsetHeight 属性进行绑定:

<div bind:clientWidth={w} bind:clientHeight={h}>
	<span style="font-size: {size}px">{text}</span>
</div>

10.生命周期 onMount onDestroy beforeUpdate 函数实现在 DOM 渲染完成前执行。afterUpdate 函数则相反,它会运行在你的异步数据加载完成后。

11.store 只要一个对象正确的使用 subscribe ,它就是可以称之为 store。因此,使用特定语法来创建自定义 stores 变得非常容易。 可以使用 update set writable

13.组件--slot 如果 slot 里面有值,则外部引用为空的时候,才生效,否则只按传入的 slot 值 没看懂。。//

react 的路由部分和 lazy

organization 的代码组织形式和 business 的代码组织

区别: org 没有在 tsx 里面直接使用 actionSaga , 转而采用 useDispatch

react - redux 的几个概念

给的对工作有帮助的工具

有时候太想当然了,很多事情 要么是超出我的认知 ,要么就是在当时场景下或是合理或是不合理,但已造成的事实

关于 jira 的故事点---来自 Thoughtworks 洞见

故事点的本质是对复杂度的估计,而复杂度其实包含了两部分---难度和工作量

可能一个故事工作量并不大,但是难度比较大,需要处理复杂逻辑,复杂的验证等等;也有可能一个故事并不复杂,但是工作量比较大,比如一个简单的工作重复 20 次。这两种情况都可能使得一个故事的故事点变大。

时间 = 工作总量/速率

现在问题变成了速率哪里来,敏捷实践告诉我们——昨天的天气。理论上同一个团队上一个迭代的速率跟现在这个迭代的速率不会相差太大,于是我们可以假设当前迭代的速率与上一个迭代相等,但通常来说一个团队的速率本来就不是一成不变的:

  • 项目刚启动时由于大家需要熟悉业务上下文,熟悉技术栈,磨合工作方式,此时的速率不会太快,但是会处于一个慢慢上升的状态

  • 项目中期大家熟悉了这些情况,逐渐以一个稳定的速率向前跑

  • 此时 PM/TL 发现以当前速率往前跑在规定时间到之前烧不完所有故事点,可能会考虑加人

  • 由于新成员的加入,需要老成员分享一些业务和技术上下文,一起 pair 传递知识,这势必会拖慢团队速率

  • 然后团队将以比之前快一些的速率继续稳定前进

  • ......

于是整个项目工作总量的消耗和每个迭代消耗的工作量组成了敏捷项目管理最重要的两个图表 —— 燃尽图和速率图,它们可以告诉团队到底还需要多少时间能够完成项目,或者我们还能不能在某一时间点完成项目,时间这个关键指标就被“计算”出来了

--------------管理客户预期

dispatching actions to the saga

storyblock

www 项目

对应的 react-bootstrap 对应的是:bootstrap 的 4.x 版本

总结下:storyblock 的几个要点

  • css 用 emotion 写

  • 注意考虑 ssr 场景,因为可能遇到没有 useEffect 包裹起来

老袁的课 要能够收回成本,其他人我管不了

1W 里面的课程

上一页全年安排下一页大企业

最后更新于2个月前

这有帮助吗?

官网--

12.调试

14.特殊标签 svelte option ---

https://www.sveltejs.cn/tutorial/updating-arrays-and-objects
https://www.sveltejs.cn/tutorial/svelte-options
https://github.com/airbnb/javascript
https://www.notion.so/automizely/Unit-test-guideline-92ebdd8d1ab643cf87dfd2466c221b1d#2d3a693a7d2947fc9dcba68a3c2e7800
https://jestjs.io/zh-Hans/docs/mock-function-api#mockfnmockresolvedvaluevalue
https://www.notion.so/automizely/Top-100-SaaS-Activation-Ideas-8be8c7133fed43a3ae3dca87b1fcd76c