• Какая NoSQL более производительна: MongoDB или Cassandra?

    c3gdlk
    @c3gdlk
    Ментор в http://rubyboost.ru/
    elasticsearch
    Ответ написан
    Комментировать
  • Можете посоветовать книгу по декларативному подходу?

    c3gdlk
    @c3gdlk
    Ментор в http://rubyboost.ru/
    Изучай Хаскель во имя добра. Наверно самая понятная книга по функиональному программированию которое стремиться быть декларативным
    Ответ написан
    1 комментарий
  • Ruby on rails???

    c3gdlk
    @c3gdlk
    Ментор в http://rubyboost.ru/
    c3gdlk.ru/blog/rails/pochemu-stoit-uchit-ruby-on-r...

    Вот перевод ответа на аналогичный вопрос от автора фреймворка. Если в кратце, то никто не уловил саму суть почему рейлс стали популярны и пытались повторить лишь какие-то фишки. Он все еще единственный в своей нише, по скорости разработки и количеству готовых фишек нет ничего похожего.

    А по поводу того стоит или нет, тут нужно выбирать нравится или нет. Платят везде много профессионалам, вакансии на нашем веку не закончатся ни в одной из популярных ныне технологий. Просто выбирая одну из них спросите себя, хочу ли я потратить 10к часов чтобы стать профессионалом именно тут?
    Ответ написан
    Комментировать
  • Можно в Ruby on Rails создать Model с источником данных в виде внешнего RESTful API?

    c3gdlk
    @c3gdlk
    Ментор в http://rubyboost.ru/
    Есть специальный гем https://github.com/remiprev/her

    Встречал пару лет назад в проекте, довольно удобно. Но, там ребята заморочились и дописали немного кода, чтобы вообще не было разницы где у тебя данные и можно было стандартными конструкциями использовать и обычные модели и эти. Все отношения и много чего еще работало
    Ответ написан
    Комментировать
  • Ошибка при деплое rails приложения на aws?

    c3gdlk
    @c3gdlk
    Ментор в http://rubyboost.ru/
    Флаг -g установит пакет глобально, а не в папку проекта. Нужен просто install а папку node_modules сделать расшариваемой чтобы не ставить пакеты каждый раз с нуля
    Ответ написан
  • Self или @ для атрибута класса?

    c3gdlk
    @c3gdlk
    Ментор в http://rubyboost.ru/
    Ваш простой вопрос не так прост, как кажется.

    Недостаток инстанс переменных в том, что по умолчанию они имеют значение nil и поэтому возможно пропустить опечатку. К этому многие приходят, потому что рано или поздно пишут код, в котором для инстанс переменной допустимо значение nil, а оно там всегда nil из-за опечатки. Инстанс переменные хороши для мемоизации, но их использование лучше сократить до минимума.

    В данном случае нет идеального решения, потому что в руби нельзя объявить приватный setter.

    Т.е. в следующем коде

    class Log_parse
      attr_accessor :dir
    
      def initialize
        self.dir = "" 
      end
    end


    руби не поймет, что вы из одного и того же класса вызываете сеттер. self считается объектом, а вызов через точку - вызовом публичного метода. Идеальный вариантом был бы случай, когда вы отдельно определяете отдельно публичные аксессоры, отдельно приватные и пользуетесь только аксессорами, но в руби так сделать нельзя (без костылей по крайней мере).

    В итоге совет следующий:
    В остальных методах класса использовать только аксессоры - публичные или приватные.
    В конструкторе уже возможны варианты. Если вы считаете, что объявление публичных аксессоров никак не навредит классу, лучше использовать аксессоры. Иначе - инстанс переменные.
    Ответ написан
  • Ruby on Rails(новичок) сделать сайт или коммит в open source на гитхаб, для удалённого трудоустройтсва(опыта нет)?

    c3gdlk
    @c3gdlk
    Ментор в http://rubyboost.ru/
    Короткий ответ: Лучше коммиты в опенсорс, если все таки осилите. А вместо копии Lostfilm лучше пройти туториал Хартла и написать копию твиттера

    Чуть подлинее: Большинство компаний скорее всего дадут Вам свое тестовое задание чтобы сэкономить свои деньги. Подбор какндидата и оценка его кода стоят времени разработчиков, а значит, проще дать тестовое задание, в котором оценщик точно знает куда смотреть. Гораздо эффективнее, чем пытаться в незнакомом коде найти интересные решения и уже их оценивать.
    Ответ написан
    Комментировать
  • Какую книгу почитать, что бы изменить мышление программиста на бизнес-программиста?

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

    1. На этот путь меня поставил фриланс, где ты просто вынужден быть конкуренто способным и продавать решения в бюджет клиента
    2. Закрепило это правило чувтсво необходимости получать удовольствие от своей работы. Я очень быстро дошел до того, что качество моего кода не приносит мне удовольствие, и начал искать удовольствие в предоставлении клиенту оптимального решение в "цена - качество - результат"
    3. Есть прием доведения до абсурда в обе стороны. Смысл примерно следующий. Клиент приходит с фичей. Разработчик, который старается думать бизнесом, кроме самой фичи оценит ее с 2х сторон. 1. Можно ли сделать эту фичу еще проще? Потратить еще меньше денег, чтобы проверить новую потребность. И противоположность. Если я за X времени сделаю фичу так, как хочет клиент, но она не принесет должного результата, то сколько мне понадобится Xn часов, по моему мнению, чтобы получить нужный результат. Если это больше чем X3 то клиента надо об этом предупредить
    4. Перспектива. Вы дали клиенту совет, но кто оказался прав, он или Вы? У меня сейчас такая же ситуация. Клиент просит решение максимально простое на 150 часов. Я же считаю , что качественное решение его пробелмы займет минимум 1000 часов, и за эти деньги вместо разработки алгоритма машинного обучения, можно оплатить 3000 человеко часов не IT решения, которые будут гораздо эффективнее. Но, чтобы узнать кто же все таки был прав, мне нужно проработать на проекте еще минимум год.
    Ответ написан
    1 комментарий
  • Где хранить статические переменные и константы для view в RoR?

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

    Но, если отвечать на вопрос насколько Вы разобрались в конвенциях фреймворка, то тут нет ограничений. Вы можете придумывать свои сущности и создавать для них папки с любым именем. Главное чтобы другим разработчикам было понятно зачем это было сделано и какие правила у этих сущностей, какой код в них следует хранить.

    Можно еще просто сделать отдельными хелперами, что наверно будет самым стандартным вариантом. Но имхо если у Вас навигация в отдельном паршиале, то он является достаточно законченной единицей и можно все поместить туда. Не бывает идеального кода, всегда компромиссы
    Ответ написан
  • Как правильно выплачиваются дивиденды? Жизнь за счет одних дивидендов?

    c3gdlk
    @c3gdlk
    Ментор в http://rubyboost.ru/
    Вы ищите не в том направлении. Никто практически не покупает акции ради дивидентов. Все их покупают, чтобы потом продать дороже.

    Т.е это очень грубо говоря финансовая пирамида, но имеющая экономическую основы с реальным производством ценностей. И изначально созданную не для обмана. Какие-то предприятия развиваются, какие-то нет.

    В целом нужно думать не всторону как инвестировать, а как выбрать того, кому можно доверить свои инвестиции. И не забывать про диверсификацию и выбирать нескольких управляющих.

    Основная проблема тут в том, что те организации, которые изначально созданы для отъема денег у начинающих инвесторов (аля форекс) вкладывают кучу денег в пропаганду. К примеру, если в гугле поискать куда инвестировать деньги, то такой инструмент как ПИФ везде описывается в негативном свете. Хотя это единственный регулируемый государством инструмент.

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

    В общем в этом вопросе нет простых ответов, Вы можете услышать много разных мнений, а в итоге, истина где-то рядом
    Ответ написан
    Комментировать
  • Возможно ли создать SP(одностраничный, сингл пейдж) crud на чистом RoR, не прибегая к отправке запросов через js?

    c3gdlk
    @c3gdlk
    Ментор в http://rubyboost.ru/
    Рельса это и так делает по умолчанию и это называется turbolinks.

    Это не совсем чистый SPA потому что вместо работы с апихой через какой-нибудь JSON гоняется довольно много данных, но все равно работает достаточно бесшовно при быстром интернете.

    Вопрос лишь в том, что все сторонние javascript библиотеки придется дружить с turbolinks. Отличный вариант для бюджетного SPA на коленке
    Ответ написан
    Комментировать
  • Можно ли начать учить Ruby on Rails без знания Ruby, но со знанием другого бекенд языка?

    c3gdlk
    @c3gdlk
    Ментор в http://rubyboost.ru/
    Спокойно учится, если Ваш код будет кто-то смотреть. Я так как раз с Yii семь лет назад пересел, абсолютно не ощущал проблем с незнанием языка.

    Но, важно то, что мне всегда показывали ruby-way решение. Самый сок руби в метапрограммировании и его так просто с наскока все равно не возьмешь. А в остальном разницы не особо много, просто будет не привычно, что куча всего готового из коробки, будете по привычки костыли делать. Именно для этого и нужен наставник
    Ответ написан
    Комментировать
  • Сколько стоил в разработке Bitrix24 CRM или подобные системы?

    c3gdlk
    @c3gdlk
    Ментор в http://rubyboost.ru/
    Миллион рублей это пять месяцев ЗП синиора. Если добавить сюда ЗП двух джунов, то это уже 4 месяца. Еще месяц уйдет на то, чтобы команда сработалась, выстроились процессы и т.д. Либо расходы на офис, либо больше времени уйдет на это в случае удаленной команды.

    Итого получается 3 месяца разработки, что очень мало. Тут даже не риск того, что проект не зайдет, а высокий риск того, что он даже не будет доведен до какой-то первой версии.

    Возможным вариантом будет найм команды, которая подпилит свое коробочное решение до первой версии. Если, как Вы говорите, у Вас уже есть потенциальные клиенты, то Вы сможете начать зарабатывать деньги и оценить перспективу вложения 5-10 млн в свой продукт.

    Если все таки решитесь пилить продукт с нуля - напишите мне. Контакты в профиле. У меня как раз есть фреймворк, котрорый проходит стадию тестирования и я буду рад попробовать его на еще одном боевом продукте. Фреймворк специально заточен под CRM и ERP системы и позволяет их разрабатывать с нуля в несколько раз быстрее.
    Ответ написан
    Комментировать
  • Как узнать причину почему Ruby on Rails не подгружает стили?

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

    Поэтому нужно либо добавить нгинкс в докер, либо установить serve_static_assets = true в production.rb

    Кроме того нужно убедиться, что все ассеты компилируются, те которые нет добавить в assets.rb в инишиалайзерах
    Ответ написан
    3 комментария
  • Как автоматически подгружать методы контроллера в роуты?

    c3gdlk
    @c3gdlk
    Ментор в http://rubyboost.ru/
    Технически

    get 'controller_name/:action_name', to: 'controller_name#resolve'

    def resolve
    public_send(params[:action_name])
    end

    Но, это не Rails way, вы делаете что-то не то. Рельса явно просит описать все роуты не просто так. Их врядли будет ну очень много, но это дает инфу о приложении и всевозможные хелперы и так далее.
    Ответ написан
    Комментировать
  • Примеры полной работы с БД mySQL от начала до конца?

    c3gdlk
    @c3gdlk
    Ментор в http://rubyboost.ru/
    Искать такой пример не самая лучшая идея. Можно попрактиковаться в SQL, есть куча тренажеров.

    СУБД всего лишь инструмент, база не висит простот так, всегда есть приложение в котором принимаются решения, что делать на уровне базы, а что на уровне приложения. Лучше будет получать опыт на примере реальных приложений.
    Ответ написан
    Комментировать
  • Как реализовать вложенные категории Ruby on Rails?

    c3gdlk
    @c3gdlk
    Ментор в http://rubyboost.ru/
    гем ancestry . Много моделек не удобно

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

    В форме делаешь селект без пустого значения, или в хидден поле засовываешь категорию или он придет из nested routes. Это уже зависит от интерфейса
    Ответ написан
    Комментировать
  • Почему Vue.js стал популярен в связке с Ruby on Rails?

    c3gdlk
    @c3gdlk
    Ментор в http://rubyboost.ru/
    Потому что он проще чем реакт, имеет много общего с HTML и интуитивно понятнее. У нас, если нет ресурсов фронт команды на проект, разработчики выбирают вуе, потому что как показывает практика он гарантированно учится за 3 дня бекэндерами.

    P.S. Лично мне фреймворк не понравился, но я и на фронте в свое время довольно много писал и теперь React one love
    Ответ написан
    Комментировать
  • Вызов приватных методов?

    c3gdlk
    @c3gdlk
    Ментор в http://rubyboost.ru/
    потому что вы у объекта вызываете публичный метод, а его нет. И не важно, что self и текущий объект - одно и то же. Руби видит синтаксис вызова публичного метода, вызывает его и не находит, говорит что есть такой же, но приватный.
    Ответ написан
    2 комментария
  • Составной индекс и селективность его столбцов?

    c3gdlk
    @c3gdlk
    Ментор в http://rubyboost.ru/
    В общем случае - да, такой индекс будет быстрее работать и быстрее перестраиваться.
    Ответ написан