Sobes.tech

Redis конфигурациясы кай сакталат, эгер алдаган машинада болсо?

Senior
Uzum
41

Иштеги танд канчалык маанилүү? Мааш талаптары?

Senior
X5
41

Make аркылуу алдын ала бөлүнгөн эс менен эң жакшы slice кантип түзүү керек? Неге алдын ала капаситетти көрсөтүү керек?

Senior
ClearWay
41

Неге кеттиңиз?

Middle
МВидео/эльдорадо
41

Бир датасы барбы?

Senior
Яндекс
41

Азыркы учурда аз тажрыйбалы кесиптештериңизге жардам бердиңизби? Бул адатта кандай өтчү эле?

Senior
АЭРО
41

Өзүңүздүн кесиптик тажрыйбаңыз жана иш издөөгө эмне үчүн чечим кабыл алгандыгыңыз жөнүндө айтып бериңиз.

Middle+
Защита Инфо Транс z-it
41

// Кодду туура кылуу үчүн, суроолор атаандаштыкташуулары керек жана жооп коду көрсөтүлүшү керек // жана ката болсо, аны логго жазып, иштетүүнү улантыңыз package main import "net/http" var addrs = []string{"[link]"} func main() { for _, url := range addrs { resp, err := http.Get(url) if err != nil { log.Error(err) continue } // Эгер керек болсо, resp менен иштөө } }

Senior
ИП Ганус Александр Андреевич
41

Элементти издөөнүн алгоритмин бинара издөөнүн дарагында мисал менен көрсөтүңүз (түйүн ачкычы менен салыштыруу, солго/оңго кыймыл).

Senior
МВидеоМВидео
41

HeadHunter webhook аркылуу жооп жөнөтө алат, ал эми Avito мындай кыла албайт — өзүңүз барып иштетишиңиз керек. Муну кантип иштетсе болот?

Senior
OZONOZON
41

Практикада триггерлерди колдондуңузбу?

Middle+
МВидео/эльдорадо
41

Жаңы жумуш ордуңуздан эмне күтөсүз?

Senior
BetBoom
41

VACUUM FULLке альтернатива катары кандай билесиз, ал дагы орун бошотот, бирок катуу бөгөттөө жок?

Middle+
plata
41

Бул конкреттүү учурда эмне үчүн gRPC тандалды?

Middle+
А7
41

Резюмеңдө Golangда 3 микросервиске коштуларың жазылган. Маалыматтарды нормалдаштыруу жана текшерүүдөн тышкары дагы эмне кылдың? Бул колдоо беле же өнүктүрүүбү?

Senior
wilix
41

Бардык сатуучулардын тизмесин жана гана блоктогон сатууучулардын тизмесин камткан таблица болсо, бир суроо менен блоктогон эмес сатууучулардын тизмесин кантип аласыз?

Middle
Aliexpress
41

Оптимисттик блоктоо деген эмне?

Senior
Lenta Tech
41

ClickHouse ба колонкалардын ортосундагы байланышты кантип табат?

Middle+
Магнум
41

Amazon Athenaда бөлүмдөш кандай негизде жасалды?

Middle
СБЕРСБЕР
41

пакет сактагыч импорт ( "database/sql" "errors" "fmt" "time" "github.com/company/my-service/internal/event" "github.com/company/my-service/internal/metric" ) type Partner struct { ID string `db:"id" json:"id"` Balance float32 `db:"balance" json:"balance"` Hold float32 `db:"hold" json:"hold"` } type PayoutRepository struct { db sql.DB eventPublisher event.Publisher metricCollector metric.Collector totalPayouts int } func NewPayoutRepository() *PayoutRepository { db, err := sql.Open("postgres", "host=localhost user=postgres password=postgres dbname=affiliate") if err != nil { panic(err) } r := PayoutRepository{ db: db, eventPublisher: event.NewKafkaPublisher("localhost:9092"), metricCollector: metric.NewPrometheusCollector("localhost:9090"), } go func() { for range time.Tick(time.Minute) { _ = r.metricCollector.Send("TotalPayouts", r.totalPayouts) } }() return r } func (r *PayoutRepository) Payout(advertiserID, partnerID string, amount float32) error { advertiser, err := r.find(advertiserID) if err != nil { return err } partner, err := r.find(partnerID) if err != nil { return err } advertiser.Balance -= amount partner.Hold -= amount partner.Balance += amount if err := r.save(advertiser); err != nil { return err } if err := r.save(partner); err != nil { return err } r.totalPayouts++ return nil } func (r *PayoutRepository) find(id string) (Partner, error) { p := Partner{} err := r.db.QueryRow("SELECT * FROM partners WHERE id = " + id).Scan(&p) if err != nil { if err == sql.ErrNoRows { return p, errors.New("partner not found") } return p, err } return p, nil } func (r *PayoutRepository) save(p Partner) error { _, err := r.db.Exec( fmt.Sprintf("UPDATE partners SET balance = %s, hold = %s WHERE id = %s", p.Balance, p.Hold, p.ID), ) if err != nil { return err } if err := r.eventPublisher.Publish("BalanceChanged", p); err != nil { return err } return nil }

Senior
Pasul LTD
41
/412