Alex
locate golang
Alex
скорее всего он поставил его в /usr/bin/golang-1.8 )
Alex
или locate go
Alex
или whereis golang
Andrei
Так а как мне узнать, куда golang-1.8-go поставил все?)
Там ж есть команда посмотреть содержимое, не знаю как в убунте
Dmitriy / დიმიტრი
Ага. Вот так: https://github.com/shelomentsevd/mtproto/blob/master/auth.go#L8
Я просто сейчас сам свою(частично мою) библиотеку использую и удивляюсь на кой ляд я так сделал. Наверное копию объекта было бы лучше возвращать. Но я с плюсов пришел и мне до сих пор страшно за все лишние копии
Andrei
или whereis golang
Тогда уж find ом. Не факт что уже проиндексировало
Andrei
А, кстати, whereis как и locate базу юзает или именно find делает?
Konstantin
Фигушки какие-то, не находит
Andrei
Find ом поищи
Andrei
В /opt пусто?
Konstantin
Lf
Konstantin
Да
Oleg
golang-1.8-go - это пакет?
Konstantin
Вернее не пусто, но голанга там нет
Konstantin
golang-1.8-go - Go programming language compiler, linker, compiled stdlib
Oleg
Ну всмысле, это пакет apt или другого менеджера?
Alex
man whereis, man find, man locate, в opt ему неоткуда взятся.
Konstantin
Ставится он с ним, да
Oleg
dpkg-query -L golang-1.8-go?
Dmitriy / დიმიტრი
если указатель валидный то кажется что пофиг)).
Вот только в некоторых функциях возвращается интерфейс, а дальше его надо кастовать в один из типов имплементирующих этот интерфейс и получается вот такое безобразие: update, ok := (*tl).(TL_updates) вместо: update, ok := tl.(TL_updates)
Dmitriy / დიმიტრი
вот и думаю, что может зря всё
Dmitriy / დიმიტრი
вот и думаю, что может зря всё
опять по какой-то херне загоняюсь
Konstantin
dpkg-query -L golang-1.8-go?
Что-то нашлось, спасибо)
Anonymous
Помогите советом. Делаю экспорт данных из БД в несколько форматов. Есть порядка 100 табличек в БД, каждая является либо родителем либо дочерней таблицей для другой таблицы, отношения почти везде один-ко-многим Выглядит так что неплохо написать функцию для сбора мапы объектов какого-то типа и последующего наполнения страктов, но не пойму как без рефлексии наполнять стракты разных типов, у них же разное количество и тип полей. Есть конечно вариант написать 60-80-100 функций, которые будут наполнять стракт нужного типа из среза sql.Rows, но какое-то странное решение на мой взгляд
Stanislav
map?
Anonymous
А чем мапа поможет? Там же тип указывать все равно нужно
Anonymous
Была идея сделать интерфейс с фейковой функцией, тогда все объекты можно под эгидой полиморфизма пихать в один массив, что немного упрощает задачу
Stanislav
сделал селект, посмотрел тип, перевел в стрингу, рядом написал, какой это был исходный тип, например: d := map[string]map[string]string{ "row1": map[string]string{ "data": "base64encodedshit", "type": "blob", }, }
Stanislav
ну, тоже вариант, в принципе
Anonymous
Была идея сделать интерфейс с фейковой функцией, тогда все объекты можно под эгидой полиморфизма пихать в один массив, что немного упрощает задачу
Но тут остается проблема того что надо выборку как-то по страктам распихивать. А поля-то в таблицах разные
Stanislav
можно ту же хрень со страктами сделать, если хочется
Anonymous
А, ну хотя мапа страктов по идее
Stanislav
Не совсем понимаю, как их потом сопоставить
А это уже зависит от того, как приложение напишут :)
Anonymous
Но опять же остается проблема как данные из sql.Rows распихать по страктам, кол-во и тип полей разное
Anonymous
Вот даже подзадачу можно для начала решить. Есть таблица в которой 100 полей. Как эти сто полей распихать в стракт?
Anonymous
Можно как-то не писать портянку где я сопостовляю каждому полю в БД поле в стракте?
Anonymous
variadic arguments у меня тут не сработал
Alexey
Подскажите пожалуйста. Мне нужно внутри go выполнить команду ffmpeg. На вход я передаю mp4 файл в виде resp.Body от http запроса, который выполнился до этого куска кода cmd := exec.Command("ffmpeg", "-f", "lavfi", "-i", "anullsrc=channel_layout=stereo:sample_rate=44100", "-i", "pipe:0", "-shortest", "-c:v", "copy", "-c:a", "aac", "output.mp4") cmd.Stdin = resp.Body cmd.Run() На выходе после cmd.Run() хочу получить объект io.Reader, как результат работы ffmpeg, который можно было бы потом скормить телеграм боту reader := tgbotapi.FileReader{Name: "test", Reader: output, Size: int64(contentLength)} file := tgbotapi.NewDocumentUpload(messageChatID, reader) код по ffmpeg выше сейчас сохраняет на диске output.mp4, тем саммым показывая, что передача resp.Body в пайп работает. Нокак сделать, чтобы на выходе еще был результат обработки в виде объекта, а не файла, я не понимаю 😒
Всем спасибо за помощь. В итоге оказалось, что основная проблема была в команде ffmpeg, нужно было добавить параметр, чтобы данные корректно отдавались в пайп. 😁 Остальное, буферы и пр. — это уже мелочи были... 😐 Вот итоговый код: @MikalaiR @twentydraft @di3young @zelenin
Alexey
Slava
а у кого-то ещё Gogland тормозит из-за включенной "Bool condition inspection"?
engelbart
Коллеги помогите с sqlite и nil у меня тут мелкий скрипт, в котором есть db.Query("select sum(amount) from orders.... иногда этот sum возвращает nil и рушит var sum int; ... Scan(&sum) Scan error on column index 0: converting driver.Value type <nil> как это по человечески обойти?
Проверить заранее
Либо try
engelbart
Это как проверить заранее?
engelbart
Проверить не получу ли я nil получив nil ?
Mikalai
хотя наверное нужно вот это вот https://golang.org/pkg/database/sql/#NullInt64
engelbart
так а если var sum *int
Сработало кстати!
engelbart
Спасибо
Ivahaev
Подскажите библиотеку для asterisk , agi
AGI или AMI? Если для AMI, то я вот делал либу пару лет назад. https://github.com/ivahaev/amigo
Nix
Встречал, но хотелось с хорошим комьюнити
Ivahaev
Таких нет. Все было уг. Моя используется в бою во многих проектах.
engelbart
А вы для чего юзаете?
engelbart
Мониторинг какой нибудь?
Jaroslav
Всем привет, уже просто устал искать решение. Как получить доменное имя по айпи?
Ivahaev
А вы для чего юзаете?
Разные цели были. Мониторинг и оригинация, диалплан внешний, просто трансляция событий во внешний сервис...
Alexey
Всем привет, уже просто устал искать решение. Как получить доменное имя по айпи?
нужен nslookup и/или соответственно обертки над ним. $ nslookup ya.ru Server: 202.96.134.133 Address: 202.96.134.133#53 Non-authoritative answer: Name: ya.ru Address: 87.250.250.242 $ nslookup 87.250.250.242 Server: 202.96.128.166 Address: 202.96.128.166#53 Non-authoritative answer: 242.250.250.87.in-addr.arpa name = ya.ru. https://golang.org/src/net/lookup_test.go
Alexey
но вам нужно будет учитывать, что что доменов может быть несколько...
Jaroslav
спасибо
aadz
addr, err := net.LookupAddr("87.250.250.242") fmt.Println(addr, err)
engelbart
А вот есть у меня прога небольшая на go , она на мелком сервере будет выполняться, как мне узнать изнутри её , сколько она памяти прямо сейчас потребляет.
Anonymous
А вот есть у меня прога небольшая на go , она на мелком сервере будет выполняться, как мне узнать изнутри её , сколько она памяти прямо сейчас потребляет.
Ну если прям изнутри - копай в сторону pprof, там есть cpu profile и memory profile. А так вроде команда top есть, там видно сколько тот или иной процесс памяти потребляет
engelbart
не, мне надо что б прога сама поняла, и метрику отправила
engelbart
спасибо
Anonymous
Тогда pprof и пакет runtime/pprof
Dmitriy / დიმიტრი
Как всем новая версия Gogland'а? Стоит обновляться?
Dmitriy / დიმიტრი
Умпутун в твиттере вроде жаловался на какие-то баги.
Anonymous
Меня принудительно обновило
Dmitriy / დიმიტრი
Dmitriy / დიმიტრი
У меня наверное тоже принудительно обновило бы, но я забыл дать разрешение на запись🌚
Anonymous
Да я недавно только на го начала что-то делать, соответственно 90% фичей IDE просто не юзаю