Oleh
нужно или прописать alias с access_token, или прописать импорты для этой завимости через ssh
ну ssh ключ я сгенерил и добавил в gitlab, пушу без авторизации, тогда почему возникают проблемы с тем, чтобы подтянуть зависимость?
Maxim
Мб viper
Вайпер хорош, особенно горячей перезагрузкой
John
что за мерджи такие? :) деп, по идее, сам должен справляться
не, проблема в том, что есть два пакета, в обоих есть зависимости, которые через dep ensure складываются в отдельные папки vendor. есть необходимость использовать оба эти пакета вместе (то есть один импортит другой). Раньше проблема решалась простым копированием из одной папки vendor в другую (чтобы не было одинаковых интерфейсов, находящихся в разных vendor папках). Сейчас же проблема стала глобальнее и простое копирование уже не помогает, чядн?
Maxim
Вайпер хорош, особенно горячей перезагрузкой
Но массив карт читать без костыля не умеет
Илья
ну ssh ключ я сгенерил и добавил в gitlab, пушу без авторизации, тогда почему возникают проблемы с тем, чтобы подтянуть зависимость?
по дефолту dep лезет по https, а не по ssh, попробуйте прописать constraint для репозитория руками, указав путь с git@
Roman
о, за viper спасибо. https://github.com/spf13/viper
Vyacheslav
а так, можно сделать враппер Must(data []byte,err error) []byte { if err != nil { panic(err) } return data }
а можно ещё лучше: func Wrap(data ...interface{}) []interface{} { return data } в этом случае можно к любому из параметров доступ получить https://play.golang.org/p/-cwclkqD2Ff Единственное, что нужному параметру нужно type assertions сделать, ну и панику можно получить, если вернётся nil
Vyacheslav
не назвал бы это лучше, тк типобезопасность выкинута в трубу :)
Ну я же знаю, какую функцию оборачиваю, соответственно знаю сколько и какого типа параметры она возвращает. К ним и приведу.
Илья
Ну я же знаю, какую функцию оборачиваю, соответственно знаю сколько и какого типа параметры она возвращает. К ним и приведу.
врап в этом случае делает много лишнего, одна пересборка массива параметров чего стоит, проще тогда уж и правда обработать ошибку, вы же знаете что получите :) не стоит ради этого переходить на []interface
Vadim
Привет. В какой чат мне идти, если хочу использовать стороний api. Но, бл#ть, уже 2 часа не могу понять через какой url в него заходить?
Alexander
кстати, никто не в курсе на счет badger - что будет когда память закончится? он умрет? или начнет свапать на диск?
Alex S
Всем привет! Для чего может быть использован указатель на мапу ? (*map[string]interface{}, например)
Michael
для указателя на мапу
d
Так мапа же вроде и так указатель?..
Alex S
Так мапа же вроде и так указатель?..
Так и есть, просто увидел нечто подобное в коде и не могу понять какой профит можно получить от указателя на мапу (ссылочный тип).
d
Тогда присоединюсь к вопросу
Илья
для слайса я бы еще понял
Michael
мапа это структура с заголовком и указателем на данные
Michael
мапу передавать указателем - видимо хотят изменять саму переменную
Michael
а вот надо или нет - без примера не понятно
Vlad
https://habr.com/post/329254/
Vlad
Краткий итог : "Здесь я определил два метода и две функции роста мапы, по значению и по указателю. " Результат одинаковый
Vlad
У меня тоже есть вопрос, возможно уже задавался. Почему выведет сначала "Hello", а потом "Meow". Я думал должно быть 2 раза "Meow"
Vlad
https://play.golang.org/p/JGOY_A5rFrD
Vlad
отсюда взято https://habr.com/post/276981/
Илья
https://play.golang.org/p/JGOY_A5rFrD
при создании итерфейса ты же передаешь стрктуру, в интерфейсе будет копия структуры
Илья
был бы указатель, был бы мяу
Vlad
т.е. itable хранит ссылку на копию структуры?
Vlad
просто я там увидел, что type iface struct { tab *itab data unsafe.Pointer } data — указывает на фактическую переменную с конкретным (статическим) типом
Илья
т.е. itable хранит ссылку на копию структуры?
да, только не в itab, а берется копия и указатель на нее кладется в data
Anonymous
всем привет, подскажите пожалуйста, каким алгоритмом эффективнее складывать изображения ? типа если есть 10 слоев, и их нужно в определенном порядке накладывать друг на друга. трехмерная матрица из всех слоев не помогла, медленно работает, делаю стандартной либой image/png.
Anonymous
может кто-то сталкивался с таким, и знает какой-то быстрый способ
Anonymous
в основном являются оберткой над image/png
Anonymous
а там очень медленный Encoder
Daniel
Быстрый способ чего?!
Daniel
Ну так энкодер же один раз вызывается
Anonymous
ну правильный алгоритм для склеивания изображений
Anonymous
да, но он 600 мсек работает (
Daniel
Видимо, большая картинка
Anonymous
3000*3000
Daniel
И при чем тут сложение?
Anonymous
просто мне видимо теории не хватает(
Anonymous
ну у меня есть части предмета
Anonymous
10 слоев, на каждом слое отдельная часть предмета
Anonymous
и я их должен склеить в определенном порядке, чтобы получить целый предмет
Anonymous
картинки с частями имеют могут быть разных видов
Daniel
3000*3000*10=90М
Anonymous
ну да
Anonymous
смогу наверное ужать до 1500
Daniel
Уже не будет быстро, что ни делай
Anonymous
но все равно алгоритм нужен
Daniel
Но энкодер тут при чем?
Anonymous
сейчас вся операция занимает 1.5 сек
Anonymous
энкодер 600 мсек отнимает
Anonymous
потом чтение из базы
Anonymous
и декодер тоже где-то также (
Anonymous
я сделал вот так for y := 0; y < Size; y++ { for x := 0; x < Size; x++ { for i := range layers { clr := layers[len(layers)-i-1].At(x, y) _, _, _, a := clr.RGBA() if a > 0 { result.Set(x, y, clr) break } } } }
Anonymous
в трехмерной матрице, если на слои смотреть сверху в нужном порядке
Anonymous
беру тот пиксель который ближе всего к смотрящему
Egor
Привет, подскажите, кто какую di библиотеку использует?
Nik
есть смыл ставить на nginx в сторону go сервера хедеры keepalive? proxy_set_header Connection "Keep-Alive"; proxy_set_header Proxy-Connection "Keep-Alive";
Anonymous
Если кто-то знает хороший алгоритм, для склеивания слоев изображений, поделитесь, пожалуйста, там как-то через побитовый сдвиг можно вроде, с использованием маски
Alexander
Вряд ли тут именно в алгоритме затык. Скорее всего, конвертации типов и перевыделение памяти в функциях At и RGBA. Просто картинки в виде массивов чисел получить нельзя?
Alexander
А вообще - профайлер в помощь
Anonymous
https://github.com/golang/go/issues/15759
Anonymous
Передал как у него, но только хуже стало(
Anonymous
Без выделения памяти
Anonymous
Попробую на c++ написать)
kås
Пример можешь пошарить? Люблю профайлер ковырять
Антон
Попробую на c++ написать)
Ну кстати интересно будет результат сравнить. Плюсовый компилер скорее всего сможет заюзать векторные инструкции
Антон
Я щас все ищу инфу на тему векторизации инструкций в го
Антон
Но походу этой оптимизации нет
Антон
Для числодробилок и обработки изображений это достаточно важно
Антон
В го я видел только ручную оптимизацию для aes и crc, там юзается расширенный набор команд современных процов, но функции написаны прямо на asm
Nikita
Привет, подскажите, кто какую di библиотеку использует?
https://github.com/chrisehlen/knex Вроде васяном сделана, но работает же