
Alex
29.10.2016
19:47:03
В память

Иван
29.10.2016
19:47:04
у любого объекта может быть синглтон класс

Alex
29.10.2016
19:47:12
Туда же куда попадет класс при прочтении

Иван
29.10.2016
19:47:12
будь то класс или объект

Google

Иван
29.10.2016
19:47:42
методы храняться в таблице методов внутри объекта класса

Alex
29.10.2016
19:48:33
Стоп
у любого объекта может быть синглтон класс у которого есть объект у которого может быть синглтон класс ...
Давай по порядку. Что такое объект?

Иван
29.10.2016
19:50:49
объеут в руби хранит флаги, инстансные переменные, и ссылку на класс, объектом которого он является
объект класса дополнительно хранит таблицу констант и таблицу методов

Alex
29.10.2016
19:51:44
Что за флаги?

Иван
29.10.2016
19:51:49
а еще ссылку суперкласс

Alex
29.10.2016
19:51:55
инстансные переменные?

Иван
29.10.2016
19:52:39
ну вот когда ты на объекте вызовешь freeze например

Alex
29.10.2016
19:52:40
Окей, значит объект это сборная солянка и по сути является синглтоном

Иван
29.10.2016
19:52:49
запишеться флаг

Alex
29.10.2016
19:53:47
Получается что при прочтении объявления класса ищется/создается объект и забивается определением класса

Google

Alex
29.10.2016
19:53:48
верно?

Иван
29.10.2016
19:55:36
я не очень понял вопрос

Alex
29.10.2016
19:56:33
Объект генерится динамически и забивается определением класса верно?

Иван
29.10.2016
19:58:12
ну как объявишь класс так он и создастся

Alex
29.10.2016
19:58:47
Создастся объект, верно?
ладно, в общем чтобы понять почему у тебя не срабатывает хук надо либо залезать в MRI либо спросить у того кто знает.
я очень плохо понимаю метамагию рубей.

ojab
29.10.2016
20:17:57
у вас с терминологией беда
у любого класса есть .singleton_class
и к простым классам, у которых есть методы, он отношения не имеет

Иван
29.10.2016
20:19:34
Он вроде создаётся после вызова метода singleton_class

ojab
29.10.2016
20:20:02
нет, он создаётся после создания класса
после создания каждого класса меняется RubyVM.stat[:class_serial], можно его смотреть
чтобы знать, создаётся класс или нет

Иван
29.10.2016
20:21:52
А после создания обычного объекта тоже создаётся синглтон класс этого объекта?

ojab
29.10.2016
20:22:27

Иван
29.10.2016
20:24:14
Спаибо, а хук почему не срабатывает?

ojab
29.10.2016
20:24:44
(на самом деле нет)
2.3.1 :001 > p RubyVM.stat[:class_serial]
6878
=> 6878
2.3.1 :002 > x = Object.new
=> #<Object:0x007f890081ca50>
2.3.1 :003 > p RubyVM.stat[:class_serial]
6878
=> 6878
2.3.1 :004 > x.singleton_class
=> #<Class:#<Object:0x007f890081ca50>>
2.3.1 :005 > p RubyVM.stat[:class_serial]
6879
=> 6879

Google

Иван
29.10.2016
20:28:40
А если создать объект и вызвать на нем вообще любой метод, после этого тоже создастся синглтон класс?

ojab
29.10.2016
20:29:34

Иван
29.10.2016
20:31:01
Хм странно

ojab
29.10.2016
20:31:25
соответственно дёргается он при создании детей Class
ну то бишь не детей, но я не знаю как лучше это сформулировать

Иван
29.10.2016
20:33:49
Подожди, inherited в object мне отлично показывал создание классов
Но синглтон классы не показывал

ojab
29.10.2016
20:37:52
хм

Иван
29.10.2016
20:38:15
Ладно, приезду домой, потыкаю, попробую разобраться
Надо будет ещё разобраться с созданием/ не созданием синглтон классов

ojab
29.10.2016
20:40:15
надо медитировать на вступление https://ruby-doc.org/core-2.3.1/Class.html

ojab
29.10.2016
20:49:08
кстати в сорцах весьма неплохая документация
https://github.com/dylanninin/dylanninin.github.com/issues/3
https://sectionfive.net/blog/2014/12/09/the-ruby-rabbit-hole/

Vitaliy
30.10.2016
09:28:38
#работа
Ruby on Rails dev, фултайм/парттайм, оплата почасовая - 500 руб./ч (в месяц при фултайме будет выходить 40-80 т.р.)
Ищем человека в команду - создаем облачный сервис для поиска частных исполнителей (аналоги - youdo.com, thumbtack.com). Летом 2015 запустили MVP - чисто рельсовое приложение - получили отдачу от первых пользователей, и ушли в оптимизацию. Сейчас у нас сервер с API, iOS-приложение, новый дизайн и верстка. Готово все на 90%.
Человека ищем для админки и веб-версии - взять верстку (slim, sass, производный от bootstrap фреймворк + верстка по БЭМ), и сделать традиционное фулстек RoR приложение, rails engine.
Я - сооснователь, занимаюсь версткой, над рельсовым приложением будем работать совместно. Пишите в личку.

