自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(259)
  • 资源 (8)
  • 收藏
  • 关注

原创 Go-MQTT使用

因为在前端、java中一直使用paho的mqtt所以在go中也继续使用,原理是一致的,使用其他版本框架也是一样的,本文使用paho的进行演示再次还可以下载一个好用的mqtt桌面链接工具。

2023-12-11 10:59:44 267

原创 GoWeb开发框架gin-基础路由使用

然后在这里需要配一下环境变量GoPath下载下来的包的环境变量,直接添加到系统的Path里。官方地址:https://github.com/gravityblast/fresh。跟着官网上边一步一步的安装,在这里我遇上了go proxy的问题可以参考我之前写的。首先需要对结构体增加配置,指明自动注入并且修改注入时名称。通常适用于前端跨域请求,需要执行前端回调函数。对照一下改一下环境变量修改proxy。然后在cmd切换到你的工作目录执行。出现如下界面就算成功了。界面get请求如下图。

2023-12-11 08:58:39 258

原创 Go语言fyne开发桌面应用程序-环境安装

参考https://developer.fyne.io/started/#prerequisites网站之前的文章介绍了如何安装GO语言这里不在叙述。

2023-11-15 13:42:54 627

原创 Go语言函数底层实现

基于堆栈模式的程序执行模型决定了函数是语言的一个核心元素。分析Go函数的内部实现,对理解整个程序的执行模型有很大好处。研究底层实现有两个方法一种是看语言编译器源码,分析其对函数的各个特性的处理逻辑,一种是反汇编,将可以执行的程序反汇编出来。SP栈顶寄存器,用于函数调用前由主函数设置SP的值对栈空间进行分配和回收。FP 栈帧寄存器,指向当前函数调用栈帧的底部位置。PC程序计数器,存放下一条指令的执行地址。SB 静态基址寄存器,全局变量的地址。

2023-11-14 17:44:51 288 1

原创 Go语言error错误处理

Go语言内置错误接口类型,任何类型只要是实现了Error()string方法,都可以传递error接口类型变量。Go语言典型的错误处理方式是将error作为函数最后一个返回值。在调用函数时,通过监测其返回的error值是否为nil来进行错误处理Go语言标准库提供的两个函数返回实现了error接口的具体类型实例,一般的错误可以使用如下两个函数进行封装,遇到复杂的错误,用户也可以自定义错误类型,只要实现error错误接口即可。实际案例。

2023-11-14 17:10:12 420

原创 Go语言painc( 宕机)和recover(恢复)

签名函数painc(i interface{}) // 宕机revover()interface{} // 恢复painc有两种情况产生一种是程序主动调用painc函数,另一种是程序产生运行时错误产生。发生painc后程序会从调用painc的函数位置或发生painc的地方立即返回逐层向上执行函数的defer语句,然后逐层打印函数调用堆栈,直到被recover捕获或运行到最外层函数而退出。

2023-11-14 16:15:46 320

原创 Go语言闭包概念(不建议使用)

闭包可以友好的减少全部变量,但是逻辑复杂,不推荐使用这种方式。

2023-11-08 19:19:12 88

原创 Go语言函数签名和匿名函数

函数类型又叫做函数签名,一个函数的类型就是函数定义首行去掉函数名、参数名和{},可以用fmt.Printf的“%T”格式化参数打印函数的类型。两个函数类型相同的条件是:拥有相同的形参列表和返回值列表,形参名可以不同。type可以定义函数类型:type funcType func(int)intGo中函数是第一公民,有函数名的函数可以直接赋值给变量例如。

2023-11-08 18:20:43 326

原创 Go语言函数基本概念

函数可以没有输入参数和返回值,返回值没有默认返回0,func(){ }多个相邻的相同类型参数可以使用简写模式,func(a,b int)支持有名的返回值,参数名就相当于函数体最外层的局部变量,命名返回值变量会被初始化为类型0值,最后的return 可以不带返回值直接返回。不支持默认值参数不支持函数重载不支持函数嵌套(不支持命名函数的嵌套,匿名函数可以)多值返回参数列表需要使用()包裹支持命名参数返回,如果有错误类型则会将错误类型放到最后。

2023-11-08 17:43:16 60

原创 Go 面向对象,多态,基本数据类型

工程结构新建一个oop.go再写一个main主程序掉用。

2023-11-07 19:23:02 266 1

原创 Go语言开发环境安装,hello world!

https://golang.google.cn/dl/(国内也可以安装)根据自己电脑下载对应的安装包,我懒下载了msi安装然后一路点确定安装Go。

2023-11-07 17:49:06 213

原创 mongo删除文件后文件空间未释放解决办法

