Building Effective Embedded Systems: Architectural Best PracticesdataInitWriteReadCompareHighly Effective: ⊡ Testing customer interfaces ⊡ Exemplary API usageHighly Effective: ⊡ Testing customer interfaces ⊡ Exemplary API usageHighly Effective: ⊡ Testing customer interfaces0 码力 | 241 页 | 2.28 MB | 6 月前3
Effective Ranges: A tutorial for using C++2X ranges0 码力 | 56 页 | 15.30 MB | 6 月前3
Transitioning to GoTRANSITIONING TO GO SEP 20 2023 Robert Pająk pellared @ GitHub SplunkHello whoami fundamentals going further more, more q&a 01 02 03 04 05whoamiROBERT PAJĄK Go maintainer Go language committee Tour of Go 2. Read and try: How to Write Go Code 3. Read and follow: Effective Go 4. Read and follow: CodeReviewComments 5. Check: Go by Examplehttps://go.dev/tourhttps://go.dev/doc/codehttps://go.dev dev/doc/effective_gohttps://github.com/golang/go/wiki/CodeReviewCommentshttps://gobyexample.comgoing furtherhttps://www.gopl.iohttps://go.dev/ref/memhttps://exercism.orghttps://quii.gitbook.io/learn-go-wit0 码力 | 30 页 | 1.53 MB | 5 月前3
1.2 Go in TiDBGo in TiDB 申砾@PingCAP Agenda • About Me • What is TiDB • TiDB Architecture • SQL Layer Internal • Golang in TiDB • Next Step of TiDB About Me • Shen Li (申砾) • Tech Lead of TiDB, VP of Engineering Why Go? • Productivity • Concurrency • Great for network programming • GC • Standard libraries && Tools • Good performance • Quick improvement Go in TiDB • More than 100k lines of Go code and session is hard • Account for large memory allocation • Account for memory consuming operators New in Go1.8 • Better GC • Pauses 50μs • sort.Slice Next Step of TiDB • Switch to gRPC • Document support0 码力 | 27 页 | 935.47 KB | 6 月前3
Go Compile Time InstrumentationGo compile time instrumentation Przemysław Delewski February 18, 2025 Warsaw, PolandAgenda 1. Short bio 2. Observability domain 3. OpenTelemetry 4. History of OpenTelemetry go compile time instrumentation I’m also founding member of the OpenTelemetry Go compile-time instrumentation project https://github.com/open-telemetry/community/blo b/main/projects/go-compile-instrumentation.mdSoftware complexity spanHistory of OpenTelemetry go instrumentationBeginnings of go instrumentation Everything started with two proposals: - https://github.com/open-telemetry/opentelemetry-go-instrumen tation/issues/30 码力 | 27 页 | 1.74 MB | 6 月前3
1.3 Go practices in TiDB 姚维Go Practices in TiDB 姚维 PingCAP wink@pingcap.com Agenda ● How to build a stable database ○ Schrodinger-test platform ○ Failpoint injection ○ Goroutine-leak detection ● Optimization ○ Chunk vs interface{} errors.New("mock commit error") // } …. } https://github.com/pingcap/tidb/blob/master/store/tikv/txn.go#L223 The generated gofail code func (txn *tikvTxn) Commit(ctx context.Context) error { if vmockCommitError or: __fp_mockCommitError.BadType(vmockCommitError, "bool"); }; …. } $ gofail enable store/tikv/txn.go Why we need a new failpoint ● Generated code is not readable ● Concurrent testing will use the same0 码力 | 32 页 | 1.76 MB | 6 月前3
Data Structures That Make Video Games Go Round0 码力 | 196 页 | 3.03 MB | 6 月前3
Hello 算法 1.2.0 繁体中文 Go 版Hello 演算法 Go 語言版 作者:靳宇棟(@krahets) 程式碼審閱:劉代富(@Reanon) Release 1.2.0 2024‑12‑06 序 兩年前,我在力扣上分享了“劍指 Offer”系列題解,受到了許多讀者的鼓勵與支持。在與讀者交流期間,我 最常被問到的一個問題是“如何入門演算法”。漸漸地,我對這個問題產生了濃厚的興趣。 兩眼一抹黑地刷題似乎是最受歡迎的方法,簡 記錄。需要注意的是,Python 中 range(a, b) 對應的區間是“左閉右開”的,對應的走訪範圍為 ?, ? + 1, … , ? − 1 : // === File: iteration.go === /* for 迴圈 */ func forLoop(n int) int { res := 0 // 迴圈求和 1, 2, ..., n-1, n for i := 1; i <= 迴圈中,程式每輪都會先檢查條件,如果條 件為真,則繼續執行,否則就結束迴圈。 下面我們用 while 迴圈來實現求和 1 + 2 + ⋯ + ? : // === File: iteration.go === /* while 迴圈 */ func whileLoop(n int) int { res := 0 // 初始化條件變數 i := 1 // 迴圈求和 1, 2, ...,0 码力 | 385 页 | 18.80 MB | 10 月前3
Hello 算法 1.2.0 简体中文 Go 版Hello 算法 Go 语言版 作者:靳宇栋(@krahets) 代码审阅:刘代富(@Reanon) Release 1.2.0 2024‑12‑06 序 两年前,我在力扣上分享了“剑指 Offer”系列题解,受到了许多读者的鼓励和支持。在与读者交流期间,我 最常被问的一个问题是“如何入门算法”。逐渐地,我对这个问题产生了浓厚的兴趣。 两眼一抹黑地刷题似乎是最受欢迎的方法,简单、直接 记录。需要注意的是,Python 中 range(a, b) 对应的区间是“左闭右开”的,对应的遍历范围为 ?, ? + 1, … , ? − 1 : // === File: iteration.go === /* for 循环 */ func forLoop(n int) int { res := 0 // 循环求和 1, 2, ..., n-1, n for i := 1; i <= 循环中,程序每轮都会先检查条件,如果条 件为真,则继续执行,否则就结束循环。 下面我们用 while 循环来实现求和 1 + 2 + ⋯ + ? : // === File: iteration.go === /* while 循环 */ func whileLoop(n int) int { res := 0 // 初始化条件变量 i := 1 // 循环求和 1, 2, ...,0 码力 | 384 页 | 18.49 MB | 10 月前3
2.1.4 PingCAP Go runtime related problems in TiDB production environmentGo runtime related problems in TiDB production environment About me ● Arthur Mao(毛康力), Senior Engineer@PingCAP ● TiDB core developer (top3 contributor) ● GitBook about golang internals (@tiancaiamao) consider priority ● CPU dense workload could affect IO latency Conclusion Part II - Memory control ● Go Runtime ○ Allocated from OS (mmaped) ○ Managed Memory ■ Should the memory be returned to the OS? ○ memory footprint is abnormal ● The memory available on this node is not too much Description ● The Go Runtime thinks it does not use much memory ● The OS does not release the memory (RSS is high) Investigate0 码力 | 56 页 | 50.15 MB | 6 月前3
共 324 条
- 1
- 2
- 3
- 4
- 5
- 6
- 33













