Stepan
Ругается
Stepan
синтаксически верная конструкция?
Slava
мама ругается?
Igor
попробуй var ch [1]chan string
Заур
Когда говорят про опыт в высоконагруженных сервисах, какой стек знаний подразумевается под этим
Заур
Асимптотика алгоритмов и отказоустойчивость?
Dmitry
Когда говорят про опыт в высоконагруженных сервисах, какой стек знаний подразумевается под этим
подразумевается что программист понимает как работает ПО, железо и что делать если железо не справляется с нагрузками.
Заур
Т.е. отказоустойчивость?
Dmitry
в основном это опыт масштабирования проектов: вертикальное (в случаем оптимизации отдельных компоненотов без изменения железа) и горизонтальное (подключения дополнительного нового железа)
Dmitry
Т.е. отказоустойчивость?
отказоустойчивость это понятие растяжимое. в том или ином виде оно присуствует везде, не только в хайлоаде
Заур
Оптимизация понятна А горизонтальное это уже типо микросервисы или балансировщик запросов?
Dmitry
это все что позволяет обработать болшее количество информации путем установки дополнительного железа.
Dmitry
если архитектура проекта позволяет это без переписывания кода(или незначительного) то говорят что она хорошо горизонтально масштабируется
Dmitry
под железом я понимаю как подключение железа напрямую так и посредством сетей
Заур
Аа, всё, я кажется врубился 😀 спасибо
Dmitry
Аа, всё, я кажется врубился 😀 спасибо
вот тут почитай еще: http://highload.guide/
Anonymous
Ребят, у меня такой вопрос. Как будет правильно реализовать следующие: Есть куча xml файлов и инфой на 15Мб. Хочу спарить инфу с документов в хеш таблицу а потом в цикле писать из этой таблицы в монгу. Насколько правильно это будет? Или стоит каждый отдельный документ писать в базу, а не раздувать ОЗУ?
vld
Зачем хеш таблица? Пиши сразу в монгу, имхо
Anonymous
Лучше писать батчами определенного размера
V
Асинхронно парсить, разбить на несколько асинхронных батчей) конвеер
Nazar
бляха, я чёт туплю есть type TName struct { name string rsp []string } и есть var LIST = make(map[string]TName)
Nazar
как в LIST[id] работать с полем rsp?
L
Rsp
Nazar
append, к примеру
L
Сделай с большой буквы rsp LIST[id].Rsp = append(LIST[id].Rsp, ...)
L
Ну лучше указатель (на TName) хранить и сначала из мапы получить его
Nazar
тогда тоже большая буква?
L
да
L
Поля с большой буквы - public с маленькой - private
Anonymous
Асинхронно парсить, разбить на несколько асинхронных батчей) конвеер
Кстати да, парсить в несколько потоков… даже не подумал про это, спасибо
Nazar
Поля с большой буквы - public с маленькой - private
ошибка cannot assign to struct field LIST[id].Rsp in map
L
obj, ok := LIST[id]
L
Если указатель, то сразу меняешь Rsp, если по значению, то обратно закидывай
Stepan
Я создаю массив каналов var ch [10]chan, как мне переопределить первый эллемент и сделать его буфферизированным?
Илья
никак
Илья
хотя, что ты имеешь ввиду переопреледить, неясно
Stepan
https://play.golang.org/p/4ZV4HTDofo9
У меня ругается на такую запись
Илья
на плейграунде не ругается
Stepan
А не, все норм, спасибо)
Anonymous
Всем привет, есть те кто работал с HomeKit?
Anonymous
всем привет IDs := r.URL.Query()["id"] возвращает мне слайс ["1,2,3"] с одной строкой как можно сразу получить слайс интов? [1, 2, 3] не нашел примеров делать split потом по слайсу как то костыльно(
Anonymous
а приходит /?id=1,2,3
Anonymous
эх(
Alexey
Привет! Нужно смоделировать json в котором некоторые поля полиморфоные. Например, может быть просто логин, а может быть имя и фамилия: "actor": { "type": "login", "login": "user" }и "actor": { "type": "fullName", "firstName": "John", "secondName": "Doe" }как бы это все замапить на структуры чтобы было удобно и парсить и создавать такие структуры. Нашел только такое - http://eagain.net/articles/go-dynamic-json/ , но выглядит все это как ужасный костыль. Подскажите как сделать красиво :)
Daniel
никак
Daniel
красиво не будет
Daniel
реально вариантов два
Мерль
это еще хуже )))
можно ещё хуже — разбирать map[string]interface{}
Alexey
Daniel
или сделать структуру со всеми полями, или парсить в два прохода
Мерль
мне нужно лучше, а не хуже
лучше никак ну, можно сделать разные наборы структур, а потом json iter-ом брать поле type и применять нужную структуру
Daniel
нет базовой поддержки полиморфных структур
Alexey
прямо канал скорби :(
Alexey
спасибо!
Daniel
у всех есть свои недостатки
Alexey
у всех есть свои недостатки
Не, я не набрасываю. Понятно, что это мой выбор, но очень уж некоторых базовых вещей не хватает
Daniel
на самом деле - не надо просто делать такую структуру json, и это хорошо, что она так плохо поддерживается в go - меньше будет таких уродцев появляться
Alexey
на самом деле - не надо просто делать такую структуру json, и это хорошо, что она так плохо поддерживается в go - меньше будет таких уродцев появляться
ну иногда полиморфизм все-таки встречается и моделировать его суперпозицией полей это хм... спорное решение.
Daniel
полиморфизм - зло
Alexey
полиморфизм - зло
это уже демагогия )
Daniel
в некотором смысле - да. но - он ведь и правда зло.
Alexey
в некотором смысле - да. но - он ведь и правда зло.
это демагогия, в случае когда тебе нужно запросить существующий АПИ которые ты не можешь изменить. Мне нужен просто инструмент
Daniel
тогда - суперпозиция
Daniel
которая тоже зло, но меньшее
Alexey
это ужасно в плане типов.
Daniel
а полиморфизм не ужасен?
Alexey
нет разницы между этим и map[string]string
Daniel
разница, все же, есть
Alexey
она только в количестве возможных ошибок, но не в факте их присутствия/отсутствия
Alexander
Гайз, а не знает кто-нибудь скелет проекта на Github на Go с Oauth2 для аутентификации и сессиями - чтобы его можно было за основу взять для небольшого проекта?
Alexey
но это вопрос структуры json, а не языка
но ведь мне эти структуры нужно как-то в языке описать
Alexey
я бы хотел чтото типа data User = UserWithLogin | UserWithName | Anonymous
Alexey
и поддержку сериализации
Alexander
Кто как конфиги хранит в приложениях? ini? json? yaml?