首先介绍一下背景,我们有个项目用了mongo存储文件,是滚动删除一年的,结果越用越大越用越大,明明文件已经被删除了却还是磁盘不足了。深入研究了一下GridFs中其实就两个集合一个是fs.files保存的是文件的上传记录信息一个是fs.chunks文件块儿。

2023-09-27 11:12:18 612

原创 windows软件或者可执行文件开机自启

网上搜了一堆给目录的,烦死个人,也不说具体的系统型号,我来给个统一的windows的。

2023-08-31 16:29:15 84

原创 linux 设置开机启动

解决问题思路1.首先写一个可执行脚本2.将该脚本注册成服务3.使用system enable命令让他开机自启。

2023-08-28 17:18:05 326

原创 docker打包运行中的容器,生成镜像文件保存到本地

因为想着方便部署,将所有没问题的项目容器打包成镜像,走到哪儿都离线安装自动部署。docker save -o 保存路径和包名 imageid。

2023-08-15 16:27:04 466

原创 分享一个可以下载全球geojson经纬度信息的网址

https://gadm.org/download_country.html

2023-06-21 10:54:28 928 1

原创 软考-系统架构师-计算机与网络基础知识-系统性能

说明:系统性能是一个系统提供给用户的中国性能指标的集合,它包括硬件性能、软件性能、部件性能指标、综合性能指标。

2022-11-28 17:36:19 586 1

原创 软考-系统架构师-计算机与网络基础知识-计算机网络基础知识

计算机网络通信按距离:广域网、局域网、城域网按照信息交换方式:电路交换网、分组交换网、综合交换网按照网络拓扑结构:星形网、树形网、环形网、和总线网按照通信介质:双绞线网、同轴电缆网、光纤网、卫星网按照传输宽带:基带网和宽带网按照使用范围:公用网和专用网按速率:校园网和企业网按连接范围:内联网、外联网按网络服务:通信网、信息网。

2022-11-25 16:54:49 548

原创 软考-系统架构师-计算机与网络基础知识-数据库系统基础知识

函数依赖是一种最重要的最基本的数据依赖,包括函数依赖、非平凡的函数依赖、平凡的函数依赖、完全函数依赖、部分函数依赖、传递依赖、码、主属性和非主属性、外码值依赖定义、函数依赖的公理系统。关系数据库设计理论的核心是数据之间的函数依赖,衡量的标准是关系规范化的程度及分解的无损连接和保持函数依赖性。数据依赖是通过一个关系中属性间值的相等与否体现出来的数据间的相互关系,是现实世界属性间联系和约束的抽象,是数据内在的性质,是语义的体现。事务的四个特性,原子性、一致性、隔离性、持久性,这四个也就是事务的ACID性质。

2022-11-24 20:00:46 631

原创 软考-系统架构师-计算机与网络基础知识-操作系统基础知识

进程是程序的一次执行,不同程序并发使用一个进程执行。PCB描述了进程的基本情况是进程存在的唯一标识。程序是静态的指令序列,进程是为执行该程序的线程和保留的资源集进程根据性质可以分为系统进程用户进程、父进程和子进程。

2022-10-26 15:50:41 673

原创 SpringEvent事件监听、事件驱动,观察者模式

