Go

āļāļēāļĢāđ€āļžāļīāđˆāļĄāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāļāļēāļĢāļ—āļģāļ‡āļēāļ™

Profiling, benchmarking, CPU profiling, memory profiling, āļāļēāļĢāļ§āļīāđ€āļ„āļĢāļēāļ°āļŦāđŒ bottleneck, āļāļēāļĢāđ€āļžāļīāđˆāļĄāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž

22 āļ„āļģāļ–āļēāļĄāļŠāļąāļĄāļ āļēāļĐāļ“āđŒÂ·
Senior
1

āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­ pprof āđƒāļ™ Go āļ„āļ·āļ­āļ­āļ°āđ„āļĢ?

āļ„āļģāļ•āļ­āļš

pprof āļ„āļ·āļ­āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­ profiling āļ—āļĩāđˆāļĄāļēāļžāļĢāđ‰āļ­āļĄāļāļąāļš Go āļ‹āļķāđˆāļ‡āļŠāđˆāļ§āļĒāļ§āļīāđ€āļ„āļĢāļēāļ°āļŦāđŒāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāļ‚āļ­āļ‡ CPU āļŦāļ™āđˆāļ§āļĒāļ„āļ§āļēāļĄāļˆāļģ goroutine āđāļĨāļ°āđ€āļĄāļ•āļĢāļīāļāļ­āļ·āđˆāļ™ āđ† āļĄāļąāļ™āļŠāļĢāđ‰āļēāļ‡āđ‚āļ›āļĢāđ„āļŸāļĨāđŒāđƒāļ™āļĢāļđāļ›āđāļšāļšāđ„āļšāļ™āļēāļĢāļĩāļ—āļĩāđˆāļ§āļīāđ€āļ„āļĢāļēāļ°āļŦāđŒāđ„āļ”āđ‰āļ”āđ‰āļ§āļĒ go tool pprof āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ™āļĩāđ‰āļˆāļģāđ€āļ›āđ‡āļ™āļ­āļĒāđˆāļēāļ‡āļĒāļīāđˆāļ‡āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļĢāļ°āļšāļļ bottleneck āļ”āđ‰āļēāļ™āļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāđāļĨāļ°āļāļēāļĢāđ€āļžāļīāđˆāļĄāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™ Go āđƒāļ™ production

2

āļˆāļ°āđ€āļ›āļīāļ”āđƒāļŠāđ‰āļ‡āļēāļ™ CPU profiling āđƒāļ™āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™ Go āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āđ„āļĢ?

āļ„āļģāļ•āļ­āļš

CPU profiling āđ€āļ›āļīāļ”āđƒāļŠāđ‰āļ‡āļēāļ™āļ”āđ‰āļ§āļĒ pprof.StartCPUProfile(file) āđāļĨāļ°āļŦāļĒāļļāļ”āļ”āđ‰āļ§āļĒ pprof.StopCPUProfile() āļ§āļīāļ˜āļĩāļ™āļĩāđ‰āļˆāļ°āļšāļąāļ™āļ—āļķāļāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ CPU āļĢāļ°āļŦāļ§āđˆāļēāļ‡āļ—āļĩāđˆāđ‚āļ›āļĢāđāļāļĢāļĄāļ—āļģāļ‡āļēāļ™ āļŠāļģāļŦāļĢāļąāļšāđ€āļ§āđ‡āļšāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™ āļāļēāļĢāđƒāļŠāđ‰āđāļžāđ‡āļāđ€āļāļˆ net/http/pprof āļˆāļ°āđ€āļ›āļīāļ”āđ€āļœāļĒ endpoint āļŠāļģāļŦāļĢāļąāļš profiling āđ‚āļ”āļĒāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī

3

āļ„āļ§āļēāļĄāđāļ•āļāļ•āđˆāļēāļ‡āļĢāļ°āļŦāļ§āđˆāļēāļ‡ CPU profiling āļāļąāļš memory profiling āļ„āļ·āļ­āļ­āļ°āđ„āļĢ?

āļ„āļģāļ•āļ­āļš

CPU profiling āļ§āļąāļ”āđ€āļ§āļĨāļēāļ—āļĩāđˆāđƒāļŠāđ‰āđƒāļ™āđāļ•āđˆāļĨāļ°āļŸāļąāļ‡āļāđŒāļŠāļąāļ™āđ€āļžāļ·āđˆāļ­āļĢāļ°āļšāļļ bottleneck āļ‚āļ­āļ‡āļāļēāļĢāļ—āļģāļ‡āļēāļ™ āļ‚āļ“āļ°āļ—āļĩāđˆ memory profiling āļ§āļąāļ”āļāļēāļĢāļˆāļąāļ”āļŠāļĢāļĢāļŦāļ™āđˆāļ§āļĒāļ„āļ§āļēāļĄāļˆāļģāđ€āļžāļ·āđˆāļ­āļ•āļĢāļ§āļˆāļŦāļē leak āđāļĨāļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļ—āļĩāđˆāļĄāļēāļāđ€āļāļīāļ™āđ„āļ› CPU profiling āđƒāļŠāđ‰āļāļēāļĢāļŠāļļāđˆāļĄāļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļ—āļļāļ 10ms āđ‚āļ”āļĒāļ„āđˆāļēāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™ āļŠāđˆāļ§āļ™ memory profiling āļˆāļ°āļšāļąāļ™āļ—āļķāļāļāļēāļĢāļˆāļąāļ”āļŠāļĢāļĢāļ—āļąāđ‰āļ‡āļŦāļĄāļ”āļŦāļĢāļ·āļ­āđ€āļžāļĩāļĒāļ‡āļšāļēāļ‡āļŠāđˆāļ§āļ™āļ‚āļķāđ‰āļ™āļ­āļĒāļđāđˆāļāļąāļšāļāļēāļĢāļ•āļąāđ‰āļ‡āļ„āđˆāļē

