Maksim (Ellrion)
а то у вас сейчас вэйт груп не груп вовсе)
Maksim (Ellrion)
ну и сделайте чтение из каналов везде через for range
Grigoriy
Илья
Maksim (Ellrion)
Grigoriy
Большое спасибо @rvasily, @ellrion и @di3young! Ну и всем остальным. Люблю этот чатик, всегда получается уйти не только с ответом на вопрос, но и пониманием :)
Maksim (Ellrion)
только пока у вас 1 воркер всё это выглядит бесполезным)
но наверное это будет не так в реальном приложении
Daniel
Daniel
я там слегка поправил стиль, чтобы было по феншую
Grigoriy
Daniel
у нас в results пишут - потенциально - несколько воркеров. поэтому ни один из них закрыть его не может. поэтому используеся wg. а вот filler у нас один, поэтому окончание его работы обозначается закрытием inputs.
Grigoriy
Daniel
кстати, мой вариант с ошибкой - у меня все заканчивается дедлоком
Daniel
main стоит на wg.Wait(), showData стоит на чтении из results. домашнее задание - модифицировать программу так, чтобы обошлось без дедлока :)
Grigoriy
Stanislav
товарищи, а swaggo с echo использовал кто-нибудь? У меня css/js не применяется, но подгружается, это я что-то не так сделал, или echo-swagger надо как-то поправить?
Denis
привет всем! есть пакет для работы с картинками(изменение размеров, обрезание и т.д.), есть пакет для работы с соц.сетями(статистика и т.д.). Есть структура, которая подготавливает картинку для постинга в соц.сети(добавляет ватермарк и прочее). Как думаете, такую структуру стоит разместить в пакете с картинками или в пакете с соц.сетями?
🏁Александр
конечно в соц сети
🏁Александр
она же привязана к ним, а не к картинкам
Denis
спасибо!) я сначала тоже подумал, что очевидно что в соц.сети, с другой стороны логика-то по преобразованию картинки кажется что должна быть в пакете с картинками)
Daniel
я бы сложил в отдельный пакет, если честно.
Artem
+ за отдельный
🏁Александр
сложнааа 🙂
Denis
я бы сложил в отдельный пакет, если честно.
а как эти трое будут расположены относительно друг друга? совсем на верхний уровень выносить не хочется, а то получится nodejs-стайл с пакетом на каждую маленькую функцию. и короткое очевидное название(типа social, images) подобрать сложно
Заур
Editor
Заур
PhotoEditor
Cat
imageconv скорее какой-нибудь
Denis
Editor
короткое, но не очевидное :)
Заур
Cat
Andrei
Ребят, а скиньте, плиз, репу какого-либо крупного проекта использующего go-kit
MXLTN
привет, есть объект m[string]interface{}
unmarshalled из []byte.
я знаю что по определенному ключу interface{} это некая струкутра. Как мне анмаршилить интерфейс в эту структуру?
MXLTN
без того что бы маршлить его обратно в []byte ?
MXLTN
и оттуда опять анмаршалить в структуру
heavycharged
описать у структуры json.Unmarshaler
heavycharged
Точно не помню, но вроде работал вариант.
Илья
анмаршали в json.RawMessage
Илья
а потом по ключу анмаршали дальше
Илья
т.е. map[string]json.RawMessage и даьше сам
MXLTN
так не получится, структура map[string]interface{} задана уже библиотекой
Илья
тогда только через []byte
MXLTN
т е фактически из interface{} в структуру можно конвертировать только через
marshaledInterface := json.Marshal(myInterface)
json.Unmarshal(marshaledInterface, &myStruct)
?
както убого
Илья
тк внутри interface{} будут map[string]interface{}, все числа будут float64 и все такое
Илья
попробуйте не использовать библиотеку? :)
Илья
Илья
я сейчас к ней враппер навернул с нормальным пробросом контекста
MXLTN
Илья
не паблик, я и врапаю только интересные мне куски
Илья
думаю, попозже сяду и переделаю всю либу, может и в паблик закину, у них, на мой вкус, ужасный дизайн API (я начал делать свой тк open trace не работал, тк они плохо пробрасывают контекст) + все очень неудобно, не расширяемо. Другой вопрос - кому это нужно :)
MXLTN
)))
heavycharged
кто-то знает, можно ли в либе github.com/tealeg/xlsx джойнить ячейки?
Aleksey
heavycharged
обертка, это которая excelize?
Anonymous
Кто-нибудь знает хорошую книгу/курс/вотэва, чтобы вкатиться за месяц в правильное развертывание приложения на Ubuntu Server?
Регулятор требует одну систему держать только на bare bone. Мы наймем специалиста, но я хочу для себя, чтобы говорить с ним на 1 языке.
Спасибо.
Petr
Непонятно, что вы хотите, CI/CD, make или как устанавливать убунту сервер?
Anonymous
Сделать вэб-сервер на Убунте.
Petr
apt install nginx php7-fpm apache2
Petr
выбирайте на любой вкус и цвет
Petr
фри
🏁Александр
использовать crypto/rand для генерации строк конечно было мудро
🏁Александр
пока я не посмотрел на результат...
🏁Александр
s(\��� n
Антон
Ах, если бы можно было генерировать строки из заданного набора символов с однородным распределением и с помощью криптографически стойкого генератора случайных чисел. Но это только мечты...
🏁Александр
почему не?
Илья
https://stackoverflow.com/questions/32349807/how-can-i-generate-a-random-int-using-the-crypto-rand-package
Илья
:O
🏁Александр
а насколько корректно такой счетчик RPS?
var counter int32
ticker := time.NewTicker(time.Second * 1)
go func() {
for range ticker.C {
fmt.Println("RPS", atomic.LoadInt32(&counter))
atomic.StoreInt32(&counter, 0)
}
}()
потом в лупе просто atomic.AddInt32(&counter, 1)
в конце каждой итерации
⏺ Vаdim
Aleksey
Alexey
Выпуск 122. (story [:vgo :http])
http://golangshow.com/episode/2018/02-28-122/
Alexey
https://t.me/golangshow