深圳幻海软件技术有限公司 欢迎您!

  • 三方仓库如何实现Zadig流水线自动触发

    最近因为公司的产研调整,决定将代码仓库从本地的Gitlab迁移到云效的Codeup,不是Gitlab不够好,而是Codeup在度量、安全等方面比原生的Gitlab要好,再则公司的产研管理也迁移到了云效,也为了统一化管理。有同学可能会问,都用云效了,为什么不直接用它的AppStack,还要用Zadig

  • day02-Promise

    Promise1.Promise基本介绍Promise是异步编程的一种解决方案,可以解决传统Ajax回调函数嵌套问题。传统的Ajax异步调用在需要多个操作的时候,会导致多个回调函数嵌套,导致代码不够直观,就是常说的CallbackHell为了解决上述的问题,Promise对象应运而生,在EMCASc

  • 我的Vue之旅 07 Axios + Golang + Sqlite3 实现简单评论机制

    第三期·使用Vue3.1+TailWind.CSS+Axios+Golang+Sqlite3实现简单评论机制效果图CommentArea.vue我们需要借助js的Data对象把毫秒时间戳转化成UTCString()。并在模板表达式中使用{{dateConvert(value.date)}}src="

  • 请求量太大下游扛不住怎么办?进来学一招

    背景这个问题简单说一下背景,如果不明白可以看上篇文章,不想看也没关系,这是个通用的解法,后面我会总结抽象下。在上篇文章的最后提到对每个摘除的地址做决策时,需要顺序执行,且每一个要摘除的地址都要实时获取该集群的地址信息,以便做出是否需要兜底的决策。当被摘除的机器非常多时,获取地址信息的请求量就会非常大

  • 通过实战总结的 GoFrame 使用小技巧

    gfgendao生成dao层的脚手架工具很好用,我遇到的坑是这样的:生成的dao文件和同事们的不一致,生成文件成功,但是对应的Columns方法是空的。虽然有这个方法,但是方法内没有值。我的版本比同事们的略高,我一直以为是这个原因,各种降级和同事保持一致的版本后还是不行。最终发现:是配置文件中连接的

  • Go 编程语言中使用文本文件指南

    作为一种编程语言,Go具有广泛的内置功能,包括创建、读取和写入文本(.txt)文件等文件的功能。文件是现代世界我们日常生活的重要组成部分。文本文件对于存储结构化的人类可读数据非常有用,而无需使用外部软件或数据库。如果您想知道如何开始在Go中操作文本文件,那么本文是适合您的地方。Go中的bufio包b

  • Golang网络编程Net包浅析

    ​最近做了一个项目,其中用到了网络编程,下面和大家分享下在Go中网络编程的实现。在Go中,网络编程主要通过net包实现。支持包括TCP/IP、UDP、域名解析和Unix域socket等连接,此外,还通过net/http,net/rpc等提供了HTTP,RPC等主流应用层的连接协议。1.TCP服务TC

  • 聊聊 Go 如何打包与压缩文件

    文件的打包、压缩与解压缩是经常会使用到的功能,我们可以通过tar、gzip等工具来完成这些操作。在Go中,标准库archive与compress为我们提供了这些能力,通过本文示例,你会发现以Go编程的方式生成与处理压缩打包文件也非常简单。打包和压缩在开始代码之前,我们需要明确打包和压缩的概念。打包,

  • 开发一个禁止删除 Namespace 的控制器

    ​大家好,我是乔克。昨天收到一个朋友的信息,说不小心把集群的业务namespace干掉了,导致整个业务都停滞了,问我有没有禁止删除namespace的方案。在我的记忆里,Kubernetes的准入里并没有这个控制器,所以我就给他说需要自己开发一个准入控制器来实现自己的目标。作为人,何为正确!我不能只

  • Go 语言怎么使用对称加密?

    ​1.介绍在项目开发中,我们经常会遇到需要使用对称密钥加密的场景,比如客户端调用接口时,参数包含手机号、身份证号或银行卡号等。对称密钥加密是一种加密方式,其中只有一个密钥用于加密和解密数据。通过对称加密进行通信的实体必须共享该密钥,以便可以在解密过程中使用它。这种加密方法与非对称加密不同,非对称加密

  • 使用 Go 和树莓派排查 WiFi 问题

    去年夏天,我和妻子变卖了家产,带着我们的两只狗移居了夏威夷。这里有美丽的阳光、温暖的沙滩、凉爽的冲浪等你能想到的一切。我们同样遇到了一些意料之外的事:WiFi问题。不过,这不是夏威夷的问题,而是我们租住公寓的问题。我们住在一个单身公寓里,与房东的公寓仅一墙之隔。我们的租房协议中包含了免费的网络连接!

  • Go:gRPC-Gateway 完全指南,你懂了吗?

    大家好,我是程序员幽鬼。gRPC越来越流行,相关的插件也很多,今天介绍的就是一个gRPC插件。gRPC-Gateway是一个插件,它为gRPC服务生成反向代理服务器,将Restful/JSON转换为gRPC,反之亦然。换句话说,gRPC-Gateway将在你的gRPC服务上创建一个层,该层将充当客户

  • 怎么选择 Go 文件读取方案

    文件处理是一个常见的问题,同时Go又提供了非常多的文件读取方法,容易让人患选择困难症。本文作为其扩展,以实际不同大小的文件为例,来具体比较下它们的差异。创建不同大小的文件首先,我们需要有比较对象。鉴于电脑磁盘空间有限,本文就比较KB、MB、GB三个级别的文件读取差异。复制packagemainimp

  • 在 AlertManager 报警通知中展示监控图表

    之前用Python实现了一个非常简陋的AlertManager的钉钉接收器,一直想在钉钉的消息通知中将当前报警图表也展示出来,这样显然对用户来说更加友好。之前想的思路是通过爬虫的方式去Prometheus页面将Graph图形截图保存下来,该方式理论上确实是可行的,但是这种方式不稳定因素较多,而且会占

  • Go 实现分布式高可用后台:使用 gRPC 实现日志微服务

    掌握了gRPC的基本原理后,我们可以借助它来实现日志的微服务功能。在构建高并发系统时,内部的服务组件通常使用gRPC来实现高效数据传输,因此我们把前面使用json完成的日志服务改成用gRPC来完成。第一步还是要定义proto文件,修改proglog/api/v1下面的log.proto文件:复制sy

  • 快速了解 “小字端” 和 “大字端” 及 Go 语言中的使用

     “大字端”和“小字端”表示的是数据存储时的顺序区别,例如:对于数字573785173用十六进制表示为0x22334455。如何转化的,本篇不需要搞清楚,但如果你不懂就最好了解下。对于0x22334455,左边是高位,右边是低位,这和我们平常表示数字是一样的,例如:十二(12),1就是高位

  • 构建一个即时消息应用(三):对话

    本文是该系列的第三篇。第一篇:模式第二篇:OAuth在我们的即时消息应用中,消息表现为两个参与者对话的堆叠。如果你想要开始一场对话,就应该向应用提供你想要交谈的用户,而当对话创建后(如果该对话此前并不存在),就可以向该对话发送消息。就前端而言,我们可能想要显示一份近期对话列表。并在此处显示对话的最后

  • 一起 goroutine 泄漏问题的排查

     在golang中创建goroutine是一件很容易的事情,但是不合理的使用可能会导致大量goroutine无法结束,资源也无法被释放,随着时间推移造成了内存的泄漏。避免goroutine泄漏的关键是要合理管理goroutine的生命周期,通过导出runtime指标和利用pprof可以发现

  • 用Go构建一个SQL解析器

    摘要本文旨在简单介绍如何在Go中构造LL(1)解析器,在本例中用于解析SQL查询。为了简单起见,我们将处理子选择、函数、复杂嵌套表达式和所有SQL风格都支持的其他特性。这些特性与我们将要使用的策略紧密相关。1分钟理论一个解析器包含两个部分:词法分析:也就是“Tokeniser”语法分析:AST的创建

  • 几个Go系统可能遇到的锁问题

    之前统一特征系统在QA同学的帮助下进行了一些压测,发现了一些问题,这些问题是较为通用的问题,发出来给其他同学参考一下,避免踩同样的坑。底层依赖sync.Pool的场景有一些开源库,为了优化性能,使用了官方提供的sync.Pool,比如我们使用的https://github.com/valyala/f

推荐阅读