
Roman
22.04.2018
18:58:51
он форкается и у него один мастер и кучка воркеров
сколько воркеров, столько одновременных запросов может обрабатываться
но перед ним надо ставить еще nginx потому что unicorn подвержен медленным клиентам

Google

Roman
22.04.2018
19:00:20

ojab
22.04.2018
19:00:56

Alex
22.04.2018
19:05:23
Получается для обработки большего количества клиентов нужно увеличивать количество воркеров и у Puma и у Unicorn

Roman
22.04.2018
19:25:06

Alex
22.04.2018
19:28:15

Denis
22.04.2018
22:22:01
Кстати кто-нибудь замерял passenger vs puma?

Dmitry
23.04.2018
00:08:13

Anton
23.04.2018
00:08:47
просто f набери теперь
и посмотри что там лежит

Dmitry
23.04.2018
00:09:27
Точно, оно же возвращает результат, а не значение f ?

Anton
23.04.2018
00:09:28

F
23.04.2018
06:50:54
Сатанисты начали контрибьютить в rails https://github.com/rails/rails/pull/32582

Google

Roman
23.04.2018
06:52:36

rekero
23.04.2018
06:52:58
а люди еще спрашивают, как начать коммитить в опенсорс

Roman
23.04.2018
06:53:05
factory girl уже зохавали. теперь и сюда лезут

Aleksey
23.04.2018
06:55:10

Stas
23.04.2018
06:56:15

Dmitry
23.04.2018
06:57:30

Личная
23.04.2018
07:22:20

ShadoWalkeR
23.04.2018
07:28:15
Кажется это начало конца

Личная
23.04.2018
07:29:36
Ну как-то обидно, а под каждым пулл реквестом разработчики отдельный пост со спасибо оставляют?
По сути нихрена же не сделано, а столько благодарностей.

Stas
23.04.2018
07:30:15
Да ладно чё вы, за "кодревью на толерантнтость" будущее ?

ShadoWalkeR
23.04.2018
07:30:24
Как не сделано? Из примеров удалено гендерное угнетение ?

Aleksey
23.04.2018
07:32:13

Личная
23.04.2018
07:32:33
Я проверил остальные пулл реквесты, видимо, это автоответ :)

Aleksey
23.04.2018
07:32:48
а слово “-bot” в приставке тебя не смутило? :D

