Sobes.tech

Golang

asosiy paket func main() { c := make(chan int, 1) 3 marta sikl { select { default: println(1) case <-c: println(2) case c <- 1: println(3) } } }

368

```go func fail() { panic("Xatolik!") } func main() { fmt.Println("Boshlash!") var wg sync.WaitGroup wg.Add(1) go func() { defer func() { if e := recover(); e != nil { fmt.Println(e) } }() fail() wg.Done() }() wg.Wait() fmt.Println("Tugash!") } ```

227

Nima uchun Elasticsearch ni tanladingiz? Qanday variantlar bor edi? Biror narsa tanladilarmi yoki ELK allaqachon mavjud edi?

211

Xizmatlar nima bilan bog'liq, agar biz nosozliklarga chidamlilik va uni replikalarga qisqartirish haqida gapirayotgan bo'lsak?

199

Siz Elasticsearch yordamida tezkor tranzaktsiyalarni qidirish uchun narsa yaratdingiz, bu nima, nechta tranzaktsiya bor va bu qanday foyda keltiradi?

186

asosiy paket import ( "fmt" ) func main() { c := make(chan string, 1) go fmt.Println(<-c) c <- "Salom Dunyo!" fmt.Println("Chiqish!") } fatal xato: barcha goroutinlar uxlashda - deadlock! goroutine 1 [kanal qabul qilish]: main.main() /tmp/sandbox[phone]/prog.go:10 +0x3a Dastur tugadi: holat 2.

186

func fetch(ctx context.Context, u User) (string, error) { // tarmoqda nimadir qilamiz time.Sleep(time.Millisecond * 10) // kechikishni taqlid qilish return u.Name, nil //return "", errors.New("biron xato") } func Do(ctx context.Context, users []User) (map[string]int64, error) { var mu sync.Mutex var wg sync.WaitGroup ch := make(chan error, len(users)) names := make(map[string]int64, 0) ctxWithCancel, cancel := context.WithCancel(ctx) wg.Add(len(users)) for _, u := range users { go func() { defer wg.Done() select { case name, err := fetch(ctx, u): if err != nil { ch <- err return } mu.Lock() names[name] = names[name] + 1 mu.Unlock() case <-ctxWithCancel.Err: } }() }

184

Elasticsearchni joriy etgandan keyin foydalanuvchilar yoki texnik yordam xizmati tomonidan qandaydir mahsulot fikrlari bo'ldimi?

175

asosiy paket func main() { c := make(chan int) 3 marta uchun { tanlash { default: println(1) case <-c: println(2) case c <- 1: println(3) } } }

159

package main import ( "fmt" ) func main() { c := make(chan string) go fmt.Println(<-c) c <- "Hello World!" fmt.Println("Exit!") }

158

func Do(ctx context.Context, users []User) (map[string]int64, error) { var mu sync.Mutex var wg sync.WaitGroup ch := make(chan error, len(users)) names := make(map[string]int64, 0) ctxWithCancel, cancel := context.WithCancel(ctx) wg.Add(len(users)) for _, u := range users { go func() { defer wg.Done() select { case name, err := fetch(ctx, u): if err != nil { ch <- err return } mu.Lock() names[name] = names[name] + 1 mu.Unlock() case <-ctxWithCancel.Err: } }() } return names, nil }

151

asosiy paket import ( "fmt" ) func main() { c := make(chan string) go fmt.Println(<-c) c <- "Salom Dunyo!" fmt.Println("Chiqish!") } fatal xato: barcha goroutinlar uxlab qolgan - deadlock! goroutine 1 [kanal qabul qilish]: main.main() /tmp/sandbox[phone]/prog.go:10 +0x3a Dastur tugadi: holat 2.

149
/2