Size: a a a

Чат по руби

2021 February 19

AS

Alex Sherman in Чат по руби
в итоге аллокация памяти растет как снежный ком
источник

DG

Denis Gavrilin in Чат по руби
Nate конечно батя оптимизации, у него если свой курс или книга кстати https://www.railsspeed.com/ https://www.speedshop.co/ И в твиттере бывает типсы постит
источник

DG

Denis Gavrilin in Чат по руби
Skylight норм, но очень ограничен функционал
источник

AS

Alex Sherman in Чат по руби
Нейт и посоветовал
у меня админы сидят с нагиусом, а мне надо было что-то внутри приложения, но не такое монструозное, как релик
источник

DG

Denis Gavrilin in Чат по руби
Ну да, если просто найти примерно где проблема - отличный вариант
источник

P

Paul in Чат по руби
пост украли
источник

P

Paul in Чат по руби
только что тут был
источник

GG

Gleb Grishakov in Чат по руби
Paul
пост украли
Гайз, привет)
Кто подскажет, как сделать:
Надо обновить 2 поля на основе поля created_at этой же модели
Что-то вроде этого, только без N+1

```
def populate_competitions_dates
 Competition.all.each
do |comp|
   start = comp.created_at.beginning_of_month
   ending = comp.created_at.end_of_month
   comp.update(
starts_at: start, ends_at: ending)
 
end
end

```
источник

GG

Gleb Grishakov in Чат по руби
кек
источник

DK

Denis K in Чат по руби
Всем привет!
в книге стр. 133-134 есть пример с работой массива.
В первом случае показан пример "Выбираем (select) мужчин в возрасте 64 лет:"
 arr.select { |element| element[0] == 64 && element[1] == 1 } 


element[1] == 1 - это условие на отбор мужчин, как я понимаю

ну и собственно после идет выбор мужчин

 arr.select { |element| element[1] == 1 } 


слудующий пример сбивает с толку
"Отсеять всех мужчин старше 30 лет (и выслать остальным повестку в военкомат):"

 arr.reject { |element| element[0] >= 30 } 


Разбираем новый оператор reject, не удовлетворяющих условию.
- Во-первых выбираем только по возрасту
- Во-вторых у нас возвращает девушку возрастом 25 лет
исходный массив
arr = [ [30, 1], [25, 0], [64, 1], [64, 0], [33, 1] ]

в irb/pry ответ
[[25, 0]]


или я что-то не до понял, или ошибка в примере книги
источник

P

Paul in Чат по руби
arr.reject { |element| element[0] >= 30 } 
сам по себе отсеивает без привязки к полу
источник

DK

Denis K in Чат по руби
Paul
arr.reject { |element| element[0] >= 30 } 
сам по себе отсеивает без привязки к полу
Тогда контекст не верно изложен. Цитата: "(выбран 1 элемент двадцати пяти лет, который скоро пойдет в армию)"
источник

DK

Denis K in Чат по руби
Кстати, ребят, подскажите, пожалуйста, как это работает
 [0, 0, 1, 1, 0, 0, 1, 0].count(&:zero?) 

count - понятно
метод zero? - понятно
что значит амперсант и двоеточие??
источник

SR

Shattered Ruby in Чат по руби
Denis K
Кстати, ребят, подскажите, пожалуйста, как это работает
 [0, 0, 1, 1, 0, 0, 1, 0].count(&:zero?) 

count - понятно
метод zero? - понятно
что значит амперсант и двоеточие??
Это тож самое, если написать
array.count do |i|
 i.zero?
end

А здесь мы упрощаем и пишем
array.count(&:zero?)
источник

SR

Shattered Ruby in Чат по руби
& переводит в блок входной параметр, а двоеточие это запись символа :symbol, поэтому двоеточие это не отдельный параметр, а всего лишь часть записи типа данных
источник

SR

Shattered Ruby in Чат по руби
Если интересно как это работает в более детальном смысле
источник

SR

Shattered Ruby in Чат по руби
источник

SR

Shattered Ruby in Чат по руби
источник

SR

Shattered Ruby in Чат по руби
В секции calling methods
источник

DK

Denis K in Чат по руби
Shattered Ruby
В секции calling methods
Спасибо! Почитаю
источник