Timur
давно? а чего не хватало? по идее мне пока только лисенить надо и отправлять в fcm для последнего вроде дела получше обстоят (есть даже отдельный сервер)
Ровно такая же задача, чуть больше года назад. Я уже не помню в чем проблема была, но выбор был не очень большой
Alexander
мдо, ну я попробую что есть, если неполетит есть нода 👀
Alexander
но вроде официальная go-либа шевелится, может сделают за год чего
Anonymous
но вроде официальная go-либа шевелится, может сделают за год чего
Мы пользовали firebase, еще до того как его гугол купил, нормальных либ с тех пор так и не завезли ...
Alexander
сами писали? или на ноде всё делали?
Anonymous
Просто ушли на parse-server и ноду :))
Антон
Привет, может кто помочь с примерами для https://github.com/go-cmd/cmd ?
Anonymous
т.к. свой сервак таки рулит
Alexander
Просто ушли на parse-server и ноду :))
а в чём прикол parse-server в контексте этой задачи?
Anonymous
а в чём прикол parse-server в контексте этой задачи?
Я в целом имел ввиду :) Да для парса есть отличные SDK для ноды/android'a
Alexander
Я в целом имел ввиду :) Да для парса есть отличные SDK для ноды/android'a
это типа чтобы свою инфраструктуру не поднимать? вообще мир мобайла чудесный, типа js. а зачем sdk для бека?
Alexander
а ну да, а какое валью парз добавляет по сравнению с тем же экспрессом?
Anonymous
мм... не понял вопроса. Что именно ты имеешь ввиду ?
Alexander
ну это ж просто бекенд сервер, или что? :)
Anonymous
Да, сервер с базой (монгой) и логикой на js :)
Alexander
о вижу там есть подписка на вебсокетные стримы и какой-то свой язык запросов
Alexander
что-то развесистое вобщем :)
Alexander
Anonymous
ну, умеет многое. Мы же используем только БД и свою логику в cloudcode
Anonymous
Alexander
аа, теперь мейк сенс
Alexander
но ща фаербейз тоже становится развесистым, короче мы в него идём, посмотрим чем это кончится :)
Vitaliy
ну, умеет многое. Мы же используем только БД и свою логику в cloudcode
КлаудКод не тормозит? Я пробовал hello world на нем и он выполнялся нереально долго
Anonymous
* правда, стоит добавить, что у нас на уровне nginx'a разнесено выполнение "тяжелых" функций на другой сервер :)
Anonymous
Подскажите как строку в кириллице в uppercase перевести
Anonymous
не так не работает вроде
Alexei
работает
Anonymous
сек
Anonymous
вроде пробовал
Alexei
https://play.golang.org/p/LscBxXtvJZo
Alexei
это ж юникод
Anonymous
блин , тут работает действительно, походу проблема в другом, спасибо https://play.golang.org/
Anonymous
https://play.golang.org/p/9I3NmsWBSkT
you
подскажите нубу , пользуется ли сейчас кто-то GVM для переключения между версиями го?
ceiling cat
А зачем вообще переключаться между версиями го ?
Nikita
подскажите нубу , пользуется ли сейчас кто-то GVM для переключения между версиями го?
Вообще зачем, сам го от версии к версии работает одинаково в 99% случаев. Ну в крайнем докер собери
you
Компилять разные проекты написанные под разные версии?
Nikita
И вообще, го устанавливается путем двух переменных среды, имей у себя хоть стопяцот версий го.
you
Есть же nvm для нода virtual env для питона.
Nikita
А зачем они для го, если все обратно совместимо?
you
Хм. Спасибо, посмотрю на переменные
Constantine️
https://freelansim.ru/tasks/189825
Constantine️
ух 😄
Constantine️
@m0sth8 не хочешь подработку?)))
Constantine️
обоснуй почему его код не очень 😄
朝の日差し ✙
Тысячи этих либ. И все так себе. В этом чате кто-то давно грозится релизнуть свою апи, с блекджеком и актуальными обновлениями.
Slava
У @olebedev актуальная
I
есть какой-нибудь встроенный стринг форматтер с индексами типа format("$1, $2, $1", 1, 2) -> "1, 2, 1"?
Vasily
fmt.Sprintf("%[1]d %[2]d %[1]d", 1, 2)
I
fmt.Sprintf("%[1]d %[2]d %[1]d", 1, 2)
спасибо, прикольно
Zver
Почему не завели банальный интерфейс Init какой-нибудь. Чтобы все unmarshaler-ы его вызывали при инициализации переменных.
Zver
Да и вообще отсутствие сонструктора все же доставляет неудобства.
Aleksandr
понял
Zver
Бывет нужно инициализировать поля по умолчанию не нулевыми значениями, при том же анмаршалинге, а вот хрен это сделаешь.
Hamidumi
можно написать конструктор, который будет возвращать подготовленную структуру и туда уже анмаршалить
Nikita
Это маршалинг.
Попробуй тоже самое для анмаршалинга, будешь удивлен
Zver
Попробуй тоже самое для анмаршалинга, будешь удивлен
Чему удивлен? Вот есть у меня, к примеру, Структура, в ней слайс или мап с указателями на другие структуры. Писать для этих вложенных структур анмаршалер? А если я решу изменить получение данных с JSON на какой-нибудь другой формат? Писать еще один анмаршалер? А вот был бы интерфейс Init, который считался бы стандартом, то было бы меньше проблем. Хотя конечно это конечно банальное последствие отсутствия обычного конструктора.
Zver
Говна не надо, его и так достаточно. )
Nikita
Говна не надо, его и так достаточно. )
Вообще речь шла о генериках, но ладно
Slach
народ, чего то я не понимаю объясните как работают интерфейсы в Go? вот есть метод SetLogger в библиотеке // Logger is an interface that can be implemented to provide custom log output. type Logger interface { Printf(string, ...interface{}) } // SetLogger sets the logger to be used for printing errors. // Logger is an interface provided by this package. func (c *Conn) SetLogger(l Logger) { c.logger = l } пытаюсь подсунуть экземпляр структуры из Zerolog , который объявлен так package log // Logger is the global logger. var Logger = zerolog.New(os.Stderr).With().Timestamp().Logger() log.Logger возвращает структуру с типом zerolog.Logger которая конечно не интерфейс, но имеет нужный метод по сигнатуре type Logger struct { //... тут всякие поля } // Printf sends a log event using debug level and no extra field. // Arguments are handled in the manner of fmt.Printf. func (l *Logger) Printf(format string, v ...interface{}) { if e := l.Debug(); e.Enabled() { e.Msg(fmt.Sprintf(format, v...)) } } делаю так package mypackage import ( "github.com/rs/zerolog/log" "github.com/samuel/go-zookeeper/zk" ) func myFunc() { zkConn, _, err := zk.Connect(config.Zookeeper.Hosts, time.Second*3) zkConn.SetLogger(log.Logger) } получаю ошибку unused struct field invalid operation: log.Logger (variable of type github.com/rs/zerolog.Logger) is not an interface почему??? как кастануть суко интерфейс то?
Slach
ну либы не очень то мои, от того что я локально поменяю уберу указатель а вместо него захочу функцию, что мне делать? а я не понимаю, в чем разница??? если есть имплементация интерфейса и она вроде как по структуре совпадает что именно мне надо в SetLogger передать то? чтобы оно вкурило что мне надо?
Oleh
как сделать что бы http клиент нечего не кешировал? мне нужно скачать html код многих сайтов после того как на ночь поставил прога в памяти 2 гб сожрала
Илья
снимай профиль, смотри где накодил мусора, клиент не кеширует данные
Oleh
в 150 воркеров делал
Anonymous
Тогда эта норма™
Anonymous
2 Гб для 150 воркеров
Oleh
2 Гб для 150 воркеров
так оно же не сразу а постепенно