腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
数据小冰
专栏成员
举报
143
文章
67304
阅读量
28
订阅数
订阅专栏
申请加入专栏
全部文章(143)
go(94)
编程算法(40)
函数(13)
http(12)
腾讯云测试服务(10)
单元测试(9)
打包(8)
node.js(7)
api(7)
缓存(7)
内存(7)
字符串(7)
数据库(6)
sql(6)
文件存储(6)
存储(5)
数据(5)
java(4)
linux(4)
网站(4)
网络安全(4)
raft(4)
string(4)
优化(4)
jquery(3)
json(3)
ide(3)
github(3)
unix(3)
rpc(3)
https(3)
websocket(3)
变量(3)
并发(3)
测试(3)
对象(3)
协议(3)
c 语言(2)
html(2)
android(2)
云数据库 Redis(2)
命令行工具(2)
SSL 证书(2)
tcp/ip(2)
etcd(2)
error(2)
int(2)
return(2)
time(2)
using(2)
编码(2)
程序(2)
内核(2)
负载均衡(1)
c++(1)
php(1)
javascript(1)
bash(1)
css(1)
单片机(1)
汇编语言(1)
git(1)
bash 指令(1)
mapreduce(1)
批量计算(1)
日志服务(1)
访问管理(1)
NAT 网关(1)
海外加速(1)
检测工具(1)
serverless(1)
开源(1)
dns(1)
推荐系统(1)
udp(1)
gcc(1)
socket编程(1)
数据处理(1)
数据结构(1)
系统架构(1)
nat(1)
kafka(1)
聚类算法(1)
性能测试(1)
account(1)
alignment(1)
break(1)
build(1)
byte(1)
code(1)
concatenation(1)
cpu(1)
data(1)
debug(1)
for循环(1)
gc(1)
get(1)
handler(1)
heap(1)
iteration(1)
join(1)
key(1)
label(1)
list(1)
map(1)
max(1)
memory(1)
package(1)
path(1)
port(1)
range(1)
redis(1)
reduce(1)
select(1)
server(1)
slice(1)
stack(1)
testing(1)
tree(1)
trim(1)
遍历(1)
编译(1)
编译器(1)
并发编程(1)
部署(1)
服务端(1)
接口(1)
客户端(1)
连接(1)
配置(1)
日志(1)
设计(1)
数组(1)
线程(1)
原理(1)
源码分析(1)
指针(1)
重构(1)
字符编码(1)
搜索文章
搜索
搜索
关闭
WebSocket协议-源码分析
websocket
并发
数据
协议
源码分析
本文是WebSocket系列文章的第3篇,从源码角度理解WebSocket是如何实现的。分析的是gorilla websocket,即WebSocket协议-实战中服务端使用的WebSocket库。
数据小冰
2024-07-04
35
0
利用continue label简化逻辑
变量
go
label
list
range
在Go语言中,continue语句可以标签一起使用,continue label在处理复杂的嵌套循环时非常有用,可以让代码变得更简洁。
数据小冰
2024-07-04
14
0
WebSocket协议-实战
协议
websocket
服务端
连接
数据
本文是WebSocket系列文章的第2篇,第1篇主要讲述概念原理。本文从实战角度介绍如何使用WebSocket。
数据小冰
2024-06-19
112
0
WebSocket协议-概念原理
websocket
客户端
数据
协议
原理
WebSocket与HTTP不是同一种协议,虽然两者都位于OSI模型的应用层,并且都依赖底层的TCP协议。它们有着各自的协议格式,应用不同的场景。WebSocket协议本身不依赖于HTTP协议,但是在WebSocket最初的建立阶段依赖于HTTP,因为在WebSocket的握手过程使用了HTTP请求来升级协议。
数据小冰
2024-05-13
431
0
redis SDS设计与实现分析
字符串
redis
内存
设计
数组
本系列文章从源码角度分析redis的设计与实现,分析的源码为最新版本7.2.4。下载地址(https://github.com/redis/redis/tree/7.2.4)。
数据小冰
2024-03-22
127
0
Go语言中常见100问题-#100 Not understanding the impacts of running Go ..
go
部署
内核
配置
线程
2021年Go开发者调查(https://go.dev/blog/survey2021-results)表明,用Go编写服务是最常见的用法,见下图。与此同时,Kubernetes是部署这些服务最广泛使用的平台。
数据小冰
2024-02-23
125
0
Go语言中常见100问题-#99 Not understanding how the GC works
gc
并发
对象
内存
go
垃圾回收♻️(GC)是Go语言关键特性,帮助开发人员大大减轻心智负担。我们知道内存有栈和堆区之分,栈内存无需手动释放,但是堆内存需要我们手动释放。在Go语言中,GC会跟踪和释放不再使用的堆内存,每个Gopher都应该了解其工作原理,这非常有助于我们对程序进行优化。
数据小冰
2024-02-23
150
0
Go语言中常见100问题-#98 Not using Go diagnostics tooling
go
using
程序
函数
内存
Go语言提供了一些优秀的分析工具,可以帮助我们定位程序的性能问题。本文关注最关键的两个工具:pprof和trace。pprof和trace都是Go语言自带的性能分析工具,pprof可以采集内存分配、goroutine等信息,使用trace可以分析并发、阻塞事件以及GC情况。
数据小冰
2024-02-23
175
0
Go语言中常见100问题-#97 Not relying on inlining
编译器
函数
优化
go
编译
内联是指用函数体内容替换函数调用。内联过程是由编译器自动完成的,了解内联的基本原理有助于我们对一些场景下的代码进行优化。
数据小冰
2024-02-01
129
0
Go语言中常见100问题-#96 Not knowing how to reduce allocations
reduce
对象
函数
优化
go
减少内存分配是Go应用程序的一个常见优化事项。本系列文章已介绍了不少减少堆上内存分配的方法:
数据小冰
2024-02-01
109
0
Go语言中常见100问题-#95 Not understanding stack vs. heap
heap
stack
变量
函数
go
在Go语言中,变量可以分配在栈上,也可以分配在堆上。栈内存和堆内存有着本质不同,会对数据密集型应用产生重大影响。本文主要讨论编译器将一个变量分配到栈上还是堆上规则。
数据小冰
2024-01-22
106
0
Go语言中常见100问题-#94 Not being aware of data alignment
alignment
data
变量
内存
go
数据对齐是指数据在内存中的分配方式。规则的内存分配可以加速CPU访问内存速度。如果不了解数据对齐,会导致编写的程序消耗额外的内存,并且程序性能低下。
数据小冰
2024-01-10
103
0
Go语言中常见100问题-#93 Not taking into account instruction-level ...
go
account
函数
数据
优化
指令级别并行也是严重影响程序性能的一个原因。在理解什么是指令级并行之前,先来看一个具体的例子,并分析如何优化它。下面的函数接收一个长度为2的int64类型数组,函数内部将迭代一定次数,在每轮迭代时,执行如下操作:
数据小冰
2024-01-02
107
0
Go语言中常见100问题-#92 Writing concurrent code that leads to false ...
go
缓存
code
内存
内核
在Go语言中常见100问题-#91 Not understanding CPU caches中讨论了缓存基本概念,可以看到一些特定的缓存(通常是 L1 和 L2)并不在所有逻辑内核之间共享,而是属于一个特定物理内核。这种特殊性会产生一些影响,比如并发时伪共享,这会导致性能显著下降。下面通过一个具体例子来说明什么是伪共享,以及如何预防这种情况发生。
数据小冰
2023-12-13
149
0
Go语言中常见100问题-#91 Not understanding CPU caches
go
缓存
cpu
函数
内存
机械同理心(mechanical sympathy)是三届F1世界冠军杰基·斯图尔特 (Jackie Stewart) 创造的一个术语。
数据小冰
2023-11-29
174
0
Go语言中常见100问题-#90 Not exploring all the Go testing features
go
testing
测试
对象
函数
单元测试是每个开发人员必须掌握的开发技能,Go语言特别注重单元测试,所以每个Gopher需要知道如何进行单元测试,使用什么参数控制测试效果,提升我们编写的代码质量,本文讨论相关单测技巧。
数据小冰
2023-09-10
194
0
Go语言中常见100问题-#89 Writing inaccurate benchmarks
go
性能测试
测试
函数
优化
我们不要猜测程序性能,在对代码进行优化的时候,可能会有很多因素发挥作用,所以需要综合考虑,进行测试验证准没错。然而,编写benchmark并不是一件简单的事情,很容易因编写错误的benchmark导致做出不正确优化。本章节将列举一系列非正确编写benchmark问题点。
数据小冰
2023-08-17
227
0
Go语言中常见100问题-#88-2 the iotest package
go
package
测试
函数
接口
iotest包 https://pkg.go.dev/testing/iotest 提供了测试 readers和writers 函数集合。很多Gopher不知道有这个包,本文讲如何使用该包,方便我们编写测试代码。
数据小冰
2023-08-17
172
0
Go语言中常见100问题-#41 substrings and memory leaks
go
memory
内存
日志
字符串
在Go语言中常见100问题-#26 slices and memory leaks讨论切片可能导致的内存泄露问题,其实对于字符串也可能会导致内存泄露。下面来分析在操作字符串的时候如何防止内存泄露。
数据小冰
2023-08-17
176
0
Go语言中常见100问题-#40 Useless string conversions
go
byte
string
函数
字符串
当编码操作的类型既可以是 []byte 又可以是 string时,大多数程序员倾向使用string类型,因为这样可能更方便。但是大多数的 I/O 操作采用的类型是 []byte。例如 io.Reader、io.Writer 和 io.ReadAll. 如果拿到的类型是string,但又要使用这些接口意味着需要进行类型转换,strings包提供了相关的转换函数。
数据小冰
2023-08-17
111
0
点击加载更多
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
立即查看
Python精品学习库
代码在线跑,知识轻松学
立即查看
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
立即体验
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
立即查看
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档