@proRuby

Страница 1332 из 1594
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
ну конкретно to_s нет конечно, но по сути ты прав
это необходимость для Ruby 2.3 так можно digits использовать.

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
ну конкретно to_s нет конечно, но по сути ты прав
def digits(num) p num.digits.reverse.combination(2).map(&:sum) end

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

а reverse зачем?

Dima
03.08.2018
10:00:14
а reverse зачем?
для тестов. они захардкодены

Roman
03.08.2018
10:00:26
а вижу

вот красота руби как раз в том, чтобы писать "говорящий" код

Dima
03.08.2018
10:06:42
Тут как минимум лишний проход по циклы, зачем тебе отдельно делать map(&:to_i)?
Дабы 2 раза не вставать. Интересные видосы про O(n) 1) почему медленный O(n) побеждает быстрый O(n^2) https://youtu.be/MyeV2_tGqvw 2) почему 1000000n == O(n) https://youtu.be/v4cd1O4zkGw

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

так что рекомендую.

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
ты задачу опиши, может тебе там регулярки и не нужны

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

ну я гляну сюрреалиста в свободное время, в любом случае спасибо

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
Ребят, ответьте пожалуйста на вопрос toster.ru/q/551667
pry@2.5.1(main)> {a: :a, b: :b}.sort === {b: :b, a: :a}.sort => true

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

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

Igor
03.08.2018
12:54:45
ребят может кто имел опыт, знает

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

(апи это рельсы)

rekero
03.08.2018
13:02:13
Roman
03.08.2018
13:22:21
Google
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 в селекте. Но почему?

Zamira
03.08.2018
14:35:35
так разве не надо заименовать row_number as 'rn' и потом делать rn <= 2 ?
Пробовала конечно же. В таком случае undefined column rn. По сути аналогичная ошибка

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
да

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