
anton
18.07.2017
10:56:39

Zhenja
18.07.2017
10:56:56
чаще

Антон
18.07.2017
10:57:11
извините(
я просто не читал все, что здесь писалось, поэтому упустил)

Google

Илья
18.07.2017
10:58:00
https://github.com/smallnest/go-web-framework-benchmark

Zhenja
18.07.2017
10:58:17
потом все будут советовать эхо или чай
а потом прийдет Кирилл и скажет, что это медленно и в его фреймворке овер дофига запросов в секунду

anton
18.07.2017
10:59:17
точно :)

Zhenja
18.07.2017
10:59:32
ну и под конец кто-то скажет: "Главное не используй ирис, Люк"

Constantine
18.07.2017
10:59:54
тут и я подпишусь
ириску юзать все равно что контрацептивы бу
вроде и можно, стрёмно

anton
18.07.2017
11:00:34
причем стремно даже наизнанку...

Антон
18.07.2017
11:00:37
а что за чай?

Илья
18.07.2017
11:00:52
https://github.com/go-chi/chi

anton
18.07.2017
11:00:53

Google

Constantine
18.07.2017
11:01:06
golang chi

Zhenja
18.07.2017
11:01:19
но это не совсем веб-фреймворк, а роутер

Антон
18.07.2017
11:02:01
спасибо!)

anton
18.07.2017
11:02:10
ну к нему есть паки миддлвари и рендереров, поэтому не только роутер :)

Антон
18.07.2017
11:02:36

Denzel
18.07.2017
11:04:38

Zhenja
18.07.2017
11:04:44
яб взял chi, а через 3-4 недели переписал бы на net/http

Aleksandr
18.07.2017
11:05:30

Denzel
18.07.2017
11:06:53

Aleksandr
18.07.2017
11:08:06

Michael
18.07.2017
11:08:52
Вы наверное всех посылаете в библиотеку с любым вопросом. Все же могут и должны читать.

Aleksandr
18.07.2017
11:11:10

Michael
18.07.2017
11:11:26
я ж не спорю

Kirill
18.07.2017
13:03:10

Andrew
18.07.2017
13:05:16
Gramework
Сам себя не похвалишь - никто не похвалит! ?

Kirill
18.07.2017
13:05:46

Вадя
18.07.2017
14:50:09
qq all

Mush
18.07.2017
14:50:37
gg wp

Google

Mush
18.07.2017
14:50:44
gl hf

Mike
18.07.2017
14:52:14

Вадя
18.07.2017
14:52:45
command q
œœ


Konstantine
18.07.2017
15:13:06
что за фокусы - если собираю и запускаю программу в Gogland'е то все отлично работает, а если делаю go build main.go, то программа выкидывает панику во время выполнения, но причем ссылась на какие-то левые строки в исходниках.
panic: runtime error: index out of range
panic(0x623bc0, 0xc420014110)
/usr/lib/go/src/runtime/panic.go:500 +0x1a1
github.com/solidlsnake/instagram-go-scraper/instagram.getFromMediaPage(0xc42047e000, 0xe8e, 0x1e00, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/home/solidlsnake/Dropbox/Go/src/github.com/solidlsnake/instagram-go-scraper/instagram/media.go:92 +0x2d0
github.com/solidlsnake/instagram-go-scraper/instagram.GetMediaByCode(0xc4202dd190, 0xb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/home/solidlsnake/Dropbox/Go/src/github.com/solidlsnake/instagram-go-scraper/instagram/instagram.go:52 +0x15d
Вот, видно, что ошибка в файле media.go на строке 92, но на строке 92 одна строка, обращений к каком-то слайсу\массиву там нет.


Mush
18.07.2017
15:14:38
значит запускаешь другой код, не тот, чей исходник видишь
инфа 100%

Konstantine
18.07.2017
15:15:17
Прелесть) Свою же либу использую, что там вместо нее может быть? можно как-то проверить?

Ruslan
18.07.2017
15:15:31
запуск в гогланде посмотри

Konstantine
18.07.2017
15:15:36
ща посмотрел в сборке в гогланде, там при сборке используется аргумент -i еще
Может в нем дело?

Mikalai
18.07.2017
15:46:19

Konstantine
18.07.2017
15:47:05

Mush
18.07.2017
15:48:32
мне кажется никакие флаги не должны это поменять так радикально )
попробуй добавить отладку
в то место, которое выдает ошибку
скорее всего в одном из мест отладка не сработает, значит каким-то образом там читается другой код.

