
Nick
08.04.2016
18:56:05
Я бы сказал, что на миллионах запросов надо паджинацию использовать )
На миллионах записей

Yuri
08.04.2016
18:56:53
На анализе данных например.

Nick
08.04.2016
18:58:24
При анализе рельсам НУЖНО возвращать только результат с ним они справятся. Остальное разруливать либо на уровне БД, либо отдавать чему-то пошустрее. Если речь о действительно тяжелой аналитике

Google

Yuri
08.04.2016
18:58:53

Nick
08.04.2016
19:02:27
Пересечение, значит ) Ладно, буду дома посмотрю. Внимательность в дороге хромает

Vasilij
08.04.2016
22:00:39
простите, но код реально пиздец. человек банально не знает синтаксиса (просмотр на протяжении 1-2 сек показал явное незнания о существовании map) не говоря уже о багальных переносах строки и как сделать так, чтобы код исполнялся при переносах
горизонтальный скролл - полный пиздец
опять таки первые строки - 2 запроса в базу вместо 1. и этот человек говорит о перформансе

Silent Bob
08.04.2016
22:10:20
оно? https://github.com/arbox/ruby-style-guide/blob/master/README-ruRU.md

Vasilij
08.04.2016
22:10:27
да, оно. Только лучше уж оригинал - непонятно перевели ли изменения
https://github.com/bbatsov/ruby-style-guide/blob/master/README.md
ох уж эти мамкины оптимизаторы
if genres_size == 0
genres_count = 0
да это же МЕМЕСЫ

Google

NewsBot pro.ruby
08.04.2016
23:55:39
Free GitLab Pages w/ Static (Web)Site Builders e.g. Jekyll, Middleman, Nanoc, etc. https://t.co/qU4UxYIbEp

Yuri
09.04.2016
03:54:01
@sqrel сделать в один запрос не позволяют ограниченные ресурсы сервера. Я и не говорю что код идеальный, его можно уменьшить. Единственное с чем я могу еще согласиться - это использование лишних переменных, что создает лишнюю работу для GC. Но мой посыл был в другом. Что разработчика оценивают по оформлению, а не потому как он решает задачу.

Vlad
09.04.2016
04:03:06
А ты многим показывал этот код? )


Vasilij
09.04.2016
07:52:01
@sqrel сделать в один запрос не позволяют ограниченные ресурсы сервера. Я и не говорю что код идеальный, его можно уменьшить. Единственное с чем я могу еще согласиться - это использование лишних переменных, что создает лишнюю работу для GC. Но мой посыл был в другом. Что разработчика оценивают по оформлению, а не потому как он решает задачу.
Моя теория с мамкиным оптимизатором оправдалась. Читаемый код важен потому, что железо дешевле чем девелоперы, которые будут месить и разбирать подобное г-но. Я видел подобное в реальном проекте - это была просто жопа. Везде костыли и “оптимизации” - понадобилось уйма времени чтобы сделать минимальную фичу, и что ска важно, ничего не сломать. Ну а потом я попросту дропнул проект ибо нервы важнее.
Ты считая мемори алокейшены на переменные (что прекрасно дает понять, что руби ты вообще не знаешь, хотя это было и так понятно. В руби переменная это ссылка), занимаясь микрооптимизацией, не понимаешь, что месяц программиста стоит 2-4к$, а месяц сервака на хетснере от 10$ до 100$ (если что-то очень ож большое надо). И чем более читабелен код тем болльше программист может сделать за этот месяц
какие ограниченные ресурсы? Ты на нокии сервер крутишь?
я, к примеру, за 6евро на хетснере взял впс с 2гб рама. 6евро не большие деньги вообще
@weazar а самое главное - у тебя там просто жопа с базой. Ты почему-то вытаскиваш 20000 ид, потом по ним проходишся каждый раз выбирая фильм с этой же ид. Каждый раз вытаскивая из базы :genres, :subgenres, :countries, :tags, :people для фильма, который идет для сравнения почему-то не кешируя это все дело. Сумарно у тебя 1 огромадный запрос, и 20000 чуть поменьше. При том, что у тебя 20000 идшок висит в памяти всегда. И это тот человек, который говорит об оптимизации на уровне количества переменных!


