heavycharged
https://i.redditmedia.com/IGY803KOV9nYnchRdJoWXW1UpwKuCzQx5KAIoVY2DLE.jpg?w=493&s=c0e75c9f6d0052158ca3d6e861f13e1f
🏁Александр
бгг
Slava
первые фотки с русского гоферкона https://www.facebook.com/GopherConRu/posts/176133373025765
heavycharged
А видео докладов будут?
Alexey
Будут
Altay unstppbl
Hey, Golang RU, как правильно организовать логгирование в веб сервере? Например мне нужно access логи выводить в консоль, а логи body запросов и ответов в отдельный файл, кто как это организовал?
Altay unstppbl
вешается два обработчика логов получается?
Sergey
Что за дурной тон, срать кодом в чат, для этого есть специальные сервисы
WaveCut
специальные сервисы чтобы срать кодом в чат? дайте два!
Igor
Sergey
Для блаженных, http://play.golang.org
Altay unstppbl
ещё если не сложно, тыкните пожалуйста где почитать о кластерах, и т.п., я не в теме, только начинаю въезжать.. Например как поднимается два инстанса сервера и потом как происходит распараллеливание нагрузки между ними, и доступ к одной бд
Nikita
Altay unstppbl
Илья
Evgeniya
Всем привет! Могу я опубликовать вакансию в этом чате?
Sergey
hh.ru для страждущих, не?
Илья
а тут банят за вакансии?
Igor
https://t.me/golangjob
Мерль
Evgeniya
Спасибо! Немного скорректирую и сделаю пост!
Evgeniya
Коллеги, привет! #golang #golangteamlead #москва #вакансия
Ищу тимлида и разработчиков golang в международный фин-тех проект Pro Group Consult (более 1 млн пользователей и 40 000 на сайте одновременно), основные задачи - развитие высоконагруженной системы обработки данных, разработка нового функционала.
Денег до 250, все белое, офис на м.Курская.
Подробнее о вакансиях: тимлида https://spb.hh.ru/vacancy/24923962, разработчик https://spb.hh.ru/vacancy/24793984.
Если интересно или есть кого порекомендовать, пишите в лс или на почту evgeniakikoina@gmail.com
Aleksandr
Привет, подскажите в чем разница go-redis и redigo у первого больше контрибьютеров и в сравнение(блог на просторах инета) показано, что первый поддерживает кластеризацию, однако у второго больше звезд
Aleksandr
еще пишет, что первый производит больше операций в сек
freezlite
почему так работает https://play.golang.org/p/n82bjaE1hJC
freezlite
а так нет https://play.golang.org/p/G-pFEXOj5LZ
freezlite
https://stackoverflow.com/a/29684835
Altay unstppbl
вообще это больше в сторону девопса да?
Илья
так и впорос был не про голанг
Altay unstppbl
так и впорос был не про голанг
ну допустим что сервер написан на го, сейчас запущен один инстанс, дальше надо будет расширять и рассматривать всё что вы описали
Илья
нет, специфики на уровне языка никакой нет
Altay unstppbl
понял, спасибо
Илья
это уже просто некие абстрактные облачные технолонии вроде GCE, Azure, AWS или голые "свои" self-deployed облака, или kubernetes/swarm
Илья
очень много способов
Илья
но к языку никак)
Konstantin
привет, парни. можно здесь позадавать глупые вопросы про сборку го-проекта?
Altay unstppbl
не бывает глупых вопросов, бывают плохо сформулированные
Konstantin
я могу сделать аналог, ну не знаю, npm install && npm build (замените npm на пакетный менеджер на свой по вкусу)?
т.е. я не хочу клонировать свой код в gopath
я хочу, чтобы у меня где-то был условный /var/tmp/gopath и в нем лежало всё говно типа внешних зависимостей
дальше, чтобы была папка типа /opt/my_project в которой лежит мой проект из гита
я хочу заходить в /opt/my_project там запускать go WHATEVER и получать где-то в /opt/my_project/dist готовый бинарь
как мне сделать эту такую очевидную схему?
Konstantin
у меня есть определенные проблемы с традиционным подходом при сборке на CI, поэтому, мне хотелось бы переделать процесс в более привычный и удобный
Altay unstppbl
Nikita
Konstantin
ну вот я делаю go get github.com/company/project
Konstantin
зависимости копируются в GOPATH
Altay unstppbl
почитай про $GOPATH, это переменная, куда укажешь - туда и будет сохранять
Vasily
читайте про вендоринг
Konstantin
да, спасибо, тут разобрался. теперь мне нужно сделать go get на мой приватный репозиторий по ssh
Konstantin
ни один из нагугленных рецептов на 1.10 не пашет (на 1.3 - да)
Konstantin
unrecognized import path "xxxx" (https fetch: Get https://xxx?go-get=1: dial tcp xxx:443: connect: connection refused)
Konstantin
а мне нужен строго ssh, ни https, ни http не подходят
Konstantin
заходить в src и делать там git pull я не хочу, можно ли как-то заставить go get склонировать мой репозиторий по ссш?
Grigoriy
Всем привет! Работаю с sqlite3 с database/sql и github.com/mattn/go-sqlite3, периодически падает с ошибкой:
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x4e2bd0]
goroutine 25 [running]:
database/sql.(*Rows).Next(0x0, 0x841977)
/usr/lib/go/src/database/sql/sql.go:2599 +0x30
....
Гугл говорит, что надо rows.Close() и database.Close(), но они не забыты и все равно падает. Подскажите, пожалуйста, куда копать?
Nikita
Chebyrash
Grigoriy
хотелось бы код видеть
https://pastebin.com/0qEY8nkC - фрагмент, на котором падает. Вроде с остальным кодом не особо связан.
Grigoriy
Не забыты?
Точно, три раза нагугливал и три раза перепроверял.
Kirya
Проверяй ошибку открытия базы
Nikita
Kirya
Файл базы может быть заблокирован.
Nikita
Kirya
Раз ты открываешь базу на каждый вызов функции
Kirya
А лучше вынеси открытие базы
Grigoriy
Спасибо. Начну с вынесения базы.
Nikita
Grigoriy
heavycharged
если вы делаете слайс длинной len, то когда проаппендите 50 элементов, получите 100 в итоге
heavycharged
вам нужно делать make([]feedItem, 0, 50), вот так
heavycharged
len = 0; cap = 50.
heavycharged
вообще , можно в функцию передавать limit отдельным аргументом, и подставлять его в запрос и в capacity результирующего слайса.
WaveCut
нубский вопрос в студию!: а что будет когда аппенд перешагнет за капу? паник?
WaveCut
ерр
Grigoriy
heavycharged
Andrey
Andrey
GitHub это игнорирует, но для go get это означает, что репозиторий git
Илья
Илья
git config --global url.ssh://git@github.com/.insteadOf https://github.com/
Илья
Заменить на свои
Konstantin
спасибо, но пишу же, нихера не пашет
Aleksandr
для истории: в .gitconfig надо прописать
[url "git@git.domain.com:"]
insteadOf = https://git.domain.com/
или для варианта с нестандартным портом
[url "ssh://git@git.domain.com:10022/"]
insteadOf = https://git.domain.com/
ssh-ключ должен лежать где надо