
Kirill
29.12.2016
09:25:54

Daniel
29.12.2016
09:26:10
в нем

Kirill
29.12.2016
09:26:35
а чо, реально продот создал?

Daniel
29.12.2016
09:26:58
да

Google

Kirill
29.12.2016
09:26:59
?

Roman
29.12.2016
09:30:27

Anton
29.12.2016
09:31:39
ну так, а че там быстрее нжинкса статику то отдаёт?

Taki
29.12.2016
09:33:22
варниш

Kirill
29.12.2016
09:33:44

Phil
29.12.2016
09:34:52
варниш
а быстрее? а за счет чего?

Kirill
29.12.2016
09:35:03

Phil
29.12.2016
09:35:06

Subbotin
29.12.2016
09:35:25
варниш же это кэш типа мемкэшед или редис?

Kirill
29.12.2016
09:35:57

Phil
29.12.2016
09:36:39

Daniel
29.12.2016
09:37:38
ну вот надо мерять
потому что по моим замерам - сетевой стек в гошке довольно медленный

Google

Kirill
29.12.2016
09:38:04

Daniel
29.12.2016
09:38:49
то есть - на то же количество cpu сети потребляет меньше, чем тот же nginx

Kirill
29.12.2016
09:40:38

Daniel
29.12.2016
09:41:38
ну вот это противоречит моему опыту
надо мерять

Kirill
29.12.2016
09:42:07

Subbotin
29.12.2016
10:07:23
А как лучше сделать следующее: у меня есть некая функция, которая возвращает разлапистую структуру со вложенными другими структурами и десятком полей. Я хочу написать тесты для неё. Набирать ручками ожидаемые значения для возвращаемых структур мне чё-то не хочется. Хочется какую-то хрень которой можно передать уже вернувшиеся значения и котораоя нарисует мне через рефлект эти структуры в гошном синтаксисе, чтобы потом просто сравнивать.
ээээ. я понятно изложил вопрос?
или лучше просто сдампить в жсон и лоадить из него ожидаемые значения?

Славик
29.12.2016
10:18:32

Kirill
29.12.2016
10:19:39

Славик
29.12.2016
10:20:51
каст в интерфейс
смысл я не догнал, но ок, спасибо

Daniel
29.12.2016
10:27:58

Kirill
29.12.2016
10:28:37
Что-то я сонный, вспомнить не могу, в интерфейсе в типе кроме кайнда есть сам тип?

Roman
29.12.2016
10:44:18

Subbotin
29.12.2016
10:50:39
блин. а в го слайсы не сравниваемы оказывается

Andrey
29.12.2016
10:52:50
почему не сравниваемые?
slice can only be compared to nil

Google

