GoCN

其他

2592小时后,Golang将为你闪烁

项目实践,项目中各个过程环节要考虑的问题、解决的路径与参考等。线下现场只有30个名额,先报先得!根据传统我们依然提前开放有虫吃的优惠早鸟票,第一阶段截止日期为3月15日。
2023年2月21日
其他

好用的map-struct转换库 mergo

GopherChina大会报名火热进行中!扫描下方二维码即可报名参与大会合作、现场招聘及企业购票等事宜请联系微信:18516100522戳这里
2022年9月23日
其他

从头开始在 Go 中设计一个无密码的登录系统

无密码登录是一种误导性的说法,因为在任何认证步骤中都会以这样或那样的方式涉及密码。即使是在生物识别系统中,你的生物识别技术也充当了密码。无密码的概念是围绕着为用户创建临时密码而展开的。以达到减少攻击面的目的。请放心,如果密码每次都改变,那么攻击者将不得不获得用户的邮箱账号或手机号来破解系统。本文是系列博客的一部分,我们将从头开始构建无密码认证系统的后端和前端。这里使用的代码不应该被用作任何项目的种子代码,因为项目本身只是对范式的工作进行了研究。如果你想要一个更具体的实现或模块,我推荐你去看看Authboss。它是一套完整的产品,供
2022年9月7日
其他

「每周译Go」介绍 Go 中的 Strings 包

