前言 最近经常用kubectl查看处理secret配置问题,因为secret的值都经过了base64编码,所以需要解码。如果不嫌切换界面麻烦的话,可以切浏览器用在线编解码工具。或者用linux一般自带的base64命令来编解码。但这个base64只接受文件输入和标准输入,有时候临时做个编解码要通过标 ...
题目描述: 给你二叉树的根节点 root ,返回它节点值的 前序 遍历。 思路分析: 递归法: 前序遍历的顺序是中左右的顺序。那么每个子树都是这个顺序,所以可以使用递归进行遍历。递归遍历有3部曲 1.确定递归函数的参数和返回值。 因为返回值要求保存在一个数组中,所以递归函数的参数应该包括树的根节点和 ...
开篇寄语 在Go语言的广阔生态中,桌面应用开发一直是一个备受关注的领域。今天,我将为大家介绍三款基于Go语言的跨平台桌面应用开发框架——LCL、CEF与Webview,它们分别拥有独特的魅力和广泛的应用场景。通过这三款框架,你将能够轻松开发出功能强大、界面美观的跨平台桌面应用程序。 一、LCL:Go ...
0、引言 我们知道,这当代操作系统中,多线程和多进程模型被广泛的使用以提高系统的并发效率。随着互联网不断的发展,面对如今的高并发场景,为每个任务都创建一个线程是不现实的,使用线程则需要系统不断的在用户态和内核态之间不断的切换,引起不必要的损耗,于是引入了协程。协程存在于用户空间,是一种轻量级的并发执 ...
夏令时与冬令时:时区的变化与调整 夏令时(Daylight Saving Time,DST)和冬令时是现代社会应对日照时间变化而实施的时间调整机制。夏令时的基本思想是在夏季时,将时间拨快一小时,以便更多的日照时间能被充分利用,尤其是在能源消耗较为密集的白天。冬令时则是指冬季恢复到标准时间,通常是将时 ...
Goroutine是Go语言中的一种轻量级线程,也成为协程,由Go运行时管理。它是Go语言并发编程的核心概念之一。Goroutine的设计使得在Go中实现并发编程变得非常简单和高效。轻量级:Goroutine的创建和切换开销非常小。与操作系统级别的线程相比,Goroutine占用的内存和资源更少。一... ...
Reviewbot 是七牛云开源的一个项目,旨在提供一个自托管的代码审查服务, 方便做 code review/静态检查, 以及自定义工程规范的落地。 静态检查不是个新鲜事。 我记得早在几年前,我们就调研并使用过 sonarqube 做静态检查,但当时并没有大范围的推广。主要原因在于,一是发现的问题 ...
大家好,我是 Java陈序员。 Nginx 由于其强大的性能,常常被用于企业开发中! 今天,给大家介绍一款开源的 Nginx 管理 Web 工具,支持通过界面完成 Nginx 的配置! 关注微信公众号:【Java陈序员】,获取开源项目分享、AI副业分享、超200本经典计算机电子书籍等。 项目介绍 N ...
GitHub 仓库链接:https://github.com/bxcodec/faker 简介 在开发和测试过程中,我们经常需要各种各样的测试数据。如果手动去生成这些数据,不仅耗时,还容易出错。faker 是一个 Go 语言的假数据生成库,可以快速生成各种字段的随机数据。这个库可以帮我们轻松生成各种 ...
当初: 原来的x.509证书,生成就一行代码,非常方便: openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout key.pem -out cert.pem 然后按照提示输入机构和dns信息即可。 然而: 最近在开发一个websocke ...
一、使用场景 试想一个场景,有一个配置服务系统,里面存储着各种各样的配置,比如直播间的直播信息、点赞、签到、红包、带货等等。这些配置信息有两个特点: 1、并发量可能会特别特别大,试想一下,一个几十万人的直播间,可能在直播开始前几秒钟,用户就瞬间涌入进来了,那么这时候我们的系统就得加载这些配置信息。此 ...
介绍一些开发中常用的slice关联的性能优化手段。鉴于golang编译器本身捉鸡的优化能力,优化的成本就得分摊在开发者自己的头上了。 这篇文章会介绍的优化手段是下面这几样: 创建slice时预分配内存 操作slice前预分配内存 slice表达式中合理设置cap值 添加多个零值元素的优化 循环展开 ...
0前言 context包作为使用go进行server端开发的重要工具,其源码只有791行,不包含注释的话预计在500行左右,非常值得我们去深入探讨学习,于是在本篇笔记中我们一起来观察源码的实现,知其然更要知其所以然。(当前使用go版本为1.22.2) 1核心数据结构 整体的接口实现和结构体embed ...
2000+多种开源大模型随意部署!一键搭建本地大模型,不挑环境、不挑配置(ollama 安装部署教程《Windows/Linux,Mac》) 一、Ollama介绍 2.1 基本介绍 Ollama是一个支持在Windows、Linux和MacOS上本地运行大语言模型的工具。它允许用户非常方便地运行和使 ...
逃逸分析算是go语言的特色之一,编译器自动分析变量/内存应该分配在栈上还是堆上,程序员不需要主动关心这些事情,保证了内存安全的同时也减轻了程序员的负担。 然而这个“减轻负担”的特性现在却成了程序员的心智负担。尤其是各路八股文普及之后,逃逸分析相关的问题在面试里出现的频率越来越高,不会往往意味着和工作 ...
1. 使用 Beego 实现静态文件下载 Beego 是一个强大的 Go Web 框架,提供了处理静态文件的功能。通过简单的配置,我们可以将本地文件夹作为静态资源目录,并为用户提供下载链接。 1.1 配置静态文件路径 首先,在 main.go 中,我们使用 SetStaticPath 将本地的 st ...
原文:blog.fanscore.cn/a/62/ 1. 背景 前一段时间公司上线了一套Go实现的推荐系统,上线后发现MMR层虽然只有纯计算但耗时十分离谱,通过pprof定位问题所在之后进行了优化,虽然降低了非常多但是我们认为其中还有优化空间。 可以看到日常平均耗时126ms,P95 360ms。 ...
SamWaf —— 是一款适用于小公司、工作室和个人网站的开源轻量级网站防火墙,完全私有化部署,数据加密且仅保存本地,一键启动,支持 Linux,Windows. ...
今天我们来说说一个大家每天都在做但很少深入思考的操作——类型转换。 本文索引 一行奇怪的代码 go的类型转换 数值类型之间互相转换 unsafe相关的转换 字符串到byte和rune切片的转换 slice转换成数组 底层类型相同时的转换 别的语言里是个啥情况 总结 一行奇怪的代码 事情始于年初时我对 ...
在 Go 语言中,sync.Map 是一个并发安全的映射结构,专门用于在高并发场景下处理键值对数据。它的并发安全是通过内部实现机制来保证的,而不是依赖外部的锁机制(如 sync.Mutex 或 sync.RWMutex)来手动保护操作。 sync.Map 并发安全的实现原理 sync.Map 采用了 ...