Sobes.tech

Golang

Milline on erinevus B-puu indeksi ja hash-indeksi vahel PostgreSQL-is? Milliseid teisi indekseid tead?

279

Kuidas tehniliselt rakendada OpenAPI spetsifikatsiooni? Mis on Swagger?

241

// ülesanne 2 // 1. OpenAPI + gRPC // (YAML) // info: // title: Raamatute API // version: .. // paths: // /books: // get: // responses: // "200"

224

Räägi Dockerist: põhialused, mitmeastmelised ehitused, CLI käsud

216

Milliseid teisi sünkronsiooniprimitive, välja arvatud mutex ja WaitGroup, tead? Kasutusjuhtumid?

213

Räägi mulle Transactional Outbox mustrist — mis see on ja milleks seda kasutatakse?

208

// mkdir projekt // cd projekt // go mod init projekt // touch main.go // vim main.go // --koodi loomine-- package main import "syscall" // func main() { // msg := []byte("Tere, maailm!\n") // syscall.Write(1, msg) // } // --kood on valmis-- // go build -o app // ./app // go test ./... // git nint

204

Mida tead runtime paketist? Milliseid meetodeid sa kasutasid?

198

Mida sa tead Transactional Outbox ja Saga kohta? Räägi praktilisest juhtumist

196

Millised on DDD peamised artefaktid? Millest see koosneb?

196

funktsioon main() { ctx := context.Background() urls := []string{ "vk.ru", "ozon.ru", "pi.zone.ru", "lamoda.ru", "adidas.com", } pingMap, err := collectRTT(ctx, urls) if err != nil { fmt.Println("ERR:", err) return } data, _ := json.Marshal(pingMap) fmt.Println("RTT:", string(data)) } func collectRTT(ctx context.Context, urls []string) (map[string]time.Duration, error) { pingMap := make(map[string]time.Duration, len(urls)) var mu sync.Mutex var wg sync.WaitGroup errCh := make(chan error, 1) for _, url := range urls { wg.Add(1) go func(u string) { // ... (rest of the function implementation) }(url) } // ... (rest of the function implementation) } Uyarı: # command-line-arguments 2486763/main.go:34:9: undefined: sync 2486763/main.go:35:9: undefined: sync 2486763/main.go:45:32: undefined: fmt.Errorf

189

func collectRTT(ctx context.Context, urls []string) (map[string]time.Duration, error) { pingMap := make(map[string]time.Duration, len(urls)) var mu sync.Mutex var wg sync.WaitGroup errCh := make(chan error, 1) for _, url := range urls { wg.Add(1) go func(u string) { defer wg.Done() dur, err := rtt(ctx, u) if err != nil { select { case errCh <- fmt.Errorf("RTT error %s, %w", u, err): default: } return } mu.Lock() pingMap[u] = dur mu.Unlock() }(url) } wg.Wait() close(errCh) if err := <-errCh; err != nil { return nil, err } return pingMap, nil }

179

Mis juhtub, kui sisestate [veebisaiti] brauserisse? Rääkige võimalikult üksikasjalikult, milliseid protokolle kasutatakse

173
/2