kubectl常用命令

kubectl是由Kubernetes提供,使用Kubernetes API与Kubernetes集群的控制平面进行通讯的命令行工具。熟练使用kubectl常用命令将能大大提高Kubernetes相关问题的排查效率。

备注:以下是以Windows作为本地机器的命令使用说明。

阅读全文

常用的Linux命令

当今各种线上运行系统的服务大多数都是基于Linux环境部署的,那么掌握一些Linux常用的命令,将会大大提高日常的开发工作以及线上问题的排查的效率。

搜索执行过的历史命令

  • Ctrl+R:可以根据输入的内容搜索最近一次执行过的相关命令,再次按下Ctrl+R可以继续搜索更早的命令;

阅读全文

Windows本地搭建nuget包源

在项目开发中,有时我们需要封装一个类库来供其他的项目或服务使用,在正式发布类库的nuget包之前,一般我们会在本地写个Demo或者本组的其他服务需要使用这个类库,这时在本地搭建一个nuget package源,并将新的nuget包上传上去,如此一来在本地进行调试和修改类库代码就方便的多。接下来我们看下如果在本地生成nuget包,如何将其添加到本地搭建的nuget包源,以及如何使用本地nuget包。

阅读全文

单元测试中如何通过Moq测试ILogger方法

在项目中我们一般不会对日志逻辑进行测试,但是对于一些相对重要的场景,希望日志必须被记录,那可以通过单元测试来保证。接下来我们看下如何对logger.Log方法进行单元测试。

实例

阅读全文

如何对HttpResponse.OnStarting()进行单元测试

之前一篇AspNetCore服务端读写浏览器Cookie里使用了HttpResponse.OnStarting()方法通过注册回调来实现往Response里写入cookie。本篇我们看一下如何对其进行单元测试。

阅读全文

AspNetCore服务端读写浏览器Cookie

现在大部分的Web网站都应该采用了前后端分离的架构,所以一般服务端都不用处理浏览器cookie相关的逻辑,前端根据需要将cookie数据以特定Http Request Header/Body的形式传给服务端API,并将API返回的Http Response Header以及Body的内容按需写入cookie。但凡事总有例外,如果前端和后端都是按照不同的功能模块以微服务的架构进行拆分,那么前端的多个不同页面很可能是由多个不同的开发团队来进行开发和部署的。对于某个特定模块的后端API被多个不同的前端页面调用,而该后端API若想通过浏览器cookie来在客户端和服务端之间保持一个特定的状态标识,就需要考虑如何实现可以将改动的范围限制在最小。一般情况下浏览器发起API请求默认都会带上cookie(跨域请求也可以主动传递cookie),所以主要改动还是各个页面将API返回的状态标识回写到cookie。为了不让调用API的每个页面(团队)都增加回写cookie的逻辑,可以仅在该服务端进行cookie更新设定,这样只需要修改一处,主要就是借助Http Response的Set-Cookie来实现。

阅读全文

(四)配置AspNetCore gRPC使用HTTP

gRPC是基于HTTP2的,同时支持Http和Https协议。在开发环境,AspNetCore gRPC模板项目默认是使用TLS的,并通过开发证书来提供Https访问,这就是我们在(一)AspNetCore集成gRPC体验中遇到的,当第一次运行gRPC服务时,会看到一个提示安装和信任证书的确认框。

阅读全文

(三)通过AspNetCore客户端访问AspNetCore Grpc服务

上一篇(二)通过.Net控制台客户端访问AspNetCore Grpc服务我们知道如何通过.Net控制台客户端访问AspNetCore Grpc服务,本篇我们一起来看下如何通过AspNetCore客户端访问Grpc服务。

阅读全文

(二)通过.Net控制台客户端访问AspNetCore Grpc服务

通过前一篇(一)AspNetCore集成gRPC体验,我们创建了一个AspNetCore gRPC服务,现在我们就来看下如何通过.Net控制台客户端来访问gRPC服务的SayHello方法[1]

阅读全文

通过SSH连接GitHub

之前一直使用账号密码的方式连接GitHub,进行远程仓库代码的拉取和推送,因为账号密码认证的小窗口会记住账号密码,所以感觉也还挺方便的。不过GitHub出了新规:Git操作的身份验证将放弃密码[1],改用令牌或SSH密钥[2]。下面截图是博主最近使用密码进行GitHub认证后,GitHub注册邮箱收到的一封提醒邮件。

阅读全文