
Alexey
19.01.2018
14:17:36
оси я имею ввиду

Alexey
19.01.2018
14:17:51
Хотя бы четырехуровневую

Marlik
19.01.2018
14:17:59
стек протоколов кокрастыке не бред
Кодеру достаточно знать что такое UDP/TCP, чем отличаются. Ладно, хрен с ним, протоколы. Что вы плят с OSI делать будете? Вопросы надо задавать по проекту, а не высосанные из пальца.

Google

Marlik
19.01.2018
14:26:12
Работника выбираете как будто на всю жизнь.
Как будто женится на ём собрались, а потом детей вести вместе крестить.

Sergey
19.01.2018
14:27:39

Alexey
19.01.2018
14:27:39

Александр
19.01.2018
14:29:43
медовый месяц в подготовке к деплою приложения, ммм

Alexey
19.01.2018
14:30:42
необязательно он должен эти знания применять

Александр
19.01.2018
14:31:58
да это бесполезно
если человек не в состоянии обучиться с нуля за пару недель это бестолково

Marlik
19.01.2018
14:32:32

Sergey
19.01.2018
14:34:02

Alexey
19.01.2018
14:34:13
Ну лично я бы - подбирал сотрудника под себя... мне кажется мин 30 разговора хватило бы

Александр
19.01.2018
14:34:55

Google

Alexey
19.01.2018
14:35:13

Marlik
19.01.2018
14:36:52

Alexey
19.01.2018
14:37:39

Александр
19.01.2018
14:38:36
большенство собеседований напоминают прямо "подвальную сцену" из криминального чтива ?Теам лид в роли того-чувака-в-кожанном-костюме
не знаю, я ни разу после такого не проходил

Vladimir
19.01.2018
15:34:29
А кто-нибудь работал со stratum?

Sergey
19.01.2018
15:34:31
есть какие нить стать про go generate? Кроме примера Пайка

yuriy
19.01.2018
16:06:38
ребят, встраиваю аналитику, почти все получилось (спасибо за рекомендацию прометея это огонь)
http.HandleFunc("/metrics",
func(w http.ResponseWriter, r *http.Request) {
promhttp.Handler().ServeHTTP(w,r)
server.stats.Exporter.ServeHTTP(w,r)
})
но теперь мне хочется склеить вместе дефолтные метрики прометея и мои
по сути нужно в полученном http ответе склеить результаты этих двух ServeHttp
как это сделать?

k1b3r
19.01.2018
16:22:11

Атас
19.01.2018
16:43:55
это паста в lines = strings.Split(string(file), "n") \ обрезала или так и есть в коде ?
с \ у меня оно работает правильно

Sergey
19.01.2018
16:50:44
Коллеги вопрос кто как делает ротацию логов
На го

Рустам
19.01.2018
17:05:48
На го
Логрус сам умеет вроде, нет?

nezorflame
19.01.2018
17:09:51
supervisor

Alexei
19.01.2018
17:12:19
rsyslog

nezorflame
19.01.2018
17:13:04
Логрус сам умеет вроде, нет?
Rotation
Log rotation is not provided with Logrus. Log rotation should be done by an external program (like logrotate(8)) that can compress and delete old log entries. It should not be a feature of the application-level logger.

Рустам
19.01.2018
17:14:41

Alexey
19.01.2018
17:51:54

Sergey
19.01.2018
18:32:53

Google

Sergey
19.01.2018
18:40:16
может что не правильно сделалл но вроде как в примере как автор описал
?

yuriy
20.01.2018
02:07:15
OpenCensus никому не советую
Криво косо и десяток рейс кондишенов

Marlik
20.01.2018
03:15:23
Хм, я же могу просто бинарник на сервер скинуть и он будет работать?

Hamidumi
20.01.2018
07:26:37

Demuz
20.01.2018
07:27:31
Просто под эту ос и проц сборку сделаешь и все.
В "О" хочу записать order, вернувшийся с базы.

Alexey
20.01.2018
10:19:05
ты хочешь прямо указатель поменять?

Alexey
20.01.2018
10:19:19
указатель же локален для твоей функции и он read only
но не read only объект по этому указателю

Robert
20.01.2018
10:19:55
*O = order

Demuz
20.01.2018
10:20:51
Не. смотрите O и order это один и тот же тип структуры. Я хочу чтобы все значения которые внутри "orders" равнялись всем значениям "O". Я просто вот так не хочу прописывать. O.ID = order.ID, O.Status = order.Status.

Alexey
20.01.2018
10:21:09
см. выше
*O = order;

Robert
20.01.2018
10:21:33
ну и имей в виду, что если у тебя указатели, slice, map то нужно делать DeepCopy
внутри Order имеется в виду, если у тебя

