@proRuby

Страница 1052 из 1594
Alex
15.02.2018
23:06:34
Всем доброго времени суток! Стоит задача создать xml файл для выгрузки на яндекс.маркет. Объем файла несколько миллионов строк. Куча связей в моделях. Гипотетически берем 100к записей со связи, назовем из ItemVariant. Каждые 10к при создании файла через Nokogiri съедают по 2 GB RAM Вопрос: 1) стоит ли в режиме реалтайма использовать postgress или предварительно сформировать хэш нужных данных и скормить nokogiri? 2) Как можно оптимизировать по другому?

Файл формируется стандартно. Строится дерево Nokogiri::XML::Builder.new(encoding: 'UTF-8') do |xml|, а данные дергаются из постгресса. Когда дерево построенно вызывается метод to_xml и данные записываются в файл

F
16.02.2018
05:09:56
Почему unicorn выдает ошибку listen loop error: unsupported address family: ss_family=202 (socklen=0) (RuntimeError)?

Alex
16.02.2018
05:55:21
/watch?v=m1jOWu7woKM dhh be like: callbacks.. mmm awesome! concerns.. wow just love it! global variables.. oh, delisious!

Google
Максим
16.02.2018
09:52:11
Ребят, возник большой спор, есть задача: найти пропущенный элемент в неотсортированном массиве 1..n, т.е. in: [3,5,1,4] out: 2 Понятно, что она решается через формулу арифметической прогрессии, т.е. ищем сумму ряда, потом из нее вычитаем сумму массива, получаем искомое число, сложность O(n) с точностью до множителя перед n. Но какая сложность(с точностью до множителя перед n) будет при алгоритме: - Строим массив размера N (Массив A изначальный массив B новый) - Заполняем построенный массив B[A[i]-1]=1 - Идём по массиву B и ищем индекс, значение по которому не равно 1 и из значения вычитаем 1 - это и будет результат Какая сложность будет у такого решения? Я считаю, что сложность O(3n) [O(n) построение + O(n) установка единиц + O(n) поиск] Но мне доказывают, что сложность такого алгоритма O(2n), т.к. построение вспомогательного массива (аля Array.new(N) или int[] var = new int[5];) в O алгоритма не учитывается, т.к. это оверхед.
тоже думаю 3n

но если расскажешь что такое оверхед то может пойму сам чего

F
16.02.2018
10:00:36
selenium_chrome_headless почему выдает Net::ReadTimeout?

Dmitriy
16.02.2018
10:02:37
Anton
16.02.2018
10:05:27
Ребят, возник большой спор, есть задача: найти пропущенный элемент в неотсортированном массиве 1..n, т.е. in: [3,5,1,4] out: 2 Понятно, что она решается через формулу арифметической прогрессии, т.е. ищем сумму ряда, потом из нее вычитаем сумму массива, получаем искомое число, сложность O(n) с точностью до множителя перед n. Но какая сложность(с точностью до множителя перед n) будет при алгоритме: - Строим массив размера N (Массив A изначальный массив B новый) - Заполняем построенный массив B[A[i]-1]=1 - Идём по массиву B и ищем индекс, значение по которому не равно 1 и из значения вычитаем 1 - это и будет результат Какая сложность будет у такого решения? Я считаю, что сложность O(3n) [O(n) построение + O(n) установка единиц + O(n) поиск] Но мне доказывают, что сложность такого алгоритма O(2n), т.к. построение вспомогательного массива (аля Array.new(N) или int[] var = new int[5];) в O алгоритма не учитывается, т.к. это оверхед.
есть еще другой вариант, без явной итерации, но я точно хз за сложность тут [8] pry(main)> arr = [3, 5, 1, 4] => [3, 5, 1, 4] [9] pry(main)> Range.new(*arr.minmax).to_a - arr => [2]

F
16.02.2018
10:06:22
Anatoly
16.02.2018
10:07:33
есть еще другой вариант, без явной итерации, но я точно хз за сложность тут [8] pry(main)> arr = [3, 5, 1, 4] => [3, 5, 1, 4] [9] pry(main)> Range.new(*arr.minmax).to_a - arr => [2]
Ну это просто красивое решение на конкретном ЯП, сложность будет большой ) Мой вопрос больше касательно алгоритмов, нужно ли учитывать сложность создания вспомогательного массива, или ей можно пренебречь.

