Home
golang
golang@conference.jabber.ru
Пятница, 1 апреля 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:00:02] <Deirz> > спизжено
[00:00:10] <kpmý> хуясм предполагает скомпилированность уровня llvm)
[00:00:20] <kpmý> норм такой скрипт, да
[00:00:44] <postman> (хотя что не спизжено из лиспа в современной скриптопараше)
[00:01:02] <postman> нихуя, я читал диздок частично.
[00:01:37] <kpmý> уже тренируешься расставлять скобки в s-expr like ast? :D
[00:01:39] <Deirz> и чо там пишут?
[00:02:14] <postman> про то, что надо тренироваться расставлять скобки в текстовом представлении байт-кода.
[00:03:30] kpmý вошёл(а) в комнату
[00:04:01] <Deirz> kik
[00:04:13] <Deirz> вот прям так лиспобляди победили?
[00:04:34] <kpmý> идея спизжена у оберон-боя, кстати
[00:04:45] <postman> да нет, просто предлагается лисп-лайк синтаксис для дебага вроде.
[00:05:00] <postman> я эту часть не читал, я про байтики и семантику.
[00:05:59] <Deirz> а в семантике что?
[00:06:15] <Deirz> что там - байткод для универсальной vm?
[00:06:40] <postman> ага.
[00:07:01] <postman> я уже детали не помню, честно говоря.
[00:07:07] <postman> но инты есть, бгггггг.
[00:07:24] <postman> афтер файв йеарз он зэ ист коуст…
[00:07:47] <kpmý> ну там фишка в разделении ответственности за компиляцию
[00:08:16] <postman> как по мне - это главная фича, можно писать на том, на чем хочешь.
[00:08:39] <kpmý> с сервера на клиент летит ast в бинарном формате, а на клиенте превращается в нативный код платформы-песочницы
[00:08:40] <postman> жалко, что они зассали сразу проработать механизм взаимодействия с WebIDL.
[00:08:50] <Deirz> какой оригинальный способ убить флеш
[00:09:06] <postman> возрожденная жава, как сказал один знакомый пхпшник.
[00:09:18] <postman> жава-апплеты*
[00:09:22] <kpmý> да, то чем могла быть java
[00:09:24] <kpmý> в вебе
[00:09:40] <Deirz> как это будет взаимодействовать со страницей?
[00:09:54] <kpmý> dom api
[00:10:20] <kpmý> оно же описано языконезависимо
[00:11:07] <kpmý> ты в с++ импортируешь хидер, а оно потом просто линкует нужные сисколлы
[00:11:12] <kpmý> или браузер-колы
[00:11:17] <kpmý> уже трудно сказать
[00:11:48] <kpmý> плюсцы же первые получили возможность компиляции в wasm
[00:12:44] <kpmý> теперь хром официально будет гонять на моей машине произвольный бинарь из веба, вот оно будущее)
[00:13:17] <kpmý> интересно, будет ли cross page communication)
[00:13:35] <Deirz> "браузерколлы"
[00:13:39] <Deirz> уже припекает
[00:14:06] <Deirz> будущее, которое мы заслужили, чо
[00:14:32] <Deirz> ну хоть монополия жаваскрипта пошатнётся
[00:15:27] <kpmý> придётся в плюсах сделать $ валидным идентификатором :D
[00:15:46] <kpmý> чтобы не соснуть В ВЭБЭ
[00:16:14] <kpmý> $++
[00:17:43] kpmý вышел(а) из комнаты
[00:22:26] mantyr@jabberon.ru вышел(а) из комнаты: Replaced by new connection
[00:23:31] <azovcvb> любовь вебщиков к $ как бэ намекает...
[00:28:24] cheshir вышел(а) из комнаты
[00:28:25] avz вышел(а) из комнаты
[00:30:50] <postman> Deirz: DOM API описано в терминах WebIDL.
[00:31:02] <postman> так-то оно языконезависимое, по идее.
[00:31:43] <kms> к чему?
[00:31:43] <Deirz> а в html можно будет навешивать webasm обработчики&
[00:31:45] <Deirz> *?
[00:34:02] <azovcvb> и да настанет новая эра веба!
[00:35:09] <kms> к чему любовь вебщиков?
[00:35:19] <kms> что за $
[00:35:22] <postman> инлайн-хэндлеры вышли из моды еще в нулевых.
[00:36:45] <Deirz> lan
[00:37:45] <postman> (довольно забавно, что в реактовом дсле используется пародия на них)
[00:40:32] mantyr@jabberon.ru вошёл(а) в комнату
[00:42:47] <kpmý> пщ
[00:42:48] <xep> пщ!
[00:51:24] plumbum вышел(а) из комнаты
[00:52:58] <Deirz> вообще генератор интерпретаторов может оказаться лучше транспилеров потому, что живым разработчикам не придётся (в стандартном случае) взаимодействовать со сгенерированным кодом
[00:53:34] <Deirz> т.е. апи для работы с интерпретатором делается один раз вручную, детали реализации скрыты
[00:55:01] <Deirz> отладка сгенерированного кода почти всегда чёртов ад
[00:56:11] <postman> предполагается, что сгенерированный код безошибочен.
[00:57:24] mks2 вышел(а) из комнаты
[00:58:41] <kpmý> васян сгенерировал говнопретатор и уже успел выкатить в продукшон, а колян ебашит стейт-машину ручками, и уже готов к первому запуску заглушек для заглушек. куда сам сядешь куда мать посадишь?
[00:59:27] <Deirz> в моём случае отладкой кода будут заниматься в основном разработчики генератора интерпретаторов
[00:59:48] <Deirz> а интерпретатор сам по себе не очень большая штука и сложность у неё тоже специфическая
[01:00:01] <Deirz> транспилеры же обязаны переваривать код произвольной сложности
[01:00:19] <Deirz> и это будет уже код каких-то макак
[01:01:23] <Deirz> и когда макака пишет невалидный код, который каким-то образом проскакивает сквозь проверки транспилера и превращается в сгенерированный код, то макака получает стектрейс из сгенерированного кода
[01:03:39] ascrazy@jabber.ru вышел(а) из комнаты: Replaced by new connection
[01:03:40] ascrazy@jabber.ru вошёл(а) в комнату
[01:04:14] <kpmý> но при этом сгенерированный код работает со штатной скоростью хост-платформы, а интерпретатор будет тратить хост-циклы в пропорциях 1:10 минимум
[01:04:20] Magiq вышел(а) из комнаты
[01:04:55] <kpmý> ну и опять встаёт проблема сисколлов
[01:05:05] kms вышел(а) из комнаты
[01:05:15] <kpmý> в общем, no silver bullet
[01:05:56] kpmý вышел(а) из комнаты
[01:06:30] <Deirz> не надо cpu-bound задачи на скриптовом языке реализовывать
[01:07:04] <Deirz> скриптовый язык должен использоваться для склеивания модулей вместе да для управляющей логики
[01:07:51] <Deirz> или переходить на jit, благо статическая типизация позволит
[01:08:28] <Deirz> генератор jit-компиляторов уже слишком упорото, бтв
[01:18:05] krab вышел(а) из комнаты: Replaced by new connection
[01:18:06] krab вошёл(а) в комнату
[02:12:12] ascrazy@jabber.ru вышел(а) из комнаты: Replaced by new connection
[02:12:13] ascrazy@jabber.ru вошёл(а) в комнату
[02:19:12] Deirz вышел(а) из комнаты
[02:34:38] Deirz вышел(а) из комнаты
[03:56:04] <mantyr@jabberon.ru> Вы там что опять свой язык программирования хотите сделать?:) Нафиг?:)
[03:56:24] postman вышел(а) из комнаты: #xdca9;
[05:10:10] 5UN5H1N3 вошёл(а) в комнату
[05:34:01] krab вышел(а) из комнаты: Left Vacuum-IM
[06:34:30] krab вошёл(а) в комнату
[08:06:24] cheshir вошёл(а) в комнату
[08:08:19] ascrazy@jabber.ru вышел(а) из комнаты
[08:57:27] begemot_sun вошёл(а) в комнату
[09:34:27] avz вошёл(а) в комнату
[09:53:46] krab вышел(а) из комнаты: Left Vacuum-IM
[09:56:24] plumbum вошёл(а) в комнату
[10:10:58] avz вышел(а) из комнаты
[10:24:17] Magiq вошёл(а) в комнату
[10:29:43] ftrvxmtrx вошёл(а) в комнату
[10:48:34] kpmý вошёл(а) в комнату
[10:48:43] mks2 вошёл(а) в комнату
[11:06:05] kms вошёл(а) в комнату
[11:06:49] <kpmý> а кто тут ковырял ipfs?
[11:09:40] <cheshir> хм, интересная идея
[11:09:47] <cheshir> но я не ковырял :(
[11:26:52] kms вышел(а) из комнаты
[11:30:07] kms вошёл(а) в комнату
[12:04:27] unixlike вошёл(а) в комнату
[12:04:42] <unixlike> Hi there !
[12:05:16] <xep> xep there
[12:06:04] <unixlike> у меня тут вопрос возник , мы получается из вебсокета на стороне сервера можем прочитать только экземпляр структуры заранее известного типа ?
[12:06:28] <unixlike> я сейчас про метод websocket.JSON.Receive(ws, &data) говорю
[12:08:28] <kpmý> если там в глубине стандартный encoding/json то всегда можно прочитать данные в map[string]interface{}
[12:09:06] cheshir вышел(а) из комнаты: Replaced by new connection
[12:09:15] cheshir вошёл(а) в комнату
[12:09:46] <kpmý> или, например, скопировать байты в буфер, прочитать их в структуру с одним полем Type, а потом определить тип и уже по новой разобрать в нужную структуру нужного типа
[12:09:49] <unixlike> я просто хотел для начала преобразовать json в структуру которая состоит из одного единственного поля MessageType , а после этого теже данные  в зависимости от MessageType преобразовать в нужную мне структуру
[12:09:59] <kpmý> :-)
[12:10:16] <unixlike> астрал
[12:10:18] <kpmý> самое главное скопировать данные
[12:10:39] <kpmý> а то там reader скорее всего, для одноразового чтения
[12:10:50] <kpmý> точнее трудно сказать
[12:10:52] <unixlike> я тоже про это думаю
[12:11:04] <unixlike> kpmý : Спасибо !
[12:11:13] ermine вошёл(а) в комнату
[12:11:23] Laz вошёл(а) в комнату
[12:11:51] <kpmý> с другой стороны, можно всегда читать в map, а потом использовать какой-нибудь пакет типа mapstructure чтобы разобрать данные из map в структуру
[12:12:25] <kpmý> https://github.com/mitchellh/mapstructure
[12:18:25] <unixlike> либо все структуры преобразую к одному типу {"data_type":data_type,"data":{"key1":1,"key2":2}}
[12:19:21] <unixlike> а потом второе поле структуры которое строка буду преобразовывать в структуру определенного типа в зависимости от первого поля типа структуры
[12:20:11] <kpmý> ну если ты управляешь протоколом, то можно и так
[12:20:37] <unixlike> каким протоколом ?
[12:22:31] <kpmý> протоколом обмена информацией по вебсокету
[12:54:17] Deirz вошёл(а) в комнату
[13:04:32] <Deirz> можно перед сообщением слать заголовок, в котором будет указан тип следующего сообщения
[13:04:41] <Deirz> и, опционально, размер
[13:21:57] <azovcvb> в вебсокете же есть размер сообщения.
[13:23:48] <Deirz> тогда тип
[14:05:00] 5UN5H1N3 вышел(а) из комнаты
[14:11:21] ascrazy вышел(а) из комнаты
[14:24:21] ftrvxmtrx вышел(а) из комнаты
[14:30:13] <unixlike> я вот написал  , но нифига второе поле не унмаршалиться
[14:30:15] <unixlike> https://play.golang.org/p/KVPI10h_oJ
[14:31:33] <Deirz> почему у тебя там []byte?
[14:31:40] <Deirz> должен быть json.RawMessage
[14:31:54] <unixlike> при первом унмаршале , я получается чтобы он тот json который в переменной data распарсил как есть а потом уже внутри
[14:32:05] <unixlike> Deirz : Прикол , сейчас попробую
[14:33:49] <unixlike> а это получается тот же тип []byte но еще с навешенными на него методами
[15:17:20] <unixlike> ну всё ништяк !
[15:17:25] <unixlike> Deirz: Спасибо !
[15:41:41] <azovcvb> кстати, у вас не тормозит десериализация json?
[15:43:21] <kms> тормозит, ибо оно на пщ
[15:43:41] <kms> если ты заранее знаешь структуру, напиши свой десериализатор
[15:43:47] <kms> будет быстрее
[15:43:54] <Laz> есть же какая-то библиотечка
[15:43:57] <Laz> типа superjson
[15:44:05] <kpmý> easy
[15:44:21] <Laz> ну или так
[15:44:33] <Laz> когда-то давно мелькала в ML
[15:44:40] <Laz> когда я его ещё читал...
[15:44:53] <azovcvb> там используется рефлекшн небось для десериализации.. В этом самомо Г-о.
[15:45:01] <Laz> ну да
[16:18:04] dzendmitry вошёл(а) в комнату
[16:20:36] mks2 вышел(а) из комнаты
[16:27:57] mks2 вошёл(а) в комнату
[16:48:24] begemot_sun вышел(а) из комнаты: Replaced by new connection
[16:56:51] kpmý вышел(а) из комнаты
[16:57:01] ftrvxmtrx вошёл(а) в комнату
[16:59:26] Magiq вышел(а) из комнаты
[16:59:32] Magiq вошёл(а) в комнату
[17:21:46] Magiq вышел(а) из комнаты: Replaced by new connection
[17:21:46] unixlike вышел(а) из комнаты
[17:23:07] Deirz вышел(а) из комнаты: Disconnected
[17:23:07] Deirz вошёл(а) в комнату
[17:33:23] 5UN5H1N3 вошёл(а) в комнату
[17:47:47] <mantyr@jabberon.ru> :) https://habrahabr.ru/company/tm/blog/280682/
[17:50:57] ftrvxmtrx вышел(а) из комнаты
[18:01:01] Deirz вышел(а) из комнаты
[18:01:03] Deirz вошёл(а) в комнату
[18:11:04] Kittycat вошёл(а) в комнату
[18:17:39] 5UN5H1N3 вышел(а) из комнаты: Replaced by new connection
[18:17:42] <Deirz> test
[18:17:42] Kittycat вышел(а) из комнаты
[18:18:36] ermine вышел(а) из комнаты
[18:18:43] ermine вошёл(а) в комнату
[18:38:55] Laz вышел(а) из комнаты
[18:39:44] ftrvxmtrx вошёл(а) в комнату
[18:40:37] <mantyr@jabberon.ru> Не прошёл ты тест, давай снова:)
[19:50:36] ascrazy@jabber.ru вошёл(а) в комнату
[19:50:41] plumbum вышел(а) из комнаты
[19:52:40] <ascrazy@jabber.ru> ну капец
[19:53:03] <ascrazy@jabber.ru> надо бросать работу програмизда и писать высеры на хабр
[19:53:39] <ascrazy@jabber.ru> 150к / 5к = 30
[19:54:00] <ascrazy@jabber.ru> один высер в день обеспечивает зарплату среднего програмизда
[20:09:38] postman вошёл(а) в комнату
[20:09:57] <postman> го на ютуб.
[20:10:04] <postman> делать обзоры на ЯП и фреймворки.
[20:10:10] <postman> вот где золотая жила.
[20:10:18] <azovcvb> летсплеи
[20:10:23] <postman> точно.
[20:10:37] <azovcvb> зритель любит онлайн страдания автора
[20:11:21] <postman> за донат на канале можно будет послать рандомный сигнал серверу.
[20:11:34] <postman> вплоть до SIGKILL за 1к руснявых.
[20:12:47] <azovcvb> а за 100к зеленых переписать все на любом указанном ЯП.
[20:21:53] 5UN5H1N3 вошёл(а) в комнату
[20:27:43] ascrazy@jabber.ru вышел(а) из комнаты
[20:40:42] ermine вышел(а) из комнаты
[20:40:51] ermine вошёл(а) в комнату
[20:42:47] ascrazy@jabber.ru вошёл(а) в комнату
[20:51:31] Deirz вошёл(а) в комнату
[20:52:34] kpmý вошёл(а) в комнату
[20:54:10] Deirz вышел(а) из комнаты
[20:57:32] <kpmý> я как-то смотрел стрим где нотч пилил майнкрафт
[20:57:41] <kpmý> душераздирающе
[21:01:43] postman вышел(а) из комнаты
[21:11:36] <ascrazy@jabber.ru> azovcvb: на whitespace
[21:11:40] <ascrazy@jabber.ru> или на хачкеле
[21:11:43] <ascrazy@jabber.ru> хз даже что хуже
[21:17:07] <azovcvb> на whitespace исходники показывать не так стыдно потом будет..
[21:20:55] avz вошёл(а) в комнату
[21:26:41] Deirz вошёл(а) в комнату
[21:29:42] Deirz вышел(а) из комнаты
[21:32:20] kpmý вышел(а) из комнаты
[21:49:53] krab вошёл(а) в комнату
[21:53:50] krab вышел(а) из комнаты: Replaced by new connection
[21:53:51] krab вошёл(а) в комнату
[21:58:59] plumbum вошёл(а) в комнату
[22:06:17] Deirz вошёл(а) в комнату
[22:10:27] kpmý вошёл(а) в комнату
[22:10:42] <kpmý> что может значить строка LBHARRQGBTBQRRCRE
[22:12:25] <Deirz> откуда ты её взял?
[22:12:58] <kpmý> из первоапрельского задания люксофта
[22:13:15] <kpmý> там запароленный 7z архив и эта строка в файле
[22:13:59] <Deirz> rot13 попробуй
[22:14:58] <kpmý> ебать ты мозг)
[22:15:57] <kpmý> да, подошёл код
[22:15:59] <Deirz> что получилось?
[22:16:02] <kpmý> прикольно
[22:16:06] <kpmý> YOUNEEDTOGODEEPER
[22:16:11] <Deirz> лол
[22:16:16] <kpmý> теперь там ещё архив
[22:16:31] <kpmý> и видимо md5 716fe9839f6721279343bd6e3c2b4f3c
[22:16:51] <Deirz> кажется, md5 длиннее
[22:17:17] <Deirz> ан нет, такой
[22:17:33] <kpmý> spaceport
[22:17:41] <kpmý> декриптнул
[22:21:14] <kpmý> пиздец говнокодеры, закрыл страницу в бровсере и теперь не могу залогиниться обратно
[22:25:40] <kpmý> бобик сдох
[22:41:20] kpmý вышел(а) из комнаты
[22:44:18] Kittycat вышел(а) из комнаты
[22:44:50] Kittycat вошёл(а) в комнату
[22:50:16] ermine вышел(а) из комнаты
[23:24:18] mantyr@jabberon.ru вышел(а) из комнаты
[23:26:53] avz вышел(а) из комнаты
[23:37:44] 5UN5H1N3 вышел(а) из комнаты
[23:38:35] mantyr@jabberon.ru вошёл(а) в комнату
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!