Личная
23.04.2018
07:33:16
у меня второй монитор мелкий и плохо видно :( я просто прочитал ответ

Aleksey
23.04.2018
07:33:17
вобще у меня пригорело эт этого пул реквеста

Dima
23.04.2018
07:35:37
Вообще-то если знать историю, то все не так однозначно. Был такой дяденька Алан Тьюринг, его залечили до смерти.
Логотип Эпл, это как раз дань уважения к Алану Тьюрингу, который по одной из версий отравился яблоком.

Google

ShadoWalkeR
23.04.2018
07:38:15
Сегодня не тогда

Личная
23.04.2018
07:38:38
Да никто не против трансгендеров. Ну я лично. Просто юзлес, ладно бы хоть опечатка где-то была.

ShadoWalkeR
23.04.2018
07:39:03
Вообще первые феминистки боролись за то, чтобы у женщин было прав больше чем у собаки. Сегодня феминистки борятся за то, чтобы у мужчин прав было как у собаки

Dima
23.04.2018
07:39:24
понятное дело.

Личная
23.04.2018
07:39:57
Это же кончается квотами на рабочих местах и неконкурентной борьбой =/

Aleksey
23.04.2018
07:42:23
а замержили видимо только потому чтобы под пул реквестом не разгорелся срач и потом где-нибудь напишут что рельсы не толерантный фреймворк

Максим
23.04.2018
09:40:46
Понятно
Уж лучше буду изучать синатру

Stas
23.04.2018
09:41:51

Aleksey
23.04.2018
09:50:27
на рельсах пишут п***ры, в ж**у еб**ся, каждый второй смузи попивает за новеньким макбуком, рейбаны носит и раз в неделю захаживает в барбершоп, гироскутеры меняют как перчатки
другое дело синатра: суровые бородатые мужики, женаты, по трое детишек нарожали, кодят на синкпадах с гентушкой, в опенсорс контрибьютят, в качалочку каждый день, в детские дома игрушки носят, бабушек через дорогу переводят

Личная
23.04.2018
09:55:39
чето никогда не видел в требованиях к знаниям синатру

Dmitry
23.04.2018
10:02:14
Это не главное

Ivan
23.04.2018
10:40:15
на рельсах пишут п***ры, в ж**у еб**ся, каждый второй смузи попивает за новеньким макбуком, рейбаны носит и раз в неделю захаживает в барбершоп, гироскутеры меняют как перчатки
другое дело синатра: суровые бородатые мужики, женаты, по трое детишек нарожали, кодят на синкпадах с гентушкой, в опенсорс контрибьютят, в качалочку каждый день, в детские дома игрушки носят, бабушек через дорогу переводят
хахахаха

alteregoizm
23.04.2018
11:33:38

Silent Bob
23.04.2018
12:20:13
Подскажите плиз: есть класс у которого есть свойство options (хеш). Мне нужно чтобы когда вызывался геттер для этого свойства на классе, в ответ возвращался смерженный хеш с таким же свойством parent класса (в идеале и parent parent'a), если у него есть такое же свойство. Грубо говоря:
class Base
@options = {
some_option: "some value"
}
end
class App < Base
@options = {
one_another_option: "one another value"
}
end
class Cusom < App
@options = {
custom_option: "custom value"
}
end
Custom.options # => { some_option: "some value", one_another_option: "one another value", custom_option: "custom value" }
Мне нужно что-то подобное.

Roman
23.04.2018
12:26:46
Создай в custom метод options и делай там что хош

Dima
23.04.2018
12:28:34
вот такую переменную можно выдернуть из класса родителя через мето. Потому что переменная присвоена всему классу.
а вот то что с одним @ это меременные объекта.

Google

Dima
23.04.2018
12:29:23
понимаешь?

Silent Bob
23.04.2018
12:29:53
hierarchy class variable общая для всех классов в цепочке наследования

Dima
23.04.2018
12:31:06
прикольно.

Admin
ERROR: S client not available

Иван
23.04.2018
12:43:05
ну можно циклом по предкам пройтись и смержить результаты
self.ancestors.map { |ancestor| ancestor.instance_variable_get(:@options) }.compact.reduce({}) { |acc, e|
acc.merge(e) }

Dima
23.04.2018
12:45:09

Roman
23.04.2018
12:50:27
читается попроще

Alex
23.04.2018
12:51:34
Там вроде достаточно .reduce(:merge) нет?

Roman
23.04.2018
12:51:49
да, точняк

Alex
23.04.2018
12:53:10
Сам раньше ({} писал

kolas
23.04.2018
12:53:55
если вам ec2 хост заблокировали, то какие варианты есть? клаудфронт? переехать на российский впс? реверспрокси самому поднять?

Dima
23.04.2018
12:55:58


Silent Bob
23.04.2018
13:01:27
https://goo.gl/sY8tXX
спасибо большое! У меня была идея изначально спрятать все в базовом классе. Такой типа ДСЛ с наследованием. Базовые опции объявляются в базовом классе, все дополнительные - в чилд классах, если есть необходимость. В чилд классах никакой логики насчет смерживания настроек быть не должно, просто должен быть метод класса Child.options (опять таки он описывается в Parent) который будет выдавать настройки парента смерженные с настройками чилда (if any).


Dima
23.04.2018
13:09:21

Google

Dima
23.04.2018
13:11:30

Silent Bob
23.04.2018
13:13:17
работает as expected

Dima
23.04.2018
13:15:32

kolas
23.04.2018
13:22:19
крутая статья https://dev.to/rpalo/ruby-concepts---singleton-classes-oeb

Silent Bob
23.04.2018
13:26:46
https://goo.gl/6v9VHP
только в обратную сторону :D
class SuperBase
@options = { p: 1 }
def self.options
self.ancestors.map do |ancestor|
ancestor.instance_variable_get(:@options)
end.compact.reduce(:merge)
end
end
class Z < SuperBase
@options = { z: 1}
end
class P < Z
@options = { p: 10 }
end
p SuperBase.options # {:p=>1}
p Z.options # {:z=>1, :p=>1}
p P.options # {:p=>1, :z=>1} # :p должен быть 10, т.к настройки могут перезаписываться чилд классами
я добавил .compact.reverse.reduce(:merge) и все огонь :)

ojab
23.04.2018
13:27:49
…но зачем
чем super.merge(@options) не устроил?
(с проверкой на наличие super в базовом классе, само собой)

kolas
23.04.2018
13:36:30
магия )

Silent Bob
23.04.2018
13:45:34

Roman
23.04.2018
13:45:59
я бы конечно вообще не так делал
class SuperBase
class << self
attr_accessor :options
end
@options = {b: 1}
def self.inherited(base)
base.extend ClassMethods
end
module ClassMethods
attr_reader :options
def self.options=(opts)
@options = super.merge(opts)
end
end
end
class Z < SuperBase
self.options = {z: 1}
end
class P < Z
self.options = {p: 1}
end
и тд
в таком случае вся эта балалайка будет срабатывать при загрузке приложения, а не на каждый запрос
код не тестировался - может не работать

Dima
23.04.2018
13:46:45

ojab
23.04.2018
13:51:06
а, в глаза долблюсь, да
ну superclass.options и чекать на Object, не суть.