
Alexey
24.11.2017
13:00:48
Что... опять ООПешники из go хотят создать супер-мега-монстра

Roman
24.11.2017
13:00:48
краткий, чисто косметический вопрос:
как вы лично относитесь к названию receiver'а "this"?
func (this *MyType) MyMethod() {}

nezorflame
24.11.2017
13:01:13
вкусовщина
хотя я бы mt назвал :)

Google

Aleksandr
24.11.2017
13:01:30
но лучше не стоит - тыкать пальцем будут

Александр
24.11.2017
13:01:36

nezorflame
24.11.2017
13:02:00
или в зависимости от содержания, да

Александр
24.11.2017
13:02:42

Aleksandr
24.11.2017
13:04:04
продумла как lazy load будешь делать?

Roman
24.11.2017
13:04:33
хотя я бы mt назвал :)
я лично, например, с конвенцией Go называть receiver очень кратко вплодь до единственной буквы совершенно не согласен по нескольким причинам:
- очень часто пользуюсь авто-селектором "select next matching" редакторов (обычно Ctrl+D) и receiver часто, особенно если однобуквенный, ничем не отличаясь от букв внутри слов, сливается с ними и авто-выбор не рабоает. Поэтому всегда стараюсь сохранять уникальность идентификатора внутри определённого scope'а
- зачастую код просто не читабелен...
n * u.(i) / t(y)

Александр
24.11.2017
13:04:33
ну там огрызок, без построителя запросов

Kirill
24.11.2017
13:05:01

Aleksandr
24.11.2017
13:05:07
как конфигурить маппинг модели без проноса орм-сущностей в доменный слой?

Александр
24.11.2017
13:05:39

Aleksandr
24.11.2017
13:05:44
как добавлять свои типы, то есть чтобы скаляр из базы разворачивался в объект моего типа?

Александр
24.11.2017
13:05:54
это уже сложнее

Google

Александр
24.11.2017
13:06:04
я пронос 1 в 1 пока делал
не успеем в сроки

Roman
24.11.2017
13:08:23
Фу
а если конструктивно?))
this сохраняет согласованность, this в таком случае в любом контексте означает receiver метода, что довольно читабельно и консистентно
есть какие-то объективные недостатки?

nezorflame
24.11.2017
13:09:39


Kirill
24.11.2017
13:09:44

Roman
24.11.2017
13:10:21

Pawel
24.11.2017
13:10:50

Daniel
24.11.2017
13:11:08

Roman
24.11.2017
13:11:12

Kirill
24.11.2017
13:11:15
И при рефакторинге весело будет - grep this.Method()

Roman
24.11.2017
13:12:02

Александр
24.11.2017
13:15:34
кстати кто знает почему IDE варнингует конструкцию -
if (err != nil) {
return err
}

nezorflame
24.11.2017
13:15:55
скобки не нужны круглые
:)
а вообще, непонятно
функцию в плэйграунд

Aleksandr
24.11.2017
13:16:42

Александр
24.11.2017
13:16:59
точно скобки
блин привычка

Google

Serhio
24.11.2017
13:22:52
/vroteban

Александр
24.11.2017
13:26:19

Dmitri
24.11.2017
13:55:37
Так ведь теги вроде записываются

John
24.11.2017
13:56:07

Dmitri
24.11.2017
13:56:21

Aleksandr
24.11.2017
13:56:37
https://stackoverflow.com/questions/46917331/what-is-the-difference-between-backticks-double-quotes-in-golang

John
24.11.2017
13:56:51

Александр
24.11.2017
13:57:31
в GO не принято немного магии добавлять?

John
24.11.2017
13:57:43

Александр
24.11.2017
13:57:51
например http handler возращает тип err который в middleware ловиться и печатается в json
ну что бы явно не вызывать

Mikhail
24.11.2017
14:00:08
Ребят подскажие как быстро и красиво отдать файл по http?
- есть w http.ResponseWriter, r *http.Request и знаю где файл

Aleksandr
24.11.2017
14:00:42
не благодари

Александр
24.11.2017
14:01:39
если приложение за nginx можно с помощью спец заголовка скинуть эту задачу на него
а то на больших объемах та еще радость отдавать "ручками"

Mikhail
24.11.2017
14:04:14
мне нужно сгенерированный файл отдать, может быть большого объёма
не благодари
вариант с http.Handle("/", http.FileServer(http.Dir("static"))) не подходит, т.к. попросту не нужен для одного файла

Alexander
24.11.2017
14:05:01
Io.copy

Google

Mikhail
24.11.2017
14:05:22
не могу ридер для файла найти ?

Alexander
24.11.2017
14:05:35
Потерялся?

Aleksandr
24.11.2017
14:05:38
найдись уже. ты программист или чатер?

Александр
24.11.2017
14:06:17
я бы лично предложил рассмотреть вариант с сохранением на винт и скидыванием по X-Accel-Redirect
ну может конечно пыхные привычки, но воркера жалко ?

Admin
ERROR: S client not available

Alexander
24.11.2017
14:06:32
Там врятли хайлоуд))

Mikhail
24.11.2017
14:06:39
через bufio.NewReader(f)?

Alexander
24.11.2017
14:06:40
Можно не париться)

Mikhail
24.11.2017
14:06:54
всё громозко, думал есть вариант красивее и проще

Aleksandr
24.11.2017
14:06:55

Mikhail
24.11.2017
14:06:56
?

Aleksandr
24.11.2017
14:07:27

Kirill
24.11.2017
14:08:29

Aleksandr
24.11.2017
14:09:02
io.Copy
выше посоветовали. но у него ридер для файла потерялся
пока ищем

Alexander
24.11.2017
14:09:57
))

Kirill
24.11.2017
14:10:00
отлично

Google

Александр
24.11.2017
14:20:27
вообщем пришел к тому что написал в контролере что-то такое
for _, row := range db.Entries {
model := new(model.TestModel)
model.Fill(row)
}
и никаких вжух вжух ?

Aleksandr
24.11.2017
14:21:15
да, ведь контроллер место для заполнения модели из строки
а еще модель должна знать о хранилище и уметь сама себя собирать

Александр
24.11.2017
14:21:38
это был сарказм?

Aleksandr
24.11.2017
14:21:42
конечно

Александр
24.11.2017
14:21:49
row не строка
указатель на запись, тип *Entity

Aleksandr
24.11.2017
14:22:41
сути дела не меняет

Александр
24.11.2017
14:22:59
сути дела не меняет
ну сами орали что враппер это плохо, я подумал, переписал, еще раз переписал
и все время получался "гуд обджекс", обвешенный рефлексией
ибо модели то могут иметь разные типы
и цикл спрятать

Aleksandr
24.11.2017
14:25:41
какой паттерн используется для создания объекта?

Konstantins
24.11.2017
14:26:18

Александр
24.11.2017
14:26:20
кмх, сейчас никакого
раньше был реестр фабрик

Aleksandr
24.11.2017
14:26:44