Ryder

Results 28 issues of Ryder

defaultTimeout = uint(time.Duration(5000) * time.Millisecond) Timeout: time.Duration(timeout) * time.Millisecond The last timeout is 1388h53m20s

Now Defaulttimeout is 1388h53m20s

对于经常使用 git 的人来说,很少有机会发现关于 git 的新东西。我最近发现在高级命令列表中增加了 2 个新功能: - git restore - git switch 为了理解为什么新增这两个命令,我们先回顾一下经常使用的 git checkout 这个命令。 ## Git checkout 有些新手刚开始使用 git checkout 时会感到困惑。这是因为它造成的结果依赖于传入的参数。 下面我们看一下 git checkout 的几个使用场景 - 切换本地分支,更准确的说法是,切换...

对于经常使用 git 的人来说,很少有机会发现关于 git 的新东西。我最近发现在高级命令列表中增加了 2 个新功能: - git restore - git switch 为了理解为什么新增这两个命令,我们先回顾一下经常使用的 git checkout 这个命令。 ## Git checkout 有些新手刚开始使用 git checkout 时会感到困惑。这是因为它造成的结果依赖于传入的参数。 下面我们看一下 git checkout 的几个使用场景 - 切换本地分支,更准确的说法是,切换...

## 前言 刚开始看 redux 时候,reducer、store、dispatch、middleware 这些名词都比较难以理解,后面接触了 vuex 就比较好理解了。本章会从零开始实现一个简单版本的状态管理器。方便大家今后理解 vuex 和 redux 的状态管理库的源码 ## 什么是状态管理器 一个状态管理器的核心思想是将之前放权到各个组件的修改数据层的 controller 代码收归一处,统一管理,组件需要修改数据层的话需要去触发特定的预先定义好的 dispatcher,然后 dispatcher 将 action 应用到 model 上,实现数据层的修改。然后数据层的修改会应用到视图上,形成一个**单向**的数据流。 ## 简单的状态管理器 本文会一步步的编写一个 Store 类,实现状态的同步更新、异步更新、中间件等方法。 首先,我们编写一个...

# 记 mysql 并发更新时的表锁问题 最近在做一个 nodejs 项目时遇到的一个基础的 mysql 问题,下面记录一下。 ### 问题 当对数据表中的数据做更新操作时,如果并发的对同一条数据进行更新,那么后面触发的会有一定概率更新失败。 ### 原因 mysql innodb 的行锁基于索引的,当我们执行下面这条更新语句时,会触发 mysql 的排它锁,如果更新还没完成,其他对于 id=1 的更新操作会执行失败 ```mysql update tableName set field = newField where id=1...

# SSL或TLS握手的概述 SSL或TLS握手建立了用于客户端和服务端通信的秘钥。 客户端和服务端SSL或TLS能够相互通信的基本步骤: - 确认使用协议的版本 - 选择加密算法 - 通过交换和验证数字证书对彼此进行身份验证 - 使用非对称加密技术生成共享密钥,避免了密钥分发问题。然后SSL或TLS使用共享密钥对消息进行对称加密解密,这比非对称加密更快 综上所述SSL握手的步骤如下: 1. SSL或TLS客户端先向服务端发送一个加密通信请求,叫做ClientHello请求。该请求包含以下信息: - 客户端支持的SSL或者TLS版本 - 客户端生成的随机数,用于生成后续通信的随机字符串("对话密钥") - 客户端支持的加密算法 2. SSL或TLS服务端收到客户端请求后,向客户端发出响应,叫做ServerHello。该响应包含以下信息: - 服务端从客户端提供的SSL或TLS列表中选择的版本 - Sesstion ID 和 另外生成的随机数...

network

# JavaScript中的执行上下文和堆栈是什么 在这篇文章中,将深入研究JavaScript最基本的部分之一,即执行上下文。在这篇文章的最后,你应该更清楚地理解解释器要做什么,为什么在声明一些函数/变量之前可以使用它们,以及它们的值是如何确定的。 ## 什么是执行上下文 当JavaScript代码运行时,执行代码的环境是相当重要的。一般有以下三种情况: - 全局代码 -- 代码首次开始执行的默认环境 - 函数代码 -- 每当进入一个函数内部 - Eval代码 -- eval内部代码执行时 把执行上下文看作是当前代码正在执行的环境/作用域 ```js // global context var sayHello = 'sayHello' function person() {...

basic

# 优化网站性能最佳实践 ## HTTP 方面 - 减少 HTTP 请求 - 合并文件 - CSS Sprites: 减少 image 的请求,将多个背景图片合并到一张图片,然后使用 CSS backgroud-image 和 backgroud-position 属性来展示这个大背景图片的一部分 - 内联图片: 使用 data: URL scheme 形式的图片格式,这样虽然增加减少了一次 http...

question
basic

# 简单讲解一下 http2 多路复用 多路复用是 http2 提供的一个功能,在同一个 tcp 连接中客户端和服务端都可以同时发送多个请求或回应。而且两端可以通过帧中的标识知道属于哪个请求。通过这个技术,可以避免 HTTP 旧版本中的队头阻塞问题,极大的提高传输性能。 ## 帧和流 HTTP/2 是一个二进制协议, 每一个请求和响应都有一个唯一的 id,叫做流 id。每个请求和响应的数据会被划分为帧。帧是二进制数据块,流id用于标识一个帧属于哪个请求或响应。流是具有相同流id的帧的集合。 要发出HTTP请求,客户端首先将请求划分为二进制帧,并将请求的流ID分配给帧。然后,它与服务端建立TCP连接。连接成功后客户端开始向服务端发送帧数据。一旦服务端准备好响应,它就将响应划分为帧,并为响应帧提供相同的响应流id。服务端以帧的形式发送响应。 在 HTTP/2 中给请求流和响应流分配唯一 id 是必须的,因为多个不同的请求会使用同一个 TCP 连接发送。所以流 id 可以标识出一个帧属于哪个请求或响应。这样就能同步的发送多个 http 请求而不造成阻塞。...

basic
network