Sobes.tech

Golang

// GetUsersList, kullanıcıların bir listesini döndürür. (Veritabanında yaklaşık 1 milyon kullanıcı saklıyoruz) // Yönetici panelinde kullanıcı listesini göstermek için kullanılır. Eğer isActive = true ise, sadece aktif kullanıcılar döndürülür. func (u *UsersRepo) GetUsersList(ctx context.Context, isActive bool) ([]User, error) { rows, err := u.DB.Query("SELECT id, name, phone FROM users WHERE is_active = ?", isActive) if err != nil { return nil, errors.New("kullanıcı listesi alınırken hata") } var users []User // Kullanıcılar hakkında bilgileri doldurun. for rows.Next() { var user User err := rows.Scan(&user.ID, &user.Name, &user.Phone) if err != nil { return nil, err } // Kullanıcının e-posta listesini alın err, err := u.DB.QueryContext(ctx, "SELECT email FROM user_emails WHERE user_id = ?", user.ID) if err != nil { return nil, errors.New("kullanıcı listesi alınırken hata") } var emails []string for er.Next() { var email string err := rows.Scan(&email) if err != nil { return nil, err } emails = append(emails, email) } if len(emails) != 0 { for i, e := range emails { e = strings.ToLower(e) emails[i] = e } } user.Emails = emails // VK API'den profil bilgisi alın profile, err := getUserProfileFromVkApiByUserPhone(user.Phone) if err != nil { return nil, errors.New("kullanıcı listesi alınırken hata") } user.Profile = profile users = append(users, user) } if err = rows.Err(); err != nil { return nil, errors.New("kullanıcı listesi alınırken hata") } }

Middle
СитиДрайвСитиДрайв
34

Lütfen, şu anda nerede çalıştığını ve ne yaptığını anlat.

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

Planlayıcı sonsuz döngüye giren bir goroutine'yi nasıl durdurur?

Senior
А7
34

Bir geliştirici olarak neyle gururlanıyorsun? En önemli proje veya görev nedir?

Middle+
Magnit Tech
34

Sipariş hizmetinden doğrudan ödeme hizmetine geçmek normal mi?

Senior
Магнит Тех
34

Okumalar usta ile mi yapılıyordu, replik ile mi yoksa nasıl dağıtılıyordu?

Senior
WildberriesWildberries
34

TCP ve UDP nedir, aralarındaki fark nedir?

Middle
OZONOZON
34

Temiz mimari nedir? Neden gereklidir?

Middle
СБЕРСБЕР
34

[Şirket]teki deneyiminizden bahsedin.

Senior
AstraTech
34

Go'da Select ne işe yarar?

Middle
Магнум
34

Ödeme webhook hizmetimiz durumsal mı?

Senior
Магнит Тех
34

Teklif: 320k brüt (~280k net) + üç aylık prim %20. Koşulları nasıl buluyorsun?

Senior
X5
34

[isim] sordu: X'ten küçük bir öğenin konumu korunursa, konum ne olur?

Senior
Яндекс
34

Değişkenler için bellek nereden gelir? Bellek ayarlayıcı nedir?

Senior
AstonAston
34

Hangi veritabanlarıyla çalıştınız ve hangi seviyede? PostgreSQL, Redis, ClickHouse hakkında daha fazla bilgi.

Senior
ООО Дэстэн Партнерс
34

Linux konsolunu biliyor musun?

Middle+
Лига Цифровой ЭкономикиЛига Цифровой Экономики
34

Her gün hangi komut listesini kullanıyorsun?

Middle+
VK CloudVK Cloud
34

Boş yapı struct{} hakkında anlat. Kullanım durumları, ne kadar bellek kullanır?

Senior
СБК ПАРУС
34

PostgreSQL transaction izolasyon seviyelerini biliyor musun?

Senior
FinFrame
34

CAP teoremi hakkında bana anlat

Middle+
СБЕРСБЕР
34
/411