@proGO

Страница 1016 из 1674
Alexandr
24.11.2017
09:21:07
Ребят подскажите пожалуйста, реально ли сделать так, чтобы две golang программы могли работать с общей памятью или это возможно только с помощью redis?

Mikhail
24.11.2017
09:31:21
можно заюзать shared memory из posix

Alexandr
24.11.2017
09:32:07
можно заюзать shared memory из posix
и то есть два приложения смогут и читать с этой памяти и изменять ее?

Mikhail
24.11.2017
09:32:54
да, но она не быстрая

Google
Alexandr
24.11.2017
09:35:11
да, но она не быстрая
а с чем это связано? Сильно ли отличается Shared от выделенной памяти на процесс

Mikhail
24.11.2017
09:46:07
это самый быстрый способ взаимодействия между процессами. и в целом почти не отличается от выделенной памяти на процесс. просто взиимоействие через нее потребует локов, а передача сообщений как принято в го - более эффективное средство

но все от задачи зависит

по факту это та же память что и процессу выделяется

Alexandr
24.11.2017
10:12:30
Ок, спасибо за наводку

Юрий
24.11.2017
11:35:10
подскажите как лучше выразить a = b = c a,b,c некие выражения Приходит в голову только s := a if s == b && s == c { равны}

Aleksandr
24.11.2017
11:37:00
a == b && a == c && b == c

если я правильно понял, т.к. a =b =c и s := a - это какие-то дикие вещи, не сооттносящиеся друг с другом

Blue Screen of Death
24.11.2017
11:37:56
a == b && a == c

Юрий
24.11.2017
11:40:40
ну а длинное выражение с выходным значением например int

и b,с тоже выражение

Aleksandr
24.11.2017
11:41:17
я не понимаю что ты хочешь.

Юрий
24.11.2017
11:41:21
поэтому два раза "a" не хочу считать

Google
Aleksandr
24.11.2017
11:46:24
поэтому два раза "a" не хочу считать
понятно. тогда ты все праивльно сделал

Юрий
24.11.2017
11:47:20
я хочу if (1+2+4) == (3+3+1) == (5+1+1) { верно }

Александр
24.11.2017
11:48:27
а я продолжаю строить ОРМ на рефлексии ?

задолбался

наследование моделей тяжко

Alexey
24.11.2017
11:48:59
Но ведь в Go нет наследования

Александр
24.11.2017
11:49:13
уже есть (злобный смех)

Ilya
24.11.2017
11:49:21
я хочу if (1+2+4) == (3+3+1) == (5+1+1) { верно }
лучше так не делать, а отдельно каждое выражение посчитать и сравнивать уже результаты

Александр
24.11.2017
11:50:09
на самом деле я делаю вставки type TestModel struct { BaseModel field string 'куча тегов, с какого поля базы заполнять, валидация...' }

Юрий
24.11.2017
11:50:27
а разве так можно if (...) == (...) == (...) ?

Александр
24.11.2017
11:50:31
потом это все рефлексией парситься...

либу кормим фабриками моделей

но я понял что чем дальше в лес, тем толще партизаны

поскольку модели могут бесконечно вкладываться друг в друга, это рекурсивно ходить в глубину

(вкладыватся что бы избежать копипаста полей с тегами)

по другому что-то пока не придумал как сделать

Aleksandr
24.11.2017
11:52:48
а разве так можно if (...) == (...) == (...) ?
ты написал правильный вариант в свуоем первом комменте. все

Nikolay
24.11.2017
11:54:13
а разве так можно if (...) == (...) == (...) ?
нет сначала сравнится (..) == (..) выдаст true сравнение true == (..) выдаст ошибку если хочешь много условий то if condition && condition {}

Кстати предикаты это go way?:D

Юрий
24.11.2017
11:56:27
ну тогда , как я и предполагал. спс s := a if s == b && s == c { равны}

Google
Kirill
24.11.2017
12:00:45
Нормально из конструктора возвращать два значения - объект и ошибку?

Aleksandr
24.11.2017
12:01:34
Kirill
24.11.2017
12:02:04
Ну я про функции вида newMyObject()

Konstantins
24.11.2017
12:02:26
Ну я про функции вида newMyObject()
правильно это називать фабричным методом

наверное

Александр
24.11.2017
12:02:45
https://github.com/jinzhu/gorm его переписываешь?
ага, только у меня база не стандартная ?

Aleksandr
24.11.2017
12:03:49
Ну я про функции вида newMyObject()
это фабрики. норм.возвращать можно.

(и нужно, если ошибка возможна)

Artem
24.11.2017
12:04:21
ага, только у меня база не стандартная ?
Так горм вроде как со многими бд работает. Может проще написать драйвер для твоей нестандартной бд?

Kirill
24.11.2017
12:06:02
(и нужно, если ошибка возможна)
Ну вот я помню еще из книги Кернигана что мол в го практикуется вложенная обработка ошибок и в итоге так проще потом понять где произошла ошибка, т.к. видишь что всю иерархию, через которую она прошла, просто хотел убедиться что в фабричных методах такое уместно