NewsBot pro.ruby
09.04.2016
10:54:58
The Beginner's Guide: Scraping in Ruby Cheat Sheet https://t.co/fa2VVn78B1

Roman
09.04.2016
11:08:10
Народ, а не подскажите сто лучше использовать если нужна связка “микрофреймворк + AR”.
Код для хакатона будет, прототип не более - хорошо бы чтобы связка из коробки.
Собственно вопрос в том, какой из микрофреймворков лучше/легче дружить с AR?

Vlad
09.04.2016
11:08:46
почему не rails?

Roman
09.04.2016
11:09:00
Потому что жирный middleware

Nick
09.04.2016
11:09:33
Что сервить хочешь?

Roman
09.04.2016
11:09:44
Мне не нужно 90% рельсы. Будет промо страница и один жирный API endpoint
и куча plai ruby кода использующего AR
*plain

Vadim
09.04.2016
11:10:16
Sinatra

[Anonymous]
09.04.2016
11:10:19
А почему не Sinatra?

Nick
09.04.2016
11:10:30
Мм. Есть rails-api. Либо sinatra

Vasilij
09.04.2016
11:10:49
Хинами?
Или как там сейчас лотус зовется

Google

Roman
09.04.2016
11:11:11
потому что этих микрофреймворков как грибов после дождя сейчас) Может есть что-то интересней синатры. Типа подвязка API из коробки.
Hanami не micro)

[Anonymous]
09.04.2016
11:11:21
Grape?

Nick
09.04.2016
11:11:26
НЕ grape

[Anonymous]
09.04.2016
11:11:27
Но я бы предпочёл Sinatra.

Roman
09.04.2016
11:11:27
подвязка AR*

[Anonymous]
09.04.2016
11:11:47

Vasilij
09.04.2016
11:11:50
На hinami можно и ар
Там орм агностик и он модулярен

Roman
09.04.2016
11:12:05
Ок, может кто-нибудь подсказать наиболее каноничный/правильный способ в синатру вкрутить AR c миграциями?

[Anonymous]
09.04.2016
11:12:22

Roman
09.04.2016
11:12:24
На hanami гляну ща

Vasilij
09.04.2016
11:12:24
Лучше уж рейлс-апи тогда

Roman
09.04.2016
11:13:48
https://github.com/janko-m/sinatra-activerecord - вот это ровно то, что нужно. И звездочек много - значит юзают)) Спасибо

Nick
09.04.2016
11:16:53
Grape плохо расширяется, становится неудобным с ростом наворотов, если хочешь нормальный шаблонизатор подключить, приходят страдания (в одних есть неприятные иши, другие не поддерживаются уже как год). Субъективно, но последний опыт с грейпом в проекте с мало-мальски нажранным апи был отвратительным.
сериализатор* )

[Anonymous]
09.04.2016
11:17:27
У него хакатон же.
Ему бутстрапить нужно срочно, а не о масштабировании думать. Поправьте меня, если я ошибаюсь, конечно.

Nick
09.04.2016
11:17:52
Меньше всего хочется в условиях ограниченного времени решать проблемы неудобного инструмента )

[Anonymous]
09.04.2016
11:17:56
Возможно.

Ilnar
09.04.2016
11:44:00
не правда

Google

Ilnar
09.04.2016
11:44:49
нет

Roman
09.04.2016
11:45:13
Для хакатонства нужны максимально простые и понятные из занокомых или легких в осыоении инструментов. Потому я и спрашивал тут, чтобы откалибровать свое иходное решение sinatra + AR.
А брать инструменты, которые могут выстрелить в ногу - плохо, m’okay?
=)

Vasilij
09.04.2016
11:45:38
Уровня /b

Nick
09.04.2016
11:45:50

Ave
09.04.2016
11:49:09
/b

