Home
golang
golang@conference.jabber.ru
Суббота, 9 апреля 2016< ^ >
Deirz установил(а) тему: Go Programming Language.
|| Изучаем: https://gobyexample.com/
|| Тур: http://tour.golang.org/
|| Как писать код: http://golang.org/doc/code.html
|| Как писать эффективный код: http://golang.org/doc/effective_go.html
|| FAQ: http://golang.org/doc/faq
|| 99% ответов о языке Go тут: http://golang.org/ref/spec
|| Сторонние либы: http://godoc.org/ https://github.com/avelino/awesome-go
|| Логи: http://chatlogs.jabber.ru/golang@conference.jabber.ru/
|| This chatroom does not adhere to any codes of conduct, be they implied or explicitly stated by someone. Your feelings can and WILL be hurt without a warning.
Конфигурация комнаты
Участники комнаты

GMT+3
[00:21:39] begemot_sun вышел(а) из комнаты
[00:30:24] ftrvxmtrx вышел(а) из комнаты
[00:49:14] ftrvxmtrx вошёл(а) в комнату
[00:52:07] ermine вышел(а) из комнаты
[01:37:07] <Deirz> https://www.youtube.com/watch?v=cRGu1OBFPrc открытка скризи
[01:44:45] dzendmitry вошёл(а) в комнату
[01:49:59] plumbum вышел(а) из комнаты
[01:53:02] <mantyr@jabberon.ru> Эй… кто-нибудь из здесь присутствующих участвует в этом?:) http://golangshow.com/episode/2016/04-07-051/
[01:53:23] <mantyr@jabberon.ru> А то закралось сомнение что там не только со слака:)
[02:04:57] <postman> Deirz: чо.
[02:07:33] <Deirz> postman, чо - чо?
[02:09:33] Deirz вышел(а) из комнаты
[02:10:13] Deirz вошёл(а) в комнату
[02:28:24] <postman> не понял, как связаны калькуляторы и асмрази.
[02:40:14] <Deirz> он же нелюбитель восхищаться чудесами инженерной мысли
[03:06:29] dzendmitry вышел(а) из комнаты
[03:06:30] dzendmitry вошёл(а) в комнату
[03:12:08] dzendmitry вышел(а) из комнаты
[03:54:18] kms вышел(а) из комнаты
[03:55:53] Deirz вышел(а) из комнаты
[04:17:03] mantyr@jabberon.ru вышел(а) из комнаты
[05:15:54] mantyr@jabberon.ru вошёл(а) в комнату
[06:55:29] ascrazy@jabber.ru вошёл(а) в комнату
[07:00:52] <ascrazy@jabber.ru> Deirz: чото я нихуя не понял про чудеса инженерной мысли
[07:01:03] <ascrazy@jabber.ru> с чего ты взял что я не любитель?
[07:30:13] mantyr@jabberon.ru вышел(а) из комнаты
[07:37:19] plumbum вошёл(а) в комнату
[07:48:04] postman вышел(а) из комнаты
[08:03:41] ascrazy@jabber.ru вышел(а) из комнаты
[08:56:58] krab вошёл(а) в комнату
[09:39:41] mks2 вошёл(а) в комнату
[10:35:40] krab вышел(а) из комнаты: Replaced by new connection
[10:35:41] krab вошёл(а) в комнату
[10:36:47] kpmý вошёл(а) в комнату
[10:59:22] ermine вошёл(а) в комнату
[11:01:24] begemot_sun вошёл(а) в комнату
[11:11:32] <kpmý> пщ
[11:11:33] <xep> пщ!
[11:40:25] kpmý вышел(а) из комнаты
[11:42:26] kpmý вошёл(а) в комнату
[12:11:59] ermine вышел(а) из комнаты: Replaced by new connection
[12:12:00] ermine вошёл(а) в комнату
[12:52:04] <kpmý> сделать go за деньги и раздавать его всем бесплатно, в чем профит?
[13:12:01] kpmý вышел(а) из комнаты
[13:52:00] kpmý вошёл(а) в комнату
[14:20:51] kpmý вышел(а) из комнаты
[14:56:21] <Deirz> ой, наоборот - любитель
[15:38:54] ascrazy@jabber.ru вошёл(а) в комнату
[15:39:29] ascrazy@jabber.ru вышел(а) из комнаты
[15:40:48] Deirz вошёл(а) в комнату
[16:03:03] mantyr@jabberon.ru вошёл(а) в комнату
[16:26:10] kms вошёл(а) в комнату
[16:35:10] kpmý вошёл(а) в комнату
[16:35:57] plumbum вышел(а) из комнаты
[16:55:00] kpmý вышел(а) из комнаты
[18:19:09] kpmý вошёл(а) в комнату
[18:20:39] <kpmý> карма -130, спасибо илону маску за это!
[18:48:43] kpmý вышел(а) из комнаты
[19:21:42] ascrazy@jabber.ru вошёл(а) в комнату
[19:22:03] <ascrazy@jabber.ru> kpmy кармадрочер?
[19:22:32] krab вышел(а) из комнаты: Left Vacuum-IM
[20:15:57] kpmý вошёл(а) в комнату
[20:16:10] <kpmý> ага
[20:19:29] <ascrazy@jabber.ru> kpmý: профит гуглу в дешевой рабсиле
[20:22:07] <kpmý> мы же не в гугле
[20:22:21] <kpmý> а пользуемся бесплатно
[20:22:44] <kpmý> ещё и работу можем найти, где тоже пользуются бесплатно и даже что-то зарабатывают
[20:22:58] <kpmý> гугл же не встроит рекламу в компилятор, лол
[20:23:11] <ascrazy@jabber.ru> так пользуешься и учишься, а потом пойдешь в гугл работать
[20:23:45] <kpmý> чот не зовут)
[20:23:49] <ascrazy@jabber.ru> открытость платформы это же главный залог успеха
[20:23:56] <ascrazy@jabber.ru> открытость во всех смыслах
[20:24:02] <ascrazy@jabber.ru> джава всем показала
[20:24:15] <ascrazy@jabber.ru> и веб))
[20:27:11] <kpmý> дак это ж давно было, сейчас времена не те
[20:29:45] <ascrazy@jabber.ru> чойта не те?
[20:30:03] <ascrazy@jabber.ru> что поменялось?
[20:30:24] <kpmý> уже есть куча других платформ которые поделили поляну лет пять назад
[20:30:39] <ascrazy@jabber.ru> каких?
[20:30:53] <kpmý> та же джава
[20:30:59] <kpmý> плюсцы руби хуюби
[20:31:16] <ascrazy@jabber.ru> так все открытые
[20:31:28] <Deirz> почему "дешёвой"?
[20:31:47] <ascrazy@jabber.ru> из закрытых только шиндовс-стек есть, и то он выжил только благодаря монополии m$
[20:32:18] <kpmý> ну так я и говорю, зачем делать ещё одну за свой счёт и всем раздавать
[20:32:40] <ascrazy@jabber.ru> так с джавкой то не вышло
[20:32:52] <ascrazy@jabber.ru> оракл выебал с пердачело
[20:32:55] <ascrazy@jabber.ru> и еще хочет
[20:33:09] <ascrazy@jabber.ru> а других и не видно
[20:33:15] <ascrazy@jabber.ru> только скриптопарашка всякая
[20:46:33] <mantyr@jabberon.ru> Так… делема… есть type S struct {d map[string]string}. Если делаем GET/SET то понятно, надо RWMutex. Но если func (s S) Get() внутри функции получает копию S целиком то нормально ли это работает если одновременно с этим будет func (s *S) Set() модифицировать S.d[] … как оно там устроено в этом плане?
[20:47:05] <mantyr@jabberon.ru> Безопасно ли получать копию данных через func (s S) Get без локов?
[20:49:54] <mantyr@jabberon.ru> Отправьте в нужный кусок документации…
[20:51:05] <Deirz> у тебя будет копия S, ссылающаяся на тот же самый инстанс d
[20:51:34] <mantyr@jabberon.ru> Поясни.
[20:51:48] kpmý вышел(а) из комнаты
[20:51:48] <mantyr@jabberon.ru> type S struct {d map[string]string} - здесь без поинтеров.
[20:52:11] <mantyr@jabberon.ru> Суть в том что я пишу в S.d[] конкурентно.
[20:52:55] <mantyr@jabberon.ru> Если делать func (s *S) Get() то внутри должны быть s.RLock() s.RUnlock()
[20:53:09] kpmý вошёл(а) в комнату
[20:53:18] <mantyr@jabberon.ru> Вопрос - будет ли безопасно делать func (s S) Get без s.Rlock, s.RUnlock() внутри?
[20:53:54] krab вошёл(а) в комнату
[20:53:56] <mantyr@jabberon.ru> Сейчас сделаю пару тестов.
[20:56:37] <kpmý> ДЕЛЕМА
[20:57:30] <mantyr@jabberon.ru> http://play.golang.org/p/fiGiPgHX3t
[20:57:52] <mantyr@jabberon.ru> Чтож, похоже делать func (s S) Get не безопасно…
[21:00:17] kpmý вышел(а) из комнаты
[21:03:55] kpmý вошёл(а) в комнату
[21:11:28] krab вышел(а) из комнаты: Replaced by new connection
[21:11:30] krab вошёл(а) в комнату
[21:28:35] MaXGGXaM вышел(а) из комнаты: Вышел из Vacuum-IM
[21:31:59] kms вышел(а) из комнаты
[21:32:03] mcarrowd вошёл(а) в комнату
[21:33:01] mcarrowd вышел(а) из комнаты
[21:33:24] mcarrowd вошёл(а) в комнату
[21:45:49] plumbum вошёл(а) в комнату
[21:47:41] plumbum вышел(а) из комнаты
[21:47:54] plumbum вошёл(а) в комнату
[22:32:39] kms вошёл(а) в комнату
[22:35:12] begemot_sun вышел(а) из комнаты
[22:40:21] begemot_sun вошёл(а) в комнату
[22:44:20] ermine вышел(а) из комнаты
[22:51:13] <Deirz> потому что мапы - ссылочные типы
[22:51:14] azovcvb вышел(а) из комнаты
[22:52:04] <Deirz> когда ты присваиваешь переменную-мапу другой мапе, то ты не делаешь копию этой мапы, ты только копируешь ссылку на исходную мапу
[22:59:13] <mantyr@jabberon.ru> Ага. Тест это собственно на практике и показал.
[22:59:34] <mantyr@jabberon.ru> Написал себе новые конфиги на Golang.
[23:01:35] <mantyr@jabberon.ru> Раньше использовал goconf/conf но задолбало. Решил свои таки с нуля сделать.
[23:04:13] azovcvb вошёл(а) в комнату
[23:48:11] ascrazy@jabber.ru вышел(а) из комнаты
[23:50:03] <kpmý> сразу бы язык программирования написал, чо ты
[23:50:24] <kpmý> или хотрелоад для пщ
[23:50:35] <kpmý> а то конфиги-конфиги
[23:50:57] <mantyr@jabberon.ru> Во первых написать свой язык программирования с практической точки зрения - задача крайне не тривиальная и архисложная. Так что лучше я на Golang пока останусь:)
[23:52:07] <mantyr@jabberon.ru> Что ты под hotreload предполагаешь?:) Например kill -HUP `cat ${pidfile}` &>/dev/null для перезакачки конфигов?:)
[23:52:32] <mantyr@jabberon.ru> Или замену одного бинарника на другой во время работы?:) Без потери сокетов?:)
[23:53:09] <mantyr@jabberon.ru> Была статья о том как передать сокеты другому бинарнику. Но так сходу не вспомню где лежало. В планах было уже давно, но практической пользы пока не вижу.
[23:57:53] <kpmý> В забытом всеми маргинальном фреймворке 95-го года выпуска был ручной релоад модулей (ака пакетов) просто по вызову процедуры с названием модуля (Unload("MyShit") без остановки приложения, без потери сокетов. Хочешь сохранить сокет - просто скинь указатель во временное хранилище и получи уже в новой загруженной версии модуля. И это не джава, это нормальный бинарный кот.
Видимо, в 2016-м люди уже о таком и не мечтают. Жаль
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!