Sobes.tech

Golang

Çok iş parçacıklı bir ortamda dilimlerle çalışırken iş parçacığı güvenliğini sağlamak için hangi yaklaşımlar kullanılabilir?

Middle — Middle+
Betera Group
134

Programlama dilinde nil dilim ile çalışırken hangi işlemler yapılabilir?

Junior — Middle
Кадровое агентство BWG
134

Çözümler oluştururken hangi sistem tasarım metodlarını tercih ediyorsun?

Junior — Middle
134

Linux sistemi için bir betik yazarak çözebildiğiniz zor bir görevden bahsedin

Junior — Middle
Mail.ruMail.ru
134

Önbellekte saklanan veri miktarını nasıl düzenleyebilirsiniz?

Junior — Middle
КасперскийКасперский
134

Takımda tek Backend uzmanı rolünü üstlenmeye hazır olmak

Junior — Middle
FAQ media holding
134

Go'da sync.Map türünü kullanmanın temel nedeni nedir?

Junior — Middle
YadroYadro
134

Birim testlerinde iyi uygulamalar ve antipatternler nelerdir? Testlerin iyi olduğunu nasıl anlayabiliriz?

Middle+
X5
134

func Exclude(a, b []int) []int { set := make(map[int]struct{}) for _, v := range b { set[v] = struct{}{} } result := make([]int, 0) for _, v := range a { if _, ok := set[v]; !ok { result = append(result, v) } } return result } Der Fehler bei der Kompilierung # command-line-arguments ./main.go:39:32: Syntaxfehler: unerwarteter Zeilenumbruch, es wurde { nach der if-Anweisung erwartet

Senior
OZONOZON
134

Farklı servisler arasındaki etkileşimleri gerçekleştirirken zorluklarla karşılaştınız mı?

Junior — Middle
Mail.ruMail.ru
134

Bir programlama dilinde fonksiyona dilim (slice) nasıl aktarılır?

Junior — Middle
МТС DigitalМТС Digital
134

Saga deseni nedir?

Middle+
Magnit Tech
134

Neden Testcontainers almadılar?

Senior
OkkoOkko
134

/* Bir kaynaktan bir tüketiciye veri aktarmamız gerekiyor. Kaynak, verileri küçük paketler halinde (~on kayıt) verirken, tüketici daha büyük paketlerle daha verimli çalışır. Gerçek bir örnek, Kafka türü kuyruklardan Clickhouse veritabanına veri aktarımıdır. Kaynak: - Neredeyse sonsuz. - Kaynak, bir Next çağrısında hiçbir zaman MaxItems'ten fazla kayıt döndürmez. - Bir "oturum" (bir Pipe fonksiyon çağrısı) içinde, kaynak her Next çağrısında yeni veriler döndürür. - Ancak, yeniden başlatıldıktan sonra, kaynak önceki "onaylanmış" konumdan, cookie ile belirlenen noktadan başlar. Bu nedenle, Next'in döndürdüğü her cookie değeri, veriler alıcıya kaydedildikten sonra, aynı sırayla Commit çağrısı ile onaylanmalıdır. Alıcı: - Aynı anda MaxItems'ten fazla işleyemez. Temel seviye: Gerekli olan, func Pipe(p Producer, c Consumer) error fonksiyonunu uygulamaktır, bu fonksiyon kaynaktan veri okur, bunları MaxItems boyutunda bir tamponda gruplar ve alıcıya kaydeder, ve ardından kaynaktaki ilerlemeyi onaylar. */ const MaxItems = 9999 type Producer interface { // Next,: // - işlenmek üzere öğe paketleri döner // - işleme tamamlandığında onaylanacak cookie // - hata Next() (items []any, cookie int, err error) // Commit, işlenmiş veri paketini işaretlemek için kullanılır Commit(cookie int) error } type Consumer interface { Process(items []any) error } func Pipe(p Producer, c Consumer) error { var buf []any var cookies []int for { items, cookie, err := p.Next() if err != nil { return err } buf = append(buf, items...) cookies = append(cookies, cookie) if len(buf) >= MaxItems { if err := c.Process(buf); err != nil { return err } for _, c := range cookies { if err := p.Commit(c); err != nil { return err } } buf = buf[:0] cookies = nil } } if len(buf) > 0 { if err := c.Process(buf); err != nil { return err } for _, c := range cookies { if err := p.Commit(c); err != nil { return err } } } return nil }

Middle
Яндекс
134

(id PRIMARY KEY, data JSON) ile bir tablo, PostgreSQL dizini anahtar arama için oldukça iyi mi?

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

Sanallaştırma ile konteynerleştirmenin farkı nedir?

Middle
YadroYadro
134

Mevcut bir fonksiyonun içine başka bir küme paranteği ile kod bloğu eklenebilir mi?

Junior — Middle
134

Önceki görevinde görevleri nasıl belirlediniz ve formüle ettiniz?

Junior — Middle
Сбер КонтактСбер Контакт
134

Son projenizde final kod nasıl üretim ortamına entegre edildi?

Junior — Middle
IDT
Киберпротект
134

Bir programlama dilinde yeni bir öğe ekleme işlemi nasıl çalışır?

Junior — Middle
134
/412