@rubylang

Страница 620 из 1684
yopp
15.11.2016
12:42:51
https://repl.it/EY2Y/2

да, я был не прав, у классов синглтон аллоцируется сразу

у объектов on demand

Google
yopp
15.11.2016
12:43:38
тьфу

потому что это не настоящий класс :)

вон, T_CLASS увеличилось

Иван
15.11.2016
12:44:16
вижу, но попробуй вот так - require 'objspace' puts "Before", ObjectSpace.each_object(Class).count a = Class.new puts "Before", ObjectSpace.each_object(Class).count

а потом вот так require 'objspace' puts "Before", ObjectSpace.each_object(Class).count a = Class.new class « a; end puts "Before", ObjectSpace.each_object(Class).count

что это за херня?

yopp
15.11.2016
12:46:01
это детали реализации уже

точнее это оптимизации

дело в том, что синглтон класс, когда он пустой, нафиг не нужен

он занимает место и всё

для того чтоб на каждый объект не делать по два объекта, есть ряд ухищрений, первое заключается в том, что синглтон класс как-бы есть, но он реально выделяется только когда к нему пользователь пытается обратится

что не всегда инстинно, как видно с анонимными классами

Иван
15.11.2016
12:48:32
так он и в в случае создания руками пустой, но тем не менее появляется

Google
Иван
15.11.2016
12:48:49
ладно бы если я метод для обхекта определил и только тогда он появлился

тогда бы я тоже подумал, что реализация такая у ObjectSpace

короче странная херня

yopp
15.11.2016
12:49:48
ObjectSpace это вообще хак, не надо на него надеятся

each_object не надёжный

можно более менее верить count_objects

Иван
15.11.2016
12:50:28
ок, буду знать

yopp
15.11.2016
12:50:55
смотри, если бы на каждый объект выделялось по синглтону, то мы бы увидели это вот в таком случае

https://repl.it/EY2Y/3

T_CLASS не изменился

а вот теперь сделаем ещё и вот так

https://repl.it/EY2Y/4

выделилось 3 класса, хотя мы просто обратились

Иван
15.11.2016
12:53:40
ну в первом случае логично, так как у обычных объектов при инциализации не создается синглтон класса, я проверял в исходниках

а метод singleton_class создает синглтон класс объекта, если его не существет

yopp
15.11.2016
12:54:24
ну я уже устал говорить что класс это не такой объект, как все остальные

не только метод создаёт

https://repl.it/EY2Y/5

любое к нему обращение

с классами да, ты прав, выделяется по-умолчанию

Google
yopp
15.11.2016
12:56:18
но это опять-же, детали реализации, для разработчика нужно считать что он есть всегда

у любого объекта (ха-ха, но на самом деле далеко не у любого)

Иван
15.11.2016
12:56:43
конечно не только, просто метод так реализован

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

yopp
15.11.2016
12:57:22
ты для того чтоб окончательно закрыть тему, нарисуй для себя диаграму поиска методов

потому что ты сделал, как мне кажется, не полностью корректные выводы

Иван
15.11.2016
12:57:54
я её и так понимаю

и понимал до этого

yopp
15.11.2016
13:00:16
тогда я не понимаю почему у тебя возникает вопрос почему A::foo доступен в B::foo, когда B <A

Иван
15.11.2016
13:01:19
потому что я не понимал как мы попадаем в синглтон класс B

а точнее не понимал в какой момент он создается

yopp
15.11.2016
13:02:18
когда он создаётся — не важно

yopp
15.11.2016
13:02:21
важно что он есть всегда :)

Иван
15.11.2016
13:05:17
когда он создаётся — не важно
ну как не важно? я считал что его у меня нет и если посмотреть на какой класс сылается объект B и пойти по цепочке суперклассов, то в синглтон A мы никак не попадали, поэтому и возникал вопрос - а когда у нас этот синглтон создается

yopp
15.11.2016
13:05:57
ты когда про синглтоны читал пропустил важную вещь про синглтон классы: они есть всегда у любого объекта

