- 博客(263)
- 资源 (8)
- 收藏
- 关注
原创 RK3588镜像打包制作,替换文件系统
先去开发板上验证自己的系统使用了多少空间,然后输入命令制作一个空的img文件,比用的大或者随便写个大的都行,后边还会压缩的。将rk3588_20240103.img改名为rootfs.img替换掉output目录下的rootfs.img。里边有个判断主板类型的地方有bug,获取不到正确主板类型,我在里边直接写死了RK3588。将文件系统拷贝到 img 挂载的路径目录下,rootfs是同步过来的文件夹。检查并修复rk3588_230417.img镜像的文件系统。精简rk3588.img镜像文件的大小。
2024-09-14 19:58:53 822
原创 linux 服务器根据程序名自动杀死对应全部进程
ps -ef | grep “这里是程序名” | grep -v grep | awk ‘{print $2}’ | xargs kill。
2024-09-03 08:26:28 403
原创 docker-compose部署FastDFS分布式文件系统
组内的所有 Storage Server 之间是平等关系,会相互连接进行文件同步,从而保证组内的所有 Storage Server 的文件内容一致。Storage Server 直接利用 OS 的文件系统存储文件,不会对文件进行分块存储,客户端上传的文件和 Storage Server 上的文件一一对应(V3 引入的小文件合并存储除外)。Tracker Server 在内存中记录分组和 Storage Server 的状态等信息,不记录文件索引信息,占用的内存量很少。pom文件引入工具包。
2024-06-14 16:22:02 1315 2
原创 Go-MQTT使用
因为在前端、java中一直使用paho的mqtt所以在go中也继续使用,原理是一致的,使用其他版本框架也是一样的,本文使用paho的进行演示再次还可以下载一个好用的mqtt桌面链接工具。
2023-12-11 10:59:44 462
原创 GoWeb开发框架gin-基础路由使用
然后在这里需要配一下环境变量GoPath下载下来的包的环境变量,直接添加到系统的Path里。官方地址:https://github.com/gravityblast/fresh。跟着官网上边一步一步的安装,在这里我遇上了go proxy的问题可以参考我之前写的。首先需要对结构体增加配置,指明自动注入并且修改注入时名称。通常适用于前端跨域请求,需要执行前端回调函数。对照一下改一下环境变量修改proxy。然后在cmd切换到你的工作目录执行。出现如下界面就算成功了。界面get请求如下图。
2023-12-11 08:58:39 362
原创 Go语言fyne开发桌面应用程序-环境安装
参考https://developer.fyne.io/started/#prerequisites网站之前的文章介绍了如何安装GO语言这里不在叙述。
2023-11-15 13:42:54 945
原创 Go语言函数底层实现
基于堆栈模式的程序执行模型决定了函数是语言的一个核心元素。分析Go函数的内部实现,对理解整个程序的执行模型有很大好处。研究底层实现有两个方法一种是看语言编译器源码,分析其对函数的各个特性的处理逻辑,一种是反汇编,将可以执行的程序反汇编出来。SP栈顶寄存器,用于函数调用前由主函数设置SP的值对栈空间进行分配和回收。FP 栈帧寄存器,指向当前函数调用栈帧的底部位置。PC程序计数器,存放下一条指令的执行地址。SB 静态基址寄存器,全局变量的地址。
2023-11-14 17:44:51 378 1
原创 Go语言error错误处理
Go语言内置错误接口类型,任何类型只要是实现了Error()string方法,都可以传递error接口类型变量。Go语言典型的错误处理方式是将error作为函数最后一个返回值。在调用函数时,通过监测其返回的error值是否为nil来进行错误处理Go语言标准库提供的两个函数返回实现了error接口的具体类型实例,一般的错误可以使用如下两个函数进行封装,遇到复杂的错误,用户也可以自定义错误类型,只要实现error错误接口即可。实际案例。
2023-11-14 17:10:12 477
原创 Go语言painc( 宕机)和recover(恢复)
签名函数painc(i interface{}) // 宕机revover()interface{} // 恢复painc有两种情况产生一种是程序主动调用painc函数,另一种是程序产生运行时错误产生。发生painc后程序会从调用painc的函数位置或发生painc的地方立即返回逐层向上执行函数的defer语句,然后逐层打印函数调用堆栈,直到被recover捕获或运行到最外层函数而退出。
2023-11-14 16:15:46 609
原创 Go语言函数签名和匿名函数
函数类型又叫做函数签名,一个函数的类型就是函数定义首行去掉函数名、参数名和{},可以用fmt.Printf的“%T”格式化参数打印函数的类型。两个函数类型相同的条件是:拥有相同的形参列表和返回值列表,形参名可以不同。type可以定义函数类型:type funcType func(int)intGo中函数是第一公民,有函数名的函数可以直接赋值给变量例如。
2023-11-08 18:20:43 392
原创 Go语言函数基本概念
函数可以没有输入参数和返回值,返回值没有默认返回0,func(){ }多个相邻的相同类型参数可以使用简写模式,func(a,b int)支持有名的返回值,参数名就相当于函数体最外层的局部变量,命名返回值变量会被初始化为类型0值,最后的return 可以不带返回值直接返回。不支持默认值参数不支持函数重载不支持函数嵌套(不支持命名函数的嵌套,匿名函数可以)多值返回参数列表需要使用()包裹支持命名参数返回,如果有错误类型则会将错误类型放到最后。
2023-11-08 17:43:16 106
原创 Go语言开发环境安装,hello world!
https://golang.google.cn/dl/(国内也可以安装)根据自己电脑下载对应的安装包,我懒下载了msi安装然后一路点确定安装Go。
2023-11-07 17:49:06 258
原创 mongo删除文件后文件空间未释放解决办法
首先介绍一下背景,我们有个项目用了mongo存储文件,是滚动删除一年的,结果越用越大越用越大,明明文件已经被删除了却还是磁盘不足了。深入研究了一下GridFs中其实就两个集合一个是fs.files保存的是文件的上传记录信息一个是fs.chunks文件块儿。
2023-09-27 11:12:18 911
原创 docker打包运行中的容器,生成镜像文件保存到本地
因为想着方便部署,将所有没问题的项目容器打包成镜像,走到哪儿都离线安装自动部署。docker save -o 保存路径和包名 imageid。
2023-08-15 16:27:04 620
原创 软考-系统架构师-计算机与网络基础知识-系统性能
说明:系统性能是一个系统提供给用户的中国性能指标的集合,它包括硬件性能、软件性能、部件性能指标、综合性能指标。
2022-11-28 17:36:19 701 1
原创 软考-系统架构师-计算机与网络基础知识-计算机网络基础知识
计算机网络通信按距离:广域网、局域网、城域网按照信息交换方式:电路交换网、分组交换网、综合交换网按照网络拓扑结构:星形网、树形网、环形网、和总线网按照通信介质:双绞线网、同轴电缆网、光纤网、卫星网按照传输宽带:基带网和宽带网按照使用范围:公用网和专用网按速率:校园网和企业网按连接范围:内联网、外联网按网络服务:通信网、信息网。
2022-11-25 16:54:49 869
原创 软考-系统架构师-计算机与网络基础知识-数据库系统基础知识
函数依赖是一种最重要的最基本的数据依赖,包括函数依赖、非平凡的函数依赖、平凡的函数依赖、完全函数依赖、部分函数依赖、传递依赖、码、主属性和非主属性、外码值依赖定义、函数依赖的公理系统。关系数据库设计理论的核心是数据之间的函数依赖,衡量的标准是关系规范化的程度及分解的无损连接和保持函数依赖性。数据依赖是通过一个关系中属性间值的相等与否体现出来的数据间的相互关系,是现实世界属性间联系和约束的抽象,是数据内在的性质,是语义的体现。事务的四个特性,原子性、一致性、隔离性、持久性,这四个也就是事务的ACID性质。
2022-11-24 20:00:46 873
原创 软考-系统架构师-计算机与网络基础知识-操作系统基础知识
进程是程序的一次执行,不同程序并发使用一个进程执行。PCB描述了进程的基本情况是进程存在的唯一标识。程序是静态的指令序列,进程是为执行该程序的线程和保留的资源集进程根据性质可以分为系统进程用户进程、父进程和子进程。
2022-10-26 15:50:41 1455
原创 SpringEvent事件监听、事件驱动,观察者模式
*** 使用Task自定义线程池,* 禁止使用spring自带的线程** @return} /*** 使用异步自定义线程池,* 禁止使用spring自带的线程** @return// 核心线程数,核心线程会一直存活,即使没有任务需要处理.当线程数小于核心线程数时, // 即使现有的线程空闲,线程池也会优先创建新线程来处理任务,而不是直接交给现有的线程处理;
2022-09-20 20:23:29 888
原创 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 2048
原创 隐入尘烟影评
我不理解是什么在支撑他走完的最后这些时光,他骂他的驴被自己使了半辈子了真是个贱骨头,我眼泪哗哗的掉,他那是在骂自己。驴被他放了他没有忘记他欠的任何一笔帐,借的小麦种子、借的鸡蛋、借的房顶乌蓬草,也没有忘记那些在黑暗中帮助他寻找光明的人,他还掉了所有人情债,放生了那头小毛驴,回到了他们的家,望着妻子的照片眺望远方吃下了那颗妻子没有吃上的鸡蛋,给自己用麦粒印上了和亡妻一样的花,我想他的心里肯定有一场夹杂着风暴的海啸,他结束了还没有开始的梦,他清清白白干干净净的去追赶他爱的人了。
2022-09-04 01:04:09 303
原创 深入研究一下mysql
MySQL存储引擎是插件式的,服务器中的查询执行引擎通过接口与存储引擎进行通信,接口屏蔽了不同存储引擎之间的差异。现在有很多种存储引擎,各有各的特点,最常见的存储引擎是MyISAM和InnoDB。系统文件层负责将数据库的数据和日志存储在文件系统之上,并完成与存储引擎的交互,是文件的物理存储层。主要包含日志文件、数据文件、配置文件、pid 文件、socket 文件等。相比于1.0并没有提升数据量的存储性能,因为是多主的形式每一个库数据量都是相同的,为了保证一致性写操作还扩大了。复杂,要设计数据路由问题。...
2022-08-30 15:07:38 960
原创 初步使用openEuler华为欧拉Linux系统
2022 年 3 月 30 日,基于统一的 5.10 内核,发布面向服务器、云计算、边缘计算、嵌入式的全场景 openEuler 22.03 LTS 版本,聚焦算力释放,持续提升资源利用率,打造全场景协同的数字基础设施操作系统。我点了一下安装目的地,和根密码,感觉这一步比centos好一些,开始安装。ps:这里官方建议8G以上内存,120G以上的存储,两核以上CPU。......
2022-08-29 14:25:56 12146 3
原创 mysql数据库优化--分区
公司业务数据量很大,因为是面向全国的数据统计分析,所以一天大约是大几十万数据,因为最开始设计架构没有参与,当系统出现问题,去查看的时候发现数据库两个表一个三亿多,另一个十一亿。因为单表破亿执行sql现在都是问题了(delete语句根本执行不下去,还会锁数据),没办法我只想到了新建一个数据库并且对数据量大的表进行分区,然后定期删除数据库的分区,让数据库中只保留最近半年的数据。考虑过分库分表和主从多主的高可用架构,评估了一下工作量和项目实际情况(主要是项目资金)根本没有时间和精力去搞这种架构。注意: 表分区后
2022-06-20 13:44:29 507
原创 自定义注解 redis分布式锁
文章目录1.前言2.设计3.实现3.1 自定义注解3.2切面实现4.使用1.前言因为系统使用了微服务,有部分接口和代码需要保持同一时间节点只能被同一个线程执行,所以需要增加分布式锁,如果简单的使用redisTemplate的写起来比较麻烦,所以打算自定义注解使用切面的方式进行复用。2.设计如果要实现上述的想法需要考虑如下几个问题:锁竞争,抢锁的时候尝试竞争三次异常处理,当程序出现异常需要及时抛出锁自旋锁,有些程序不可以失败必须抢锁执行3.实现3.1 自定义注解name:锁名称,根据
2022-05-23 13:49:28 474
原创 docker 指定不同容器使用同一个网段
问题描述因为我使用了dockers-compose,不同的服务在不同的docker-compose文件中,所以当远程调用的时候出现了根据容器名访问失败的错误。基于此我准备在docker中创建一个network,然后让其他容器全都指定使用一个目录docker network create migration-net...
2022-04-20 13:47:55 1709
原创 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 1075
原创 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 428
原创 java BIO
文章目录BIO前言模型图缺点客户端代码服务器端代码启动命令执行结果伪异步IO编程前言模型图客户端服务器端服务器监听线程池弊端BIO前言网络编程的基本模型是C/S的两个进程之间相互通信,其中服务器段提供ip地址和端口监听,客户端通过连接地址根据协议比如TCP进行三次握手成功连接就可以根据socket(套接字)进行通信。基于以上概念,ServerSocket负责绑定ip地址,客户端通过socket发起连接操作,然后使用输入输出流进行同步阻塞的通信。模型图Acceptor:负责监听客户端的连接请求
2022-01-10 09:08:40 220
原创 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 1045
android,Mqtt消息队列,接收发送消息
2018-06-04
SSM,crm项目
2017-09-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人