4

āļˆāļ°āļŠāļĢāđ‰āļēāļ‡ benchmark āđƒāļ™ Go āļ”āđ‰āļ§āļĒāđāļžāđ‡āļāđ€āļāļˆ testing āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āđ„āļĢ?

5

āļœāļĨāļĨāļąāļžāļ˜āđŒ '1000 ns/op' āđƒāļ™āļāļēāļĢ benchmark āļ‚āļ­āļ‡ Go āļŦāļĄāļēāļĒāļ„āļ§āļēāļĄāļ§āđˆāļēāļ­āļĒāđˆāļēāļ‡āđ„āļĢ?

+19 āļ„āļģāļ–āļēāļĄāļŠāļąāļĄāļ āļēāļĐāļ“āđŒ

āļŦāļąāļ§āļ‚āđ‰āļ­āļŠāļąāļĄāļ āļēāļĐāļ“āđŒ Go āļ­āļ·āđˆāļ™āđ†

āļžāļ·āđ‰āļ™āļāļēāļ™ Go

Junior
25 āļ„āļģāļ–āļēāļĄ

āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ Go

Junior
20 āļ„āļģāļ–āļēāļĄ

āļ­āļīāļ™āđ€āļ—āļ­āļĢāđŒāđ€āļŸāļ‹āđƒāļ™ Go

Junior
18 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”

Junior
20 āļ„āļģāļ–āļēāļĄ

āļžāļ·āđ‰āļ™āļāļēāļ™ Goroutine

Junior
20 āļ„āļģāļ–āļēāļĄ

Channels

Junior
22 āļ„āļģāļ–āļēāļĄ

Go Modules

Mid-Level
18 āļ„āļģāļ–āļēāļĄ

āđ€āļ‹āļīāļĢāđŒāļŸāđ€āļ§āļ­āļĢāđŒ HTTP

Mid-Level
24 āļ„āļģāļ–āļēāļĄ

āđ„āļ„āļĨāđ€āļ­āļ™āļ•āđŒ HTTP

Mid-Level
18 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāđ€āļ‚āđ‰āļēāļĢāļŦāļąāļŠ JSON

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

Database/SQL

Mid-Level
22 āļ„āļģāļ–āļēāļĄ

āđāļžāđ‡āļāđ€āļāļˆ context

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

Testing

Mid-Level
22 āļ„āļģāļ–āļēāļĄ

āļĢāļđāļ›āđāļšāļš Concurrency

Mid-Level
24 āļ„āļģāļ–āļēāļĄ

āđ„āļžāļĢāļĄāļīāļ—āļĩāļŸāļāļēāļĢāļ‹āļīāļ‡āđ‚āļ„āļĢāđ„āļ™āļ‹āđŒ

Mid-Level
22 āļ„āļģāļ–āļēāļĄ

āđ€āļŸāļĢāļĄāđ€āļ§āļīāļĢāđŒāļāđ€āļ§āđ‡āļš Go

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāļ­āļ­āļāđāļšāļš REST API

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

gRPC

Mid-Level
22 āļ„āļģāļ–āļēāļĄ

Reflection

Senior
20 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāļŦāļ™āđˆāļ§āļĒāļ„āļ§āļēāļĄāļˆāļģ

Senior
24 āļ„āļģāļ–āļēāļĄ

Generics

Senior
20 āļ„āļģāļ–āļēāļĄ

Go Design Patterns

Senior
24 āļ„āļģāļ–āļēāļĄ

Microservices

Senior
24 āļ„āļģāļ–āļēāļĄ

āļ„āļ§āļēāļĄāļ›āļĨāļ­āļ”āļ āļąāļĒāđāļĨāļ°āļāļēāļĢāļĒāļ·āļ™āļĒāļąāļ™āļ•āļąāļ§āļ•āļ™

Senior
24 āļ„āļģāļ–āļēāļĄ

Docker & Containerization

Senior
20 āļ„āļģāļ–āļēāļĄ

Kubernetes Basics

Senior
22 āļ„āļģāļ–āļēāļĄ

Go āļ‚āļąāđ‰āļ™āļŠāļđāļ‡

Senior
20 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāļžāļąāļ’āļ™āļē CLI

Senior
20 āļ„āļģāļ–āļēāļĄ

āđ€āļŠāļĩāđˆāļĒāļ§āļŠāļēāļ Go āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļŠāļąāļĄāļ āļēāļĐāļ“āđŒāļ„āļĢāļąāđ‰āļ‡āļ–āļąāļ”āđ„āļ›

āđ€āļ‚āđ‰āļēāļ–āļķāļ‡āļ„āļģāļ–āļēāļĄāļ—āļąāđ‰āļ‡āļŦāļĄāļ” flashcards āđāļšāļšāļ—āļ”āļŠāļ­āļšāđ€āļ—āļ„āļ™āļīāļ„ āđāļšāļšāļāļķāļāļŦāļąāļ” code review āđāļĨāļ°āļ•āļąāļ§āļˆāļģāļĨāļ­āļ‡āļŠāļąāļĄāļ āļēāļĐāļ“āđŒ

āđ€āļĢāļīāđˆāļĄāđƒāļŠāđ‰āļŸāļĢāļĩ