Home
golang
golang@conference.jabber.ru
Воскресенье, 24 апреля 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:02:08] ermine вышел(а) из комнаты
[00:08:54] avz вышел(а) из комнаты
[00:09:08] kpmý вошёл(а) в комнату
[00:16:42] <kpmý> пщ
[00:16:43] <xep> пщ!
[00:20:26] avz вошёл(а) в комнату
[00:41:30] avz вышел(а) из комнаты
[00:50:20] kpmý вышел(а) из комнаты
[01:09:07] plumbum вышел(а) из комнаты
[01:32:32] mks2 вышел(а) из комнаты
[02:47:13] dzendmitry вышел(а) из комнаты
[03:06:33] postman вышел(а) из комнаты
[04:29:01] Deirz вышел(а) из комнаты
[05:30:37] krab вышел(а) из комнаты: Replaced by new connection
[05:30:37] mantyr@jabberon.ru вышел(а) из комнаты
[05:30:38] krab вошёл(а) в комнату
[06:09:45] mantyr@jabberon.ru вошёл(а) в комнату
[08:12:56] begemot_sun вошёл(а) в комнату
[08:15:30] avz вошёл(а) в комнату
[08:16:24] krab вышел(а) из комнаты: Left Vacuum-IM
[08:17:23] mantyr@jabberon.ru вышел(а) из комнаты
[09:02:24] avz вышел(а) из комнаты
[09:45:54] plumbum вошёл(а) в комнату
[10:00:56] aquarium вышел(а) из комнаты: Вышел из Vacuum-IM
[10:18:29] ermine вошёл(а) в комнату
[10:19:54] mantyr@jabberon.ru вошёл(а) в комнату
[10:45:37] krab вошёл(а) в комнату
[10:48:54] mantyr@jabberon.ru вышел(а) из комнаты
[10:52:31] aquarium вошёл(а) в комнату
[11:01:12] begemot_sun вышел(а) из комнаты
[11:08:37] krab вышел(а) из комнаты: Left Vacuum-IM
[11:53:54] cheshir вошёл(а) в комнату
[11:56:19] krab вошёл(а) в комнату
[12:46:17] krab вышел(а) из комнаты: Left Vacuum-IM
[13:50:14] postman вошёл(а) в комнату
[13:50:38] <postman> > https://play.golang.org/p/BnumPW7nwv
[13:50:43] <postman> > с т р о к а
[13:50:47] <postman> ну и говнище.
[14:20:12] cheshir вышел(а) из комнаты: Replaced by new connection
[14:20:13] cheshir вошёл(а) в комнату
[14:23:10] kpmý вошёл(а) в комнату
[14:23:54] <Deirz> ты опять пытаешься послать сообщение в закрытый канал?
[14:23:55] <kpmý> constant error ну
[14:24:16] <Deirz> а
[14:24:41] <Deirz> строка да, константная
[14:25:18] <kpmý> https://github.com/kpmy/ypk/blob/master/tc/error.go#L3
[14:25:37] <postman> ладно уж о том, что никакой информации о канале.
[14:25:47] <postman> но оно даже нигде не определено, я думаю.
[14:25:55] <postman> в runtime нет, по крайней мере.
[14:28:55] <kpmý> как-то не ок, когда любая шлюха может закрыть канал
[14:30:02] <Deirz> шлюхам можешь передавать каналы из которых можно только читать
[14:30:32] <kpmý> дак в этом и проблема, в момент записи не определить, открыт канал или закрыт
[14:30:45] <Deirz> как time.After
[14:31:03] <Deirz> в момент записи канал обязан быть открыт
[14:31:17] <kpmý> а если ты передал канал, а его закрыли там?
[14:31:50] <Deirz> передавай <-chan WTF
[14:31:55] <Deirz> тогда не закроют
[14:32:04] <postman> бля лол.
[14:32:18] <postman> есть клиент, у него горутина, которая пишет ему ответ.
[14:32:44] <postman> если клиент таймаутится/отключается, горутина чтения закрывает канал, чтобы горутина записи вышла из цикла.
[14:33:04] <postman> но горутины, которые посылают сообщения в канал записи, нихуя об этом не знают-то.
[14:34:11] <postman> да, можно переделать горутину записи в селект из канала записи и канала quit: chan bool, например, и вообще не закрывать канал на запись.
[14:34:24] <postman> но тогда когда он вообще соберется сборщиком, блядь?
[14:34:43] <Deirz> канал - это просто значение
[14:34:51] <kpmý> Deirz: а как писать в такой канал?
[14:34:55] <Deirz> если на него перестают ссылаться он закрывается
[14:34:58] <Deirz> kpmý, никак
[14:35:02] <Deirz> бля
[14:35:09] <postman> и все посылающие сообщения горутины до сих пор ссылаются на него и виснут на записи.
[14:35:10] <Deirz> если на канал перестают ссылаться он собирается
[14:35:22] <Deirz> сделай буферизованный канал
[14:35:31] <postman> повиснут, когда буфер кончится.
[14:35:43] <Deirz> и как только буфер забивается считай клиента мёртвым
[14:35:50] <Deirz> и не пиши туда больше
[14:35:56] <postman> хуйня.
[14:36:14] <postman> если тупо не успевает обрабатывать?
[14:36:15] <Deirz> на самом деле нет
[14:36:29] <postman> можно конечно и в посылке сделать селект.
[14:36:37] <postman> вообще обмазать все очко селектами.
[14:36:40] <Deirz> медленные клиенты должны нахуй идти
[14:36:52] <postman> но нахуй тогда goвно нужно, если писать на нем - такой геморрой?
[14:36:55] <Deirz> обычно
[14:37:50] <postman> тут не клиент медленный, а горутина, например, не получает достаточно времени.
[14:38:20] <Deirz> у тебя уже тормозит?
[14:38:25] <postman> опять же, при проверке len() канала возникает гонка, если я правильно помню.
[14:38:33] <postman> нет, у меня горутины крашатся.
[14:39:28] <postman> мне легче рекавер сделать, я думаю, я просто веду отвлеченный разговор про архитектуру в goвне.
[14:39:41] <postman> конфа-то именно для этого.
[14:39:44] <Deirz> говнокодером растёшь
[14:39:49] <postman> тут не стековерфлоу, блядь.
[14:39:59] <postman> обоснуй.
[14:40:30] <Deirz> проблема медленных клиентов имеет много общего с проблемой дохлых клиентов
[14:40:54] <Deirz> дохлые клиенты - это даже частный случай медленных клиентов
[14:42:22] <Deirz> медленных клиентов могут позволить себе только те, кто обязан доставить сообщения любой ценой
[14:42:29] <Deirz> все остальные медленных клиентов дропают
[14:43:27] <Deirz> самый естественный способ определить и дропнуть медленного клиента - дать ему буферизованный канал и дропнуть, если канал забьётся
[14:43:49] <postman> я не то что не могу позволить дропать клиентов, я похоже еще и должен принимать определенный вид сообщений к **еще не подключенным клиентам**.
[14:43:51] <Deirz> бтв горутина при чтении из буферизованного канала может не засыпать, если там значения есть
[14:47:21] <kpmý> короче единственный выход - не закрывать анал
[14:47:47] <Deirz> эти сообщения можно скидывать куда-нибудь в другое место
[14:48:04] <Deirz> промежуточную горутину сделать там
[14:50:01] <postman> а потом еще промежуточную горутину для промежуточной горутины и т.д.
[14:50:16] <postman> в пизду, в выходной забивать себе голову этим говном.
[14:50:27] <Deirz> скинуть в отдельный слайс, который сервер сам передаст горутине-обработчику при коннекте нужного клиента итд
[14:50:40] <kpmý> я кстати сначала не знал про close, поэтому заебенил ctrl анал
[14:50:48] <Deirz> нахуя ты вообще работаешь в выходные?
[14:50:50] <kpmý> ведь понятно, что не закрыть
[14:50:53] <postman> я не работаю.
[14:50:57] <postman> я просто поплакать пришел.
[14:58:45] <Deirz> ох уж этот жестокий субъективный опыт работы
[14:58:54] <kpmý> а если две рутины закроют канал одновременно?
[14:59:08] <postman> одновременно не бывает.
[14:59:11] <Deirz> two goroutines enter one goroutine leave
[15:05:00] cheshir вышел(а) из комнаты
[15:26:29] Darth Лис вошёл(а) в комнату
[15:29:39] <Darth Лис> чо как дела, чо нового
[15:31:12] <kpmý> закрываем каналы и грустим
[15:55:42] <Deirz> Darth Лис, а ты как?
[15:56:08] <Darth Лис> туда-сюда норм :)
[15:56:16] Darth Лис вышел(а) из комнаты
[16:15:08] Deirz вошёл(а) в комнату
[16:59:06] kpmý вышел(а) из комнаты
[17:01:58] plumbum вышел(а) из комнаты
[17:18:53] Darth Лис вошёл(а) в комнату
[17:22:52] <Darth Лис> сижу вот размышляю, куда бы на море податься
[17:23:40] <Darth Лис> кто нибудь в Черногории бывал?
[17:24:47] kpmý вошёл(а) в комнату
[17:25:12] <postman> в крым
[17:25:55] <Darth Лис> хуим :D
[17:26:13] <Darth Лис> советский сервис есть и рядом со мной
[17:26:53] <Deirz> некий мтрескин постит фоточки из черногории
[17:27:12] <Deirz> Darth Лис: на море собираешься когда программировать надо!
[17:27:22] <Darth Лис> нихуя мне не надо
[17:27:24] <Darth Лис> я безработный
[17:27:30] <Darth Лис> чо хочу, то и делаю
[17:27:42] <Deirz> ну вот видишь
[17:27:56] <Deirz> работа не будет отвлекать от реализации собственных проектов
[17:29:37] <postman> альфонс?
[17:29:56] <kpmý> мтрескин это зерт чтоли
[17:32:25] <kpmý> знатный поуех
[17:35:27] <Darth Лис> знатный кто?
[17:35:47] <kpmý> тот кто поуехал
[17:35:57] <kpmý> антоним к понаех
[17:37:43] 5UN5H1N3 вошёл(а) в комнату
[17:51:31] avz вошёл(а) в комнату
[18:00:33] Darth Лис вышел(а) из комнаты
[18:01:10] postman вышел(а) из комнаты
[18:20:41] Darth Лис вошёл(а) в комнату
[18:26:42] plumbum вошёл(а) в комнату
[18:56:31] avz вышел(а) из комнаты
[19:21:58] aquarium вышел(а) из комнаты: Вышел из Vacuum-IM
[19:40:56] mantyr@jabberon.ru вошёл(а) в комнату
[20:07:16] aquarium вошёл(а) в комнату
[20:08:15] plumbum вышел(а) из комнаты
[20:09:14] Darth Лис вышел(а) из комнаты
[20:09:20] plumbum вошёл(а) в комнату
[20:18:03] 5UN5H1N3 вышел(а) из комнаты
[20:19:25] plumbum вышел(а) из комнаты
[20:19:49] plumbum вошёл(а) в комнату
[20:28:47] avz вошёл(а) в комнату
[20:36:36] <aquarium> привет!
[20:38:12] <xep> привет!
[21:04:16] radioqt вошёл(а) в комнату
[21:05:58] <radioqt> привет!
[21:06:20] <kpmý> привет!
[21:33:16] krab вошёл(а) в комнату
[21:45:05] <kpmý> вот такая шняга +.+.+.+.>+.<.-.
превращается в https://gist.github.com/kpmy/86b5b438f6e67a5f4ca673fc5c4b3cab
[21:47:23] <kpmý> и даже работает в интерпретаторе референсном
[21:56:01] <radioqt> нужно ещё больше скобочек!
[21:57:16] <kpmý> )))))
[22:06:32] radioqt вышел(а) из комнаты
[22:39:30] <kpmý> норм короче, wasm работает, заебенил цомпилятор brainfuck за вечер
[22:54:45] ermine вышел(а) из комнаты
[23:20:00] <Deirz> ну воще
[23:20:31] <Deirz> а в браузере уже работает?
[23:29:38] <kpmý> у меня нет ни одного в наличии)
[23:30:24] <kpmý> я пока ориентируюсь на референсный интерпретатор
[23:30:58] <Deirz> ого
[23:31:12] <Deirz> в вебе спеку приняли до реализации?
[23:32:27] azovcvb вошёл(а) в комнату
[23:34:45] <kpmý> короче, там интересно, есть обсуждение стандарта, есть его идеальное воплощение на камле, есть аналог этого идеала на плюсцах, этот аналог используется для патча v8, а патченый v8 уже используется в хромиуме и ноде
[23:34:55] <kpmý> обсуждение и реализация как бы разнесены
[23:35:46] <kpmý> и у них там есть milestones которые отражаются на реализации, и пока всё ещё зыбко, не в релизе, короч
[23:35:49] kms вышел(а) из комнаты
[23:38:58] <kpmý> ну например, за неделю, которую я пилил свой генератор, у них пара инструкций сменила название
[23:40:39] Magiq вошёл(а) в комнату
[23:51:32] <Deirz> кек
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!