К 2030 году только у студентов МГТУ, МФТИ и МГУ будет возможна карьера программиста. Все остальные останутся за бортом.
Это загон. Нужна хорошая база, её можно получить как в вышеозначенных вузах, так и в других вузах, так и на курсах, так и самостоятельно. А можно и не получить. Важны только скиллы (в нормальных компаниях). У меня опыт коммерческой разработки с 2006 года, личная норма заработка в несколько сеньорных российских зарплат (на одной должности, без мультиработничества, но на удалёнке, естественно; Мэйла и Яндекса в качестве строчек резюме нет — не готов платить упущенной выгодой за такие строчки), и я не показывал свой диплом ни одному работодателю. Диплом тематический (ВМКСиС), с отличием, не московского, но хорошего регионального вуза. И его видели только мои родственники, а работодатели даже не интересовались самим его наличием (буквально ни один) — им, понимаешь, результат подавай. Если бы у меня был диплом одного из вышеозначенных вузов, то моя база экспертизы была бы, вполне возможно, ещё крепче, но мне бы точно так же не представился ни один шанс показать этот диплом. 😂
Я не скажу "ты имеешь то, во что веришь". Но ты точно не имеешь того, во что не веришь. Напридумывал себе ограничений и живёшь в их системе. Ещё на второе высшее пойди, делать-то больше нечего. 😁 Собери все первые буквы "М" в своих дипломах. Общайся с HR'ми Яндексов и Мэйлов о том, как это круто. И получай в разы меньше, чем мог бы.
Скорее всего, оскорбления писать нельзя, поэтому выражу свою мысль литературно. Мысль проста: нахожу эстетическое чувство автора примитивным и извращённым, проект не стоит выеденного яйца, автор халтурщик и тунеядец, раз не сподобился осуществить намеченное (повторюсь, намеченное априори неверно, на мой субъективный взгляд) на достаточно качественном уровне, превратив English в рунглиш — Саймон Ченг точно не одобрил бы.
Уже всё понятно, наверное (насчёт #map, #each, #collect и по аналогии далее)… Тем не менее, на всякий случай найдём прямые доказательства для #find из примера.
def array_delegable?(method)
Array.method_defined?(method) && BLACKLISTED_ARRAY_METHODS.exclude?(method)
end
def method_missing(method, *args, &block)
if @klass.respond_to?(method)
scoping { @klass.public_send(method, *args, &block) }
elsif array_delegable?(method)
to_a.public_send(method, *args, &block)
elsif arel.respond_to?(method)
arel.public_send(method, *args, &block)
else
super
end
end
Исходя из предположения, что метод Product::find не определён ("klass.respond_to?(method)" ложно), попадаем в ветку «elsif array_delegable?(method)». Метод #find определён для Array и не входит в BLACKLISTED_ARRAY_METHODS:
В результате вызов #to_a, который для Product.all будет осуществлён через запрос «SELECT 'products'.* FROM 'products'».
П.С. Призываю всех не верить мне на слово, не верить моей интерпретации кода ActiveRecord::Relation и ActiveRecord::Delegation, а проверить самостоятельно и убедиться на практике. :-)
Иными словами, пример будет работать одинаково и в Rails 3, и в Rails 4, и «Примечание» действительности не соотвутствует. Методы Enumerable потребуют овеществления relation в любом случае.
С какого перепугу в Rails 4 будет «множество выборок с 'LIMIT 1'»?? = ) При вызове #find будет предварительно вызван метод #to_a для relation Product.all, что неизбежно приведёт к «SELECT * FROM products».
Выражение эмоции приоритетно перед описанием текущей ситуации и собственных действий (взять хотя бы размеры надписей «Я чувствую» и «Потому что»)?!?! This is ridiculous.
Открыть ЗАО стоит дороже. Процедура выхода из ООО должна быть прописана в Уставе ООО. Обычно выйти можно в любую секунду, а вот долю забрать — несколько позже (например, через 3-6 месяцев).
Определяется по итогам календарного года.
Это загон. Нужна хорошая база, её можно получить как в вышеозначенных вузах, так и в других вузах, так и на курсах, так и самостоятельно. А можно и не получить. Важны только скиллы (в нормальных компаниях). У меня опыт коммерческой разработки с 2006 года, личная норма заработка в несколько сеньорных российских зарплат (на одной должности, без мультиработничества, но на удалёнке, естественно; Мэйла и Яндекса в качестве строчек резюме нет — не готов платить упущенной выгодой за такие строчки), и я не показывал свой диплом ни одному работодателю. Диплом тематический (ВМКСиС), с отличием, не московского, но хорошего регионального вуза. И его видели только мои родственники, а работодатели даже не интересовались самим его наличием (буквально ни один) — им, понимаешь, результат подавай. Если бы у меня был диплом одного из вышеозначенных вузов, то моя база экспертизы была бы, вполне возможно, ещё крепче, но мне бы точно так же не представился ни один шанс показать этот диплом. 😂
Я не скажу "ты имеешь то, во что веришь". Но ты точно не имеешь того, во что не веришь. Напридумывал себе ограничений и живёшь в их системе. Ещё на второе высшее пойди, делать-то больше нечего. 😁 Собери все первые буквы "М" в своих дипломах. Общайся с HR'ми Яндексов и Мэйлов о том, как это круто. И получай в разы меньше, чем мог бы.
пнх ещё короче и вернее.
Скорее всего, оскорбления писать нельзя, поэтому выражу свою мысль литературно. Мысль проста: нахожу эстетическое чувство автора примитивным и извращённым, проект не стоит выеденного яйца, автор халтурщик и тунеядец, раз не сподобился осуществить намеченное (повторюсь, намеченное априори неверно, на мой субъективный взгляд) на достаточно качественном уровне, превратив English в рунглиш — Саймон Ченг точно не одобрил бы.
ActiveRecord::Relation:
Очевидно, #to_a осуществляет овеществление relation'а. Смотрим дальше модуль Delegation.
ActiveRecord::Delegation:
Уже всё понятно, наверное (насчёт #map, #each, #collect и по аналогии далее)… Тем не менее, на всякий случай найдём прямые доказательства для #find из примера.
Исходя из предположения, что метод Product::find не определён ("klass.respond_to?(method)" ложно), попадаем в ветку «elsif array_delegable?(method)». Метод #find определён для Array и не входит в BLACKLISTED_ARRAY_METHODS:
В результате вызов #to_a, который для Product.all будет осуществлён через запрос «SELECT 'products'.* FROM 'products'».
П.С. Призываю всех не верить мне на слово, не верить моей интерпретации кода ActiveRecord::Relation и ActiveRecord::Delegation, а проверить самостоятельно и убедиться на практике. :-)
Вопрос на засыпку для автора статьи (для Rails 4): в Вашем же примере метод #find делегируется к какому классу?? Ага. А как Вы думаете, каким образом к этому классу будет преобразовано relation Product.all? ;-)