博客园 - 草珊瑚
uuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=60010
2020-05-21T08:32:54Z
草珊瑚
https://www.cnblogs.com/samwu/
feed.cnblogs.com
https://www.cnblogs.com/samwu/p/12931645.html
前端git开发分支各种场景管理 - 草珊瑚
github flow场景 第一步:根据需求,从master拉出新分支,不区分功能分支或补丁分支。 第二步:新分支开发完成后,或者需要讨论的时候,就向master发起一个pull request(简称PR)。 第三步:Pull Request既是一个通知,让别人注意到你的请求,又是一种对话机制,大家
2020-05-21T08:33:00Z
2020-05-21T08:33:00Z
草珊瑚
https://www.cnblogs.com/samwu/
【摘要】github flow场景 第一步:根据需求,从master拉出新分支,不区分功能分支或补丁分支。 第二步:新分支开发完成后,或者需要讨论的时候,就向master发起一个pull request(简称PR)。 第三步:Pull Request既是一个通知,让别人注意到你的请求,又是一种对话机制,大家 <a href="https://www.cnblogs.com/samwu/p/12931645.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/samwu/p/12781800.html
RxJS Subject学习 - 草珊瑚
一个Observable的例子 输出 可以看到 Observable 对象可以被重复订阅。 Observable 对象每次被订阅后,都会重新执行。 一个Subject的例子 输出 可以看到 Subject 是 Observable 对象。 Subject 是保持内部状态的 Observable 对象
2020-04-26T11:40:00Z
2020-04-26T11:40:00Z
草珊瑚
https://www.cnblogs.com/samwu/
【摘要】一个Observable的例子 输出 可以看到 Observable 对象可以被重复订阅。 Observable 对象每次被订阅后,都会重新执行。 一个Subject的例子 输出 可以看到 Subject 是 Observable 对象。 Subject 是保持内部状态的 Observable 对象 <a href="https://www.cnblogs.com/samwu/p/12781800.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/samwu/p/12596010.html
微信小程序登陆流程(20200322) - 草珊瑚
客户端 开发版和测试版首次登录需要用户手动触发登录。比如点击指定登录组件 对应的事件处理 服务端 根据客户端传过来的 ,以及小程序注册时获取的 和`appSecret openId`和其它非敏感信息。 这个唯一标识 也可以作为你的业务系统中用户的唯一标识。
2020-03-29T15:49:00Z
2020-03-29T15:49:00Z
草珊瑚
https://www.cnblogs.com/samwu/
【摘要】客户端 开发版和测试版首次登录需要用户手动触发登录。比如点击指定登录组件 对应的事件处理 服务端 根据客户端传过来的 ,以及小程序注册时获取的 和`appSecret openId`和其它非敏感信息。 这个唯一标识 也可以作为你的业务系统中用户的唯一标识。 <a href="https://www.cnblogs.com/samwu/p/12596010.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/samwu/p/12370672.html
vue依赖收集的策略 - 草珊瑚
依赖收集的策略 遍历dom节点,找到正则匹配的{{}}所在节点,执行$watch方法。 $watch方法传入两个参数: 1.绑定的数据路径 2.回调函数 回调函数包含了对应的节点信息。 $watch方法的实现: 生成一个Watcher实例,用于收集依赖。 然后就把Watcher实例放入全局targe
2020-02-27T02:13:00Z
2020-02-27T02:13:00Z
草珊瑚
https://www.cnblogs.com/samwu/
【摘要】依赖收集的策略 遍历dom节点,找到正则匹配的{{}}所在节点,执行$watch方法。 $watch方法传入两个参数: 1.绑定的数据路径 2.回调函数 回调函数包含了对应的节点信息。 $watch方法的实现: 生成一个Watcher实例,用于收集依赖。 然后就把Watcher实例放入全局targe <a href="https://www.cnblogs.com/samwu/p/12370672.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/samwu/p/12155360.html
eggjs2.x版本异步获取config配置方案 - 草珊瑚
当前版本的生命周期都是同步代码,而且启动超时默认时间为30s。 所以不建议在生命周期内执行耗时操作。如果确定能在30s秒内搞定,可以搞。 非要执行的话,建议通过如下方式: 为什么可以这么操作? 因为 "eggjs的启动过程" 会加载两次config文件,一次在agent.js加载之前,一次是在app
2020-01-06T03:14:00Z
2020-01-06T03:14:00Z
草珊瑚
https://www.cnblogs.com/samwu/
【摘要】当前版本的生命周期都是同步代码,而且启动超时默认时间为30s。 所以不建议在生命周期内执行耗时操作。如果确定能在30s秒内搞定,可以搞。 非要执行的话,建议通过如下方式: 为什么可以这么操作? 因为 "eggjs的启动过程" 会加载两次config文件,一次在agent.js加载之前,一次是在app <a href="https://www.cnblogs.com/samwu/p/12155360.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/samwu/p/11969971.html
dubbo连接过程 - 草珊瑚
场景1 启动时 dubbo服务提供端在Zookeeper上注册的节点目录:假设接口名称是:com.bob.dubbo.service.CityDubboService dubbo服务提供端连接到注册中心,注册自身到 目录下,其节点信息参考如下。 其中第4个节点是临时节点。心跳检测超时zk会删除临时节
2019-12-02T05:15:00Z
2019-12-02T05:15:00Z
草珊瑚
https://www.cnblogs.com/samwu/
【摘要】场景1 启动时 dubbo服务提供端在Zookeeper上注册的节点目录:假设接口名称是:com.bob.dubbo.service.CityDubboService dubbo服务提供端连接到注册中心,注册自身到 目录下,其节点信息参考如下。 其中第4个节点是临时节点。心跳检测超时zk会删除临时节 <a href="https://www.cnblogs.com/samwu/p/11969971.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/samwu/p/11775506.html
计算机中对流的理解 - 草珊瑚
数据的表示 数据可通过二进制0或1表示。一个比特位可以表示0或1。 一个字节等于8个比特位。ascii编码规范是一个字符等于一个字节。 也就是说可以通过 这字符来表示数据。 流的表示 数据交换的过程就是流。这个过程的如下: 可以在缓冲区对流进行操作。 Java语言的Stream类,就是对这些操作进行
2019-11-01T02:16:00Z
2019-11-01T02:16:00Z
草珊瑚
https://www.cnblogs.com/samwu/
【摘要】数据的表示 数据可通过二进制0或1表示。一个比特位可以表示0或1。 一个字节等于8个比特位。ascii编码规范是一个字符等于一个字节。 也就是说可以通过 这字符来表示数据。 流的表示 数据交换的过程就是流。这个过程的如下: 可以在缓冲区对流进行操作。 Java语言的Stream类,就是对这些操作进行 <a href="https://www.cnblogs.com/samwu/p/11775506.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/samwu/p/11660830.html
Egg.js运行环境配置场景 - 草珊瑚
没有 和`EGG_SERVER_ENV`环境变量的场景 执行 ,默认读取 。 执行 ,默认读取 有 和`EGG_SERVER_ENV`环境变量的场景 优先级高于 。 比如,要为开发流程增加集成测试环境 SIT。将 设置成 sit(并建议设置 NODE_ENV = production,也可以不设置)
2019-10-12T04:30:00Z
2019-10-12T04:30:00Z
草珊瑚
https://www.cnblogs.com/samwu/
【摘要】没有 和`EGG_SERVER_ENV`环境变量的场景 执行 ,默认读取 。 执行 ,默认读取 有 和`EGG_SERVER_ENV`环境变量的场景 优先级高于 。 比如,要为开发流程增加集成测试环境 SIT。将 设置成 sit(并建议设置 NODE_ENV = production,也可以不设置) <a href="https://www.cnblogs.com/samwu/p/11660830.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/samwu/p/11517540.html
Promise和Observable的映射 - 草珊瑚
前言 0. promise解决了嵌套地狱的问题,Observable解决了promise只有一个结果,和不可以取消的问题。 1. 使用的是rxjs6版本。 2. 这篇文章是方便使用Observable的API替换Promise的API。 正常用法 then Promise.all Promise.r
2019-09-13T12:11:00Z
2019-09-13T12:11:00Z
草珊瑚
https://www.cnblogs.com/samwu/
【摘要】前言 0. promise解决了嵌套地狱的问题,Observable解决了promise只有一个结果,和不可以取消的问题。 1. 使用的是rxjs6版本。 2. 这篇文章是方便使用Observable的API替换Promise的API。 正常用法 then Promise.all Promise.r <a href="https://www.cnblogs.com/samwu/p/11517540.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/samwu/p/11319631.html
eggjs异常捕获机制 - 草珊瑚
1. 捕获异步链中的方法 2. 捕获跳出异步链的方法 3. 通过中间件拦截上个中间件的异常http code信息拦截 首先eggjs间件机制是一个洋葱模型。 洋葱模型解释如下: 请求先到gqlErrorHandler,再到graphql。 响应先从graphql,再到gqlErrorHandler。
2019-08-08T02:24:00Z
2019-08-08T02:24:00Z
草珊瑚
https://www.cnblogs.com/samwu/
【摘要】1. 捕获异步链中的方法 2. 捕获跳出异步链的方法 3. 通过中间件拦截上个中间件的异常http code信息拦截 首先eggjs间件机制是一个洋葱模型。 洋葱模型解释如下: 请求先到gqlErrorHandler,再到graphql。 响应先从graphql,再到gqlErrorHandler。 <a href="https://www.cnblogs.com/samwu/p/11319631.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/samwu/p/11161985.html
极客时间数据结构与算法之美笔记7 - 草珊瑚
链表节点插入 链表节点删除 上述两个链表操作,对于空节点或者最后一个节点场景,会有异常。 带有头节点(哨兵节点)的链表思路: 这个思路形似 。 即用 换`减少一个判断语句`。 不仅提高电脑运行速度,也减轻人脑阅读代码负担。 示例如下: 单链表反转 链表中环的检测 两个有序的链表合并 删除链表倒数第
2019-07-10T01:54:00Z
2019-07-10T01:54:00Z
草珊瑚
https://www.cnblogs.com/samwu/
【摘要】链表节点插入 链表节点删除 上述两个链表操作,对于空节点或者最后一个节点场景,会有异常。 带有头节点(哨兵节点)的链表思路: 这个思路形似 。 即用 换`减少一个判断语句`。 不仅提高电脑运行速度,也减轻人脑阅读代码负担。 示例如下: 单链表反转 链表中环的检测 两个有序的链表合并 删除链表倒数第 <a href="https://www.cnblogs.com/samwu/p/11161985.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/samwu/p/11074819.html
JS项目快速压缩(windows平台) - 草珊瑚
问题 当下JS项目都有node_modules,从而项目文件多,容量大。 如何快速压缩一个JS项目? 方法 首先对JS项目安装生产环境的依赖 。 这时不要用 。 因为cnpm对依赖的安装做了优化(添加一些包的快捷方式),而这个优化对于压缩软件来说是个问题。 我们得多线程。 windows平台有 "W
2019-06-23T15:06:00Z
2019-06-23T15:06:00Z
草珊瑚
https://www.cnblogs.com/samwu/
【摘要】问题 当下JS项目都有node_modules,从而项目文件多,容量大。 如何快速压缩一个JS项目? 方法 首先对JS项目安装生产环境的依赖 。 这时不要用 。 因为cnpm对依赖的安装做了优化(添加一些包的快捷方式),而这个优化对于压缩软件来说是个问题。 我们得多线程。 windows平台有 "W <a href="https://www.cnblogs.com/samwu/p/11074819.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/samwu/p/10879765.html
JS项目快速压缩(windows平台) - 草珊瑚
问题 当下JS项目都有node_modules,从而项目文件多,容量大。 如何快速压缩一个JS项目? 方法 首先对JS项目安装生产环境的依赖 。 这时不要用 。 因为cnpm对依赖的安装做了优化(添加一些包的快捷方式),而这个优化对于压缩软件来说是个问题。 我们得多线程。 windows平台有 "W
2019-05-17T01:58:00Z
2019-05-17T01:58:00Z
草珊瑚
https://www.cnblogs.com/samwu/
【摘要】问题 当下JS项目都有node_modules,从而项目文件多,容量大。 如何快速压缩一个JS项目? 方法 首先对JS项目安装生产环境的依赖 。 这时不要用 。 因为cnpm对依赖的安装做了优化(添加一些包的快捷方式),而这个优化对于压缩软件来说是个问题。 我们得多线程。 windows平台有 "W <a href="https://www.cnblogs.com/samwu/p/10879765.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/samwu/p/10730285.html
Maven工程的POM继承 - 草珊瑚
父POM的作用是消除配置的重复。 父POM必须 。 还有 来指定这些子模块可以一起构建。 一起构建是指,构建父模块的同时把子模块也构建了。 子POM通过 找到父POM文件,来继承父POM文件的属性。 其中,子POM无条件继承父POM的dependencies元素。 子POM的dependencies
2019-04-18T08:12:00Z
2019-04-18T08:12:00Z
草珊瑚
https://www.cnblogs.com/samwu/
【摘要】父POM的作用是消除配置的重复。 父POM必须 。 还有 来指定这些子模块可以一起构建。 一起构建是指,构建父模块的同时把子模块也构建了。 子POM通过 找到父POM文件,来继承父POM文件的属性。 其中,子POM无条件继承父POM的dependencies元素。 子POM的dependencies <a href="https://www.cnblogs.com/samwu/p/10730285.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/samwu/p/10572568.html
Docker构建一个node镜像 - 草珊瑚
0. 设置国内docker镜像源 进入 ,添加如下配置。 点击Apply,等待Docker重启。 1. 拉取官方alpine最新版本镜像 2. 新建一个Dockerfile文件 3. 设置Docker的Settings的Shared Drives 进入 勾选共享的硬盘,输入系统登录的用户名和密码,点
2019-03-21T08:35:00Z
2019-03-21T08:35:00Z
草珊瑚
https://www.cnblogs.com/samwu/
【摘要】0. 设置国内docker镜像源 进入 ,添加如下配置。 点击Apply,等待Docker重启。 1. 拉取官方alpine最新版本镜像 2. 新建一个Dockerfile文件 3. 设置Docker的Settings的Shared Drives 进入 勾选共享的硬盘,输入系统登录的用户名和密码,点 <a href="https://www.cnblogs.com/samwu/p/10572568.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/samwu/p/10360943.html
win10家庭版安装Docker for Windows - 草珊瑚
0. 背景 硬件:小米笔记本 Air 13/Inter Core i7 7500U 操作系统:Windows 10 家庭中文版 补丁:截止2019/1/25最新稳定补丁 Docker:Docker Windows 18.06.1 ce win73 1. 开启Hyper V 新建 文件,内容如下: 以
2019-02-11T01:59:00Z
2019-02-11T01:59:00Z
草珊瑚
https://www.cnblogs.com/samwu/
【摘要】0. 背景 硬件:小米笔记本 Air 13/Inter Core i7 7500U 操作系统:Windows 10 家庭中文版 补丁:截止2019/1/25最新稳定补丁 Docker:Docker Windows 18.06.1 ce win73 1. 开启Hyper V 新建 文件,内容如下: 以 <a href="https://www.cnblogs.com/samwu/p/10360943.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/samwu/p/10239641.html
linux,vim和bash命令小册 - 草珊瑚
<! 已同步到简书 linux命令 | 命令 | 功能 | | | | | |进入old文件夹 | |当前文件列表(包含隐藏文件) | | 删除old文件夹(包含子文件夹) | | 新建old文件夹 | | 显示当前包含node的进程名称 | | 删除old目录下的,所有子目录中,后缀为.l的文件
2019-01-08T08:21:00Z
2019-01-08T08:21:00Z
草珊瑚
https://www.cnblogs.com/samwu/
【摘要】<! 已同步到简书 linux命令 | 命令 | 功能 | | | | | |进入old文件夹 | |当前文件列表(包含隐藏文件) | | 删除old文件夹(包含子文件夹) | | 新建old文件夹 | | 显示当前包含node的进程名称 | | 删除old目录下的,所有子目录中,后缀为.l的文件 <a href="https://www.cnblogs.com/samwu/p/10239641.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/samwu/p/10118041.html
vue文档阅读笔记——计算属性和侦听器 - 草珊瑚
页面链接:https://cn.vuejs.org/v2/guide/computed.html 注意点 计算属性用于 替代模板内的表达式。 如果计算属性所依赖的属性未更新,会返回自身的缓存。 侦听器无法侦听对象或者数组,使其作用范围有限。
2018-12-14T02:34:00Z
2018-12-14T02:34:00Z
草珊瑚
https://www.cnblogs.com/samwu/
【摘要】页面链接:https://cn.vuejs.org/v2/guide/computed.html 注意点 计算属性用于 替代模板内的表达式。 如果计算属性所依赖的属性未更新,会返回自身的缓存。 侦听器无法侦听对象或者数组,使其作用范围有限。 <a href="https://www.cnblogs.com/samwu/p/10118041.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/samwu/p/10078159.html
nodejs的jekins部署 - 草珊瑚
第一步 gitlab项目仓库给jekins服务器分配一个账号develop权限用于拉取代码。 分支为master。 第二步 jekins配置打包脚本。 思路就是拉取最新代码后,安装相关依赖。 删除旧打包文件。 新建打包文件 。 第三步 通过SSH传输打包文件 到测试服务器指定目录。 执行脚本进行部署
2018-12-06T09:49:00Z
2018-12-06T09:49:00Z
草珊瑚
https://www.cnblogs.com/samwu/
【摘要】第一步 gitlab项目仓库给jekins服务器分配一个账号develop权限用于拉取代码。 分支为master。 第二步 jekins配置打包脚本。 思路就是拉取最新代码后,安装相关依赖。 删除旧打包文件。 新建打包文件 。 第三步 通过SSH传输打包文件 到测试服务器指定目录。 执行脚本进行部署 <a href="https://www.cnblogs.com/samwu/p/10078159.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/samwu/p/9945212.html
`vue-router`的`History`模式下的项目发布 - 草珊瑚
背景 脚手架版本号: 项目路由: 的`History`模式 原理:url路由处理逻辑从后端转移到前端。 参考:https://developer.mozilla.org/zh CN/docs/Web/API/History_API 安装nginx 参考:https://www.cnblogs.com
2018-11-12T02:52:00Z
2018-11-12T02:52:00Z
草珊瑚
https://www.cnblogs.com/samwu/
【摘要】背景 脚手架版本号: 项目路由: 的`History`模式 原理:url路由处理逻辑从后端转移到前端。 参考:https://developer.mozilla.org/zh CN/docs/Web/API/History_API 安装nginx 参考:https://www.cnblogs.com <a href="https://www.cnblogs.com/samwu/p/9945212.html" target="_blank">阅读全文</a>