Sobes.tech

ძირითადი პაკეტი func main() { c := make(chan int, 1) 3 ჯერ ციკლი { არჩევანი { დეფოლტი: println(1) შემთხვევა <-c: println(2) შემთხვევა c <- 1: println(3) } } }

373

```go func fail() { panic("წარუმატებლობა!") } func main() { fmt.Println("დაწყება!") 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("დასრულება!") } ```

233

რატომ აირჩიეთ Elasticsearch? რა ვარიანტები იყო? რამე აირჩიეთ თუ უბრალოდ ELK უკვე იყო?

213

პროექტების ან სამუშაო პირობების შესახებ გაქვთ კითხვები?

210

რა კავშირი აქვს სერვისებს, თუ ჩვენ ვსაუბრობთ გაუძლებლობაზე და შევამცირეთ ამას რეპლიკებად?

203

დასკვნით, რომელი გადაწყვეტილებები აირჩიეთ? ClickHouse, ELK და რა კიდევ?

192

რა ტექნოლოგიებს იყენებენ პროექტებში?

190

func fetch(ctx context.Context, u User) (string, error) { // რაღაც რაღაც ქსელში time.Sleep(time.Millisecond * 10) // დაგვიანების იმიტაცია return u.Name, nil //return "", errors.New("რამე შეცდომა") } 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: } }() }

186

მთავარი პაკეტი იმპორტი ( "fmt" ) ფუნქცია main() { c := make(chan string, 1) go fmt.Println(<-c) c <- "სალამი მსოფლიო!" fmt.Println("გამოსვლა!") } ფატალური შეცდომა: ყველა goroutine სძინავს - deadlock! goroutine 1 [კანალის მიღება]: main.main() /tmp/sandbox[phone]/prog.go:10 +0x3a პროგრამა დასრულდა: სტატუსი 2.

186

თქვი რომ Elasticsearch-ით შექმენი რამე სწრაფი ტრანზაქციების ძებნისთვის. რა არის ეს, რამდენი ტრანზაქციაა და რა სარგებელი აქვს?

186

Elasticsearch-ის დანერგვის შემდეგ მომხმარებლების ან ტექნიკური მხარდაჭერისგან რაიმე პროდუქტის უკუკავშირი იყო?

175

რა ქმნის სისტემას მაღალი დატვირთვით? თქვენი ექსპერტიზის საფუძველზე.

171

ძირითადი პაკეტი იმპორტი ( "fmt" ) ფუნქცია მთავარი() { c := make(chan string) გაიმართოს fmt.Println(<-c) c <- "Hello World!" fmt.Println("გამოსვლა!") }

160

რამდენი თანხიდან განიხილავთ შეთავაზებას?

160

ძირითადი პაკეტი func main() { c := make(chan int) 3 ციკლისთვის { select { ნაგულისხმევი: println(1) შემთხვევა <-c: println(2) შემთხვევა c <- 1: println(3) } } }

159

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 }

152

ძირითადი პაკეტი იმპორტი ( "fmt" ) ფუნქცია main() { c := make(chan string) go fmt.Println(<-c) c <- "სალამი მსოფლიო!" fmt.Println("გამოსვლა!") } ფატალური შეცდომა: ყველა goroutine მძინარეა - deadlock! goroutine 1 [კანალის მიღება]: main.main() /tmp/sandbox[phone]/prog.go:10 +0x3a პროგრამა დასრულდა: სტატუსი 2.

151
/2