и полез в детали реализации

Aldar
15.11.2016
13:22:51
а еще говорят что руби простой язык

Pavel
15.11.2016
13:22:55
Может быть кто нибудь знает, готовое решение для доски объявлений. Или что смотреть хотя-бы?

I
15.11.2016
13:24:21
rails g... ?)

Andrey
15.11.2016
13:30:04
Google
I
15.11.2016
13:32:47
кек

Andrey
15.11.2016
13:34:54
Кинь ссылку пожалуйста
это шутка юмора была. На столько деталезированные решения ни кто не делает, темоблее для тиражирования. Есть гем авторизации/аунтификации, есть гем для работы с картинками, есть гем для админки и тд.

Pavel
15.11.2016
13:36:07
А понятно спасибо большое!

Alexander
15.11.2016
13:40:05
А есть у кого примеры интересных тестовых заданий на ~1 час для рельс? Что-нибудь про работу с базой (из разряда древовидных структур), стронг парамсы (типа приёма массивов и вложенных структур). Рассчитанное на уровень джуниор с ~ годом лайтового опыта работы

I
15.11.2016
13:41:35
ну вот тебе идея такая - сделай мне блог, где можно постить комменты к самим записям и к другим комментам и сделай это отображаемым нормально пойдет тебе?)

Антон
15.11.2016
13:43:55
лайтовые nested_sets

Admin
ERROR: S client not available

I
15.11.2016
13:44:34
ну да, а там еще надо придумать, как лучше формочку вызывать/хранить)

ну да, тогда можешь сделать порносайт для фоточек через карриервейв с категориями

Andrey
15.11.2016
13:45:22
А есть у кого примеры интересных тестовых заданий на ~1 час для рельс? Что-нибудь про работу с базой (из разряда древовидных структур), стронг парамсы (типа приёма массивов и вложенных структур). Рассчитанное на уровень джуниор с ~ годом лайтового опыта работы
Вот к примеру Создать простое приложение, которые будет вытаскивать из БД фразы, и отображать их одно за другим, в случайном порядке (главное, чтобы строки из БД были уникальные на странице, и не было повторяющихся), подгружая это дело Аяксом. Предварительно БД нужно заполнить автоматическим скриптом, используя, например gem factorygirl

Антон
15.11.2016
13:46:16
ну вообще да, как же это я так?

старею

I
15.11.2016
13:46:48
можно дать написать формочку для отправки email'ов!

Andrey
15.11.2016
13:46:48
Тесты на усмотрение выполняющего)

I
15.11.2016
13:46:53
и чтобы были тесты

without ar

Google
I
15.11.2016
13:47:16
хотя это сомнительно для джунов

yopp
15.11.2016
14:11:20
слушайте, а вы знаете как в padrino починить autoreload?

для классов

оно ломается на наследовании

I
15.11.2016
14:11:39
а он там есть вообще?

yopp
15.11.2016
14:11:47
да, к сожалению есть, но не работает

приходится постоянно сервак прибивать

I
15.11.2016
14:11:56
а чем аргументирует?

yopp
15.11.2016
14:11:58
19 век какой-то

I
15.11.2016
14:12:07
ну да, это мне напоминает работу на синатре)

yopp
15.11.2016
14:12:12
аргументирует тем, что не находит нужные классы

I
15.11.2016
14:12:22
может, реально не находит

yopp
15.11.2016
14:12:39
нет, это бага в автолоадере

я вношу изменение в родительский класс и он перестаёт находить рандомный дочерний класс

I
15.11.2016
14:13:34
ммм

круто

yopp
15.11.2016
14:14:07
ну и обновление в классе оно ловит тоже через раз

I
15.11.2016
14:14:23
а как у него вообще ловится?

yopp
15.11.2016
14:14:31
не знаю, не смотрел

мне вот интересно, рельсу пятную можно как-то получить без nokogiri?

Страница 620 из 1684