Sobes.tech

Golang

Ի՞նչ գրադարաններով են գրվում մետրիկաները Go-ում։

216

Ի՞նչ նպատակով է այս կոդը գրված: Ի՞նչ բիզնես-տեխնիկական խնդիր է լուծում:

209

Ի՞նչ մեթրիկներ։ Ի՞նչ գործիքների միջոցով մենք գրելու ենք այդ մեթրիկները։

190

// Вазифա 4 // "Տիպիկ" CRUD ծառայության համար - որոշ ժամանակ անց որոշ մեթոդներ սկսեցին դանդաղ աշխատել և ծառայությունը սկսեց ժամանակաչափել: // Ծառայությունը բաղկացած է. // * Application Load Balancer (L7) - մուտքային հարցումների ընդունում և TLS-ի ավարտ // * Backend (rest, java/kotlin կամ golang) - մուտքային հարցումների մշակումը և բիզնես տրամաբանությունը // * Database (postgres) - SQL հարցումների պահպանում և մշակումը // Ինչպես ճիշտ գործողություններ կատարել՝ հասկանալու համար խնդիրների պատճառը և բարելավելու իրավիճակը։

178

// Առաջադրանք 3 // Նկարագրեք, թե ինչ խնդիր է լուծում այս կոդը // Ի՞նչ խնդիրներ կան այս լուծման մեջ: // Ինչպե՞ս կկրկնեք այս կոդը։

167

Ի՞նչ անել տվյալների բազայի և բեռի հավասարակշռողի հետ աշխատանքի խնդիրների դեպքում։

159

Ինչպես մուտք գործել pprof պրոֆիլավորիչը արտադրական սերվերում?

155

Ի՞նչ էիր անում աշխատանքի ժամանակ։

154

// Թեստ 3 // Նկարագրեք, թե ինչ խնդիր է լուծում այս կոդը // Ինչ խնդիրներ կան այս լուծման մեջ? // Ինչպե՞ս կվերագրեք այս կոդը: var c int type Trace struct { // Որոշ դաշտեր այստեղ } type Sender interface { Send(Trace) } func Do(sender Sender, tr Trace) { c++ if c == 100 { sender.Send(tr) c = 0 } }

145

Ի՞նչ ինդեքսների վրա եք հիմնվել աշխատանքի ժամանակ: Ի՞նչ եք կիրառել պրակտիկայում: Վայլդբերիսում:

139

Ի՞նչ եք անելու, երբ ձեր թիմում ամեն օր փոխվում են առաջնահերթությունները և հայտնվում են նոր շտապ առաջադրանքներ։

136

Ինչպես է աշխատում բաժանումը PostgreSQL-ում մեքենայի տակ?

135

Ի՞նչ ինդեքսներ եք օգտագործում PostgreSQL-ում։

133

Ի՞նչ խնդիրներ կան գլոբալ հաշվիչով կոդում: Ինչպե՞ս ուղղել։

129

Ինչպես դարձնել Increaser-ը համընդհանուր — ոչ կապված 100 թվի հետ։

128

Որ գրաֆիկում եք տեսել խնդիրը pprof օգտագործելիս?

128

// Հարց 3 // Նկարագրեք, թե ինչ խնդիր է լուծում այս կոդը // Ինչ խնդիրներ կան այս լուծման մեջ? // Ինչպե՞ս կվերագրեք այս կոդը: var c int var mu sync.RWMutex type Trace struct { // Որոշ դաշտեր այստեղ } type Sender interface { Send(Trace) } func Do(sender Sender, tr Trace) { mu.Lock() defer mu.Unlock() c++ if c == 100 { go func() { sender.Send(tr) }() c = 0 } }

120

func normalize2(str []rune) []rune { result := str[:0] for val := range str { if val != ' ' { result = append(re) } } l, r := 0, 0 isSpace := false for i := 0, i < len(str); i++ { val := string(str[i]) if val == " " { if isSpace { continue } else { str[r] = val r++ isSpace = true } } else { str[r] = val r++ isSpace = false } } return str[:r] }

115

Կարող է Increaser դառնալ Sender-ի իրականացմանը: Ի՞նչ տարբերություն կա Increaser-ի և Sender-ի տրամաբանական։

111

Կարող եք պատմել, թե ինչպես եք նախագծել և իրականացնում REST և gRPC API-ները հարթակի ներքին և արտաքին ծառայությունների համար:

109
/2