engelbart
спасибо
Michael
https://golang.org/pkg/builtin/#len
Anonymous
Вопрос. Если go написан на go, то как тогда они запилили дженерики в функции make() и т.п.?
Anonymous
По блату
Программирование, как и жизнь, несправедливо 😭
Сережа
Пацоны, где https://leanpub.com/go-thestdlib спиратить?
Anonymous
Ещё по стандартным либам не хватало пиратить инфу ((
engelbart
А есть у кого нибудь пример под руками net/http handler функции, которая примерно так работает - получает запрос парсит парметры сует их в очередь rabbit - ждёт пока эти параметры обработаются и получает ответ из другой очереди рабита - возвращает всё клиенту
engelbart
я тут идейно не понимаю как сделать. В рабит я задачу отправил, а дальше? как мне ответ получить, там ведь они хаотично будут приходить. Мне нужно какой то калбек повшать чтоль на с использованием моего w http.ResponseWriter ?
engelbart
уникальное связубщее поле в этих очередях у меня есть
engelbart
чтоль map[myuniqueID] http.ResponseWriter глобальный делать? и по получению из второй очереди выгребать и делать w.Write ?
Сережа
в задаче и в ответе хранить id
engelbart
это есть
Oleg
Можно сделать map[ID] chan Result. Хендлер пусть создает себе канал, записывает его в карту и блокируется на канале. Как вариант.
Michael
ответы получать это subscriber раббита создавать
Michael
в раббите роутинг по ключу работает быстрее всего
engelbart
ответы получать это subscriber раббита создавать
В смылсе очередь ответов = это не верно. так?
Michael
очередь живёт в раббите
Michael
её должен кто-то консьюмить
Anonymous
гуд пропосал мой френд
engelbart
ну её горутина консумит, и пишет в ту глобальную мапу каналов
Alexander
для 3-го есть?
там всё так же
Alexander
только вместо ~/.config/sublime-text-2 использовать ~/.config/sublime-text-3
Евгений
А есть у кого нибудь пример под руками net/http handler функции, которая примерно так работает - получает запрос парсит парметры сует их в очередь rabbit - ждёт пока эти параметры обработаются и получает ответ из другой очереди рабита - возвращает всё клиенту
а какую задачу решает рэббит? если на самом деле нужно ждать конкретный ответ от него и отвечать им? то есть фактически тут синхронная обработка события - приняли запрос от клиента, отправили обработчику, ждем его ответ, отдаем ответ клиенту.
Евгений
вы все равно блокируете клиента, пусть сразу горутина, которая приняла запрос от пользователя, сама сходит в обработчик, дождется ответа и вернет его.
Евгений
Или есть какие-то другие ограничения?
engelbart
воркеры медленные, но их много и они разбросаны
engelbart
т.е. я понимаю что я клиента блокирую, но ему да синхронно надо, а мне с воркеров асинхронно
engelbart
и вот хорошую схема как мне балансер делать я чо то не мог придумать
engelbart
глобальный мап с каналами ответов мне тоже не очень нравится но как же иначе
Aleksandr
ну а в чем трабла? генерируешь сообщение с id, биндишь очередь с routing_key на базе id, публикуешь, начинаешь слушать routing_key. Твоя мидлварь будет и продюсером и консьюмером
Aleksandr
не нужны никакие каналы и мапы каналов. синхронно отправил, подождал, синхронно получил, отдал клиенту в рамках одного реквеста
engelbart
вот что то такое я и хотел
hamper 𓅝
А go get не умеет в сабгруппы что ли? Например go get gitlab.com/group/subgroup/repo он пытается клонировать gitlab.com/group/subgroup.git вместо gitlab.com/group/subgroup/repo.git. И соответственно непонятно как такие репы в glide например указывать.
Anonymous
Если пакет не main ( package main ), то не будет устанавливаться ( go install ) ?
Anton 🇺🇦
поясните рофель
Anonymous
поясните рофель
Порог вхождения
Michael
и с++ перепутали с js
Anton 🇺🇦
Alexei
Скорее уж постижение
Michael
в с++ можно только входить
Anonymous
А js похоже для IE изображён ))
Anonymous
(Судя по ответвлениям слева, т.е. в IE всё не как у людей).
Alexander
js асинхронный, это коллбэк-хелл нарисован)
Anonymous
с++>js? HAHAH
Пишешь 3 года на крестах - джун Пишешь 3 года на джсе - архитектор :D
Quet
на go должна была быть нарисована горка в другую сторону
Anonymous
Типа деградируешь?)
Quet
ну или как вариант -- все такое простое что мозг включать не надо вообще )
Anonymous
Надо в геймдев идти Чо б и нет, скоро популярной скоро станет
Anonymous
Вот я чет не нашел пока в геймдеве применения для го
Anonymous
Я ж не про го
Anonymous
Если только с кодогенерацией
Сережа
для пошаговых игр
Anonymous
Потому что игровые сущности постоянно меняются, т.е. либо код генерить либо переписывать по сто раз в неделю. И база почти всегда - монга
Anonymous
На го можно было бы в теории написать микроядро движка, но оно у всех на плюсах
Anonymous
Хотя говорят что западные игровые компании повально переходят на го
Quet
Если только с кодогенерацией
а что на нем без кодогенерации? )
Сережа
в играх обычно если и есть, что-то вроде базы данных оно самописное
Anonymous
а что на нем без кодогенерации? )
Микросервисы всякие, веб, консольные тулзы
Сережа
это ты про мобилки?
Anonymous
А, да, извиняюсь)
Сережа
я про нормальные десктопные игры
Anonymous
Ну десктопные мб
Anonymous
Там оно и понятно
Сережа
с графонием и объемными ресурсами
Anonymous
Ну, скажем так, бекенд на монге я и у ПК игр видел
Сережа
да и на мобилках наверное sqlite преобладает, просто потому что уже есть в андроиде
Сережа
или нет?
Anonymous
С графоном и буфетчицами
Anonymous
или нет?
Я про бекенд говорил