Sobes.tech

Дар бораи лоиҳаи Авито бештар нақл кунед — оё ин ягона лоиҳа дар тӯли се сол буд?

Senior
226

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
220

Навъи паёми дар гурутин ва чаро бояд онро ҳамчун аргумент гузошт?

Senior
211

/* Тавсиягар ба вазифа дода шуд, ки хидмати фиристодани огоҳиномаҳоро нависад. Талабот: - Методи Send бояд паёмоҳоро параллел нависад. - Ҳамзамон на бештар аз maxworkers дархостҳои HTTP иҷро шаванд. - Агар ҳадди ақал як фиристодан бо хато анҷом ёбад, дигарон бояд боздошта шаванд ва хато баргардонида шавад. - Методи бояд дуруст коркарди бекор кардани контекстро дошта бошад. - Ҳамаи захираҳо бояд дуруст озод карда шаванд. - Методи метавонад дар як вақт аз гуруҳҳои гуногун даъват карда шавад. - Клиент бояд шумораи паёмҳои муваффақона фиристодашударо нигоҳ дорад. Кодро баррасӣ кунед, мушкилотро ёбед ва кодро ислоҳ кунед.

Senior
194

Дар кадом ҷой бояд defer resp.Body.Close() кард?

Senior
191

Оё бо дигар таъминкунандагони корӣ созишномаҳо доред ё ҳоло дар марҳилаи мусоҳиба ҳастед?

Senior
190

Чаро resultErr мустақим аз goroutine баргардонда намебардад?

Senior
188

Туроҷии умумии шумо дар рушд бо Go чист?

Senior
179

Дар бораи ҲамаиАсбобҳо нақл кун — чаро омадӣ ва чаро рафтӣ?

Senior
177

Оё кор кардан бо ҳуҷҷатҳои техникӣ дар забони англисӣ бароҳат хоҳад буд?

Senior
177

Турки SQL чӣ гуна таҷриба дорӣ? Оё метавонӣ пурсишҳоро навиштан ва оптимизатсия карданӣ бошӣ?

Senior
171

Контекстҳо дар куҷо дар ин код ба охир мерасанд?

Senior
170

Оёбҳои зуд чӣ мебошанд?

Senior
162

sentCount бе ҳамоҳангсозӣ интиқол дода мешавад — чӣ гуна бояд инро ислоҳ кард?

Senior
157

Агар дархости ба базаи маълумот нағз нарасонед, чӣ мешавад?

Senior
154

Дар бораи лоиҳаи нав чӣ меҷӯӣ? Технологияҳо кадомҳоянд? Дар ҷойи нави корӣ чӣ намехоҳӣ дидан?

Senior
154

Кай вақт индекс кӯмак намекунад ё ҳатто зарар дорад?

Senior
134

Кадом қадамҳо (stages) одатан дар пайплайни CI/CD барои хидмати Go мавҷуданд?

Senior
129