@rubylang

Страница 1330 из 1684
Artur
11.01.2018
08:56:10
RubyMine же, вы чего?

Смерть
11.01.2018
09:03:38
мне нравится

Рубимайн 2017 крутой чет

Vasiliy
11.01.2018
09:08:13
Первый в этом году срач за редакторы?

Google
Aleksey
11.01.2018
09:08:36
у всех телеграм шатает? сообщения шлются по минуте?

Смерть
11.01.2018
09:08:48
Да, чет беда вообще

Jonas
11.01.2018
09:10:30
было пару минут назад сейчас нормально пашет

Смерть
11.01.2018
09:11:45
Сижу на нем с Idea

Хз с какой версии, настолько привык

Kalbaskin
11.01.2018
12:11:54
Мужики привет. ктонить с адвордс работает? интересует отправка оффлайн конверсий. есть 2 гема https://github.com/google/google-api-ruby-client А вот этот https://github.com/googleads/google-api-ads-ruby есть прямо в гугле в качестве примера. вот тут https://developers.google.com/adwords/api/docs/demo-apps/ что брать то?

ojab
11.01.2018
12:18:35
Первое This client library is supported but in maintenance mode only. — значит второе, очевидно

Kalbaskin
11.01.2018
12:23:36
ну ок, заюзаю. Но было бы интересно послушать тех, кто непосредственно решает такую же задачу

Kir
11.01.2018
15:10:44
Добрый вечер. На проекте есть экспорт в csv арибутов модели, к примеру - вакансий. Вакансий таких - порядка 90к и с каждым днем количество будет увеличиваться. Нажимается кнопка экспорт и происходит генерация csv посредством CSV.generate с последующей записью строк в цикле. На локалхосте такой процесс занимает порядка 30сек, а вот на стейдже дело заканчивается падением. Оптимизировать в коде особо нечего. Нет никаких n+1 и т.д. Может кто сталкивался с экспортом большого количества данных и может что-то посоветовать в плане выбора инструмента?

Google
No
11.01.2018
15:12:13
find_each?

Bilal
11.01.2018
15:12:27
Hiii

Kir
11.01.2018
15:13:53
find_each?
Пробовал и замерял время прохода. Разницы особой цифры не показали.

Kir
11.01.2018
15:16:30
сервак виснет

ojab
11.01.2018
15:18:32
Если postgres — можно сделать COPY (SELECT * FROM vacancies) TO куда-нибудь CSV и на стороне рельс ловить/отдавать.

D
11.01.2018
15:18:33
вообще странно что на 90к что то виснет

ojab
11.01.2018
15:18:57
но вообще надо разбираться, почему виснет — это ненормально. Хотя, прозреваю, память кончается.

D
11.01.2018
15:19:28
это не хероку случайно?

Kir
11.01.2018
15:20:04
нет, DO

D
11.01.2018
15:20:46
я бы добавил памяти и посмотрел что будет ?

Roman
11.01.2018
15:20:48
github у меня одного не работает?

D
11.01.2018
15:21:01
у меня тоже

Егор
11.01.2018
15:21:29
сначала лагал минут 5, тперь совсем упал

ojab
11.01.2018
15:23:02
http://status.github.com/ же

Aleksey
11.01.2018
15:28:39
@masterdefy что значит “заканчивается падением” ? что именно падает?

у меня как минимум два варианта - таймаут от БД, и таймаут от nginx, например

а вообще такие вещи решаются background джобой )

Kir
11.01.2018
15:32:24
У меня в голове есть такой вариант, но это несколько другой подход. В таком случае файлик изначально будет сгенерирован и по кнопочке экспорт будет просто скачиваться, а его обновление можно сделать по крону раз в сутки, например.

ojab
11.01.2018
15:48:46
а вообще такие вещи решаются background джобой )
если сервак виснет — не решаются, ага

Google
Aleksey
11.01.2018
15:49:32
автор вопроса не уточнил что именно падает

ojab
11.01.2018
15:49:51
сервак виснет

Aleksey
11.01.2018
15:50:13
а да, сорян

хотя стоп

сервак - это веб-сервер, nginx, или инстанс?

Sergey
11.01.2018
15:52:30
автор, можете кусок кода прислать, который билдит ваш csv ?

Смерть
11.01.2018
15:55:50
О, блин, прочитал дальше, а тут уже все расписали

