@proGO

Страница 920 из 1674
Sergey
13.10.2017
09:17:14
Можете подсказать демон вылетает после первого curl запроса .

/tmp/go-build918200786/command-line-arguments/_obj/exe/yandex flag redefined: s 2017/10/13 12:15:10 http: panic serving [::1]:54602: /tmp/go-build918200786/command-line-arguments/_obj/exe/yandex flag redefined: s goroutine 22 [running]: net/http.(*conn).serve.func1(0xc8200c8500) /usr/lib/golang/src/net/http/server.go:1389 +0xc1 panic(0x6f3c00, 0xc8200cf410) /usr/lib/golang/src/runtime/panic.go:443 +0x4e9 flag.(*FlagSet).Var(0xc820056060, 0x7fe67a998168, 0xc8200cf3b0, 0x800cc8, 0x1, 0x83d330, 0x16) /usr/lib/golang/src/flag/flag.go:776 +0x454 flag.(*FlagSet).StringVar(0xc820056060, 0xc8200cf3b0, 0x800cc8, 0x1, 0x808000, 0xe, 0x83d330, 0x16) /usr/lib/golang/src/flag/flag.go:679 +0xc7 flag.(*FlagSet).String(0xc820056060, 0x800cc8, 0x1, 0x808000, 0xe, 0x83d330, 0x16, 0x9e3bc0) /usr/lib/golang/src/flag/flag.go:692 +0x83 flag.String(0x800cc8, 0x1, 0x808000, 0xe, 0x83d330, 0x16, 0x9ddcb0) /usr/lib/golang/src/flag/flag.go:699 +0x5f main.yandex(0xc8200c5f96, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0) /usr/local/freeswitch/scripts/yandex.go:99 +0x113 main.getRecords(0x7fe67a998130, 0xc8200d95f0, 0xc8200d62a0, 0x0, 0x0, 0x0) /usr/local/freeswitch/scripts/yandex.go:237 +0x1de github.com/julienschmidt/httprouter.(*Router).ServeHTTP(0xc820012380, 0x7fe67a998130, 0xc8200d95f0, 0xc8200d62a0) /usr/local/freeswitch/scripts/src/github.com/julienschmidt/httprouter/router.go:344 +0x195 net/http.serverHandler.ServeHTTP(0xc820080080, 0x7fe67a998130, 0xc8200d95f0, 0xc8200d62a0) /usr/lib/golang/src/net/http/server.go:2081 +0x19e net/http.(*conn).serve(0xc8200c8500) /usr/lib/golang/src/net/http/server.go:1472 +0xf2e created by net/http.(*Server).Serve /usr/lib/golang/src/net/http/server.go:2137 +0x44e

Nikolay
13.10.2017
09:17:26
/tmp/go-build918200786/command-line-arguments/_obj/exe/yandex flag redefined: s 2017/10/13 12:15:10 http: panic serving [::1]:54602: /tmp/go-build918200786/command-line-arguments/_obj/exe/yandex flag redefined: s goroutine 22 [running]: net/http.(*conn).serve.func1(0xc8200c8500) /usr/lib/golang/src/net/http/server.go:1389 +0xc1 panic(0x6f3c00, 0xc8200cf410) /usr/lib/golang/src/runtime/panic.go:443 +0x4e9 flag.(*FlagSet).Var(0xc820056060, 0x7fe67a998168, 0xc8200cf3b0, 0x800cc8, 0x1, 0x83d330, 0x16) /usr/lib/golang/src/flag/flag.go:776 +0x454 flag.(*FlagSet).StringVar(0xc820056060, 0xc8200cf3b0, 0x800cc8, 0x1, 0x808000, 0xe, 0x83d330, 0x16) /usr/lib/golang/src/flag/flag.go:679 +0xc7 flag.(*FlagSet).String(0xc820056060, 0x800cc8, 0x1, 0x808000, 0xe, 0x83d330, 0x16, 0x9e3bc0) /usr/lib/golang/src/flag/flag.go:692 +0x83 flag.String(0x800cc8, 0x1, 0x808000, 0xe, 0x83d330, 0x16, 0x9ddcb0) /usr/lib/golang/src/flag/flag.go:699 +0x5f main.yandex(0xc8200c5f96, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0) /usr/local/freeswitch/scripts/yandex.go:99 +0x113 main.getRecords(0x7fe67a998130, 0xc8200d95f0, 0xc8200d62a0, 0x0, 0x0, 0x0) /usr/local/freeswitch/scripts/yandex.go:237 +0x1de github.com/julienschmidt/httprouter.(*Router).ServeHTTP(0xc820012380, 0x7fe67a998130, 0xc8200d95f0, 0xc8200d62a0) /usr/local/freeswitch/scripts/src/github.com/julienschmidt/httprouter/router.go:344 +0x195 net/http.serverHandler.ServeHTTP(0xc820080080, 0x7fe67a998130, 0xc8200d95f0, 0xc8200d62a0) /usr/lib/golang/src/net/http/server.go:2081 +0x19e net/http.(*conn).serve(0xc8200c8500) /usr/lib/golang/src/net/http/server.go:1472 +0xf2e created by net/http.(*Server).Serve /usr/lib/golang/src/net/http/server.go:2137 +0x44e
флаги по второму разу парсятся

