
Никита
11.10.2018
15:36:26

Aleksandr
11.10.2018
15:36:39
причем тут язык? репозиторий - интерфейс к хранилищу. это имеется в виду

Илья
11.10.2018
15:36:45

Google

Михаил
11.10.2018
15:37:00
Подскажите как внутри функции присвоить запросу контекст?

Илья
11.10.2018
15:37:03

Daniel
11.10.2018
15:37:33

Илья
11.10.2018
15:37:52
вагную, что нужно передать в функцию контекст
но вопрос пугает

Daniel
11.10.2018
15:38:09
я думаю там все сложнее

Alexander
11.10.2018
15:38:10
Почему нет?
потому-что в голанге нет обобщённых интерфейсов

Илья
11.10.2018
15:38:29

Daniel
11.10.2018
15:38:32
возможно, даже рогатые твари

Aleksandr
11.10.2018
15:38:39

Daniel
11.10.2018
15:38:39

Михаил
11.10.2018
15:39:07
Есть f(r *http.Request). Внутри функции присвоить
ctx := r.Context()
сtx = context.WithValue(ctx, "tt", "123")
r = r.WithContext(ctx)

Dmitri
11.10.2018
15:39:14

Google

Илья
11.10.2018
15:39:56

Alexander
11.10.2018
15:41:07
то есть в принципе ок иметь метод Restore?
Короче репозиторий это скорее паттерн, а ещё скорее это часть методологии, которая называется Domain Driven Development. А делать вы можете что хотите, законом не запрещено.

Roman
11.10.2018
15:41:55

Илья
11.10.2018
15:43:20

Dmitri
11.10.2018
15:44:11

Artem
11.10.2018
15:44:23

Dmitri
11.10.2018
15:44:32
Просто посмотрите, как устроен слайс

Roman
11.10.2018
15:46:06
ещё раз, будучи бывшим плюсером, я исходил из того, что [] это функция в реализации интерфейса типа слайс.
но это оказалось не так, это встроенная в сам язык конструкция

Ilya
11.10.2018
15:46:17
Здравствуйте! Что происходит когда структура расширяется при помощи анонимной вложенной структуры, но имеет такие же имена?

Daniel
11.10.2018
15:46:20
да, так и есть

Ilya
11.10.2018
15:46:40
Они переписываются?

Daniel
11.10.2018
15:46:42

