@gogolang

Страница 498 из 1630
Alexander
07.09.2017
09:29:46
Есть одна структура, с данными с поста. Есть другая структура, модели данных. Как заполнить структуру модели данных данными из структуры поста?

Daniel
07.09.2017
09:30:02
вручную

написать заполнятель

Mush
07.09.2017
09:32:01
Google
Mush
07.09.2017
09:32:28
Сначала в жсон потом из жсона в новую структуру

Но это конечно совсем не оптимально )

Alexander
07.09.2017
09:33:03
тоже вариант

Daniel
07.09.2017
09:34:46
очень херовый

зачем?

Alexander
07.09.2017
09:35:19
ну да. Перебор подконтрольнее

Vasily Romanov
07.09.2017
09:35:41
А имена послей там соответтсвуют друг другу ?

Alexander
07.09.2017
09:35:55
пока да )

Vasily Romanov
07.09.2017
09:38:56
Можно через рефлект

Будет медленее чем руками присваивать

Но меньше возьни

А если имена полей начну различаться - можно через struct tags упоминание делать

Это если таких сиутаций будет много и каждый раз влом писать

Google
Vasily Romanov
07.09.2017
09:39:44
Если одна - то конечно руками

Если всё же рефлектом будет удобно и хочется скорость - добро пожаловать в чудный мир кодогенерации

Daniel
07.09.2017
09:45:50
не надо через рефлект

пожалуйста

Ilya
07.09.2017
09:46:27
надо )

Daniel
07.09.2017
09:51:15
никогда не надо

Andrew
07.09.2017
10:04:38
Daniel
07.09.2017
10:05:23
что - почему? потому, что нет необходимости. потому, что это очень сильное колдунство, от которого гниль расползается по всему коду

Daniel
07.09.2017
10:06:50
там без него никак, понятное дело. но это от убогости нашей системы типов, а не от того, что так надо

Kirill
07.09.2017
10:08:03
не надо через рефлект
А если функция должна работать с различными типами? Ну т.е. допустим принимает название таблицы в БД, а возвращает стракт нужного типа?

Vasily Romanov
07.09.2017
10:08:13
в половине случаев без него никак

Vasily Romanov
07.09.2017
10:08:37
да, конечно можно получить говнокод на выходе который будет рабоатть со скрипом и грузить сильно всё

но это не зхначит что теперь нормальынй инструмент надо выкинуть

вот в сишке можно вообще легко в голову себе выстрелить, ну и что? никто же не викинул её вот уже 5-й десятко лет

Ilya
07.09.2017
10:11:59
В encoding/json юзается reflect, никто не умер.
я так понял что тэги полей распедаливаются только через него

Andrew
07.09.2017
10:13:19
я так понял что тэги полей распедаливаются только через него
И сам перебор полей структуры тоже через него же.

Google
Илья
07.09.2017
10:14:49
https://github.com/farexgit/VZR_STAT
в случае ошибки обработки файлы ен сносятся с сервера осмысленно?

Kirill
07.09.2017
10:15:27
делать через интерфейсы
Это понятно, внутри-то надо как-то тип определять чтобы создать нужный стракт. Делать огомный свитч?

Ну т.е. условно у нас 100-150 таблиц в БД

Свитч на 150 кейсов?

Daniel
07.09.2017
10:18:41
я вот понять не могу - это под какую же задачу-то?

Vasily Romanov
07.09.2017
10:19:48
перекладывание данных из формы (структура ) в модель ( другая структура )

Daniel
07.09.2017
10:20:44
перкладыване данных делается перекладывателем данных. до десятка полей его можно и нужно писать вручную, потом следует использовать кодогенерацию

Свитч на 150 кейсов?
я вот про это не понимаю - зачем

Kirill
07.09.2017
10:23:59
я вот про это не понимаю - зачем
Собирать мапу сущностей из БД. Алгоритм сбора мапы по сути один для всех таблиц в БД - две строки и два ключа для джойна. Я лазил в sqlx, там подобные вещи рефлексией делают, у меня есть возможность сделать через свитч т.к. кол-во таблиц конечное и я все их знаю

Ivan
07.09.2017
10:27:37
Киньте ссылкой, как 1.9 на debian воткнуть

Alexander
07.09.2017
10:28:44
Ivan
07.09.2017
10:28:51
и компилить?

Kirill
07.09.2017
10:29:15
не уверен, что есть задача, под которую надо собирать эту мапу
Создание словаря, например Или отдача данных по апи - чем не задача?

Alexander
07.09.2017
10:29:21
Не надо ничего компилить

Daniel
07.09.2017
10:29:41
Alexander
07.09.2017
10:29:49
и компилить?
https://golang.org/doc/install

Kirill
07.09.2017
10:31:30
ну я пока не понимаю, при чем тут мапа
Ну как, нужно экспортнуть сущности из БД с их зависимостями. Можно выбрать всё и загрузить в память и маппить уже там, а можно сделать функцию которая нужную сущность сама дополнит зависимостями

Daniel
07.09.2017
10:31:55
не понимаю

вот не понимаю, правда

Google
Kirill
07.09.2017
10:35:29
А как белый человек создать структуры под таблички тебя не устраивает?
Так структуры есть, вопрос как их линковать между собой.

Mike
07.09.2017
10:35:56
В структуре добавить связи?

Ну как в обычных орм типа

Nik
07.09.2017
10:36:16
А как узнать длинну файла, не прогружая его полностью? есть какойнить метод на файлы в os?

Kirill
07.09.2017
10:36:46
В структуре добавить связи?
Ок, мы выберем все запросом из БД с джойном каким-нибудь sqlx, а под капотом там будет рефлексия. Это имелось в виду?

Michael
07.09.2017
10:36:48
кол-во байт с os Stats

Nik
07.09.2017
10:37:54
Kirill
07.09.2017
10:40:59
Зачем рефлексия, если ты заранее знаешь тип?
Хм, ну вообще да, надо будет попробовать. Спасибо.

Admin
ERROR: S client not available

Alexander
07.09.2017
10:50:24
Спасибо, Прояснилось )

/dev/null
07.09.2017
10:57:55
в случае ошибки обработки файлы ен сносятся с сервера осмысленно?
Там еще будет проверка на ошибки, пока да осмысленно удаляется.

Ilya
07.09.2017
10:58:37
Зачем рефлексия, если ты заранее знаешь тип?
вооще по хорошему проверять бы надо что база отдала.

Ilya
07.09.2017
10:59:00
мож там кто с пьяну поля дропнул

Vasily Romanov
07.09.2017
10:59:01
а

/dev/null
07.09.2017
10:59:15
/Users/localadmin/upload/ это надо вынести куда-то в константы или конфиг
Это да, уже есть свой готовый пакет для этого (еще не успел прикрутить)

Vasily Romanov
07.09.2017
10:59:27
инсерт наверное в случае дропа полей будет меньшей проблемой :)

Google
Mike
07.09.2017
11:00:52
вооще по хорошему проверять бы надо что база отдала.
Я про другое, вот есть у тебя моделька User, у нее есть поле Friends, которое на самом деле подтягивается из таблички User джойном с табличкой Friends где айдишники пользователя и его друзей написаны, логику подтягивания пишешь сам, проверяй обпроверяйся, главное что связи ты так хранишь

Илья
07.09.2017
11:01:34
Это да, уже есть свой готовый пакет для этого (еще не успел прикрутить)
вообще порефакторить стоит, отсуп справа глубокий funcHandler сделать нормальный, utils.Cut(file, 1) 1 раз сделать. и switch для опций, и лучше внутренности тоже в функции убрать, defer xmlFile.Close() у тебя только внутри if, кстати

Roman ?
07.09.2017
11:01:54
Что можно почитать про применение go на практике? Не совсем понятно что и как организовывать.

Vasily Romanov
07.09.2017
11:02:48
"что и как" можно арзвернуть подробнее 7

организация проекта, кода, делой, мониторинг - что именно ?

Roman ?
07.09.2017
11:03:30
Илья
07.09.2017
11:04:23
спасибо
ну и по моей практике, обкладывай всё таймингами, когда нибудь захочется что-то ускорить, будет понятно куда копать :)

Alexander
07.09.2017
11:04:56
Обычно зхочется ускорить все и удалить тайминги

/dev/null
07.09.2017
11:06:19
ну и по моей практике, обкладывай всё таймингами, когда нибудь захочется что-то ускорить, будет понятно куда копать :)
А как бы вынести всю логику за пределы main.go то есть работы с файлами и бд… именно структура интересует, как бы было правильно на ваш взгляд… я раньше делал как на рельсах, сейчас хочется как-то более разумнее что-ли…

07.09.2017
11:55:08
тут есть криптоманьяки? кто нибудь объяснит почему супершифрованный телеграм делает свои заметки telegraph через голый http, и с десктоп приложения переходить по таким ссылком это вообще зашквар

07.09.2017
11:56:03
хотя бы https:// для приличия врубили бы

Andrew
07.09.2017
11:56:06
Телеграм может и шифрованный, а телеграф - нет.

07.09.2017
11:56:14
иначе mitm и прочее все

07.09.2017
11:57:15
навверное ты везде используешь http ;)

он ведь даже быстрее

Страница 498 из 1630