
Denys
06.04.2018
14:15:10
есть postgresql
WHERE some_array = '{}'
норм или нет?)

Constantine
06.04.2018
14:16:54
а оно работает? some_array это jsonb? по идее тогда ‘{}’::jsonb должно быть

Denys
06.04.2018
14:17:07
ARRAY_LENGTH(some_array, 1) IS NULL
в интернетах только такой варинт

Google

Denys
06.04.2018
14:17:31
и да, работает

Eugene
06.04.2018
14:27:28
Подскажите плз, когда быстрее передача byvalue, а когда bypointer? А то в интернетах пишут что бывает что byvalue быстрее даже в случае, если размер передаваемого больше размера указателя

John
06.04.2018
14:28:42

Eugene
06.04.2018
14:29:01
я решаю проблему дизайна для себя, что где использовать и в каких случаях

John
06.04.2018
14:29:26
Преждевременная оптимизация - уже проблема :)
ИМХО, пользуй by value да и все :)

Eugene
06.04.2018
14:31:02
гм, массив в 100кб тоже by value? компилятор все сам порешает?

Denys
06.04.2018
14:32:11
ты о слайсах говоришь
короче вроде и так как ссылка
передача слайсов

The
06.04.2018
14:32:55
слайс — да, массив — нет. он сказал массив. не знаю, умышленно, или напутал.
если что-то очень большое, и по умолчанию не ссылочное, то передавать по ссылке. все остальное по значению.

Google

John
06.04.2018
14:33:28

Eugene
06.04.2018
14:33:38
умышленно, слайс это структура с указателем на участок массива
хорошо, я понял, делай бай-вэлью и будь что будет )
видимо все юскейсы свои придется бенчмаркать что бы получить понимание как этот ящик работает )

The
06.04.2018
14:40:33
если я не ошибаюсь, то все что выделяется со ссылкой - выделяется в куче, если утекает из функции (возвращается, передается в другую функцию по ссылке, и т.д.), а это может влиять на GC, и на время на выделение памяти нужного куска. все что по значению, и быстрее и проще собирается, так как память выделена в стеке. но лучше узнать у тех, кто пишет на go дольше чем я.

Daniel
06.04.2018
14:42:12
на самом деле - эскейп-анализ работает сложнее, но можно и так ситуацию описать

Илья
06.04.2018
14:44:24
ну, есть еще ньюансы инлайна

Eugene
06.04.2018
14:45:36
понял, спасибо

The
06.04.2018
14:46:03
честно говоря. давно хотел задать вопрос, и вот повод подвернулся. если создается строка, память под неё выделяется в стеке, или в куче?
хотя, уже глянул, если она передается в какой-нибудь fmt.Print() то heapstack.go:8:13: str escapes to heap, а если просто дописать в неё что-то, то .\heapstack.go:3:6: can inline main.


Dmitriy
06.04.2018
15:39:53
Кто подскажет по VSCode?
Делал как тут https://github.com/Microsoft/vscode-go/wiki/Usage-FAQ
Ругается:
no such file or directory: go run /home/fishhead/go/src/localTest/fishhead108/ldap-sync/main.go
если убрать ${file}, то снаовится видно, что не нравится go run
Работает
{
"version": "2.0.0",
"type": "shell",
"echoCommand": true,
"command": "go",
"cwd": "${workspaceFolder}",
"tasks": [
{
"label": "run",
"group": {
"kind": "build",
"isDefault": true
},
"args": [
"${file}",
"--username",
],
},
]
}
А так нет
{
"version": "2.0.0",
"type": "shell",
"echoCommand": true,
"cwd": "${workspaceFolder}",
"tasks": [
{
"label": "rungo",
"command": "go run ${file}",
"group": {
"kind": "build",
"isDefault": true
},
"args": [
"--username",
],
},
]
}

Pawel
06.04.2018
16:22:00

Andrew
06.04.2018
16:27:22

Pawel
06.04.2018
16:32:34

Andrew
06.04.2018
16:33:01
Причина выпадения глаз?

Andrey
06.04.2018
16:34:51
смотрел на код пхп

Pawel
06.04.2018
16:35:34
В sql пакете голанга сделали восстановление подключений при обрыве-восстановлениии подключения к бавзе или же нет?

Google

Vadiimmm:-)))
06.04.2018
16:39:12

Pawel
06.04.2018
16:40:50
ну там с и кресты)
конечно. и вся инфраструктура (убогая до ужаса) под С/С++. Я даже не представляю какую запущенную степень шизофрении надо иметь, что писать под микроконтроллеры на расте, переводить сишный код из даташытов на раст. Запредельную наверное

Aleksandr
06.04.2018
16:48:07

