
Dima
10.12.2017
18:00:42
1 минута
сейчас

Mikhail
10.12.2017
18:01:06

Google

Dima
10.12.2017
18:01:41

Mikhail
10.12.2017
18:02:20
Ну вот таких схем в си рисовать не придётся :)

Dima
10.12.2017
18:02:33
к нам приходит сообщнеие, и мы идев вверх по цепочке в поисках кто знает как на это сообщение отвечать. все

Mikhail
10.12.2017
18:02:36

Dima
10.12.2017
18:02:54

Mikhail
10.12.2017
18:03:01
Нет:)
Просто адреса икрементируются :)
Вот плюсы и в изучении сложнее руби

Dima
10.12.2017
18:03:55

Mikhail
10.12.2017
18:04:24
Ну даже эта схема проще :)

Google

Dima
10.12.2017
18:05:08

Mikhail
10.12.2017
18:05:45
Я не использую их в принципе, поэтому не разбираюсь даже :) но с ходу не раздуплил

Dima
10.12.2017
18:06:03

Mikhail
10.12.2017
18:06:37
Примерно, но как это устроено не разбирался

Иван
10.12.2017
18:08:12
вообще объектная модель в руби не самая простая

Dima
10.12.2017
18:09:39

Mikhail
10.12.2017
18:10:22
Да кстати, это ещё одно отличие языков

Dima
10.12.2017
18:10:47

Mikhail
10.12.2017
18:11:11
Комунити плюсов и си очень агрессивное и страшно что спросить
А тут сами объясняют без вопросов ?

Dima
10.12.2017
18:12:02
Спасибо дружище, но с телефона не очень разбираться :)
Ты говоршиь Коли, дай пиво. А он не знает "дай пиво", он делегирует "дай пиво" Васе. Вася не знает "дай пиво", он делегирует "дай пиво" Андрею. Андрей не знает, и делегирует это сообщение уже Ивану. Котоный говорит НА
понятно?

Mikhail
10.12.2017
18:12:37
Так это стандартная модель наследования же

Dima
10.12.2017
18:12:44
а теперь миксины это тоже самое наследование 1 в1
только оно нужно птому что в руби запрещено множественное наследование
а иногда хочется тогда придумывают крюк под названием микисн. Которы вмешивается в класс. и добавляет к нему свои методы
как петелька появляется в цепочке

Mikhail
10.12.2017
18:13:47

Google

Mikhail
10.12.2017
18:14:09

Dima
10.12.2017
18:14:14

Mikhail
10.12.2017
18:14:20
А так понял теперь, спасибо :)

Dima
10.12.2017
18:18:08
я прикрутил туда модуль девелпоер
который примешал к Васе
теперь когда колю спрашиваешь "А ты программист", он делегирует этот вопрос родителю Васе, Вася говорит "да"
получается в дереве поиска такая петля

Иван
10.12.2017
18:20:10
короче во время инклюда создается класс-копия твоего модуля, который встравивается в цепочку наследования между твоим классом и его суперклассом

Mikhail
10.12.2017
18:20:52
Ага, догнал, спасибо :)

Dima
10.12.2017
18:21:58
Ага, догнал, спасибо :)
фактически можно вмешать в класс кучу модулей. в Ruby On Rails их под 60, и добавить объектам функционал.
все достаточно просто.

Roman
10.12.2017
18:28:03

Иван
10.12.2017
18:28:30
модуля)

Roman
10.12.2017
18:29:07
я имел в виду, почему вдруг копия
это сам модуль и есть

Иван
10.12.2017
18:29:21
ну такая реализация

Roman
10.12.2017
18:29:59
ну если ты заинклюдишь модуль, а потом его поменяешь - изменится везде

Google

Иван
10.12.2017
18:37:22
ага, там идет ссылка на таблицу методов модуля а не полная копия, но не у самого же модуля меняется суперкласс

Roman
10.12.2017
18:41:46
а, понял

Иван
10.12.2017
18:47:05
и кстати если потом открыть уже заинклюженный модуль и заинклюдить модуль в модуль, то класс об этом не узнает

Roman
10.12.2017
18:54:17
да, я с этим сталкивался когда переделывал alias_method_chain в prepend
приходилось препендить уже в финальный класс, что не очень круто

Dima
10.12.2017
19:38:10

Плюшка
11.12.2017
04:10:25
шланг вообще на с++

Angelina
11.12.2017
11:35:02
#Вакансия #удаленно #teamlead #fulltime #ruby #VR #speech_recognition #api
Всем привет!
Ищу Тимлида RoR в сервис онлайн-обучения менеджеров по продажам крупных компаний с VR и распознаванием речи. Среди клиентов крупные российские и зарубежные компании.
Требования:
Опыт организации работы удаленной команды программистов с помощью Kanban. Компания использует Trello.
Опыт разработки приложений на Ruby on Rails.
Желание изучать новые технологии: VR, speech recognition, API партнеров.
Желание вникать, какая потребность пользователей стоит за той или иной фичей.
Условия:
Удаленная работа
ЗП 120000–180000 рублей на руки
Заинтересованные пишите -
@brusyaa ?

George
11.12.2017
12:08:26
Привет. Кто-то работал с гемом paperclip google drive new?

Mikhail
11.12.2017
15:37:09
Всем привет! Как в руби читать файл с конца, как это делает команда tac?

A
11.12.2017
15:37:28
`tac filename`

Mikhail
11.12.2017
15:37:38
?
А если не в линуксе? :)

Nikita
11.12.2017
15:38:34
https://stackoverflow.com/questions/3024372/how-to-read-a-file-from-bottom-to-top-in-ruby

Mikhail
11.12.2017
15:39:06

q3n0x
11.12.2017
16:01:55

Mikhail
11.12.2017
16:02:24
А, точно, спасибо! :)

Alex
11.12.2017
19:31:57
какая версия понятнее, легче читается?
v1:
response = Namespace::Abstract::Service.new(
param1: val1,
param2: val2,
).perform
track_errors(response)
response
v2:
Namespace::Abstract::Service.new(
param1: val1,
param2: val2,
).perform.tap(&method(:track_errors))

Google

Nikita
11.12.2017
19:41:18
а какая разница?)

Alex
11.12.2017
19:42:32
есть мнение что 2я версия тяжелее читается
т.к. в одной строчке, в последней, несколько действий
ну а желательно чтобы программисты тратили минимум времени на прочтение и понимание кода - "долой сложность!" и все такое

Alexey
11.12.2017
19:42:46
конечно, 1
в задницу эту рубишную магию

Alex
11.12.2017
19:49:22

Roman
12.12.2017
06:43:25
ну тут это не критично, так как не цикл
я бы сделал
Namespace::Abstract::Service.new().tap do |s|
track_errors(s)
end
либо вообще
Namespace::Abstract::Service.new() do |s|
track_errors(s)
end

Alex
12.12.2017
06:57:15
да, верно, но производительность пока роли не играет - важнее именно читаемость

Roman
12.12.2017
06:58:46
ну да, производительность это я для галочки