Sergey
11.01.2018
15:58:46
http://smsohan.com/blog/2013/05/09/genereating-and-streaming-potentially-large-csv-files-using-ruby-on-rails/ можно попробовать

Aleksey
11.01.2018
18:41:16
кто-нибудь знает более менее высокоуровенвые клиенты для Elasticsearch которые работают не только под рельсами?

chewy такой классный, но бляха рельсы

ojab
11.01.2018
18:43:46
Где там рельсы? В зависимостях только activesupport.

Aleksey
11.01.2018
19:06:49
казалось бы нет, но блин https://github.com/toptal/chewy/blob/master/lib/chewy/config.rb#L158

щас

ojab
11.01.2018
19:07:38
иии?

Aleksey
11.01.2018
19:08:32
короче в проекте на синатре в депенденси есть actionview, actionview тянет rails-html-sanitizer и rails-dom-testing, один из них видимо дефайнит модуль Rails, а неточная провека в chewy полагает что это значит все рельсы подтянуты

впрочем я уже нашел альтернативу, она похоже даже больше подходит https://github.com/karmi/retire

Google
Aleksey
11.01.2018
19:12:55
кажется пора отдохнуть от работы ? спасибо за идею с yml конфигом, попробую. надеюсь это единственная такая проверка там

ojab
11.01.2018
19:14:00
и actionview не дефайнит Rails, как минимум $ ruby -raction_view -e 'p defined?(Rails)' nil

так что что-то ещё, вестимо

Aleksey
11.01.2018
19:14:39
https://github.com/rails/rails-dom-testing/blob/master/lib/rails/dom/testing/assertions.rb

а вот депенденси дефайнят

Denis
11.01.2018
19:15:50
Всем привет. Начал учить rspec ну вот столкнулся с ошибкой на первом же тесте





Admin
ERROR: S client not available

Denis
11.01.2018
19:16:22


ojab
11.01.2018
19:16:38
лучше код в gist

версия рельс какая?

Denis
11.01.2018
19:17:32
5.1.4

ojab
11.01.2018
19:17:54
Тогда params надо в аргументе params передавать в виде хеша (т. е. get :show, params: { id: post.id })

Aleksey
11.01.2018
19:17:59
get :show, params: { id: post.id }

Denis
11.01.2018
19:18:26
Я думал и так пойем что хеш из одного элемента в 4 понимал же

ojab
11.01.2018
19:18:38
да, в 5 поменяли

ну и лучше вместо контроллерных спеков писать request-спеки

Denis
11.01.2018
19:19:11
Помогло спасибо)

ojab
11.01.2018
19:19:14
(ибо их в любом случае придётся писать, а если они есть — контроллерные бесполезны)

Google
ojab
11.01.2018
19:21:24
https://relishapp.com/rspec/rspec-rails/docs/request-specs/request-spec

ojab
11.01.2018
19:22:19
не понял о чем ты
сейчас ты тестируешь что контроллер что-то присвоил и что-то отправил рендерится, но тебе в любом случае нужно тестировать что запрос по такому-то url'у пришёл в контроллер и отдалось то что нужно. Это делаю request spec'и.

Denis
11.01.2018
19:24:56
ojab ага понял. Слушайте кто-то может кинуть пример тестирования стандартного контролерра(сгенирированого через скаффолд) для примера. а то нагуглить не могу?

ojab
11.01.2018
19:26:51
rspec-rails же генерирует спеки при создании контроллеров

https://github.com/rspec/rspec-rails/tree/master/lib/generators/rspec/scaffold/templates

Denis
11.01.2018
19:27:52
о спасибо))

Нужно ли тестировать валидацию на модели?

Eugene
11.01.2018
19:39:32
можно протестировать, что она есть

ojab
11.01.2018
19:47:02
Для этого можно заюзать http://matchers.shoulda.io/, как вариант

Denis
11.01.2018
19:50:37
it 'render 404 if an post is not found' do get :show, params: { id: 0 } expect(response.status).to eq(404) end



ojab
11.01.2018
19:52:21
.find в контроллере кидает ActiveRecord::RecordNotFound, до рендеринга даже не доходит

в ответе придёт 500

(но до ответа в спеках не дойдёт)

Denis
11.01.2018
19:54:26
def show if @post render json: @post else head :not_found end end def set_post @post = Post.find(params[:id]) end

Что тут тогда не так?

ojab
11.01.2018
19:55:14
всё так

но нужно ловить ActiveRecord::NotFound вместо else

Страница 1330 из 1684