
Roman
03.08.2018
09:53:46
не только руби
понятно что под капотом оно одно и то же, только не так оптимально
ты прячешь цикломатическую сложность под коврик
потому что сложность это для "чтения", а не для выполнения

Google

Tim
03.08.2018
09:54:53
но она типа ничтожно мала в этих случаях

Roman
03.08.2018
09:54:58
эт да

Dima
03.08.2018
09:55:00

Tim
03.08.2018
09:55:03
да ну понятно
но переводить число в строку чтобы вычленить цифры – имхо хуйня

Roman
03.08.2018
09:55:27
ну опять же код с циклом по определению сложней кода без цикла =)
гг
ruby-way - написать метод, и заманкипатчить Fixnum
не надо даже манкипатчить
вот это истинный руби-вей - чтобы на языке было удобно писать
12345.digits.combination(2).map(&:sum)
вот это нормальное решение
истинно руби =)

Google

Dima
03.08.2018
09:58:50

Roman
03.08.2018
09:59:55
я первый написал =Ъ
а reverse зачем?

Dima
03.08.2018
10:00:14

Roman
03.08.2018
10:00:26
а вижу
вот красота руби как раз в том, чтобы писать "говорящий" код

Dima
03.08.2018
10:06:42
я тут задачку решал на 14 000 000 элементов, и из-за плавающего знания что такое O(n) решал ее 3 дня :)
так что рекомендую.

kapkapbopoh
03.08.2018
10:25:51

Roman
03.08.2018
10:26:39
так что рекомендую.
да, это еще очень любят спрашивать на собеседованиях. но знать действительно надо, пойду освежу

Dima
03.08.2018
10:35:25
О как решают на JS задачу.
function digits(n){
return [...''+n].reduce((o,x,i,a)=>o.concat(a.slice(i+1).reduce((p,c)=>p.concat(+x+ +c),[])),[])
}
пока тут парсить и прасить что написано.
я ее тоже решил, мне открылись решения.

Tim
03.08.2018
10:36:11
щас бы сравнивать в каком языке синтаксический сахар слаще
мне в js не нравится в первую очередь экосистема

Dima
03.08.2018
10:36:45
https://www.codewars.com/kata/every-possible-sum-of-two-digits/javascript

rabbitkate
03.08.2018
10:48:53
всем привет. подскажите пожалуйста, в какую сторону гуглить замену текста через регулярки?

Anton
03.08.2018
10:50:46
ты уверен, что тебе это надо?

Zamira
03.08.2018
10:51:16
В 21 сложно быть уверенным в таких вещах)

Google

rabbitkate
03.08.2018
10:51:38
ну, такое задание ??♀️
я делаю через str.sub, но сказали еще пути поискать. гугл не помогает, либо неправильно ищу (скорее второе)

Anton
03.08.2018
10:53:50
ты задачу опиши, может тебе там регулярки и не нужны

Dima
03.08.2018
10:53:52

rabbitkate
03.08.2018
10:57:16

Tim
03.08.2018
11:10:01
поцоны, кто че скажет о гемах roar и grape-roar

Anton
03.08.2018
11:10:11
Медленные
Посмотри на сюрреалиста

Tim
03.08.2018
11:11:29

Anton
03.08.2018
11:11:59
Тебе этого мало?

Tim
03.08.2018
11:13:13
ну не я принимаю решения какие гемы на проекте юзать, поэтому хотелось бы заранее знать минусы и плюсы предложенного варианта
я вообще за poro, но сказали, что велосипед

Alexander
03.08.2018
11:15:15

Tim
03.08.2018
11:15:24
ну типа
чтобы не в модели указывать как представлять, а создавать декораторы

Alexander
03.08.2018
11:15:40
о. если найдешь что нибудь нормальное, напиш плз

Tim
03.08.2018
11:15:44
с эдаким dsl
ну вот Антон говорит про сюрреалиста, я на проекте буду это юзать

Google

Tim
03.08.2018
11:16:55
но мне кажется декоратор\репрезентер надо фигачить в poro, чтобы чужие абстракции не тащить. но может я болею NotImplementedHere
ну я гляну сюрреалиста в свободное время, в любом случае спасибо

Anton
03.08.2018
11:17:42

Nikita
03.08.2018
11:18:02
а чем fastjson плох?

Anton
03.08.2018
11:18:19
пока это мой фоварит в таких штуках, с презентером шикарно выглядит

Tim
03.08.2018
11:19:29
ну примеры мне кстати больше нравятся

