Ruby on Rails и Javascript разработчик, автор блога c3gdlk.ru

В поисках совершенного кода...
Контакты

Достижения

Все достижения (2)

Наибольший вклад в теги

Все теги (48)

Лучшие ответы пользователя

Все ответы (90)
  • Подготовка к собеседованию Junior Ruby on Rails?

    c3gdlk
    @c3gdlk
    Ментор в http://rubyboost.ru/
    Я уже выучил Ruby, RoR


    до сих пор не могу сказать, что выучил рельсы и руби =)

    По сабжу

    REST, MVC, структура проекта, в каких папках что лежит, включая папку config.
    что такое представление, паршиалы, по моделям полностью - скоупы, ассоциасии. валидации, коллбеки
    контроллеры - before_action, что уже лежит в ApplicationController
    Unix - что такое приложение, процесс и порт. Что делать если при старте сервера пишет, что порт 3000 уже используется.
    По руби - идиома @a ||= b, блоки, циклы, что делаeт attr_accessor, что такое символ, константы в руби.
    По базам - прошу привести примеры какие запросы генерирует та или иная цепочка DSL ActiveRecord, например
    User.where(id: 1), User.where(id: [1]), User.where(id: []) И таких вариантов куча, нет смысла пытаться заучить, нужно разбираться.

    Независимо от знаний, общий совет такой. Если в каких-то знаниях уверены, не бойтесь объяснять своими словами. Если не уверены, сразу честно об этом говорите, без угадывания.

    Кроме того, предлагаю банальщину - пройтись по основам railsguides и убедиться, что верно понимаете соглашения фреймворка. Rails построен на соглашениях и тот кто в них хорошо разобрался имеет высокий шанс получить работу.

    Например, большинство кандидатов на вопрос, что в имени представления index.html.erb означает html отвечают, что это язык разметки в котором вернется ответ. Т.е. они просто строят логичное предположение и не пытаются его проверить. И таких, казалось бы простых вопросов, у меня целая пачка. В большинстве случаев кандидат уходит с пониманием, что ничего на самом деле и не знает.

    P.S. лучше знать что-то одно хорошо, чем много всего по немногу.

    Но, в каждой компании по разному.
    Ответ написан
  • Экономика для чайника. Есть ли такая книга?

    c3gdlk
    @c3gdlk
    Ментор в http://rubyboost.ru/
    Как устроена экономика не знают даже экономисты с многолетним опытом исследований. Они лишь предполагают и сами в итоге делятся на школы и направления. Поэтому почитать одну книжку и найти ответы на все вопросы не получится.

    Голая экономика и Голые деньги от Чарльза Уилана. Очень интересно и доснупно написано. Но он глобалист-. После него полезно еще почитать Злые самаритяне и Как устроена экономика от Ха Джун Чхан. У второго автора здоровая критика глобализма и капитализма, чего нет у первого. Но материал более сухой и научный. Впрочем, после первых двух книг понять его не составит труда
    Ответ написан
  • Летние стажировки в IT?

    c3gdlk
    @c3gdlk
    Ментор в http://rubyboost.ru/
    Пойдите на кафдру IT Вашего универа или самого круногов городе. Там обычно висят кучу объяв, заодно можно и в деканат зайти спросить.
    Ответ написан
  • Есть ли смысл учить ruby в 2020 году?

    c3gdlk
    @c3gdlk
    Ментор в http://rubyboost.ru/
    Учить нужно то, что нравится. Разработка это творческий процесс. Если заниматься тем, что не нравится, то и спецом не станешь, и в итоге хорошую зп не получишь. Руби это рельсы. Посмотрите курс по рельсам, попробуйте повторить. И так же с питоном джанго и пхп лаварелом. Что понравится больше, то и Ваше.

    Кроме того, в итоге то, с чего начать, не особо важно. В разработке с 70х годов ничего концептуально нового не придумали. Разницы на примере какой технологии учить концепции нет. Главное чтобы это нравилос и было желание по 12 часов в день в это погружаться, понимать почему так а не этак решаются конккретные задачи.
    При высоком уровне сеньорити даже с ООП парадигмы перейти на функциональную дело пары месяцев. Когда опытный разработчик пользуется новым инструментом, языком или библиотеккой, это нельзя считать обучением. Ты читаешь описание библиотеки или инструмента, смотришь какие проблемы решаются по новому и уже знаешь, что там будет. Просто смотришь соглашения инструмента и все.

    Есть еще один большой плюс руби. При знании английского на b1 открываются западные вакансии с ЗП х2-3 от российских. А руби конторы в основном это работа напрямую с западным закакзчиком и прямым общением. Я так за 7 лет общения по 1-2 часа в неделю прокачал английсккий со шкокльного a2 до b1. Никакие правила дополнительно не учил, на курсы не ходил.
    Ответ написан
  • Почему переменная в моделе меняется?

    c3gdlk
    @c3gdlk
    Ментор в http://rubyboost.ru/
    Потому что руби при создании объекта не копирует данные класса, а хранит ссылку на него. TYPES это константа класса, при ее изменении данные обновятся у всех объектов. В случае обычного класса Вам нужно было бы переопределить метод initialize с установкой нужной переменной, но для модели это делать не жлательно и лучше воспользоваться колбеком.

    Кроме того присваивание работает по ссылке, поэтому массив нужно именно скопировать

    class Book < ActiveRecord::Base
      DEFAULT_TYPES = ['Classics', 'Fantasy']
    
      after_initialize :set_default_book_types
    
      def book_types
        @book_types
      end
    
      def set_default_book_types
        @book_types = DEFAULT_TYPES.map(&:clone)
      end
    end
    Ответ написан