Dmitriy
16.02.2018
10:09:55
да, 2.35
На самом деле очень много разных вариантов может быть. docker? гемы какие? система? что делаешь?)

F
16.02.2018
10:11:34
На самом деле очень много разных вариантов может быть. docker? гемы какие? система? что делаешь?)
обычные гемы. хочу переключиться с capybara-webkit на chrome headless для системных тестов. сделал по гайдам https://robots.thoughtbot.com/headless-feature-specs-with-chrome

F
16.02.2018
10:12:50
делал так https://medium.com/table-xi/a-quick-guide-to-rails-system-tests-in-rspec-b6e9e8a8b5f6 но не работает

Dmitriy
16.02.2018
10:13:11
"If you use the headless_chrome driver on an older version of Chrome or on Windows, you will get a NetReadTimeout error" ?

F
16.02.2018
10:14:45
версия хрома Version 64.0.3282.167 (Official Build) (64-bit)

Google
F
16.02.2018
10:14:54
это на арч линукс

Roman
16.02.2018
11:00:13
да, 2.35
вроде 2.39 первая поддерживает не?

а, я напутал значит. сетап в докере, нет?

Dima
16.02.2018
11:39:06


взято от сих: https://www.sitepoint.com/get-the-low-down-on-ruby-modules/ Но там приводится пример замерения времени метода. Засекли точку входа, засекли точку выхода. При помощи prepend module. А вот такое считвотство объектов оно зачем?

Artem
16.02.2018
11:42:51
В эту субботу марсианин Тимур Рамазанов выступит в Алматы на Ruby-Ata http://amp.gs/xUqP с докладом про Sidekiq.

Dima
16.02.2018
11:46:21
https://gist.github.com/lbvf50mobile/ba8cdf561eef5d45b747f71ec515747a - вот как замерять.

Но скажу честно что это за такое ObjectsSpace.count_object я не до конца понимаю

и зачем оно там в примере

Vasiliy
16.02.2018
11:52:36
в документации к ObjectSpace http://ruby-doc.org/core-2.3.0/ObjectSpace.html#method-c-count_objects видно что метод возвращает хэш и идёт обращение к хэшу по ключу

Vasiliy
16.02.2018
11:54:03
затем же зачем и эта статья - демонстрация того как работает руби

а вот зачем тебе эта статья не понятно

Dima
16.02.2018
11:55:17
затем же зачем и эта статья - демонстрация того как работает руби
Ежелиб автор туда добавил разницу во времени, то вопросов бы не возникало. Измерения веремени работы метода. А вот с этими хешами вопросов масса. Что это за :FREE и зачем он нужен? - как пример

Vasiliy
16.02.2018
11:56:18
зачем тебе это нужно?

там просто демонстрируется что ты можешь препендить по условию

а количество ObjectSpace.count_objects[:FREE] просто для примера взято

Google
Dima
16.02.2018
11:59:45
Это автор Fread Heath человек разумный и точный, каждое его действие может что-то хорошее раскрывать.

Alex
16.02.2018
12:01:15
ясно

Vasiliy
16.02.2018
12:03:05
ну если ты в учебных целях, без нагрузок зачем-то лезешь в инфу GC и задаешь вопросы что это, то явно тебе это не нужно

если конечно нет желания стать теоретиков 100лвл

Alex
16.02.2018
12:06:38
- задает вопрос потому что не может разобраться - я сам разберусь

Dima
16.02.2018
12:07:03
Alex
16.02.2018
12:08:49
Artem
16.02.2018
12:12:58
ого у вас батл)

kolas
16.02.2018
12:14:46
это разве батл? никто даже не обозвал оппонента дураком ?

Vasiliy
16.02.2018
12:15:49
Твой джун моему в подметки не годится. Мой ебашит вообще адовый код. Ну такой вот примерно алгоритм усредненный, потому что вариаций масса. Берется код, он не рефакторится, рефакторить — это не про моего джуна. Он берет это код, вываливает его в редактор и начинает править. Добавляет в него огромное количество коллбеков, вызовов GC, глобал обжектов и сиквела для вязкости, жса сверху. Все это пишется до дыма от клавиатуры. Потом заливается в продакшен и дебажится прям там. Потом джун делает PR и начинает ждать когда его примут. При этом все комментарии фиксит на проде и помечает решёнными. Коммитит и приговаривает полушепотом ух бля. При этом у него на лбу аж пот выступает. Любезно мне иногда предлагает не писать тесты, но я отказываюсь. Надо ли говорить о том какой дичайший пердеж у сеньоров потом? Вонища такая, что обои от стен отклеиваются.