Google
Nikolay
13.10.2017
09:18:21
нужно вытащить их в init()

Sergey
13.10.2017
09:18:50
можете подсказать какие именно флаги в коде

Alexander
13.10.2017
09:19:13
@nuqzz не знаю, я тока в jet brains чето понимаю

в idea ысмфсле

Nikolay
13.10.2017
09:20:42
можете подсказать какие именно флаги в коде
я с тела, не качается файл. на плейграунде могу посмотреть

Sergey
13.10.2017
09:21:03
можете ссылку дать

Nikolay
13.10.2017
09:22:06
Sergey
13.10.2017
09:22:51
https://play.golang.org/p/RK8zUdt8x9

вот выложил

Nikolay
13.10.2017
09:26:39
https://play.golang.org/p/RK8zUdt8x9
99-107 строки должны только 1 раз выполняться в программе, их нужно вынести в init()

Daniel
13.10.2017
09:27:31
Google
Daniel
13.10.2017
09:28:31
потому, что init() разных пекеджей вызываются в неконтролирукемом порядке

Sergey
13.10.2017
09:29:03
получаеться тогда в main ?

Daniel
13.10.2017
09:29:09
то есть - init() не должна выходить за пределы твоего пекеджа, иначе возможны варианты

Daniel
13.10.2017
09:29:40
получаеться тогда в main ?
я делаю Inint() и зову его из main()

Ilya
13.10.2017
09:30:15
init() во всех пакетах автоматически вызывается до main()

чувак удалил свой вопрос

Roman
13.10.2017
09:43:45
интересно во 2 версии анархию с вызовом init переделают? хотя и так жить можно

Ilya
13.10.2017
09:44:27
В чём анархия?

Daniel
13.10.2017
09:44:44
зачем ее переделывать? если на этот порядок закладываться - что с циклами делать? пусть программер явно порядок инициализации задает, не так и трудно

Roman
13.10.2017
09:44:51
в том, что порядок вызовов непонятный

Nikolay
13.10.2017
09:45:02
интересно во 2 версии анархию с вызовом init переделают? хотя и так жить можно
да вроде и так норм, разу не сталкивался с проблемами в init

Daniel
13.10.2017
09:45:03
понятный

Ilya
13.10.2017
09:45:49
в том, что порядок вызовов непонятный
Тогда нужно и map переделывать, там тоже случайный

Ilya
13.10.2017
09:47:07
Там вроде не совсем случайный порядок, а такой в котором файлы комилятору передаются

Roman
13.10.2017
09:47:15
но я согласен, что в текущем состоянии с init жить вполне можно

Daniel
13.10.2017
09:47:38
понятный
понятно, что расчитывать можно только на то, что твой init() вызывается в неизвестный момент времени.

Google
Roman
13.10.2017
09:47:46
надо будет почитать, как оно там на самом деле

Den
13.10.2017
10:08:16
// 1 const ( Language_English string = "ENGLISH" Language_Russian string = "RUSSIAN" Language_French string = "FRENCH" Language_Italian string = "ITALIAN" ) // 2 var Language = struct { English string Russian string French string Italian string }{ English: "ENGLISH", Russian: "RUSSIAN", French: "FRENCH", Italian: "ITALIAN", } // ... lang := response.Header.Language if lang == Language_French {/* ... */} if lang == Language.French {/* ... */} // ... Не будет ли считаться говнокодом второй вариант представления констант аля с#, если констант в блоке не больше 20, например. 1 вариант неудобен тем, что в списке интеллисенса гогланда выплывают сразу все константы (а если много блоков констант? тогда надо листать много этот список) 2 вариант это исправляет: т.е. сначала выбираю блок "констант", а затем необходимую.

Daniel
13.10.2017
10:16:33
вообще - хорошо бы такие константы делать своего неэкспортируемого типа

чтобы нельзя было любую строку передать туда, где ждут константу одну из этих

Sergey
13.10.2017
12:04:38
SELECT number FROM book WHERE id_dispatch = '6582' and otdel LIKE '%мне надо отдел продаж%'; можете подказать как правильно составить SQL запрос , я получаю данные вида "я хочу отдел продаж// мне нужен отдел продаж и различные варианты" в колонке otdel у меня просто стоит отдел продаж , как мне правильно составить запрос чтобы я регуляркой или же другой функции проверял на совпадении слова в входных данных и в таблице

