- 博客(91)
- 收藏
- 关注
原创 一命速通:Go 语言操作 Office Excel 文档,从入门到实战解析
Excelize是Go语言生态中的全能Excel处理库,遵循国际标准,支持XLSX/XLSM等格式的读写与编辑。其核心优势包括:全场景兼容复杂文档(样式、图表、数据透视表)、高性能流式API处理大数据、跨平台运行。功能覆盖基础操作到高级应用,被阿里、腾讯、工行等头部企业采用。提供权威书籍、视频课程等学习资源,是Go开发者处理Excel的首选工具,满足从简单报表到企业级业务的各种需求。
2025-09-24 19:14:58
1087
原创 从零开始玩转 THC-Hydra:Linux 下完整编译、RDP 适配与多协议爆破实战
本文提供THC-Hydra 9.5版本在CentOS/RHEL系统上的完整安装指南,重点解决FreeRDP 2.x兼容性问题,并给出多协议爆破实战命令。内容包括:1)环境准备与依赖安装;2)源码获取与RDP补丁修复;3)编译安装验证;4)SSH/RDP/HTTP爆破命令模板及批量检测技巧;5)安全防护检查清单。特别强调所有操作仅限授权测试,附常见问题解决方案。通过本文可获得打好补丁的Hydra工具及即用型命令集,适用于渗透测试与安全审计场景。
2025-09-01 17:22:16
1143
原创 一命速通Docker安装+镜像源配置
本文详细介绍了在CentOS系统下安装和配置Docker的完整步骤。首先通过导入GPG密钥解决签名验证问题,然后清除yum缓存并重建元数据以确保包下载正常。安装过程中包含对containerd.io版本兼容性问题的解决方案。文章还提供了Docker服务启动、开机自启设置及状态验证方法,并详细说明了配置国内镜像加速的步骤,包括创建配置文件、重载服务和重启Docker等操作。最后介绍了如何验证镜像源配置是否生效。
2025-08-04 15:19:36
228
原创 Linux部署各类软件
本文详细介绍了在Linux系统上部署各类常用软件的完整流程,主要包括以下内容: 数据库管理系统部署 MySQL 5.7和8.0版本在CentOS和Ubuntu系统的安装配置 包括创建用户、设置密码、允许远程访问等关键步骤 中间件部署 Tomcat安装与JDK环境配置 Nginx安装及防火墙配置 RabbitMQ集群部署及WEB管理界面配置 Redis安装与基本测试 大数据组件集群部署 Zookeeper集群配置 Kafka集群安装与测试 Hadoop生态(HDFS/YARN)集群部署 HBase分布式数据库
2025-07-29 17:58:46
741
原创 Docker
https://sxjytp09oux.feishu.cn/docx/QPJjd9u93o8Gr2x1egpcSQOInyc?from=from_copylinkdocker
2025-07-28 09:43:18
1067
原创 部署上线你的项目
本文介绍了前后端项目部署到服务器的完整流程。后端部分:1. 使用交叉编译生成Linux可执行文件并上传;2. 通过nohup命令后台运行并记录日志。前端部分:1. 打包dist文件夹并上传;2. 配置Nginx托管静态文件及反向代理。同时提供了常见问题解决方案:二进制文件执行权限、403访问错误、404接口问题等。部署过程涉及文件上传、服务启动、Nginx配置等关键步骤,并强调了前后端配置一致性的重要性。
2025-07-26 07:12:46
484
原创 从0到1理解虚拟化:半虚拟化vs全虚拟化,为何Windows“特殊”?
虚拟化技术通过资源抽象实现多系统共享硬件,主要分为全虚拟化和半虚拟化两种方式。全虚拟化(如KVM、VMware)借助硬件辅助或二进制翻译兼容所有系统,包括Windows,但存在性能损耗;半虚拟化(如Xen)通过修改客户机内核实现高性能,但因Windows闭源特性难以直接支持。微软通过Hyper-V提供类似优化方案。实际应用中,云服务多采用全虚拟化保证兼容性,高性能场景则倾向半虚拟化(主要支持Linux)。未来虚拟化技术将与容器融合,并借助硬件辅助进一步优化性能。
2025-07-16 17:18:03
1281
原创 一命速通Prometheus+Grafana+Consul+VictoriaMetrics
一命速通Prometheus+Grafana+Consul+VictoriaMetrics
2025-06-17 16:16:49
1175
原创 nvm和yarn
主要是后端开发,但是最近写毕业设计发现前端这边对环境的要求比较严格,比如去执行 npm install 的时候,会出现20的版本可以拉下来依赖,但是npm run dev 时候却启动不了,要换成10的版本去启动。熟练掌握这两个工具的使用,能够大大提高我们的开发效率,让我们的前端开发工作更加顺畅。那么这里来来回回换版本就不舒服,于是就得使用 nvm 和 yarn这俩工具,看看它们的作用以及区别在哪里。在今后的开发中,能够合理地运用它们,为项目的成功保驾护航。在前端开发中,不同的项目可能依赖于不同版本的。
2025-03-12 10:46:11
754
原创 Git 中的 author 和 committer 有什么区别
在 Git 中,author和committer是两个不同的角色,分别表示谁了提交(commit),以及:表示代码的原始作者,即最早编写更改内容的人。author的时间和姓名信息记录了是谁和何时编写了这段代码。:表示最终将该更改提交到 Git 仓库中的人。通常情况下,committer和author是相同的,但如果有人对别人的提交进行了修改(如通过rebase或等操作),committer就可能会和author不一样。committer的时间和姓名信息记录了谁和何时将该更改提交到仓库。
2025-02-14 15:51:51
828
原创 加密/解密密码
出于安全考虑部分环境连接sql的密码改为加密后的内容、为方便开发连接SQL排查问题,可根据下面方式获取sql连接密码。加密:go run aes.go encrypt {pass}解密:go run aes.go decrypt {pass}通过工具加密/解密 环境中的连接密码。
2025-02-14 15:49:12
294
原创 通过脚本加载镜像
sh docker_load.sh 存放镜像的文件夹(/root/images) 目标的仓库地址(docker-hub.gitee.work/gitee-prod)可以通过以下方式实现批量处理镜像并推到客户镜像库中。
2025-02-14 15:44:58
301
原创 DDD比MVC
DDD(Domain-Driven Design,领域驱动设计)是一种软件开发方法论,专注于通过构建清晰的领域模型来解决复杂业务问题。它强调与业务专家紧密合作,通过统一语言(Ubiquitous Language)建立直观的领域模型,使软件设计更加符合业务需求。wp:headingDDD 的核心概念领域(Domain):业务活动的范围或问题空间。统一语言(Ubiquitous Language):开发团队和业务人员共用的术语,确保沟通一致性。边界上下文(Bounded Context)
2025-02-08 16:19:17
384
原创 Redis的各种操作
使用golang语言实现了各种redis的实现。对redis里的值进行自增操作并设置过期时间。,set,get,ttl,delete等等。在服务重启时需要删除的 redis 缓存。哎嘿,你就看吧,一看一个不吱声。包括初始化redisDb,
2025-01-12 13:52:30
538
原创 jwtToken golang
jwtToken用于用户登录需要,只要是个系统都会需要token。本文将持续更新记录我遇到go语言中的各种token。
2025-01-12 13:42:36
160
原创 Kafka-go语言一命速通
# 验证kafka是否启动ps -ef | grep kafka # ps -ef 命令用于显示所有正在运行的进程的详细信息lsof -i :9092# 启动kafkabrew services start zookeeperbrew services start kafka# 创建topickafka-topics --create --topic test --partitions 1 --replication-factor 1 --bootstrap-server localho
2025-01-08 19:27:58
579
原创 《深度工作》:在分心的世界里,如何找到专注的力量
深度工作,是指在无干扰的环境下,全神贯注于复杂、富有挑战性的认知任务的状态。在这种工作状态下,人的注意力高度集中,能以超高的效率完成最具创造性和高价值的任务。卡尔·纽波特将深度工作定义为“能带来最杰出成果的状态”。而与深度工作相对的,是“浅层工作”(Shallow Work)——那些不需要高度专注的任务,如回复邮件、浏览社交媒体、参加例行会议等。浅层工作虽然看起来忙碌,但通常是低效的,且不利于个人成长。纽波特认为,深度工作不仅是一项稀缺资源,更是当下职场中的一种竞争优势。
2025-01-03 09:58:03
1642
原创 九转算法蛊
坚持蛊只有7转,因为成功不能只靠坚持注意这里面都是力扣的核心代码模式,注意去联系 acm 模式,就是全面编程,坑还是很多的,而且题目给的 '0' ,'1' 这种是字符,这种的数组里面类型注意是 byte, 0 ,1 这才是 int,小心这个坑。重复刷,做的题是会忘的,刷旧题的收获比新题收获会大哥,真别减了,这里面的题已经是最少最少的,再偷懒那你还考个蛋完全背包,回溯
2025-01-02 10:41:43
1069
原创 K8s+Helm常用命令(反正够你用就行了)
Kubernetes Namespaces _ Kubernetes(K8S)中文文档_Kubernetes中文社区在kubernetes中抽象了各种各样的资源,如Pod、deployemnt、Service等,⽽我们可以通过这些资源进 ⾏部署我们的系统。但是在kubernetes中没有抽象出应⽤的概念, ⽽应⽤⼀般由多种资源组成,正因为这种多资源很难进⾏抽象。就出现了helm这个基于应⽤的级别的包管理⼯具。帮助运维或者开发⼈员更⽅便的定义、部署以及应⽤的管理。
2024-12-29 10:56:35
1381
原创 Go语言gRPC与gozero的api
gRPC是由Google开发并开源的一个高性能、通用的RPC框架。它基于HTTP/2协议,默认使用Protocol Buffers(简称ProtoBuf)作为接口描述语言(IDL)。创建一个.proto文件来定义gRPC服务。例如,一个简单的HelloWorld服务:wp:code/wp:codewp:listgetpostputdelete等。路由参数用:param表示。/wp:list定义方式wp:listgRPC:基于.proto。
2024-12-23 16:35:20
1320
原创 Mysql最左匹陪原则-《大爱仙尊版》
最优匹配原则(Best Matching Principle),指在使用 MySQL 索引时,查询优化器会根据查询条件和索引类型,优先选择和查询匹配度最高的索引。比如:优先使用最具体的索引,如 B-Tree 索引在这方面具有明显优势。并列过滤条件,选择最小最简单的数据集。同时考虑索引路径和数据规模,保证优化的解决方案。/wp:list在《蛊真人》中,“求完美,必先磨精致”一言展示了完美匹配的重要性。调用优化器时,就像制定法则,需要按照最优地选择索引,以达到高效和完美的目标。
2024-12-11 10:08:30
527
原创 贪心算法与动态规划的区别与总结(仙道杀招--万我)
wp:list贪心算法更强调快速决策,适合需要即时性选择的场景,但解的正确性需要额外验证。动态规划更注重系统化求解,通过穷举和递推保证全局最优,适合复杂的全局优化问题。/wp:list在实际开发中,选择何种算法取决于问题的特性。理解两者的差异与联系是算法设计中的重要一步。希望本文能帮助读者更好地掌握贪心算法和动态规划,灵活应对各种编程挑战!
2024-12-06 10:34:53
1874
原创 MySQL连接类型详解:左外连接、右外连接与内连接
内连接是最常用的连接方式,它返回两个表中匹配条件的记录。如果表中的某一行在连接条件下没有匹配的行,结果集将不会包含该行。内连接的目的是寻找表之间符合某种条件的“交集”部分。左外连接返回左表FROM后面的表)中的所有记录,以及符合条件的右表(JOIN后面的表)中的匹配记录。如果右表中没有与左表行匹配的记录,右表会返回NULL。右外连接与左外连接类似,只不过它返回的是右表中的所有记录,而左表中的记录会根据连接条件进行匹配。如果左表没有匹配的数据,左表的列会返回NULL。
2024-11-30 19:52:39
1471
原创 码云实习三个月感受
第二:细节,细心程度,你的代码规范,放的位置,变量的命名都是要按照规范去写,因为代码不是你一个人在做。再比如你的辅助业务不能影响主业务,例如记录日志这个业务,就不能影响主业务的程序执行,应该把记录日志的操作放到另一个线程中去执行,即使出错了,也不会影响主业务的结果。不知不觉已经来到码云实习了快3个月了,码云也就是gitee,怎么说呢,感觉对我提升最多的就是解决问题和困难的能力,刚来的时候总是去问,自己不知天高地厚,每天想着去”码头整点薯条“的生活,可是少年总是要经历社会的一顿摧折才会真正的成长。
2024-11-26 19:38:40
332
原创 动态规划---算法中的坚持仙蛊
然后再写代码,如果代码没通过就打印dp数组,看看是不是和自己预先推导的哪里不一样。如果打印出来和自己预先模拟推导是一样的,那么就是自己的递归公式、初始化或者遍历顺序有问题了。如果和自己预先模拟推导的不一样,那么就是代码实现细节有问题。
2024-11-14 15:13:01
819
1
原创 《王者荣耀》抽奖逻辑-简易实现
看的出来这只是一个简易版本的,但是麻雀虽小,五脏俱全,抽奖这块的功能可以应用与很多场景项目,比如电商、游戏、小程序娱乐等等,总之抽奖这东西就好比个万金油,你的项目里面加上个抽奖的模块逻辑,怎么加都不突兀,抽个奖,怎么加,都有面。为了确保公平性和乐趣,我们需要设计一个合理的抽奖逻辑,确保玩家的抽奖体验既有挑战性又能获得奖励。通过介绍这个抽奖逻辑,我们不仅能够为抽奖的玩家提供更公平、透明的抽奖体验,还能控制玩家的抽奖频率,避免过度沉迷。• 每次抽奖后,记录随机数、奖项和用户剩余的钻石,方便后续分析和调优。
2024-10-30 16:17:11
25661
原创 git commit 信息修改,一命速通
进入命令模式,这是按 a或者i或者o进入编辑模式,我们修改好commit信息后按Esc健退出编辑模式,然后:wq保存我们编辑的信息。之后你要改那个提交信息就去把它前面的pick 改成 e ,之后再按 esc 退出键后,按:wq,进行保存即可。,代表我要修改的内容再最近的两次提交内,如果你要修改的在最近三次,那就是。完成后,会出现一个新的提交信息编辑器,在这里可以编辑最终的提交信息。保存并关闭编辑器,Git将开始合并选定的提交。在打开的编辑器中,你会看到一个提交列表。若要合并提交,将要合并的提交前面的。
2024-10-23 09:13:21
1357
原创 docker部署es与kibana Mac
因为我们还需要部署kibana容器,因此需要让es和kibana容器互联,这里先创建一个网络。es与kb的镜像版本必须一致.-e "cluster.name=es-docker-cluster":设置集群名称-e "http.host=0.0.0.0":监听的地址,可以外网访问-e "ES_JAVA_OPTS=-Xms512m -Xmx512m":分配内存大小-e "discovery.type=single-node":单节点模式-v es-data:/usr/local/elasticsear
2024-10-21 17:27:55
472
原创 通过工具加密/解密 环境中的连接密码
出于安全考虑部分环境连接sql的密码改为加密后的内容、为方便开发连接SQL排查问题,可根据下面方式获取sql连接密码。加密:go run aes.go encrypt {pass}解密:go run aes.go decrypt {pass}
2024-10-18 15:33:59
237
原创 git提交信息写错处理方式
保存并关闭编辑器后,Git将开始合并这些提交。如果有冲突,Git会停止并让你解决它们。命令来合并提交记录。更多内容欢迎访问个人网站:www.zpf0000.com。要合并这些提交,你可以把除了第一个。在Git中,你可以通过使用。来检查合并后的提交历史。
2024-10-18 15:14:22
517
原创 git分支模型
如果发现,现有主流的分支模式都无法满足你的要求,那么,我们可以定义自己的分支模式,如我们有个团队是基于主干开发的,于是定义了春夏秋冬分支模式,春天用“春分支”,夏天用“夏分支”......,我个人就蛮喜欢的,原因有二,一是做到了主干开发,持续发布,二是名字起得很有意思,开发工作一定要有乐趣,不是么?Git-Flow 的分支模式,提供了相对完备的各种分支,以覆盖软件开发过程中的大部分场景,以致于在相当长的一段时间内,人们认为这就是标准的 Git 的分支模式(因为从它的名字上看,也很容易产生这样的幻觉)。
2024-10-18 14:19:31
1672
原创 综合公众号、企业微信、小程序的Scrm系统
公司的项目,自己并没有代码开源。一开始设计必然不能十分完美,先大致进行设计,包含你业务的所有涉及到的字段,之后去依据表结构定义模型。注意确定哪些字段是必填项,使用gin框架和validate参数校验进行验证。json序列化的时候可以确定哪些字段是不需要的,加上“omitiry',转化json时候便可依据实际情况进行转换。当然也可以采用 dao、query、vo 方式来定义不同的区域使用的模型。业务:采用MVC架构,进行解耦化处理,通过引入对象示例化的方式进行区域连接。
2024-09-04 08:34:58
774
原创 数据库之间表的迁移
相信大家在开发中,会先在本地和测试环境的数据库去建立表,没问题了再去正式环境建立相同的表。或者我们有旧系统和新系统,要把旧系统里面的数据库某个功能的相关的表给导出来,这时候就会发生表的数据迁移。目前我处于的公司正在维护一个新系统,是对原来旧系统的升级和维护,就需要进行测试,需要迁移表。
2024-08-20 06:52:37
3898
1
原创 HTTPS和SSL/TLS协议
wp:heading它们都是什么?HTTPS 全称为 HyperText Transfer Protocol Secure,即超文本传输安全协议。它是在 HTTP 协议的基础上,通过添加 SSL/TLS 协议来实现数据加密、身份验证和数据完整性保护,从而提供更安全的网络通信。HTTPS 主要用于保护用户在与网站进行交互时的隐私和数据安全。例如,当您在网上进行购物、登录银行账户或提交个人信息时,如果网站使用的是 HTTPS 协议,您的通信内容将被加密,防止被第三方窃听或篡改。
2024-07-31 11:29:39
3218
原创 Mysql的RedoLog、BingLog、UndoLog
wp:headingUndoLogundo log 是一种用于撤销回退的日志。在事务没提交之前,MySQL 会先记录更新前的数据到 undo log 日志文件里面,当事务回滚时,可以利用 undo log 来进行回滚。每当 InnoDB 引擎对一条记录进行操作(修改、删除、新增)时,要把回滚时需要的信息都记录到 undo log 里,比如:在删除一条记录时,要把这条记录中的内容都记下来,这样之后回滚时再把由这些内容组成的记录插入到表中就好了;
2024-07-27 19:21:20
765
原创 Go并发GMP调度模型
Go和C++不同,Go的逃逸分析是在编译器完成的;go局部变量会进行逃逸分析。如果变量离开作用域后没有被引用,则优先分配到栈上,否则分配到堆上。那么如何判断是否发生了逃逸呢?go build -gcflags '-m -m -l' xxx.go.关于逃逸的可能情况:变量大小不确定,变量类型不确定,变量分配的内存超过用户栈最大值,暴露给了外部指针。如果变量内存占用较大时,优先放在堆上;如果函数外部没有引用,优先放在栈中;如果变量在函数外部存在引用;必定在堆中。协程泄漏是指协程创建之后没有得到释放。主要原因有:
2024-07-24 21:36:37
2353
原创 并发编程之sync.map
sync.map是线程安全的,读取,插入,删除也都保持着常数级的时间复杂度。通过读写分离,降低锁时间来提高效率,适用于读多写少的场景。Range 操作需要提供一个函数,参数是k,v。调用 Load 或 LoadOrStore 函数时,如果在 read 中没有找到 key,则会将 misses 值原子地增加 1,当 misses 增加到和 dirty 的长度相等时,会将 dirty 提升为 read。以期减少“读 miss”。
2024-07-23 17:37:05
2041
原创 抽奖算法的设计与实现
wp:image/wp:imagewp:image/wp:image可以看见,我们首先定义了Req和Respprotobuf代码解读复制代码首先,在代码中定义了一个抽奖策略接口,该接口声明了一个Run()方法用于执行抽奖策略。go代码解读复制代码和。结构体实现了基于时间的抽奖策略。它包含了的引用,以及当前时间信息。go代码解读复制代码结构体实现了基于人数的抽奖策略。它也包含了的引用,以及当前时间信息。go代码解读复制代码。
2024-07-21 11:21:49
1415
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