
LexsZero
12.04.2017
18:06:23
кофе я и сам могу приготовить

Konstantine
12.04.2017
18:51:43
Переписывал скрипт один для работы с инстой с java на go, вдруг кому пригодится: https://github.com/SolidlSnake/instagram-go-scraper
Первый опыт работы с go, критика приветствуется)

LexsZero
12.04.2017
18:54:41

Konstantine
12.04.2017
19:40:05

Google

LexsZero
12.04.2017
19:40:26
с маленькой буквы - это и есть private
они не экспортируются

Konstantine
12.04.2017
19:41:09

Roman
12.04.2017
20:22:36

Konstantine
12.04.2017
20:23:12

Alex Milushev
12.04.2017
20:59:48

Vladimir
12.04.2017
21:00:15
потестил, те же яйца
То есть ты сначала получаешь Value а потом проверяешь не nil ли оно и только потом приводишь?

Alex Milushev
12.04.2017
21:00:20
да

Vladimir
12.04.2017
21:00:22
На какой строке падает?

Alex Milushev
12.04.2017
21:01:50
вот такой код
func Logger(ctx context.Context) *logrus.Entry {
newLogger := logrus.NewEntry(logrus.New())
if ctx != nil {
if ctxFirstId := ctx.Value(firstIdKey); ctxFirstId != nil {
newLogger = newLogger.WithField("First_ID", ctxFirstId.(int64))
}
if ctxSecondId := ctx.Value(secondIdKey); ctxSecondId != nil {
newLogger = newLogger.WithField("Second_ID", ctxSecondId.(int64))
}
}
return newLogger
}
На какой строке падает?
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x38 pc=0x566e0f]
goroutine 1 [running]:
context.(*valueCtx).Value(0xc420379860, 0x8952c0, 0xc4201ca3a8, 0xc4201ca3a8, 0xc4201ca3a0)
/usr/local/Cellar/go/1.8.1/libexec/src/context/context.go:478 +0x3f

Vladimir
12.04.2017
21:04:12
@zunkree а можно пример кода на play?

Alex Milushev
12.04.2017
21:04:52

Google

Vladimir
12.04.2017
21:05:10
@zunkree кстати авторы рекомендуют не использовать стандартные типы для ключей, а делать свои

Alex Milushev
12.04.2017
21:05:41
так валится не на приведении к типу

Anton
12.04.2017
21:09:29

Konstantine
12.04.2017
21:09:58

Anton
12.04.2017
21:10:43

Konstantine
12.04.2017
21:11:38
гуд, сам люблю парсеры писать
да вот) Тут правда не хтмл парсить пришлось, а json за счет как раз этих самых лазеек, что сильно облегчило задачу и позволяет тянуть многие данные без модерации на api у самого инстаграма

Alex Milushev
12.04.2017
21:18:18
но не запускается -- внешняя зависимость :(

Vladimir
12.04.2017
21:26:18
@zunkree https://play.golang.org/p/WFEvV3pA3J можно было без логруса сделать
ща посмотрим что не так...
@zunkree ты контекст неправильно инициализировал
по твоей ссылке ошибка в строке 34
замени 'var ctx context.Context' на ctx := context.Background()
и все будет работать
если ты добавишь дебаговый fmt.Printf("%+v\n", ctx) то увидишь что он у тебя <nil>.WithValue(1, 10)

Alex Milushev
12.04.2017
21:32:01

Anton
12.04.2017
21:35:09

Konstantine
12.04.2017
21:36:57
теги не собирает? мульти изображения (недавно релизнутые) ?
Пока нет, в списке на реализацию. У наборов медиа беда в том, что определить набор ли это вообще можно только для каждой отдельной, то есть, если, например, собрать все фото\видео определенного пользователя, то там никак не получится узнать по одному в каждом или нет, поэтому пока думаю над реализацией.
а теги пока попросту не успел, работал с локациями, в ближайшее время сделаю)

Dmitriy
13.04.2017
08:05:29
Пока нет, в списке на реализацию. У наборов медиа беда в том, что определить набор ли это вообще можно только для каждой отдельной, то есть, если, например, собрать все фото\видео определенного пользователя, то там никак не получится узнать по одному в каждом или нет, поэтому пока думаю над реализацией.
а теги пока попросту не успел, работал с локациями, в ближайшее время сделаю)
Теги с недавних пор может видеть только авторизованный пользователь, сами столкнулись, вдруг поможет)

Google

Konstantine
13.04.2017
08:09:15

Anton
13.04.2017
08:30:41

Konstantine
13.04.2017
11:33:34
Такое дело, если package состоит из очень большого кол ва связанных между собой файлов, нормальная ли практика разбивать его на несколько sub package?

Alexey
13.04.2017
11:46:34

@proDOT
13.04.2017
17:11:59
Выиграй грант на обучение в Университете Иннополис!
Открыт приём заявок на программы магистратуры: «Software Engineering» и «Secure Systems and Network Engineering».
Подай заявку на получение образовательного гранта, компенсирующего 100% стоимости обучения.
Получи высшее IT образование мирового уровня и стань жителем Иннополиса!
Регистрируйся на сайте https://goo.gl/Ph1LYT, заполняй профиль и проходи необходимые тесты.

Anton
13.04.2017
17:15:41
В бан!!
Это же лоховской универ
За деньги)