Andrey
29.12.2016
10:54:54
да проверил :)
да херова писать на нескольких языках когда не один из них не знаешь :( тоже был уверен что слайсы это ссылочный тип и сравнивается по ссылки

Subbotin
29.12.2016
11:22:46
все знать о языке это фантастика. о го конечно это все узнать проще чем о плюсах, но вон даже Кирилл, который пилит свой го с го и гейшами иногда задает вопросы.

Славик
29.12.2016
12:19:30
а что за синтаксис `json:"key"`?
если скажем я вдруг захотел сделать свой формат и хочу по аналогии описать названия ключей
по типу
type SomeStruct struct {
Something string `myformat:"aga"`
}
myFormat(SomeStruct{"nea"}) -> {"aga":"nea"}

i
29.12.2016
12:30:08
struct field tags

Peter
29.12.2016
12:44:55
камрады, здесь недавно рекламили конфочку, где пилят очередной ненужный язык go-based. киньте в меня еще раз ссылку, а то потерял чет

@proDOT
29.12.2016
12:45:27

Peter
29.12.2016
12:46:03

i
29.12.2016
12:58:47
а зачем 2 чата?

Maxim
29.12.2016
13:00:39
а зачем 2 чата?
Первый для разрабов языка и им сочувствующих, второй - для пользователей


blkmrkt
29.12.2016
13:08:37
Можно ещё воспользоваться встроенными возможностями постгреса. Емнип pgdump умел фильтры
Не, там ничего такого нет, даже zero damaged pages не помогает. Плюс иногда пг крашится с сегфолтом, и нужно ждать рестарта. Я на ноде ночью переписал код и сейчас выкачиваю данные, но очень хочу разобраться с какой стороны в голанге к этому подойти. Да и обещал на SO выложить готовую утилиту - го с кросс-компиляцией из коробки тут вообще пушка.
Было бы идеально не конвертить поля в нативные типы, а сразу перекидывать все мясо на другой сервер.
Перешлю еще раз, может кто днем прочитает
А вот я на golang хочу сделать SELECT из одной sql базы и INSERT эти данные в другую. Я не знаю структуры таблицы заранее, но знаю что у source и dest структуры одинаковы.
Как это сделать?
взял http://jmoiron.github.io/sqlx/, делаю по гайду
rows, err := db.Queryx("SELECT * FROM place")
for rows.Next() {
// cols is an []interface{} of all of the column results
cols, err := rows.SliceScan()
}
а как теперь из этого интерфейса сгенерировать стейтмент INSERT INTO tblname VALUES (...), либо положить это в материализованный слайс из стринговых репрезентаций данных?
Нашел еще в одной либе ф-ю Scan в какой-то NulledString map или как-то так, но не нашел как из этого потом сгенерировать код для инсерта.


Maxim
29.12.2016
13:41:24
Микросервис на Golang
? Хабрахабр: Go
Среди беспорядка найдите простоту; среди раздора найдите гармонию; в трудности найдите возможность...
(С) Альберт Эйнштейн
Статей о микросервисах, их достоинствах и недостатках в последнее время написано немало. Однако как-то редко кто пишет об имплементации микросервисной архитектуры, и прежде всего, именно об микросервисе, как о кирпичике, из которой и строится потом здание такого приложения. Я попытался восполнить этот пробел, и поделиться своим опытом в разработке микросервиса, вылившемся в конечном счёте в небольшую библиотеку под не оставляющим места для сомнений названием Microservice. Код написан на прекрасно подходящем для микросервисов, простом и удобном языке программирования Golang.
Читать далее ➡ https://shbr.xyz/hh318720

blkmrkt
29.12.2016
13:49:01
можно ли как-то избавиться от лесенки
if err != nil { } else { if err != nil { } else { if err != nil { } else { } } }

Peter
29.12.2016
13:49:34
switch?

Google

blkmrkt
29.12.2016
13:49:46
всмысле как следует правильно бабблить ошибки вверх?

Daniel
29.12.2016
13:50:00
только вот такой лесенкой

blkmrkt
29.12.2016
13:50:26
switch?
не, err каждый раз разный. Например куча консекутивных sql stmnts, чтоб фейлилось на первой ошибке

Daniel
29.12.2016
13:50:26
собственно, вариантов ровно два
или эта лесенка
или exceptions

Peter
29.12.2016
13:50:53

Daniel
29.12.2016
13:50:54
и exceptions в go нет

blkmrkt
29.12.2016
13:51:01
экепшоны вроде не ловятся

Admin
ERROR: S client not available

Peter
29.12.2016
13:51:02
err бывает только один
точнее он или бывает, или nil

blkmrkt
29.12.2016
13:51:27

Peter
29.12.2016
13:51:27
ты его просто игнорь, как это делают все
а ты не крашься, ты return'ься

blkmrkt
29.12.2016
13:51:51

Peter
29.12.2016
13:52:36
так-так-так, что это у нас тут за еретик?
ошибки он решил обрабатывать

blkmrkt
29.12.2016
13:54:16
такс пока вы тут, скажите какой либой можно сгенерировать INSERT стейтмент из результатов SELECT
не зная схемы заранее*

Google

blkmrkt
29.12.2016
13:57:32
ну не писать же свою либу, а
тут еще таймштампы разных сортов и json, не знаю как с ними быть

Subbotin
29.12.2016
14:04:40

blkmrkt
29.12.2016
14:05:17

Daniel
29.12.2016
14:05:25
но суть ни хрена не меняется

Subbotin
29.12.2016
14:05:32
да.

Ivan
29.12.2016
14:33:31
Потестировал сегодня как Go с WMI в винде работает. Всё очень медленно и сложно. Нашёл на эту тему только такой код, а то ли он не очень, то в принципе удалять гланды через задницу не стоит https://github.com/go-ole/go-ol
*https://github.com/go-ole/go-ole

Subbotin
29.12.2016
14:35:05
я хочу поговорить про новую ide для go от jetbrains
вы кстати слышали о ней?
у них есть какая-то ссылка где можно скачивать последний билд или довольствоваться можно только тем что прислали в ссылке?
или оно там обновляется?

Peter
29.12.2016
14:36:26
тут вроде кидали архив

Dzmitry
29.12.2016
14:36:46
я поставил себе, за 4 дня ни одной обновы
могу кинуть ссыль

Lev
29.12.2016
14:37:09
здесь есть в файлах

Subbotin
29.12.2016
14:37:20
ну то что прислали мне имеет другой хэш отличающийся от того что скидывал Кирилл
у меня свежее

i
29.12.2016
14:37:37
В чёт отличие от liteIde?

blkmrkt
29.12.2016
14:39:50
короче мне голанг очень нравится, это как типизированный жс с си, плюс нормальный менеджер пакетов и кроссплатформенные билды