I
30.10.2016
09:57:44
Джуна ищете?

Vitaliy
30.10.2016
09:58:32
премидл/мидл

Aldar
30.10.2016
09:58:40
Джунибора)) Кстати youdo хороший сервис, один раз пользовался

Vitaliy
30.10.2016
09:59:48
как заказчик или как исполнитель?

I
30.10.2016
10:00:01
Да, я тоже пользовался, как заказчик

Google

I
30.10.2016
10:00:15
Чем ваш аналог лучше?

Aldar
30.10.2016
10:00:18

I
30.10.2016
10:01:07
А интим-услуги у вас есть?

Vitaliy
30.10.2016
10:02:22
Они увязли в раундах и инвестициях, и теперь сидят в кармане у акционеров, которые требуют денег. Поэтому там для исполнителей условия крайне говняные, а компания экономит на поддержке и сервисе. Этим мы воспользуемся
интим-услуг нет :) обычная бытовуха

Aldar
30.10.2016
10:03:16
услуги муж на час)

Alex
30.10.2016
10:03:45

Vitaliy
30.10.2016
10:04:32
¯\_(ツ)_/¯ посмотрим как пойдет, первое время будем отсекать вручную при модерации и решении спорных вопросов, потом автоматизируем
юду часть подобных заданий "на грани" оставляет ради пиара, чтобы отписаться в блоге и рассылке, какие у них необычные задания есть

Admin
ERROR: S client not available

Vitaliy
30.10.2016
10:06:01
а может они и сами их создают :)

I
30.10.2016
10:07:01
муж на час - а жену можно минут и на десять x)

Vitaliy
30.10.2016
10:07:50
с рейтингом и хорошими отзывами от прошлых заказчиков ☝

Даня
30.10.2016
11:49:51
Ну рано или поздно вас застанут такие же проблемы при масштабировании, не?

Alex
30.10.2016
11:50:03
мастабирование, хммм.
must scale up!

Даня
30.10.2016
11:53:37
ой ну ладно

I
30.10.2016
11:54:18
лол
в чате ios-разрабов
мне утверждают, что код надо писать на сервере

Google

I
30.10.2016
11:54:38
по ssh
и так все делают
зашквар?)

Alex
30.10.2016
11:56:21
Ну небось emacs/vim'о юзеры
С планшета кстати единственный реальный способ вообще что то делать.

I
30.10.2016
11:56:43
да это ж яблодрочеры, там вообще весело
самые популярные стикеры с членами

Mikhail
30.10.2016
12:04:30

Иван
30.10.2016
12:31:43
Ну вроде я почти со всем разобрался. В итоге:
При создании класса автоматически создается синглтон класс нашего класса.
При создании объекта, синглтон класс объекта автоматически не создается.
Метод .singleton_class создает синглтон класс объекта, если у объекта его не имеется.
Хук inherited внутри класса Object работает(для обычных классов) так как это метод класса, следовательно поиск этого метода после проверки синглтон классов Object и BasicObject заглянет в класс Class (#<Class:Object> -> #<Class:BasicObject> -> Class -> Module -> Object -> Kernel -> BasicObject)
Почему хук не работает для синглтон классов остается загадкой, видимо руби каким то образом скрывает это, как и то, что если у объекта имеется синглтон класс, то объект на самом деле ссылается на него (obj.class)

trickster
30.10.2016
15:01:40
обладатели гей буков есть?
или в другой канал?

Alex
30.10.2016
15:03:16
ща тебе про рабиталк напишут

trickster
30.10.2016
15:03:52
ну меня там нету) в воскресенье вроде можно и поофтопить

Aldar
30.10.2016
15:03:57
гейбуки 2016
остальные уже устарели

Alex
30.10.2016
15:04:07

trickster
30.10.2016
15:04:14
:D

Artur
30.10.2016
15:04:15

trickster
30.10.2016
15:05:26
ну короч вроде обладатели. такие вопросы, если брать 13 прошку ретину на 128 ссд 8 гб оперативы хватит ли мне жить не тужить?
ну и в чём отличие авторизованных реселлеров и обычных, чёт разбежка в ценнике не маленькая

Eugene
30.10.2016
15:11:43
мне до года эдак 14 хватало 100 г на своем seagete
главное не быть кибреплюшкиным

trickster
30.10.2016
15:19:54
ну я не из Джава господ