Vlad
09.04.2016
12:36:46
исходя из этого я бы взял rails :)
Для хакатонства нужны максимально простые и понятные из занокомых или легких в осыоении инструментов. Потому я и спрашивал тут, чтобы откалибровать свое иходное решение sinatra + AR.
А брать инструменты, которые могут выстрелить в ногу - плохо, m’okay?

Roman
09.04.2016
12:58:54
“максимально простые”

Yuri
09.04.2016
13:19:20
@sqrel ты помоему просто в коде не разобрался. Там как раз все закэшировано. И обрабатывает он не 20000, а 8000000000 запросов из которых только 800000 прямых. А сервер заказчика и работаю я с тем, что есть.
А как мне вчера ответили из компании, код не прошел ревью из-за, того что не использовал фишки AR (что спорно), map и много переменных.


Vasilij
09.04.2016
14:01:01
да нет, разобрался. Я говорил только о тех, которые могут быть прокоментированы одним словом - пиздец. Ты вместо использования find_each вытаскиваешь 20000 ид (что при самом лучшем исходе - id начинается с 0 уже около 100кб). Полно запросов, где ти вытаскиваешь ВСЕ а используешь только id (типа https://gist.github.com/weazar/81fec7d442638c409fbc1e546be8b7ae#file-example-rb-L33 ). В этих вообще логики 0 https://gist.github.com/weazar/81fec7d442638c409fbc1e546be8b7ae#file-example-rb-L44 это все можно заменить
@film.genres.pluck(:id) & comparison.genres.pluck(:id)
Когда я говорил, что у тебя полно одинаковых запросов (а имено 99995 лишних) я имел ввиду подобное
https://gist.github.com/weazar/81fec7d442638c409fbc1e546be8b7ae#file-example-rb-L57
т.е. ты вместо того, чтобы сделать
def movie_subjecres_ids
@film.subjenres.pluck(:id)
end
каждый раз делаешь запрос.
Развивай критическое мышление и убери пелену уверенности в собственной правоте с глаз
А как мне вчера ответили из компании, код не прошел ревью из-за, того что не использовал фишки AR (что спорно), map и много переменных.
если честно, то этот код заслуживает почесно место на govnokod.ru


Yuri
09.04.2016
14:08:11
Блин говорить неочем, pluck(:id) сделает запрос к базе, а у меня данные в памяти. Ладно удачи тебе.

Vasilij
09.04.2016
14:14:15
што

Roman
09.04.2016
14:23:09
Я гляжу тут что то интересное
Но я похоже подошел поздно ?

@proDOT
09.04.2016
15:12:59
Кто хочет в Минск на RubyConfBY бесплатно: https://vk.com/codenamecrud?w=wall-69141072_422

MaXG
09.04.2016
16:29:33
Бодрого всем

Google

NewsBot pro.ruby
09.04.2016
17:54:47
I made a gem for interacting with Rails 5's ActionCable https://t.co/MLkIThPZQK

[Anonymous]
09.04.2016
18:00:23

@proDOT
09.04.2016
18:48:59

NewsBot pro.ruby
10.04.2016
02:24:48
One Rails App With Many Databases https://t.co/0MwbAb4rux

Denis
10.04.2016
05:37:32
ребят, кто с rmagick работал? Есть картинка, на которую нужно наложить текст, это я сделал, но для текста нужен полупрозрачный фон (полупрозрачный фон на всю картинку с отсупами 30 пикселей от краев). Кто-нибудь знает как это реализовать?
Как-то так. И еще вопрос, как можно сделать часть слова другим цветом? (последняя строка)

Vadim
10.04.2016
06:04:12
Css не актуален?

Denis
10.04.2016
06:04:48
А как сгенерировать картинку из css?) Мне именно картинка нужна, чтоб ее потом в твиттер постить

aodzaki.toko
10.04.2016
06:05:33
Денис попробуй через gravity, вот линк http://rmagick.rubyforge.org/src_over.html

Denis
10.04.2016
06:05:47

aodzaki.toko
10.04.2016
06:06:06
Пока не за что)

Roman
10.04.2016
06:06:51
так можно вроде взять 1 картинку, на неё запендерить вторую - фон png а потом текст туда еще 3ьей картинкой наклипать