自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (2)
  • 收藏
  • 关注

原创 golang并发学习及实战记录

一、切片append方法不是原子操作多个协程操作同一个切片,使用append方法添加元素时,存在并发安全问题,需要对append方法加锁func example() { // 添加互斥锁 var lock sync.Mutex eg := errgroup.Group{} res := make([]int, 0) for i := 0; i < 100; i++ { eg.Go(func() error { lock.Lock() // 加锁 res = append(

2021-10-10 22:55:01 274

原创 Win10部署Authelia(OAuth2授权框架)

一、安装docker二、下载authelia代码# 下载代码并切换到本地运行例子git clone https://github.com/authelia/authelia.gitcd authelia/examples/compose/local三、配置相关参数打开configuration.yml查看配置具体参数详解可查看: https://www.authelia.com/docs/configuration/1、访问控制access_control: default_po

2021-10-10 15:46:31 2448

原创 golang中的context

一、Context含义1、context定义context是golang中的上下文。goroutine的相关环境快照,其中包含函数调用以及涉及的相关的变量值。golang通过Context机制解决一个request中多个goroutine之间的交互问题。相互调用的goroutine之间通过传递context变量保持关联,这样在不用暴露各goroutine内部实现细节的前提下,有效地控制各goroutine的运行。Context设计成是包含父子关系的,如此一来,通过传递Context就可以追踪gor

2021-09-05 14:58:28 1464

原创 golang-测试

一、代码覆盖率和性能测试1、代码覆盖率代码:# 将代码覆盖率报告输出到c.out文件中$ go test -coverprofile=c.out# 查看代码覆盖率$ go tool cover -html=c.out效果:// 测试方法对这段代码的代码覆盖率func twoSum(nums []int, target int) []int { m := make(map[int]int) for i, num := range nums { if val, ok := m[tar

2021-09-05 10:47:08 135

翻译 设计模式学习笔记-行为型模式(下)

七、观察者模式1.作用当对象间存在一对多关系时,则使用观察者模式。比如,当一个对象被修改时,则会自动通知依赖它的对象。2.举例1、创建 Observer 类type Observer interface { Notify(interface{})}2、创建 Subject 类type Subject struct { observers []Observer state string}func (s *Subject)SetState(state string) {

2021-08-04 14:06:08 88

翻译 设计模式学习笔记-行为型模式(上)

设计模式golang-行为型模式(上)一、责任链模式1.作用意图:避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止。主要解决:职责链上的处理者负责处理请求,客户只需要将请求发送到职责链上即可,无须关心请求的处理细节和请求的传递,所以职责链将请求的发送者和请求的处理者解耦了。2.举例1、定义处理请求接口// 处理事件type ScreenEvent struct { Type string Comment s

2021-08-04 14:04:08 103

翻译 设计模式学习笔记-创建型模式

设计模式golang-创建型模式一、工厂模式1.作用定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。2.举例1、定义接口//笔type pen interface { //写字 Write()}2、创建实现接口的结构体type pencil struct {}func (p *pencil) Write() { fmt.Println("铅笔")}type brushPen struct {}func (p *br

2021-07-03 21:56:44 95

翻译 设计模式学习笔记-结构型模式

设计模式golang-结构型模式一、适配器模式1.作用将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。2.举例已经存在的接口//不可充电电池使用接口type NonRechargeableBattery interface { Use()}客户希望的接口//可充电电池使用接口type RechargeableBattery interface { Use() Charge()}已经存在的对象和实现方

2021-07-03 21:08:55 96

原创 Linux学习笔记-常用命令总结

一、文件管理1.查看文件与目录: ls-l 显示文件的详细信息-a 显示隐藏文件-r 逆序显示-t 按时间排序-R 递归显示2. 操作目录或文件mkdir 创建目录rmdir 删除空目录touch 创建文件rm 删除文件-r 递归删除-f 强制删除cp 复制文件-r 复制目录rm 删除文件mv 移动与重命名3. 路径操作cd 进入指定路径pwd 显示当前路径4. 通配符...

2021-05-30 17:39:18 66

原创 Redis学习笔记-持久化

Redis学习笔记-持久化一、RDB持久化1. 持久化方式手动执行、定期执行2. 持久化执行过程1) 创建RDB二进制文件SAVE命令: 阻塞Redis服务器进程,直到文件创建完成。BGSAVE命令: 创建一个子进程来创建文件。 用于定期执行RDB持久化BGSAVE命令执行时,不能同时执行SAVE、BGSAVE、BGREWRITEAOF命令。其中,不能同时执行BGREWRITEAOF命令是为了性能考虑2) 载入RDB二进制文件自动载入。如果开启了AOF持久化,就载入AO

