Golang
როგორ ჩვეულებრივ იყენებ Linux ოპერაციული სისტემაში ბრძანებებს?
რა მიდგომები შეიძლება გამოყენებულ იქნას მრავალთრანიან გარემოში სლაისებთან მუშაობისას თრედების უსაფრთხოების უზრუნველსაყოფად?
რა ოპერაციებია შესაძლებელი პროგრამირების ენაში nil სლაითთან მუშაობისას?
სისტემის დიზაინის რომელ მეთოდებს უპირატესობას ანიჭებ გადაწყვეტილებების შექმნისას?
ლინუქს სისტემისთვის სკრიპტის დაწერით გადაჭრილი რთული დავის შესახებ ისაუბრეთ
როგორ შეიძლება რეგულირდეს კეშში შენახული მონაცემების მოცულობა?
მზადყოფნა გუნდის ერთეულ Backend სპეციალისტად ყოფნისთვის
Go-ში sync.Map ტიპის გამოყენების ძირითადი მიზეზი რა არის?
რა არის კარგი პრაქტიკა და ანტიპატერნები ერთეულ ტესტირებაში? როგორ გავიგოთ, რომ ტესტები კარგია?
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 } სინტაქსის შეცდომა # command-line-arguments ./main.go:39:32: სინტაქსის შეცდომა: არასწორი ახალი ხაზი, ელოდა { if კლაუზის შემდეგ
გახდეთ თუ არა ოდესმე სირთულეები სხვადასხვა სერვისებს შორის ურთიერთქმედების განხორციელებისას?
როგორ ხდება სლაისის (slice) გადაცემა პროგრამირების ენაში ფუნქციას?
რა არის Saga ნიმუში?
რატომ არ მიიღეს Testcontainers?
/* අපට මූලාශ්රයකින් දත්ත කිසියම් පරිභෝජකයකුට මාරු කළ යුතුය. මේදී මූලාශ්රය කුඩා කට්ටලවලින් (~ දස ගණනක් වාර්තා) දත්ත ලබා දී ඇති අතර, පරිභෝජකයා විශාල බචක සමඟ වැඩ කිරීම වඩාත් ප්රයෝජනවත් වේ. සත්ය උදාහරණයක් - Kafka වර්ගයේ පෙළගැස්මවලින් දත්ත ලබා දීම Clickhouse දත්තගබඩාවට. මූලාශ්රය: - කොන්දේසි ලෙස අසීමිත. - මූලාශ්රය එක් කැඳවීමකදී MaxItems වඩා වැඩි වාර්තා ආපසු නොදේ. - එක "සෙෂන්" (Pipe ක්රියාවලියක්) තුළ, මූලාශ්රය සෑම කැඳවීමකදී නව දත්ත ආපසු දක්වයි. - එහෙත්, නැවත ආරම්භ කිරීමෙන් පසු, මූලාශ්රය පසුගිය "තහවුරු කළ" තැනින් ආරම්භ වේ, එය cookie මගින් නියමිතයි. එමනිසා, Next කැඳවීමෙන් ආපසු ලැබූ සෑම cookie අගයක්ම, දත්ත සුරක්ෂිත කිරීමෙන් පසු, Commit මඟින් තහවුරු කළ යුතුය, එය ඒම අනුක්රමිකත්වයෙන්, Next විසින් ආපසු ලබා දී ඇත්තේ මෙන්. පරිභෝජක: - MaxItems වඩා වැඩි දේ එකවර සැකසිය නොහැක. මූලික මට්ටම: func Pipe(p Producer, c Consumer) error ක්රියාවලිය ක්රියාත්මක කළ යුතුය, ඒක මූලාශ්රයෙන් දත්ත කියවීම, ඒවා MaxItems අධික නොවන බෲෆරයට සමූහ කිරීම, සහ පසුදා ඒවා පරිභෝජකයට සුරක්ෂිත කිරීම, ඒ අනුව මූලාශ්රයේ ප්රගතිය තහවුරු කිරීම. */ const MaxItems = 9999 type Producer interface { // Next ආපසු දක්වයි: // - සැකසිය යුතු අයිතම කට්ටලයක් // - තහවුරු කිරීම සඳහා cookie // - දෝෂයක් Next() (items []any, cookie int, err error) // Commit යනු, සැකසූ දත්ත කට්ටලය සලකුණු කිරීම සඳහා 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 }
ტაბლოსი (id PRIMARY KEY, data JSON) PostgreSQL-ისთვის საკმარისად კარგი ინდექსია გასაღებით ძიებისთვის?
ვირტუალიზაცია და კონტეინერიზაცია რა განსხვავებაა?
შესაძლებელია თუ არა სხვა კოდის ბლოკის დამატება არსებული ფუნქციის შიგნით ფიგურული ბრეკეტებით?
როგორ განსაზღვრეთ და ფორმულირებდით თქვენს წინა პოზიციაზე დავალებებს?
როგორ განხორციელდა საბოლოო კოდი თქვენს ბოლო პროექტში წარმოების გარემოში?