- 博客(1263)
- 资源 (44)
- 收藏
- 关注
原创 用 Go 打造一个服务器资源指标采集器:结合 Prometheus Exporter 实战
本文介绍了如何使用Go语言开发一个轻量级的Prometheus Exporter,用于监控系统资源指标。通过依赖go-commons/systemutils库,程序可采集磁盘使用情况(总容量、已用、剩余空间)并暴露给Prometheus。主要内容包括:Exporter的优势、环境准备、代码实现(定义指标、采集数据、HTTP接口暴露)、运行效果展示,以及如何配置Prometheus和Grafana进行数据可视化与告警。该方案扩展性强,可轻松添加CPU、内存等监控指标,适用于多节点部署,帮助开发者快速搭建可视化
2025-09-13 19:52:19
678
1
原创 用 Go 采集服务器资源指标:从原理到实践
本文介绍了在Go语言中采集服务器资源指标的方法。文章分析了手动查看工具与代码采集的区别,列举了CPU、内存、磁盘等常见监控指标维度,并提供了三种Go实现方案:调用系统命令、读取/proc接口和使用工具库封装。重点推荐了go-commons/systemutils工具库,通过示例代码展示其获取磁盘信息的使用方法,并探讨了在实际项目中的四种应用场景。最后总结了选择采集方式、保证兼容性和业务应用等关键点,推荐使用该工具库简化开发工作。
2025-09-13 11:57:00
455
原创 小白友好-从 0 开始,用 go-commons 提升 Go 开发体验
《go-commons:10分钟搞定Go字符串处理利器》介绍了专为Go开发者设计的工具库go-commons。该库通过stringutils包提供IsEmpty、Capitalize、Truncate等20+字符串处理方法,支持数字补零(LeftPad/RightPad)等常见需求。采用纯标准库实现,安全轻量,适合新手快速上手和团队统一工具链。安装仅需go get命令,未来还将扩展systemutils系统监控功能。开源项目支持社区贡献,能显著提升开发效率,特别适合需要高频处理字符串的场景。
2025-09-13 10:16:04
211
原创 go-commons GitHub 开源项目
Go-Commons:轻量级Go工具库合集 Go-Commons是Rodert开发的一个小型Go语言工具库,主要提供字符串处理(stringutils)和系统工具(systemutils)功能。该项目追求简洁轻量,完全依赖Go标准库,不引入第三方依赖,采用宽松的Unlicense许可证。 核心功能包括: stringutils:空值判断、大小写转换、字符串截断等常用操作 systemutils:预留了CPU、内存、磁盘等系统监控模块结构 项目优势在于: 纯标准库实现,减少依赖冲突 专注高频基础功能 清晰的A
2025-09-13 09:57:55
359
原创 一个轻量级的 Go 工具库:go-commons
本文介绍了一个轻量级Go工具库go-commons,旨在解决日常开发中常见的字符串处理等小需求。该库主要包含stringutils和systemutils两个模块,提供了字符串判空、截断、填充等常用功能,未来还将扩展系统相关工具。项目特点包括:只依赖标准库、接口直观易用、采用宽松的Unlicense协议。适用于需要复用基础工具函数的场景,可作为"常用工具抽屉"直接引入项目。作者欢迎开发者使用并参与完善这个开源项目。
2025-09-13 08:39:39
261
原创 通过 GitHub 仓库下载微信 Mac & Windows 历史版本(Rodert 提供)
本文介绍如何通过GitHub下载微信Mac/Windows历史版本。用户可能因兼容性、功能保留或稳定性需求而选择旧版。Rodert提供的仓库(wechat-mac-versions/wechat-windows-versions)可下载各版本安装包,建议关闭自动更新。需注意文件安全校验和系统兼容性,其他类似项目如tom-snow的仓库也可参考。常见问题包括版本共存限制和自动升级问题,建议在设置中禁用更新功能。
2025-09-11 08:05:53
400
原创 开源一个轻量级 Go 工具库:go-commons
go-commons是一个零依赖的Go工具库,专注于提供常用的字符串操作和系统工具函数。项目特色包括:完全基于标准库、简洁API设计、完整测试覆盖和中英文文档。核心功能包括字符串空值检查、大小写转换、截断填充、子字符串处理等,以及预留的系统监控模块。采用Unlicense许可证开源,适合各类Go项目快速集成。项目遵循"简单实用"原则,未来计划扩展系统工具并持续优化。
2025-09-08 08:11:54
921
原创 大模型常见的 5 个词,用大白话告诉你
《大模型科普:5个核心概念轻松懂》摘要 用生活化比喻解释AI大模型: 1️⃣参数量=大脑神经线数量,决定记忆和理解能力 2️⃣算力=发动机马力,影响运行速度 3️⃣推理=思考回答的过程 4️⃣训练=大量读书学习 5️⃣微调/LoRA=专项补习课。GPT-4等大模型就像拥有上千亿神经线的超级大脑,通过海量训练掌握知识,在强大算力支持下进行推理,并可通过微调实现专精领域突破。
2025-08-30 09:42:00
343
原创 最近!OpenAI开源了2个模型,附部署教程,网盘下载
OpenAI时隔6年再次开源,发布两款纯文本模型gpt-oss-120b和gpt-oss-20b,分别适配H100和消费级显卡。模型具备工具调用、推理和医疗健康等突出能力,并开放思维链功能。采用Apache 2.0协议,支持商用和研究使用。用户可通过Hugging Face、GitHub或在线体验网站获取,也可通过Ollama本地部署。虽然OpenAI强调此举旨在促进AI透明发展,但业界认为这是应对开源竞争压力的策略性调整。此次开源虽不意味着全面转向开源,但为开发者提供了新的研究工具。
2025-08-18 10:38:34
997
原创 MySQL 索引全攻略:小白入门到面试发光
MySQL索引技术解析 索引基础与B+树结构 MySQL索引是数据库加速查询的关键技术,其核心实现基于B+树结构。索引类似图书目录,使查询性能从O(n)提升至O(log n)。InnoDB引擎采用聚簇索引(主键索引)和辅助索引(二级索引)两种结构,前者数据与索引共存,后者需通过指针回表查询。 索引类型与优化实践 MySQL支持多种索引类型,包括普通索引、唯一索引、主键索引和全文索引。联合索引的使用需遵循最左前缀原则。索引虽提升查询速度,但不当使用会导致失效(如LIKE '%xx'、函数包裹字段等情况),并增
2025-07-19 12:26:42
891
原创 Nginx 入门教程(2025 最新):安装、配置、反向代理全指南 - 趣味版
《Nginx 学习之从入门到精通》是一本系统全面的Nginx学习指南,内容涵盖基础到进阶各个层面。全书分为三大部分:第一部分讲解Nginx基础知识、安装配置和核心概念;第二部分通过实战案例演示静态网站部署、反向代理、负载均衡等核心功能;第三部分深入性能优化、日志分析和模块扩展等高级主题。书中采用通俗易懂的语言,配合大量实用示例和对比表格,帮助读者快速掌握Nginx的核心功能和应用场景。从"Hello Nginx"起步,到企业级负载均衡配置,再到性能调优和安全加固,本书为开发者提供了一条完
2025-07-19 09:00:32
976
原创 达梦数据库语法
本文提供了达梦数据库常用监控SQL语句,主要包括:1)查询数据库最大会话数配置(MAX_SESSIONS);2)获取数据库版本信息的多条查询方式;3)监控当前活跃会话数(ACTIVE_SESS)、总会话数(CURRENT_SESS)和最大会话数限制(MAX_SESS)。这些SQL可用于数据库性能监控和容量规划,帮助DBA了解数据库连接负载情况并及时做出调整。语句简洁实用,涵盖了连接数配置、版本信息和实时会话状态等关键监控指标。
2025-07-17 15:57:57
131
原创 大模型关键字解释
本文系统介绍了大语言模型的核心概念与技术要点,分为六大模块:1)模型结构(Transformer、编码器/解码器、注意力机制等);2)训练机制(预训练、微调、MLM等);3)推理部署(量化、LoRA、批处理等优化技术);4)提示词工程(Prompt设计、思维链等交互技巧);5)数据处理(语料清洗、分词等);6)安全对齐(防注入攻击、偏见消除等)。通过通俗类比(如"填空题训练"、"儿童学习"等)生动解析了AI模型的工作原理与关键技术,涵盖从底层架构到应用部署的全流程知识
2025-07-06 22:20:56
922
原创 百度大模型开源,俩条命令、本地启动
百度开源大模型ERNIE-4.5本地部署指南:需安装paddlepaddle-gpu和fastdeploy-gpu依赖,通过命令启动API服务端口8180。等待10分钟后可用Python代码测试,发送请求至本地API获取模型响应。该0.3B参数模型支持32序列并行处理,最大长度32K。开源地址和视频演示详见GitCode平台及#JavaPub #仕宇2050社交媒体账号。(135字)
2025-07-05 09:19:51
345
原创 白菜价的云服务器
本文推荐了多款高性价比云服务器(阿里云99元/年、百度云59元起等),适合编程学习使用。同时介绍了五大主流Linux发行版特点:Ubuntu(新手友好)、Debian(稳定)、Fedora(前沿)、CentOS(企业级)和Arch(高度定制),建议根据需求选择系统。文末提供服务器优惠链接和技术交流渠道。
2025-07-05 09:18:43
895
原创 Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?
摘要:Golang中map的key类型必须是可比较的,包括基本类型(bool/数字/string)、指针、接口和字段全可比较的结构体。不可作为key的类型有切片、map、函数以及含不可比较字段的结构体。判断标准是类型是否支持==操作,需注意interface{}作key时可能运行时panic,以及浮点数精度问题。理解这些规则有助于避免编译错误和优化数据结构设计,是Golang面试的常见考点。
2025-06-08 10:26:32
990
原创 在 Windows安装 make 的几种方式
摘要:Windows系统可通过多种方式安装和使用make工具:(1)使用Chocolatey包管理器安装GNU Make;(2)通过WSL子系统运行Linux版make;(3)通过MSYS2/MinGW安装;(4)利用Git Bash内置功能。其中Chocolatey适合原生Windows用户,WSL提供完整的GNU工具链,MSYS2适合C/C++开发者,Git Bash方案最轻量。安装后可通过编写简单的Makefile测试功能,不同方法各有特点,用户可根据开发需求选择最适合的方案。(148字)
2025-06-02 23:47:03
1968
1
原创 go语言 channel 中,如果通道关闭,会读到那些数据?热乎面试题
先思考下,go语言 channel 中,如果通道关闭,会读到那些数据?已缓冲的数据仍然可以被读取:如果通道关闭前有数据被发送到缓冲区中,这些数据仍然可以被正常读取,直到缓冲区被清空。读取空的已关闭通道:当通道中没有数据可读时,读取操作会立即返回通道类型的零值,并且第二个返回值(表示通道是否开放)为 false。零值与通道状态:通过第二个返回值可以区分是从开放的通道读取到零值,还是从关闭的通道读取到零值。
2025-04-02 10:56:33
614
1
原创 一道go面试题,热乎的
打印 “2”: 如果随机选择了 case <-shutdown,程序会打印 “2”。从已关闭的通道接收数据会立即返回该类型的零值(对于 struct{},就是空结构体)。不会打印 “3”: 因为至少有一个 case 是可执行的(<-shutdown),所以不会执行 default 分支。Panic: case data <- 1 尝试向已关闭的通道发送数据,这会导致 panic。
2025-04-02 10:51:23
153
原创 一道go面试题
在Go中,panic只能被同一个goroutine中的defer语句捕获,所以这里的defer Recover()实际上无法捕获到新goroutine中的panic。由于goroutine中的panic不会被主goroutine捕获,这个panic会导致整个程序崩溃,而不是被优雅地处理。golang 中所有的 goroutine 都是平等的,没有父子关系。
2025-04-02 10:38:39
458
原创 一道面试实战题-Go
如果不将循环变量 i 作为参数传递给 goroutine,会出现一个常见且容易被忽视的问题:所有 goroutine 可能会打印出相同的值,通常是数组的最后一个索引值(在这个例子中是 9)。循环结束时的变量状态:当循环结束时,i 的值已经变成了 10(超出了数组范围),或者在 range 循环的情况下是 9(最后一个索引)。循环变量共享:所有 goroutine 共享同一个循环变量 i 的引用。闭包变量捕获机制:Go 中的闭包会捕获外部变量的引用,而不是值的副本。
2025-04-02 10:31:25
419
原创 如果 nginx timewait 过多怎么办,大流量场景下、Nginx高频问题
TCP(传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。在网络模型中,TCP位于传输层,主要负责在不可靠的网络环境中提供可靠的数据传输服务。面向连接:通信前需要先建立连接(三次握手),通信结束后需要释放连接(四次挥手)可靠性:通过序列号、确认应答、重传等机制保证数据可靠传输流量控制:通过滑动窗口机制控制数据传输速率拥塞控制:通过各种算法(如慢启动、拥塞避免)防止网络拥塞。
2025-03-31 15:59:05
651
原创 CAS 和自旋锁,有什么区别,怎么用
CAS提供了无锁的原子操作能力,是实现高性能并发算法的基础自旋锁通过忙等待而非线程阻塞提供了低延迟的同步机制,适用于锁竞争不激烈且锁持有时间短的场景理解这两种机制对于设计和实现高性能并发系统非常重要,但同时也需要注意它们的局限性和适用场景。
2025-03-31 15:30:01
556
原创 Etcd用的是Raft算法
Raft 通过将复杂的共识问题分解为更易于理解的子问题,并引入了强领导者模型,使得分布式系统中的共识算法变得更加清晰和易于实现。这也是为什么 etcd 等现代分布式系统选择 Raft 而非 Paxos 作为其共识算法的原因。对于初学者来说,理解 Raft 是进入分布式系统世界的一个很好的起点。通过可视化工具和简化的解释,即使没有深厚的分布式系统背景,也能逐步掌握这个重要的算法。ETCD 用了哪个共识算法。
2025-03-31 14:59:19
553
原创 以太坊主网 PoS 节点搭建指南
自从以太坊在2022年9月完成"合并"(The Merge)升级后,以太坊网络已从工作量证明(PoW)转变为权益证明(PoS)共识机制。
2025-03-28 18:31:59
1093
原创 HBase入门教程
HBase是建立在HDFS(Hadoop分布式文件系统)之上的分布式、面向列的数据库。它是Google Bigtable的开源实现,适合存储非结构化和半结构化的松散数据。HBase作为一个强大的分布式数据库系统,在大数据生态系统中扮演着重要角色。通过本文的学习,你应该已经掌握了HBase的基础知识和使用方法。建议在实践中多加练习,逐步深入理解HBase的各项特性。原文: https://javapub.net.cn/posts/database/
2025-03-28 16:04:09
1697
原创 JWT在微服务架构中的应用与实现,提供一个实战的源代码
提供一个实战的源代码: https://github.com/Rodert/SpringCloud-DemoJWT其实很简单,这个案例让你学会。
2025-03-26 16:26:14
601
原创 SpringCloud入门、搭建、调试、源代码
源代码: https://github.com/Rodert/SpringCloud-DemoSpringCloud-Demo 是 SpringCloud 的入手项目,如果你想自己搭建一次 SpringCloud,那可以参考这个。
2025-03-26 16:08:59
1067
原创 通过端口号查进程
该命令会显示与该端口相关的网络连接以及对应的进程ID。该命令会显示占用该端口的进程名、PID等信息。输出结果中会显示占用该端口的进程名和PID。该命令会列出占用该端口的进程ID和相关信息。这将列出与该端口相关的网络连接和进程信息。这将显示该进程的详细信息。
2025-03-26 11:43:23
1327
原创 Golang 老题,生产者和消费者模型,先后关闭通道的问题
这是一个关于通道关闭时机的问题,让我们比较在不同比例的生产者和消费者情况下,提前关闭通道与延后关闭通道的区别。
2025-03-20 18:45:24
1131
原创 golang 的 goroutine 和 channel
带缓冲的 channel 在缓冲区未满时,发送操作不会阻塞;在缓冲区有数据时,接收操作不会阻塞。无缓冲的 channel 在发送和接收操作时会阻塞,直到另一端准备好。不论 1:n 还是 n:1 或是 n:m,都可以使用。可以在 select 语句中使用 channel。下面这种模型来操作。
2025-03-20 17:47:20
529
原创 Godep是什么??在GoLang中作用是什么
当项目目录下有 vendor 目录时,go 工具链会优先使用 vendor 内的包进行编译、测试等。Godep 通过扫描项目文件引入的第三方包,将依赖包的代码复制到 vendor 目录下,并记录依赖包的版本信息到 Godeps/Godeps.json 文件中。这样,在不同的开发环境和部署环境中,都可以通过 Godeps 记录的依赖信息,准确地还原项目的依赖状态,确保项目的可重复构建和一致性。简单来说就是当前项目的所有golang第三方依赖,就和 python 的 venv 类似。
2025-03-20 17:41:46
354
原创 GoLang 反射
在Golang中,反射是通过reflect包来实现的。反射允许程序在运行时获取任意类型的对象的类型信息和值,并对其进行操作。而Golang通过reflect.Value直接获取对象的方法并调用。反射是一种在运行时动态操作对象、获取类型信息、调用方法等的能力。通过反射判断字段类型,这种情况比较常见。
2025-03-18 18:03:32
557
原创 golang接口用法-代码案例
一个类型只要实现了接口中定义的所有方法,就认为该类型实现了该接口。接口不关心具体的实现细节,只关心方法的签名(即方法的名称、参数和返回值类型)。通过定义接口,我们可以隐藏实现细节,只暴露必要的方法,从而提高代码的可维护性和可读性。:通过接口,不同类型的对象可以实现相同的方法,从而实现多态行为。:接口在单元测试中也很有用,可以轻松替换被测试对象的实现,从而实现对被测代码的独立测试。:通过定义一组接口,不同的插件可以实现这些接口,并在程序运行时动态加载和使用插件。方法,那么任何实现了该方法的类型(如。
2025-03-18 17:10:59
616
原创 GoLang的select是什么?在什么时候场景下用
在 Go 语言中,select 是专门用于处理通道(Channel)多路复用的关键字,它可以同时监听多个通道的读写操作,并根据就绪的通道执行对应的逻辑。
2025-03-06 12:28:36
583
selenium全部jar
2018-11-26
webmagic相关jar包
2018-11-21
ssm整合--spring-mybatis-spring-mvc
2019-03-06
图书馆管理系统2
2019-04-30
图书馆管理系统
2019-04-30
全世界国家及全世界城市
2019-01-10
医院挂号管理系统,挂号管理系统
2019-04-29
ssm_test.zip
2020-07-31
cpu动态走势图jQuery及highcharts
2018-10-31
全球城市数据
2019-01-15
word分词源码
2018-10-26
使用MyBatis Generator自动创建代码
2019-03-06
word2vecjava,word2vecjava,jar
2019-04-29
Hadoop权威指南第四版
2018-11-02
eclipse连接hadoop相关工具
2018-10-26
webmagic入门demo
2018-11-21
spring-spring-mvc-mybatis整合例子
2019-03-05
Spring Boot项目结构与模块介绍 - Web应用开发
2024-11-08
绩效考核系统
2019-04-30
全国各省市地区经纬度数据.xls
2020-11-08
libsvmDemo
2019-05-09
nacos-server-2.0.0-ALPHA.1 下载
2021-01-20
testcode.zip
2021-06-21
全国高校名单数据-JavaPub版本
2020-11-08
文章管理系统2
2019-04-30
文章管理系统
2019-04-30
historyNews.zip
2019-08-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人