Igor
13.04.2017
17:16:13
и стало их 694

Kirill
13.04.2017
17:16:15

@proDOT
13.04.2017
17:19:03
За деньги)
Запомнил что в штатах все универы лоховские.

Konstantine
13.04.2017
17:40:21

Dmitriy
13.04.2017
17:46:20

Anton
13.04.2017
17:48:05
Интересуюсь, конечно) Предлагать можно на форуме антикаптчи)

Dmitriy
13.04.2017
17:48:45

Anton
13.04.2017
17:48:54
Скорее интересуюсь, агрится ли инстаграмм на парсинг)

Dmitriy
13.04.2017
17:49:49
Честно, не проверял, вот с регистрацией жёстко, я просто хотел свой авторег написать на досуге.
Но основной парсинг там происходит без авторизации, что радует.

Roman
13.04.2017
20:28:29
Народ, что скажете про ponzu ? https://github.com/ponzu-cms/ponzu

Egor
13.04.2017
22:00:35
Одни хипстеры пришли в мир других хипстеров https://github.com/goruby/goruby

Google

corpix
13.04.2017
22:21:07
По манкипатчингу соскучились небось

Serge
14.04.2017
06:49:01

Admin
ERROR: S client not available

Serge
14.04.2017
06:50:00

Egor
14.04.2017
06:57:08

Serge
14.04.2017
06:57:39

Александр
14.04.2017
07:16:30
Всех приветствую! Подскажите порядок/принцип проверки на утечку памяти.

LexsZero
14.04.2017
07:20:28
запускаешь, даешь нагрузку и убеждаешься что память не течет

Александр
14.04.2017
07:21:58
а в цикле нагрузки надо самому дергать сборщик? как понять сработал он или утечка?

Daniel
14.04.2017
07:24:07
зачем самомму дергать?
понимать надо по внутренним метрикам рантайма, каковые собираются автоматически, и, например, тот же прометей их автоматически включает в свою выдачу. я иногда пользую прометеевскую либу даже без сервера - хожу на него руками

LexsZero
14.04.2017
07:39:20
утечка - это когда у тебя где-то остаются живые референсы на объекты
сборщик тут не при чем, рано или поздно он все соберет
самому дергать имеет смысл, но это довольно редкие и извращенные случаи в суровом хайлоаде

Александр
14.04.2017
07:47:29
сборщик тут не при чем, рано или поздно он все соберет
я так понял во время нагрузки в списке процессов смотрю занимаемую память? вот мне пока не понятно, как мне понять у меня утечка от того что занимаемая память увеличилась или просто еще сборщик не сработал? или я вобще не правильно понимаю утечку? и как ее уведеть без доп по? до хайлоада мне далеко, пока все только на коленке. благодарю за ответы.

DreamingKitten
14.04.2017
07:48:07
по идее если память течёт то она течёт линейно от времени

LexsZero
14.04.2017
07:48:21
утечку увидишь по увеличению RSS в долговременной перспективе

DreamingKitten
14.04.2017
07:48:29
вот

LexsZero
14.04.2017
07:48:41
насколько долговременной - зависит от скорости этой самой утечки

DreamingKitten
14.04.2017
07:49:08
т.е. смотришь график, если он более менее прямой и растёт — знач течёт

Google

Andrey
14.04.2017
07:52:01
Всем привет! Кто нить использует influxdb ?
81.1G (VIRT) 3104M (RES) 451M (SHR) - судя из рассылок и faq'а, это связано с тем, что "Go's memory manager grabs a big chunk of
virtual memory."

Alexander
14.04.2017
08:06:18
Память течь может нелинейно от времени, например, когда нагрузка нелинейная.
И график может быть не совсем прямолинейно восходящим таким.
Недавно фиксил утечку с gorilla sessions, забыли враппер вкдючитть.
Раньше было 300-800 в среднем, сейчас 40 мегабайт
Приложение выделяло иногда память на обработку сложных запросов и на графике было видно, что работает gc. Ну и из профайлера совсем не было очевидно, что что-то течет

Roman
14.04.2017
11:02:08
https://go-review.googlesource.com/c/40693/

Dasha
14.04.2017
11:46:45
#job #вакансия #стажировка #junior #москва
Гайз, у меня есть отличная вакансия для начинающих разработчиков: оплачиваемая (даладно!) стажировка в IT-подразделениях банка «Открытие». Есть 2 варианта: обычная стажировка и работа в стартапе.
Стажировка длится 3 месяца, лучшие стажеры получат оффер в департаменты IT Банк Открытие и IT Global Markets. Подробнее → https://goo.gl/3aRUL4
Стартаперы будут пилить проекты в сферах мобильного банка и новых технологий (блокчейн, IoT, вот это вот всё). По итогам проекты/команды победители продолжат развивать свои продукты на платформе банка, а лучшие участники получат именные стипендии и офферы. Подробнее → https://goo.gl/uXeyiq
Для тех, кто хочет всё и сразу: https://goo.gl/eOBzTm

Sergey
14.04.2017
11:51:37
я чёт не понял
а языки то какие?
#хипстеры, блять

Alexei
14.04.2017
12:01:36
ну чатик же про го, значит вакансии по js ?

Sergey
14.04.2017
12:06:59
не, мне кажется, java

Egor
14.04.2017
12:40:42
мало ли тут переодетых