
Stanislav
07.05.2017
10:10:15
я не знаю, что это за херня, и никому знать не советую. Если хочешь НАУЧИТЬСЯ писать на каком-либо языке - выкидывай нафиг все эти IDE и пиши в Notepad++/Sublime Text/etc. А потом, когда уже сможешь с закрытыми глазами написать логгер, таскраннер или прочее подобное - уже думать об удобстве. Иначе ничему не научишься.
А gogland врет. Нету такой функции в Go.

Олег
07.05.2017
10:10:53
println - встроенная (built-in) функция вывода в stderr
В го она есть
Не надо нагонять на IDE, каждый пишет, в чем удобно

Google

Stanislav
07.05.2017
10:12:27
ну давайте почитаем https://golang.org/ref/spec#Bootstrapping:
> Current implementations provide several built-in functions useful during bootstrapping. These functions are documented for completeness but are not guaranteed to stay in the language.
взбредет Робу убрать println() и софт поломается. Из-за этого рекомендуется (крайне) использовать пакет fmt

Олег
07.05.2017
10:13:31
Нужно использовать или нет - это другой вопрос
Сейчас она есть

Stanislav
07.05.2017
10:14:31
хорошо, сейчас она есть, но лучше считать, что ее нет

Eduard
07.05.2017
10:28:50
а какой логгер можете посоветовать?

Stanislav
07.05.2017
10:32:24
log, logrus

?FLERRY?
07.05.2017
10:32:58
https://github.com/op/go-logging/blob/master/README.md
Топ тема

Мерлин
07.05.2017
10:39:51

Eduard
07.05.2017
10:40:32

Мерлин
07.05.2017
10:41:23
Было бы здорово иметь какой-нибудь Common Logging Interface

Stanislav
07.05.2017
10:42:41
он какбы есть (log)

Google

Stanislav
07.05.2017
10:42:45
но его как-бы нет)

Ilya
07.05.2017
10:44:15
В go-kit есть неплохой логгер

Alexander
07.05.2017
10:45:12
А зачем другой? Я понимаю, что тот же logrus дает возможность ставить хуки, а в остальном почему обычный log не годен?\

Мерлин
07.05.2017
10:47:07
К тому же у него такое крутое название, я не могу не отметить это
https://medium.com/@deckarep/paradigms-of-rust-for-the-go-developer-210f67cd6a29
Great improvement to build/run #golang binaries in Windows containers + volumes got merged. https://github.com/golang/go/commit/53003621720ff39c4745a76f76847123c27b01ea

Eduard
07.05.2017
18:13:22
listen tcp 37.98.223.63:3010: bind: cannot assign requested address
Что не так то?

Олег
07.05.2017
18:13:44

Мерлин
07.05.2017
18:14:09

Eduard
07.05.2017
18:21:54
Запускаю локально указываю в ListenAndServer - 0.0.0.0:3010
коннектится клиент
Запускаю на VPS нет
Указываю ип впс, не запускается
listen tcp 37.98.223.63:3010: bind: cannot assign requested address

Andrey
07.05.2017
18:22:35
Кхм
А вы понимаете как идет запрос?)

kyprizel
07.05.2017
18:23:18
посмотрите IP на впске, возможно у нее самой нет реального адреса

Mikalai
07.05.2017
18:24:14

Олег
07.05.2017
18:24:21
Может быть, порт закрыт фаерволом?

Mikalai
07.05.2017
18:24:42
Там нет интерфейса с таким адресом скорее всего

kyprizel
07.05.2017
18:25:08
надо посмотреть ifconfig, если там 37.98.223.63 то смотреть файрвол, если нет - искать как натится/балансируется

Mikalai
07.05.2017
18:26:11

Eduard
07.05.2017
18:26:41
Все ок, я просто сервер перепутал, извините, их два и ип идентичны практически

Google

Andrew
07.05.2017
18:26:41

Eduard
07.05.2017
18:26:50
я не заметил разницы, спасибо всем

Mikalai
07.05.2017
18:27:01

Andrew
07.05.2017
18:27:13
Аминь ))

kyprizel
07.05.2017
18:27:55
подскажите пожалуйста - какие подводные камни есть с кросс-компиляцией при использовании cgo?
один и тот же код - нормально компилится нативно, но при кросс-компиляции ругается на довольно безобидную конструкцию.
Пример:
На amd64 всё ok
go get github.com/flynn/u2f/u2fhid
При кросс-компиляции (arm-linux-gnueabihf-gcc есть)
export CROSS_COMPILE=arm-linux-gnueabihf-
export GOOS=linux
export GOARCH=arm
go get github.com/flynn/u2f/u2fhid
gopath/src/github.com/flynn/u2f/u2fhid/hid.go:52: undefined: hid.Devices
пакадж github.com/flynn/hid собран - и для amd64 и для arm
пробовал golang 1.6 и 1.8

