• Как отрендерить метод со статусом?

    @malroc
    Сделайте обёртку над методом, которая будет возвращать сразу хэш с ключами :json и :status. Ну то есть что-то вот такое:
    def call_404_wrapper
      { json: Error::call_404, status: :not_found }
    end
    Ответ написан
    Комментировать
  • Crystal, Elixir, Golang. Куда ехать рельсовику?

    @malroc
    Я честно говоря его пока не вижу, этого "будущего мэйнстрима".
    Ясно что Ruby on Rails потихоньку устаревает.
    Почти весь мэйнстримный вспомогательный инструментарий сейчас разрабатывается под Node.js: gulp, bower, babel, postcss (ещё не мэйнстрим но видимо будет). Опять же почти весь вспомогательный инструментарий RoR, который когда-то был либо мэйнстримом (SCSS, Compass), либо задавал тон в индустрии (Sporckets, Coffeescript) сейчас начинают выглядеть анахронизмом на фоне тех же gulp, postcss и babel + ES6. То есть по части инструментария однозначно рулит Node.js. Но это инструментарий.
    В ту же копилку вэбсокеты, по части которых нода - эаталон, а RoR всё никак их толком не внедрит (вроде в 5 версии хотят). Есть Faye, штука неплохая, но слишком заметно что чужеродная для RoR.
    Ещё один плюс ноды - возможность изоморфного рендернига контента для SPA. Но тут уже вопрос в языке, понятно что ни на чём другом кроме JS это не реализуешь.
    В общем RoR конечно большинство основных новых веяний в индустрии благополучно прозевал и постепенно превращается в резервацию со своей атмосферой. Нода на передовой НО только по всякой вспомогательной части, сопоставимого по масштабу фреймворка на ней как не было, так и нет.
    Всё остальное (Go и т.д.) ещё настолько сыро, что даже обсуждать по-моему нечего.
    Ответ написан
  • В чем смысл PostCSS сегодня?

    @malroc
    Ведь все, что умеет PostCSS, умеют и препроцессоры


    Ну только с точностью до наоборот

    Есть даже версия (не без оснований), что это - прародитель всех современных препроцессоров и веяний.


    У вас случайно не какой-то свой особенный PostCSS? Вообще-то там версия 0.1 вышла только в 2013 году, к тому времени SASS-у было уже 6 (!) лет.
    Ответ написан
    2 комментария
  • Как продублировать срендереную вьюху в backbonejs?

    @malroc
    Одна вьюха не может обрабатывать два разных элемента.
    Если вам нужен только html (что вряд ли), то можете использовать $el.html() вместо $el в вашем коде.
    Если нужна полноценная вьюха с обработчиками и т.д., то нужно просто создать две отдельных вьюхи, отдельно их отрендерить и отдельно добавить в DOM.
    Ответ написан
    4 комментария
  • Как вывести в теме и теле письма данные из переменной?

    @malroc
    Если шаблонизатор ERB, то правильный синтаксис <%= @tmp %> (забыли % перед закрывающей скобкой).
    Ответ написан
  • Технологии для реализации веб-проекта?

    @malroc
    В данный момент я склоняюсь к MARS (MySQL, Apache, Ruby, Solaris)

    Если руби, то всё остальное в списке лишнее. Apache особенно. Берите Thin + PostgreSQL + Linux, беспроигрышный вариант.
    Ответ написан
    Комментировать
  • ООП в высоконагруженных проектах считается устаревшим?

    @malroc
    Ну вот когда выйдет ОДИН хотя бы сколько-нибудь популярный фреймворк, построенный на функциональном программировании вместо ООП, тогда будет предмет для разговора.
    Пока ничего похожего не видно даже на горизонте, здесь вообще говорить не о чем. Он велосипед что ли свой собирается делать? Ну можно посочувствовать тогда. И ему, и вам заодно. Ищите новую работу.
    Ответ написан
  • Как удалить все из $el в Backbone View?

    @malroc
    view.$el.empty()

    Но вообще не очень понятно зачем вам это. Если view после этого нигде не используете и не храните на него ссылок, то сборщик мусора всё потом почистит. Если используете, то при перерисовке содержание $el обновится, а старое опять же уйдёт сборщику мусора.
    Ответ написан
    Комментировать
  • Не мешает ли Angular / Knockout / BackBone поисковым роботам?

    @malroc
    Поисковой выдаче мешают. Смысл в удобстве для пользователя.
    Обычно либо SPA делаются там где в принципе поисковая индексация не предполагается, либо действительно рендеринг дублируется на стороне сервера.
    Ответ написан
    Комментировать
  • Как правильно реализовать веб приложение целиком на ajax?

    @malroc
    Ну всё верно представляете, дальше гуглите single page apps.
    С бэкендом всё примерно как вы расписали, на фронтенде понадобится заточенный под разработку SPA джаваскрипт-фреймворк (Ember, Angular, Backbone, React + Flux). Ну то есть можно и свой велосипед написать, но смысла нет.
    Ответ написан
    Комментировать
  • Стоит ли работать программистом?

    @malroc
    Тут в общем-то много от вас зависит. В программировании неинтересной и нудной работы полно, собственно основная часть именно такая.
    Есть ли интересная работа? Есть, и в общем её немало. Можно ли много зарабатывать? Можно. Но нужен уровень.
    Как этот уровень получить? Ну очевидно всё-таки начинать с неинтересной и нудной работы под контролем "старших товарищей". То есть готовьтесь что первый год-два работа будет не просто низкооплачиваемая, но и скучная. А дальше зависит от того, насколько быстро учитесь, от личных качеств и способностей.
    Да, есть ещё относительно экстремальный вариант - начинать с фриланса. Лучше так не делать, потому что рискуете застрять на уровне бесконечного клепания сайтов-визиток. Вот после того как минимальный опыт уже набрали, можно переходить на фриланс, причём желательно сразу на англоязычный (в русскоязычном сегменте делать нечего). Ну или устраиваться в другую контору/карьерно расти в одной, здесь много от личных предпочтений зависит.

    P.S.: Да, Люди, которые говорят (в т.ч. здесь в комментариях) что в IT плохие перспективы - это скорее всего люди, у которых плохие перспективы будут везде. Ну есть такой специальный тип людей.
    Ответ написан
    1 комментарий
  • Как в Ruby on Rails поменять часовой пояс?

    @malroc
    Но в моделях когда пишу Time.now, он сохраняет не текущую дату (часы), а раннюю на 3 часа.

    Вместо Time.now правильнее использовать Time.zone.now (или Time.current, что примерно одно и то же). В базе данных всё равно всё будет храниться в UTC, но это влияет на взаимодействие с клиентом. В вашем случае разницы не будет, но это потому что серверное и клиентское время у вас одинаковое.

    И еще, вместо того, чтобы написать Moscow, нельзя сделать другое, чтобы по текущему часовому поясу определила система?

    config.time_zone - это не серверное время (оно как раз читается из системы), это предполагаемый часовой пояс клиента. То есть когда время приходит от клиента/отображается клиенту, оно конвертируется из/в этот пояс.
    В общем:
    • Time.now - системное время, в часовом поясе который прописан в системе на сервере
    • Time.zone.now - время клиента, определяется через config.time_zone, либо на ходу через Time.zone =
    • База данных - всё хранится в UTC + 0
    Ответ написан
    8 комментариев
  • Использование предустановленных значений в базе (rspec rails testing)?

    @malroc
    Правильно в данном случае именно seeds.rb а не миграция, причём не только для тестирования.
    Только его грамотно написать нужно, чтобы не вставлял уже существующие значения. Тогда rake db:seed можно будет вызывать в любой момент времени без всяких опасений.
    Ответ написан
    2 комментария
  • Выполнение update параметров через определенное время в rails?

    @malroc
    RoR сам по себе не работает в бэкграунде (т.е. когда не выполняется какой-либо HTTP-запрос).
    Чтобы выполнять задания по таймеру в любом случае нужен отдельный worker-процесс. Дальше могут быть варианты, whenever или что-то ещё, но вообще в современных проектах обычно whenever.
    Ответ написан
    Комментировать
  • Rails 4 asset pipeline - как настроить области видимости?

    @malroc
    Если вам в гарантированно в контроллере c1 не понадобится джаваскрипт из c2 и наоборот, создайте два разных скомпилированных джаваскрипт-файла вместо одного (application.js), либо просто исключите c1.js и c2.js из application.js и подключайте их потом отдельно (второй способ менее трудозатратен, но увеличивается количество get-реквестов, т.к. получится по 2 подключаемых js-файла на контроллер - application.js и c1/2.js).
    В обоих случаях для продуктового окружения нужно будет изменить настройки компиляции ассетов (т.к. по умолчанию в публичном доступе остаётся только application.js).
    Ответ написан
    Комментировать
  • Какова тенденция рынка труда для web-программистов в ближайшие 10-50 лет?

    @malroc
    Что нас убъёт первым?


    В перспективе 50 лет думаю старость. Хотя вариант с ядерной войной я бы тоже не сбрасывал совсем со счетов.
    Ответ написан
    Комментировать
  • Модальные окна и Backbone.js?

    @malroc
    Не очень понятно какое отношение модальные окна имеют к Backbone.
    За модальные окна скорее всего будет отвечать какой-то CSS фреймворк (Bootstrap или что там у вас на проекте используется), у Backbone другая зона ответственности, для него это будет обычный HTML.
    Дальше, если удаление с комментарием, то это не вписывается в REST-архитектуру, соответственно вам придётся переопределять стандартные методы Backbone (конкретно destroy у модели) и прописывать туда ваш AJAX-запрос.
    Ну а дальше просто вызывать этот переопределённый destroy с вашими параметрами (текст комментария).
    Ответ написан
    3 комментария
  • Куда бежать с upwork?

    @malroc
    Да в общем-то объективно - никуда. Раньше единственной вменяемой альтернативой был Elance, теперь UpWork фактически монополист. Может когда-то кто-то и появится, но сейчас никого сопоставимого на горизонте нет.
    Ответ написан
    Комментировать