Lei Xia

Sr. Software Engineer | Solution Architect

抒写代码,尽享生活,筑就未来。

订阅 · 赞赏

avatar

leetcode(2) —— 两数相加

2019年9月12日 · 189 字 · 1 分钟

本文是力扣算法的第二篇,讲解两数相加问题。 Question 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。

leetcode(1) —— 两数之和

2019年9月12日 · 199 字 · 1 分钟

本文是力扣算法的第一篇,讲解两数之和问题。 问题 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。

NestJs学习之旅(9)——拦截器

2019年9月10日 · 405 字 · 2 分钟

本文是NestJs的第九篇,讲解拦截器。 拦截器是一个实现了NestInterceptor接口且被**@Injectable**装饰器修饰的类。 拦截器是基于AOP编程思想的一种应用,以下是常用的功能: 在方法执行之前或之后执行额外的逻辑,这些逻辑一般不属于业务的一部分 转换函数执行结果 转换函数执行时抛出的异常 扩展函数基本行为 特定场景下完全重写函数的行为(比如缓存拦截器,一旦有可用的缓存则直接返回,不执行真正的业务逻辑,即业务逻辑处理函数行为已经被重写) 拦截器接口 每个拦截器都需要实现NestInterceptor接口的**intercept()**方法,该方法接收两个参数。方法原型如下:

NestJs学习之旅(8)——管道

2019年8月28日 · 387 字 · 2 分钟

本文是NestJs学习之旅的第八篇,讲解管道。 管道 熟悉Linux命令的伙伴应该对“管道运算符”不陌生。 ls -la | grep demo “|” 就是管道运算符,它把左边命令的输出作为输入传递给右边的命令,支持级联,如此一来,便可以通过管道运算符进行复杂命令的交替运算。

NestJs学习之旅(7)——路由守卫

2019年8月27日 · 457 字 · 3 分钟

本文是NestJs的第七篇,讲解路由守卫。 传统的Web应用中去检测用户登录、权限判断等等都是在控制器层或者中间件层做的,而在目前比较推荐的模块化与组件化架构中,不同职责的功能建议拆分到不同的类文件中去。 通过前几篇的学习可以发现NestJs在这方面做的很好,传统的express/koa应用中,需要开发者去思考项目结构以及代码组织,而NestJs不需要你这样做,降低了开发成本,另外也统一了开发风格。 路由守卫 熟悉Vue,React的伙伴应该比较熟悉这个概念,通俗的说就是在访问指定的路由之前回调一个处理函数,如果该函数返回true或者**调用了next()**就会放行当前访问,否则阻断当前访问。

NestJs学习之旅(6)——异常处理

2019年8月26日 · 405 字 · 2 分钟

本文是NestJs的第六篇,讲解异常处理。 传统的异常处理 在前面的内容中我们介绍了NestJs的几大常用组件,但是有一点没有做出说明,当我们的应用需要中断此次请求且输出错误信息时,我们需要怎么做? 这个问题有两种解决办法: services层直接返回中断请求的响应对象,controller直接输出该对象即可

socks5协议详解

2019年8月24日 · 355 字 · 2 分钟

Socks5代理协议 或许你没听说过socks5,但你一定听说过SS,SS内部使用的正是socks5协议。 socks5是一种网络传输协议,主要用于客户端与目标服务器之间通讯的透明传递。 该协议设计之初是为了让有权限的用户可以穿过防火墙的限制,访问外部资源。 1. RFC地址 socks5协议规范rfc1928 socks5账号密码鉴权规范rfc1929 2.

NestJs学习之旅(5)——中间件

2019年8月23日 · 271 字 · 2 分钟

本文是NestJs学习之旅的第五篇,讲解中间件。 中间件 中间件是在路由处理程序之前调用的函数。中间件函数可以访问请求和响应对象。 使用过koa和express的朋友应该知道,中间件是一个很核心的功能,尤其是koa,核心就是中间件,连路由功能都是由中间件提供的。 中间件可以提供以下功能:

NestJs学习之旅(4)——模块系统

2019年8月22日 · 270 字 · 2 分钟

本文是NestJs学习之旅的第四篇,讲解模块系统。 模块 NestJs中模块是构建和组织业务单元的基本元素。使用@Module()装饰模块来声明该模块的元信息: 本模块导出哪些服务提供者 本模块导入了哪些依赖模块 本模块提供了哪些控制器 每个NestJs至少有一个跟模块,这个就是app.

NestJs学习之旅(3)——服务提供者

2019年8月21日 · 363 字 · 2 分钟

本文是NestJs学习之旅的第三篇,讲解服务提供者。 简介 服务提供者是NestJs一个非常重要的概念,一般来说,被装饰器@Injectable()修饰的类都可以视为服务提供者。服务提供者一般包含以下几种: Services(业务逻辑) Factory(用来创建提供者) Repository(数据库访问使用) Utils(工具函数) 使用 下文中将以Services来说明服务提供者的具体使用。