Игорь
очень странный пример и не менее странный вопрос. "передавать переменные внутрь горутины через аргументы функции" - это что вообще?
Хорошо, немного перефразирую. Глобальные переменные в горутине это плохо? В моем примере signals является глобальной, если производить какие-либо тяжелые операции это не скажется на работе программы? Или горутине пофигу как я туда передам переменную?
Pawel
горутине естественно пофигу, вам - нет. глобальные переменные - это в любом случае зло в читом виде безотносительно к горутинам.
Pawel
А в чем отличие того как масштабировать горизонтально?
Более простые схемы шардинга. По отзывам сисадминов прописать конфиг-сервера для разделения данных монги и постгреса - это две большие разницы (я не занимался). Плюс для монги более простая конфигурация нод сама по себе, поскольку на сопоставимых объёмах данных нагрузка на сситему с монгой в целом меньше по понятным причинам
Vladimir
@theiced я правильно понимаю, что если сделать более сложную конфигурацию нод в монге, то она станет как постгрес?
Denis
Товарищи, а когда не правильно имплементировал интерфейс, есть тулзы проверить что не так?
Pawel
@theiced я правильно понимаю, что если сделать более сложную конфигурацию нод в монге, то она станет как постгрес?
да ну, с чего бы. Если монга будет обеспечивать мультидокументные транзакции - вот тогда станет
Vladimir
да ну, с чего бы. Если монга будет обеспечивать мультидокументные транзакции - вот тогда станет
http://markets.businessinsider.com/news/stocks/MongoDB-Announces-Multi-Document-ACID-Transactions-in-Release-4-0-1015896941
Pawel
Товарищи, а когда не правильно имплементировал интерфейс, есть тулзы проверить что не так?
пользуйся goland, он показывает стрелочками каким интерфейсам удовлетворяет класс. "имплементировал" - не правильное слово в случае Го
Denis
пользуйся goland, он показывает стрелочками каким интерфейсам удовлетворяет класс. "имплементировал" - не правильное слово в случае Го
Проблема в том, что я пытаюсь покрыть интерфейсом свои зависимости. Я уже нашел ошибку (час спустя).
Pawel
http://markets.businessinsider.com/news/stocks/MongoDB-Announces-Multi-Document-ACID-Transactions-in-Release-4-0-1015896941
трудно предположить как конкретно это количественно скажется, но очевидно latency увеличится, а сложность конфигов возрастёт. вопрос - на сколько
Slava
Нельзя в лоб сравнивать sql и nosql
Slava
Базы бывают совершенно разные и под разные задачи
Slava
Постгрес продвинутее и производительнее sqlite, но последний - самая популярная субд. Просто потому что задачи разные
Slava
Даже mysql с разными движками ведёт себя по рпзному
Pawel
самая популярная - потому что не надо с настройкой сервера возиться, что умеют не только лишь все
Slava
:) нет, дело не в этом
Slava
Просто это самое стабильное встраиваемое субд
Michael
на декстопе данные профилей пользователя хранили в sqlite, вот для этого sqlite хорошо подошла
Мерль
Мерль
Тогда у тебя просто не соберётся ошибочный код если тип не удовлетворяет интерфейсу
Anonymous
@kirilldanshin будет времячко - загляни в слак русский, в рандом канале оставил мессадж
Anonymous
Не знаю, смотришь ты его или нет :)
Pawel
на декстопе данные профилей пользователя хранили в sqlite, вот для этого sqlite хорошо подошла
на десктопе и андроиде вообще любые локальные данные - строго в sqlite. ну кроме конфигов конечно
Slava
В ios так же
Slava
Жаль на го ещё не допортировали, хотя и есть проекты
Slava
Ты можешь сам потестировать ;)
Vladimir
Ты можешь сам потестировать ;)
Не, ну есть утверждение, значит были какие то тесты :)
Slava
Посмотри в гугле
Vladimir
Посмотри в гугле
На сайте sqlite написано что он быстрее :)
Slava
Быстрее != производительнее
Vladimir
Быстрее != производительнее
Так, вот я теперь серьезно не понимаю в чём разница между этими двумя словами. В словарях которые я видел это синонимы
Pawel
А где были тесты sqlite vs postgre?
не корректно требовать такие тесты, эти технологии решают принципиально разные задачи sqlite относительно примитивный, постгрес обладает практически не ограниченными возможностями по оптимизации. поэтому чисто по логике аналогичный объём данных в постгресе будет быстрее процеситься чем в sqlite. скорее всего
Pawel
а что там написано?
Vladimir
а что там написано?
Да сам открой их сайт и глянь)
Игорь
глобальные может и не очень хорошо, но closure вполне ОК. перенесите var signals в main() и будет по фен шую
ну я глобальные использую когда без этого вобще никак. хотел узнать только насчет вреда глоабальных переменных на обработку в горутинах
Michael
Да сам открой их сайт и глянь)
https://www.sqlite.org/threadsafe.html
Michael
там самое интересное
Michael
плюс sqlite может начать загибаться на относительно простых запросах
Michael
(не) достатки postgres - это не embedded и не one file storage
Denis
Хочу переопределить тип возвращаемого значения, лучше решения как я понимаю нет? type DataAccess struct { collection *mgo.Collection } func (d *DataAccess) Find(query interface{}) Querier { return d.collection.Find(query) }
heavycharged
Есть у кого-то пример как форматировать длинные многострочные SQL запросы в Go?
heavycharged
а то у меня какая-то портянка получается некрасивая, на фоне того, как красиво форматирует go fmt.
heavycharged
в отдельную переменную query := `?
Slava
Так, вот я теперь серьезно не понимаю в чём разница между этими двумя словами. В словарях которые я видел это синонимы
скорость - это время выполнения какого-то запроса (группы запросов). Производительность - это эффективность выполнения запросов (throughput + latency) при определённой нагрузке. Sqlite конечно же может быть более производительным при определённых условиях( Индекс и данные помещаются в памяти, низкий лок контеншн, одно ядро.)
Pawel
для линтинга и подсветски синтаксиса SQL используй goland + плагин jetbrains для SQL, иначе боли не избежать
Chebyrash
Как вы сделали символ ≠ на 176 строке? В смысле это валидный оператор?
Pawel
шрифт fiaracode + включенные лигатуры в настройках ide
Andrey
2018.1 встроена подсветка sql
Pawel
Родной плагин? У меня чего то не появляется даже(((((
view -> tool window -> database, настроить data source. должно работать
🏁Александр
народ, а как правильно иницилизировать тип [][][][]float64 O_o
Andrey
В этом случае не получится пользоваться обратным апострофом для имен колонок и таблиц. Обычно бьем длинную строку так query := "SELECT * FROM t" + "WHERE a = ?"
🏁Александр
да у меня самого мозги едут
🏁Александр
в json запрос строю сижу 🙂
Anonymous
Четырёхмерное пространство?
Anonymous
Машину времени на Go пишешь?
🏁Александр
это фильтр по карте
🏁Александр
(мопед не мой, мне просто надо запрос)
Andrey
я так понимаю это для мускула
Да, там это критично
🏁Александр
все сделал O_o
🏁Александр
request.Filter.Location.Coordinates = [][][][]float64{ { { {55.7584, 37.5139}, {55.7476, 37.522}, .... } } }
🏁Александр
Vladimir
скорость - это время выполнения какого-то запроса (группы запросов). Производительность - это эффективность выполнения запросов (throughput + latency) при определённой нагрузке. Sqlite конечно же может быть более производительным при определённых условиях( Индекс и данные помещаются в памяти, низкий лок контеншн, одно ядро.)
Интересный у тебя словарь. Ну и чисто замечу, что throughput это запросы/сек, latency - сек/запрос. Потом вспомним что улучшая одно ты вредишь другому и сделаем вывод что таки производительность = скорость. Я к тому что в английской литературе под performance имеют в виду обычно throughput*latency и то же самое имеют в виду под скоростью в русском.
🏁Александр
народ а кто-то дебажил стандартный http клиент?
🏁Александр
скОтина подставляет какой то заголовок. из за которого апи ломается удаленный