Илья
16.02.2018
12:16:17
про батю лучше

Roman
16.02.2018
12:17:34
Джуниор подруги мамы

Alex
16.02.2018
12:18:22
Твой джун моему в подметки не годится. Мой ебашит вообще адовый код. Ну такой вот примерно алгоритм усредненный, потому что вариаций масса. Берется код, он не рефакторится, рефакторить — это не про моего джуна. Он берет это код, вываливает его в редактор и начинает править. Добавляет в него огромное количество коллбеков, вызовов GC, глобал обжектов и сиквела для вязкости, жса сверху. Все это пишется до дыма от клавиатуры. Потом заливается в продакшен и дебажится прям там. Потом джун делает PR и начинает ждать когда его примут. При этом все комментарии фиксит на проде и помечает решёнными. Коммитит и приговаривает полушепотом ух бля. При этом у него на лбу аж пот выступает. Любезно мне иногда предлагает не писать тесты, но я отказываюсь. Надо ли говорить о том какой дичайший пердеж у сеньоров потом? Вонища такая, что обои от стен отклеиваются.
если это правда то очень жаль

Roman
16.02.2018
12:18:51
если это правда то очень жаль
если это правда, то там проблемы с процессами, а не с джуном?

Alex
16.02.2018
12:19:02
тоже так щитаю

Marsupilami!
16.02.2018
12:24:30
Весело тут у вас, пожалуй, я останусь

Marsupilami!
16.02.2018
12:27:22
это же только для синьоров и кофаундеров чат?

Alex
16.02.2018
12:29:55
это чат для джунов

иногда пробегает редкий мамонт сеньора

Google
Alex
16.02.2018
12:30:10
ему задают вопрос и он пропадает.

alteregoizm
16.02.2018
12:30:29
и мы толпой закидываем его вопросами

Marsupilami!
16.02.2018
12:31:51
го тогда в #ruby-lang на freenode

Admin
ERROR: S client not available

Alex
16.02.2018
12:32:19
нафига мне irc если я юзаю телегу?

alteregoizm
16.02.2018
12:32:47
ого, irc жив

Marsupilami!
16.02.2018
12:33:36
Alex
16.02.2018
12:33:55
а к чему ты про freenode тогда?

Marsupilami!
16.02.2018
12:34:09
Alex
16.02.2018
12:34:32
если у меня вопрос я могу и до создателя гема докопаться, вытащить email из гита например

про сеньоров это так шутка была

тут сидит 830 сеньоров, очевидно же.

rekero
16.02.2018
12:35:55
и 20 архитекторов

Marsupilami!
16.02.2018
12:36:08
и 1 кофаундер

успешный 19 летний кофаундер

не

лучше успешный 17 летний кофаундер

Alex
16.02.2018
12:37:04
и в 17 лет можно

rekero
16.02.2018
12:37:14
в 17 лет уже поздно

мозг не такой пластичный

Google
rekero
16.02.2018
12:37:30
стартап не взлетит

Marsupilami!
16.02.2018
12:38:52
ok, -2147483648 летний кофаундер

человек-успех

Oleg
16.02.2018
12:39:07
Так и переполнение можно словить

Roman
16.02.2018
12:44:07
в 17 лет уже поздно
а в 28 завершение карьеры. как в старкрафте

Anton
16.02.2018
13:05:57
Artem
16.02.2018
13:19:56
насколько понимаю, джуны, что-то вроде крепостных как раньше были

Rafkat
16.02.2018
13:21:32
го тогда в #ruby-lang на freenode
Небось на freebsd 6 сидишь?

Хотя нет, трушная 4я же

Marsupilami!
16.02.2018
13:22:09
да-да

еще на руби из перла перешел

живу с мамой

Vasiliy
16.02.2018
13:23:07
ты с букинга чтоли

Страница 1052 из 1594