@rubylang

Страница 1397 из 1684
Lavrushchik
22.02.2018
12:36:42
или не то?

ojab
22.02.2018
12:36:49
прозреваю что имеется в виду .having('COUNT = 1')

Roman
22.02.2018
12:37:00
distinct(:name).pluck.uniq!, не?
мне нужны все поля таблицы

UNIQUE?
юзеры - как пример, это поле не обязательно уникальное, мне нужен просто запрос такой

Google
Roman
22.02.2018
12:44:05
User.select(:name).distinct
мне нужны все поля :(

Dasha
22.02.2018
12:44:13
Все поля там

А, сори

ojab
22.02.2018
12:48:30
мне нужны все поля :(
А поля каких записей ты планируешь получить при distinct(:name)?

учитывая что записей с одинаковым name несколько

Roman
22.02.2018
12:49:15
ну да, средствами sql это так сходу не сделать

Артур
22.02.2018
12:52:47
но sql это же как раз про выборку данных

ojab
22.02.2018
12:58:07
ну, допустим, первых попавшихся
select *, row_number() over (partition by name) where row_number = 1, как вариант

Иван
22.02.2018
12:58:27
select("DISTINCT ON (name) *").order("name, created_at DESC")

Nikita
22.02.2018
12:59:52
если не в тысячи. понятно что для клиента с запросами раз в минуту это неважно
У автора статьи, кстати, неправильный эксперимент, так как в примерах c rescue есть интерполяция, вызов inspect и т.д. Если проводить эксперимент корректно, то получаем разницу во времени в пять раз. Когда говорил, что замерил render 404 и fail ActiveRecord::RecordNotFoun - неправильно выразился) имел ввиду, что нет разницы, имеющей прикладное значение) А так разница, конечно, есть, только измеряется она в микросекундах.

Google
Aleksey
22.02.2018
13:01:49
ну я так и сказал )если речь про обычные веб приложения для браузера то до фени, ошибками довольно удобно прокидывать ответы, а если это какой-то апи эндпоинт который “ддосят” по 5000 запросов в минуту тут уже играет роль каждая милисекунда )

полгода назад как раз боролся с такой фигней, отвык вообще все оптимизировать (руби же и так медленный лол :D), а по факту после кучи таких мелочей перформанс увеличился прям сильно ?

biert
22.02.2018
13:05:43
а как же тестеры узких мест

они помогают найти самые жирные места, потом можно и порефакторить)

Ivan
22.02.2018
13:28:44
он для этого и создан, версии вместе с зависимостями в Gemfile.lock лежат
А в установленном геме же нет Gemfile.lock, это только в исходнике.

ojab
22.02.2018
13:32:11
ну, его надо создать, очевидно (вместо создания гемсета). Если нужно просто запустить бинарник из гема определённой версии — даже bundler не нужен, это rubygems из коробки умеют: $ rails _5.2.0.rc1_ --version Rails 5.2.0.rc1 $ rails _5.1.5_ --version Rails 5.1.5

Ivan
22.02.2018
13:35:48
ого, даже ~> работает

а gem dependency показыват все зависимости с версиями. В общем спасибо, покопаю в эту сторону.

Roman
22.02.2018
13:39:48
Бывали ли у кого проблемы, что пума течет по памяти? htop показывает кучу запущенных воркеров от пумы. Использовал ли кто https://github.com/schneems/puma_worker_killer?

Dmitry
22.02.2018
13:43:50
ну да, зачем искать источник проблем, когда можно пуму перезапускать, как быстрое решение может и пойдет, но на постоянку я бы не советовал.

Roman
22.02.2018
13:45:11
Dmitry
22.02.2018
13:48:24
Я бы начал с бд, были случаи когда соединение не закрывалось и поток пумы висел продолжая жрать постепенно память

Ivan
22.02.2018
13:50:07
> htop показывает кучу запущенных воркеров от пумы. Встречалась проблема из-за бага в TimerTask. https://github.com/ruby-concurrency/concurrent-ruby/issues/639

Dmitry
22.02.2018
13:51:51
Да, бывает что гем может течь вызывать, на русском статья/детектив на эту тему есть

ojab
22.02.2018
13:53:47
А память действительно течёт, а не просто увеличивается до какого-то плато?

Roman
22.02.2018
13:54:00
жесть, просто гаданием это сложно решить :(

сервер стейдж, нагрузки нет вообще, забито 1гб ram и еще своп почти на столько же

Google
Dmitry
22.02.2018
14:00:47
давно так себя ведет? может это после обновления какого крупного началось?

ojab
22.02.2018
14:05:09
А воркеров сколько?

Roman
22.02.2018
14:05:52
давно так себя ведет? может это после обновления какого крупного началось?
ну прям дискомфорт стало доставлять пару дней назад, сейчас запрос может обрабатываться секунд 20)

