{"id":382383,"date":"2024-06-29T04:14:35","date_gmt":"2024-06-29T04:14:35","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=382383"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=382383","title":{"rendered":"<span>Golang-\u0434\u0430\u0439\u0434\u0436\u0435\u0441\u0442 \u2116 8 (1 \u2013 31 \u0430\u0432\u0433\u0443\u0441\u0442\u0430\u00a0 2021)<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/449\/27b\/ab8\/44927bab8ec02af487490fa4f78b0e9b.png\" width=\"1379\" height=\"676\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/449\/27b\/ab8\/44927bab8ec02af487490fa4f78b0e9b.png\"\/><figcaption><\/figcaption><\/figure>\n<h4>\u041d\u043e\u0432\u043e\u0441\u0442\u0438, \u0441\u043e\u0431\u044b\u0442\u0438\u044f<\/h4>\n<ul>\n<li>\n<p><a href=\"https:\/\/go.dev\/blog\/go1.17\" rel=\"noopener noreferrer nofollow\"><u>\u0412\u044b\u043f\u0443\u0449\u0435\u043d Go 1.17<\/u><\/a><\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/golang.org\/doc\/go1.17\" rel=\"noopener noreferrer nofollow\"><u>\u041f\u043e\u043b\u043d\u044b\u0435 \u043f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u044f \u043a \u0432\u044b\u043f\u0443\u0441\u043a\u0443<\/u><\/a><\/p>\n<\/li>\n<li>\n<p>\u0423\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430, \u0434\u0430\u044e\u0449\u0438\u0435 <a href=\"https:\/\/golang.org\/doc\/go1.17#compiler\" rel=\"noopener noreferrer nofollow\"><u>\u043f\u0440\u0438\u0440\u043e\u0441\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 ~ 5%<\/u><\/a><\/p>\n<\/li>\n<li>\n<p>64-\u0431\u0438\u0442\u043d\u0430\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 ARM \u0432 Windows.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/golang.org\/doc\/go1.17#go-command\" rel=\"noopener noreferrer nofollow\"><u>\u0423\u0440\u0435\u0437\u0430\u043d\u043d\u044b\u0435 \u0433\u0440\u0430\u0444\u044b \u043c\u043e\u0434\u0443\u043b\u0435\u0439<\/u><\/a><\/p>\n<ul>\n<li>\n<p>\u0435\u0441\u043b\u0438 \u043c\u043e\u0434\u0443\u043b\u044c \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 go 1.17 \u0438\u043b\u0438 \u0432\u044b\u0448\u0435, \u0433\u0440\u0430\u0444 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 go 1.17, \u043d\u043e \u043d\u0435 \u0438\u0445 \u043f\u043e\u043b\u043d\u044b\u0435 \u0442\u0440\u0430\u043d\u0437\u0438\u0442\u0438\u0432\u043d\u044b\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>unsafe.Add<\/p>\n<ul>\n<li>\n<p>unsafe.Add(ptr, len) \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 len \u043a ptr \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0439 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c unsafe.Pointer(uintptr(ptr) + uintptr(len)).<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u041f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u0437 \u0441\u0440\u0435\u0437\u0430 \u0432 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u043c\u0430\u0441\u0441\u0438\u0432<\/p>\n<ul>\n<li>\n<p>\u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 s \u0442\u0438\u043f\u0430 []T \u0442\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u043e \u0432 \u0442\u0438\u043f \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044f \u043c\u0430\u0441\u0441\u0438\u0432\u0430 *[N]T. \u0415\u0441\u043b\u0438 a \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c \u0442\u0430\u043a\u043e\u0433\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f, \u0442\u043e \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0438\u043d\u0434\u0435\u043a\u0441\u044b, \u043d\u0430\u0445\u043e\u0434\u044f\u0449\u0438\u0435\u0441\u044f \u0432 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0435, \u043e\u0442\u043d\u043e\u0441\u044f\u0442\u0441\u044f \u043a \u043e\u0434\u043d\u0438\u043c \u0438 \u0442\u0435\u043c \u0436\u0435 \u0431\u0430\u0437\u043e\u0432\u044b\u043c \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u043c: &amp;a[i] == &amp;s[i] \u0434\u043b\u044f 0 &lt;= i &lt; N. \u041f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 \u043f\u0430\u043d\u0438\u043a\u0443, \u0435\u0441\u043b\u0438 len(s) \u043c\u0435\u043d\u044c\u0448\u0435 N.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>unsafe.Slice<\/p>\n<ul>\n<li>\n<p>\u0434\u043b\u044f \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f ptr \u0442\u0438\u043f\u0430 *T, unsafe.Slice(ptr, len) \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0441\u0440\u0435\u0437 \u0442\u0438\u043f\u0430 []T, \u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441 ptr, \u0430 \u0434\u043b\u0438\u043d\u0430 \u0438 \u0435\u043c\u043a\u043e\u0441\u0442\u044c \u0440\u0430\u0432\u043d\u044b len.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u041a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 \u043a \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u043c \u043c\u043e\u0434\u0443\u043b\u044f\u043c<\/p>\n<ul>\n<li>\n<p>\u0410\u0432\u0442\u043e\u0440\u044b \u043c\u043e\u0434\u0443\u043b\u044f \u043c\u043e\u0433\u0443\u0442 \u043e\u0431\u044a\u044f\u0432\u0438\u0442\u044c \u043c\u043e\u0434\u0443\u043b\u044c \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u043c, \u0434\u043e\u0431\u0430\u0432\u0438\u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439 \/\/ Deprecated: \u0432 go.mod, \u0430 \u0437\u0430\u0442\u0435\u043c \u043f\u043e\u043c\u0435\u0442\u0438\u0432 \u043d\u043e\u0432\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e. go get \u0442\u0435\u043f\u0435\u0440\u044c \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435, \u0435\u0441\u043b\u0438 \u043c\u043e\u0434\u0443\u043b\u044c, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0439 \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u043a\u0438 \u043f\u0430\u043a\u0435\u0442\u043e\u0432, \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0445 \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435, \u0443\u0441\u0442\u0430\u0440\u0435\u043b. go list -m -u \u043f\u0435\u0447\u0430\u0442\u0430\u0435\u0442 \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u0435 \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 (\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 -f \u0438\u043b\u0438 -json, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u043e\u043b\u043d\u043e\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435). \u041a\u043e\u043c\u0430\u043d\u0434\u0430 go \u0441\u0447\u0438\u0442\u0430\u0435\u0442 \u0440\u0430\u0437\u043d\u044b\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u043c\u0438 \u043c\u043e\u0434\u0443\u043b\u044f\u043c\u0438, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u044d\u0442\u043e\u0442 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u043b\u044f \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 \u043f\u043e \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u043d\u043e\u0432\u043e\u0439 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>go get<\/p>\n<ul>\n<li>\n<p>\u0424\u043b\u0430\u0433 go get -insecure \u0443\u0441\u0442\u0430\u0440\u0435\u043b \u0438 \u0431\u044b\u043b \u0443\u0434\u0430\u043b\u0435\u043d. \u0427\u0442\u043e\u0431\u044b \u0440\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0435\u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u0445 \u0441\u0445\u0435\u043c \u043f\u0440\u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0438 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0441\u0440\u0435\u0434\u044b GOINSECURE. \u0424\u043b\u0430\u0433 -insecure \u0442\u0430\u043a\u0436\u0435 \u043e\u0431\u0445\u043e\u0434\u0438\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u0441\u0443\u043c\u043c\u044b \u043c\u043e\u0434\u0443\u043b\u044f, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 GOPRIVATE \u0438\u043b\u0438 GONOSUMDB, \u0435\u0441\u043b\u0438 \u0432\u0430\u043c \u043d\u0443\u0436\u043d\u0430 \u044d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f.<\/p>\n<\/li>\n<li>\n<p>go get \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435 \u043e\u0431 \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0430\u043d\u0438\u0438 \u043f\u0440\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 \u043a\u043e\u043c\u0430\u043d\u0434 \u0432\u043d\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u043c\u043e\u0434\u0443\u043b\u044f (\u0431\u0435\u0437 \u0444\u043b\u0430\u0433\u0430 -d). go install cmd@version \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u043c\u0435\u0441\u0442\u043e \u044d\u0442\u043e\u0433\u043e \u0434\u043b\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0441\u0443\u0444\u0444\u0438\u043a\u0441 \u0442\u0438\u043f\u0430 @latest \u0438\u043b\u0438 @v1.2.3. \u0412 Go 1.18 \u0432\u0441\u0435\u0433\u0434\u0430 \u0431\u0443\u0434\u0435\u0442 \u0432\u043a\u043b\u044e\u0447\u0435\u043d \u0444\u043b\u0430\u0433 -d, \u0430 go get \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u0432 go.mod.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>Cgo<\/p>\n<ul>\n<li>\n<p>\u041f\u0430\u043a\u0435\u0442 runtime\/cgo \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043d\u043e\u0432\u0443\u044e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u043b\u044e\u0431\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f Go \u0432 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043c\u0435\u0436\u0434\u0443 C \u0438 Go (runtime\/cgo.Handle).<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>TLS \u0441\u0442\u0440\u043e\u0433\u0438\u0439 ALPN<\/p>\n<ul>\n<li>\n<p>\u041a\u043e\u0433\u0434\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d Config.NextProtos, \u0441\u0435\u0440\u0432\u0435\u0440\u044b \u0442\u0435\u043f\u0435\u0440\u044c \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u044e\u0442 \u043f\u0435\u0440\u0435\u043a\u0440\u044b\u0442\u0438\u0435 \u043c\u0435\u0436\u0434\u0443 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u043c\u0438 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430\u043c\u0438 \u0438 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430\u043c\u0438 ALPN, \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u043d\u044b\u043c\u0438 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u043c, \u0435\u0441\u043b\u0438 \u0442\u0430\u043a\u043e\u0432\u044b\u0435 \u0438\u043c\u0435\u044e\u0442\u0441\u044f. \u0415\u0441\u043b\u0438 \u043d\u0435\u0442 \u0432\u0437\u0430\u0438\u043c\u043d\u043e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u043e\u0433\u043e \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430, \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0441 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435\u043c no_application_protocol, \u043a\u0430\u043a \u0442\u043e\u0433\u043e \u0442\u0440\u0435\u0431\u0443\u0435\u0442 RFC 7301. \u042d\u0442\u043e \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u0441\u043c\u044f\u0433\u0447\u0438\u0442\u044c \u043c\u0435\u0436\u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u044c\u043d\u0443\u044e \u0430\u0442\u0430\u043a\u0443 ALPACA.<\/p>\n<\/li>\n<li>\n<p>\u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f, \u043a\u043e\u0433\u0434\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 &#171;h2&#187; \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u043e \u0432 \u0444\u0430\u0439\u043b Config.NextProtos \u0441\u0435\u0440\u0432\u0435\u0440\u0430, \u043a\u043b\u0438\u0435\u043d\u0442\u0430\u043c HTTP\/1.1 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c\u0441\u044f, \u043a\u0430\u043a \u0435\u0441\u043b\u0438 \u0431\u044b \u043e\u043d\u0438 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u043b\u0438 ALPN.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>gofmt<\/p>\n<ul>\n<li>\n<p>gofmt (\u0438 go fmt) \u0442\u0435\u043f\u0435\u0440\u044c \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u0441\u0442\u0440\u043e\u043a\u0438 \/\/go:build \u0441\u043e \u0441\u0442\u0440\u043e\u043a\u0430\u043c\u0438 \/\/ +build. \u0415\u0441\u043b\u0438 \u0444\u0430\u0439\u043b \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0442\u0440\u043e\u043a\u0438 \/\/ +build, \u043e\u043d\u0438 \u0431\u0443\u0434\u0443\u0442 \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u044b \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0435 \u043c\u0435\u0441\u0442\u043e \u0432 \u0444\u0430\u0439\u043b\u0435, \u0438 \u0431\u0443\u0434\u0443\u0442 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u044b \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \/\/go:build. \u0412 \u043f\u0440\u043e\u0442\u0438\u0432\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \/\/ +build \u0431\u0443\u0434\u0443\u0442 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u0430\u043d\u044b \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043b\u044e\u0431\u044b\u0445 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u0441\u0442\u0440\u043e\u043a \/\/go:build.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>go run<\/p>\n<ul>\n<li>\n<p>go run \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b \u0441 \u0441\u0443\u0444\u0444\u0438\u043a\u0441\u0430\u043c\u0438 \u0432\u0435\u0440\u0441\u0438\u0438 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, go run example.com\/cmd@v1.0.0). \u042d\u0442\u043e \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u0442\u043e\u043c\u0443, \u0447\u0442\u043e go run \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u043f\u0430\u043a\u0435\u0442\u044b \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u043c\u043e\u0434\u0443\u043b\u0435\u0439, \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u0443\u044f \u0444\u0430\u0439\u043b go.mod \u0432 \u0442\u0435\u043a\u0443\u0449\u0435\u043c \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435 \u0438\u043b\u0438 \u043b\u044e\u0431\u043e\u043c \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u043c \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435, \u0435\u0441\u043b\u0438 \u043e\u043d \u0435\u0441\u0442\u044c. \u042d\u0442\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u043e \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 \u0431\u0435\u0437 \u0438\u0445 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0438\u043b\u0438 \u0431\u0435\u0437 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u043c\u043e\u0434\u0443\u043b\u044f.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>vendor<\/p>\n<ul>\n<li>\n<p>\u0415\u0441\u043b\u0438 \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u043c\u043e\u0434\u0443\u043b\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043e go 1.17 \u0438\u043b\u0438 \u0432\u044b\u0448\u0435, go mod vendor \u0442\u0435\u043f\u0435\u0440\u044c \u0430\u043d\u043d\u043e\u0442\u0438\u0440\u0443\u0435\u0442 vendor\/modules.txt \u0432\u0435\u0440\u0441\u0438\u0435\u0439 go, \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u0443\u044e \u043a\u0430\u0436\u0434\u044b\u043c \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u043c \u043c\u043e\u0434\u0443\u043b\u0435\u043c, \u0432 \u0435\u0433\u043e \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u043c \u0444\u0430\u0439\u043b\u0435 go.mod. \u0410\u043d\u043d\u043e\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u0441\u0431\u043e\u0440\u043a\u0435 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u043c\u043e\u0434\u0443\u043b\u044f \u0438\u0437 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u0430.<\/p>\n<\/li>\n<li>\n<p>\u0415\u0441\u043b\u0438 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u043c\u043e\u0434\u0443\u043b\u044c \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 go 1.17 \u0438\u043b\u0438 \u0432\u044b\u0448\u0435, go mod vendor \u0442\u0435\u043f\u0435\u0440\u044c \u043d\u0435 \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0444\u0430\u0439\u043b\u044b go.mod \u0438 go.sum \u0434\u043b\u044f \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432 \u043f\u0440\u043e\u0442\u0438\u0432\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043c\u043e\u0433\u0443\u0442 \u043f\u043e\u043c\u0435\u0448\u0430\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u0435 go \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 \u043a\u043e\u0440\u0435\u043d\u044c \u043c\u043e\u0434\u0443\u043b\u044f \u043f\u0440\u0438 \u0432\u044b\u0437\u043e\u0432\u0435 \u0432 \u0434\u0435\u0440\u0435\u0432\u0435 \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u043e\u0432.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><a href=\"https:\/\/blog.gitea.io\/2021\/08\/gitea-1.15.0-is-released\/\" rel=\"noopener noreferrer nofollow\"><u>\u0412\u044b\u043f\u0443\u0449\u0435\u043d\u0430<\/u><\/a> Gitea v1.15.0 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b git forge  <\/p>\n<\/li>\n<li>\n<p>Amazon \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0430 <a href=\"https:\/\/aws.amazon.com\/ru\/blogs\/aws\/introducing-amazon-memorydb-for-redis-a-redis-compatible-durable-in-memory-database-service\/\" rel=\"noopener noreferrer nofollow\"><u>MemoryDB \u0434\u043b\u044f Redis<\/u><\/a> , \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c\u0443\u044e \u0441\u043b\u0443\u0436\u0431\u0443, \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u0443\u044e \u0441 Redis, \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u0443\u044e \u0434\u043b\u044f \u043f\u0435\u0440\u0432\u0438\u0447\u043d\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n<\/li>\n<\/ul>\n<h4>Awesome<\/h4>\n<ul>\n<li>\n<p><a href=\"https:\/\/awesome-go.com\/\" rel=\"noopener noreferrer nofollow\"><u>https:\/\/awesome-go.com\/<\/u><\/a>\u00a0<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/guardrailsio\/awesome-golang-security\" rel=\"noopener noreferrer nofollow\"><u>https:\/\/github.com\/guardrailsio\/awesome-golang-security<\/u><\/a>\u00a0<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/Binject\/awesome-go-security\" rel=\"noopener noreferrer nofollow\"><u>https:\/\/github.com\/Binject\/awesome-go-security<\/u><\/a>\u00a0<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/gist.github.com\/hbt\/d6ab942b882d5b94f331c5257076d05e\" rel=\"noopener noreferrer nofollow\"><u>https:\/\/gist.github.com\/hbt\/d6ab942b882d5b94f331c5257076d05e<\/u><\/a>\u00a0<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/avelino\/awesome-go\" rel=\"noopener noreferrer nofollow\"><u>https:\/\/github.com\/avelino\/awesome-go<\/u><\/a>\u00a0<\/p>\n<\/li>\n<\/ul>\n<h4>\u041c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b \u0434\u043b\u044f \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f<\/h4>\n<ul>\n<li>\n<p><a href=\"https:\/\/github.com\/ardanlabs\/gotraining\/tree\/master\/reading\" rel=\"noopener noreferrer nofollow\"><u>\u041c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b \u0443\u0447\u0435\u0431\u043d\u044b\u0445 \u043a\u0443\u0440\u0441\u043e\u0432 \u043f\u043e Go<\/u><\/a><\/p>\n<\/li>\n<\/ul>\n<h4>\u0421\u0442\u0430\u0442\u044c\u0438<\/h4>\n<ul>\n<li>\n<p><a href=\"https:\/\/tpaschalis.github.io\/golang-len\/\" rel=\"noopener noreferrer nofollow\"><u>\u041a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 len()<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/betterprogramming.pub\/building-a-highly-available-kubernetes-operator-using-golang-fe4a44c395c2\" rel=\"noopener noreferrer nofollow\"><u>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430 Kubernetes<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/developer.okta.com\/blog\/2021\/08\/02\/fix-common-problems-cors\" rel=\"noopener noreferrer nofollow\"><u>\u0423\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u0445 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0441 CORS \u0438 JavaScript (\u0432 Go REST API)<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/earthly.dev\/blog\/command-line-tools\/\" rel=\"noopener noreferrer nofollow\"><u>\u0428\u0435\u0441\u0442\u044c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438<\/u><\/a>\u00a0<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/storj.io\/blog\/a-tale-of-two-copies\" rel=\"noopener noreferrer nofollow\"><u>\u041f\u043e\u0432\u0435\u0441\u0442\u044c \u043e \u0434\u0432\u0443\u0445 \u043a\u043e\u043f\u0438\u044f\u0445<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/threedots.tech\/post\/common-anti-patterns-in-go-web-applications\/\" rel=\"noopener noreferrer nofollow\"><u>\u041e\u0431\u0449\u0438\u0435 \u0430\u043d\u0442\u0438-\u0448\u0430\u0431\u043b\u043e\u043d\u044b \u0432 \u0432\u0435\u0431-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445<\/u><\/a>\u00a0<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/trstringer.com\/golang-deferred-function-error-handling\/\" rel=\"noopener noreferrer nofollow\"><u>\u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043e\u0448\u0438\u0431\u043e\u043a \u043e\u0442\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439<\/u><\/a>\u00a0<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/icexin.com\/post\/running-go-application-on-bare-metal\/\" rel=\"noopener noreferrer nofollow\"><u>\u0417\u0430\u043f\u0443\u0441\u043a \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0430 \u0433\u043e\u043b\u043e\u043c \u0436\u0435\u043b\u0435\u0437\u0435<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/bitfieldconsulting.com\/golang\/map-string-interface\" rel=\"noopener noreferrer nofollow\"><u>map[string]interface{}<\/u><\/a> &#8212;\u00a0 \u0441\u0442\u0430\u0442\u044c\u044f \u043f\u0440\u043e \u043d\u0435 \u0442\u0438\u043f\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u043a\u0430\u0440\u0442\u0443<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/dev.to\/aurelievache\/learning-go-by-examples-part-4-create-a-bot-for-discord-in-go-43cf\" rel=\"noopener noreferrer nofollow\"><u>\u041e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u0445: \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0431\u043e\u0442\u0430 \u0434\u043b\u044f Discord<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/benchmarksgame-team.pages.debian.net\/benchmarksgame\/fastest\/go-csharpcore.html\" rel=\"noopener noreferrer nofollow\"><u>Go 1.17 \u043e\u0447\u0435\u043d\u044c \u0445\u043e\u0440\u043e\u0448\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441 C # \u0432 \u0441\u0442\u0430\u0440\u043e\u0439 \u0434\u043e\u0431\u0440\u043e\u0439 \u0438\u0433\u0440\u0435 Computer Language Benchmarks Game<\/u><\/a>\u00a0<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/brandur.org\/fragments\/go-xerror\" rel=\"noopener noreferrer nofollow\"><u>Error stack traces in Go with x\/xerror<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/golangweekly.com\/link\/112974\/web\" rel=\"noopener noreferrer nofollow\"><u>\u041d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u0430\u044f \u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0441\u0442\u044c sync.Once<\/u><\/a> &#8212; \u0444\u0430\u043d\u0442\u0430\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u0442\u043e\u0433\u043e, \u043f\u043e\u0447\u0435\u043c\u0443 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u043e \u0434\u043b\u044f \u043e\u0447\u0438\u0441\u0442\u043a\u0438 \u043a\u043e\u0434\u0430<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/medium.com\/@scott_white\/using-go-generics-57fba3edecdd\" rel=\"noopener noreferrer nofollow\"><u>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 Go Generics<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/arielorozco.com\/build-scalable-applications-with-aws-lambda-and-go\" rel=\"noopener noreferrer nofollow\"><u>\u0421\u043e\u0437\u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u0435\u043c\u044b\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e AWS Lambda<\/u><\/a> &#8212; \u043f\u0440\u044f\u043c\u043e\u0439 \u043e\u0431\u0437\u043e\u0440 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u0438 \u043f\u043e\u0447\u0435\u043c\u0443 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c \u0431\u0435\u0441\u0441\u0435\u0440\u0432\u0435\u0440\u043d\u044b\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u0434\u043b\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 Go.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.fredrikholmqvist.com\/posts\/brooks-wirth-go\/\" rel=\"noopener noreferrer nofollow\"><u>Brooks, Wirth and Go<\/u><\/a> &#8212; \u043e\u0442\u043b\u0438\u0447\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f \u043e \u0434\u0432\u0443\u0445 \u0433\u0438\u0433\u0430\u043d\u0442\u0430\u0445 \u0432 \u0438\u043d\u0434\u0443\u0441\u0442\u0440\u0438\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.cockroachlabs.com\/blog\/json-go-cockroachdb\/\" rel=\"noopener noreferrer nofollow\"><u>\u041a\u0430\u043a \u043c\u043e\u0434\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 JSON \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e CockroachDB<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/ebiten.org\/blog\/steam.html\" rel=\"noopener noreferrer nofollow\"><u>\u041a\u0430\u043a \u0432\u044b\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0438\u0433\u0440\u0443 \u0434\u043b\u044f Steam \u043d\u0430 GO<\/u><\/a>\u00a0<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/blog.uptrace.dev\/posts\/go-json-rest-api\/\" rel=\"noopener noreferrer nofollow\"><u>\u0421\u043e\u0432\u0435\u0442\u044b \u043f\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044e JSON REST API \u0432 Go<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/medium.com\/@amitdavidson234\/write-a-static-code-analysis-tool-for-detecting-race-conditions-e05a49692ab1\" rel=\"noopener noreferrer nofollow\"><u>\u041d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u043a\u043e\u0434\u0430 \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u0433\u043e\u043d\u043a\u0438<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/betterprogramming.pub\/automate-jira-cloud-workflow-with-golang-2de29828aad6\" rel=\"noopener noreferrer nofollow\"><u>\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044f JIRA<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/571002\/\" rel=\"noopener noreferrer nofollow\"><u>\u0410\u043d\u0430\u043b\u0438\u0437 \u0442\u0435\u0441\u0442\u0430 \u043f\u043e Go \u0441 PHDays<\/u><\/a>\u00a0<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/571374\/\" rel=\"noopener noreferrer nofollow\"><u>\u041e\u043f\u044b\u0442 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f GitHub Actions \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f CI\/CD \u0441 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u043c \u0445\u043e\u0441\u0442\u0438\u043d\u0433\u043e\u043c \u043d\u0430 Heroku<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/company\/JetBrains\/blog\/571464\/\" rel=\"noopener noreferrer nofollow\"><u>GoLand 2021.2: \u0423\u043b\u0443\u0447\u0448\u0435\u043d\u043d\u0430\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 Go-\u043c\u043e\u0434\u0443\u043b\u0435\u0439, \u043d\u043e\u0432\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 gofmt, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 Go 1.17<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/company\/netcracker\/blog\/571934\/\" rel=\"noopener noreferrer nofollow\"><u>\u041a\u0430\u043a \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u0432\u0435\u0440\u0441\u0438\u043e\u043d\u0438\u0440\u0443\u0435\u043c\u044b\u043c\u0438 \u0441 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u043c\u0438 Kubernetes<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/company\/karuna\/blog\/565466\/\" rel=\"noopener noreferrer nofollow\"><u>Real-time \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u0442\u043e\u0440\u043c\u043e\u0437\u044f\u0449\u0438\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 PostgreSQL \u0441\u0432\u043e\u0438\u043c\u0438 \u0440\u0443\u043a\u0430\u043c\u0438 \u0437\u0430 \u043f\u043e\u043b\u0447\u0430\u0441\u0430<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/company\/otus\/blog\/571994\/\" rel=\"noopener noreferrer nofollow\"><u>Go: \u043a\u0430\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u043e\u0441\u043b\u0435 \u043f\u0430\u043d\u0438\u043a\u0438?<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/572212\/\" rel=\"noopener noreferrer nofollow\"><u>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 Golang \u0432 WSL (WSL 2) \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Visual Studio Code<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/571420\/\" rel=\"noopener noreferrer nofollow\"><u>Register-based calling convention, GO?<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/company\/karuna\/blog\/568240\/\" rel=\"noopener noreferrer nofollow\"><u>\u041a\u0430\u043a \u0441\u0434\u0435\u043b\u0430\u0442\u044c alter table \u0432 \u0432\u044b\u0441\u043e\u043a\u043e\u043d\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u0435<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/company\/otus\/blog\/573572\/\" rel=\"noopener noreferrer nofollow\"><u>Go: \u043e\u0431\u044a\u0435\u043a\u0442\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u0438 \u0440\u0435\u043b\u043e\u043a\u0430\u0446\u0438\u044f<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/company\/ozontech\/blog\/570936\/\" rel=\"noopener noreferrer nofollow\"><u>\u041a\u0430\u043a \u0432 \u0432\u043e\u0441\u0435\u043c\u044c \u0440\u0430\u0437 \u0443\u043c\u0435\u043d\u044c\u0448\u0438\u0442\u044c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e DNS-\u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0432 Go<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/574666\/\" rel=\"noopener noreferrer nofollow\"><u>\u042f \u0441\u0434\u0435\u043b\u0430\u043b StackOverflow \u0438\u0437 IT-\u0447\u0430\u0442\u043e\u0432 Telegram<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/574750\/\" rel=\"noopener noreferrer nofollow\"><u>\u042d\u0432\u043e\u043b\u044e\u0446\u0438\u044f Docker. \u0427\u0430\u0441\u0442\u044c 2.1<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/575256\/\" rel=\"noopener noreferrer nofollow\"><u>\u042d\u0432\u043e\u043b\u044e\u0446\u0438\u044f Docker. \u0427\u0430\u0441\u0442\u044c 2.2<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/575296\/\" rel=\"noopener noreferrer nofollow\"><u>\u042d\u0432\u043e\u043b\u044e\u0446\u0438\u044f Docker. \u0427\u0430\u0441\u0442\u044c 2.3<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/company\/otus\/blog\/574838\/\" rel=\"noopener noreferrer nofollow\"><u>Go: \u0441\u0442\u043e\u0438\u0442 \u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0438 \u0432\u043c\u0435\u0441\u0442\u043e \u043a\u043e\u043f\u0438\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b?<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/company\/mailru\/blog\/574542\/\" rel=\"noopener noreferrer nofollow\"><u>\u041a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 Tarantool \u043d\u0430 Golang \u0432\u043c\u0435\u0441\u0442\u043e Lua<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/575190\/\" rel=\"noopener noreferrer nofollow\"><u>\u0418\u0441\u0442\u043e\u0440\u0438\u044f \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b Highload.Fun \u0434\u043b\u044f \u0441\u043e\u0440\u0435\u0432\u043d\u043e\u0432\u0430\u043d\u0438\u0439 \u0432 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u043a\u043e\u0434\u0430<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/575316\/\" rel=\"noopener noreferrer nofollow\"><u>\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435\u00a0 \u043e\u043f\u0446\u0438\u0438 \u0432 Go: \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0448\u0430\u0431\u043b\u043e\u043d\u0430 \u043e\u043f\u0446\u0438\u0439 \u0432 Golang<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/575368\/\" rel=\"noopener noreferrer nofollow\"><u>\u041f\u0440\u0430\u0433\u043c\u0430\u0442\u0438\u0447\u043d\u044b\u0435 Unit \u0442\u0435\u0441\u0442\u044b \u043d\u0430 Golang<\/u><\/a><\/p>\n<\/li>\n<\/ul>\n<h4>\u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b<\/h4>\n<ul>\n<li>\n<p>Entity Framework &#8212; <a href=\"https:\/\/github.com\/ent\/ent\" rel=\"noopener noreferrer nofollow\"><u>Ent v0.9.0<\/u><\/a><\/p>\n<\/li>\n<li>\n<p>\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 Golang &#8212; <a href=\"https:\/\/github.com\/securego\/gosec\" rel=\"noopener noreferrer nofollow\"><u>gosec v2.8.1<\/u><\/a><\/p>\n<\/li>\n<li>\n<p>\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0434\u043b\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0433\u0440\u0430\u0444\u043e\u0432 &#8212; <a href=\"https:\/\/github.com\/r2d4\/virgo\" rel=\"noopener noreferrer nofollow\"><u>virgo v0.0.1<\/u><\/a>\u00a0<\/p>\n<\/li>\n<li>\n<p>\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0434\u043b\u044f \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u043a\u043e\u0434\u043e\u0432 TOTP \/ HOTP &#8212; <a href=\"https:\/\/github.com\/grijul\/otpgen\" rel=\"noopener noreferrer nofollow\"><u>otpgen v1.0.0<\/u><\/a>\u00a0<\/p>\n<\/li>\n<li>\n<p>\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u0430\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0441\u0442\u0438\u043b\u0435\u0439 \u0438 \u0446\u0432\u0435\u0442\u043e\u0432 ANSI \u0434\u043b\u044f \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 &#8212; <a href=\"https:\/\/github.com\/muesli\/termenv\" rel=\"noopener noreferrer nofollow\"><u>termenv v0.9.0<\/u><\/a>\u00a0<\/p>\n<\/li>\n<li>\n<p>\u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0430 C \u0432 Go &#8212; <a href=\"https:\/\/github.com\/gotranspile\/cxgo\" rel=\"noopener noreferrer nofollow\"><u>cxgo v0.3.0<\/u><\/a>\u00a0<\/p>\n<\/li>\n<li>\n<p>\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 cloudflare api &#8212; <a href=\"https:\/\/github.com\/cloudflare\/cloudflare-go\" rel=\"noopener noreferrer nofollow\"><u>cloudflare-go v0.21.0<\/u><\/a>\u00a0<\/p>\n<\/li>\n<li>\n<p>\u0423\u0442\u0438\u043b\u0438\u0442\u0430 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u0438 MIDI \u0441 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u044b\u043c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u043c OSC &#8212; <a href=\"https:\/\/github.com\/plewto\/Pigiron\" rel=\"noopener noreferrer nofollow\"><u>Pigiron<\/u><\/a>\u00a0<\/p>\n<\/li>\n<li>\n<p>\u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 &#8212; <a href=\"https:\/\/github.com\/TomWright\/dasel\" rel=\"noopener noreferrer nofollow\"><u>dasel v1.20.0<\/u><\/a>\u00a0<\/p>\n<\/li>\n<li>\n<p>\u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445, \u043c\u043e\u0434\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u043d\u0432\u0435\u0439\u0435\u0440\u043e\u0432 \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u0434\u0430\u043d\u043d\u044b\u0445 &#8212;\u00a0 <a href=\"https:\/\/github.com\/odpf\/optimus\" rel=\"noopener noreferrer nofollow\"><u>optimus v0.0.2<\/u><\/a>\u00a0<\/p>\n<\/li>\n<li>\n<p>\u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0444\u0430\u0439\u043b\u043e\u0432 \u0441 \u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430 \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u0439 &#8212; <a href=\"https:\/\/github.com\/schollz\/croc\" rel=\"noopener noreferrer nofollow\"><u>croc v9.3.0<\/u><\/a>\u00a0<\/p>\n<\/li>\n<li>\n<p>\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0438\u043d\u0434\u0435\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0442\u0435\u043a\u0441\u0442\u0430 &#8212; <a href=\"https:\/\/github.com\/blevesearch\/bleve\/releases\/tag\/v2.1.0\" rel=\"noopener noreferrer nofollow\"><u>Bleve v2.1.0<\/u><\/a><\/p>\n<\/li>\n<li>\n<p>\u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u0439 \u0442\u0438\u043f Go \u0438\u0437 SQL &#8212; <a href=\"https:\/\/github.com\/kyleconroy\/sqlc\/releases\/tag\/v1.9.0\" rel=\"noopener noreferrer nofollow\"><u>sqlc v1.9.0<\/u><\/a><\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u0447\u0442\u043e\u0432\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 SMTP &#8212; <a href=\"https:\/\/github.com\/foxcpp\/maddy\/releases\/tag\/v0.5.0\" rel=\"noopener noreferrer nofollow\"><u>Maddy v0.5.0<\/u><\/a><\/p>\n<\/li>\n<li>\n<p>\u0420\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f Go gRPC (HTTP \/ 2-based RPC) &#8212; <a href=\"https:\/\/github.com\/grpc\/grpc-go\/releases\/tag\/v1.40.0\" rel=\"noopener noreferrer nofollow\"><u>grpc-go v1.40.0<\/u><\/a><\/p>\n<\/li>\n<li>\n<p>\u041a\u043b\u0438\u0435\u043d\u0442 \u0434\u043b\u044f GitHub API v3 &#8212; <a href=\"https:\/\/github.com\/google\/go-github\" rel=\"noopener noreferrer nofollow\"><u>go-github v38.1.0<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/mongodb\/mongo-go-driver\/releases\/tag\/v1.7.1\" rel=\"noopener noreferrer nofollow\"><u>\u0414\u0440\u0430\u0439\u0432\u0435\u0440 MongoDB Go 1.7.1<\/u><\/a><\/p>\n<\/li>\n<li>\n<p>\u041a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u043d\u0430\u044f \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u0434\u043b\u044f \u0432\u0435\u0431-\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 Go <a href=\"https:\/\/github.com\/volatiletech\/authboss\" rel=\"noopener noreferrer nofollow\"><u>authboss v3.2.0<\/u><\/a>\u00a0<\/p>\n<\/li>\n<li>\n<p>\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 Premier ACME &#8212; <a href=\"https:\/\/github.com\/mholt\/acmez\" rel=\"noopener noreferrer nofollow\"><u>Acmez v1.0<\/u><\/a><\/p>\n<\/li>\n<li>\n<p>\u041a\u0440\u043e\u0448\u0435\u0447\u043d\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f Git &#8212; <a href=\"https:\/\/github.com\/WithGJR\/regit-go\" rel=\"noopener noreferrer nofollow\"><u>ReGit<\/u><\/a><\/p>\n<\/li>\n<li>\n<p>\u0421\u0435\u0440\u0432\u0435\u0440 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 LDAP &#8212; <a href=\"https:\/\/github.com\/glauth\/glauth\" rel=\"noopener noreferrer nofollow\"><u>GLAuth v2.0<\/u><\/a><\/p>\n<\/li>\n<li>\n<p>\u041e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u043a\u043b\u0438\u0435\u043d\u0442 GitHub CLI &#8212; <a href=\"https:\/\/github.com\/cli\/cli\/releases\/tag\/v2.0.0\" rel=\"noopener noreferrer nofollow\"><u>GitHub CLI v2.0<\/u><\/a><\/p>\n<\/li>\n<li>\n<p>\u0420\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u0430\u044f \u0431\u0430\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445, \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u0430\u044f \u043d\u0430 SQLite &#8212; <a href=\"https:\/\/github.com\/rqlite\/rqlite\/releases\/tag\/v6.2.0\" rel=\"noopener noreferrer nofollow\"><u>rqlite v6.2.0<\/u><\/a><\/p>\n<\/li>\n<li>\n<p>API \u043a\u043b\u0438\u0435\u043d\u0442 Spotify &#8212; <a href=\"https:\/\/github.com\/zmb3\/spotify\" rel=\"noopener noreferrer nofollow\"><u>Spotify v2.0<\/u><\/a><\/p>\n<\/li>\n<li>\n<p>\u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0441\u043b\u0430\u0439\u0434-\u0448\u043e\u0443 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0430 &#8212; <a href=\"https:\/\/github.com\/maaslalani\/slides\/releases\/tag\/v0.5.0\" rel=\"noopener noreferrer nofollow\"><u>slides v0.5.0<\/u><\/a><\/p>\n<\/li>\n<li>\n<p>\u0424\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c &#8212; <a href=\"https:\/\/github.com\/asim\/go-micro\" rel=\"noopener noreferrer nofollow\"><u>micro v3.6.0<\/u><\/a><\/p>\n<\/li>\n<li>\n<p>\u041a\u043b\u0438\u0435\u043d\u0442 \u0434\u043b\u044f PostgreSQL, MySQL \u0438 SQLite &#8212; <a href=\"https:\/\/github.com\/uptrace\/bun\" rel=\"noopener noreferrer nofollow\"><u>bun v1.0.0<\/u><\/a>\u00a0<\/p>\n<\/li>\n<li>\n<p>HTTP-\u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0442\u043e\u0440 &#8212; <a href=\"https:\/\/github.com\/vmihailenco\/treemux\" rel=\"noopener noreferrer nofollow\"><u>treemux v0.7.3<\/u><\/a><\/p>\n<\/li>\n<li>\n<p>\u0424\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f &#8212; <a href=\"https:\/\/github.com\/MarvinJWendt\/testza\" rel=\"noopener noreferrer nofollow\"><u>testza v0.2.7<\/u><\/a>\u00a0<\/p>\n<\/li>\n<li>\n<p>\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430\u00a0 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f base64 &#8212;\u00a0 <a href=\"https:\/\/github.com\/cristalhq\/base64\" rel=\"noopener noreferrer nofollow\"><u>base64 v0.1.2<\/u><\/a>\u00a0<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/mattn\/go-generics-example\" rel=\"noopener noreferrer nofollow\"><u>Example code for Go generics<\/u><\/a>\u00a0<\/p>\n<\/li>\n<li>\n<p>\u041f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0435\u0442\u044f\u043c\u0438 &#8212; <a href=\"https:\/\/github.com\/gravitl\/netmaker\" rel=\"noopener noreferrer nofollow\"><u>netmaker v0.7.3<\/u><\/a><\/p>\n<\/li>\n<li>\n<p>OpenID Connect (OIDC) HTTP Middleware &#8212; <a href=\"https:\/\/github.com\/XenitAB\/go-oidc-middleware\" rel=\"noopener noreferrer nofollow\"><u>go-oidc-middleware v0.0.11<\/u><\/a><\/p>\n<\/li>\n<\/ul>\n<h4>\u041f\u043e\u0434\u043a\u0430\u0441\u0442\u044b<\/h4>\n<p><a href=\"https:\/\/soundcloud.com\/generictalks\" rel=\"noopener noreferrer nofollow\"><u>GenericTalks<\/u><\/a><\/p>\n<p><a href=\"https:\/\/podcasts.apple.com\/us\/podcast\/go-time\/id1120964487\" rel=\"noopener noreferrer nofollow\"><u>Go Tim\u202ae\u202c<\/u><\/a><\/p>\n<h4>\u0421\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430<\/h4>\n<p><a href=\"https:\/\/ru.stackoverflow.com\/questions\/tagged\/golang\" rel=\"noopener noreferrer nofollow\"><u>\u0412\u043e\u043f\u0440\u043e\u0441\u044b \u043f\u043e \u044f\u0437\u044b\u043a\u0443 \u043d\u0430 \u0440\u0443\u0441\u0441\u043a\u043e\u044f\u0437\u044b\u0447\u043d\u043e\u043c StackOverflow<\/u><\/a><\/p>\n<p><a href=\"https:\/\/stackoverflow.com\/collectives\/go\" rel=\"noopener noreferrer nofollow\"><u>\u0421\u0442\u0440\u0430\u043d\u0438\u0446\u0430 Go \u043d\u0430 stackoverflow<\/u><\/a><\/p>\n<p><a href=\"https:\/\/www.meetup.com\/ru-RU\/pro\/go\" rel=\"noopener noreferrer nofollow\"><u>\u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u043c\u0438\u0442\u0430\u043f\u0430\u0445<\/u><\/a><\/p>\n<p><a href=\"https:\/\/groups.google.com\/forum\/#!forum\/Golang-ru\" rel=\"noopener noreferrer nofollow\"><u>\u0424\u043e\u0440\u0443\u043c \u0432 \u0433\u0440\u0443\u043f\u043f\u0430\u0445 Google<\/u><\/a><\/p>\n<p><a href=\"https:\/\/t.me\/vseins_tech\" rel=\"noopener noreferrer nofollow\"><u>https:\/\/t.me\/vseins_tech<\/u><\/a><\/p>\n<p><a href=\"https:\/\/t.me\/GolangStack\" rel=\"noopener noreferrer nofollow\">\u041a\u0430\u043d\u0430\u043b \u0432 telegram (GolangStack)<\/a><\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/db8\/a06\/b91\/db8a06b91e2bc72033de7320813b7384.png\" width=\"9213\" height=\"1268\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/db8\/a06\/b91\/db8a06b91e2bc72033de7320813b7384.png\"\/><figcaption><\/figcaption><\/figure>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/575814\/\"> https:\/\/habr.com\/ru\/articles\/575814\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<h4>\u041d\u043e\u0432\u043e\u0441\u0442\u0438, \u0441\u043e\u0431\u044b\u0442\u0438\u044f<\/h4>\n<ul>\n<li>\n<p><a href=\"https:\/\/go.dev\/blog\/go1.17\" rel=\"noopener noreferrer nofollow\"><u>\u0412\u044b\u043f\u0443\u0449\u0435\u043d Go 1.17<\/u><\/a><\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/golang.org\/doc\/go1.17\" rel=\"noopener noreferrer nofollow\"><u>\u041f\u043e\u043b\u043d\u044b\u0435 \u043f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u044f \u043a \u0432\u044b\u043f\u0443\u0441\u043a\u0443<\/u><\/a><\/p>\n<\/li>\n<li>\n<p>\u0423\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430, \u0434\u0430\u044e\u0449\u0438\u0435 <a href=\"https:\/\/golang.org\/doc\/go1.17#compiler\" rel=\"noopener noreferrer nofollow\"><u>\u043f\u0440\u0438\u0440\u043e\u0441\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 ~ 5%<\/u><\/a><\/p>\n<\/li>\n<li>\n<p>64-\u0431\u0438\u0442\u043d\u0430\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 ARM \u0432 Windows.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/golang.org\/doc\/go1.17#go-command\" rel=\"noopener noreferrer nofollow\"><u>\u0423\u0440\u0435\u0437\u0430\u043d\u043d\u044b\u0435 \u0433\u0440\u0430\u0444\u044b \u043c\u043e\u0434\u0443\u043b\u0435\u0439<\/u><\/a><\/p>\n<ul>\n<li>\n<p>\u0435\u0441\u043b\u0438 \u043c\u043e\u0434\u0443\u043b\u044c \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 go 1.17 \u0438\u043b\u0438 \u0432\u044b\u0448\u0435, \u0433\u0440\u0430\u0444 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 go 1.17, \u043d\u043e \u043d\u0435 \u0438\u0445 \u043f\u043e\u043b\u043d\u044b\u0435 \u0442\u0440\u0430\u043d\u0437\u0438\u0442\u0438\u0432\u043d\u044b\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>unsafe.Add<\/p>\n<ul>\n<li>\n<p>unsafe.Add(ptr, len) \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 len \u043a ptr \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0439 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c unsafe.Pointer(uintptr(ptr) + uintptr(len)).<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u041f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u0437 \u0441\u0440\u0435\u0437\u0430 \u0432 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u043c\u0430\u0441\u0441\u0438\u0432<\/p>\n<ul>\n<li>\n<p>\u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 s \u0442\u0438\u043f\u0430 []T \u0442\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u043e \u0432 \u0442\u0438\u043f \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044f \u043c\u0430\u0441\u0441\u0438\u0432\u0430 *[N]T. \u0415\u0441\u043b\u0438 a \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c \u0442\u0430\u043a\u043e\u0433\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f, \u0442\u043e \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0438\u043d\u0434\u0435\u043a\u0441\u044b, \u043d\u0430\u0445\u043e\u0434\u044f\u0449\u0438\u0435\u0441\u044f \u0432 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0435, \u043e\u0442\u043d\u043e\u0441\u044f\u0442\u0441\u044f \u043a \u043e\u0434\u043d\u0438\u043c \u0438 \u0442\u0435\u043c \u0436\u0435 \u0431\u0430\u0437\u043e\u0432\u044b\u043c \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u043c: &amp;a[i] == &amp;s[i] \u0434\u043b\u044f 0 &lt;= i &lt; N. \u041f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 \u043f\u0430\u043d\u0438\u043a\u0443, \u0435\u0441\u043b\u0438 len(s) \u043c\u0435\u043d\u044c\u0448\u0435 N.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>unsafe.Slice<\/p>\n<ul>\n<li>\n<p>\u0434\u043b\u044f \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f ptr \u0442\u0438\u043f\u0430 *T, unsafe.Slice(ptr, len) \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0441\u0440\u0435\u0437 \u0442\u0438\u043f\u0430 []T, \u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441 ptr, \u0430 \u0434\u043b\u0438\u043d\u0430 \u0438 \u0435\u043c\u043a\u043e\u0441\u0442\u044c \u0440\u0430\u0432\u043d\u044b len.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u041a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 \u043a \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u043c \u043c\u043e\u0434\u0443\u043b\u044f\u043c<\/p>\n<ul>\n<li>\n<p>\u0410\u0432\u0442\u043e\u0440\u044b \u043c\u043e\u0434\u0443\u043b\u044f \u043c\u043e\u0433\u0443\u0442 \u043e\u0431\u044a\u044f\u0432\u0438\u0442\u044c \u043c\u043e\u0434\u0443\u043b\u044c \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u043c, \u0434\u043e\u0431\u0430\u0432\u0438\u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439 \/\/ Deprecated: \u0432 go.mod, \u0430 \u0437\u0430\u0442\u0435\u043c \u043f\u043e\u043c\u0435\u0442\u0438\u0432 \u043d\u043e\u0432\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e. go get \u0442\u0435\u043f\u0435\u0440\u044c \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435, \u0435\u0441\u043b\u0438 \u043c\u043e\u0434\u0443\u043b\u044c, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0439 \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u043a\u0438 \u043f\u0430\u043a\u0435\u0442\u043e\u0432, \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0445 \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435, \u0443\u0441\u0442\u0430\u0440\u0435\u043b. go list -m -u \u043f\u0435\u0447\u0430\u0442\u0430\u0435\u0442 \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u0435 \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 (\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 -f \u0438\u043b\u0438 -json, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u043e\u043b\u043d\u043e\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435). \u041a\u043e\u043c\u0430\u043d\u0434\u0430 go \u0441\u0447\u0438\u0442\u0430\u0435\u0442 \u0440\u0430\u0437\u043d\u044b\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u043c\u0438 \u043c\u043e\u0434\u0443\u043b\u044f\u043c\u0438, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u044d\u0442\u043e\u0442 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u043b\u044f \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 \u043f\u043e \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u043d\u043e\u0432\u043e\u0439 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>go get<\/p>\n<ul>\n<li>\n<p>\u0424\u043b\u0430\u0433 go get -insecure \u0443\u0441\u0442\u0430\u0440\u0435\u043b \u0438 \u0431\u044b\u043b \u0443\u0434\u0430\u043b\u0435\u043d. \u0427\u0442\u043e\u0431\u044b \u0440\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0435\u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u0445 \u0441\u0445\u0435\u043c \u043f\u0440\u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0438 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0441\u0440\u0435\u0434\u044b GOINSECURE. \u0424\u043b\u0430\u0433 -insecure \u0442\u0430\u043a\u0436\u0435 \u043e\u0431\u0445\u043e\u0434\u0438\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u0441\u0443\u043c\u043c\u044b \u043c\u043e\u0434\u0443\u043b\u044f, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 GOPRIVATE \u0438\u043b\u0438 GONOSUMDB, \u0435\u0441\u043b\u0438 \u0432\u0430\u043c \u043d\u0443\u0436\u043d\u0430 \u044d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f.<\/p>\n<\/li>\n<li>\n<p>go get \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435 \u043e\u0431 \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0430\u043d\u0438\u0438 \u043f\u0440\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 \u043a\u043e\u043c\u0430\u043d\u0434 \u0432\u043d\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u043c\u043e\u0434\u0443\u043b\u044f (\u0431\u0435\u0437 \u0444\u043b\u0430\u0433\u0430 -d). go install cmd@version \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u043c\u0435\u0441\u0442\u043e \u044d\u0442\u043e\u0433\u043e \u0434\u043b\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0441\u0443\u0444\u0444\u0438\u043a\u0441 \u0442\u0438\u043f\u0430 @latest \u0438\u043b\u0438 @v1.2.3. \u0412 Go 1.18 \u0432\u0441\u0435\u0433\u0434\u0430 \u0431\u0443\u0434\u0435\u0442 \u0432\u043a\u043b\u044e\u0447\u0435\u043d \u0444\u043b\u0430\u0433 -d, \u0430 go get \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u0432 go.mod.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>Cgo<\/p>\n<ul>\n<li>\n<p>\u041f\u0430\u043a\u0435\u0442 runtime\/cgo \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043d\u043e\u0432\u0443\u044e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u043b\u044e\u0431\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f Go \u0432 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043c\u0435\u0436\u0434\u0443 C \u0438 Go (runtime\/cgo.Handle).<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>TLS \u0441\u0442\u0440\u043e\u0433\u0438\u0439 ALPN<\/p>\n<ul>\n<li>\n<p>\u041a\u043e\u0433\u0434\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d Config.NextProtos, \u0441\u0435\u0440\u0432\u0435\u0440\u044b \u0442\u0435\u043f\u0435\u0440\u044c \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u044e\u0442 \u043f\u0435\u0440\u0435\u043a\u0440\u044b\u0442\u0438\u0435 \u043c\u0435\u0436\u0434\u0443 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u043c\u0438 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430\u043c\u0438 \u0438 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430\u043c\u0438 ALPN, \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u043d\u044b\u043c\u0438 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u043c, \u0435\u0441\u043b\u0438 \u0442\u0430\u043a\u043e\u0432\u044b\u0435 \u0438\u043c\u0435\u044e\u0442\u0441\u044f. \u0415\u0441\u043b\u0438 \u043d\u0435\u0442 \u0432\u0437\u0430\u0438\u043c\u043d\u043e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u043e\u0433\u043e \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430, \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0441 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435\u043c no_application_protocol, \u043a\u0430\u043a \u0442\u043e\u0433\u043e \u0442\u0440\u0435\u0431\u0443\u0435\u0442 RFC 7301. \u042d\u0442\u043e \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u0441\u043c\u044f\u0433\u0447\u0438\u0442\u044c \u043c\u0435\u0436\u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u044c\u043d\u0443\u044e \u0430\u0442\u0430\u043a\u0443 ALPACA.<\/p>\n<\/li>\n<li>\n<p>\u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f, \u043a\u043e\u0433\u0434\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 &#171;h2&#187; \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u043e \u0432 \u0444\u0430\u0439\u043b Config.NextProtos \u0441\u0435\u0440\u0432\u0435\u0440\u0430, \u043a\u043b\u0438\u0435\u043d\u0442\u0430\u043c HTTP\/1.1 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c\u0441\u044f, \u043a\u0430\u043a \u0435\u0441\u043b\u0438 \u0431\u044b \u043e\u043d\u0438 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u043b\u0438 ALPN.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>gofmt<\/p>\n<ul>\n<li>\n<p>gofmt (\u0438 go fmt) \u0442\u0435\u043f\u0435\u0440\u044c \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u0441\u0442\u0440\u043e\u043a\u0438 \/\/go:build \u0441\u043e \u0441\u0442\u0440\u043e\u043a\u0430\u043c\u0438 \/\/ +build. \u0415\u0441\u043b\u0438 \u0444\u0430\u0439\u043b \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0442\u0440\u043e\u043a\u0438 \/\/ +build, \u043e\u043d\u0438 \u0431\u0443\u0434\u0443\u0442 \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u044b \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0435 \u043c\u0435\u0441\u0442\u043e \u0432 \u0444\u0430\u0439\u043b\u0435, \u0438 \u0431\u0443\u0434\u0443\u0442 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u044b \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \/\/go:build. \u0412 \u043f\u0440\u043e\u0442\u0438\u0432\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \/\/ +build \u0431\u0443\u0434\u0443\u0442 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u0430\u043d\u044b \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043b\u044e\u0431\u044b\u0445 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u0441\u0442\u0440\u043e\u043a \/\/go:build.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>go run<\/p>\n<ul>\n<li>\n<p>go run \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b \u0441 \u0441\u0443\u0444\u0444\u0438\u043a\u0441\u0430\u043c\u0438 \u0432\u0435\u0440\u0441\u0438\u0438 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, go run example.com\/cmd@v1.0.0). \u042d\u0442\u043e \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u0442\u043e\u043c\u0443, \u0447\u0442\u043e go run \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u043f\u0430\u043a\u0435\u0442\u044b \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u043c\u043e\u0434\u0443\u043b\u0435\u0439, \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u0443\u044f \u0444\u0430\u0439\u043b go.mod \u0432 \u0442\u0435\u043a\u0443\u0449\u0435\u043c \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435 \u0438\u043b\u0438 \u043b\u044e\u0431\u043e\u043c \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u043c \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435, \u0435\u0441\u043b\u0438 \u043e\u043d \u0435\u0441\u0442\u044c. \u042d\u0442\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u043e \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 \u0431\u0435\u0437 \u0438\u0445 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0438\u043b\u0438 \u0431\u0435\u0437 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u043c\u043e\u0434\u0443\u043b\u044f.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>vendor<\/p>\n<ul>\n<li>\n<p>\u0415\u0441\u043b\u0438 \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u043c\u043e\u0434\u0443\u043b\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043e go 1.17 \u0438\u043b\u0438 \u0432\u044b\u0448\u0435, go mod vendor \u0442\u0435\u043f\u0435\u0440\u044c \u0430\u043d\u043d\u043e\u0442\u0438\u0440\u0443\u0435\u0442 vendor\/modules.txt \u0432\u0435\u0440\u0441\u0438\u0435\u0439 go, \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u0443\u044e \u043a\u0430\u0436\u0434\u044b\u043c \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u043c \u043c\u043e\u0434\u0443\u043b\u0435\u043c, \u0432 \u0435\u0433\u043e \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u043c \u0444\u0430\u0439\u043b\u0435 go.mod. \u0410\u043d\u043d\u043e\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u0441\u0431\u043e\u0440\u043a\u0435 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u043c\u043e\u0434\u0443\u043b\u044f \u0438\u0437 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u0430.<\/p>\n<\/li>\n<li>\n<p>\u0415\u0441\u043b\u0438 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u043c\u043e\u0434\u0443\u043b\u044c \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 go 1.17 \u0438\u043b\u0438 \u0432\u044b\u0448\u0435, go mod vendor \u0442\u0435\u043f\u0435\u0440\u044c \u043d\u0435 \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0444\u0430\u0439\u043b\u044b go.mod \u0438 go.sum \u0434\u043b\u044f \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432 \u043f\u0440\u043e\u0442\u0438\u0432\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043c\u043e\u0433\u0443\u0442 \u043f\u043e\u043c\u0435\u0448\u0430\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u0435 go \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 \u043a\u043e\u0440\u0435\u043d\u044c \u043c\u043e\u0434\u0443\u043b\u044f \u043f\u0440\u0438 \u0432\u044b\u0437\u043e\u0432\u0435 \u0432 \u0434\u0435\u0440\u0435\u0432\u0435 \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u043e\u0432.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><a href=\"https:\/\/blog.gitea.io\/2021\/08\/gitea-1.15.0-is-released\/\" rel=\"noopener noreferrer nofollow\"><u>\u0412\u044b\u043f\u0443\u0449\u0435\u043d\u0430<\/u><\/a> Gitea v1.15.0 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b git forge  <\/p>\n<\/li>\n<li>\n<p>Amazon \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0430 <a href=\"https:\/\/aws.amazon.com\/ru\/blogs\/aws\/introducing-amazon-memorydb-for-redis-a-redis-compatible-durable-in-memory-database-service\/\" rel=\"noopener noreferrer nofollow\"><u>MemoryDB \u0434\u043b\u044f Redis<\/u><\/a> , \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c\u0443\u044e \u0441\u043b\u0443\u0436\u0431\u0443, \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u0443\u044e \u0441 Redis, \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u0443\u044e \u0434\u043b\u044f \u043f\u0435\u0440\u0432\u0438\u0447\u043d\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n<\/li>\n<\/ul>\n<h4>Awesome<\/h4>\n<ul>\n<li>\n<p><a href=\"https:\/\/awesome-go.com\/\" rel=\"noopener noreferrer nofollow\"><u>https:\/\/awesome-go.com\/<\/u><\/a>\u00a0<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/guardrailsio\/awesome-golang-security\" rel=\"noopener noreferrer nofollow\"><u>https:\/\/github.com\/guardrailsio\/awesome-golang-security<\/u><\/a>\u00a0<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/Binject\/awesome-go-security\" rel=\"noopener noreferrer nofollow\"><u>https:\/\/github.com\/Binject\/awesome-go-security<\/u><\/a>\u00a0<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/gist.github.com\/hbt\/d6ab942b882d5b94f331c5257076d05e\" rel=\"noopener noreferrer nofollow\"><u>https:\/\/gist.github.com\/hbt\/d6ab942b882d5b94f331c5257076d05e<\/u><\/a>\u00a0<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/avelino\/awesome-go\" rel=\"noopener noreferrer nofollow\"><u>https:\/\/github.com\/avelino\/awesome-go<\/u><\/a>\u00a0<\/p>\n<\/li>\n<\/ul>\n<h4>\u041c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b \u0434\u043b\u044f \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f<\/h4>\n<ul>\n<li>\n<p><a href=\"https:\/\/github.com\/ardanlabs\/gotraining\/tree\/master\/reading\" rel=\"noopener noreferrer nofollow\"><u>\u041c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b \u0443\u0447\u0435\u0431\u043d\u044b\u0445 \u043a\u0443\u0440\u0441\u043e\u0432 \u043f\u043e Go<\/u><\/a><\/p>\n<\/li>\n<\/ul>\n<h4>\u0421\u0442\u0430\u0442\u044c\u0438<\/h4>\n<ul>\n<li>\n<p><a href=\"https:\/\/tpaschalis.github.io\/golang-len\/\" rel=\"noopener noreferrer nofollow\"><u>\u041a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 len()<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/betterprogramming.pub\/building-a-highly-available-kubernetes-operator-using-golang-fe4a44c395c2\" rel=\"noopener noreferrer nofollow\"><u>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430 Kubernetes<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/developer.okta.com\/blog\/2021\/08\/02\/fix-common-problems-cors\" rel=\"noopener noreferrer nofollow\"><u>\u0423\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u0445 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0441 CORS \u0438 JavaScript (\u0432 Go REST API)<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/earthly.dev\/blog\/command-line-tools\/\" rel=\"noopener noreferrer nofollow\"><u>\u0428\u0435\u0441\u0442\u044c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438<\/u><\/a>\u00a0<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/storj.io\/blog\/a-tale-of-two-copies\" rel=\"noopener noreferrer nofollow\"><u>\u041f\u043e\u0432\u0435\u0441\u0442\u044c \u043e \u0434\u0432\u0443\u0445 \u043a\u043e\u043f\u0438\u044f\u0445<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/threedots.tech\/post\/common-anti-patterns-in-go-web-applications\/\" rel=\"noopener noreferrer nofollow\"><u>\u041e\u0431\u0449\u0438\u0435 \u0430\u043d\u0442\u0438-\u0448\u0430\u0431\u043b\u043e\u043d\u044b \u0432 \u0432\u0435\u0431-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445<\/u><\/a>\u00a0<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/trstringer.com\/golang-deferred-function-error-handling\/\" rel=\"noopener noreferrer nofollow\"><u>\u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043e\u0448\u0438\u0431\u043e\u043a \u043e\u0442\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439<\/u><\/a>\u00a0<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/icexin.com\/post\/running-go-application-on-bare-metal\/\" rel=\"noopener noreferrer nofollow\"><u>\u0417\u0430\u043f\u0443\u0441\u043a \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0430 \u0433\u043e\u043b\u043e\u043c \u0436\u0435\u043b\u0435\u0437\u0435<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/bitfieldconsulting.com\/golang\/map-string-interface\" rel=\"noopener noreferrer nofollow\"><u>map[string]interface{}<\/u><\/a> &#8212;\u00a0 \u0441\u0442\u0430\u0442\u044c\u044f \u043f\u0440\u043e \u043d\u0435 \u0442\u0438\u043f\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u043a\u0430\u0440\u0442\u0443<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/dev.to\/aurelievache\/learning-go-by-examples-part-4-create-a-bot-for-discord-in-go-43cf\" rel=\"noopener noreferrer nofollow\"><u>\u041e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u0445: \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0431\u043e\u0442\u0430 \u0434\u043b\u044f Discord<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/benchmarksgame-team.pages.debian.net\/benchmarksgame\/fastest\/go-csharpcore.html\" rel=\"noopener noreferrer nofollow\"><u>Go 1.17 \u043e\u0447\u0435\u043d\u044c \u0445\u043e\u0440\u043e\u0448\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441 C # \u0432 \u0441\u0442\u0430\u0440\u043e\u0439 \u0434\u043e\u0431\u0440\u043e\u0439 \u0438\u0433\u0440\u0435 Computer Language Benchmarks Game<\/u><\/a>\u00a0<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/brandur.org\/fragments\/go-xerror\" rel=\"noopener noreferrer nofollow\"><u>Error stack traces in Go with x\/xerror<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/golangweekly.com\/link\/112974\/web\" rel=\"noopener noreferrer nofollow\"><u>\u041d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u0430\u044f \u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0441\u0442\u044c sync.Once<\/u><\/a> &#8212; \u0444\u0430\u043d\u0442\u0430\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u0442\u043e\u0433\u043e, \u043f\u043e\u0447\u0435\u043c\u0443 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u043e \u0434\u043b\u044f \u043e\u0447\u0438\u0441\u0442\u043a\u0438 \u043a\u043e\u0434\u0430<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/medium.com\/@scott_white\/using-go-generics-57fba3edecdd\" rel=\"noopener noreferrer nofollow\"><u>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 Go Generics<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/arielorozco.com\/build-scalable-applications-with-aws-lambda-and-go\" rel=\"noopener noreferrer nofollow\"><u>\u0421\u043e\u0437\u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u0435\u043c\u044b\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e AWS Lambda<\/u><\/a> &#8212; \u043f\u0440\u044f\u043c\u043e\u0439 \u043e\u0431\u0437\u043e\u0440 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u0438 \u043f\u043e\u0447\u0435\u043c\u0443 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c \u0431\u0435\u0441\u0441\u0435\u0440\u0432\u0435\u0440\u043d\u044b\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u0434\u043b\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 Go.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.fredrikholmqvist.com\/posts\/brooks-wirth-go\/\" rel=\"noopener noreferrer nofollow\"><u>Brooks, Wirth and Go<\/u><\/a> &#8212; \u043e\u0442\u043b\u0438\u0447\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f \u043e \u0434\u0432\u0443\u0445 \u0433\u0438\u0433\u0430\u043d\u0442\u0430\u0445 \u0432 \u0438\u043d\u0434\u0443\u0441\u0442\u0440\u0438\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.cockroachlabs.com\/blog\/json-go-cockroachdb\/\" rel=\"noopener noreferrer nofollow\"><u>\u041a\u0430\u043a \u043c\u043e\u0434\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 JSON \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e CockroachDB<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/ebiten.org\/blog\/steam.html\" rel=\"noopener noreferrer nofollow\"><u>\u041a\u0430\u043a \u0432\u044b\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0438\u0433\u0440\u0443 \u0434\u043b\u044f Steam \u043d\u0430 GO<\/u><\/a>\u00a0<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/blog.uptrace.dev\/posts\/go-json-rest-api\/\" rel=\"noopener noreferrer nofollow\"><u>\u0421\u043e\u0432\u0435\u0442\u044b \u043f\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044e JSON REST API \u0432 Go<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/medium.com\/@amitdavidson234\/write-a-static-code-analysis-tool-for-detecting-race-conditions-e05a49692ab1\" rel=\"noopener noreferrer nofollow\"><u>\u041d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u043a\u043e\u0434\u0430 \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u0433\u043e\u043d\u043a\u0438<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/betterprogramming.pub\/automate-jira-cloud-workflow-with-golang-2de29828aad6\" rel=\"noopener noreferrer nofollow\"><u>\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044f JIRA<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/571002\/\" rel=\"noopener noreferrer nofollow\"><u>\u0410\u043d\u0430\u043b\u0438\u0437 \u0442\u0435\u0441\u0442\u0430 \u043f\u043e Go \u0441 PHDays<\/u><\/a>\u00a0<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/571374\/\" rel=\"noopener noreferrer nofollow\"><u>\u041e\u043f\u044b\u0442 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f GitHub Actions \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f CI\/CD \u0441 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u043c \u0445\u043e\u0441\u0442\u0438\u043d\u0433\u043e\u043c \u043d\u0430 Heroku<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/company\/JetBrains\/blog\/571464\/\" rel=\"noopener noreferrer nofollow\"><u>GoLand 2021.2: \u0423\u043b\u0443\u0447\u0448\u0435\u043d\u043d\u0430\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 Go-\u043c\u043e\u0434\u0443\u043b\u0435\u0439, \u043d\u043e\u0432\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 gofmt, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 Go 1.17<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/company\/netcracker\/blog\/571934\/\" rel=\"noopener noreferrer nofollow\"><u>\u041a\u0430\u043a \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u0432\u0435\u0440\u0441\u0438\u043e\u043d\u0438\u0440\u0443\u0435\u043c\u044b\u043c\u0438 \u0441 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u043c\u0438 Kubernetes<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/company\/karuna\/blog\/565466\/\" rel=\"noopener noreferrer nofollow\"><u>Real-time \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u0442\u043e\u0440\u043c\u043e\u0437\u044f\u0449\u0438\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 PostgreSQL \u0441\u0432\u043e\u0438\u043c\u0438 \u0440\u0443\u043a\u0430\u043c\u0438 \u0437\u0430 \u043f\u043e\u043b\u0447\u0430\u0441\u0430<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/company\/otus\/blog\/571994\/\" rel=\"noopener noreferrer nofollow\"><u>Go: \u043a\u0430\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u043e\u0441\u043b\u0435 \u043f\u0430\u043d\u0438\u043a\u0438?<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/572212\/\" rel=\"noopener noreferrer nofollow\"><u>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 Golang \u0432 WSL (WSL 2) \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Visual Studio Code<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/571420\/\" rel=\"noopener noreferrer nofollow\"><u>Register-based calling convention, GO?<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/company\/karuna\/blog\/568240\/\" rel=\"noopener noreferrer nofollow\"><u>\u041a\u0430\u043a \u0441\u0434\u0435\u043b\u0430\u0442\u044c alter table \u0432 \u0432\u044b\u0441\u043e\u043a\u043e\u043d\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u0435<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/company\/otus\/blog\/573572\/\" rel=\"noopener noreferrer nofollow\"><u>Go: \u043e\u0431\u044a\u0435\u043a\u0442\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u0438 \u0440\u0435\u043b\u043e\u043a\u0430\u0446\u0438\u044f<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/company\/ozontech\/blog\/570936\/\" rel=\"noopener noreferrer nofollow\"><u>\u041a\u0430\u043a \u0432 \u0432\u043e\u0441\u0435\u043c\u044c \u0440\u0430\u0437 \u0443\u043c\u0435\u043d\u044c\u0448\u0438\u0442\u044c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e DNS-\u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0432 Go<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/574666\/\" rel=\"noopener noreferrer nofollow\"><u>\u042f \u0441\u0434\u0435\u043b\u0430\u043b StackOverflow \u0438\u0437 IT-\u0447\u0430\u0442\u043e\u0432 Telegram<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/574750\/\" rel=\"noopener noreferrer nofollow\"><u>\u042d\u0432\u043e\u043b\u044e\u0446\u0438\u044f Docker. \u0427\u0430\u0441\u0442\u044c 2.1<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/575256\/\" rel=\"noopener noreferrer nofollow\"><u>\u042d\u0432\u043e\u043b\u044e\u0446\u0438\u044f Docker. \u0427\u0430\u0441\u0442\u044c 2.2<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/575296\/\" rel=\"noopener noreferrer nofollow\"><u>\u042d\u0432\u043e\u043b\u044e\u0446\u0438\u044f Docker. \u0427\u0430\u0441\u0442\u044c 2.3<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/company\/otus\/blog\/574838\/\" rel=\"noopener noreferrer nofollow\"><u>Go: \u0441\u0442\u043e\u0438\u0442 \u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0438 \u0432\u043c\u0435\u0441\u0442\u043e \u043a\u043e\u043f\u0438\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b?<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/company\/mailru\/blog\/574542\/\" rel=\"noopener noreferrer nofollow\"><u>\u041a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 Tarantool \u043d\u0430 Golang \u0432\u043c\u0435\u0441\u0442\u043e Lua<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/575190\/\" rel=\"noopener noreferrer nofollow\"><u>\u0418\u0441\u0442\u043e\u0440\u0438\u044f \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b Highload.Fun \u0434\u043b\u044f \u0441\u043e\u0440\u0435\u0432\u043d\u043e\u0432\u0430\u043d\u0438\u0439 \u0432 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u043a\u043e\u0434\u0430<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/575316\/\" rel=\"noopener noreferrer nofollow\"><u>\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435\u00a0 \u043e\u043f\u0446\u0438\u0438 \u0432 Go: \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0448\u0430\u0431\u043b\u043e\u043d\u0430 \u043e\u043f\u0446\u0438\u0439 \u0432 Golang<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/575368\/\" rel=\"noopener noreferrer nofollow\"><u>\u041f\u0440\u0430\u0433\u043c\u0430\u0442\u0438\u0447\u043d\u044b\u0435 Unit \u0442\u0435\u0441\u0442\u044b \u043d\u0430 Golang<\/u><\/a><\/p>\n<\/li>\n<\/ul>\n<h4>\u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b<\/h4>\n<ul>\n<li>\n<p>Entity Framework &#8212; <a href=\"https:\/\/github.com\/ent\/ent\" rel=\"noopener noreferrer nofollow\"><u>Ent v0.9.0<\/u><\/a><\/p>\n<\/li>\n<li>\n<p>\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 Golang &#8212; <a href=\"https:\/\/github.com\/securego\/gosec\" rel=\"noopener noreferrer nofollow\"><u>gosec v2.8.1<\/u><\/a><\/p>\n<\/li>\n<li>\n<p>\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0434\u043b\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0433\u0440\u0430\u0444\u043e\u0432 &#8212; <a href=\"https:\/\/github.com\/r2d4\/virgo\" rel=\"noopener noreferrer nofollow\"><u>virgo v0.0.1<\/u><\/a>\u00a0<\/p>\n<\/li>\n<li>\n<p>\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0434\u043b\u044f \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u043a\u043e\u0434\u043e\u0432 TOTP \/ HOTP &#8212; <a href=\"https:\/\/github.com\/grijul\/otpgen\" rel=\"noopener noreferrer nofollow\"><u>otpgen v1.0.0<\/u><\/a>\u00a0<\/p>\n<\/li>\n<li>\n<p>\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u0430\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0441\u0442\u0438\u043b\u0435\u0439 \u0438 \u0446\u0432\u0435\u0442\u043e\u0432 ANSI \u0434\u043b\u044f \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 &#8212; <a href=\"https:\/\/github.com\/muesli\/termenv\" rel=\"noopener noreferrer nofollow\"><u>termenv v0.9.0<\/u><\/a>\u00a0<\/p>\n<\/li>\n<li>\n<p>\u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0430 C \u0432 Go &#8212; <a href=\"https:\/\/github.com\/gotranspile\/cxgo\" rel=\"noopener noreferrer nofollow\"><u>cxgo v0.3.0<\/u><\/a>\u00a0<\/p>\n<\/li>\n<li>\n<p>\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 cloudflare api &#8212; <a href=\"https:\/\/github.com\/cloudflare\/cloudflare-go\" rel=\"noopener noreferrer nofollow\"><u>cloudflare-go v0.21.0<\/u><\/a>\u00a0<\/p>\n<\/li>\n<li>\n<p>\u0423\u0442\u0438\u043b\u0438\u0442\u0430 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u0438 MIDI \u0441 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u044b\u043c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u043c OSC &#8212; <a href=\"https:\/\/github.com\/plewto\/Pigiron\" rel=\"noopener noreferrer nofollow\"><u>Pigiron<\/u><\/a>\u00a0<\/p>\n<\/li>\n<li>\n<p>\u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 &#8212; <a href=\"https:\/\/github.com\/TomWright\/dasel\" rel=\"noopener noreferrer nofollow\"><u>dasel v1.20.0<\/u><\/a>\u00a0<\/p>\n<\/li>\n<li>\n<p>\u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445, \u043c\u043e\u0434\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u043d\u0432\u0435\u0439\u0435\u0440\u043e\u0432 \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u0434\u0430\u043d\u043d\u044b\u0445 &#8212;\u00a0 <a href=\"https:\/\/github.com\/odpf\/optimus\" rel=\"noopener noreferrer nofollow\"><u>optimus v0.0.2<\/u><\/a>\u00a0<\/p>\n<\/li>\n<li>\n<p>\u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0444\u0430\u0439\u043b\u043e\u0432 \u0441 \u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430 \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u0439 &#8212; <a href=\"https:\/\/github.com\/schollz\/croc\" rel=\"noopener noreferrer nofollow\"><u>croc v9.3.0<\/u><\/a>\u00a0<\/p>\n<\/li>\n<li>\n<p>\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0438\u043d\u0434\u0435\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0442\u0435\u043a\u0441\u0442\u0430 &#8212; <a href=\"https:\/\/github.com\/blevesearch\/bleve\/releases\/tag\/v2.1.0\" rel=\"noopener noreferrer nofollow\"><u>Bleve v2.1.0<\/u><\/a><\/p>\n<\/li>\n<li>\n<p>\u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u0439 \u0442\u0438\u043f Go \u0438\u0437 SQL &#8212; <a href=\"https:\/\/github.com\/kyleconroy\/sqlc\/releases\/tag\/v1.9.0\" rel=\"noopener noreferrer nofollow\"><u>sqlc v1.9.0<\/u><\/a><\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u0447\u0442\u043e\u0432\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 SMTP &#8212; <a href=\"https:\/\/github.com\/foxcpp\/maddy\/releases\/tag\/v0.5.0\" rel=\"noopener noreferrer nofollow\"><u>Maddy v0.5.0<\/u><\/a><\/p>\n<\/li>\n<li>\n<p>\u0420\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f Go gRPC (HTTP \/ 2-based RPC) &#8212; <a href=\"https:\/\/github.com\/grpc\/grpc-go\/releases\/tag\/v1.40.0\" rel=\"noopener noreferrer nofollow\"><u>grpc-go v1.40.0<\/u><\/a><\/p>\n<\/li>\n<li>\n<p>\u041a\u043b\u0438\u0435\u043d\u0442 \u0434\u043b\u044f GitHub API v3 &#8212; <a href=\"https:\/\/github.com\/google\/go-github\" rel=\"noopener noreferrer nofollow\"><u>go-github v38.1.0<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/mongodb\/mongo-go-driver\/releases\/tag\/v1.7.1\" rel=\"noopener noreferrer nofollow\"><u>\u0414\u0440\u0430\u0439\u0432\u0435\u0440 MongoDB Go 1.7.1<\/u><\/a><\/p>\n<\/li>\n<li>\n<p>\u041a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u043d\u0430\u044f \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u0434\u043b\u044f \u0432\u0435\u0431-\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 Go <a href=\"https:\/\/github.com\/volatiletech\/authboss\" rel=\"noopener noreferrer nofollow\"><u>authboss v3.2.0<\/u><\/a>\u00a0<\/p>\n<\/li>\n<li>\n<p>\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 Premier ACME &#8212; <a href=\"https:\/\/github.com\/mholt\/acmez\" rel=\"noopener noreferrer nofollow\"><u>Acmez v1.0<\/u><\/a><\/p>\n<\/li>\n<li>\n<p>\u041a\u0440\u043e\u0448\u0435\u0447\u043d\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f Git &#8212; <a href=\"https:\/\/github.com\/WithGJR\/regit-go\" rel=\"noopener noreferrer nofollow\"><u>ReGit<\/u><\/a><\/p>\n<\/li>\n<li>\n<p>\u0421\u0435\u0440\u0432\u0435\u0440 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 LDAP &#8212; <a href=\"https:\/\/github.com\/glauth\/glauth\" rel=\"noopener noreferrer nofollow\"><u>GLAuth v2.0<\/u><\/a><\/p>\n<\/li>\n<li>\n<p>\u041e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u043a\u043b\u0438\u0435\u043d\u0442 GitHub CLI &#8212; <a href=\"https:\/\/github.com\/cli\/cli\/releases\/tag\/v2.0.0\" rel=\"noopener noreferrer nofollow\"><u>GitHub CLI v2.0<\/u><\/a><\/p>\n<\/li>\n<li>\n<p>\u0420\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u0430\u044f \u0431\u0430\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445, \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u0430\u044f \u043d\u0430 SQLite &#8212; <a href=\"https:\/\/github.com\/rqlite\/rqlite\/releases\/tag\/v6.2.0\" rel=\"noopener noreferrer nofollow\"><u>rqlite v6.2.0<\/u><\/a><\/p>\n<\/li>\n<li>\n<p>API \u043a\u043b\u0438\u0435\u043d\u0442 Spotify &#8212; <a href=\"https:\/\/github.com\/zmb3\/spotify\" rel=\"noopener noreferrer nofollow\"><u>Spotify v2.0<\/u><\/a><\/p>\n<\/li>\n<li>\n<p>\u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0441\u043b\u0430\u0439\u0434-\u0448\u043e\u0443 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0430 &#8212; <a href=\"https:\/\/github.com\/maaslalani\/slides\/releases\/tag\/v0.5.0\" rel=\"noopener noreferrer nofollow\"><u>slides v0.5.0<\/u><\/a><\/p>\n<\/li>\n<li>\n<p>\u0424\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c &#8212; <a href=\"https:\/\/github.com\/asim\/go-micro\" rel=\"noopener noreferrer nofollow\"><u>micro v3.6.0<\/u><\/a><\/p>\n<\/li>\n<li>\n<p>\u041a\u043b\u0438\u0435\u043d\u0442 \u0434\u043b\u044f PostgreSQL, MySQL \u0438 SQLite &#8212; <a href=\"https:\/\/github.com\/uptrace\/bun\" rel=\"noopener noreferrer nofollow\"><u>bun v1.0.0<\/u><\/a>\u00a0<\/p>\n<\/li>\n<li>\n<p>HTTP-\u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0442\u043e\u0440 &#8212; <a href=\"https:\/\/github.com\/vmihailenco\/treemux\" rel=\"noopener noreferrer nofollow\"><u>treemux v0.7.3<\/u><\/a><\/p>\n<\/li>\n<li>\n<p>\u0424\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f &#8212; <a href=\"https:\/\/github.com\/MarvinJWendt\/testza\" rel=\"noopener noreferrer nofollow\"><u>testza v0.2.7<\/u><\/a>\u00a0<\/p>\n<\/li>\n<li>\n<p>\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430\u00a0 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f base64 &#8212;\u00a0 <a href=\"https:\/\/github.com\/cristalhq\/base64\" rel=\"noopener noreferrer nofollow\"><u>base64 v0.1.2<\/u><\/a>\u00a0<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/mattn\/go-generics-example\" rel=\"noopener noreferrer nofollow\"><u>Example code for Go generics<\/u><\/a>\u00a0<\/p>\n<\/li>\n<li>\n<p>\u041f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0435\u0442\u044f\u043c\u0438 &#8212; <a href=\"https:\/\/github.com\/gravitl\/netmaker\" rel=\"noopener noreferrer nofollow\"><u>netmaker v0.7.3<\/u><\/a><\/p>\n<\/li>\n<li>\n<p>OpenID Connect (OIDC) HTTP Middleware &#8212; <a href=\"https:\/\/github.com\/XenitAB\/go-oidc-middleware\" rel=\"noopener noreferrer nofollow\"><u>go-oidc-middleware v0.0.11<\/u><\/a><\/p>\n<\/li>\n<\/ul>\n<h4>\u041f\u043e\u0434\u043a\u0430\u0441\u0442\u044b<\/h4>\n<p><a href=\"https:\/\/soundcloud.com\/generictalks\" rel=\"noopener noreferrer nofollow\"><u>GenericTalks<\/u><\/a><\/p>\n<p><a href=\"https:\/\/podcasts.apple.com\/us\/podcast\/go-time\/id1120964487\" rel=\"noopener noreferrer nofollow\"><u>Go Tim\u202ae\u202c<\/u><\/a><\/p>\n<h4>\u0421\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430<\/h4>\n<p><a href=\"https:\/\/ru.stackoverflow.com\/questions\/tagged\/golang\" rel=\"noopener noreferrer nofollow\"><u>\u0412\u043e\u043f\u0440\u043e\u0441\u044b \u043f\u043e \u044f\u0437\u044b\u043a\u0443 \u043d\u0430 \u0440\u0443\u0441\u0441\u043a\u043e\u044f\u0437\u044b\u0447\u043d\u043e\u043c StackOverflow<\/u><\/a><\/p>\n<p><a href=\"https:\/\/stackoverflow.com\/collectives\/go\" rel=\"noopener noreferrer nofollow\"><u>\u0421\u0442\u0440\u0430\u043d\u0438\u0446\u0430 Go \u043d\u0430 stackoverflow<\/u><\/a><\/p>\n<p><a href=\"https:\/\/www.meetup.com\/ru-RU\/pro\/go\" rel=\"noopener noreferrer nofollow\"><u>\u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u043c\u0438\u0442\u0430\u043f\u0430\u0445<\/u><\/a><\/p>\n<p><a href=\"https:\/\/groups.google.com\/forum\/#!forum\/Golang-ru\" rel=\"noopener noreferrer nofollow\"><u>\u0424\u043e\u0440\u0443\u043c \u0432 \u0433\u0440\u0443\u043f\u043f\u0430\u0445 Google<\/u><\/a><\/p>\n<p><a href=\"https:\/\/t.me\/vseins_tech\" rel=\"noopener noreferrer nofollow\"><u>https:\/\/t.me\/vseins_tech<\/u><\/a><\/p>\n<p><a href=\"https:\/\/t.me\/GolangStack\" rel=\"noopener noreferrer nofollow\">\u041a\u0430\u043d\u0430\u043b \u0432 telegram (GolangStack)<\/a><\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/575814\/\"> https:\/\/habr.com\/ru\/articles\/575814\/<\/a><br \/><\/br><\/br><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-382383","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/382383","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=382383"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/382383\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=382383"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=382383"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=382383"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}