Google

Demuz
20.01.2018
10:21:53

Robert
20.01.2018
10:22:21
повезло :)

Demuz
20.01.2018
10:22:24
Он сам внутри другого слайса находится )

Alexey
20.01.2018
10:22:31

Demuz
20.01.2018
10:22:36
Слайс ордеров.

Alexey
20.01.2018
10:22:42
А то тебе может только казаться, что оно работает.

Demuz
20.01.2018
10:22:45

Zver
20.01.2018
10:23:11
Если нужна полная копия, то так не пойдет. Если есть внутренние ссылочные типы.

Admin
ERROR: S client not available

Demuz
20.01.2018
10:24:02
Но он пустой пока что. если только он есть, обязательны ли лишние манипуляции?
Да я блин изначально метод криво прописал. Заново лучше напишу. С самим "O" тогда буду работать. Чтобы с копиями проблем не было.

Robert
20.01.2018
10:31:42
напиши свой timez который будет эмулировать null без обязательности ссылки. Я так делал.
как раз для поля deletedAt

Demuz
20.01.2018
10:33:05
да ладно, я лучше метод просто корректно перепишу. Спасибо.
А как обычно тестируют методы, в которых обязательно должен присутствовать к примеру контекст запроса http, Типа Cookie и тд и тп? В обычной ситуации контекст принимается с браузера клиента, а здесь его вручную чтоли прописывать? )))

Robert
20.01.2018
11:06:10
пакет httputil смотри
https://golang.org/pkg/net/http/httputil/

Demuz
20.01.2018
11:10:33
Спасибо.

Google


Slach
20.01.2018
11:12:54
народ, чего то я не понимаю
объясните как работают интерфейсы в Go?
вот есть метод SetLogger в библиотеке
// Logger is an interface that can be implemented to provide custom log output.
type Logger interface {
Printf(string, ...interface{})
}
// SetLogger sets the logger to be used for printing errors.
// Logger is an interface provided by this package.
func (c *Conn) SetLogger(l Logger) {
c.logger = l
}
пытаюсь подсунуть экземпляр структуры из Zerolog , который объявлен так
package log
// Logger is the global logger.
var Logger = zerolog.New(os.Stderr).With().Timestamp().Logger()
log.Logger возвращает структуру с типом zerolog.Logger
которая конечно не интерфейс, но имеет нужный метод по сигнатуре
type Logger struct {
//... тут всякие поля
}
// Printf sends a log event using debug level and no extra field.
// Arguments are handled in the manner of fmt.Printf.
func (l *Logger) Printf(format string, v ...interface{}) {
if e := l.Debug(); e.Enabled() {
e.Msg(fmt.Sprintf(format, v...))
}
}
делаю так
package mypackage
import (
"github.com/rs/zerolog/log"
"github.com/samuel/go-zookeeper/zk"
)
func myFunc() {
zkConn, _, err := zk.Connect(config.Zookeeper.Hosts, time.Second*3)
zkConn.SetLogger(log.Logger)
}
получаю ошибку
unused struct field invalid operation: log.Logger (variable of type github.com/rs/zerolog.Logger) is not an interface
почему??? как кастануть суко интерфейс то?


Robert
20.01.2018
11:30:15
у zerolog есть метод Printf() ?
если нет, значит zerolog не удовлетворяет требованиям интерфейса Logger
с другой стороны если zerolog делали для скорости в пику uber-овскому, то использовать Printf/Sprintf это супротив скорости.
или я гоню? ща гляну
короч
log.Logger который передается в SetLogger() это тип
создайте сначала объект
log := zerolog.New(os.Stdout)

Marlik
20.01.2018
11:39:41

Robert
20.01.2018
11:39:50
потом уже SetLogger(log)
попробуйте так

Andrey
20.01.2018
11:44:41
Народ. Кто нибудь использует GDB отладчик с го? Надо под арм удалённо отлаживать.
Delve поддержку арма ещё не запилил насколько я понял

Demuz
20.01.2018
12:01:16
Или вы типа думали что для запуска приложения на го, вам понадобится го? Типа как интерпретатор? ?

Vladimir
20.01.2018
12:10:25

Andrey
20.01.2018
12:11:24
я запустил GDB на распбери. Щас надо разобраться как подключить удалённую отладку к vscode и будет наверное мне "щастье"

Vladimir
20.01.2018
12:13:05
@avquantex ну просто arm-специфичные вещи это кажется только atomic операции над невыровненными данными

Andrey
20.01.2018
12:13:23
А это тут причём?

Vladimir
20.01.2018
12:13:50
А это тут причём?
ну в смысле это на вскидку единственная вещь которая ведет себя на ARM'ах по-огсобенному (сегфолт в Го вызывает в рантайме)