Александр
24.11.2017
12:11:04
у него свои завихрения

вообще конечно я тут прикинул, придеться отказаться от обертки и сделать руками преобразование, иначе не видать нам хорошего rps

Kirill
24.11.2017
12:16:15
С LDAP вам его и так не видать

Александр
24.11.2017
12:19:05
С LDAP вам его и так не видать
ну там форк на скорость юзается ?

Александр
24.11.2017
12:20:29
ну не знаю, боимся копипаста

10 моделей ходим наследованием пилить

это все с ООП привычка, в любом случаи плоди новую абстракцию

Google
Александр
24.11.2017
12:21:26
до 3 уровней вложенности наследования (на самом деле больше)

type appleTree struct { FruitTree } type FruitTree struct { Tree } type Tree struct { id string }

таким образом id в случаи переименования во всех трех моделях появится

*тяжко пыхтит* еще один уровень рефлексии

Kirill
24.11.2017
12:25:16
Не надо вам в Го, одни проблемы будут

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

Александр
24.11.2017
12:26:34
три раза

Admin
ERROR: S client not available

Aleksandr
24.11.2017
12:28:35
а вы бы скопипастили?
это не про копипасту. это про проектирование. ты не правильно проектируешь, обосновывая копипастой.

Александр
24.11.2017
12:29:00
эм?

у тебя есть PeachTree AppleTree CherryTree с одним свойством id

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

Aleksandr
24.11.2017
12:30:43
мне не очень. но мне знакома и понятна твоя логика.

Александр
24.11.2017
12:31:03
а если у тебя так-же есть ChristmasTree в котором этого свойства нет, но есть другое... велком еще одна парент модель

Aleksandr
24.11.2017
12:31:06
я не пытаюсь уколоть, но хочу быть честным - это та логика, за которую не любят пхп-программистов

их много, их уровень очень низок, и в программировании как в науке они плохо разбираются.

Александр
24.11.2017
12:31:54
так это в любом ООП языке так, JAVA или не дай бог С++ c его кастомными типами. Там нагородили бы таких городков

Google
Александр
24.11.2017
12:33:12
создавать парент модель? O_o

Это неправильно в любом из перечисленных языков
я был бы благодарен, если хотя бы намекнули в какую степь вы клоните. Я уже вспоминаю все ООП паттерны и ничего не приходит в голову. Только если "примеси" "магические методы"

Alexey
24.11.2017
12:45:58
10 моделей ходим наследованием пилить
Возьмите другой язык, вы чего :(

Александр
24.11.2017
12:49:33
ну варианты как у меня, на структуре, на структуре с магическим методом fields() (map[string]fieldOptions)

опять же если мы хотим избежать копипаста без "наследования" далеко не уедем

или придеться писать миксер моделей

Aleksandr
24.11.2017
12:50:46
опять же если мы хотим избежать копипаста без "наследования" далеко не уедем
не надо изщбегать копипаста наследованием. это крайне неправильно

Александр
24.11.2017
12:51:47
не надо изщбегать копипаста наследованием. это крайне неправильно
все говорят "неправильно" но никто даже не намакенул в сторону правильности

Pawel
24.11.2017
12:51:51
я был бы благодарен, если хотя бы намекнули в какую степь вы клоните. Я уже вспоминаю все ООП паттерны и ничего не приходит в голову. Только если "примеси" "магические методы"
ты отравлен похапэшным йадом, бро. Забудь т.н. ООП. Почитай хорошу юкнижку по программированию. Например "Практика программирования" Брайан Керниган, Роб Пайк

Aleksandr
24.11.2017
12:53:09
все говорят "неправильно" но никто даже не намакенул в сторону правильности
что тут предлагать? в го нет больших выразительных средств. просто пиши в каждой структуре Id

Александр
24.11.2017
12:53:45
в той же GORM кстати каскадное "наследование"

с рефлексией все хорошо

Aleksandr
24.11.2017
12:54:16
ну варианты как у меня, на структуре, на структуре с магическим методом fields() (map[string]fieldOptions)
и это жесть. нахера городить кучу всего, если можно писать понятный любому с первого взгляда код. пусть и чуть более многословный

Александр
24.11.2017
12:55:53
можно просто отрезать колбасы, а можно построить фабрику по нарезки колбасы

ты будешь туда скармливать колбасу и вид нарезки...

nezorflame
24.11.2017
12:56:29
если ты будешь есть только вареную, тебе не нужна фабрика по производству всех видов

ты будешь тупо клепать вареную

Aleksandr
24.11.2017
12:56:46
не начинай в аналогии. я сразу тебе скажу что она неверная, и предложу другую. поэтому не начинай

Александр
24.11.2017
12:57:54
не начинай в аналогии. я сразу тебе скажу что она неверная, и предложу другую. поэтому не начинай
про колбасу это было не в защиту наследования, а "почему мы усложням код"

что бы потом с запасиком

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