• ARTICLE
  • STRING
  • CONVERTER
  • ENCRYPT
  • NETWORK
  • MORE
    CHART
    MATH
    COORDINATE
    IMAGE
    FILE
  • ARTICLE
    STRING
    CONVERTER
    ENCRYPT
    NETWORK
    MORE
    CHART
    MATH
    COORDINATE
    IMAGE
    FILE
logo Online Tools
All Chinese English Newest Hottest
74 search results

Metrics SDK 是与字节内场时序数据库 ByteTSD 配套的用户指标打点 SDK,在字节内数十万服务中集成,应用广泛,因此 SDK 的性能优化是个重要和持续性的话题。本文主要以 Go Metrics SDK 为例,讲述对打点 API 的 hot-path 优化的实践。

52 Technology lddgo Shared on 2023-10-30

Docker 作为一种流行的容器化技术,对于每一个程序开发者而言都具有重要性和必要性。因为容器化相关技术的普及大大简化了开发环境配置、更好的隔离性和更高的安全性,对于部署项目和团队协作而言也更加方便。本文将尝试使用 Go 语言编写一个极简版的容器,以此来了解容器的基本原理。

47 Technology lddgo Shared on 2023-10-19

我们在进行性能优化的时候,往往会应用各种花式的优化手段:优化算法复杂度(从 O(N) 优化到 O(logN) ),优化锁的粒度或者无锁化,应用各种池化技术:内存池、连接池、线程池、协程池等。压缩技术、预拉取、缓存、批量处理、SIMD,内存对齐等等手段后,其实还有一种手段就是 Profile-Guided Optimization (PGO)。本文会介绍 PGO 的原理,以及 Go/C++ 语言进行 PGO 的实践。

56 Technology lddgo Shared on 2023-10-19

泛型编程在许多编程语言中都是一项非常强大的特性,它可以使程序更加通用、具有更高的重用性。然而,Go语言在很长一段时间内一直没有提供泛型功能。在过去的一些版本中,Go语言开发者试图引入泛型,但最终都因为各种原因被取消或搁置了。直到Go 1.18版本,终于引入了泛型功能。在本文中,将会介绍这项新特性及其使用方法。

50 Technology lddgo Shared on 2023-09-15

go 中高性能编程是一个经久不衰的话题,本文尝试从实践及源码层面对 go 的高性能编程进行解析。

47 Technology lddgo Shared on 2023-09-14

前段时间,通过监控观察到,我们业务中的某个服务突然出现goroutine数量、堆对象数量激增的情况,作为测试人员的我们跟着开发一步一步揭开了问题的真相,同时通过这个问题的排查也引发了我们的一些思考,如果你也有遇到过类似问题,毫无头绪的时候,欢迎阅读本文,跟我一起拨开层层迷雾,找到问题真凶。(一切问题都只是纸老虎~)

64 Technology lddgo Shared on 2023-09-08

笔者前段时间的工作中,某业务因为一行闭包错误使用的代码,引起了一次“血案”。闭包是一个函数及其相关的引用环境,可以捕获和记住函数定义时的状态信息并在函数执行时使用。 看一个例子:生活中我们在快餐店点餐时都会有点餐的号码,一般从1开始计数,每次顾客点餐时编号都会增加1,当两个顾客同时点餐的时候为了避免他们可能会得到相同的编号,就可以使用到闭包。Go语言提供了对闭包的支持,上述例子可以看到它在某些场景下是有作用的,但如果不小心,还是会踩坑的哦~ 本文会从golang闭包的基础知识、常见踩坑指南等方向解析,如果你也遇到过相同的问题为之困惑,欢迎阅读本文,跟我一起重新认识闭包正确使用姿势~

46 Technology lddgo Shared on 2023-07-21

本文演示如何将应用程序与 SkyWalking Go 集成,并在 SkyWalking UI 中查看结果。 以前,如果你想要在 SkyWalking 中监控 Golang 应用程序,需要将项目与 go2sky[1] 项目集成,并手动编写各种带有 go2sky 插件的框架。现在,我们有一个全新的项目(Skywalking Go[2]),允许你将 Golang 项目集成到 SkyWalking 中,几乎不需要编码,同时提供更大的灵活性和可扩展性。 在本文中,我们将指导你快速将 skywalking-go 项目集成到 Golang 项目中。

58 Technology lddgo Shared on 2023-06-05

你在什么时候会产生“想要放弃用 Go 语言”的念头?也许是在用 Go 开发过程中,接连不断踩坑的时候。本文作者提炼和总结《100 Go Mistakes and How to Avoid Them》里的精华内容,并结合自身的工作经验,盘点了 Go 的常见典型错误,撰写了这篇超全避坑指南。让我们跟随文章,一起重拾用 Go 的信心~

56 Technology lddgo Shared on 2023-06-05

端到端测试:正如Martin Fowler 所说 大量的端到端测试增加了测试时间,并且使得测试成本变得昂贵。 单元测试: 执行更加迅速,维护成本更低,因此单元测试的积累是我们走向卓越工程的必须项,单元测试的执行也使得测试粒度更细,能够更轻易发现我们代码中的缺陷。 以上每一条都阐述了单元测试的必要性,在各大顶尖互联网公司中,均认为单元测试是必要且收益较高的,因此在一个卓越工程下研发同学是一定需要写单元测试的。

52 Technology lddgo Shared on 2023-05-29