*** 使用Task自定义线程池,* 禁止使用spring自带的线程** @return} /*** 使用异步自定义线程池,* 禁止使用spring自带的线程** @return// 核心线程数,核心线程会一直存活,即使没有任务需要处理.当线程数小于核心线程数时, // 即使现有的线程空闲,线程池也会优先创建新线程来处理任务,而不是直接交给现有的线程处理;

2022-09-20 20:23:29 572

原创 mount error(112): Host is down Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

因为这个共享目录没有开启账号密码,也因为两台电脑smb版本不一致,所以我强制 smb 协议的版本 为1.0 解决了这个问题。记录这个bug,centos服务器想挂载windows上的共享目录。

2022-09-20 10:41:42 1705

原创 隐入尘烟影评

我不理解是什么在支撑他走完的最后这些时光,他骂他的驴被自己使了半辈子了真是个贱骨头,我眼泪哗哗的掉,他那是在骂自己。驴被他放了他没有忘记他欠的任何一笔帐,借的小麦种子、借的鸡蛋、借的房顶乌蓬草,也没有忘记那些在黑暗中帮助他寻找光明的人,他还掉了所有人情债,放生了那头小毛驴,回到了他们的家,望着妻子的照片眺望远方吃下了那颗妻子没有吃上的鸡蛋,给自己用麦粒印上了和亡妻一样的花,我想他的心里肯定有一场夹杂着风暴的海啸,他结束了还没有开始的梦,他清清白白干干净净的去追赶他爱的人了。

2022-09-04 01:04:09 253

原创 墨卡托投影转换公式(java实现)

代码注释写的很好(自认为),复制出去就能用啥额外的依赖都没有。

2022-08-30 15:17:30 799

原创 深入研究一下mysql

MySQL存储引擎是插件式的,服务器中的查询执行引擎通过接口与存储引擎进行通信,接口屏蔽了不同存储引擎之间的差异。现在有很多种存储引擎,各有各的特点,最常见的存储引擎是MyISAM和InnoDB。系统文件层负责将数据库的数据和日志存储在文件系统之上,并完成与存储引擎的交互,是文件的物理存储层。主要包含日志文件、数据文件、配置文件、pid 文件、socket 文件等。相比于1.0并没有提升数据量的存储性能,因为是多主的形式每一个库数据量都是相同的,为了保证一致性写操作还扩大了。复杂,要设计数据路由问题。...

2022-08-30 15:07:38 655

原创 mysql数据库优化--数据库参数

注意:全文使用的引擎是innodb。

2022-08-30 15:04:30 1215

原创 初步使用openEuler华为欧拉Linux系统

2022 年 3 月 30 日,基于统一的 5.10 内核,发布面向服务器、云计算、边缘计算、嵌入式的全场景 openEuler 22.03 LTS 版本,聚焦算力释放,持续提升资源利用率,打造全场景协同的数字基础设施操作系统。我点了一下安装目的地,和根密码,感觉这一步比centos好一些,开始安装。ps:这里官方建议8G以上内存,120G以上的存储,两核以上CPU。......

2022-08-29 14:25:56 10109 3

原创 mysql数据库优化--分区

公司业务数据量很大,因为是面向全国的数据统计分析,所以一天大约是大几十万数据,因为最开始设计架构没有参与,当系统出现问题,去查看的时候发现数据库两个表一个三亿多,另一个十一亿。因为单表破亿执行sql现在都是问题了(delete语句根本执行不下去,还会锁数据),没办法我只想到了新建一个数据库并且对数据量大的表进行分区,然后定期删除数据库的分区,让数据库中只保留最近半年的数据。考虑过分库分表和主从多主的高可用架构,评估了一下工作量和项目实际情况(主要是项目资金)根本没有时间和精力去搞这种架构。注意: 表分区后

2022-06-20 13:44:29 425

原创 CompletableFuture异步编程

CompletableFuture 异步编程

2022-06-15 20:36:41 119 1

原创 Centos8停止更新维护后源失效问题

大部分的源都失效了,yum下载出现问题,备份旧的源,换成阿里的源

2022-06-15 14:00:07 399

原创 自定义注解 redis分布式锁

文章目录1.前言2.设计3.实现3.1 自定义注解3.2切面实现4.使用1.前言因为系统使用了微服务,有部分接口和代码需要保持同一时间节点只能被同一个线程执行,所以需要增加分布式锁,如果简单的使用redisTemplate的写起来比较麻烦,所以打算自定义注解使用切面的方式进行复用。2.设计如果要实现上述的想法需要考虑如下几个问题:锁竞争,抢锁的时候尝试竞争三次异常处理,当程序出现异常需要及时抛出锁自旋锁,有些程序不可以失败必须抢锁执行3.实现3.1 自定义注解name:锁名称,根据

2022-05-23 13:49:28 334

原创 docker 指定不同容器使用同一个网段

问题描述因为我使用了dockers-compose,不同的服务在不同的docker-compose文件中,所以当远程调用的时候出现了根据容器名访问失败的错误。基于此我准备在docker中创建一个network,然后让其他容器全都指定使用一个目录docker network create migration-net...

2022-04-20 13:47:55 1611

原创 centos7 磁盘动态扩容

文章目录前言1.查看磁盘2.分区命令3.创建物理卷4.将磁盘空间分配到咱们想要扩容的磁盘5.将卷里边的资源分配到扩容的目录6.刷新磁盘信息7.然后就没了前言不多说废话,磁盘不够用了加磁盘1.查看磁盘 lsblk选框区域就是我此次需要加进去的内存2.分区命令fdisk -l # 查看分区fdisk /dev/vdb # 这里的路径是上方查出来的磁盘分区路径,表示重新分区,后边我会改掉他根据图片里的操作,新的分区变成了 /dev/vdb4然后重启服务器reboot3.

2022-04-14 17:30:55 901

原创 java NIO

文章目录一、NIO基本概念1.1缓冲区 Buffer1.2通道 channel1.3多路复用器selector二、服务器端实现2.1服务器端创建序列图2.2主要代码三、客户端实现3.1客户端创建序列图3.2主要代码四、例子地址五、参考文献一、NIO基本概念1.1缓冲区 Buffer Buffer是一个对象,包含一些要写入或者读取的数据。 buffer实际上是一个数组,,通常是一个字节数组(也有其他类型的数组),缓冲区提供了对数据的结构化访问以及维护读写位置等信息。 每一种java

2022-01-10 17:35:55 162

原创 java BIO

文章目录BIO前言模型图缺点客户端代码服务器端代码启动命令执行结果伪异步IO编程前言模型图客户端服务器端服务器监听线程池弊端BIO前言网络编程的基本模型是C/S的两个进程之间相互通信,其中服务器段提供ip地址和端口监听,客户端通过连接地址根据协议比如TCP进行三次握手成功连接就可以根据socket(套接字)进行通信。基于以上概念,ServerSocket负责绑定ip地址,客户端通过socket发起连接操作,然后使用输入输出流进行同步阻塞的通信。模型图Acceptor:负责监听客户端的连接请求

2022-01-10 09:08:40 189

原创 Correct the classpath of your application so that it contains a single, compatible version of reacto

Description:An attempt was made to call a method that does not exist. The attempt was made from the following location: org.springframework.cloud.gateway.config.GatewayAutoConfiguration$NettyConfiguration.gatewayHttpClient(GatewayAutoConfiguration.j

2021-12-30 10:55:49 986

原创 BASE64Decoder实现对称加密

此种算法不太安全,不要用在特别注重安全性的环境中,其中用到了sun公司的加解密包,最后我会放上csdn连接提供demo和jar包public class DESUtil { //初始向量 AES为16bytes public static final String INIT_KEY = "[email protected]"; //编码方式 public static final String UTF8 = "UTF-8"; //秘钥 AES固定格式为12

2021-12-22 15:49:34 757

原创 centos安装GDAL

文章目录1.安装sqlite3.11.12.安装proj63.安装GDAL1.安装sqlite3.11.1https://www.sqlite.org/cgi/src/info/f047920ce16971e5tar -zxvf SQLite-f047920c./configuremakemake install设定pathexport PKG_CONFIG_PATH="/usr/local/lib/pkgconfig/"2.安装proj6下载压缩包https://download

2021-12-22 14:01:14 1364

原创 在springboot上刨rabbitmq和mqtt的祖坟

文章目录1.rabbit mq和mqtt1.1mq1.2mqtt2.集成rabbitmq收发消息2.1引入pom文件增加配置文件2.2参数说明2.2.1交换机2.2.2队列2.2.3消息2.3发送消息2.4接收消息3.集成mqtt收发消息3.1引入pom文件增加配置文件3.2发送消息3.3接收消息4.github源码地址1.rabbit mq和mqtt1.1mq之前介绍过rabbitmq的安装和底层实现有兴趣可以查阅之前的博客。重要的说明:生产者 producer:生产者向队列发送消息消费者

2021-11-29 12:15:30 2374

原创 K8s部署nginx

上一篇博客已经安装初始化完成了K8S1.初步搭建一个pod1.1拉取镜像kubectl create deployment nginx --image=nginx1.2等待镜像完成kubectl get pod当status为running就是拉取完成已经运行了1.3将运行的服务对外暴露kubectl expose deployment nginx --port=80 --type=NodePort1.4查询当前pod查看端口kubectl get pod,svc注:正

2021-11-01 15:05:06 2506

java-NIO-demo

java,bio、伪异步io、nio的demo例子安装完JDK可以直接运行

2022-01-10

根据BASE64Decoder的对称加密的demo

根据BASE64Decoder的对称加密的demo

2021-12-22

SpringCloud微服务框架

包含mp、feign、gateway、rabbitmq、nacos

2021-12-21

mybatis-cursor-demo.zip

redis数据超时监听和mybatis大数据量流查询

2021-02-22

Android 自定义可上下左右滑动table

这是一款可以上下左右滑动的android控件,和前端的table tr、td、差不多,全部源码,可以自己重新定义

2019-07-30

RxJava2使用

RxJava2的简单使用,写了很多注释,包含了基本使用,链式语法、和一些基本的操作符。很强大的多线程操作这里没有!!!!这里没有!!!

2019-01-16

android,Mqtt消息队列,接收发送消息

基于eclipse apho的小栗子,用的是Mqtt协议,因为只是个例子所以代码规范特别粗燥,注释还算可以改一下地址什么的就可以使用了,只包含技术,没有任何业务代码。

2018-06-04

SSM,crm项目

定时器,java内存缓存,ssm流程,spring jdbc配置文件,解析ip地址、组装ip工具类、日期工具类、md5加密、数据分页、反射工具、消息、封装、字符转换

2017-09-20

空空如也

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

TA关注的人

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