
Olzhas
23.06.2018
02:49:29
Разбаньте меня в новом канале а

Kirill
23.06.2018
02:50:32

Olzhas
23.06.2018
02:50:49

Google

Dmitry
23.06.2018
06:37:51
а обьясните за моки в тестах. вот непонимаю никак зачем для них либы отдельные городить? почему нельзя просто сделать структуру с пустыми методама подходящими под интерфейс нужного обьекта (в голанге) или отнаследоваться от нужного класса (в других языках)?

Daniel
23.06.2018
06:47:40
потому, что от некоторых моков требуется соответствующее поведение

Dmitry
23.06.2018
06:49:34
какое такое поведение? и зачем для этого нужны имено либы?
я могу взять и ручками забить поведение в мой мок обьект - что мне дают мок либы ?

Илья
23.06.2018
07:13:52

Dmitry
23.06.2018
07:24:45
Ожидаемое поведение
я понимаю для чего нужны сами моки, но не понимаю для чего нужны либы для работы с ними. Почему я не могу забить ожидаемое поведение в мок руками?

Daniel
23.06.2018
07:25:45
а кто запретит-то?

Dmitry
23.06.2018
07:27:46
вы троллите меня ?
я полнял вашу мысль - то есть мок либы предоставляют механизмы для реализации типичных сценариев (т.е. грубо говоря шаблоны)?
а что еще ?

Alexander
23.06.2018
07:48:14
Более того, зачем std, если можно ожидаемое поведение запрограммировать самому?

User
23.06.2018
07:52:16

Google

Alexander
23.06.2018
08:06:24
Народ, я в этом чатике уже довольно давно, хотя и пишу мало, и мне очень не нравится что с ним происходит сейчас. Вместо нормальных ответов на вопросы новичков приходит какой-то, извините, высер с горой сарказма и/или абстрактными рассуждениями. Это уже давно замеченная особенность русскоязычных сообществ по программированию, которая отталкивает многих от участия и они уходят общаться на английском. Пожалуйста, следите за тем, как вы отвечаете. Перечитайте общение за последние 8-10 часов - их не много

Michael
23.06.2018
08:07:06
this is ok

Илья
23.06.2018
08:11:06

Dmitry
23.06.2018
08:13:49

Pawel
23.06.2018
08:16:39

Alexander
23.06.2018
08:22:04

Alex
23.06.2018
08:27:35

Michael
23.06.2018
08:28:04
из обсуждаемой оперы как пример - https://golang.org/pkg/net/http/httptest/

Dmitry
23.06.2018
08:37:07
спасибо, теперь я понял

Michael
23.06.2018
08:39:49
ну, для настоящих программистов лучшая дока - это исходный код и они пишут программы прямо машинными командами, а для людей по проще есть готовые инструменты - либы

Aliaksandr
23.06.2018
10:23:07

Kirill
23.06.2018
10:46:20

Aliaksandr
23.06.2018
10:46:59

Pawel
23.06.2018
10:59:17

The
23.06.2018
11:31:52
кто может подсказать по этому репозиторию? https://github.com/golang-standards/project-layout
есть такая-же структура, и не совсем понятно как это все подружить с Dockerfile
Они предлагают Dockerfile положить в папку ./build/package насколько я понял
но при сборке контейнера, он говорит package mypackage/internal/app/server: unrecognized import path "mypackage/internal/app/server" (import path does not begin with hostname)
команда которая это вызывает: /bin/sh -c go get -d -v ./...

Google

The
23.06.2018
11:34:35
сам Dockerfile
FROM golang:latest
WORKDIR /go/src/mypackage/
COPY ./cmd .
COPY ./internal .
COPY ./pkg .
COPY ./vendor .
RUN go get -d -v ./...
RUN go install -v ./...
ENV PORT=:9001
ENTRYPOINT [ "run" ]
EXPOSE 9001
хотя с COPY . . в Dockerfile все ок

Altered
23.06.2018
11:54:30
Для тонкого имиджа лучше делать мультистейдж докерфайл
В первом билд. Второй на основе альпины только бинарник копирует

The
23.06.2018
12:03:09
это потом, в дальнейшем
5 минут назад как раз думал об этом

Kaspar
23.06.2018
12:06:09
А цель запаковать и запустить чужой проект? Или шаблон для себя делается?

The
23.06.2018
12:14:16
свой проект пилю

Kaspar
23.06.2018
12:15:51
Только с dep есть пример

The
23.06.2018
12:16:41
ошибка где-то в этом коде
COPY ./cmd .
COPY ./internal .
COPY ./pkg .
COPY ./vendor .
т.е., когда меняю на COPY . .

The
23.06.2018
12:16:57
то все сразу билдится

Айнур
23.06.2018
15:26:15
Подскажите, пожалуйста, по глобальным переменным. у фреймворка gin есть тип функции HandlerFunc который в качестве аргумента принимает единственное значение gin.Context. Как мне передать второе значение этой функции, не используя глобальную переменную?
Замыкание также не хотелось бы использовать, так как код получается громоздким

Oleg
23.06.2018
15:28:46
Попробуй через контексты, в мидлварь передаешь значение и потом в хэндлере его достаешь

Айнур
23.06.2018
15:34:24

Petr
23.06.2018
17:30:28
Такого тебя ещё не банили

Kirill
23.06.2018
17:30:52

Petr
23.06.2018
17:32:44
?
Троль, создаёт акки постоянно новые

Google

Kirill
23.06.2018
17:33:07
Из Украины, что ли

Admin
ERROR: S client not available

Kirill
23.06.2018
17:33:16
Там номера не оформляя брать можно

Petr
23.06.2018
17:34:03

Kirill
23.06.2018
17:34:17
Много чего обещали

Stanislav
23.06.2018
18:10:51

Daniel
23.06.2018
18:11:53

Stanislav
23.06.2018
18:12:48
mypackage ниразу не похож на нормальный импорт :)

Daniel
23.06.2018
18:12:48

The
23.06.2018
18:13:14

Daniel
23.06.2018
18:13:36
С имени сервера

The
23.06.2018
18:13:37
и где вы увидели относительные импорты?
а если репозиторий с кодом живет локально?

Daniel
23.06.2018
18:14:29
Придумать ему имя сервера
На самом деле - там не обязательно имя сервера, но go get на него рассчитывает

The
23.06.2018
18:15:23
ну т.е. директория в $GOPATH уже не модно?
go get упал в данном случае, из-за того что докер на COPY копировал содержимое папки, а не саму папку

Oleg
23.06.2018
18:16:00
А вот так делать плохо
Если можно, то хотелось бы узнать почему и как делать "хорошо". У нас большинство сервисов используют подобный подход и если есть лучше и без глобальных переменных, то хотелось бы узнать

The
23.06.2018
18:16:03
и он долбался по адресу mypackage.

Мерлин
23.06.2018
18:16:05

Google

Daniel
23.06.2018
18:16:22
Импорт должен быть полным, от $GPATH/src

The
23.06.2018
18:16:52
ну так он там полный

Daniel
23.06.2018
18:17:22
Я так не думаю

The
23.06.2018
18:17:55
Я так не думаю
а какой он должен быть? /usr/local/go/src/mypackeg/...?))
или о чем речь?
там все копируется в GOPATH.
и оттуда уже собирается

Мерлин
23.06.2018
18:18:54

The
23.06.2018
18:20:18
К чему вы это скинули?