Closed gaocegege-bot closed 5 years ago
https://github.com/deebloo/things-you-can-do-in-a-web-worker
Web Workers give web developers the ability to run code in multiple threads. 这个是 web worker 可以做的一些事情
最近写完了 Nand2Tetris 的 VM Code Translator,发现编译器一类的软件似乎没有写单元测试的必要。但是我们可以直接用它编译几个程序来测试功能。
于是发现了 GCC 的 Test Suites。 https://gcc.gnu.org/onlinedocs/gccint/C-Tests.html#C-Tests
https://github.com/gcc-mirror/gcc/tree/master/gcc/testsuite/g%2B%2B.dg/cpp
https://randomascii.wordpress.com/2018/12/03/a-not-called-function-can-cause-a-5x-slowdown/
windows llvm 特别慢,发现是因为开了1k+ process, destroy 的时候特别慢,发现是 windows 关 GDI process 的时候特别慢,发现只要你调用了某个看起来无害的 windows parse argv 的函数就会 load GDI. 手工 parse argv (并 delay load)以后速度 5min -> 1min
https://www.hanselman.com/blog/AnnouncingWPFWinFormsAndWinUIAreGoingOpenSource.aspx
WPF WinForms WinUI 都开源了,啥时候 windows 也开源呢?
https://github.com/panjf2000/ants
🐜⚡️A high-performance goroutine pool for go
code base 非常小的 goroutine pool 实现
http://mysql.taobao.org/monthly/
阿里云RDS-数据库内核组的月报,每一期都挺硬核的
https://github.com/aphyr/meangirls CRDT 跟着 @htfy96 star (作者是 jepsen 的作者 ... 项目起名字还是很有个性的 ....
http://www.cs.nott.ac.uk/~pszgmh/pearl.pdf
Functional Pearls Monadic Parsing in Haskell
在看 Real World Haskell 的时候看到 Monad 和 fmap 看的云里雾里。
http://adit.io/posts/2013-04-17-functors,_applicatives,_and_monads_in_pictures.html
Functors, Applicatives, And Monads In Pictures
看完这篇就差不多理解了(
https://github.com/etcd-io/gofail 在 tidb 群里看到的 一开始以为是基于 go/ast 之类的 ... 然后发现是字符串替换 ... https://github.com/etcd-io/gofail/blob/master/code/rewrite.go (应该性能更高.jpg
https://github.com/sausheong/gonn
Building a simple neural network in Go
竟然还有 gonum.org/v1/gonum/mat 这种库
https://github.com/ahmetb/kubectx
切换 Kubernetes 集群的命令行工具,当你有多个集群的时候就会发现非常有用
https://github.com/chromedp/chromedp A faster, simpler way to drive browsers supporting the Chrome DevTools Protocol.
https://github.com/me115/design_patterns
设计模式介绍,每一个都有列出重要程度,方便从最常用的开始学习
@gaocegege 为啥不用 kubectl config set-context
他支持一些 alias 之类的扩展功能,方便一些
https://github.com/shiftkey/desktop github desktop for linux 亲测可用
https://github.com/crossplaneio/crossplane The open source multicloud control plane
https://github.com/rust-clique/human-panic Panic messages for humans.
https://hacks.mozilla.org/2018/12/rust-2018-is-here/ 对 Rust Edition 概念非常好的介绍,终于看懂 Edition 是啥了...
https://github.com/dyweb/gommon/releases/tag/v0.0.8 gommon 的 log 重构终于部分完成了, 做了点微小的 benchmark 也把所有流行的 logger 都又看了一遍
go test -run none -bench . -benchtime 3s -benchmem -memprofile p.out
goos: linux
goarch: amd64
pkg: github.com/dyweb/gommon/log/_benchmarks
BenchmarkDisabledLevelNoFormat/gommon-8 1000000000 7.28 ns/op 16 B/op 1 allocs/op
BenchmarkDisabledLevelNoFormat/gommon.F-8 5000000000 0.59 ns/op 0 B/op 0 allocs/op
BenchmarkDisabledLevelNoFormat/gommon.check-8 5000000000 0.23 ns/op 0 B/op 0 allocs/op
BenchmarkDisabledLevelNoFormat/zap-8 500000000 11.6 ns/op 0 B/op 0 allocs/op
BenchmarkDisabledLevelNoFormat/zap.check-8 500000000 11.6 ns/op 0 B/op 0 allocs/op
BenchmarkDisabledLevelNoFormat/zap.sugar-8 500000000 9.15 ns/op 16 B/op 1 allocs/op
BenchmarkDisabledLevelNoFormat/zerolog-8 5000000000 1.70 ns/op 0 B/op 0 allocs/op
BenchmarkDisabledLevelNoFormat/apex-8 2000000000 2.56 ns/op 0 B/op 0 allocs/op
BenchmarkDisabledLevelNoFormat/logrus-8 1000000000 7.16 ns/op 16 B/op 1 allocs/op
BenchmarkWithoutFieldsText/gommon-8 30000000 139 ns/op 288 B/op 3 allocs/op
BenchmarkWithoutFieldsText/gommon.F-8 50000000 106 ns/op 160 B/op 1 allocs/op
BenchmarkWithoutFieldsText/std-8 10000000 410 ns/op 128 B/op 2 allocs/op
BenchmarkWithoutFieldsText/zap-8 20000000 289 ns/op 72 B/op 3 allocs/op
BenchmarkWithoutFieldsText/zap.sugar-8 20000000 359 ns/op 200 B/op 5 allocs/op
BenchmarkWithoutFieldsText/zerolog-8 3000000 1546 ns/op 2011 B/op 36 allocs/op
BenchmarkWithoutFieldsText/apex-8 3000000 1638 ns/op 320 B/op 15 allocs/op
BenchmarkWithoutFieldsText/logrus-8 1000000 3626 ns/op 769 B/op 15 allocs/op
BenchmarkWithoutFieldsText/klog-8 10000000 631 ns/op 16 B/op 1 allocs/op
BenchmarkWithoutFieldsTextFormat/gommon-8 20000000 224 ns/op 360 B/op 4 allocs/op
BenchmarkWithoutFieldsTextFormat/zap.sugar-8 10000000 391 ns/op 241 B/op 6 allocs/op
BenchmarkWithoutFieldsTextFormat/apex-8 2000000 1995 ns/op 488 B/op 18 allocs/op
BenchmarkWithoutFieldsTextFormat/logrus-8 1000000 4051 ns/op 1001 B/op 18 allocs/op
BenchmarkWithoutFieldsTextFormat/klog-8 10000000 668 ns/op 24 B/op 2 allocs/op
BenchmarkWithoutFieldsJSON/gommon-8 50000000 132 ns/op 288 B/op 3 allocs/op
BenchmarkWithoutFieldsJSON/gommon.F-8 100000000 74.0 ns/op 160 B/op 1 allocs/op
BenchmarkWithoutFieldsJSON/zap-8 20000000 189 ns/op 0 B/op 0 allocs/op
BenchmarkWithoutFieldsJSON/zap.sugar-8 20000000 268 ns/op 128 B/op 2 allocs/op
BenchmarkWithoutFieldsJSON/zerolog-8 50000000 117 ns/op 0 B/op 0 allocs/op
BenchmarkWithoutFieldsJSON/apex-8 2000000 2080 ns/op 512 B/op 10 allocs/op
BenchmarkWithoutFieldsJSON/logrus-8 2000000 3115 ns/op 1218 B/op 22 allocs/op
BenchmarkCallerJSON/gommon-8 20000000 292 ns/op 368 B/op 3 allocs/op
BenchmarkCallerJSON/gommon.F-8 20000000 240 ns/op 240 B/op 1 allocs/op
BenchmarkWithContextNoFieldsJSON/gommon-8 30000000 119 ns/op 352 B/op 3 allocs/op
BenchmarkWithContextNoFieldsJSON/gommon.F-8 50000000 75.1 ns/op 224 B/op 1 allocs/op
BenchmarkWithContextNoFieldsJSON/zap-8 30000000 187 ns/op 0 B/op 0 allocs/op
BenchmarkWithContextNoFieldsJSON/zap.sugar-8 20000000 258 ns/op 128 B/op 2 allocs/op
BenchmarkWithContextNoFieldsJSON/zerolog-8 50000000 112 ns/op 0 B/op 0 allocs/op
BenchmarkWithContextNoFieldsJSON/apex-8 1000000 3319 ns/op 1089 B/op 19 allocs/op
BenchmarkWithContextNoFieldsJSON/logrus-8 1000000 3781 ns/op 1362 B/op 25 allocs/op
BenchmarkNoContextWithFieldsJSON/gommon.F-8 50000000 96.2 ns/op 352 B/op 2 allocs/op
BenchmarkNoContextWithFieldsJSON/zap-8 20000000 263 ns/op 128 B/op 1 allocs/op
BenchmarkNoContextWithFieldsJSON/zap.sugar-8 20000000 295 ns/op 256 B/op 1 allocs/op
BenchmarkNoContextWithFieldsJSON/zerolog-8 30000000 122 ns/op 0 B/op 0 allocs/op
BenchmarkNoContextWithFieldsJSON/apex-8 1000000 3705 ns/op 1545 B/op 23 allocs/op
BenchmarkNoContextWithFieldsJSON/logrus-8 1000000 4374 ns/op 1844 B/op 29 allocs/op
PASS
ok github.com/dyweb/gommon/log/_benchmarks 248.617s
https://jepsen.io/consistency 一致性模型间的关系
https://github.com/sahib/brig File synchronization on top of ipfs with git like interface and FUSE filesystem 主要是看到有 fuse https://github.com/sahib/brig/tree/master/fuse
婶婶什么时候写篇文章分享一下造轮子的 design choices 吧,我们也学习一个
联合周报第 104 期开始投稿 :tada: