@gogolang

Страница 1483 из 1630
Никита
30.09.2018
12:56:43
Ну да, все ок

Александр
30.09.2018
12:57:01
dao_mysql получается должен "инклюдить" dao

я боюсь как бы циклической не получилось

V
30.09.2018
12:57:13
Не должен

Google
Никита
30.09.2018
12:57:44
V
30.09.2018
12:58:18
А, ну хотя если юзер общий на пакеты, то должен

Никита
30.09.2018
12:58:23
Вообще глянь на примеры чистой архитектуры на Го, очень похоже на то, чего ты хочешь добиться

Александр
30.09.2018
12:59:33
ну я по ней и делаю

получается handlers используют интерфейс с пакета dao...

а реализация кормиться только в main - UserRepositoryMysql

V
30.09.2018
13:00:33
Зачем в пакете с моделью интерфейс репозитория?

Александр
30.09.2018
13:00:52
https://habr.com/post/271157/

Александр
30.09.2018
13:00:59
ну так было в статьи

они делают абстрактный пакет всего

а релизация отдельно

Никита
30.09.2018
13:01:23
https://github.com/bxcodec/go-clean-arch

Google
Никита
30.09.2018
13:01:29
Вот тут очень хорошая реализация

Советую ее глянуть

V
30.09.2018
13:02:50
Я в четыре слоя (= пакета) делаю, проблем пока не было

Александр
30.09.2018
13:08:21
думаю может модель в реализацию переместить

хотя нет

реализация должна независимо от бд возращать одинаковый результат

anatolii
30.09.2018
13:11:45
А есть ли возможность создать структуру с уже установленными значениями полей?

Никита
30.09.2018
13:12:21
А есть ли возможность создать структуру с уже установленными значениями полей?
можно через тэги полей структуры типа type U struct { id int `default:"3"` }

а там уже через рефлексию

anatolii
30.09.2018
13:12:59
Не не, мне просто нужно иметь уже готовый "конфиг"

Никита
30.09.2018
13:13:19
А вообще лучше конфиг во внешнем файлике в yaml хранить например

anatolii
30.09.2018
13:14:14
тогда мне надо отдельно тип и отдельно переменную, думал мож есть возможность сразу, просто для удобства

Roman
30.09.2018
13:47:46
никто случайно не знает плагин для VSC для отображения спец символов дабы „->“ был представлен „→“?

или „!=“ как „≠“

Roman
30.09.2018
13:50:48
fira code шрифт и лигатуры включи в настройках
https://github.com/tonsky/FiraCode он Rust не поддерживает разве?)

Roman
30.09.2018
13:51:11
https://github.com/tonsky/FiraCode он Rust не поддерживает разве?)
у этого шрифта больше всего лигатур реализовано

Roman
30.09.2018
13:51:15
хотя чёт я брежу, это ж шрифт

Google
Roman
30.09.2018
13:54:06
хотя вместо отдельного шрифта можно бы было и просто плагином одно сочитание символов на другой UTF8 символ заменять для презентации, но такого не могу найти ибо такие операторы как := можно бы было упростить до 1 символа

у этого шрифта больше всего лигатур реализовано
в любом случае работает норм, спасибо

Vladimir
30.09.2018
14:06:37
Вы тестировали? Я думал компилятор понимает такие вещи.
он действительно понимает for i:=......... { a:=.... } что переменная а будет инициализирована при каждой итерации и убита гарбадж коллектором в конце в соответствии с синтаксисом языка! Или тестировать соответствует ли GO своему синтаксису?

Vladimir
30.09.2018
14:11:30
в конце каждой итерации ГЦ?
нет .... процесс убийства растянут по жизн приложения стандартная очередь

Vladimir
30.09.2018
14:12:08
главная оптимизация обьявить переменную ДО цикла

anatolii
30.09.2018
14:17:07
Помогите плиз с интерфейсами, ато я запутался

https://play.golang.org/p/hmLYqyP6bBp

Как сделать этот код рабочим?

Никита
30.09.2018
14:22:14
https://play.golang.org/p/hmLYqyP6bBp
https://play.golang.org/p/uzpYXDzO1il

anatolii
30.09.2018
14:23:24
https://play.golang.org/p/uzpYXDzO1il
Вы убрали * значит ли это что я не смогу нил вернуть?

мне нужна возможность вернуть либо указатель на структуру, либо nil

Никита
30.09.2018
14:24:27
Можно вернуть nil

anatolii
30.09.2018
14:24:59
получается nil подходит под interface{}?

Никита
30.09.2018
14:25:33
nil подходит под любой интерфейс

anatolii
30.09.2018
14:25:55
благодарю

Vladimir
30.09.2018
14:55:20
Эта переменная может быть вообще не обработана gc, если будет размещена на стеке, а не в куче
думаете что 1 лям итераций создадут 1 лям интов на стеке? Оптимистчно однако?

Google
V
30.09.2018
14:55:47
Я не думаю, я обычно проверяю

Но если это инт внутри цикла, то будет скорее всего переиспользована пямять

Vladimir
30.09.2018
14:57:08
Но если это инт внутри цикла, то будет скорее всего переиспользована пямять
переиспользована? То есть принудительный вызов ГК?

V
30.09.2018
14:57:16
Benchmem и pprof в помощь

Pavel
30.09.2018
14:57:22
Зависит от того что с этой переменной делают, да она может быть в стеке один раз и туда будет записываться новое значение каждую итерацию.

V
30.09.2018
14:57:46
^это вот

Компилятор в большинстве случаев гораздо умнее программиста

Admin
ERROR: S client not available

Vladimir
30.09.2018
14:59:36
Да а потом появляются статьи о повторном использовании переменых! Везет вам у вас все компилятор делает!

V
30.09.2018
15:01:47
Вы предполагаете поведение не зная как отработает компилятор на самом деле, что плохо. Так ещё и другим рассказываете свои предположения.

Pavel
30.09.2018
15:02:29
Ага и пример прям не полный я б сказал.

Сильно зависит от того что в цикле и вы воду пытаетесь обсуждать.

Vladimir
30.09.2018
15:04:31
Вы предполагаете поведение не зная как отработает компилятор на самом деле, что плохо. Так ещё и другим рассказываете свои предположения.
я не рассказываю предположения , я рассказываю о практическом опыте как ускорял свои рекурсивы на aigames.com своей прграмки GoKaidzu! Можете не читать я не стараюсь просвещать кого либо !

V
30.09.2018
15:04:55
Ускоряли без профилирования видимо?

Vladimir
30.09.2018
15:05:50
ну там все просто уложись в секунду .... а уж с профилированием или нет ( я писал свой бенч) не важно

V
30.09.2018
15:06:17
Т.е. вы по своему частному случаю сделали обобщение ?

Vladimir
30.09.2018
15:06:52
теорию затачивает практика!

V
30.09.2018
15:08:43
Конкретно в этом случае ваше обобщение неверно.

Vladimir
30.09.2018
15:09:40
Конкретно в этом случае ваше обобщение неверно.
решили выступить истиной в последней инстанции? Да на здоровье?, думаю далее только холивар!

V
30.09.2018
15:11:09
Вступил в обсуждение, где вы говорили неверные вещи. Можете не читать.

Google
Vladimir
30.09.2018
16:24:26
Сильно зависит от того что в цикле и вы воду пытаетесь обсуждать.
скоре общий стиль , чтоб потом увидев кашмар в pprof не испралять именно эти алокации!! Да на простеших задачах без рекурсий вроде компилятор справляется, но когда програмеры молотят по 400кило в месяц , хотелось бы чтоб молотьба была наиболее успешной , а обьяснять почему компилятор не положил на стек переменную которая уйдет в рекурсию параметром я уже устал

Александр
30.09.2018
16:34:47
шото мало

это меньше запроса раз в три секунды

Crypt
30.09.2018
16:35:42
строк наверное

Александр
30.09.2018
16:36:50
да и строк... копейки

V
30.09.2018
16:45:59
А потом вы этот код из цикла захотите вынести в функцию и начнёте передавать туда эту переменную...

Хорошее правило наоборот максимально сужать область видимости переменной

Аркадий
30.09.2018
17:21:55
Ребята, подскажите пожалуйста, при работе с gorm, как правильно делать, если мне на клиентский запрос нужно отдать инфу из базы, мне для каждого пользователя открывать коннект, доставать данные и закрывать его или какие-то другие еще есть варианты?

Crypt
30.09.2018
17:24:21
со sqlite такое не прокатит

Аркадий
30.09.2018
17:24:30
со sqlite такое не прокатит
я понимаю, из доки скопировал

типо для постгреса создастся пул?

Crypt
30.09.2018
17:25:25
да, вот этот db создаётся один раз на всё время жизни программы. внутряках либы обычно уже реализован пул соединений

Аркадий
30.09.2018
17:25:41
понял, спасибо

Artem
30.09.2018
19:16:34
понял, спасибо
в main один раз делаешь db, err := gorm.Open(), потом везде таскаешь этот db и обращаешься к нему. ни локов, мютексов и другой фигни не нужно, он справится

Аркадий
30.09.2018
19:18:56

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