- 博客(28)
- 资源 (10)
- 收藏
- 关注
原创 openEuler Embedded sysV-init服务安装
本文介绍了一个在SysV-init系统下安装服务的脚本示例。该脚本包含以下步骤:1)检查二进制文件和配置文件是否存在;2)停止已运行的服务;3)将文件安装到指定目录;4)创建init脚本,支持start/stop/restart/status操作;5)建立运行级别符号链接;6)启动服务。脚本实现了PID文件管理、日志记录和运行级别自动配置,适用于不支持systemd的传统Linux系统。安装完成后可通过/etc/init.d/服务名进行管理,并随系统自动启动。
2026-02-10 09:11:23
299
原创 openEuler Embedded没有/etc/rc.loal
本文介绍如何创建Linux开机启动脚本。首先使用vi编辑器在/etc/目录下创建rc.local文件,并写入#!/bin/sh脚本头。然后通过chmod命令赋予755权限,确保文件可执行。最后使用ln命令创建软链接,将rc.local链接到/etc/rcS.d/S99local,实现开机自动运行。这些操作可以确保自定义脚本在系统启动时自动执行。
2026-02-06 16:33:32
258
原创 openEuler Embedded编译软件(嵌入式系统)
本文介绍了在openEuler Embedded系统上编译和运行Nginx的方法。由于该系统移除了包管理器,需在x86开发机上编译后移植到嵌入式设备。具体步骤包括:1)下载openEuler-24.03-LTS嵌入式工具链;2)在x86架构的openEuler虚拟机或Docker容器中配置编译环境;3)处理Nginx源码中的crypt函数依赖问题;4)解决交叉编译时的配置问题;5)静态编译Nginx并部署。最后指出运行可能遇到的库文件缺失问题,建议在编译阶段解决。文章提供了详细的命令操作和错误解决方案,帮助
2026-02-06 16:32:11
386
原创 go语言定时任务工具类
本文介绍了一个基于Go语言的定时任务工具类,支持crontab(精确到秒)和timer两种模式。工具类使用github.com/robfig/cron/v3包实现,主要功能包括: 提供NamedCronJobTask接口定义定时任务,支持通过cron表达式或时间间隔两种调度方式 实现了任务添加(AddTask)、更新(UpdateTask)等功能 内部使用map管理任务,支持同名任务替换 对cron和ticker两种调度方式进行了封装,自动处理panic恢复 提供了任务日志记录功能 该工具类设计灵活,可以方
2025-12-17 11:03:04
246
原创 go ftp client客户端
本文介绍了一个基于Go语言的FTP客户端实现,使用github.com/jlaffaye/ftp库(v0.2.0)。代码封装了FTP连接配置(FTPClientConfig)和客户端操作(ftpClient),提供连接管理、文件列表查看、目录切换、文件下载/上传、目录创建和文件删除等功能。实现包括连接超时设置、路径处理(相对/绝对路径)和错误处理,可通过简单的API调用来完成FTP操作。该封装简化了FTP客户端的开发,适合需要基础FTP功能的Go应用。
2025-11-26 14:48:57
417
原创 go语言串口读写
本文介绍了一个Go语言实现的串口通信封装工具类,主要功能包括: 封装了串口的基本操作,包括初始化连接、读写数据和关闭连接 使用tarm/serial库实现底层串口通信 实现了带超时处理的串口读取逻辑,能检测设备断开情况 提供了回调函数机制处理接收数据 包含完整的测试示例,使用socat创建虚拟串口进行测试 该工具类特点: 支持配置波特率、数据位、停止位等串口参数 读取操作采用阻塞式设计,可通过goroutine实现异步处理 内置EOF错误检测和超时处理机制 提供简洁的Write接口发送数据 适用于需要稳定串
2025-11-26 09:15:12
184
原创 go语言RSA算法工具
本文实现了一个Go语言的RSA加解密工具类,支持密钥生成、加密解密、签名验证等功能。主要特点包括:1) 支持PKCS1和PKCS8两种密钥格式;2) 提供DER、Base64和PEM三种密钥编码方式;3) 实现RSA加密/解密、签名/验证的完整流程;4) 可自动识别Base64(DER)或PEM格式的输入密钥。该工具类封装了crypto/rsa等标准库,通过统一接口简化了RSA操作,适用于需要安全通信的应用场景。
2025-11-25 09:41:43
215
原创 go udp server服务端
本文提供了一个Go语言实现的UDP服务工具类,主要功能包括: 实现了UDPServer接口,提供Recv()接收数据和Stop()关闭连接方法 支持设置5秒读取超时,避免永久阻塞 采用回调机制处理接收到的数据包 使用context实现优雅关闭 正确处理UDP数据包边界(最大65535字节) 示例代码展示了如何使用goroutine异步处理接收到的数据 该工具类封装了UDP服务的基本功能,可以快速启动UDP服务并处理接收到的数据,适合需要简单UDP通信的场景。
2025-11-25 09:27:12
368
原创 go ftp server服务端
本文介绍了一个使用Go语言快速搭建FTP服务器的方案。通过github.com/fclairamb/ftpserverlib库,可以替代传统的vsftpd等Linux服务。文章提供了完整的实现代码,包括:1) 服务器初始化配置;2) 用户认证功能;3) 读写权限控制;4) 被动模式端口范围设置。该方案支持设置只读模式,并能自动创建用户根目录,具有部署简单、配置灵活的特点。代码中实现了异步启动检测机制,确保服务可靠运行。这个轻量级方案适合需要快速搭建FTP服务的场景。
2025-11-24 17:06:26
282
原创 go语言并发安全Map:ConcurrentMap
本文实现了一个Go语言并发安全Map封装,提供两种实现策略:1) 基于sync.Map的读多写少型(readHeavyMap),适合高频读取场景;2) 基于sync.RWMutex+原生map的读写均衡型(rwBalancedMap),适合读写操作均衡场景。封装提供了统一的ConcurrentMap接口,包含Set/Get/Delete等基本操作,以及Keys/Values/Range等扩展方法。通过NewConcurrentMap工厂函数可按需选择实现策略,readHeavyMap在高频写入时可能出现内存
2025-11-24 16:58:58
224
原创 自定义ID生成,雪花算法(53位)避免超过9007199254740991最大值,超过前端JS精度
摘要:本文提出了一种53位自定义雪花算法,以解决标准64位雪花算法生成的ID超过JavaScript最大精度(9007199254740991)的问题。设计了四种53位方案,权衡时间戳、机器ID和序列号的位数分配,最终采用方案2(41位时间戳+3位机器ID+9位序列号),支持69年使用期(至2093年)。该算法使用Go实现,包含时钟回拨容忍机制,支持5ms内时钟回拨,生成速度达500-1000万ID/秒。核心代码包含ID生成、解析功能,通过CAS保证线程安全。
2025-09-26 14:58:58
367
原创 Docker容器里centos、ubuntu无法使用 systemctl 命令 (PID 1) Can‘t operate
ubuntu centos 容器无法使用systemctl
2024-10-21 10:42:48
1857
原创 自定义ThreadsExecutor线程池工具类,根据任务增加线程,解决ThreadPoolExecutor先放入队列再新增线程
这段Java代码定义了一个名为 `ThreadsExecutor` 的线程池工具类,它提供了一种自定义的线程池实现,与 `java.util.concurrent.ThreadPoolExecutor` 相比,它有一些不同的特性和运行逻辑。
2024-07-08 16:33:35
680
原创 Linux 内存占用查看|free 与 /proc/meminfo值输出关系
linux的内存,大部分内存都是用于buffers和cache。Linux总是尝试通过将可用内存用于buffers(文件系统元数据)和cache(具有文件或块设备的实际内容的页面)来加速对磁盘的操作。这有助于系统运行得更快,因为磁盘信息已经在内存中,从而节省了I/O 操作。如果程序或应用程序(如 Oracle)需要空间,Linux将释放buffers和cache,为应用程序提供内存。如果系统运行了一段时间,你通常会在第一行的"free"字段下看到的值很小。
2023-05-18 15:46:26
618
1
原创 k8s集群快速部署之kubeadm
k8s集群快速部署之kubeadmAuthor: liyanggyangDate:2022/03/04一、安装准备1.本文采用三台centos7.6虚拟机:分别为:角色IP规格k8s-master192.168.111.1904C/8G/200Gk8s-node1192.168.111.1914C/8G/200Gk8s-node2192.168.111.1924C/8G/200G2.操作系统配置:2.1.关闭防火墙systemctl sto
2022-03-04 16:01:39
880
原创 防火墙firewall-cmd
防火墙firewall-cmd#centos7查看防火墙所有信息firewall-cmd --list-all#centos7查看防火墙开放的端口信息firewall-cmd --list-ports开放/删除端口号##开放firewall-cmd --zone=public --add-port=80/tcp --permanent##删除端口firewall-cmd --zone=public --remove-port=80/tcp --permanent##开放多个端口:
2021-12-22 09:22:42
1596
原创 macOS12.0.1(Monterey)亲测,根目录创建目录
本人macbookpro2021款14英寸亲测成功。首先,无法在根目录创建目录,实现的方案为:在其他目录创建需要目录后,通过软连接映射到根目录。所有命令建议 sudo执行步骤:关闭 cstutil保护模式(查看 csrtuil status 状态 ,一般为 enable,需要更改为disable)【注意】开机进入恢复模式方式变了,以前是command+R,现在是电脑关机后,一直按住开机键不不放(一直按住!!!),等待页面出现“选项”(会有相应屏幕显示)然后根据提示点击下一步,再选择一个账
2021-11-23 11:29:36
8706
11
原创 JAVA CSV内容生成(针对导出数据量大,excel不适合)
CSV内容生成(针对导出数据量大,excel不适合)众所周知,csv文件编辑器打开,列之间以“,”逗号相隔举例代码参考)众所周知,csv文件编辑器打开,列之间以“,”逗号相隔问:列字段值包含逗号应该怎么办?答:字段用双引号包起来。问:若该字段值也有双引号怎么办?答:在双引号前添加一个双引号,字段整体再用双引号包起来。举例代码参考public class CSVUtils { private CSVUtils() { } /* 列分隔符 */ priva
2020-08-16 00:49:54
1332
eclipse配置theme(Sublime Text 2)
2015-12-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