Black
03.08.2018
11:58:53
Ребят, ответьте пожалуйста на вопрос toster.ru/q/551667

Admin
ERROR: S client not available

Alexey
03.08.2018
12:02:08
(foo1 - foo2).blank?
если размеры массивов одинаковые и сравниваем массивы
foo1 & foo2 == foo1 так наверное можно, если размеры не равны

Roman
03.08.2018
12:03:39
это если ты в заглавии написал то что действительно надо, потому что в самом вопросе у тебя совсем разные хеши

Alexey
03.08.2018
12:05:34
в примере вообще про массивы, так что до конца не понятно

Igor
03.08.2018
12:54:45
ребят может кто имел опыт, знает
Под определенным субдоменом находится апи метод, который обрабатывает request, и в зависимости от результата обработки, перекидывает на фронт (под тем же главным доменом), и устанавливает куки. Этот установленный апихой куки должен быть доступен во фронте (ангулар). Проблема в том что эти куки не видно
(апи это рельсы)

rekero
03.08.2018
13:02:13

Alexander
03.08.2018
13:05:58

Roman
03.08.2018
13:22:21

Google

Igor
03.08.2018
13:31:36

kolas
03.08.2018
14:04:30

Zamira
03.08.2018
14:10:53
Коллеги, есть кто активно использует оконные функции postgres в рельсо-проекте?

Roman
03.08.2018
14:14:50
не то, чтоб прям активно... есть конкретный вопрос?

Zamira
03.08.2018
14:31:18
не то, чтоб прям активно... есть конкретный вопрос?
Да запрос с row_number() over ( partition by.. ) дает ошибку, почему не могу понять
Product.select('products.id, SUM(items.courier_amount), row_number() OVER (
PARTITION BY shops.group
ORDER BY SUM(items.courier_amount) DESC) ')
.joins(:shop, items: :order, model: :picture)
.group('products.id')
.having('SUM(items.courier_amount) > 1 and row_number() <= 2')
.order('shops.group')
при исполнении ошибка row_number() require over statement и указывается на строку с having. Почему-то исполнитель кода не видит стейтмент с over в селекте. Но почему?

Roman
03.08.2018
14:35:00

Zamira
03.08.2018
14:35:35

Roman
03.08.2018
14:35:59
напиши в конце .to_sql
посмотрим чо оно генерит ваще

Zamira
03.08.2018
14:36:29
SELECT "products"."id" FROM "products" INNER JOIN "shops" ON "shops"."id" = "products"."shop_id" INNER JOIN "items" ON "items"."product_id" = "products"."id" INNER JOIN "orders" ON "orders"."id" = "items"."order_id" INNER JOIN "models" ON "models"."id" = "products"."model_id" INNER JOIN "pictures" ON "pictures"."model_id" = "models"."id" WHERE ( "shops"."city_id" = $1 AND (num <= 2) GROUP BY products.id HAVING SUM(items.courier_amount) > 1 ORDER BY shops.group)

Roman
03.08.2018
14:37:02
и где тут over?

Zamira
03.08.2018
14:37:49
Ой прости
не то
SELECT products.id, SUM(items.courier_amount), row_number() OVER (
PARTITION BY shops.group ORDER BY SUM(items.courier_amount) DESC) as num
FROM \"products\"
INNER JOIN \"shops\" ON \"shops\".\"id\" = \"products\".\"shop_id\"
INNER JOIN \"items\" ON \"items\".\"product_id\" = \"products\".\"id\"
INNER JOIN \"orders\" ON \"orders\".\"id\" = \"items\".\"order_id\"
INNER JOIN \"models\" ON \"models\".\"id\" = \"products\".\"model_id\"
INNER JOIN \"pictures\" ON \"pictures\".\"model_id\" = \"models\".\"id\"
WHERE (\"shops\".\"city_id\" = 1
GROUP BY products.id
HAVING SUM(items.courier_amount) > 1 and num <= 2
ORDER BY shops.group
и где тут over?
Это был вывод с лога сервера. В to_sql есть, а при выполнении какой-то странный запрос нагенерил. Это получается активрекрд игноирит этот кусок с оконной функцией?

Roman
03.08.2018
14:40:15
не ну to_sql - это то, что посылает АР
может у тебя на сервере чето вырублено?

Иван
03.08.2018
14:40:40
оконные функции применяются же вроде после того как уже прошли все where having итп

Roman
03.08.2018
14:40:53
не

Zamira
03.08.2018
14:41:05
да