@proGO

Страница 1017 из 1674
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
Что... опять ООПешники из go хотят создать супер-мега-монстра
ну почти, я по накатанной начал делать ОРМ

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
ну там огрызок, без построителя запросов

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
а если конструктивно?)) this сохраняет согласованность, this в таком случае в любом контексте означает receiver метода, что довольно читабельно и консистентно есть какие-то объективные недостатки?
https://github.com/golang/go/wiki/CodeReviewComments#Receiver_Names Receiver Names The name of a method's receiver should be a reflection of its identity; often a one or two letter abbreviation of its type suffices (such as "c" or "cl" for "Client"). Don't use generic names such as "me", "this" or "self", identifiers typical of object-oriented languages that place more emphasis on methods as opposed to functions. The name need not be as descriptive as that of a method argument, as its role is obvious and serves no documentary purpose. It can be very short as it will appear on almost every line of every method of the type; familiarity admits brevity. Be consistent, too: if you call the receiver "c" in one method, don't call it "cl" in another.

Daniel
24.11.2017
13:11:08
это я читал, и чуть выше написал почему я с этим не согласен
хорошо бы еще написать, почему это несогласие имеет смысл, с вашей точки зрения

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
/vroteban
дада, еще и ; в конце строки

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
А что еще? В данном примере?
https://golang.org/ref/spec#String_literals

Александр
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
всё громозко, думал есть вариант красивее и проще
взять ридер, скопировать в райтер. две строки. очень изящно.

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
кмх, сейчас никакого
я в прицнипе. вот выше подсказали.

Страница 1017 из 1674