Ilya
11.10.2018
15:47:20
а?!
Ну смотирте, гипотетически. Есть ```type A struct {

Daniel
11.10.2018
15:47:22
а в С++, наверное, функция, только я знать этого не желаю

Roman
11.10.2018
15:47:41

Daniel
11.10.2018
15:48:01
ваши представления о прекрасном пугают меня

Roman
11.10.2018
15:48:11

Ilya
11.10.2018
15:48:41

Google

Dmitri
11.10.2018
15:48:48

Daniel
11.10.2018
15:49:00

Ilya
11.10.2018
15:49:06
of

Roman
11.10.2018
15:50:27
ну ведь согласитесь это прекрасно когда:
a = new Array()
c = a[10]
может повесить программу на 5 минут, потому-что в реализации перегрузки индексного оператора пойдёт брать этот int по сети и повиснет на await connection ?
</sarcasm>

Alexander
11.10.2018
15:50:35

Roman
11.10.2018
15:51:19
и нехер программисту давать доступ к перегрузке []

Ilya
11.10.2018
15:53:09

Darwin
11.10.2018
15:53:31
дупликейт же

Alexander
11.10.2018
15:53:35
@nexmean ??
1) "прекрасно, когда в языке нет контроля за эффектами"
2) ваш пример — это детский сад, а не инженерия, банальное отсутствие хоть какой-то культуры и понимания того, что он делает, у человека, который такое писал
ну и утинная типизация с возможностью перегрузки операторов, абсолютно насрав на исходную его сигнатуру — тоже весело

Roman
11.10.2018
15:54:59

Ilya
11.10.2018
15:55:09
давайте сразу в play
вот как мне лучше сделать такое поведение? Приходит json, структура имеет вложенную структуру (Клиент в заказе). Но в json приходит только айди клиента. Хотел через рефлект проверять тип значение после json.Unmarshal и в зависимости от этого запускать разные sql

Darwin
11.10.2018
15:56:10
зачем при этом одинаковые имена в стурктурах которые наследуются?

Daniel
11.10.2018
15:57:09

Ilya
11.10.2018
15:57:28

Alexander
11.10.2018
15:57:55
прошу заметить, простых не для изучения, а для написания программ

Daniel
11.10.2018
15:58:31

Google

Ilya
11.10.2018
15:59:08

Алексей
11.10.2018
15:59:24
Хотя стоит заметить, что Go в принципе не для таких задач сделан.

Daniel
11.10.2018
16:00:31


Roman
11.10.2018
16:01:08
особенно весело было с такми случаями как:
void DoSomething(s &std::string) {
// do stuff A
}
void DoSomething(s const &std::string) {
// do stuff B
// changed by bugfix commit
}
помню такую ситуацию, когда эти две реализации были в раздельных файлах и кто-то тупанул и внедрил изменения только в ту функцию которая принимает const &std::string потому-что мы только ей и пользовались, но первая изначально была задумана оригинальным автором "про запас" мол "вдруг пригодится"
и да... однажды она пригодилась, потому-что кто-то поменял рабочий тип на мутируемый string и итоге мы поломали прод, потому-что все забыли кроме изначального автора (а он уже свалил из конторы ?), что функция перегружена, что баг-фикс был только в одной из вариантов и что передавать ей другой тип было поэтому - небезопасно.
Весело короче живётся с перегрузкой

Alexander
11.10.2018
16:02:25
Но ещё он херого написан и без тестов.

Алексей
11.10.2018
16:02:53

Alexander
11.10.2018
16:03:01
А та часть, которую я дописываю за сеньёром недавно ушедшим в яндекс как раз работает с деньгами пользователей.

Алексей
11.10.2018
16:03:08
И тем не менее в Go она присутствует

Daniel
11.10.2018
16:03:27

Alexander
11.10.2018
16:03:40

Daniel
11.10.2018
16:04:34

Alexey
11.10.2018
16:04:46
Я видел!

Daniel
11.10.2018
16:04:52

Alexey
11.10.2018
16:04:56
В диффе, который его убирал ?

Daniel
11.10.2018
16:05:02
:)

Alexander
11.10.2018
16:06:00

Roman
11.10.2018
16:06:13

Google

Alexander
11.10.2018
16:07:10

Daniel
11.10.2018
16:07:18
а?!

Vyacheslav
11.10.2018
16:07:30
шо?

Alexander
11.10.2018
16:07:34
при чём вызов через точку — куда более мощная многозначность, чем перегрузка оператора

Roman
11.10.2018
16:08:33
ну перечисли нам, какие "значения может иметь вызов через точку")

Alexander
11.10.2018
16:08:41
а ещё интерфейсы — тоже многозначность

Daniel
11.10.2018
16:09:07
но такая, на втором шаге заканчивается

Zver
11.10.2018
16:09:53

Alexander
11.10.2018
16:10:19

Eugenii
11.10.2018
16:10:23

Roman
11.10.2018
16:10:42

Alexander
11.10.2018
16:10:52
я вместо этого собираюсь работу менять вместе со стеком

Eugenii
11.10.2018
16:11:45
зачем проект весь, перепешите один сервис у которого 1к и нет архитектуры, зато десяток публичных методов

Zver
11.10.2018
16:11:50

Alexander
11.10.2018
16:12:20

Vyacheslav
11.10.2018
16:12:35
а ты перепиши на го

Grom
11.10.2018
16:12:58
привет, подскажите, проблема с телеграм ботом, не могу сообразить, код из примера пакета на гитхабе нормально работал, бот читал сообщение, обрабатывал и все, затем принимал новое сообщение и обрабатывал, все ок. Но почему-то сейчас одно и тоже сообщение прилитает бесконечно,, удается его прочитать только если скормить айди +1 в GetUpdates, не могу понять почему вдруг стало работать не так и принятое сообщение не маркеруется прочитанным на сервере. Подскажите что можно сделать в этой ситуации?

Alexander
11.10.2018
16:13:50