Artem
22.02.2018
14:06:24
Как из "text" получить json ['text']

Roman
22.02.2018
14:06:40
А воркеров сколько?
много, около 50

ojab
22.02.2018
14:08:13
50 пумовских воркеров, т. е. они занимают по 40МБ?

(я про процессы, если что)

Roman
22.02.2018
14:10:23


Vasiliy
22.02.2018
14:11:03
эт треды наер

ojab
22.02.2018
14:11:33
135 метров на воркера, вполне ок.

Roman
22.02.2018
14:11:49
но их очень много

ojab
22.02.2018
14:12:34
это треды одного и того же воркера, они все вместе занимают эти самые 135 метров (на всех в cluster worker 0).

Roman
22.02.2018
14:14:12
так, то есть проблема не в пуме?

ojab
22.02.2018
14:18:15
Ну, все воркеры ты не показал, так что хз. Смотри кто из процессов её ест (top -> >, отфильтрует процессы по памяти (или читай мануал к htop или что там на скриншоте)).

Vasiliy
22.02.2018
14:43:11
там вроде можно фильтрануть чтобы оно групировало

Dmitry
22.02.2018
16:36:48
А можно с гитхаб на битбакет переехать с сохранением истории коммитов?

Хотя бы те что в мастере

Nikita
22.02.2018
16:42:19
https://docs.gitlab.com/ee/user/project/import/bitbucket.html

Dmitry
22.02.2018
16:52:06
Сейчас почитаем, спасибо

Google
Nikita
22.02.2018
17:16:48
дарю идею
Это слишком просто

Anton
22.02.2018
17:19:31
Это не для тру хакеров

Dmitry
22.02.2018
17:28:27
git clone github && git push bitbucket
А разве так история коммитов сохраниться?

ojab
22.02.2018
17:29:42
git — DVCS, i. e. в каждом репозитории хранится абсолютно вся информация о репозитории. Т. е. в локальной копии есть всё, что есть в гитхбе, а при пуше ты это всё заливаешь в битбакет.

(по умолчанию пушится и клонируется только один бранч, это решается флажками к clone/push)

Anton
22.02.2018
17:37:12
При этом, можешь поднять свой гит сервер и туда ещё запушить, и все сохранится (все ветки, какие запушишь)

v
22.02.2018
17:45:09
хех

вот так пользуешься гитхабом 5 лет

а оказывается, еще и гит какой-то есть :D

Nursultan
22.02.2018
19:00:08
Всех с днём рождения Ruby!!!!

Dmitry
22.02.2018
19:01:57
Так 24 вроде же?

Nikita
22.02.2018
19:02:06
Сегодня)

Nursultan
22.02.2018
19:03:58
Всех кто в Алмате и восточнее в таком случае)

Decadent
22.02.2018
19:03:59
руби какой-то. кто это?

Dmitry
22.02.2018
19:04:30


Decadent
22.02.2018
19:05:01
чертовы китайцы

Dmitry
22.02.2018
19:07:38
Японцы, если что

Google
Nikita
22.02.2018
19:08:10
Нашему любимому языку Ruby исполняется 25 лет. В Твиттере — признания в любви: https://twitter.com/search?src=typd&q=ruby25th

Decadent
22.02.2018
19:08:48
Японцы, если что
Не может быть! ?

Dmitry
22.02.2018
19:09:02
Сам не верю

Artur
22.02.2018
19:10:10
А вот и матц подтянулся. https://twitter.com/yukihiro_matz/status/966699329346985984

расходимся, бухать надо в субботу

Dmitry
22.02.2018
19:11:52
Начать можно и сегодня, главное к понедельник остановиться

Stanislav
22.02.2018
19:12:06
матц мерзавец, у руби аж несколько дней рождений, можно не просыхать

Anton
22.02.2018
19:12:57
Точнее 24

ⰿⰰⰾⱏ
22.02.2018
19:46:50
Так 24 вроде же?
с 22го февраля по 24го декабря)

No
22.02.2018
20:05:20
Обьясните

А почему 25

Если в 95 появился

Откуда отсчет ведется?

Anton
22.02.2018
20:06:43
В 93

No
22.02.2018
20:08:28
First appeared1995; 23 years ago

Это с вики

Мне интересна точка отсчета

Начало разработки

Или первый релиз

Или че там еще

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