首页
学习
活动
专区
工具
TVP
发布

JuneBao

专栏作者
69
文章
41184
阅读量
11
订阅数
npm 镜像缓存方案
背景:我需要构建一个 Angular 的项目,每次打镜像时都需要很长时间下载依赖,想要将依赖打包成一个单独的基础镜像,构建项目时给予这个基础镜像并使用基础镜像中的本地缓存快速构建。
JuneBao
2022-10-26
1.7K0
【Python】Ply 简介
Ply 是一个纯 python 的词法分析和语法分析库,包括两个模块:lex 和 yacc
JuneBao
2022-10-26
2.4K0
【译】TcMalloc
TcMalloc 的核心是分层缓存,前端没有锁竞争,可以快速分配和释放较小的内存对象(一般是 256 KB)前端有两种实现,分别是 pre-CPU 和 pre-Thread 模式,前者申请一块大的连续内存,每一个逻辑 CPU 将获得其中的一段。这种模式下 TcMalloc 通过保存额外的元数据来动态地调整每种大小类的实际缓存大小。Per-Thread 模式为每个线程分配一个本地缓存,线程缓存中每种大小类的可用对象通过链表连接。
JuneBao
2022-10-26
2K0
【译】更新 Go 内存模型 Updating the Go Memory Model
这是 RSC 关于 Go 内存模型系列文章的最后一篇,介绍了 Go 处理竞争的整体思路和后续需要或可能做的一些更新,主要包括需要在文档中明确清楚 Go 能保证什么,不能保证什么以及一些可能需要添加的 API。作者更多的是站在 Go 明了易用的设计哲学角度去思考每种方案的优缺点。
JuneBao
2022-10-26
3570
【译】编程语言内存模型 Programming Language Memory Models
这是 RSC 关于 Go 内存模型系列文章的第二篇,介绍了 Java,C/C++,Rust,JavaScript 等高级语言的内存模型。对于高级语言来说,如何定义竞争,如何避免竞争,竞争发生时编程语言能提供什么保证都是内存模型需要考虑的问题。
JuneBao
2022-10-26
1.5K0
【译】硬件内存模型 Hardware Memory Models
很久以前,当人们还在写单线程程序的时候,让程序跑的更快的一个最有效的办法就是什么也不做,因为下一代硬件和编译器的优化会使得程序更快但行为不发生改变。但是多年前的某一天,硬件工程师们发现让单个处理器越来越快的魔法消失了,与此同时,他们发现了一种新的魔法……
JuneBao
2022-10-26
9540
[译] Bounds Check Elimination 边界检查消除
Go 是一种内存安全的语言,在针对数组 (array) 或 Slice 做索引和切片操作时,Go 的运行时(runtime)会检查所涉及的索引是否超出范围。如果索引超出范围,将产生一个 Panic,以防止无效索引造成的伤害。这就是边界检查(BCE)。边界检查使我们的代码能够安全地运行,但也会影响一定的性能。
JuneBao
2022-10-26
2550
Python3.10 结构化模式匹配 PEP 634
眼看 2021 马上结束,python 发布了它的 3.10 版本,优化了错误消息,上下文管理器等内容,但更吸引我的还是结构化模式匹配。
JuneBao
2022-10-26
2590
Go 1.18.1 Beta 尝鲜
昨天,go 终于发布了 1.18 的 beta 版本, 带来了大家期待已久的泛型,抓紧时间康康能不能赶上热乎的。
JuneBao
2022-10-26
8370
【MySQL】InnoDB 是如何存储数据的
InnoDB 是怎么存储数据的?数据目录 -> 聚簇索引 -> 页 -> 行格式 -> 独立表空间 -> 区,组,段 -> 系统表空间……
JuneBao
2022-10-26
5.9K0
【计网】从HTTP/0.9 到 HTTP/3
为什么会出现 HTTP 协议,从 HTTP1.0 到 HTTP3 经历了什么?HTTPS 又是怎么回事?
JuneBao
2022-10-26
5720
【数据库】事务?隔离级别?LBCC?MVCC?
之前对事务的了解仅限于知道要么全部执行,要么全部不执行,能背出 ACID 和隔离级别,知其然但不知其所以然,现在觉得非常有必要系统学一下,关于事务,关于 LBCC,关于 MVCC,关于死锁 ……
JuneBao
2022-10-26
7090
【Go】map 利用率统计
今天刷 B 站看见有 Up 主在讲布隆过滤器,提到了利用率的问题,假设有一组数据,范围分布非常广,使用布隆过滤器时如何尽量少的减少内存使用,感觉除了针对特定数据的定向优化外没什么特别好的办法,类似于 Google 那种加数据头以跳过大段间隙那样。然后想到类似的问题应该广泛存在于所有使用哈希表的数据结构中,那 go 中 map 的利用率如何呢?
JuneBao
2022-10-26
3940
【Go】留意 Select 的预求值!
关键在于 recvAndSend 函数的 case ch1 <- <-ch2: 我们希望在一条 case 中从 chan2 中取出数据并放到 chan1 中,但事实上这样会导致死锁,虽然平时谁也不会写出这种神仙代码,但下面这个就很容易被写出来了:
JuneBao
2022-10-26
1850
【Go】github.com/robfig/cron 源码阅读
robfig/cron/v3 是一个 Golang 的定时任务库,支持 cron 表达式。Cron 的源码真实教科书级别的存在(可能是我菜 ...),真的把低耦合高内聚体现地淋漓尽致,另外其中涉及的装饰器模式,并发处理等都很值得学习。
JuneBao
2022-10-26
2.1K0
【Go】Chan 的使用和源码解析
chan 是什么?为什么要 share memory by communicating?Chan 底层怎样实现?无缓冲 Chan 和 有缓冲 Chan 有什么不同?Chan 在收发数据的过程中也会加锁吗?
JuneBao
2022-10-26
8090
【Go】sync.WaitGroup 源码阅读
没想到人家巧妙利用了数组连续内存和 int 精度丢失来存储和读取状态,我大意了,没有闪 ┗|`O′|┛ 嗷~~
JuneBao
2022-10-26
2280
【Go】RWMutex 源码分析
读写锁相较于互斥锁有更低的粒度,它允许并发读,因此在读操作明显多于写操作的场景下能减少锁竞争的次数,提高程序效率。
JuneBao
2022-10-26
1820
【Go】sync.Mutex 源码分析
互斥锁的锁状态由 state 这个 32 的结构表示,这 32 位会被分成两部分:
JuneBao
2022-10-26
2240
【Go】sync.Map 源码(2)
昨天到了原生 map 不是并发安全的,为了安全地使用 map, 1.7 之后推出了 sync.Map 并分析了 Store 和 Load 地源码,今天看看 LoadOrStore 和 Random 地源码,并做个总结。。。┏┛墓┗┓...(((m -__-)m
JuneBao
2022-10-26
3870
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档