2021-05-27 21:18:00 104

原创 MySql学习笔记-02索引

MySql学习笔记-02索引索引1、隔离级别的通俗理解2、隔离级别-可重复读 是如何实现的3、怎么查询数据库语句命中了索引索引1、隔离级别的通俗理解读未提交:事务的修改都会被其他事务看见读提交:一个事务提交后,都会被其他事务看见,无论其他事务有没有完成可重复读: 一个事务在执行过程中,只会看到当前事务的变化串行化: 多个事务不会同时进行,一个事务完成了才会进行下一个事务2、隔离级别-可重复读 是如何实现的版本快照 MVCC(多版本并发控制)详细过程每个事务都有一个版本号

2021-04-29 23:23:00 92

原创 MySql学习笔记-01事务

MySql学习笔记-01事务隔离隔离级别的通俗理解隔离级别-可重复读 是如何实现的索引如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入事务隔离你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇

2021-04-28 22:10:31 69

原创 一张图带你理清Mybatis实现原理

2019-09-07 16:11:12 157

原创 Window64位系统用HSDIS对java代码进行反编译

1.下载hsdis-amd64.dll文件并放入%JAVA_HOME%\jre\bin中,例如:C:\Program Files\Java\jdk1.8.0_191\jre\bin书上说的是放在%JAVA_HOME%\jre\bin\server中,亲测还是找不到hsdis-amd64.dll文件,放在bin文件目录下可以正常反编译。错误提示如下:Could not load hs...

2019-09-04 11:11:36 438

原创 腾讯云服务器上搭建Hadoop伪分布式教程

1 登陆腾讯云服务器控制台查看内网ip地址2 更改主机名修改master ip地址,地址改为内网地址$ vi /etc/hosts172.21.0.*修改主机名$ vi /etc/hostnamemaster重启服务器$ reboot查询是否更改成功$ hostnamemaster$ hostname -i172.21.0.*2 ...

2019-08-03 17:21:52 798

原创 Windows系统配置Hadoop注意事项

hadoop官方下载地址:https://hadoop.apache.org/releases.html1 解压后的Hadoop需要放在与Java Jdk同一个盘符中2Hadoop和Jdk的目录如果有空格会识别不出来。出现此类问题会报错:Hadoop Error: JAVA_HOME is incorrectly set.或者C:\'Program' 不是内部或者外部命令,也不是可运...

2019-08-02 17:26:13 206

原创 ROS学习笔记

目录1 创建、编译和运行1.1 创建程序包1.2 编译1.3 运行2 ROS话题2.1 rqt_graph2.2 rostopic2.3 rqt_plot3 ROS服务和参数3.1 rosservice call3.2 rosparam4 rqt_console、roslaunch和rosed4.1 rqt_console4.2 roslau...

2019-06-05 15:29:25 286

原创 Ubuntu系统下ROS安装说明

1.准备工作安装前看看有什么更改Ubuntu默认的更新源,如果更改了,要换回备份的默认的安装源(/etc/apt/sources.list.bak)。权限设置用户需要成为“拨出”组的一部分:sudo usermod -a -G dialout $USER删除modemmanagerUbuntu附带一个串行调制解调器管理器,它可以严重干扰任何与机器人相关的串口(或...

2019-04-24 09:46:56 424

原创 Mybatis源代码解析(操作数据库全流程)

1.从 XML 中构建 SqlSessionFactoryString resource = "org/mybatis/example/mybatis-config.xml";InputStream inputStream = Resources.getResourceAsStream(resource);SqlSessionFactory sqlSessionFactory = new...

2019-04-23 10:49:56 294

原创 Jetson TX1/TX2搭载RTSO-9003载板刷机及使用JetPack3.3安装软件教程(防踩坑)

1 烧录Linux系统1.1 系统要求最好给主机电脑安装Ubuntu14和Ubuntu16 x86_64系统。Ubuntu18系统不能运行JetPack3.3软件,且JetPack3.3安装软件必须在主机Host x86_64系统上运行。1.2 下载软件包rtso-9003载板系统的安装包官网上有,下面是官方下载地址,我下载的版本号是R28.2:http://www.realt...

2019-04-02 13:35:00 1362

10KV中性点非直接接地电网继电保护设计

10KV中性点非直接接地电网继电保护设计,继电保护课程设计

2018-02-26

华中科技大学自动化学院招生简章

2017年华中科技大学自动化学院招生简章,作为参考价值

2018-02-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除