- 博客(17)
- 收藏
- 关注
原创 浅谈Koa的实现和原理
浅谈Koa的实现和原理前言koa被认为是第二代node web framework,它最大的特点就是独特的中间件流程控制,是一个典型的洋葱模型。koa和koa2中间件的思路是一样的,但是实现方式有所区别,koa2在node7.6之后更是可以直接用 async 来替代 generator 使用中间件,本文以最后一种情况举例。级联级联就是对象之间的映射关系。映射关系就是一对一、一对多、...
2020-03-08 21:15:04
946
翻译 基于HTTP的请求方式总结
请求方式CONNECT在 HTTP 协议中,CONNECT 方法可以开启一个客户端与所请求资源之间的双向沟通。它可以用来创建隧道(tunnel)。例如,CONNECT 可以用来访问采用了 SSL (HTTPS) 协议的站点。客户端要求代理服务器将 TCP 连接作为通往目的主机隧道。之后该服务器会代替客户端与目的主机建立连接。连接建立好之后,代理服务器会面向客户端发送或接收 ...
2020-03-07 16:12:27
333
原创 LeetCode 之 14
- 题目编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""。示例1:输入: ["flower","flow","flight"]输出: "fl"示例2:输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。说明:所有输入只包含小写字母a-z。...
2019-08-20 01:27:51
147
原创 LeetCode 之 1
- 题目给定一个整数数组 nums和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返...
2019-08-19 11:16:49
128
原创 Node 之 node-schedule 定时器
## node-schedule- 安装npm install node-schedulecnpm install node-schedule- 使用范围规定在一天、一个星期、一个月,某一个特定的时间进行重复性的操作,加下来的每一天、每一个星期、每一个月都会进行一样的操作,在特定的时间。如果是在小范围时间内 例如 3 秒钟,每 3 秒钟进行一次重复的事情,就可以用setI...
2019-08-18 00:49:00
400
原创 Javascript 之 Promise 函数浅谈
## Promise由于 JavaScript 是一个单线程的语言,其中就存在着很大的异步问题,存在异步的代码都是有漏洞的。有时候可能无法按照我们正常的逻辑思维执行代码,这就是异步的锅。通过 Promise 可以很好的控制这种情况, Promise 函数有两个参数 reject 和 resolve- reject表示拒绝,就意味着执行不成功,由 Promise 函数携带的一系列后续...
2019-08-17 21:30:18
163
原创 LeetCode 之 367
题目给定一个正整数 num,编写一个函数,如果 num 是一个完全平方数,则返回 True,否则返回 False。说明:不要使用任何内置的库函数,如 sqrt。示例 1:输入:16输出:True示例 2:输入:14输出:False题目分析- 牛顿迭代法 (num + s / num) / 2首先,我们认为我们从完全平方数和非完全平方数的特性...
2019-08-14 20:31:47
138
原创 LeetCode 之 65
题目实现int sqrt(int x)函数。计算并返回x的平方根,其中x 是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例 1:输入: 4输出: 2示例 2:输入: 8输出: 2说明: 8 的平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。题目分析- 二分查找的方法由...
2019-08-13 22:16:06
112
原创 LeetCode 之 50
输入: 2.10000, 3输出: 9.26100示例3:输入: 2.00000, -2输出: 0.25000解释: 2-2 = 1/22 = 1/4 = 0.25说明:-100.0 <x< 100.0n是 32 位有符号整数,其数值范围是[−231,231− 1] 。题目分析- 如果 n 为负数,则是 1 / 正...
2019-08-13 22:07:06
75
原创 JavaScript 位运算符
##位运算符该篇文章主要针对 位操作符对整数的操作。ECMAScript 中所有的数值都以 IEEE-754 64位格式存储,位操作符并不是直接对64位数据操作,提前转化为 32 位数据,再进行操作。首先我们需要知道32位的数据它们各个位置所代表的意义,32位中前31位代表着数字的部分,32位代表符号。0为正数,1为负数。负数是通过补码进行存储的,想了解补码机制,请自己手动百度。# N...
2019-08-08 23:21:06
97
原创 Node 之 fs 基本模块
## fs 基本模块学习首先我们需要知道 fs 基本模块是做什么的,其中有哪些 API 给我们使用,这些 API 的作用是什么。这三点是我们需要掌握的。提升需要找到这些 API 的原理,运用的场景与不同之处,我们先进行基础的学习。# fs 基本模块的作用在了解 fs 基本模块的基本作用的时候,我们需要了解到 JavaScript 是一个单线程的模型,不能同时进行多步操作。这里就存在了 ...
2019-08-06 21:47:52
167
原创 JavaScript 变量的解构赋值
## 变量的解构赋值原先 js 都是一一对应赋值的关系,现在通过 ES6 js 可以进行解构的赋值,何为解构赋值,按照一定结构的匹配然后进行赋值。进行解构赋值,必须得 Iterator 接口。解构赋值可以拥有默认值,ES6 严格执行 === 判断,且 undefined 会触发解构赋值的默认值。解构赋值可以是数组、对象、字符串、数字、函数等/** * ES6 新增写法 */let ...
2019-08-05 21:13:32
192
原创 JavaScript 对象详解
##对象#对象是一个复杂的原始类型1. 对象是一个可以自行动态添加属性的类型 2. 对象的属性是无序的 3. 对象的属性有许多的权限设置(writable enumerable configurable value get/set) 4. 对象还有原型链,可以获取原型里的属性值[[proto]] 5. 对象还有 [[class]] 表示属于那个种类的 [[extensible]] ...
2019-08-03 23:13:37
141
原创 JavaScript 下的严格模式与非严格模式的对比
## 严格模式的注意事项严格模式建议再开头设置,或者在作用域内进行设置,若在使用 'use strict' 的时候前面的出现 非字符串的语法 严格模式将会失效,相当于没有设置严格模式。// var mm = 1;'use strict';with ({x:1}){console.log(x);}1. 不允许使用withwith ({x:1}){...
2019-08-01 16:29:48
244
原创 Javascript 类型注意与类型检测
##类型检测#typeoftypeof 方式进行检测, typeof 方式适用于基本类型 number,Boolean,string,undefined,function 但是面对 null 值时,返回值会是 object。 面对 检测 null 值 会返回 object 的问题,是由于历史问题,在规范标准内没有将 null 返回值设置为 null。# obj instanceof...
2019-07-30 21:56:39
96
原创 LeetCode 之 875
Koko loves to eat bananas. There are Npiles of bananas, the i-thpile has piles[i] bananas. The guards have gone and will come back in H hours.Koko can decide her bananas-per-hour eating speed of...
2019-07-27 21:49:47
200
原创 Java线程基础(一)
Java线程基础(一)Java主要是通过java.lang.Thread类和java.lang.Runnable接口实现线程机制的。java.lang.Thread类当中实现了java.lang.Runnable接口。Runnable接口为关联的Thread对象的线程提供了执行的代码,这些代码写在run()方法内,该方法为void类型无返回值。package threadAndRu...
2019-05-07 12:04:38
193
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人