Pawel
06.04.2018
16:53:17
так всегда так было
ну нет, у меня рвалось, но это давно было. Даже ишшуй был на эту тему.
А если надо получить инфу о причине разрыва, можно что-то придумать?

Zver
06.04.2018
17:04:25

Pawel
06.04.2018
17:06:29

Zver
06.04.2018
17:07:53

Alexander
06.04.2018
17:07:58

Zver
06.04.2018
17:08:27

Pawel
06.04.2018
17:08:34

Aleksandr
06.04.2018
17:17:10

Alexander
06.04.2018
17:17:43

Aleksandr
06.04.2018
17:18:25
насколько помню если возвращалось ErrBadConn (не помню точно название), то два реконнекта и потом возврат ошибки (если успешного запроса не было)

OZR
06.04.2018
17:21:06
Чем отличаются друг от друга
web parser,
web scraper,
web crawler,
web wrapper? Или это всё абсолютно идентичные синонимы?

Aleksandr
06.04.2018
17:21:52
web wrapper - это что-то из другой оперы
crawler - это паук. скрипт ходящий по найденым ссылкам
parser и scraper приблизтельно одно и то же

Artem
06.04.2018
17:28:24
Crawler гуляет по интернету (списку ссылок) Parser превращает страницы в структурированные данные, scrapper выбирает полезные и нужные данные с того, что сделал парсер

OZR
06.04.2018
17:29:00
thx

Pawel
06.04.2018
17:38:21

Google

Никита
06.04.2018
18:44:08
Какой вариант хранения конфигов предпочтительнее? Например, конфиг сервера - в виде гошной структуры или json файлика?

Alexandr
06.04.2018
18:45:24
О! Про конфиги в тему. Подскажите, а кто как ключики и сертификаты клиентам в k8s кластере подсовывает? ))

витя
06.04.2018
18:46:23
из мухи слона раздуваете
мы то с вами можем хоть сами себе месседжер написать
а как вы предлагаете общаться со всем остальными то?
дуров же не изобрел ничего нового с точки зрения алгоритмов, он просто принес это в массы

Илья
06.04.2018
18:46:23

Andrew
06.04.2018
18:50:30

Илья
06.04.2018
19:03:32

Alexandr
06.04.2018
19:04:23
Ну да для приложения, там pem всякие, да p12.

Pawel
06.04.2018
19:27:30
yaml/toml
уж лучше жсон при всех его недостатках чем манаться с подсчётом пробелов.

Andrei
06.04.2018
19:29:06

Иван
06.04.2018
19:30:06

Zloy Dobriy
06.04.2018
19:38:41

Aleksandr
06.04.2018
19:42:46

Andrei
06.04.2018
19:43:13

Антон
06.04.2018
19:48:44
yaml/toml
YAML переусложнён. Он симпатично выглядит, но парсить его тяжело. TOML хоть формально и не устаканился, но по факту уже успешно используется и лишён многих пороков JSON

Pawel
06.04.2018
20:18:48
да, у yaml сверхсложная граматика - овер 200 патернов. Учить этот шлак ради того чтобы написать конфиг?? ха-ха-ха
Хотите писать человекочитаемые конфиги, господа - курите парсер-комбинаторы и учитесь с их помощью писать dsl-ки. На Го это - внезапно - тоже
можно

Andrei
06.04.2018
20:20:54
вы все так говорите, как будто бы вам нужно писать свой парсер

Pawel
06.04.2018
20:21:30
вы так говорите, что написать свой парсер - это сложно
не умеете писать парсеры - берите жсон и не дурите голову

Google

Andrei
06.04.2018
20:22:06
вы так говорите, как будто бы хоть одному гоферу когда либо реально потребуется написать свой парсер конфигов

Pawel
06.04.2018
20:24:25
потребуется. за это башляют нормально. Девопсы и сисадмины любят, когда конфиг гуманный.

Vyacheslav
06.04.2018
20:33:16

Pawel
06.04.2018
20:33:21
YAML - нишевый формат для любителей "писать меньше, делать больше, а потом хоть трава не расти"

Andrei
06.04.2018
20:54:21

Aleksandr
06.04.2018
20:57:20
он любит ярлыки вешать

Александр
06.04.2018
21:13:15
Вы хотите удалить этот ярлык?
?

Constantine
06.04.2018
21:14:30

Sergey
06.04.2018
21:15:01
ящитаю конфиг должен быть бинарным
прямо в протобуфе

Vladimir
06.04.2018
21:15:08
кстати да
и логи тоже

Constantine
06.04.2018
21:15:10
makes sense
про логи нет
:D

Vladimir
06.04.2018
21:15:27

Sergey
06.04.2018
21:15:31
а логи должны быть в ямле

Vladimir
06.04.2018
21:15:36
логи должны быть структурированными