a.
13.10.2017
12:11:41
обязательно sql?

a.
13.10.2017
12:12:44
вроде есть функция distance для подобного

Sergey
13.10.2017
12:13:14
у меня postgres

a.
13.10.2017
12:13:55
мб поможет https://www.postgresql.org/docs/9.1/static/fuzzystrmatch.html

Sergey
13.10.2017
12:14:19
SELECT number FROM book WHERE book.otdel SIMILAR TO '(мне|надо|отдел|продаж)'; вот так можно но если предварительно разбить строку на слова

Александр
13.10.2017
12:23:15
Sergey
13.10.2017
12:25:14
например мне приходит поле "мне надо отдел продаж" дальше я иду в БД и смотрю запросом какой у этого лкиента номер отдела продаж , но в БД у меня в колонке написано просто "продаж"



Илья
13.10.2017
12:32:11
у меня postgres
https://www.postgresql.org/docs/9.5/static/textsearch.html

тогда туда

только учти, что там оно есть с 9.4 помоему

или можно сфинкс сбоку поставить

Irek
13.10.2017
12:33:20
Если проект простой, то можно и обычным sqlite обойтись

Google
Александр
13.10.2017
12:33:37
Daniel
13.10.2017
12:34:32
вы понимаете, да, что это полный перебор, что так, что эдак?

и что надо обратный индекс строить, чтобы это хоть как-то работало на хоть каких-то объемах

Илья
13.10.2017
12:37:51
ну да, поэтому я отсылаю его или в full text search, или в сфинкс

Александр
13.10.2017
12:39:43
прошу прощение за своё невежество

Admin
ERROR: S client not available

Илья
13.10.2017
12:56:31
у сфинкса свои проблемы, например репликация с real-time индексами не работает, помоему, до сих пор

но для inhouse crm норм :)

Artem
13.10.2017
13:07:31
ну, сорян.

Pawel
13.10.2017
13:08:30
либа и язык кстати очень ок, я её юзаю давно уже в бою, доволен как слон

и девопсы щасливы писать скрипты на anko

Artem
13.10.2017
13:08:54
и зачем?

Pawel
13.10.2017
13:09:59
и зачем?
чтобы девопсы дописывали domain specific код

Roman
13.10.2017
13:30:51
кто-нибудь с помощью какой-нибудь библиотеки умеет объединять ячейки в excel?

Alexei
13.10.2017
13:33:34
преврати в opendocument, это xml, вроде, им объедини и обратно )

Alexei
13.10.2017
13:34:59
ну и здорово )

Roman
13.10.2017
13:35:32
я понимаю, что можно попробовать в xml но есть либи типа excelize может в них можно и кто-то знает как

Google
Mikhail
13.10.2017
13:35:42
кто знает как с net/http сделать get запрос, но скачать только headers?

Alexei
13.10.2017
13:37:52
я вот тоже об этом подумал

Mikhail
13.10.2017
13:38:10
Я только начал изучать go, можно пример?

Pawel
13.10.2017
13:38:12
Mikhail
13.10.2017
13:38:38
Просто сейчас код выглядит так resp, err := http.Get(input_url) if err != nil { log.Panic(err) } msg.Text = resp.Request.URL.String()

AxiS
13.10.2017
13:40:50
кто-нибудь с помощью какой-нибудь библиотеки умеет объединять ячейки в excel?
https://godoc.org/github.com/360EntSecGroup-Skylar/excelize#File.MergeCell https://godoc.org/github.com/tealeg/xlsx#Cell.Merge

Mikhail
13.10.2017
13:49:33
Никто не знает?

Daniel
13.10.2017
13:49:43
Чито?

Aleksandr
13.10.2017
13:51:43
Никто не знает?
когда ты делаешь запрос, ты получаешь респонс, в котором Body - стрим, который не будет читаться, пока ты сам его не прочтешь. соотвветственно ответ: клиент делает по умолчанию так, как ты хочешь.

Илья
13.10.2017
13:55:11
по идее нельзя, тело все равно придётся вычитывать

Mikhail
13.10.2017
13:56:23
А надо вызывать response.Body.Close()?

Alexey
13.10.2017
13:56:24
по идее нельзя, тело все равно придётся вычитывать
Делай resp, err := client.Get(nextURL) А потом defer resp.Body.Close() И не читай тело. И оно не будет забираться

Илья
13.10.2017
13:56:43
А надо вызывать response.Body.Close()?
если не было ошибки - обязательно

Ilya
13.10.2017
13:56:50
Теоретически можно сделать запрос через сокет прочитать первые N байт ответа и закрыть соединение

Mikhail
13.10.2017
13:57:47
спс, буду пробовать

Страница 920 из 1674