在业务开发中经常会使用枚举来定义一些业务常量,这确实可以让我们的代码变的干净和优雅,但是如果枚举使用不当的话很可能就会发生问题,这里分享一些关于枚举最佳实践。
Go语言HTTP服务生命周期
在 go 语言里启动一个 http 服务非常简单,只需要一行代码http.ListenAndServe()
就可以搞定,这个方法会一直阻塞着直到进程关闭,如果这个时候来了些特殊的需求比如:
- 监听服务启动
- 手动关闭服务
- 监听服务关闭
在 go 中应该怎么实现呢?下面来一一举例。
linux中访问运行中程序的输出
为什么HTTPS是安全的
1. HTTP 协议
在谈论 HTTPS 协议之前,先来回顾一下 HTTP 协议的概念。
1.1 HTTP 协议介绍
HTTP 协议是一种基于文本的传输协议,它位于 OSI 网络模型中的应用层
。
HTTP 协议是通过客户端和服务器的请求应答来进行通讯,目前协议由之前的 RFC 2616 拆分成立六个单独的协议说明(RFC 7230、RFC 7231、RFC 7232、RFC 7233、RFC 7234、RFC 7235),通讯报文如下:
- 请求
1 | POST http://www.baidu.com HTTP/1.1 |
- 响应
1 | HTTP/1.1 200 OK |
debian快速设置apt源
前言
使用 docker 的时候为了排查问题经常需要下载一些软件包,但是一般镜像中都没有vim
,如果直接用apt
官方源去下载,基本上就是下面这样:
这是因为没有更新源,需要通过apt-get update
进行更新,但是国内访问官方源的速度实在是太慢,要修改成国内的源镜像去加速,这里记录下没有vim
的情况下如何快速修改源地址。
使用清华大学镜像
1 | sed -i 's/deb.debian.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apt/sources.list |
- 更新和安装软件
1 | apt-get update |
使用cloudflare免费加速github page
我云了,原来wireshark可以抓HTTPS明文包
给博客的next主题升个级
Spring AOP调用本类方法没有生效的问题
背景
首先请思考一下以下代码执行的结果:
- LogAop.java
1 | //声明一个AOP拦截service包下的所有方法 |