Constantine
02.04.2018
17:43:29
ты сам себе противоречишь
Let Eat
02.04.2018
17:43:45
bebebe
02.04.2018
17:44:09
зачем вам в go ipc?
у меня есть приложение, которое запускается по хоткею, приложение на электроне, тяжеловесное, мне нужно что бы если пользователь еще раз запускает приложение, оно не запускало еще раз electron, а просто отрисовало из существующего экземпляра gui электрона
Kirill
02.04.2018
17:44:22
Google
Constantine
02.04.2018
17:44:25
bebebe
02.04.2018
17:44:35
Илья
02.04.2018
17:44:36
Kirill
02.04.2018
17:44:40
Let Eat
02.04.2018
17:45:19
Айбелив
02.04.2018
17:45:22
Daniel
02.04.2018
17:45:35
Kirill
02.04.2018
17:45:39
Let Eat
02.04.2018
17:46:32
Kirill
02.04.2018
17:47:02
bebebe
02.04.2018
17:47:45
не, пока в режиме тестирования собираю с макоси из консоли. Но смысл тот же
я опишу задачу, мне нужно что бы ui часть приложения отрисоывалась довольно быстро (сама бизнес логина приложения очень проста), отирсовать одно поле ввода.
если запускать каждый раз golang+electron - выходит по 3-4 на старте.
я хочу что бы приложение запустилось, и после работы с формой ui, закрывало ui, и в следующий раз когда пользователь захочет запустить приложение, оно бы заново не запускало весь golang+electron, а просто отрисовывало ui в уже работающем экземляре
мне нужно определить, есть ли запущенное приложение, если нет - запустить, если есть - то послать через IPC сигнал на отрисовку ui части. Притом сделать так что бы этот IPC работал на osx,windows,linux
Denys
02.04.2018
17:49:42
хороший тамада, и конкурсы интересные
Google
Айбелив
02.04.2018
17:52:11
я опишу задачу, мне нужно что бы ui часть приложения отрисоывалась довольно быстро (сама бизнес логина приложения очень проста), отирсовать одно поле ввода.
если запускать каждый раз golang+electron - выходит по 3-4 на старте.
я хочу что бы приложение запустилось, и после работы с формой ui, закрывало ui, и в следующий раз когда пользователь захочет запустить приложение, оно бы заново не запускало весь golang+electron, а просто отрисовывало ui в уже работающем экземляре
мне нужно определить, есть ли запущенное приложение, если нет - запустить, если есть - то послать через IPC сигнал на отрисовку ui части. Притом сделать так что бы этот IPC работал на osx,windows,linux
Что-то не особо понятно как работает связка гошки и электрона.
Constantine
02.04.2018
17:52:34
нода умеет стучаться в либы
если утрировать
Andrew
02.04.2018
17:53:07
я опишу задачу, мне нужно что бы ui часть приложения отрисоывалась довольно быстро (сама бизнес логина приложения очень проста), отирсовать одно поле ввода.
если запускать каждый раз golang+electron - выходит по 3-4 на старте.
я хочу что бы приложение запустилось, и после работы с формой ui, закрывало ui, и в следующий раз когда пользователь захочет запустить приложение, оно бы заново не запускало весь golang+electron, а просто отрисовывало ui в уже работающем экземляре
мне нужно определить, есть ли запущенное приложение, если нет - запустить, если есть - то послать через IPC сигнал на отрисовку ui части. Притом сделать так что бы этот IPC работал на osx,windows,linux
> если запускать каждый раз golang+electron - выходит по 3-4 на старте.
"Современные" разрабы говорят "у вас компутер говно, покупайте RAID из SSD и Core i9!!!111адын
P.S. Привет JetBrains!
Constantine
02.04.2018
17:53:13
я опишу задачу, мне нужно что бы ui часть приложения отрисоывалась довольно быстро (сама бизнес логина приложения очень проста), отирсовать одно поле ввода.
если запускать каждый раз golang+electron - выходит по 3-4 на старте.
я хочу что бы приложение запустилось, и после работы с формой ui, закрывало ui, и в следующий раз когда пользователь захочет запустить приложение, оно бы заново не запускало весь golang+electron, а просто отрисовывало ui в уже работающем экземляре
мне нужно определить, есть ли запущенное приложение, если нет - запустить, если есть - то послать через IPC сигнал на отрисовку ui части. Притом сделать так что бы этот IPC работал на osx,windows,linux
хочешь быстрый рендер картинки — юзай нативность
bebebe
02.04.2018
17:53:39
*на последнем macbook'e
Айбелив
02.04.2018
17:54:33
не, я такие наркотики ещё не пробовал. Интересно
bebebe
02.04.2018
17:54:33
ладно, впрочем забейте, уровень этого чатика понятен.
Илья
02.04.2018
17:55:52
Mykyta
02.04.2018
17:57:41
я опишу задачу, мне нужно что бы ui часть приложения отрисоывалась довольно быстро (сама бизнес логина приложения очень проста), отирсовать одно поле ввода.
если запускать каждый раз golang+electron - выходит по 3-4 на старте.
я хочу что бы приложение запустилось, и после работы с формой ui, закрывало ui, и в следующий раз когда пользователь захочет запустить приложение, оно бы заново не запускало весь golang+electron, а просто отрисовывало ui в уже работающем экземляре
мне нужно определить, есть ли запущенное приложение, если нет - запустить, если есть - то послать через IPC сигнал на отрисовку ui части. Притом сделать так что бы этот IPC работал на osx,windows,linux
Так в чем сложность? Нужен просто ui фреймворк, который умеет делать окна невидимыми или типа того
bebebe
02.04.2018
17:58:35
Mykyta
02.04.2018
17:59:24
Andrew
02.04.2018
18:05:16
я опишу задачу, мне нужно что бы ui часть приложения отрисоывалась довольно быстро (сама бизнес логина приложения очень проста), отирсовать одно поле ввода.
если запускать каждый раз golang+electron - выходит по 3-4 на старте.
я хочу что бы приложение запустилось, и после работы с формой ui, закрывало ui, и в следующий раз когда пользователь захочет запустить приложение, оно бы заново не запускало весь golang+electron, а просто отрисовывало ui в уже работающем экземляре
мне нужно определить, есть ли запущенное приложение, если нет - запустить, если есть - то послать через IPC сигнал на отрисовку ui части. Притом сделать так что бы этот IPC работал на osx,windows,linux
Для таких задач придумали сворачивание программы в трей.
bebebe
02.04.2018
18:07:40
Nik
02.04.2018
18:08:53
Илья
02.04.2018
18:25:37
Что float?
Nik
02.04.2018
19:44:08
Что float?
Да уже не важно. Я думал нафиг гистограммы в флоате. А это у прома все во флоате
Alisher
02.04.2018
19:56:27
Google
Constantine
02.04.2018
22:37:17
не читай, сразу юзай реформ
Александр
02.04.2018
22:43:20
шо тут?
Zver
03.04.2018
01:17:27
bebebe
03.04.2018
01:18:06
Zver
03.04.2018
01:21:55
спасибо
Установленное имя в них действует в пределах всей системы. Соответственно, если использовать Event, то сначала пытаетесь создать его с помощью OpenEvent, если получается, посылаете сигнал, если нет, создаете новое. Но данные через Event не передать. Если их надо, то тогда Pipe.
Alexander
03.04.2018
07:38:57
я опишу задачу, мне нужно что бы ui часть приложения отрисоывалась довольно быстро (сама бизнес логина приложения очень проста), отирсовать одно поле ввода.
если запускать каждый раз golang+electron - выходит по 3-4 на старте.
я хочу что бы приложение запустилось, и после работы с формой ui, закрывало ui, и в следующий раз когда пользователь захочет запустить приложение, оно бы заново не запускало весь golang+electron, а просто отрисовывало ui в уже работающем экземляре
мне нужно определить, есть ли запущенное приложение, если нет - запустить, если есть - то послать через IPC сигнал на отрисовку ui части. Притом сделать так что бы этот IPC работал на osx,windows,linux
RPC с фронтендом на Electron, GTK, Qt или прости господи UWP.
Писать GUI на Golang даже не стоит пытаться, ибо GUI без параметрического полиморфизма или хотябы ООП - это боль.
Alexandr
03.04.2018
07:45:53
Полиморфизм как бы является одним из методов ООП
Аркадий
03.04.2018
07:48:22
Джентельмены, скажите пожалуйста, как создать такую структуру, чтоб там сразу инициалировался канал ?:
type User struct {
id int
name string
channel chan string
}
точней мне нужно, чтоб когда я написал
user1 := User{id: 2, name: "user 1"}
- у user1 уже был канал
Илья
03.04.2018
07:49:54
func NewUser() *User ?
Виктор
03.04.2018
07:50:02
Почему не функция конструктор?
Вот да сверху
только с параметрами иинициализации что тебе нужнв
Аркадий
03.04.2018
07:50:55
Можно пример?
Илья
03.04.2018
07:52:06
делаешь функцию, в которой инициализируешь канал создаешь структуру и возвращаешь её
Виктор
03.04.2018
07:52:28
func NewUser(id int, name string) *User{
return &User{id:id,name:name: channel : make(chan string)}
}
Аркадий
03.04.2018
07:52:32
Все спасибо, что-то затупил
Google
Daniel
03.04.2018
07:53:39
А?!
Виктор
03.04.2018
07:53:41
мммм...еще раз? Я не понял вопроса
Аркадий
03.04.2018
07:54:00
Daniel
03.04.2018
07:54:13
И?
Илья
03.04.2018
07:54:16
а что не так?
Аркадий
03.04.2018
07:54:34
не будет утечки памяти изза этого?
Daniel
03.04.2018
07:54:42
:)
Илья
03.04.2018
07:54:44
:O
Аркадий
03.04.2018
07:55:27
:) извините, просто хочется писать хороший код, поэтому на берегу уточняю
Виктор
03.04.2018
07:55:45
Все ок. лучше уточняй)
Глупых вопросов не бывает. Бывают глупые люди котоыре не задают вопросы
Daniel
03.04.2018
07:56:20
И вопросы о базовых концепциях
Аркадий
03.04.2018
07:56:36
Раньше никогда не сталкивался с указателями и ссылками
Виктор
03.04.2018
07:56:50
Утечки памяти в го регулируются сборщиком мусора. Если ссылка эта не будет использоваться то ее соберут с мусором
Илья
03.04.2018
07:57:17
go - язык с gc, тут есть внутренние косяки (типа бакетов в map, которые не освобождаются, или особенности работы со строками, которые могут мешать gc), но если что-то утекает - то это go рутины
Айбелив
03.04.2018
07:57:36
Виктор
03.04.2018
07:57:41
да да я знаю
я общий случай говорю
Аркадий
03.04.2018
07:58:00
Хорошо, всем спасибо за разъяснение!
Daniel
03.04.2018
08:05:44
Google
Eldar
03.04.2018
08:08:12
подскажите, овер9000 ретурнов в одном методе это типа ок? всегда старался 1 ретурн вконце использовать
это я сейчас либу nats открыл, и скажу что это выглядит довольно таки ужасно
Daniel
03.04.2018
08:10:36
вообще, код, который делает return как можно раньше, легче понять
стейт-машина в голове по-проще получается
Vladislav
03.04.2018
08:11:04
Если можно в данный момент завершить функцию, то почему нет?
Eldar
03.04.2018
08:11:42
что бы понять где из огромного кол-ва мест она завершилась)
F
03.04.2018
08:12:25
Daniel
03.04.2018
08:12:34
а?!
F
03.04.2018
08:14:45
https://github.com/golang/go/wiki/Switch
https://www.tutorialspoint.com/go/go_goto_statement.htm
Илья
03.04.2018
08:16:07
Приборы? - 200 ! Что "200"? - А что "приборы"?
Daniel
03.04.2018
08:17:45
я вот вспоминал, и не вспомнил, в какой базовой книжке написано, что return надо звать как можно раньше, раз уж позволено. никакого нет смысла тащить внимание читателя к последней строке, если уже ясно, что обработка завершена.
то ли керниган и ричи, то ли гради буч, что ли еще что-то такое же обязательное
там же было написано, что, если ветвь нормальной обработки одна - она должна быть самой длинной, а по разным нештатным ситуациям сразу возврат
Artem
03.04.2018
08:19:11
Имхо в clean code было
Daniel
03.04.2018
08:19:19
а если нормальных ветвей несколько - их надо по отдельным функциям раскидывать
Maksim (Ellrion)
03.04.2018
08:19:58
так же в книжке в какой то было и обратное мнение про 1 ретурн. но имхо оно уже давно устарело