
Alexander
13.05.2017
12:17:41
Вобще, если о Go речь, то вот: https://golang.org/src/net/dnsclient.go
// reverseaddr returns the in-addr.arpa. or ip6.arpa. hostname of the IP
// address addr suitable for rDNS (PTR) record lookup or an error if it fails
// to parse the IP address.
func reverseaddr(addr string) (arpa string, err error)
А! reverseaddr() просто преобразует адрес в строку с доменным именем arpa. А имя по IP дает net.LookupAddr()


Труба
13.05.2017
13:59:28
Народ, есть такой обработчик (Echo), как его протестировать, не могу передать "db" и echo.Context в функцию GetRedirect()?
// handler.go
const domain = "http://localhost:9000"
func GetRedirect(db *sql.DB) echo.HandlerFunc {
return func(c echo.Context) error {
path := c.QueryParam("path")
return c.Redirect(301, domain+path)
}
}
// handler_test.go
func TestGetRedirect(t *testing.T) {
db := database.InitDB()
e := echo.New()
q := make(url.Values)
q.Set("path", "testurl")
req := httptest.NewRequest(echo.GET, "/?"+q.Encode(), nil)
rec := httptest.NewRecorder()
c := e.NewContext(req, rec)
// Assertions
assert.NoError(t, GetRedirect(db))
}
Вообще есть ли смысл тестировать handler'ы? =)

Google

Max
13.05.2017
15:14:35
GetRedirect(db)(c)

Труба
13.05.2017
16:48:35
еееееее, спасибо!

Mikhail
13.05.2017
18:05:58
При попытке обратиться к любому полю переменной config не выводится ничего

Max
13.05.2017
18:08:43
Экспортируемые поля структур должны писаться с большой буквы

Mikhail
13.05.2017
18:14:02

Sander
13.05.2017
18:52:22
Всем привет,
можете понятным языком сказать, зачем в go context, какую задачу он решает.
Просто смотрю примеры, код и все равно не очень понимаю.

LexsZero
13.05.2017
18:54:30
https://blog.golang.org/context прочитал ?

Sander
13.05.2017
18:55:28
да смотрел, сейчас пытаюсь прочитат то чт на русском, так как такое чувство что я не очень понял и все равно не очень понятно.

Max
13.05.2017
19:18:31
https://habrahabr.ru/post/269299/

Sander
13.05.2017
20:36:21
прочитал несколко раз, понимание не дало, что-то частично дало но все равно не очень понимаю

MrSmeet
13.05.2017
21:11:57

Max
13.05.2017
21:22:18
прочитал несколко раз, понимание не дало, что-то частично дало но все равно не очень понимаю
Некий объект, который пробрасывается через middleware. Например, есть мидлвар - проверка логина и пароля, если логин правильный то следующей mddle в цепочке может понадобится логин, при помощи которого он из бд тягатет данные о пользователе и далее все это передает в третий, все эти данные нужно где-то хранить, можно, конечно взять map[string]interface{}, но он и памяти больше жрет и вообще как-то не круто.
Может кто ещё придумает сценарии или дополнит)

Google

Sander
13.05.2017
21:25:06
как он через middleware, будет передавать context?

Max
13.05.2017
21:31:53
firstMdl(ctx context.Context) {
secondMdl(ctx)
}
например так)
http.Request уже включает в себя методы для работы с контекстом

Sander
13.05.2017
21:39:39
@Clouded ну таким успехом через middleware, можно передават любую переменную.

Max
13.05.2017
22:01:23
Фишка в том, что неизвестно сколько будет переменных и будут ли они вообще, поэтому обычно во все mddleware прокидывают контекст

Sergey
13.05.2017
22:01:39
go context чаще используется для контроля выполняемой процедуры либо горутины, чтобы ее можно было грохнуть если ее выполнение потеряло актуальность

Sander
14.05.2017
06:00:06
вот @poulikov, это уже ближе к тому что я прочитал. Пытаюсь больше понят о том как грохнуть правиьлно и в каких местах ее лучше применять.
А вот про middleware я пока нигде не встречал и как работает WithValue.
Я таким успехом могу создать map и туда все складывать, но кто-то говорил что это будет медленнее.

