გადაცემის სიჩქარის ოპტიმიზაციის ისტორიაზე უფრო დეტალურად ისაუბრე: რა გააკეთე, რა იყო შენი გამოწვევები, რა სირთულეები იყო, როგორ გადალახე?
Golang
პროდუქტში სერვისი სტაბილურად არ მუშაობს 5 წუთზე მეტი. პრობლემა იპოვეს: მესამე მხარის ბიბლიოთეკაში არსებობს ფუნქცია P(), რომელიც გარკვეული ალბათობით პანიკას იწვევს. როგორ გადავწყვიტოთ ეს პრობლემა? ბიბლიოთეკა ღია წყაროა, კოდი შეიძლება ნახოთ vendor-ში.
```go func main() { wg := sync.WaitGroup{} for i := 0; i < 10; i++ { wg.Add(1) go func(wg sync.WaitGroup) { defer wg.Done() fmt.Println(i) }(wg) } wg.Wait() fmt.Println("some text") time.Sleep(1 * time.Minute) fmt.Println("some text2") } ```
სად არის უკეთესი გამოაცხადოთ ინტერფეისი — განხორციელების ადგილას თუ მოხმარების ადგილას?
როგორ დავტვირთოთ მძიმე ანალიტიკური SQL-საკითხი დიდი წარმოების ბაზაზე?
100 გორუტინის გამოყვანის სერია იქნება თუ არა ყოველი გაშვებისას ერთნაირი? ეს რა ფაქტორზეა დამოკიდებული?
მოკლედ გვითხარით საკუთარ შესახებ
გააზიარე შენი გამოცდილება, საინტერესო დავალებები, რომელზე მუშაობა გიყვარს, რის გამო გიხარია.
რა განსხვავებაა ClickHouse-ის MergeTree, ReplicatedMergeTree და Distributed მექანიზმებს შორის?
როგორ მუშაობს მოდერაციის სისტემა აკრძალული შინაარსის, მათ შორის მსგავსი სურათების განსაზღვრისთვის?
გეცოდინება Kubernetes-ის არქიტექტურა, რა ერთეულები არსებობს, რა არის control plane?
ვივარაუდოთ, რომ დავალება Go ვერსია 1.18-შია. რა შეიცვლება პროგრამის ქცევაში?
თუ თქვენ წინადადებით არქიტექტურული გადაწყვეტილება, მაგრამ ტექნიკური ლიდერი თქვენთან თანხმდება არა და თქვენ დარწმუნებული ხართ, რომ მართალი ხართ, რა გააკეთებდით?
როგორ არის შესაძლებელი რამდენიმე იზოლირებული გარემოს გაშვება ერთ ადგილობრივ მანქანაზე (Docker/კონტეინერიზაცია)?
```go func main() { wg := sync.WaitGroup{} wg.Add(8) for i := 0; i < 10; i++ { go func(wg *sync.WaitGroup, i int) { defer wg.Done() fmt.Println(i) }(&wg,i) } wg.Wait() fmt.Println("some text") time.Sleep(1 * time.Minute) fmt.Println("some text2") } ```
როგორ შეძლეს ოპერაციების დამუშავების დრო 120-დან 5 წამამდე შეამცირეს?
თუ ჩვენ wg (მიმართულებლის გადაცემა) ბაგს შევასწორებთ, რა დავინახავთ პროგრამის დაწყებისას ეკრანზე?