Mike
тем более конфиг нгинкса редко занимает больше 2 экранов
Mike
а то и одного
Anonymous
А если вам предложат nginx в виде либы на go?
Mike
зачем? это системный сервис не пересекающийся с моим кодом. если я захочу выкинуть север на го и переписать его на ноде или питоне или произвольном_супер_языке_будущего, то я буду менять только этот компонент, а остальные останутся
Mike
микросервисы ftw
Mike
у нас есть отдельно апи сервер с данными, отдельно сервер мобильной версии, полной и лэндинга
Mike
каждый заменяем без сайдэффектов для других
Mike
и в какой из них нгинкс как либу добавлять?)
Anonymous
Во все :)
Mike
воот
Mike
а потом чтобы что-то поменять, в каждом менять?
nvkv
Я иногда не понимаю, Андрей троллит или ой
Mike
(домен замечу один, неплохо бы иметь одну точку входа)
Mike
*или гой
nvkv
*или гой
ой вей
Mike
Anonymous
Я иногда не понимаю, Андрей троллит или ой
Второй вариант, чтобы он не значил 😄
Anonymous
у меня только простые проекты за плечами, мне видится, что всё в одном месте и на одном языке - это круто
Anonymous
Daniel
И шибко удобно было столько кода писать?
да уж поудобнее, чем на С++, или даже на яве
Mike
но вообще имхо если ты пишешь на го, лучше писать чистый рест, а нгинкс и прочая лабуда — головная боль фронтэндера
Mike
(сказал фронтэндер)
Anonymous
Реакт и ноду? Чёртов интернет сделал из меня фанатика Go. И писать просто, и скорость выполнения просто улёт даже на плате с arm процом.
Mike
зато ВСЕ на одном языке, и бэк, и фронт, и твоя мамаша
Anonymous
А с реактом у меня ассоциация - десктопное ПО, жрущее оперативу как целый Chrome... Если это будущее - я сойду с этой планеты 😁
MXLTN
привет, скажите как узнать или текущая рутина главная?
MXLTN
у меня есть функция которая что-то делает, и иногда она вызывается как go func() иногда как func() внутри нужно делать mutex.lock() для певрого случая и не делать для второго, как из различить?
bunin
добавить параметр?
MXLTN
прям явно func(isMainRoutine) как-то косолапо
MXLTN
нет возможности сделать что-то типа if rouine.IsMain() {} else {}
MXLTN
?
MXLTN
у меня 1780 вызовов этой фуфнкции))) с добавлением параметра я буду неделю обновлять вызовы)
MXLTN
те же яйки - мне нужно будет перелопатить куча кода что бы где-то переписать ивызывать вторую а где-то оставить как есть
Anonymous
Ну-с, код сам себя не напишет ))
MXLTN
просто мне кажется вроде это должно быть както решаемо - понять в какой рутине я нахожусь сейчас, или как минимум в главное или нет
Oleg
Для го такая задача нетипична, официального API нет. Можно передавать аргумент в функцию, выполняющую работу, как говорили выше. А если знать: главная горутина или нет, - нужно где-то глубоко по стеку вызовов, то стоит пересмотреть свою архитектуру :)
MXLTN
согласен, наверное архитектура кривая... буду рефакторть..
Anonymous
Статистический анализ предрекает рост популярности Go и сохранение позиций Си
Anonymous
http://www.opennet.ru/opennews/art.shtml?num=46212
Мерль
@dobrois, привет, давно не виделись!
Roman
Привет всем. Подскажите, что-то не могй найти есть форма <form id='newuser-form' method='post' action="/create"> Возможно ли как-то получить ее id?
Mike
Да, добавить его в input type="hidden"
Roman
понял, спасибо
$continue$
привет всем. Каким образом в Golang без костылей можно конвертнуть 1/5 (к примеру) в hex?
Мерль
привет всем. Каким образом в Golang без костылей можно конвертнуть 1/5 (к примеру) в hex?
1/5 - это рациональное число, а hex - это, по-видимому, 16-тиричная система счисления? То есть вопрос в том, как представить рациональное число (а скорее всего просто float64) в в шестнадцетиричном виде? Ответ: без костылей - никак. Но я могу предложить решение, за которое я буду гореть в аду https://play.golang.org/p/NSVluW83SS
Anonymous
Всем доборого времени суток :) Решил на основе этой статьи освоить вебсокет : https://m.habrahabr.ru/post/226469/ После перечитывания статьи решил сделать все сам, по памяти. Я по аналогии создаю комнату. В ней ссылки на все коннекты по вебсокету, канал для отправки сообщения всем коннектам, канал для удаления коннекта из комнаты. Дальше я пускаю в горутине следующее: for { select { case message := <-r.Send: for client := range r.Players { select { case client.send <- message: default: close(client.send) delete(r.Players, client) } } case client := <-r.Leave: if _, ok := r.Players[client]; ok { delete(r.Players, client) close(client.send) } } } Но после этого моя программа входит вступор при попытки отправить что-либо в любой из каналов этой комнаты. Видимо по тому, что не канал не готов на прием. Почему?) Спасибо)
Daniel
вообще - это сильно, закрывать канал сразу после того, как из него не удалось прочитать очередную порцию
Daniel
но проблема не в этом - писатель бы падал при попытке записи в закрытый канал
Anonymous
Убрал закрытие канала. Все равно ничего не происходит.
Daniel
так это
Daniel
а код целиком?
Daniel
в гист, к примеру
Anonymous
все, я оказывается забыл иницилизировать этот канал)
Anonymous
Всем привет! Нужна помощь, Пишу rest api на go, использовал github.com/emicklei/go-restful . Столкнулся с тем, что кол-во "ресурсов" может увиличеться, и каждый надо импортировать в одну точку входа и регистрировать. Возможно ли реализовать динамическую загрузку? Т.е добавил новый ресурс и там же его зарегистрировать.
Roman
кому нибудь известны группы по ИИ ?
Dorian
AI ?
ainu
Это надо искать ML
ainu
Не думаю что найдется
ainu
В addmetu techsparks бывают обсуждения этой темы между тоннами флуда
Sergey
кому нибудь известны группы по ИИ ?
https://t.me/bigdata_ru https://t.me/ru_deep_learning
Dmitry
Коллеги, добрый день! Пилю свой pet project выходного дня (естественно на go) и у меня назрел вопрос. Есть сервис, который на get запрос отдает массив json объектов в пользовательское приложение. Пользователь должен выбирать один из объектов и дальше этот объект нужно сохранить в бд. Как в данном случае лучше валидировать то, что пришло от пользователя? Хочется, чтобы объект, который пришел обратно на сервер, соответствовал одному из объектов, изначально переданных пользователю. Есть мысль считать хеш от каждого объекта в массиве и хранить соответствие (запрос->массив хешей) какое-то время. Возможно есть более элегантное решение?
Dmitry
Тогда получается, что нужно кешировать у себя все объекты с id. Вопрос получает лишь во времени кеширования
Albert
Всем примет) Посоветуйте, как лучше организовывать содержимое пакетов? Например у меня внутри пакета есть несколько сущностей(структура), у каждой сущности есть набор одинаковых "статических" методов, например Extract. И приходится все функции именовать следующим образом UserExtract(), ContractExtract(). Так все делают или разбивать пакет на суб пакеты? Но с субпакетами получается рекурсивная зависимость пакетов...
Mike
Интерфейс экстрактор тебе в помощь
Albert
Блин, точно, спасибо) я не в ту степь ушел)
Мерль
Падазрительно
dukeBarman
:))
dukeBarman
Слежу за тобой! Привет всем
Мерль
Привет
igor
Привет