Ilya
14.05.2017
06:36:35
Контекст сделан для совместимости - его могут есть все и из коробки, а ваш мап будете кушать только вы сами в своем софте
Это основное отличие от кастомных решений
Как впрочем и любая другая стандартизация
Я вот буквально на прошлой неделе добавлял трейсинг в сервисы через opentracing -там тоже уже все через контекст, особенно если хочешь трейсинг запросов сквозь несколько сервисов
И опять практически все из коробки т.к. контекст умеют все

TILTED
14.05.2017
10:15:00
День в хату. Гоу может в машинное обучение?

Andrey
14.05.2017
10:15:37
Но зачем?

TILTED
14.05.2017
10:16:03
Да.
Каккие библиотеки/фреймворки нужны?

Andrey
14.05.2017
10:16:32

Stanislav
14.05.2017
10:16:56
Cтоит устанавливать гошку в линукс так:
sudo apt install golang-go
?
Или скачать архив с сайта и вручную установить

TILTED
14.05.2017
10:17:24

Google

Kirill
14.05.2017
10:17:24

Mark
14.05.2017
10:17:43

Andrey
14.05.2017
10:17:43

Stanislav
14.05.2017
10:18:13
Спасибо

Mark
14.05.2017
10:18:23
Привычка с рубей)

Andrey
14.05.2017
10:18:47
Просто интересно. А зачем?

TILTED
14.05.2017
10:19:29

Andrey
14.05.2017
10:20:53

TILTED
14.05.2017
10:21:06

Andrey
14.05.2017
10:21:16

TILTED
14.05.2017
10:21:52

Andrey
14.05.2017
10:22:01
Дело, конечно, твоё. Но копать землю отвёрткой.

Mark
14.05.2017
10:22:18

TILTED
14.05.2017
10:22:20
+ нравится синтаксис, в отличии от питухона

Denis
14.05.2017
10:23:24
life is hard

Andrey
14.05.2017
10:23:33

Google

Andrey
14.05.2017
10:23:56
Но меня и правда удивляют люди, которые хотят землю копать отвёрткой.

Mark
14.05.2017
10:24:52

Andrey
14.05.2017
10:25:19

Stanislav
14.05.2017
10:25:39
Что скажете про Caddy?

TILTED
14.05.2017
10:26:18

Kirill
14.05.2017
10:26:53

Admin
ERROR: S client not available

Stanislav
14.05.2017
10:27:08
Если очень захотеть можно на pypy разогнать
Но кому это надо?
хорошая штука
Мне понравилось то, что оно ест совсем немного и вроде быстрое

TILTED
14.05.2017
10:27:36

Andrey
14.05.2017
10:28:20
Это что?

TILTED
14.05.2017
10:28:41

Andrey
14.05.2017
10:29:07

Igor
14.05.2017
10:29:12

Denis
14.05.2017
10:29:13
питон в мл дергает сишные бинды

TILTED
14.05.2017
10:30:30

Andrey
14.05.2017
10:30:55

Igor
14.05.2017
10:31:03

Denis
14.05.2017
10:31:04
вообще для го скоро выпустят бинды tensorflow
можешь уже тыкать

Google

Oleksandr
14.05.2017
10:31:15
на го нет библиотек для мл
о чем вопрос вообще?

Denis
14.05.2017
10:31:45
что значит нет

TILTED
14.05.2017
10:31:49

Andrey
14.05.2017
10:31:51

Denis
14.05.2017
10:31:52
из крайности в крайность

Oleksandr
14.05.2017
10:32:23
что значит нет
это значит, что их нет
то, что так называется -- поделие

Andrey
14.05.2017
10:32:26
>лайв матчи алё
Лол, парень, ты походу не понимаешь как вычисления в питоне выполняются.

TILTED
14.05.2017
10:32:44

Andrey
14.05.2017
10:33:06
Есть уже давно вылизанные сишные библиотеки, которые вызываются из питона. И там нет никакой интерпретации и GC) Так что всё считается быстро.
И в случае с ML говорить, что golang быстрее - глупо, потому что основную работу не интерпретатор питона делает.

Denis
14.05.2017
10:34:25
https://github.com/tensorflow/tensorflow/tree/master/tensorflow/go

Vlad
14.05.2017
10:34:33

Igor
14.05.2017
10:34:45

Mark
14.05.2017
10:35:03

Andrey
14.05.2017
10:35:11

Eldar
14.05.2017
10:35:16

Vlad
14.05.2017
10:35:30

Andrey
14.05.2017
10:35:46

Vlad
14.05.2017
10:35:50
Да