Sobes.tech

Golang

Bir kanal ortaya çıktığı için mi yoksa bir şeyler için goroutine yazmaya karar verdiğin için mi WaitGroup yazmaya karar verdin?

Senior
166

// Müşteri, görevi yerine getirmek için verilerle birlikte bir nesne (Task) iletir, // örneğimizde boş bir yapı kullanacağız. // // Yöneticimiz en fazla N görevi aynı anda işleyebilir, // ve en fazla X görev işlem kuyruğunda olabilir. // Kuyrukta yer yoksa, hemen müşteriye hata döner. // // Görev, uygun işlemci varsa alınır. // İşlem süresini time.Sleep(5*time.Second) ile simüle ediyoruz. // Her görev tamamlandığında, sıradaki görevi alıyoruz. // Kuyruk boşsa, müşterilerden yeni görevler beklenir. // // Yıldız işaretiyle: Task yapısını genişletin ve görevlerin durumlarını ayrı bir sorgu ile alın. package scheduler type Scheduler interface { AddTask(t Task) error Close() } type scheduler struct { queue chan Task wg sync.WaitGroup } func New(workers, queue int) Scheduler { // uygulanması bekleniyor } type Task interface { Do() }

Senior
164

Go konvansiyonu, WaitGroup kullanımı ve dönüşüm türleri (arayüzleri kabul etme, belirli türleri döndürme) hakkında ne söylüyor?

Senior
164

PostgreSQL'de B-tree dışında hangi indeks türleri kullanıldı?

Senior
163

Hangi teknolojiyi/aracı kullanıyorsun?

Senior
162

İşlemlerde meydana gelen hataları dışarıdan nasıl işleyebiliriz, eğer yapmak istersek?

Senior
161

Arama hizmeti geliştirme sırasında mimari kararların alınmasında senin rolün neydi?

Senior
161

CTE kullandınız mı? Bu nedir anlat.

Senior
160

Pratikte bağlamları kullandın mı? Anlat.

Senior
158

Yalnızca replik üzerinde, ama ana üzerinde indeks oluşturmak mümkün mü?

Senior
156

Uygulamada hâlâ veri yarışmaları var mı? Özellikle anahtarları döndüren Keys metodunda mı?

Senior
156

func New(workers, queue, int) Scheduler { s := &scheduler { queue := make(chan Task, queue) for i := 0; i < workers; i++ { wg.Add(1) go func() { defer wg.Done() for task := range s.queue { task.Do() } }() } } return s } func (s *scheduler) Close() { close(s.queue) s.wg.Wait() } type Task interface { Do() }

Senior
155

PostgreSQL'de replikasyon türleri

Senior
152

Klasik bir işçi havuzu yazmak istiyor musun?

Senior
152

SELECT FOR UPDATE ile SELECT FOR SHARE arasındaki fark nedir?

Senior
151

İş sadece Rusya Federasyonu sınırları içinde mi izin veriliyor?

Senior
150

Pencere fonksiyonlarını kullandınız mı?

Senior
150

Kubernetes operatörleri yazma, operatörleri yönetme, Helm Chart konusunda deneyiminiz var mı?

Senior
149

Neden veritabanında saklamak yerine Redis kullanmadınız?

Senior
148

ELK'te hangi belgeler saklanıyordu?

Senior
146
/7