Илья
надеюсь описание написано понятно, если в ней какие-либо неясности то конечно я рад принять критику дабы её улучшить
Рассказите подробнее об этих фишках: как ими пользовать, как кастомизировать, можно ли без них обойтись, и если можно, то зачем при этом ваша либа
Илья
Поостите за опечатки
Roman
Поверх gorilla/websocket?
мы использовали её в качестве backend'а для быстрой итерации, возможно заменим чем-то более легковесным в будущем ибо фаза опцимизации ещё не началась
Roman
Рассказите подробнее об этих фишках: как ими пользовать, как кастомизировать, можно ли без них обойтись, и если можно, то зачем при этом ваша либа
так я-ж вроде пояснил прям в заголовке: "WebWire provides a compact set of useful features that are not available and/or cumbersome to implement on raw WebSockets such as Request-Reply, Sessions, Thread-safety etc."
Илья
Я спосил подробности) как пользоваться, кастомизировать, обязательно ли вообще, и есть ли плюс от либы если ею пользоваться, но не пользоваться расширенным функционалом
Roman
Я спосил подробности) как пользоваться, кастомизировать, обязательно ли вообще, и есть ли плюс от либы если ею пользоваться, но не пользоваться расширенным функционалом
однозначно есть, как и описано в описании - она облегчает работу с вебсокетами поскольку добавляет поверх них удобный интерфейс
Roman
Илья
Ок, потыкаю, потом более предметно напишу)
G72K
и утечки памяти
Как будто го не течет
Daniel
в классическом понимании не течет - gc не дает
G72K
Понимание одно - программист накосячил, память пухнет.
Daniel
ой ли?
🏁Александр
шо тут у вас?
🏁Александр
уже втянули ком. состав в холивар?
Roman
Поздравляю с релизом! Два вопроса. 1) зачем UTF16 ? 2) есть годная обёртка для горилки https://github.com/olahol/melody Можете навскидку сказать, что у вас сверх того, что есть там?
1. для безшовной поддержки JavaScript'а, ибо там строки по умолчанию UTF16 2. нам лично не хватало абстракции над "простыми сообщениями". Конкретно не хватало request-reply топологии и аутентификации и всё это с безшовной поддержкой JavaScript. наша библиотека не просто безшовно реализует request-reply на JS -> Go по вебсокетам но и так-же авто-синхронизирует сессии на клиент.
G72K
ой ли?
Нет никакой разницы между "программист не почистил все ссылки" и "программист не вызвал free", не в языке дело
Daniel
вообще-то есть, и очень важная
Daniel
сами вспомните, или показать?
G72K
Покажите
Daniel
те ссылки, которые мы "потеряли" в go - мы не потеряли на самом деле, мы легко найдем структуру, которая их держит, и сможем понять, почему.
G72K
И? Мы ж не говорим о том, как исправить. Память течет по вине программиста и ни Го ни С тут не причем.
Daniel
течет - это другое
Daniel
в классическом понимании
Daniel
я понимаю, что "какая в жопу разница". но - она есть, хотите вы того, или нет
Quet
товарищ верно говорит го тоже вполне себе течет
Quet
но мест где можно так ошибиться конечно меньше чем в сях
Daniel
а дайте определение утечки, что ли
Quet
приложение не освобождает какой-нибудь ресурс и в итоге падает когда эти ресурсы заканчиваются
Daniel
этак вы любую нормальную работу утечкой назовете
Quet
но к чему эта демагогия, ни разу не попадалась ситуация когда «забыл вызвать Close и в итоге пришёл оом-киллер»?
Daniel
еще раз - это не утечка
Quet
в какой-нибудь альтернативной реальности - возможно и не утечка
Daniel
поробуйте-ка еще раз
Quet
угу, у вас такое поведение с завершением по оом киллеру наверное называется «нормальная работа»
Quet
ведь какому-то выдуманному определению утечки не соответствует )
Daniel
ООМ килер случается и безошибочные программы убивает. так что его недостаточно для определения утечки
Quet
жду откровений что забытый Close это не ошибка )
Quet
с выводами что программа безошибочная и ничего не течёт
Daniel
о как 1. я попросил у вас определение 2. вы выдали очевидно негодное 3. я вам на это указал и попросил другое, чтобы и вашим представлениям и реальности соответствовало 4. теперь вы ждете откровений не пора ли на денек в RO?
Daniel
hint: воспользуйтесь википедией
Quet
да хоть на сколько синдром вахтёра это зло все ж )
Daniel
зло - это отказ думать
Quet
ну значит у вас аж два зла
Artem
Всем доброго вечера, кто может подсказать как добавить поддержку кириллицы для JSON?
Daniel
а?!
Daniel
тут недавно выяснилось, что стандартная либа строки маршалит-анмаршалит в utf8
Artem
Почему тогда выводит без кодировки /u...
Daniel
а?!!
Artem
\u
Aleksey
/u
Daniel
ну значит у вас аж два зла
ути-пуси. коллега, будет ли определение?
Artem
https://play.golang.org/p/Uv8qa4WdmhJ
Daniel
ну
Daniel
все как и ожидалось
Artem
почему он выводит привет
Daniel
utf8 как он есть
Artem
а не закодированную строку
Мерль
ути-пуси. коллега, будет ли определение?
Господа, давайте закончим это непродуктивное обсуждение?
Daniel
потому, что, в нарушение стандарта, поддерживает utf8
🎉
https://play.golang.org/p/Uv8qa4WdmhJ
go run test.go {"Page":1,"Stroke":"привет"}
Мерль
потому, что, в нарушение стандарта, поддерживает utf8
Это по стандарту В json можно передавать как эскейпнутые так и обычные ut8 строки
Мерль
оба варианта должны поддерживатся парсером )
Daniel
Господа, давайте закончим это непродуктивное обсуждение?
я вот совсем не уверен, что оно непродуктивное. было бы хорошо, если бы коллеги понимали, что утечка - это неконтролируемое явление после того, как ты указатель потерял - в С ты ни освободить эту память не можешь, ни даже выяснить, что потерялось. и этим go принципиально отличается от С
Artem
а в качестве оффтопа наткнулся тут случайно на предложение от одного хорошего человека и было бы странно не расшарить, человек то хороший и судя по форме очень надо... есть тут сурьезные java парни, которым интересна удаленка на 400к+ ? ссылку запостить или забанюсь?
Artem
Почему он вывел привет, а не \u043F\u0440\u0438\u0432\u0435\u0442?
Daniel
потому, что он вывел в utf8
Мерль
Почему он вывел привет, а не \u043F\u0440\u0438\u0432\u0435\u0442?
потому что строковые литералы в go — это строки в utf8, а json маршаллер не эскейпит валидные utf8 строки (исключая кавычки)
Artem
Есть возможность вывести в юникод?
ros
вот хочется человеку лишнего трафика