话题编程语言 › Go

编程语言:Go

关联话题: Golang

Go语言最佳实战[一]

如果我要谈论任何编程语言的最佳实践,我需要一些方法来定义 “什么是最佳”。 如果你昨天来到我的主题演讲,你会看到 Go 团队负责人 Russ Cox 的这句话:软件工程就是你和其他程序员花费时间在编程上所发生的事情。

层级时间轮的 Golang 实现

一、引言最近在工作中负责制定重构计划,需要将部分业务代码从 Python 迁移到 Golang。其中一些功能涉及到 Celery 延时任务,所以一直在思考 Golang 中处理延时任务的有效方案。 其实在软件系统中,“在一段时间后执行一个任务” 的需求比比皆是。比如: 客户端发起 HTTP 请求后,如果在指定时间内没有收到服务器的响应,则自动断开连接。 为了实现上述功能,通常我们会使用定时器

海量日志实时收集系统架构设计与go语言实现

日志收集系统应该说是到达一定规模的公司的标配了,一个能满足业务需求、运维成本低、稳定的日志收集系统对于运维的同学和日志使用方的同学都是非常nice的。然而这时理想中的日志收集系统,现实往往不是这样的.

从Go高性能日志库zap看如何实现高性能Go组件

zap是uber开源的golang高性能日志库。本文作者深入分析了zap的架构设计和具体实现,揭示了zap高效的原因。并且对如何构建高性能Go语言库给出自己的建议。

前端遇上Go: 静态资源增量更新的新实践

前端资源加载是前端一个经常谈论的话题。过去我们主要依赖浏览器的默认行为,但这种默认行为往往对缓存的利用率不够。对于一个经常改动发版的页面,我们希望每次上线时,尽可能利用缓存,降低资源发布时给用户带来的加载延时。

聊聊Go中的Range关键字

Go中的range关键字使用起来非常的方便,它允许你遍历某个slice或者map,并通过两个参数(index和value),分别获取到slice或者map中某个元素所在的index以及其值。

golang语言并发与并行——goroutine和channel的详细理解(一)

如果不是我对真正并行的线程的追求,就不会认识到Go有多么的迷人。Go语言从语言层面上就支持了并发,这与其他语言大不一样,不像以前我们要用Thread库 来新建线程,还要用线程安全的队列库来共享数据。以下是我入门的学习笔记。

Go 语言简介(下)— 特性

在Go语言中,可以使用goroutine实现轻量级的并发编程。通过使用go关键字调用函数或匿名函数,可以创建多个goroutine并发执行。然而,如果不注意并发安全性,可能会导致问题。文章给出了一个卖票的示例,使用goroutine来并发卖票,但存在并发安全性问题。为了解决这个问题,可以使用互斥锁来保护共享资源,确保只有一个goroutine可以访问资源。另外,还提到了一种原子操作的方法:CompareAndSwap,它可以用来实现原子操作,确保并发执行时的安全性。此外,还介绍了Channel的概念,可以用来实现goroutine之间的通信。可以通过创建一个Channel,将数据发送到Channel中,然后从Channel中接收数据。还介绍了如何指定Channel的缓冲大小,以及如何通过Channel来实现goroutine和主程序之间的通信。

Go 语言简介(上)— 语法

这篇文章是关于Go语言的基本语法和特点的介绍。文章以代码和注释为主,介绍了Go语言中数组、切片、分支和循环语句的用法。此外,文章还补充了关于分号的规则,以及map的操作。通过示例代码和注释,文章简明地介绍了Go语言的基本语法和特点。

编写和优化Go代码

Thoughts on Go performance optimization. Contribute to dgryski/go-perfbook development by creating an account on GitHub.

Golang多级内存池设计与实现

上个月,牙膏厂intel因为Meltdown和Spectre两个bug需要给CPU固件和系统打了补丁。我们生产环境使用的是阿里云,打完补丁后,几台IO密集型的机器性能下降明显,从流量和cpu load估计,性能影响在50%左右,不是说好的最多下降30%麽? <

使用golang采集进程的fd导致cpu飘高问题

监控业务agent使用golang实现的进程监控数据采集,部分线上ha和nginx部分机器10s周期的进程数据采集时agent cpu消耗周期性飘高。 第一个版本实现: func CalculateFd(pid string) (netFdNum uint, fileFdNum uint, err error) { path := "/proc/" + pid + "/fd/" files,…

使用Go与redis构建有趣的应用

本文分为4个部分,第一部分是介绍redis的功能、应用以及数据结构是怎样的。第二部分是开始使用redis构建锁。第三个是使用redis构建在线用户统计器。第四个是使用redis构建自动补完程序。

Discord 怎么用 Go 和 C++ 来每天 Resize 1.5 亿张图片

简评:Discord 开源了自家基于 C++ 和 Go 的图片大小调整库 - Lilliput,看起来性能还不错。 Discord 是一款国外的免费实时通话软件,主要面向游戏玩家,因此你可以简单的将其理解为国外的 YY。尽管 Discord 主要…

golang之TCP开发

本文由美丽联合安全小哥哥用学提供~

Golang:无惧makefile

目前发现项目中的好多小伙伴在编写go程序的时候,基本都是使用命令行来执行“go build”、“go test”这些命令。但是发现很是麻烦而且效率不高,所以今天小编将本文带给大家,希望能够帮助大家提高效率。

Home - Wiki
Copyright © 2011-2024 iteam. Current version is 2.138.0. UTC+08:00, 2024-12-22 12:03
浙ICP备14020137号-1 $Map of visitor$