Satont.
300 subscribers
320 photos
52 videos
1 file
201 links
Download Telegram
Chipi chipi chapa chapa.

https://twitch.tv/neuropunkenjoyer
Satont.
Chipi chipi chapa chapa. https://twitch.tv/neuropunkenjoyer
Опубликовал сегоднящний ВОД.
👍3
В go 1.22 затерялось изменение 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 с версии 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
"программирование мертво?", "рынку айти конец?".
💯6
Satont.
"программирование мертво?", "рынку айти конец?".
Вокруг этого уже кстати появились роутеры без зависимостей.

Например этот позволяет делать группировку, мидлвари на группы и отдельные роуты 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)
})
👍1
2
В Node.js версии 21 добавили встроенное апи на то, чтобы текст стилизовать.
😱2
Поздравляю всех с выходным. 🙂
Please open Telegram to view this post
VIEW IN TELEGRAM
💅4
А давно в тг есть функция для манипуляции в виде средней опции?
2
😁42
👌4
О, твич добавили апи на анбан реквесты и соответствующие темки подписки по eventsub.
Бежим добавлять в твир?
🔥6
рассказывайте как ваши дела.

https://www.twitch.tv/neuropunkenjoyer
🫡1
Сделал генератор токенов, чтобы проще было для дева генерить токены.

Если кому нужно — 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 или ждали момента, когда начать его изучить, то вот оно самое время
❤‍🔥5
Новенькое в nodejs 21.

Можно не подкидывать cli флаг для загрузки .env, а юзать апи в коде.
👏4
🤡1