Ivahaev
07.05.2017
18:43:32
Разве с cgo вообще работает кросскомпилляция?
Go скомпилится под другую платформу, а C?

kyprizel
07.05.2017
18:59:12
для этого мы задаем кросс-комилятор
разобрался
в u2fhid файл назывался hid.go, при кросс-комиляции затирает пакадж hid, пофиксилось переименованием в u2fhid.go

dukeBarman
07.05.2017
19:30:06

kyprizel
07.05.2017
19:31:06
?
не ожидаешь такого от разработчика :)))

dukeBarman
07.05.2017
19:31:18
ога :)

Павел
08.05.2017
08:09:57
Можно задать очень глупый вопрос? Касается gogland

/dev/null
08.05.2017
08:10:21
задавай

Павел
08.05.2017
08:13:37
Просто я стесняюсь. Когда код дебажится в gogland, то получается так, что пути до файлов "ломаются". Так как в коде явно указано, что файл лежит тут же, в папке с исполняемым файлом. Если бы дебаггер gogland мог компилировать файл не во временной папке своей, а в той, откуда берет запускаемый файл для компиляции, то этой проблемы бы не было. Единственное решение, которое я вижу - менять все ути на полные.
файлы - ресурсы программы. конфиг файл, например.

Google

Bald
08.05.2017
13:10:34


Мерлин
09.05.2017
10:00:18
Всех с праздником! Немного хороших материалов:
1. [EN] Про преимущества []byte перед interface{}
https://lanreadelowo.com/blog/2017/05/02/type-safety-or-convenience/
2. [EN] Статья про создание современного веб-приложения на Go
https://grisha.org/blog/2017/04/27/simplistic-go-web-app/
3. [EN] Несколько полезных советов Go-разработчикам
http://blog.stablekernel.com/go-quickstart-helpful-tips-for-experienced-programmers
4. [EN] Пример разработки приложения с каналами и горутинами
https://www.thepolyglotdeveloper.com/2017/05/concurrent-golang-applications-goroutines-channels/
5. [EN] Отладчик Delve обновился до v1.0.0-rc.1
https://groups.google.com/forum/#!topic/golang-nuts/kE-ZDrJEGR4
Разработчик высокопроизводительного сервера распределённых блокировок Taooka делится тонкостями разработки API клиентской библиотеки на Go.
http://taooka.com/blog/convenient-and-fast-api-on-golang/


Monday Begins on Saturday
09.05.2017
18:19:18
Привет. А может кто-то сказать что обозначает вот это объявление функции:
func foo(data <- chan struct{}) {
Это типа мы при вызове функции сразу получаем данные в data из канала переданного в функцию?

Олег
09.05.2017
18:21:16
Это значит, что функция получает канал data, из которого она может только получать данные
А отправлять не может
Пробел какой-то неидиоматичный
func foo(data <-chan struct{}) {
Вот

Monday Begins on Saturday
09.05.2017
18:23:53

Олег
09.05.2017
18:24:43
Ага :)
func foo(data chan<- struct{})

Monday Begins on Saturday
09.05.2017
18:33:25
? сразу не заметил в чем разница, спасибо
Насколько это плохо для программы запускать для чтения данных постоянно горутину и убивать её каждый раз после того как чтение завершится?

Quet
09.05.2017
23:15:44
а почему это должно быть плохо?

Monday Begins on Saturday
09.05.2017
23:18:56
Мне кажется, что нет ничего хорошего в том что бы создавать горутину и убивать ее много-много раз. Но я в этом не уверен
Может это фрагментирует память или ещё что

Quet
09.05.2017
23:20:18
фантазии какие-то )

Monday Begins on Saturday
09.05.2017
23:20:36
Почему?

Quet
09.05.2017
23:20:37
ничего страшного нет в таком

Google

/dev/null
10.05.2017
01:00:37
утра всем

Monday Begins on Saturday
10.05.2017
01:03:46

Mikhail
10.05.2017
04:06:09
rows.Next()?
(не настоящий сварщик, просто предположил)

Konstantin
10.05.2017
06:25:00
Всем привет! Подскажите, пожалуйста, как правильно распарсить такой yaml-файл:
---
- test1:
test1_k1: test1_val1
test1_k2: test1_val2
- test2:
test2_k1: test2_val1
test2_k2: test2_val2Как правильно описать структуру?