Sobes.tech

Golang

func (c *Client) Send(ctx context.Context, messages []Message, maxWorkers int) error { sem := make(chan struct{}, maxWorkers) var wg sync.WaitGroup var resultErr error var once sync.Once for _, msg := range messages { wg.Add(1) go func(msg Message) { defer wg.Done() sem <- struct{}{} defer func() { <-sem }() body, err := json.Marshal(msg) if err != nil { once.Do(func() { resultErr = err; cancel() }) return } req, _ := http.NewRequestWithContext( ctx, http.MethodPost, c.url, bytes.NewReader(body), ) req.Header.Set("Content-Type", "application/json") resp, err := c.httpClient.Do(req) if err != nil { once.Do(func() { resultErr = err; cancel()}) return } defer resp.Body.Close() if resp.StatusCode >= 500 { once.Do(func() { resultErr = fmt.Errorf("server error") cancel()}) return } c.sentCount.Add(1) time.Sleep(time.Second) }(msg) } wg.Wait() }

Senior
UPSL
114

Mesélj a tervezési mintákról. Mi az a double-checked locking (kettős ellenőrzéses zárolás) és mire használják?

Senior
Холодильник.руХолодильник.ру
114

Hogyan jutottál el a PostgreSQL optimalizálásához, és milyen optimalizációs módszereket alkalmaztál?

Middle+
МВидеоМВидео
114

//Le kell írni a könyvtár modelljét. 3 entitás van: "Szerző", "Könyv", "Olvasó" Fizikailag csak egy könyv van, és csak egy olvasónál lehet. A könyvtár tábláit ennek figyelembevételével kell elkészíteni.

Senior
Small
114

Miért hatékonyabbak a goroutine-ok, mint az operációs rendszer szálai?

Senior
I-teco
114

Hogyan optimalizáltad a lekérdezéseket a gyakorlatban? Mit nézel, amikor a kézifék lassul?

Middle+
OZONOZON
114

Hogyan hasonlítjuk össze a térképen lévő elemeket? Hogyan ellenőrizzük, hogy két térkép egyezik-e?

Senior
Яндекс
114

Milyen technológiáknak köszönhetően lehetséges a konténerizáció Linuxon?

Senior
Flant
114

Milyen cache stratégiát válasszunk — cache-aside vagy write-through — figyelembe véve a felhasználók viselkedési mintáját a rendelés állapotának ellenőrzésekor?

Senior
plata
114

Melyik könyvtárban találhatók a Linuxban futó folyamat fájldeskriptorai?

Senior
Flant
114

Milyen színű tárgyakat távolítanak el a szemétgyűjtő munka végén?

Middle
wilix
114

Lehetséges korlátot szabni a Go nyelvben egyszerre működő szálak számára?

Junior — Middle
114

Milyen állapotai vannak egy goroutine-nak?

Senior
sber tech
114

Meséljen részletesebben a tapasztalatáról: miről szólt a projekt, és mi volt a felelőssége?

Senior
iviivi
114

A harmadik évben kezdtél dolgozni?

Senior
Spectr
114

Hogyan kezelik a hibákat Go-ban? Miben különböznek az errors.Is és errors.As?

Middle+
YadroYadro
114

Miért került a jelölt felelősségi körébe az antifraud ellenőrző szolgáltatás?

Senior
КасперскийКасперский
114

Mi az az engedélyezési token, és milyen típusai vannak?

Middle+
Магнум
114

Mennyire érdekelne egy ilyen projekt (a partnerbankok adatinak feldolgozása és szűrése)?

Middle+
Скоринг Бюро
114

Dolgozott már architektúrával? Meséljen néhány architekturális megoldásról

Senior
bip.ru
113
/412