@gogolang

Страница 972 из 1630
Constantine
02.04.2018
17:43:29
ты сам себе противоречишь

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
bebebe, я запилил на электроне гуи, проблем вроде нет особых
у вас есть CI для этого приложение, сборки происходят внутри докер котнейрера?

Илья
02.04.2018
17:44:36
у меня почему-то уже гора людей на этом вопросе провалились
я просто не понял, это вопрос базовый? или для самых упоротых? :)

Kirill
02.04.2018
17:44:40
тут ты намекаешь, что это требование прям )
а мне сейчас нужен очень упоротый :)

Let Eat
02.04.2018
17:45:19
а нередко приходится писать что-то с нуля в замен stdlib
И? В ASM руками пишите? Если нет,то знание не влияет ни на один выбор при написании Го программы

Айбелив
02.04.2018
17:45:22
у вас есть CI для этого приложение, сборки происходят внутри докер котнейрера?
не, пока в режиме тестирования собираю с макоси из консоли. Но смысл тот же

Daniel
02.04.2018
17:45:35
а нередко приходится писать что-то с нуля в замен stdlib
коллега, я вот не уверен, что это действительно "приходится" скорее "мне прикольно"

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
Constantine
02.04.2018
17:52:34
нода умеет стучаться в либы

если утрировать

bebebe
02.04.2018
17:53:39
Что-то не особо понятно как работает связка гошки и электрона.
в классическом виде, golang через https://github.com/asticode/go-astilectron работает с electron старт helloworld приложения занимает 2-4 секунды, на последнем osx

*на последнем macbook'e

Айбелив
02.04.2018
17:54:33
не, я такие наркотики ещё не пробовал. Интересно

bebebe
02.04.2018
17:54:33
ладно, впрочем забейте, уровень этого чатика понятен.

Илья
02.04.2018
17:55:52
ладно, впрочем забейте, уровень этого чатика понятен.
в этом чатике мало кто пилит gui, тк golang не про gui, чаще всего

bebebe
02.04.2018
17:58:35
Так в чем сложность? Нужен просто ui фреймворк, который умеет делать окна невидимыми или типа того
перечитайте вопрос, он заключался о кроссплатформенном механизме IPC, например в osx,linux я могу это решить при помощи unix сокетов, как это сделать в windows

bebebe
02.04.2018
18:07:40
Для таких задач придумали сворачивание программы в трей.
в моем случае это не подходит, в линуксе window manager'e может отсутствовать трей

Nik
02.04.2018
18:08:53
т.е. наносекунды
А нафиг float?

Илья
02.04.2018
18:25:37
Что float?

Nik
02.04.2018
19:44:08
Что float?
Да уже не важно. Я думал нафиг гистограммы в флоате. А это у прома все во флоате

Google
Constantine
02.04.2018
22:37:17
не читай, сразу юзай реформ

Александр
02.04.2018
22:43:20
шо тут?

Zver
03.04.2018
01:17:27
перечитайте вопрос, он заключался о кроссплатформенном механизме IPC, например в osx,linux я могу это решить при помощи unix сокетов, как это сделать в windows
В windows есть named pipe или CreateEvent/OpenEvent/SetEvent. Хотя это придется под каждую платформу писать свой код. Может проще слушать какой-нибудь порт и не мучиться.

Zver
03.04.2018
01:21:55
Для таких задач придумали сворачивание программы в трей.
В Винде формально, нет такого понятия сворачивания в трей. Просто делается невидимым окно и совсем отдельно реализуется общение с треем. Человеку достаточно закрыть окно или скрыть его.

спасибо
Установленное имя в них действует в пределах всей системы. Соответственно, если использовать Event, то сначала пытаетесь создать его с помощью OpenEvent, если получается, посылаете сигнал, если нет, создаете новое. Но данные через Event не передать. Если их надо, то тогда Pipe.

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
Все спасибо, что-то затупил

func NewUser(id int, name string) *User{ return &User{id:id,name:name: channel : make(chan string)} }
а это нормально, если передать указатель в функции-конструктор?

Google
Daniel
03.04.2018
07:53:39
А?!

Виктор
03.04.2018
07:53:41
мммм...еще раз? Я не понял вопроса

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: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
что бы понять где из огромного кол-ва мест она завершилась)

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 ретурн. но имхо оно уже давно устарело

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