В go 1.22 затерялось изменение
Оказывается, появился
То есть работает оно как
Меня радует, как в std go появляется всё больше и больше методов, которые часто приходилось писать самому. Так они ещё и все на генериках!
cmp пакета среди минорных изменений.Оказывается, появился
cmp.Or, который сравнивает значения одного типа и возвращает первое non zero значение.// вернёт default
cmp.Or("", "default")
// вернёт "hey satont"
cmp.Or("hey satont", "default")
// вернёт 1
cmp.Or(0, 1)
То есть работает оно как
|| в js.Меня радует, как в std go появляется всё больше и больше методов, которые часто приходилось писать самому. Так они ещё и все на генериках!
❤3
В догонку кину вам пример из доки, что можно полезного с этим сделать помимо простого сравнения.
func main() {
type Order struct {
Product string
Customer string
Price float64
}
orders := []Order{
{"foo", "alice", 1.00},
{"bar", "bob", 3.00},
{"baz", "carol", 4.00},
{"foo", "alice", 2.00},
{"bar", "carol", 1.00},
{"foo", "bob", 4.00},
}
// Sort by customer first, product second, and last by higher price
slices.SortFunc(orders, func(a, b Order) int {
return cmp.Or(
cmp.Compare(a.Customer, b.Customer),
cmp.Compare(a.Product, b.Product),
cmp.Compare(b.Price, a.Price),
)
})
for _, order := range orders {
fmt.Printf("%s %s %.2f\n", order.Product, order.Customer, order.Price)
}
}Output:
foo alice 2.00
foo alice 1.00
bar bob 3.00
foo bob 4.00
bar carol 1.00
baz carol 4.00
👍2
Кстати, тут же сидят не только гоферы и джаваскриптеры.
В каких языках есть роутеры для http в стандартной библиотеке, ещё и с поддержкой path параметров? Спрашиваю только из интереса.
Go с версии
В каких языках есть роутеры для http в стандартной библиотеке, ещё и с поддержкой path параметров? Спрашиваю только из интереса.
Go с версии
1.22 позволяет сделать так:http.HandleFunc("GET /hello/{name}", func (w http.ResponseWriter, r *http.Request) {
nameString := req.PathValue("name")
fmt.Fprintf(w, "Hello, %q", html.EscapeString(nameString))
})🔥1
Satont.
"программирование мертво?", "рынку айти конец?".
Вокруг этого уже кстати появились роутеры без зависимостей.
Например этот позволяет делать группировку, мидлвари на группы и отдельные роуты https://go-pkgz.umputun.dev/routegroup/
Например этот позволяет делать группировку, мидлвари на группы и отдельные роуты https://go-pkgz.umputun.dev/routegroup/
mux := http.NewServeMux()
group := routegroup.New(mux)
// допустим группа для отрисовки html
group.Use(loggingMiddleware, corsMiddleware)
group.Handle("/tasks", tasksHandler)
group.Handle("/users", usersHandler)
// группа апи
apiGroup := routegroup.Mount(mux, "/api")
apiGroup.Use(loggingMiddleware, corsMiddleware)
apiGroup.Handle("/v1", apiV1Handler)
// роут с мидлварями только для него
apiGroup.With(authMiddleware).Handle("DELETE /users/{id}", deleteHandler)
http.ListenAndServe(":8080", mux)
// ещё вот такой апи для груп
group.Set(b func(*routegroup.Bundle) {
b.Use(loggingMiddleware, corsMiddleware)
b.Handle("GET /hello", helloHandler)
b.Handle("GET /bye", byeHandler)
})
go-pkgz.umputun.dev
Routegroup - GO-PKGZ
Collection of Go packages for various use cases.
👍1
Сделал генератор токенов, чтобы проще было для дева генерить токены.
Если кому нужно — https://tokens-generator.twir.app
Если кому нужно — https://tokens-generator.twir.app
🔥6
Forwarded from zede code
Вообще не секрет, что Vue единственный популярный фронтенд-фреймворк за которым не стоит ни одна корпорация и Vue очень гордится этим (на самом деле Solid.js тоже может в эту категорию попасть, но ему нужно подрасти по популярности). Что же это значит? Что разработчики фреймворка сами вольны выбирать чем заниматься и определять вектор развития. Но это и значит, что финансы целиком зависят от поддержки других.
Существует и другой вектор получения прибыли: платные курсы и Vue вполне активно этот вектор развивает взаимодействуя с порталами vueschool и vuemastery.
Однако чтобы не вынуждать работяг тратить только свои кровные (ну и завлечь новых клиентов, конечно), несколько раз в году они делают акцию "бесплатные выходные". В это время все курсы доступны совершенно бесплатно. Их достаточно много и они хорошо покрывают всю экосистему целиком (там и Nuxt и Pinia и работа с firebase/vite/vitest и тд и тп так что даже опытные вьюшники найдут чем поживиться).
Вот 23-24 марта будет проводиться этот ивент вновь от vueschool.
Что нужно?
1) Регистрируемся на событие (если не успеете к началу, то ничего страшного, присоединиться во время ивента тоже можно)
2) Ждем указанных дат
3) Уходим в запой просмотра различных курсиков
В целом для меня, это отличный способ подтянуть знания пару раз в год, чтобы не растерять хватку работая в 1 компании с 1 окружением, так как позволяет увидеть новые тенденции и технологии завоевавшие популярность в экосистеме
Если вы искали достойные курсы по Vue или ждали момента, когда начать его изучить, то вот оно самое время
Существует и другой вектор получения прибыли: платные курсы и Vue вполне активно этот вектор развивает взаимодействуя с порталами vueschool и vuemastery.
Однако чтобы не вынуждать работяг тратить только свои кровные (ну и завлечь новых клиентов, конечно), несколько раз в году они делают акцию "бесплатные выходные". В это время все курсы доступны совершенно бесплатно. Их достаточно много и они хорошо покрывают всю экосистему целиком (там и Nuxt и Pinia и работа с firebase/vite/vitest и тд и тп так что даже опытные вьюшники найдут чем поживиться).
Вот 23-24 марта будет проводиться этот ивент вновь от vueschool.
Что нужно?
1) Регистрируемся на событие (если не успеете к началу, то ничего страшного, присоединиться во время ивента тоже можно)
2) Ждем указанных дат
3) Уходим в запой просмотра различных курсиков
В целом для меня, это отличный способ подтянуть знания пару раз в год, чтобы не растерять хватку работая в 1 компании с 1 окружением, так как позволяет увидеть новые тенденции и технологии завоевавшие популярность в экосистеме
Если вы искали достойные курсы по Vue или ждали момента, когда начать его изучить, то вот оно самое время
vueschool.io
Vue School Free Weekend: 48 Hours of Unlimited Access
Sign up for Vue School's Free Weekend on Nov 8-9, 2025. Get unlimited access to 80+ premium Vue.js courses for 48 hours. Learn from industry experts!
❤🔥5