Konstantine
18.07.2017
15:51:35
Да, к сожалению не помогло.
Так и говорю - ошибку выдает в бессмысленном для нее месте - в объявлении структуры, а ошибка ругает индекс аут оф рендж.
Но видимо да, придется все утыкать логами и проверять в рантайме прямо.

Alexey
18.07.2017
16:13:43
имей всегда дебаг режим с миллиардом логов

Google

Konstantine
18.07.2017
16:36:17

Mush
18.07.2017
16:37:26
Так выяснилось почему другой код отрабатывает?
я же спать не смогу теперь


Denzel
18.07.2017
16:39:57
что за фокусы - если собираю и запускаю программу в Gogland'е то все отлично работает, а если делаю go build main.go, то программа выкидывает панику во время выполнения, но причем ссылась на какие-то левые строки в исходниках.
panic: runtime error: index out of range
panic(0x623bc0, 0xc420014110)
/usr/lib/go/src/runtime/panic.go:500 +0x1a1
github.com/solidlsnake/instagram-go-scraper/instagram.getFromMediaPage(0xc42047e000, 0xe8e, 0x1e00, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/home/solidlsnake/Dropbox/Go/src/github.com/solidlsnake/instagram-go-scraper/instagram/media.go:92 +0x2d0
github.com/solidlsnake/instagram-go-scraper/instagram.GetMediaByCode(0xc4202dd190, 0xb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/home/solidlsnake/Dropbox/Go/src/github.com/solidlsnake/instagram-go-scraper/instagram/instagram.go:52 +0x15d
Вот, видно, что ошибка в файле media.go на строке 92, но на строке 92 одна строка, обращений к каком-то слайсу\массиву там нет.
index уходит за пределы массива\слайса?


Konstantine
18.07.2017
16:40:25

Admin
ERROR: S client not available

Konstantine
18.07.2017
16:40:36

Denzel
18.07.2017
16:41:27
Видеть бы что там в этой 92 строке происходит )

Konstantine
18.07.2017
16:42:09
в этом и беда, что там ничего не происходит кроме объявления структуры)
и срабатывает эта ошибка только если собрать main.go через консоль
если собрать и запустить в gogland'е то все работает нормально

Ivan
18.07.2017
16:43:40
вот вам ваши ide
не должно быть магии

Denzel
18.07.2017
16:43:46

Mush
18.07.2017
16:44:09

Konstantine
18.07.2017
16:44:34
в общем какая-то дикая дичь)
буду думать)

Mush
18.07.2017
16:45:05
скорее всего разные пути/файлы/GOPATH в двух окружениях

Konstantine
18.07.2017
16:48:38
Бляха муха)

Google

Konstantine
18.07.2017
16:48:44
Действительно кажись %)

Илья
18.07.2017
16:49:10
https://github.com/Vorkytaka/instagram-go-scraper/commit/8e56a544937f1e1f9bc6a915d2d340906d711bf1#diff-4490df726487551631a7cfc68c5a6610R92
я думаю, у вас разные версии в разных GOPATH

Konstantine
18.07.2017
16:50:00
Да, кажется так и есть) Я невнимательный долбаеб и опечатался в GOPATH который в терминале)
Да, так и есть) Всем спасибо))

Mush
18.07.2017
16:52:16

Konstantine
18.07.2017
16:53:02
А в чем разница, если делать так:
type SafeCounter struct {
v map[string]int
mux sync.Mutex
}
или так
type SafeCounter struct {
sync.Mutex
v map[string]int
}

Илья
18.07.2017
17:50:58
во втором случае у тебя методы Lock и Unlock становятся публичными для объекта

Konstantine
18.07.2017
17:51:44
Какое-то недонаследование, емае)

Илья
18.07.2017
17:53:56
это встраивание
называется

Konstantine
18.07.2017
17:57:01
В первом случае да. А во втором как-то не очевидно совершенно

Ivan
18.07.2017
18:06:18
Второе не встречал, как оно вообще называется

Илья
18.07.2017
18:08:30
http://www.hydrogen18.com/blog/golang-embedding.html

corpix
18.07.2017
18:11:24

Konstantine
18.07.2017
18:12:41

corpix
18.07.2017
18:13:09
Нет в го наследования(в целом, оно и не нужно, без него сильно проще живётся)