Sobes.tech

Golang

Fala-me sobre o uso de eventos (abordagem orientada a eventos) no teu exemplo

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

Por que procura um novo emprego?

Senior
.wrk
69

Pessoalmente, testei que o Postgres reordena as colunas e o otimizador não se importa com a ordem em que escreves a consulta — ele a reestruturará como for necessário. O que achas?

Senior
OkkoOkko
69

Fala sobre a tua experiência de trabalho e tarefas interessantes

Middle+
Magnit Tech
69

Onde você mora atualmente e qual formato de trabalho está considerando?

Middle
YadroYadro
69

Já trabalhou com transações no PostgreSQL e com quais níveis de isolamento?

Senior
2gis2gis
69

Que práticas existem para reduzir o tamanho da imagem Docker?

Senior
Flant
69

func (r *PayoutRepository) Payout(advertiserID, partnerID string, amount float32) error { advertiser, err := r.find(totalPayouts) // adicionar transação 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) // adicionar $1 if err != nil { if err == sql.ErrNoRows { return p, errors.New("parceiro não encontrado") } return p, err } return p, nil }

Senior
Pasul LTD
69

Como é que a derivada está relacionada com a área?

Middle
Graveling
69

Qual comando mostra o espaço em disco?

Middle+
VK CloudVK Cloud
69

Por que é melhor remover o ponteiro do slice no repositório? Argumentos a favor e contra.

Senior
2gis2gis
69

O que é o modelo OSI? O que é o nível de aplicação?

Middle+
ООО Макс
69

O que queres agora — quais são as tuas expectativas para o novo trabalho?

Senior
Ozon ФинтехOzon Финтех
69

var defaultTxOptions = &sql.TxOptions{} const defaultCurrency = "RUB" func CreateUserWithDefaultCurrency(ctx context.Context, db *sql.DB, email, passwordHash string) error { tx, err := db.BeginTx(ctx, defaultTxOptions) if err != nil { return err } defer func() { if err != nil{ tx.Rollback() } }() _, err = tx.Exec("INSERT INTO users (email, password) VALUES (?, ?)", email, passwordHash) if err != nil { return err } rows, err := tx.Query("SELECT id FROM users WHERE email = ?", email) if err != nil { return err } defer rows.Close() id := 0 for rows.Next() { err = rows.Scan(&id) if err != nil { return err } } _, err = tx.Exec("INSERT INTO balances (user_id, currency, current_balance) VALUES (?, ?, 0)", id, defaultCurrency) if err != nil { return err } return tx.Commit() }

Senior
Wildberries & Russ Bank
69

O que significa a nomenclatura no estilo RPC? No nosso caso, gRPC e REST — em que eles diferem?

Senior
МВидео/эльдорадо
69

Já teve que acompanhar o tempo, manter um registo de tarefas em algum sistema?

Middle+
Lexica
69

Como determinar se um produto com cerca de 1000 utilizadores necessita de uma arquitetura de microserviços ou monolítica?

Middle+
VKVK
69

Há uma garagem no centro comercial: os carros entram e saem, e ao final da sessão de estacionamento é necessário cobrar. Como você vê isso? Projete um sistema.

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

Como obter a saída 456 se não usar um receptor de ponteiro?

Middle
Ozon FreshOzon Fresh
69

1.21 func main() { var nums []*int for i := 0; i < 10; i++ { nums = append(nums, &i) } for _, v := range nums { go func() { fmt.Println(v) }() } }

Senior
CRTEX
69
/412