函数用于将一组字符串组合成一个新的字符串。要从字符串切片创建逗号分隔的字符串,我们将按以下方式使用此函数:fmt.Println(strings.Join([]string{"sharks",
2022年8月29日
其他

用 Go 跑的更快:使用 Golang 为机器学习服务

等分布中取样。这也是花费时间最多的地方。如果我们能同时做尽可能多的采样,我们就能很好地利用资源。最大限度地提高资源利用率是减少模型所需总体资源的关键。我们目前的预测服务是用
2022年7月5日
其他

「每周译Go」这次我们来点不一样的!--《How to Code in Go》系列上线

们大家好,从本周开始我们将每周定期发布《How-To-Code-in-Go》系列翻译文章,共包含40篇内容的学习。《How-To-Code-in-Go》系列文章是现阶段最新的Go语言学习书,希望每位
2022年7月4日
其他

使用 Go 和 Web 技术构建桌面应用程序

《开源精选》是我们分享Github、Gitee等开源社区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的是一个使用
2022年7月1日
其他

《Go 开源说 2022》预告PAAS系列之第12期 集群镜像技术sealer

写在前面Go开源说是GoCN推出的一档分享Go开源好项目的直播栏目,2022年联合腾源会社区全面升级,通过全新的栏目设置,希望能够帮助到开源作者们实现以下目标:第一是去推广他们的开源项目第二说说背后的设计原理和理念,产品优越性等第三让我们用户可以了解到更多好玩有用的项目,避免自己造轮子重复发明第四当然也希望通过这些分享让大家学习到每一个开源项目背后的设计理念,拥抱开源,做出自己的产品。回顾地址:https://github.com/gocn/opentalk——
2022年6月30日
其他

基于 QUIC 协议的 HTTP/3 正式发布

也将着眼于实际应用场景,赋能千行百业、驱动数字化转型升级,为全球数十亿用户打造美好的数字化生活体验。往期推荐Go高级工程师必修课
2022年6月29日
其他

Go高级工程师必修课 | 真心建议你来听听,别错过~

另外,好消息是!今年我们开启了线上+线下模式,外地的小伙伴可以购买直播票全程收看哦~扫码报名今年
2022年6月28日
其他

调试利器 go-spew

的形式输出。对于基础数据类型,上面两种方法都可以比较方便地满足需求。对于一些结构体类型数据,通常我们可以先将其序列化后再输出。如果结构体中包含不可序列化的字段,比如
2022年6月27日
其他

今晚,即将迎来新一位嘉宾···

读书会已经过去了一个月的时间了,不知道各位小伙伴们在这一个月里有没有好好读书呢?那么本期我们邀请到了哪位领读人,又将和大家一起读哪本书呢?一起来看~本期介绍第二期我们邀请到的嘉宾是《Go
2022年6月26日
其他

简单好用的缓存库 gcache

/Users/laocheng/work/code/market-data-backend/utils/t/2.go:22
2022年6月25日
自由知乎 自由微博
其他

构建Go命令行程序工具链

偷懒的故事今天的推荐需要从一个偷懒的故事说起···话说不久前,需要输出一个按发布时间排序的酷Go推荐的历史文章列表,类似于这样:于是乎,想着从GoCN上一篇一篇copy文章的标题吧,5篇下来,手眼已经不协调了,此时此刻才想起自己貌似是个码农,此情此景那必须coding一段,让代码来输出这个列表。思路很简单,看一下GoCN文章列表的API,再看下鉴权方式(看header是通过cookie),然后就可以coding了,通过API拉取文章数据,提取需要的字段再组装成MD输出就完事了!当准备一个main.go搞定的时候,本着对coding的敬畏,简单的思考了一下程序的可读性、拓展性,决定还是构建一个比较完整的命令行程序,如下:主角登场那么要实现上图的命令行提示,程序参数解析等,不借助于第三方包当然也能实现。但,前人种好的大树为哈不乘凉呢,在业界对于命令行工具的开发已经有比较成熟的实现,下面清楚本文的主角:cobra:应用命令行框架pflag:命令行参数解析viper:配置文件解析下面结合实际项目来看如何使用这三位大哥来构建Go命令行程序。先简单看下项目结构:.├──
2022年6月24日
其他

等等,怎么使用 SetMemoryLimit?

1.19还在开发之中,不过这个提案的功能已经实现,剩下的是一些文档和bug修复的工作了,所以我们可以使用gotip[8]来测试。这个提案的实现原来就是要实现(替换)ballast的功能,所以一旦Go
2022年6月23日
其他

第八届 GopherChina 大会蓄势待发!

志愿者招募本次大会需要大量的志愿者,包括但不限于:线上文案、设计、网络宣传、现场指引、签到、资料装袋、周边发放、展台服务等。现场志愿者仅接受北京地区的小伙伴。(偷偷告诉你:志愿者会有相关福利哦~)
2022年6月22日
其他

这不会又是一个Go的BUG吧?

hello,大家好呀,我是小楼。最近我又双叒叕写了个BUG,一个线上服务死锁了,不过幸亏是个新服务,没有什么大影响。出问题的是Go的读写锁,如果你是写Java的,不必划走,更要看看本文,本文的重点在于Java和Go的读写锁对比,甚至看完后你会有一个隐隐的感觉:Go的读写锁是不是有BUG?故障回放
2022年6月21日
其他

Alibaba/IOC-golang 正式开源 ——打造服务于go开发者的IOC框架

来比喻结构的全部信息。结构开发者视角:(撰写产品说明书)我负责定义结构的字段和函数我负责明确依赖的下游对象、依赖的参数字段。我负责明确参数应该从哪里加载,例如:从标签加载,从配置中某个位置加载,从
2022年6月20日
其他

eCapture:无需CA证书抓https网络明文通讯

eCapture介绍eCapture是一款基于eBPF技术实现的用户态数据捕获工具。不需要CA证书,即可捕获https/tls的通讯明文。项目在2022年3月中旬创建,一经发布,广受大家喜爱,至今不到两周已经1200多个Star。作用不需要CA证书,即可捕获HTTPS/TLS通信数据的明文。在bash审计场景,可以捕获bash命令。数据库审计场景,可以捕获mysqld/mariadDB的SQL查询。官网代码仓库见:https://github.com/ehids/ecapture产品架构eCapture系统用户态程序使用Golang语言开发,具有良好的系统兼容性,无依赖快速部署,更适合云原生场景。内核态代码使用C编写,使用clang/llvm编译,生产bpf字节码后,采用go-bindata转化为golang语法文件,之后采用ehids/ebpfmanager类库,调用bpf
2022年6月19日
其他

Web 全栈推拉能手 Socket.IO 库

("/socket.io",server)。响应事件//预设server.on(gosocketio.OnConnection,func(c
2022年6月18日
其他

Golang分析内存溢出

的方式,请在评论区教下大家,感谢~下面我手把手教大家如何通过以上两种方式来分析内存溢出问题,步骤详细,包教包会,建议收藏~/01
2022年6月17日
其他

手撕 Golang 高性能内存缓存库 bigcache! #4

本地缓存与分布式缓存缓存是系统提升并发能力、降低时延的利器,根据存储介质和使用场景,我们一般又会使用本地缓存与分布式缓存两种手段。本地缓存一般是在进程内的,最简单的,用
2022年6月16日
其他

是什么让 Golang 如此受欢迎?语言创造者的回顾

通讯》中写道,即使是他们,最早的工作也“极大受益于谷歌许多同事的建议和帮助”,而论文的第二句话强调,它现在是一个公共项目,“有成千上万的个人和几十家公司的贡献”。在强大的社区支持下,Go
2022年6月15日
其他

一文告诉你Go 1.19都有哪些新特性

runtime的持续打磨依然可以让gopher们产生一丝丝“小兴奋”,尤其是SetMemoryLimit的加入,是否能改善Go应用因GC不及时被kill的情况呢,让我们拭目以待。Go
2022年6月14日
其他

快速上手Thanos:高可用的 Prometheus

上传数据的一个非常重要的步骤:https://prometheus.io/docs/prometheus/latest/storage/#operational-aspects为了使用
2022年6月13日
其他

ORM 盛行下,你知道真正执行的 sql 么

WithArgs(user.UserName,user.ID).WillReturnResult(sqlmock.NewResult(1,
2022年6月12日
其他

Categraf - 夜莺监控发布新轮子

的收集,由夜莺监控核心开发团队开发。Categraf的代码托管在两个地方:中国计算学会确实开源平台:https://www.gitlink.org.cn/flashcat/categraf
2022年6月11日
其他

范型下,优雅的 Lodash 风

语言比较崇尚简单,所以在内嵌包中没有提供过多帮助性的函数,尤其在范型出来前想要写一个简单的对
2022年6月10日
其他

API设计中性能提升的10个建议

SSO令牌发生的事务数量来避免这种情况。此外,频控和流控也是实现安全性的重要手段,两者都是为了性能而实现限速的方式,有助于处理API的意外调用并主动监视和识别可能的恶意活动。6
2022年6月9日
其他

直播预约 | JetBrains 码上道:Go 语言的 netpoll 抽象与常见问题

对于编码方式有怎样的改进,同时为我们带来了哪些性能问题。而社区又是如何解决这些问题,并探讨其提出的解决方案是否靠谱。本次活动将在
2022年6月8日
其他

sealer,“集群”版本的 Docker,交付复杂度的终结者

https://raw.githubusercontent.com/kubernetes/dashboard/v2.2.0/aio/deploy/recommended.yamlCMD
2022年6月7日
其他

这一次ElasticSearch可能感受到了来自东方的压力 GoFound

'{"id":1,"text":"深圳北站","document":{"title":"阿森松岛所445","number":223}}'
2022年6月6日
其他

B站 API 网关的发展

站业务的发展,公司级中间件功能的不断更替演进,如果将对接各个中间件的工作在每个网关上都实现一次的话带来的人力投入和沟通成本会相当巨大,且实现标准不统一、运营方式不统一无法起到
2022年6月5日
其他

聊聊Twitter的架构决策

研究大规模互联网应用可以学到很多东西,像Netflix这样的公司,其复杂的架构不仅能够向数百万用户提供内容,而且还改善了用户体验,增加了用户粘性。在一家小公司中,像推送通知这样的机制可以是主代码库的一部分,并且可以在同一台机器上与应用程序的其他部分一起运行。但在Netflix,负责推送通知的服务器部署在全球多个数据中心,在本文的最后有一个关于这一架构演进的详细讨论的链接。虽然学习这些案例研究很有趣,但大多数人仍然没有在如此大的规模下工作的经验。在某些情况下,我们更容易了解公司如何从传统的主流应用服务方式转变为迎合用户体验的现代解决方案。下面我们以Twitter为例加以说明。10年前,大约在2012
2022年6月4日
其他

事件驱动的分布式事务架构设计

一、什么是事件驱动架构事件驱动架构是一种促进生产的软件架构范式。事件驱动架构在用微服务构建的现代应用中非常普遍,它用事件来触发、解耦服务之间的通信。事件可以是状态的变更,比如将商品放入购物车;也可以是某种标识,比如订单的发货通知。在传统的软件架构中,应用逻辑是通过请求、过程驱动的。一个请求执行一段逻辑同步返回一个响应,在业务逻辑中,将要执行的代码按照过程顺序进行编排。而事件驱动架构中,事件消费者会以异步的方式处理事件生产者产生的事件,原来过程当中的逻辑交给事件消费者去处理,解开服务之间的耦合,使应用的逻辑聚焦,应用的职责单一,代码更加简洁,也能提升系统的响应能力。二、分布式事务的事件驱动架构在
2022年6月2日
其他

国内又一个开源基金会来了,Go生态项目夜莺成为首选项目

已成为了云原生监控领域的事实标准,但是其重心是在定标准、打造基础能力、构建生态。这个定位和认知无限加强了其在监控的基础能力和标准层面的影响力,但也制约了Prometheus
2022年6月1日
其他

Go 适合 IO 密集型?并不准确!

池来管理。文件句柄可读可写事件则没有意义,因为文件句柄理论上是永远都是可读可写的,不会阻塞调用。所以文件的
2022年5月31日
其他

Cilium 开源 Tetragon – 基于 eBPF 的安全可观测性 & 运行时增强

❝原文链接🔗:https://isovalent.com/blog/post/2022-05-16-tetragon译文原文链接🔗:https://icloudnative.io/posts/tetragon/
2022年5月30日
其他

或许,书应该一起读

想必大家都曾遇到过类似这样的时刻:想看一本技术书但是遇到某个地方卡住了,导致后面也无法读下去,最后这本书就被搁置了;尤其是在研读一本较为高深难懂的技术书籍时,遇到bug思来想去怎么也搞不懂,想请教却一时不知该找谁,也不知该怎么开口,或担心对方太忙打扰到,请教技术大佬又感觉自己太菜,实在不好意思….那么针对以上问题,GoCN
2022年5月29日
其他

Go 最细节篇|pprof 统计的内存总是偏小?

任务则不断的回收内存,从而达到一个平衡。理论上是不存在常规意义的内存泄漏的。但在程序中,还是经常见到内存占用持续升高的场景,今天就是来分享这类场景的思考。Go
2022年5月28日
其他

go全栈开发框架bud,go语言中的ruby on rails

这个目录是创建的时候自动生成的,包含框架生成的代码,偶尔会需要从这个目录导入packages,但大部分时候都可以忽略它,建议不要放在版本控制器里controller/
2022年5月27日
其他

谢孟军:中国 Go 语言领军人创业第五年

年,我选择从苹果离职,成立了一家专注智能制造的公司——积梦智能。做公司和做开源有共同点,但思考的方向很不同。商业公司不仅要有优秀的开发团队,还需要招募财务、市场、管理等各方面的人才,而
2022年5月26日
其他

可替代 Jenkins:Drone 进一步简化 CI/CD

存储库内容,与所有容器共享它,为每个容器安装一个特定路径(/drone/src),并在那里设置一个主容器。因此,在这个文件夹中添加文件可以在一个阶段完成,稍后在另一个阶段找到相同的文件,例如前面的
2022年5月25日
其他

面试官提问三个Go接口的概念,10年gopher竟无言以对

},它的特定类型是int,但是它的类型集合确是无限的(任何底层为int并且实现了方法m的类型都属于它的类型集合)那么定义特定类型有什么用呢?特定类型的应用特定类型主要用于判断类型参数是否支持索引,
2022年5月24日
其他

10+ 条 Go 官方谚语,你知道几条?

时所积累下来的经验。(希望能够对你有所帮助)END-猜你想看-微软开源的支持多平台多协议的网络性能检测工具
2022年5月23日
其他

微软开源的支持多平台多协议的网络性能检测工具 Ethr

特性与优势跨平台,支持多种协议支持多线程,支持多客户端与单个服务器的通信与其他工具相比提供了更多的测试指标可作为服务端或者客户端对网络性能进行测量快速体验
2022年5月22日
其他

vscode 调试技巧|程序不是写出来的?是调出来的!

封装的过于严重,并且调试界面的实现各有不同,虽然提供了便捷,但是它对程序猿几乎相当于黑盒。一旦遇到点调试的问题,很难梳理清楚。并且当切换环境的时候经常要重新配置复杂的配置。奇伢个人尽量强避免依赖这些
2022年5月21日
其他

程序猿的520是这样的···

又到了一年一度的520这个520不知各位程序猿们打算怎么过?(准备好,一大波专属表情包即将来袭~)也许……有人像小N一样跳过,哈哈哈也有人可能有npy陪着过加班过别说了可无论如何都免不了要吃一波狗粮不管是在公司或是走在大街上又或是刷个朋友圈、群里聊个天都无孔不入谁说世界上没有免费的午餐这该死的狗粮午饭都省了不过放心如果你没有npy而有人在群里秀恩爱小G特意帮你应对这个场景~1同事:“小G啊,今天能不能帮我把这个小小的BUG搞一下,很好搞的,帮兄弟个忙~”小G:“你咋不自个来,你觉得我很闲吗?”同事:“反正你又不过520,今天多重要的日子,我约会要迟到了,交给你了哈!”小G:“emm…”2同事:”我们家小G这棵铁树啥时候才能开花啊?“小G:“搞得好像你今天有npy陪似的”3同事:“小G,江湖救急,帮兄弟看下这个BUG怎么回事儿,解决不掉。”小G:“哪里?”同事:“我心里,哈哈哈哈哈~”小G:“G-U-N-”4小G:“老大,今天520欸!”经理:5or6又——————大家520打算怎么过呢?欢迎评论区留言~我们单身狗一起抱团取安慰hhh以及还有哪些好玩的表情包欢迎后台私发给小N哦~祝大家520少吃狗粮多吃饭!-猜你想看-支持多种服务mock的工具OpenMockeBPF编程指北想要了解Go更多内容,欢迎扫描下方👇
2022年5月20日
其他

支持多种服务mock的工具 OpenMock

在实际测试过程中可能会遇到比较多费时费力的联调问题。本次推荐的openmock工具,通过mock的手段,可以简化此类项目的测试过程。2
2022年5月18日
其他

eBPF编程指北

可能会提供一些更加原生、但有一定限制的循环。尾调用的用途尾调用能够从一个程序调到另一个程序,提供了在运行时(runtime)原子地改变程序行为的灵活性。为了选择要跳转到哪个程序,尾调用使用了程序数组
2022年5月17日